Prometheus metrics for Vitess

Overview
We’d like to build Prometheus support directly into Vitess, instead of relying on scraping the /debug/vars.
The idea is that we’d publish Prometheus formatted stats at a URL like, http://:<prom_port>/metrics from on each Vitess component.
The Prometheus client needs more information than the existing interface provides. It needs:

type of the metric (Counter, Gauge, Histogram, Summary)
whether or not the metric is surfaceable in Prom (there are some pure strings in the expvars, like: e.g. "BuildTimestamp":<PHONE_NUMBER> that don’t map to any time series)
description of the metric
prefix for what component the metric came from (e.g. ‘vtgate’, ‘vttablet’,...)

There are multiple ways the Prometheus client can get this information, some thoughts:
Implementation Idea 1
Prometheus as built-in, first-class way to export metrics inside Vitess
In this implementation, we’d change the existing stats.Publish interface (impacting the other interfaces that call it, like stats.NewCounters, stats.NewTimings) and all callsites, like so:
Old interface:
func Publish(name string, v expvar.Var)
New interface:
func Publish(name string, t promType, desc string, v expvar.Var)
In this implementation, we would change the stats package so that when Publish was called, we’d also instrument the metric via the Prometheus golang client library.
Implementation Idea 2
We could also make Prometheus more plugin-able and optional, instead of built-in.
In this implementation, we’d have a Prometheus plugin in every Vitess component that would register as a new available backend that would get called on every expvar callback. The plugin itself would consist of a Vitess-specific wrapper around the Prometheus golang client. On every call to the Prometheus exporter endpoint, the Prometheus registered backend would be triggered and the metrics scraped (just like how the /debug/vars expvars work today).
We would keep the existing stats.Publish interface. Inside the Prometheus plugin, we could write an extensive static mapping function between all of the existing metrics and the information the Prometheus client needs. Whenever somebody adds a new metric, they’d have to add it to this static mapping function explicitly in order for the metric to show up in the Prometheus exported stats. (This looks similar to the existing started-on Prometheus implementation inside Vitess).
Discussion
I favor Idea 1 over Idea 2, mostly for ease of maintenance as Vitess developers add more metrics. It would also make code reading easier for people using Vitess (one place to look for metrics, not two). Also, the addition of the type of metric to the interface would make it easier to integrate other metrics backends (like Dogstatsd/StatsD).
But! I think Idea 1 is a more invasive change, and I’m not sure if we want the interface to actually look like that. Thoughts? Tradeoffs?

The original intent of the stats package was to provide higher level semantics over what expvar provided, and the ideas was to make it have feature parity with google's internal monitoring APIs.
In principle, there should be some similarity between the stats API and Prometheus. But the stats API hasn't changed in a long time. I'm wondering if it could be modified to match the prometheus API. If so, the functions could just proxy the calls to Prometheus.
But reality may be different. So, the above goal may not be achievable. I can look at prom vs stats API if I get the time and see if they're still reconcilable. But I have a few other high priority items to get through first.

I'm wondering if it could be modified to match the prometheus API.

I think it can! That's essentially the idea behind the first implementation idea. The Prometheus API is a superset of the existing Vitess stats API.

This project is still at a very early stage of development. The API is changing rapidly, vendoring is recommended.
Pretty young indeed.

That line was added to the readme a year ago and there have been several full-time engineers working on it for several months now, including @rakyll who moved over from the core Go team. Google Cloud is actively moving all customers off their metrics/trace SDK and onto OpenCensus. There were OpenCensus talks at KubeCon and FOSDEM. It's heavily tested and should be production ready. The warning is more related to potential breaking changes than project quality.

I am happy to give more insights about the status of OpenCensus. We have been going through a lot of API improvements lately but willing to finalize them soon. OpenCensus is based on our internal instrumentation library and most concepts have been tested for over a decade at Google. Even though the project is new, it is not a prototype or an experiment.
The benefit of OpenCensus would be the vendor-agnostic nature of the project. You can easily add more support for different backends by using the existing exporters. We already support Prometheus.
The other benefit would be ease of adding support for other types of diagnostics signals. We currently provide a tracing package but soon will have more signals represented (e.g. logging).

Note we have the go/trace package in Vitess right now, that is not implemented in open source, but uses the internal google tools mentioned above internally. So that part of the functionality would be trivial to plug in.
I'd be in favor of changing our stats package to add what opencensus needs, and then implement the plugin. The added information will be useful for a lot of implementations anyway.
@nerdatmath was looking at Promotheus at some point, so making sure he knows about this thread.

@rakyll Thanks for the input on the state of the project.
For the record I intended my earlier comment more tongue in cheek than a serious concern, but realize in hindsight that might not have come across as well as I would have liked.
From my initial look OpenCensus looks like a great effort and the more we can avoid reimplementing abstractions inside Vitess itself to support the various backends, the better as far as I'm concerned.
@sougou / @alainjobart This seems like a PMC question? :)

FYI we took an early step towards option 1 in #1703 but didn't get very far. I'm not expecting this to factor into the decision; just providing cross-references to related work.
@alainjobart wrote:

I'd be in favor of changing our stats package to add what opencensus needs, and then implement the plugin.

Do you mean that Vitess would still have its own stats abstraction, and OpenCensus would just be one backend for it? It sounds like @demmer is proposing that we get rid of our stats package and use OpenCensus as the only abstraction. Am I interpreting that right?
If that's the case, one prerequisite is that we could still export in native Go expvar format. Does anyone know if OpenCensus supports that? I haven't found anything on the main site or the Go lib.

I don't think we can just use opencensus as abstraction, unless it is also supported inside google, and exports the same variables as we've been exporting. Let me look into that...

proposing that we get rid of our stats package and use OpenCensus as the only abstraction

@enisoc That is what I was proposing. Writing different exporters is relatively trivial compared to adding instrumentation throughout the codebase.

I don't think we can just use opencensus as abstraction, unless it is also supported inside google

It would be pretty ironic if the open sourcing of Google's metrics wasn't supported inside Google. :)

Ironicker things have happened. Open source is hard. :)

So to move forward on this, here is a summary of where we are, I think:

we want to support Promotheus exports in a more native way.
OpenCensus seems like a great portable way to achieve this, and also buys us tracing.
YouTube still needs the 'stats' interface abstractions, as our internal monitoring cannot be switched to OpenCensus yet. But it will happen at some point.

So the plan I'm proposing:

we add to our current Stats abstractions enough to support OpenCensus. The new fields may be ignored by existing implementations.
we implement the OpenCensus stats plugin.
we implement the OpenCensus trace plugin (we have an interface for this already).
eventually, when OpenCensus is the only implementation, we can remove the interfaces and use the library more directly.

(note this is what we've been doing so far, using a library directly when it's the only implementation, but adding an interface when someone needs a custom implementation, even if that custom implementation is not in the repository. For instance gRPC follows the same model, even though it's the only RPC system in open source. And we are probably going to add an interface for gzip too, to make cgzip optional).

@alainjobart That sounds great! Thanks for summarizing and investigating whether or not YouTube could use OpenCensus directly yet.
If there's enough consensus on this, then I'm going to get started on the first two bits of the plan

we add to our current Stats abstractions enough to support OpenCensus. The new fields may be ignored by existing implementations.
we implement the OpenCensus stats plugin.

From there, it seems like we can implement the trace plugin separately.

I've started working on instrumenting Vitess with OpenCensus, and I've run into a few problems.

The biggest one is that OpenCensus currently only provides a push-style Stats interface like:

func Record(ctx context.Context, ms ...Measurement)

which means that in places that we have a callback in the Vitess code, we'd need to manage a timer to periodically sample and execute the callbacks and record the resulting stats. Like in:
func NewMultiCountersFunc(name string, labels []string, f CountersFunc) *MultiCountersFunc {

There's some conversation about changing the API to do pull-based in this Open Census issue.

The OpenCensus API is still in a bit of flux and currently includes several steps for exporting even one stat. See: opencensus#484

I have confidence that these problems will be fixed and the API will finalize, but in the meantime, we (Slack) really need Prom-native stats, and I have some time to work on it right now. : )
In talking with @demmer it seems like the first issue is a showstopper for now.
Our proposal is that we should for now just go ahead with instrumenting with Prometheus directly. We can revisit using OpenCensus down the road when the OpenCensus API has stabilized. The Prometheus work can also be leveraged for future OpenCensus work, as the info that's needed by the API is similar in both.

Making the right decision isn't as important as getting something working. The stats API is a small surface area and an in-process one. So, we can iterate on it as needed.
I'm ok with the simpler approach followed by forward iterations.

Looking at the threads you linked, it seems it's not even clear which model will win (push or pull). So I agree punting on OpenCensus is the right decision for now, and just implement the Promotheus plugin, and add the missing information for that.

There's some conversation about changing the API to do pull-based in this Open Census issue.

Just to be clear, we are primarily supporting the push model and will have it as our primary model. Pull model has been historically in use but the monitoring community has almost came to a consensus that now push is always preferred apart from Prometheus which copies what Borgmon did 10 years ago. Monarch, the replacement of Borgmon is implementing the push model. Most APM companies only care about the push model.
For a node, it is safer to schedule aggregation and push the metric collection data rather than letting an external service invoking the collection.
We currently don't have a gauge type that is going to follow the same export path the views will follow. I don't think Vitess can benefit from OpenCensus until most issues above are resolved.


[FLINK-14662]Distinguish unknown CatalogTableStatistics and zero

What is the purpose of the change
Currently UNKNOWN table stats is represented with zeros, which might confuse with UNKNOWN table stats with exactly 0 row count. This PR we use -1 to represent UNKNOWN instead.
Brief change log

6d8839c Distinguish unknown CatalogTableStatistics and zero

Verifying this change
This change is already covered by existing tests, such as CatalogTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): ( no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

cc @godfreyhe @KurtYoung @bowenli86 to have a review.

IIRC, Hive table's unknown (the initial default value of a number stats) is 0. To make this change, we need to distinguish Hive table v.s. Flink table.

It's not. Hive table's unknown stats are none(corresponding stats item is not present in hive table properties). So this pr we aim to distinguish the 0 value and UNKNOW.

@zjuwangg you sure? Below is an example table I created, and note that parameters:{totalSize=0, numRows=0, rawDataSize=0, COLUMN_STATS_ACCURATE={"BASIC_STATS":"true"}, numFiles=0, transient_lastDdlTime=1575348162}
hive> create table x (name String);
OK
Time taken: 1.736 seconds
hive> describe extended x;
OK
name                	string

Detailed Table Information	Table(tableName:x, dbName:default, owner:bowen.li, createTime:1575348162, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:name, type:string, comment:null)], location:hdfs://localhost:9000/user/hive/warehouse/x, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), partitionKeys:[], parameters:{totalSize=0, numRows=0, rawDataSize=0, COLUMN_STATS_ACCURATE={"BASIC_STATS":"true"}, numFiles=0, transient_lastDdlTime=1575348162}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE, rewriteEnabled:false)
Time taken: 0.088 seconds, Fetched: 3 row(s)

@KurtYoung

My guess would be this is not the case with unknown table stats, but indeed have table stats that shows the row count is 0.
@zjuwangg please double check this.

My guess would be this is not the case with unknown table stats, but indeed have table stats that shows the row count is 0.
@zjuwangg please double check this.

that comes down to how to define unknown table stats. From my perspective, value of the unknown table stats is the initial default value, which remains unchanged before running any analyze commands. E.g. if we just append rows or partitions to a table in Hive, totalSize=0, numRows=0, rawDataSize=0 would remain unchanged.
and have we checked how Hive behaves when having totalSize=-1, numRows=-1, rawDataSize=-1?

I heard that hive will always generate and maintain basic table stats for managed table. So in your case, it's not a initial default status, but an empty table with known stats as totalSize=0, numRows=0, rawDataSize=0.
The unknown table stat means we can't get information from parameter map, in other words, the value is NULL. Whether we could simulate this depend on whether hive provide an option to disable maintaining basic table stats.

Sorry for chiming in late, but I believe Hive uses 0 for unknown stats. Also, Hive doesn't necessarily maintain valid stats for managed tables. For that, there is an config.
I agree with Bowen that we should at least verify whether -1 causes any issue for Hive.

hi @KurtYoung @bowenli86 @xuefuz
I did some verification and the results are as following:

Use HiveRunner(which is based on hive 2.3.4) to create a table and insert some data into it,  and get the table properties from the HMS. We can just get totalSize and numFiles
Use hive shell to create an empty table and get properties we can get totalSize/numFiles/rawDataSize/numRows but all values are 0. Then I load an external file into this table, totalSize and rawDataSize and not zero but numRows and rawDataSizeare still zero
Use hive shell to alter the above table all table stats to '-1' and continue to execute select from this table, everything seems well.

So my conclusion:

HMS may behave differently from express unknown table stats.
2 Seems that set hive table stats to -1 works well for hive.

Thanks to @zjuwangg for the update. I think the potential problems still exists:

Hive uses 0 as unknown, which Flink might think no data.
-1 may still cause issues even though nothing surfaced in our experiment.
#1 is a bigger issue. To mitigate it, we can recommend user to keep the stats updated always. For now, I think we just need to keep an eye on this issue.

How about we do some protection in hive integration, which will treat both 0 and no value to UNKNOWN. In this case, the only problem we will face is that hive has an accurate stats showing the table has 0 row count but we ignored. That wouldn't hurt much IMO.

I'm wondering whether there is a flag or sth to indicate that the stats are accurate @xuefuz @lirui-apache . If exists, then we can distinguish 0 and no value.

Dose the property COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\"} indicate  that ? I didn't find a proper doc to explain this property.

@zjuwangg Here is the comment for this meaning of the property:

//This string constant will be persisted in metastore to indicate whether corresponding
//table or partition's statistics and table or partition's column statistics are accurate or not.

This just mean whether the stats are accurate (up to date). It doesn't mean wheter the stats exists or not. (If the property is set, it probably means the stats exists.)
I agree with @KurtYoung that it's probably more protective to treat 0 as unknown for Hive tables. For Flink tables, it's okay to treat -1 as unknown only. (Hive doesn't use these tables anyway.)

A related note is: Hive's StatsOptimizer can answer queries like count(*) by simply returning the stats stored in HMS. And it seems StatsOptimizer checks COLUMN_STATS_ACCURATE  to decide whether the stats are reliable. So we probably don't have to treat 0 as UNKNOWN if this flag is present.


Does this library have a good way to consume topics windowed by time?

I am trying to reduce the resolution of my input data to aggregations of 5s intervals for analysis.
I believe this could be accomplished using streams but this library doesn't seem to have an implementation for that kafka api?
related https://github.com/tulios/kafkajs/issues/298

Kafka Streams is definitely how you would do that in Java, where the Streams library comes bundled with the Kafka client. KafkaJS, however, is and aims to be just the client. Any Streams logic could be implemented on top, just like Kafka Streams was.
I've started an implementation of such a Stream processing library built on top of KafkaJS, but the base isn't anywhere near functional yet, let alone higher level ideas like windowing. I don't really know of any other libraries like that.
Until then, I'd suggest reading up on how Kafka Streams implements the windowing and doing it manually for now. It's all based on the basic abilities of a Kafka client, so it's all technically and conceptually possible, just still quite a bit of work to figure it all out 😅.

Could windowing be accomplished using eachBatch?
In other words, when processing a batch could resolveOffset be used to only commit the offsets for the messages in the current desired time window? Then subsequent batches would start from the beginning of the subsequent desired time window right?

In other words, when processing a batch could resolveOffset be used to only commit the offsets for the messages in the current desired time window? Then subsequent batches would start from the beginning of the subsequent desired time window right?

I'm pretty sure that won't work. But even if it did, I'm really doubt it's a good idea. Committing offsets in Kafka (generally, not just KafkaJS) is purely meant as a fault tolerance mechanism, to continue processing where you left off before.

Could windowing be accomplished using eachBatch?

It's definitely possible, just like it is with any other Kafka client! Remember, Kafka Streams is a library built on top of the base Java Kafka client. However, the details on how to approach that are a bit too much to address in an issue like this, because it would basically require explaining all log based system design! I can recommend some books that'll point you in the right direction, though:

Designing Event-Driven Systems by Ben Stopford. Goes into great detail on how these types of systems are built.
Designing Data-Intensive Applications by Martin Kleppmann. A lot more general, but with some great chapters on event log based programming as well.

There's tons of other resources out there as well (like articles, videos, etc.), but I always end up losing track of those.

thank you


Are built-in roles used only if cluster integrated with AAD?

Hi,
It's unclear if "Azure Kubernetes Service Cluster Admin Role" and "Azure Kubernetes Service Cluster User Role" roles are enforced only if cluster is integrated with AAD and the user is an AAD user/group, or they would also apply for service principals?
Consider the following scenario. CD pipeline is configured to use an Az DevOps service connection. Service connection can use only service principal or managed identity. Neither of those can be added to AAD security group. Would admin/user roles still apply for service principal used in the connection?
Thanks.

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

ID: baa62b58-ede2-2367-5b42-0d00b551c41f
Version Independent ID: 4a806bbd-886e-5061-192e-3c96998bb3b1
Content: Limit access to kubeconfig in Azure Kubernetes Service (AKS)
Content Source: articles/aks/control-kubeconfig-access.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Hi @wasker Thanks for your feedback. We will review and update as appropriate.

You can assign "Azure Kubernetes Service Cluster User Role" role to service principals as well.

@wasker  the role "Azure Kubernetes Service Cluster User Role" gives access to the service principal to pull the credentials.
Then with those credentials you ca use kubectl to manipulate the cluster components
Reference: https://docs.microsoft.com/bs-latn-ba/azure/aks/control-kubeconfig-access#available-cluster-roles-permissions

In our experiments SP with only "Azure Kubernetes Service Cluster User Role" or "Azure Kubernetes Service Cluster Cluster Role" fail to run "kubectl apply" commands. The problem doesn't occur if SP is in the Contributor role for the cluster.

Update: it looks like we were missing Reader role for the cluster. Reader + Cluster Admin/User work for us. Probably worth mentioning that in the documentation.

@wasker Good to know that your issue is resolved.
I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you @wasker for the feedback!
The article has been updated to address your feedback:
https://docs.microsoft.com/azure/aks/control-kubeconfig-access#available-cluster-roles-permissions
#please-close


no sound on mac

Hi there, thanks for this awesome plugin!
I got a weird bug which had confused me for several days.
The plugin works wellon windows, but on mac, there is no sound.
I have tried ios simulator and android simulator on mac, same result.
And the listeners didn't work:
audioPlayer
  ..onAudioPositionChanged.listen((p) {
    print(p);
  })
  ..onPlayerError.listen((String msg) {
    print(msg);
  })
  ..onDurationChanged.listen((d) {
    print(d);
  })
  ..onPlayerStateChanged.listen((state) {
    print(state);
  })
  ..onPlayerCompletion.listen((e) {
    print(e);
  });

Here are the plugins:
audioplayers: ^0.11.0
path_provider: ^0.5.0

Any help will be appreciated.

Are you able to play sounds on other apps inside your simulator in the mac?

Yeah, I tried youtube when debugging, the sound could be heard clearly.
And I tried headphones for the case of #278, but no sound neither.
Do I need to add any other config code except for the https config? I'm using remote urls.

I just met this problem when using audioplayers as part of Flame. There is no sound on Mac for my game: https://github.com/jingweno/heroic_haiku

I have since refactored all the macos code to swift, tested locally and it is working. Please test this on the current version (0.17.0) and if it's still a problem please open a new issue, following the template.


Add baidu in analytics provider, add tip for enabling analytics plugin

analytics only works when safe is true, it's better to put a tip there.

Related issue #84. site.safe may be obsoleted.

Isolated. New analytics provider. Low risk. BUT ... Cannot merge now. See line-item comments.

From @themez:

Hi ground0g, I've already deleted my fork repo, cannot make a new pr now.. It would be good if you can fix it with your account.

Will do. Thanks for the contribution! Sorry it's taken so long to review.

Made edits by hand in local repo. Pushing this weekend.


Split in Group for Two Different Files

The ability to create a single tab that contains two files side-by-side.
This would be appear like something between Split in Group and Compare Selected where the tab name contains the names of two files but the view would be that of two seperate of files with their own independent scrolling, line numbers, minimap, etc.
The idea stems from the split view in the Arc Browser. I find this workflow much easier to manage than having split sets of tabs, as I can work on the relation between two files without splitting my entire editor in half.

/duplicate https://github.com/microsoft/vscode/issues/36700


Crash on terrain loading with any shader pack enabled

If Affinity and a Shader Pack are enabled, the game crashes on loading terrain with a
net.caffeinemc.mods.sodium.client.render.chunk.terrain.TerrainRenderPass error.
If I disable either one, the game loads fine.
Modlist:

Affinity [0.1.6+1.21]
Cardinal Components API [6.1.1]
Fabric API [0.109.0+1.21.1]
Iris [1.8.0+mc1.21.1]
Lavender [0.1.14+1.21]
Sodium [0.6.0+mc1.21.1]
TerraBlender [<IP_ADDRESS>]
Trinkets [3.10.0]
oωo [0.12.15+1.21]

This is the log for what happens if you enable shaders while already in game: https://mclo.gs/3pY0AWC
This is the log what happens if you enable them before loading a world: https://mclo.gs/NPc6SYt
Shaders tried:

BSL v8.4
ComplimentaryReimagined r5.2.2 & r5.3
MakeUp-UltraFast 9.1

Happy to give any other assistance I can, took a while to figure this one out (especially when I had two instances with the same mods and one worked but the other didn't - I didn't even think about shaders being different at first!).

Thanks for reporting, this has since been fixed in 0.1.7
Cheers


Adds tooltip to terminal-popout button

Fixes react warning p > div.
Adds esc to close popped out terminal.

Fixes #1639

Code LGTM, and ESC works on closed pipes.
UX nit:
If discoverability was an issue, than a tooltip wont help. Maybe write out obscure icons:

(I used 11px, bold, uppercase, word-spacing -3px)


Reduce per query tracing, trace in ReadExecutionController instead of ResultRetriever

https://github.com/riptano/VECTOR-SEARCH/issues/16
Part 1: "Index query accessed memtable indexes" is logged multiple times per query
This happened because the tracing happened in ResultRetriever.close() and SAISearcher.search() could create multiple RRs in case of shadowed row.
Part 2: Diskann traces traced once as a summary like
DiskANN search executed 4 times, visits: (p50=50.00, p99=258.00, max=258, stdev=120.09), results: (p50=50.00, p99=258.00, max=258, stdev=125.04)

Part 3: CassandraOnHeapGraph/CassandraOnDiskHnsw traces summarized

Can you include a sample trace?

(A query that includes two SAI index predicates + ANN would be ideal)

@jbellis couple of examples:
Old:
Index mean cardinalities are table_15_val_idx:-9223372036854775808. Scanning with table_15_val_idx.
Executing read on cql_test_keyspace.table_15 using index table_15_val_idx
Querying storage-attached indexes table_15_val_idx (14 sstables)
DiskANN search visited 250 nodes to return 210 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
DiskANN search visited 50 nodes to return 50 results
Index query accessed memtable indexes, 14 SSTable indexes, and 0 segments, post-filtered 250 rows in 250 partitions, and took 10457 microseconds.
Found 59 new shadowed keys, rerunning query (loop 2)
Querying storage-attached indexes table_15_val_idx (14 sstables)
DiskANN search visited 250 nodes to return 241 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
DiskANN search visited 50 nodes to return 0 results
Index query accessed memtable indexes, 28 SSTable indexes, and 0 segments, post-filtered 491 rows in 491 partitions, and took 21257 microseconds.
No new shadowed keys after query loop 2
Read 200 live rows and 0 tombstone ones

new:
Index mean cardinalities are table_15_val_idx:-9223372036854775808. Scanning with table_15_val_idx.
Executing read on cql_test_keyspace.table_15 using index table_15_val_idx
Querying storage-attached indexes table_15_val_idx (14 sstables)
Found 61 new shadowed keys, rerunning query (loop 2)
Querying storage-attached indexes table_15_val_idx (14 sstables)
No new shadowed keys after query loop 2
Read 200 live rows and 0 tombstone ones
Index query accessed memtable indexes, 28 SSTable indexes, and 0 segments, post-filtered 489 rows in 489 partitions, and took 23875 microseconds
.
Index query performed 2086 checkpoints in (p50=6866.00, p99=20501.00, max=20501, stdev=5518.87) microseconds
DiskANN search executed 28 times, visits: (p50=50.00, p99=258.00, max=258, stdev=54.55), results: (p50=50.00, p99=258.00, max=258, stdev=60.93)

Old:
Index mean cardinalities are table_13_val_idx:-9223372036854775808. Scanning with table_13_val_idx.
Executing read on cql_test_keyspace.table_13 using index table_13_val_idx
ANN search visited 250 in-memory nodes to return 200 results
Querying storage-attached indexes
Index query accessed memtable indexes, 0 SSTable indexes, and 0 segments, post-filtered 200 rows in 200 partitions, and took 4705 microseconds.
Found 97 new shadowed keys, rerunning query (loop 2)
ANN search visited 250 in-memory nodes to return 153 results
Querying storage-attached indexes
Index query accessed memtable indexes, 0 SSTable indexes, and 0 segments, post-filtered 353 rows in 353 partitions, and took 7962 microseconds.
No new shadowed keys after query loop 2
Read 125 live rows and 0 tombstone ones

new:
Index mean cardinalities are table_13_val_idx:-9223372036854775808. Scanning with table_13_val_idx.
Executing read on cql_test_keyspace.table_13 using index table_13_val_idx
Querying storage-attached indexes
Found 98 new shadowed keys, rerunning query (loop 2)
Querying storage-attached indexes
No new shadowed keys after query loop 2
Read 125 live rows and 0 tombstone ones
Index query accessed memtable indexes, 0 SSTable indexes, and 0 segments, post-filtered 352 rows in 352 partitions, and took 11039 microseconds.
Index query performed 708 checkpoints in (p50=4768.00, p99=9887.00, max=9887, stdev=2952.69) microseconds
HeapANN search executed 2 times, visits: (p50=258.00, p99=258.00, max=258, stdev=0.00), results: (p50=179.00, p99=215.00, max=215, stdev=25.46)

Thanks, this is a nice improvement.  Comments:
Index mean cardinalities are table_13_val_idx:-9223372036854775808

Is this b/c we're applying code to vectors that shouldn't be, or is this just a bug?

Querying storage-attached indexes

Can we include the index count here?

Found 98 new shadowed keys, rerunning query (loop 2)

Can we include the new topk being used for the next loop?

Index query accessed memtable indexes, 0 SSTable indexes, and 0 segments, post-filtered 353 rows in 353 partitions, and took 7962 microseconds.

What are checkpoints?

Other:

There are three times that are useful to understand the execution behavior in ANN: (1) time to materialize the indexed predicates, (2) time to perform the ANN search, (3) time to fetch the rows.  We should make it possible to understand each of these.  (It is fine to have it implied by time between trace messages.)  I think these do correspond to the log lines you have but if so it is confusing that the "Read N live rows" lines comes before the others since it is the last stage chronologically.

Index mean cardinalities are table_13_val_idx:-9223372036854775808

Is this b/c we're applying code to vectors that shouldn't be, or is this just a bug?

I don't know enough to make a call on either.
We are getting there via search(queryVector, limit); in test when PartitionRangeReadCommand gets an index query plan, stack is:
getBestIndexQueryPlanFor:1225, SecondaryIndexManager (org.apache.cassandra.index)
findIndexQueryPlan:355, ReadCommand (org.apache.cassandra.db)
create:108, PartitionRangeReadCommand (org.apache.cassandra.db)
create:44, PartitionRangeReadQuery (org.apache.cassandra.db)
getRangeCommand:694, SelectStatement (org.apache.cassandra.cql3.statements)
getQuery:378, SelectStatement (org.apache.cassandra.cql3.statements)
executeInternal:541, SelectStatement (org.apache.cassandra.cql3.statements)
executeLocally:531, SelectStatement (org.apache.cassandra.cql3.statements)
executeLocally:104, SelectStatement (org.apache.cassandra.cql3.statements)
executeInternal:483, QueryProcessor (org.apache.cassandra.cql3)
executeFormattedQuery:1381, CQLTester (org.apache.cassandra.cql3)
execute:1369, CQLTester (org.apache.cassandra.cql3)
search:311, ShadowedRowsLoopTest (org.apache.cassandra.index.sai.cql)
...

Index query performed 708 checkpoints in (p50=4768.00, p99=9887.00, max=9887, stdev=2952.69) microseconds

What are checkpoints?

maybe I should give it a better description, not sure what specifically.
Basically these are calls to checkpoint.checkpoint() where check for query timeouts happen. I think it helps understanding whether there were a lot of small operations (too many sstables, bad index?) that resulted in a timeout eventually or something (e.g. slow i/o) that resulted in a smaller set of really slow operations.
I'll try to address other comments.

Index mean cardinalities are table_11_val_idx:-9223372036854775808. Scanning with table_11_val_idx.
Executing read on cql_test_keyspace.table_11 using index table_11_val_idx
Querying storage-attached indexes table_11_val_idx (11 sstables)
Found 61 new shadowed keys, rerunning query (loop 2) with new topk = 322
Querying storage-attached indexes table_11_val_idx (11 sstables)
No new shadowed keys after query loop 2
Read 200 live rows and 0 tombstone ones
DiskANN search executed 22 times, visits: (p50=50.00, p99=258.00, max=258, stdev=61.20), results: (p50=50.00, p99=258.00, max=258, stdev=67.17) with search latencies (p50=60.00, p99=310.00, max=310, stdev=81.36) micros
Index query accessed memtable indexes, 22 SSTable indexes, and 0 segments, post-filtered 489 rows in 489 partitions, and took 33933 microseconds.
Queried 2 storage-attached indexes with (p50=12.00, p99=12.00, max=12, stdev=0.00) sstables per index.
Index query performed 1933 timeout checks in (p50=11864.00, p99=35425.00, max=35425, stdev=10204.64) micros intervals

Index mean cardinalities are table_14_val_idx:-9223372036854775808. Scanning with table_14_val_idx.
Executing read on cql_test_keyspace.table_14 using index table_14_val_idx
Querying storage-attached indexes table_14_val_idx (1 sstables)
Found 11 new shadowed keys, rerunning query (loop 2) with new topk = 222
Querying storage-attached indexes table_14_val_idx (1 sstables)
No new shadowed keys after query loop 2
Read 200 live rows and 0 tombstone ones
DiskANN search executed 2 times, visits: (p50=258.00, p99=258.00, max=258, stdev=0.00), results: (p50=215.00, p99=258.00, max=258, stdev=30.41) with search latencies (p50=215.00, p99=372.00, max=372, stdev=111.02) micros
Index query accessed memtable indexes, 2 SSTable indexes, and 0 segments, post-filtered 422 rows in 422 partitions, and took 18078 microseconds.
Queried 2 storage-attached indexes with (p50=1.00, p99=1.00, max=1, stdev=0.00) sstables per index.
Index query performed 1272 timeout checks in (p50=14237.00, p99=17084.00, max=17084, stdev=4363.55) micros intervals

There are three times that are useful to understand the execution behavior in ANN: (1) time to materialize the indexed predicates, (2) time to perform the ANN search, (3) time to fetch the rows. We should make it possible to understand each of these. (It is fine to have it implied by time between trace messages.)

This is as much art as science but the goal of tracing is to give users a tool to answer "why is it slow".  So we should summarize "just enough" but not too much.  I think that should look reasonably close to this: https://docs.google.com/spreadsheets/d/1Hlzr_tJnWVt6TLkcbkFPsBpDtbtmYyU3ge5TRRGKmTA
Also: There's 4 search paths, (A) memtable or (B) sstable combined with (1) search() [pure ann] or (2) limitToTopResults(), [sai filters first].  Need to sanity check results for each.  Also, SAI queries that don't involve ANN at all.

Troubleshooting in the wild has shown that having sstable-level details is actually useful.  So let's put this on the shelf for now.


AWS AppSync support

AppSync is a very popular, complete serverless GraphQL service by AWS.
It would be great if we could support this with a dedicated Link.
There is already a library that helps with the AWS authorization which could be used to get this to work.
AppSync also supports serverless GraphQL subscriptions, but I have no idea how the AWS authorization for that works. Would need help on that.

This would be very cool, but I think it belongs in a stand-alone library. All you really need is an
AwsAuthLink using the logic outlined in the post, modeled on an auth link. This should work for subscriptions as well, as according to the AppSync docs:

To control authorization at connection time to a subscription, you can leverage controls such as IAM, Amazon Cognito identity pools, or Amazon Cognito user pools for field-level authorization

My stack is mostly on AWS, so if I get to the point where I'm doing user management myself I might get around to this, or contributing to a standalone / plugin if someone else starts work on it first 😉

@micimize @mainawycliffe I think I have the auth part working for this, however I believe there are other problems w/the way AppSync handles subscriptions.  I spent most of the weekend walking through things, and would love to help out here.  However I have what might be a silly question:  What is the best way to trace what is actually going across the wire?

@bobwiller do you have a repo? A logging link would help log the request/response info.
I guess I should have read a bit more in the docs

Subscription connection management is handled automatically by the AWS AppSync client SDK using MQTT over WebSockets as the network protocol between the client and service.

So this might take an mqtt_client link also.

I don't have a repo at the moment.  Still trying to prove I can connect at all.  I have been playing w/the mqtt_client package as well just to see if i can create a connection - as soon as I have something i will post it.  Right now I can't get past a connection error that my connection "was not upgraded to websocket" which I am assuming is because the Connection and Upgrade headers need to be set....

@micimize I finally have this working in Dart/Flutter (but outside of this package).  I don't know a lot about  other GraphQL implementations, but for AWS Appsync, this is a two step process:  An http query, and then the socket is built based on the response from that call.  (The socket gets all the data it needs to connect from the response, including auth token and uri - and yes, it uses MQTT).  I would love to contribute a "real" implementation back to this project if someone could help talk through how best to approach it and what changes would need to be made.
For those who are looking for how to set up a Dart-based AppSync Subscription, here is some pseudo-code (Note, this relies on mqtt_client.dart and amazon_cognito_identity_dart packages):
https://gist.github.com/bobwiller/b669f3476fcd2805b4f25b96243d859a

@micimize I finally have this working in Dart/Flutter (but outside of this package). I don't know a lot about other GraphQL implementations, but for AWS Appsync, this is a two step process: An http query, and then the socket is built based on the response from that call. (The socket gets all the data it needs to connect from the response, including auth token and uri - and yes, it uses MQTT). I would love to contribute a "real" implementation back to this project if someone could help talk through how best to approach it and what changes would need to be made.
For those who are looking for how to set up a Dart-based AppSync Subscription, here is some pseudo-code (Note, this relies on mqtt_client.dart and amazon_cognito_identity_dart packages):
https://gist.github.com/bobwiller/b669f3476fcd2805b4f25b96243d859a

Hi, I was wondering if the link for the pseudocode for the aws appsync subscriptions could be reposted

@Ibtesam-Mahmood https://gist.github.com/bobwiller/b669f3476fcd2805b4f25b96243d859a - was a markdown typo.
@bobwiller I think you'd want to implement a custom link with a mqtt client, similar in structure to how the websocket link works

If you're only needing Cognito pool authorization, you can do that out of the box using AuthLink by passing in your JWT token.
final token = session.getAccessToken().getJwtToken(); // Comes from amazon_cognito_identity_dart_2

final HttpLink httpLink = HttpLink(
  uri: '[your graphql url]',
);

final AuthLink authLink = AuthLink(
  getToken: () => token, // pass your Cognito JWT token to the auth link
);

final Link link = authLink.concat(httpLink);

ValueNotifier<GraphQLClient> client = ValueNotifier(
  GraphQLClient(
    cache: InMemoryCache(),
    link: link,
  ),
);

Then, pass this client in to the provider:
return GraphQLProvider(
    client: client,
    child: MaterialApp(
      title: 'Flutter Demo',
      ...
    ),
  );

Versions:
amazon_cognito_identity_dart_2: ^0.1.9
graphql_flutter: ^3.0.0

I think this a great start. It would be great if we can create a small demo project to explain how it works that will be so much easy to visualize how to use it. I will try this and if it works probably will try to create a PR.

If you're only needing Cognito pool authorization, you can do that out of the box using AuthLink by passing in your JWT token.
final token = session.getAccessToken().getJwtToken(); // Comes from amazon_cognito_identity_dart_2

final HttpLink httpLink = HttpLink(
  uri: '[your graphql url]',
);

final AuthLink authLink = AuthLink(
  getToken: () => token, // pass your Cognito JWT token to the auth link
);

final Link link = authLink.concat(httpLink);

ValueNotifier<GraphQLClient> client = ValueNotifier(
  GraphQLClient(
    cache: InMemoryCache(),
    link: link,
  ),
);

Then, pass this client in to the provider:
return GraphQLProvider(
    client: client,
    child: MaterialApp(
      title: 'Flutter Demo',
      ...
    ),
  );

Versions:
amazon_cognito_identity_dart_2: ^0.1.9
graphql_flutter: ^3.0.0

@isaiahtaylor : This is very useful but what if I need to get that amazon_cognito_identity_dart_2 token from my login page which further down into my app routes. Basically the authentication happens asynchronously. So at the start time I don't have the token. How would you solve that problem?

@NimaSoroush notice that the AuthLink getToken parameter does not take a String, but a FutureOr<String>. This means that you can pass it an async function that resolves the token, whenever it's available. The GraphQL library will await the result of calling your function until your token is ready.
Pass getToken a function which returns a Future<String>, and complete that future when your user signs in.
Quick pseudo-code:
abstract class TokenHolder {
  static Completer<String> tokenCompleter = new Completer();

  static Future<String> get token => tokenCompleter.future;
  static set token(String tokenValue) => tokenCompleter.complete(tokenValue);
}

// at top level / wherever you want to initialize
final AuthLink authLink = AuthLink(
  getToken: () => TokenHolder.token,
);

// in your sign in flow
void yourSignInFunction(String token) {
  TokenHolder.token = token;
}

Alternatively, rather than having a class, you can pass your completer down to the widgets that need it.
void runApp() {
  final tokenCompleter = new Completer<String>();

  final AuthLink authLink = AuthLink(
    getToken: () => tokenCompleter.future,
  );

  // now, pass `tokenCompleter` down the chain
  // to your SignIn component, and when the user signs in,
  // call tokenCompleter.complete(token).
}

Hope this helps.

Hey @isaiahtaylor that was amazingly helpful. Thanks a lot


Setting relays issue on brand new account

I tried Amber + Nostrudel, nice work!
I found it quite difficult to setup some relays after signing in though. The relays page from the sidebar (where you can "Join" relays and sign them seems to work), but from from the top right (0 relays) seems very buggy. I can manually try to find a relay and add it, but then it doesn't seem to connect. Clicking "4 fastest" does nothing, etc.
Are you able to reproduce this?
It seems the two views do different things (is it app-specific relays vs. setting relays for the app + your Nostr account?). I feel this is a bit confusing.

The relay view and relay button are pretty confusing. The relay button is only for temporarily switching relays and is kind of useless right now.


Add project titles to various projects.

I noticed that various projects lack title. I would like to add title to them all .

@ridsuteri please see to it

@lakshita15 can you share screenshots/gifs of them?

Sure I’ll work and send it to you.
On Sat, 27 Mar 2021 at 9:52 AM, Riddhi Suteri @.***>
wrote:

@lakshita15 https://github.com/lakshita15 can you share
screenshots/gifs of them?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-808647769,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4AQNNDXGGYQOEFKEAXDTFVMQ3ANCNFSM4ZZND6OA
.

@lakshita15 ??

Okay I’ll share today
On Sun, 4 Apr 2021 at 8:56 PM, Vishal Rajput @.***>
wrote:

@lakshita15 https://github.com/lakshita15 ??
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-813051861,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4AVH7WTTOFTTTZQQ3ZLTHCAKRANCNFSM4ZZND6OA
.

@lakshita15 kindly come up with proper screenshots/gifs else we have to close/transfer this issue

Like these there are various projects that lack a title on their actual
implemented page. I would like to add a nav bar having the name of the
project.
If it’s a game I’ll add heading of that project to the project.
On Mon, 5 Apr 2021 at 10:34 PM, Riddhi Suteri @.***>
wrote:

@lakshita15 https://github.com/lakshita15 kindly come up with proper
screenshots/gifs else we have to close/transfer this issue
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-813506828,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4AXIEXPEETOTS65F3H3THHUQ3ANCNFSM4ZZND6OA
.

@ridsuteri please support the issue with proper screenshots/gifs

I have added the screenshots..
On Tue, 6 Apr 2021 at 9:41 PM, Riddhi Suteri @.***>
wrote:

@ridsuteri https://github.com/ridsuteri please support the issue with
proper screenshots/gifs
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-814245679,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4AUE5E5SHY7JG27BRBDTHMXDJANCNFSM4ZZND6OA
.

Plss check this on gmail.
On Tue, 6 Apr 2021 at 9:41 PM, Riddhi Suteri @.***>
wrote:

@ridsuteri https://github.com/ridsuteri please support the issue with
proper screenshots/gifs
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-814245679,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4AUE5E5SHY7JG27BRBDTHMXDJANCNFSM4ZZND6OA
.

@lakshita15 srry unable to see any screenshots..

Please see discord🙂🙂
On Tue, 6 Apr 2021 at 9:58 PM, Riddhi Suteri @.***>
wrote:

@lakshita15 https://github.com/lakshita15 srry unable to see any
screenshots..
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-814257725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4ATMSK2PUIRKWTFAK7LTHMZBNANCNFSM4ZZND6OA
.

ok great @lakshita15 go ahead

@lakshita15 Whats the update ?

I'll Start working was suffering from covid , will start in day or two.
Sorry for the delay🙂

take care @lakshita15 , and get well soon :)

Plss check discord for the changes I’m not able to upload ss here
On Sun, 18 Apr 2021 at 9:01 AM, Riddhi Suteri @.***>
wrote:

take care @lakshita15 https://github.com/lakshita15 , and get well soon
:)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects/issues/662#issuecomment-821924892,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4ATBF6NEGL53SLZJ2X3TJJHBFANCNFSM4ZZND6OA
.

@ridsuteri

go ahead @lakshita15


Consider adding more maintainers to the image-spec

re: @stevvooe response on the mailing list
If I look at contributors: https://github.com/opencontainers/image-spec/graphs/contributors
@runcom and @xiekeyang may be good choices based on contributions

We also need to look at removing existing maintainers that are not contributing anymore.  Its not good enough to just add more.  Alex is a stand up example for when you can no longer perform your duties as a maintainer, you just step down.
I think we have some on the runtime/runc side that have not contributed or voted on anything within 6mo or more or are not sharing the load of work that need to be removed.  They can always come back later when their work or personal lives allow it but staying on as a maintainer and not doing the work is unfair to everyone involved.

@crosbymichael sgtm, give me some time to look at the stats via oci.biterg.io to at least issue a report, I don't think we should automatically remove people but maybe ask them every 6-12 months if they become historically inactive

@caniszczyk yes, we shouldn't blind side anyone and ideally people just step down when they cannot fulfill the responsibilities but we have rules for removal:
https://github.com/opencontainers/runc/blob/master/MAINTAINERS_GUIDE.md#what-is-expected-of-maintainers
It does not have to be something negative or looked down upon.

@caniszczyk   If possible, I'm volunteer to be a maintainer and to help move this project forward  :)

@caniszczyk Appreciate your recommendation! I'm so happy to become image-spec maintainer. And I would like to make more research and contribution for this project.

@runcom and @xiekeyang may be good choices based on contributions

:+1: from me

as well as the existing suggestions I'd like to nominate @cyphar if he's interested.

Simply based on contribution history, these three folks make a good fit:

@runcom
@xiekeyang
@coolljt0725

Do the @opencontainers/image-spec-maintainers want to call for a vote?
After folks are added, I can reach out to some of the inactive maintainers and ask them if they still want to be listed as a maintainer.

@caniszczyk Before adding new maintainers, I think we need to give the current maintainers a chance to respond on the issue of absenteeism. The problem I called out on the mailing list was not that we don't have enough maintainers; the problem is that the existing maintainers aren't reviewing submissions.
I can see this broken down into two problems:

Not enough maintainers to review existing body of work.
Blocking on general expertise which may exist with only certain maintainers.

Selecting new maintainers based on contribution experience may address 1, but I am unsure about 2.

@stevvooe SGTM! I created https://github.com/opencontainers/image-spec/issues/603 for the current set of maintainers to speak up or step down if they don't have the time anymore. After that, it would be great to consider new maintainers who are active based on contributions.
The the second issue you mentioned is tough to solve and would love your thoughts on how to address it.

On Thu, Mar 09, 2017 at 09:21:20AM -0800, Chris Aniszczyk wrote:

The the second issue you mentioned is tough to solve and would love
your thoughts on how to address it.

I think the way forward on maintainer-expertise is to identify areas
where there seems to be a shortage and add additional maintainers to
cover those areas.  Getting two experienced LGTMs on a particular
topic seems achievable for topics which impact image-spec.  Are there
areas where experienced maintainers are thin that are missing
candidates?

@caniszczyk Would you mind setting this to milestone==post-v1.0 ?

@caniszczyk @RobDolinMS I think most of the issues that started this discussion have been addressed. Maintainer participation has been much better as of late. If there are any maintainers who are inactive and would like to step down, we can make a call for that, as well.

I've nominated myself in #709, as I still believe that maintainer participation is still an issue (given how much work both @stevvooe and @vbatts have been doing recently).

We're on our second round of this in #834 so this issue can probably be closed @caniszczyk


Feature/es6

I do not have the time to take care of transforming the code, my projects are waiting for me!
But do not worry, the hardest is already done, it remains only to correct the bugs with Karma

@HelloEdit sorry, I don't know off the top of my head why that is happening. Do you have any ideas about it?

@rojobuffalo his is the whole question, the code is written and in my opinion almost correct, but karma does not seem to pass the test ...
(PS: could you create a branch feature / es6 on your repository to be able to ask for help? If so, I would create a PR in this new branch)

this.muiComponent it seems to be the source of the problem

@HelloEdit ok, I just created branch dev/es6.

Continue on #233


Contents of  header has change offset

when first loading the app,the title and right button ,display on the left of the header and moved to center of header fastly.Anyone find this question and know how to handle this?

cc @grabbou
could it be something due to the delay in onLayout?

Yeah, probably, however I haven't experienced any issues because of that. onLayout was the only reasonable solution as far as I experimented with that.
Mind posting a screen recording or/and steps to reproduce? Should be easily fixable.

I just posted about this same issue. This bug was introduced in beta.6 and I think it has to do with dynamically configuring width and converting the top nav area to using flexbox.
https://github.com/react-community/react-navigation/issues/553

I'm also seeing this issue and can confirm I wasn't seeing it before beta.6.  I'll grab a screen recording and upload tomorrow AM.

see this GIF


Use v2 of cargo-semver-checks-action

Hi! As one of the contributors of cargo-semver-checks I'd want to say we're pleased to see you're using our tool!
Since we've recently released a new, completely rebuilt version of the GitHub action, I suggest using it instead of the outdated V1. It not only fixes the problems with choosing the baseline version, but also includes several improvements of the running time, which result in huge speedup of Cargo semver checks step: ~1m 20s in the first run compared to previous 6 minutes (and will be even less in second and each subsequent run thanks to caching the baseline rustdoc).

thanks for this! great work on v2, the speedup is :pinched_fingers:

@all-contributors add @mgr0dzicki for code and infra


Trained model

Hi,
I am just curious if the trained model is available for any of the datasets ?
Thanks in advance!

yeah, that would be dope! save some energy too...
anyone?

can you input the test image to generate a new image use the trained model?


Users should not be able to edit and delete a billed time tracking entry.

Is your proposal related to a problem?
Currently, employees are able to edit and delete their time entries which are billed which causes confusion in invoicing.
Describe the solution you'd like
Once the time tracking entry of an employee is billed i.e. added to an invoice and sent to client, the employee should not be able to edit or delete that time entry . We need to remove the edit and delete icon for billed time tracking entries.
The admin and owner role should still be able to edit and delete those entries.
Describe alternatives you've considered

@akhilgkrishnan @supriya3105 Can I please work on this issue?


Use a CSPRNG for generating salts and nonces

While exploring the authentication code, I noticed that a deterministic
PRNG seeded with the current time was being used for salts and nonces.
This greatly increases the chances that salts can be guessed.
Because passwords are currently stored in plaintext and the SCRAM implementation isn't really doing anything right now, this doesn't matter for the moment, but it is important to have this done before #62 is fixed.
Since I was touching this part of the code anyways and the diff was going to contain  almost every call site for the rand package, I took the opportunity to just remove the util/rand package in the second commit in this patch set. This helps reduce tiny package syndrome and makes the code easier to follow.

Rebased, sorry for the trouble. I really hate GitHub flow :)

Thanks again for your collaboration Sam! 🙌
LGTM! 👍


create bagit-firecloud-lambda dev instance

This creates a dev instance of that lambda to avoid deploying new features of the staging lambda instance used in demos.

I closed this issue based on issue 6. I created a staging stage in the bagit-firecloud-lambda which is used for demos. The dev stage will be used for development. The PR has been reviewed and closed.


Support passing jams kwargs to muda's load/save functions

It would be helpful to be able to pass jams kwargs to muda's load_jam_audio() and save() methods. Example use case: I want to skip json validation upon loading (via muda.load_jam_audio()) or saving (via muda.save()).

Can't do general kwargs because both load_jam_audio and save already use kwargs for manipulating audio io.
We could expose strict and validate for jams though.

We could expose strict and validate for jams though.

👍


about dim Ceil_Mode =True

The original pool operation can set the parameter Ceil_Mode =True, then how can the soft pool achieve the same effect, because there is a dimension mismatch problem in my replacement

Hi @XinyingZheng ,
The ceil_mode parameter just adds columns on the left and rows on the bottom side of the tensor to make the tensor fit with the parameters given.
You can simply use torch.nn.functional.pad to immitate that in your def forward(self) function.
Best,
Alex

Hi @XinyingZheng ,
The ceil_mode parameter just adds columns on the left and rows on the bottom side of the tensor to make the tensor fit with the parameters given.
You can simply use torch.nn.functional.pad to immitate that in your def forward(self) function.
Best,
Alex

Hi @XinyingZheng ,
The ceil_mode parameter just adds columns on the left and rows on the bottom side of the tensor to make the tensor fit with the parameters given.
You can simply use torch.nn.functional.pad to immitate that in your def forward(self) function.
Best,
Alex

thank you for your reply, i have sloved this problem，best wishes to you！

Hi @XinyingZheng ,
The ceil_mode parameter just adds columns on the left and rows on the bottom side of the tensor to make the tensor fit with the parameters given.
You can simply use torch.nn.functional.pad to immitate that in your def forward(self) function.
Best,
Alex

thank you for your reply, i have sloved this problem，best wishes to you！


AMD Radeon Image Sharpening - not working

System Details

OS: Windows 10
Thorium Version M117.0.5938.157 - 34th Release
GPU: Sapphire RX 6750 XT

Problem
I love this new AMD feature that comes with their graphics, which is 'Image Sharpening'.

It usually works on desktop and all the popular applications and games by default. It does work by default in Chrome - both UI and videos are sharpened corretly.
Yet inside Thorium it doesn't seem to work correctly, even if I try to force feed Thorium to it.
Thorium UI doesn't seem to be sharpened, nor do the contents of websites.
For Youtube videos it doesn't seem to work at all too.
For Twitch videos it also doesn't work, except for a single case.
It only works in a single case for Twitch videos - in full screen view - when I toggle a Twitch video to full screen, I see it refreshed in a split-second and sharpening is applied. So it works in Twitch when the video is full screen. But once I exit full screen I see it disables immediately, in a split-second sharpened video becomes unsharpened again.
Screenshots
A snapshot from Chrome:

A snapshot from Thorium:

The resolution of these snapshots is low, because my screen resolution is 1080p and the video is not full screen.
Pay attention to the UI of the game here or the text inside, you can easily see in Chrome sharpening is working, while it doesn't in Thorium.
Additional Notes
I tried playing with chrome://flags, tried enabling all the features that seemed remotely involved with 'encoding', 'GPU', 'acceleration' or etc., but I had no luck.
For your info, I must mention that this feature also doesn't work in Firefox. However, it does work in PaleMoon. So it can be tricky. But once again, it works in all games I played by default and I'm pretty sure the trigger to make it work is somewhere on the application side as there are no additional settings in AMD Driver Software.
Please, help!
I really like Thorium and I want to make it work. But I also grew to love image sharpening, as it makes the image crispy clear and I'm pretty sure there's a lot of people around using it, so this could overall benefit the users.
Thank you!

What version of Chrome are you currently using?
@diminian

What version of Chrome are you currently using?
@diminian

Latest Chrome - 118.0.5993.71.
But it worked fine on earlier versions too, I've been using this feature for few months now.

Perhaps this feature only recognizes Chrome and only works on Chrome.
Please try other third-party browsers based on the Chromium kernel, and if they don't work either, then my reasoning is correct.
@diminian

Just tried Vivaldi. Works fine there.
As I mentioned, it also works fine, for example, in PaleMoon.
Moreover, it works in Thorium, when Twitch video hits full screen.
I am pretty sure this feature depends on some graphics setting inside the browser, maybe video codec or decoder which is being used is the factor, or something similar.
@gz83

I think I was able to fix the problem.
It indeed seems to had nothing to do with Thorium.
Here is what I did:

Created a new rule in AMD Driver Settings just for the Thorium browser.
Disabled Surface Format Optimization in AMD Driver Advanced Settings for Thorium specifically.

At this point I've noticed that Thorium was suddenly sharpened. Not sure why Disabled Surface Format Optimization was enabled in the first place. Seems its enabled by default in AMD Driver Advanced Settings, probably happened after the driver update.
Toggled Image Sharpening OFF and back ON just for a good measure.
Restarted Thorium and Image Sharpening was now working for the browser as expected.

P.S.: I tried disabling Surface Format Optimization without a special rule for Thorium and for some reason it didn't suffice, and Image Sharpening still didn't work in such case. Only with a separate rule for Thorium it did work.
Thanks!


Ignite 4671 Fix FairAffinityFunction fails on node restart with backupFilter set and no backups

The ticket is resolved, closing PR.
Please close PRs for your resolved tickets and other non-needed PRs.
Alternatively, ask a committer

to use GitHub UI (committer can associate accounts here: https://gitbox.apache.org/setup/ )
or ./scripts/apply_pull_request.sh from Apache Ignite source.
or mention in commit message 'Fixes #(a number of PR)'.

These methods will automatically close PR.
Feel free to reopen this PR if it is anyway actual.


Upgrade Bitcanna to v4.0.2

Pre-release image: ghcr.io/akash-network/cosmos-omnibus:v1.0.4-rc2-bitcanna-v4.0.2


test : run test on linux mac and windows

This PR is about https://github.com/unjs/nypm/issues/1
Added strategy matrix in workflows file. It now should run tests on ubuntu-latest macos-latest windows-latest

Thanks!


Fix userinfo url case

Coverage remained the same at 94.361% when pulling 929004712b77351e2f7e50391733951e2f8a2503 on cody-fix-userinfo-url-case into 59cdf7a012053d82413c7ef7093601899a640601 on main.


WIP - updated some dependencies

Updated to most recent version of react-scripts (4.0)

May still be an issue w/ referencing a specific version of react-router typings (5.0)

Update TypeScript
Fixed compilation errors
Migrated from tslint --> eslint

disabled a TON of warnings/errors (1000s)

Nows runs on Node 12.x on OSX

TODO:

Need to test this on Windows
Need to update pipelines to reference Node LTS/erbium (12.x)

NOTES:

deprecated<EMAIL_ADDRESS>This package is no longer supported. Please use @microsoft/applicationinsights-react-js instead

@pjlittle @wbreza
What is the status on this? With another Electron upgrade I think this should fix #1065 as well (https://www.electronjs.org/blog/apple-silicon/). Maybe also we can include another Electron update in here? Based on the TODO list in the original comment (and looking at the changes) it looks like the pipelines have been updated, but testing on Windows is the only thing that needs to be done?
I'd be happy to help dedicate some time to helping with this. Really want to get #1065 fixed. But there are some indications that this project has been abandoned. So don't want to sink a bunch of time into a project that is dead.
cc/ @tbarlow12 (since it looks like you have a lot of contributions to this project)


Start mining with dogecoind or by dogecoin-cli ?

Why not anywhere in dogecoin doc no exist detailed info about start mining with dogecoind or by dogecoin-cli ? ;(
This is start mining cmd with dogecoin-cli ?
dogecoin-cli generate 666000000
or
dogecoin-cli generatetoaddress 666000000 WALLET_ADDRESS

The how we can specified generate unlimited num ?
dogecoin not support auto start mining without RPC command ?

This functionality is deprecated as most Dogecoin is merge mined with Litecoin using ASIC machines, and you will likely never successfully mine a block from your CPU.
If you are trying to generate testnet coins, you can simply put a sufficiently large number. As Dogecoin's target block time is 1 minute, dogecoin-cli generate 666000000 on the testnet would take 1200+ years to generate and is effectively a "try to generate unlimited blocks" command.

you will likely never successfully mine a block from your CPU

but if mining result always depend from random (or not?) hashes like in lottery, then, theoretically can be miracle ? :)

dogecoin-cli generate 666000000
or
dogecoin-cli generatetoaddress 666000000 WALLET_ADDRESS


Telegram requires WEBP, not WEBM

I tried uploading the WEBM created on this, but it asks for either PNG or WEBP instead. Is there a way to change it to WEBP to get animated stickers?

Hello @FerdyLim!
WEBM is a format used for video stickers, so you should add it to a video sticker pack instead of a standard pack (consisting of images).


fade-in-bloom and fade-out-boom for #255

demo: https://codepen.io/hchiam/pen/bGvjoev
(hey, sorry for the delay, got distracted earlier today)

agreed, i'll update the count in the test, and i'll leave the docsite update to you @argyleink

i can confirm that the +8 in the count (from 1086 to 1094) is coming solely from the changes in this PR, because when i revert (and run yarn bundle; yarn test), the test passes:

What confuses me is why there's +8 instead of just +4

Ready for review. Updated test. I'll leave the docsite update to you, thanks!

just pushed updates to the docsite and published a new OP version 👍🏻
i'm curious if you think there's a nice way to make the brightness light/dark contextual? like in a dark theme instead of blooming white it blooms grey or black? i tried a couple things, seems like it could work nice, but didnt find a happy spot for it. thoughts?!

oooh nice we def want to make this play nice with dark mode - maybe a css
variable for the brightness, dependent on the --OSdark dark mode var?
On Thu., Aug. 11, 2022, 14:14 Adam Argyle, @.***> wrote:

just pushed updates to the docsite and published a new OP version 👍🏻
i'm curious if you think there's a nice way to make the brightness
light/dark contextual? like in a dark theme instead of blooming white it
blooms grey or black? i tried a couple things, seems like it could work
nice, but didnt find a happy spot for it. thoughts?!
—
Reply to this email directly, view it on GitHub
https://github.com/argyleink/open-props/pull/260#issuecomment-1212443320,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEKKWSYKHGUYA2KZHSLVWNLVYVNL5ANCNFSM56DD3SLA
.
You are receiving this because you authored the thread.Message ID:
@.***>

yep! shadows does it, can follow that path. but yeah, if you find a great way to make it adaptive to color-scheme then we can deploy an upgraded version 🙂

oh, make the bloom light/dark dependent, not simply on dark mode, but on any color-scheme, eh? very interesting. i might not be able to work on this until next week, so feel to work on it meanwhile


Adding komodo_2.0 to documentation index for distro

i'd like komodo_2.0 to be indexed and documented on ros.org

@yamgeva I'm going to close this due to no response, but if you update it later I can reopen it and merge if hopefully.


Problem with yarn create on yarn berry

yarn set version berry
yarn create razzle-app@canary basic --example basic

Why does this fail?

Probably this.

Probably this.

So, wait? :)

So, wait? :)

Not sure that is the issue, maybe yarn exits with 1 on warnings

Not sure that is the issue, maybe yarn exits with 1 on warnings

I tried this:
> yarn set version berry
> yarn set version from sources --branch 2262
> yarn create razzle-app@canary basic --example basic

and it went further but errored out like this:
...
⠏ Installing modules➤ YN0000: ┌ Link step
⠇ Installing modules➤ YN0007: │ fsevents@patch:fsevents@npm%3A1.2.13#builtin<compat/fsevents>::version=1.2.13&hash=11e9ea must be built because it never did before or the last one failed
⠙ Installing modules➤ YN0000: └ Completed in 3s 439ms
⠹ Installing modules➤ YN0000: Done with warnings in 27s 104ms
> Error! Failed to install razzle@canary, razzle-dev-utils@canary, try again.
undefined
/Users/gilles/.yarn/berry/cache/create-razzle-app-npm-4.0.0-canary.29-3ac61b2831-7.zip/node_modules/create-razzle-app/lib/utils/install.js:47
        return reject(new Error(`${installCmd.cmd} installation failed`));
                      ^

Error: yarn installation failed
    at /Users/gilles/.yarn/berry/cache/create-razzle-app-npm-4.0.0-canary.29-3ac61b2831-7.zip/node_modules/create-razzle-app/lib/utils/install.js:47:23
    at processTicksAndRejections (node:internal/process/task_queues:93:5)

I tried this:
> yarn set version berry
> yarn set version from sources --branch 2262
> yarn create razzle-app@canary basic --example basic

and it went further but errored out like this:
...
⠏ Installing modules➤ YN0000: ┌ Link step
⠇ Installing modules➤ YN0007: │ fsevents@patch:fsevents@npm%3A1.2.13#builtin<compat/fsevents>::version=1.2.13&hash=11e9ea must be built because it never did before or the last one failed
⠙ Installing modules➤ YN0000: └ Completed in 3s 439ms
⠹ Installing modules➤ YN0000: Done with warnings in 27s 104ms
> Error! Failed to install razzle@canary, razzle-dev-utils@canary, try again.
undefined
/Users/gilles/.yarn/berry/cache/create-razzle-app-npm-4.0.0-canary.29-3ac61b2831-7.zip/node_modules/create-razzle-app/lib/utils/install.js:47
        return reject(new Error(`${installCmd.cmd} installation failed`));
                      ^

Error: yarn installation failed
    at /Users/gilles/.yarn/berry/cache/create-razzle-app-npm-4.0.0-canary.29-3ac61b2831-7.zip/node_modules/create-razzle-app/lib/utils/install.js:47:23
    at processTicksAndRejections (node:internal/process/task_queues:93:5)

But how to debug this?

But how to debug this?

Log the commands?

Log the commands?

Ah it tests version

Ah it tests version

--ignore-engines may be a bad idea anyway

--ignore-engines may be a bad idea anyway

➤ YN0050: The --ignore-engines option is deprecated; engine checking isn't a core feature anymore

➤ YN0050: The --ignore-engines option is deprecated; engine checking isn't a core feature anymore

The error output is severely lacking still. Do you think it has to do with deprecated packages?
➤ YN0061: │ axios@npm:0.19.2 is deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
➤ YN0061: │ request@npm:2.88.2 is deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
➤ YN0061: │ har-validator@npm:5.1.5 is deprecated: this library is no longer supported
...
➤ YN0061: │ fsevents@npm:1.2.13 is deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
...
➤ YN0032: │ fsevents@npm:2.3.1: Implicit dependencies on node-gyp are discouraged
...
➤ YN0061: │ resolve-url@npm:0.2.1 is deprecated: https://github.com/lydell/resolve-url#deprecated
...
➤ YN0002: │ react-dev-utils@npm:10.2.0 doesn't provide webpack (p59db9), requested by fork-ts-checker-webpack-plugin
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code

The error output is severely lacking still. Do you think it has to do with deprecated packages?
➤ YN0061: │ axios@npm:0.19.2 is deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410
➤ YN0061: │ request@npm:2.88.2 is deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
➤ YN0061: │ har-validator@npm:5.1.5 is deprecated: this library is no longer supported
...
➤ YN0061: │ fsevents@npm:1.2.13 is deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
...
➤ YN0032: │ fsevents@npm:2.3.1: Implicit dependencies on node-gyp are discouraged
...
➤ YN0061: │ resolve-url@npm:0.2.1 is deprecated: https://github.com/lydell/resolve-url#deprecated
...
➤ YN0002: │ react-dev-utils@npm:10.2.0 doesn't provide webpack (p59db9), requested by fork-ts-checker-webpack-plugin
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code

Wish I knew

Wish I knew

Critical security vulnerability

Critical security vulnerability

yarn set version from sources --branch 2262
➤ YN0000: Fetching the latest commits
$ git fetch origin pull/2262/head --force
$ git reset --hard FETCH_HEAD
$ git clean -dfx
➤ YN0000: Building a fresh bundle
Usage Error: Unrecognized or legacy configuration settings found: changesetIgnorePatterns - run "yarn config -v" to see the list of settings supported in Yarn (in /tmp/yarnpkg-sources/d0a670/.yarnrc.yml)
$ yarn run [--inspect] [--inspect-brk]  ...
➤ YN0001: Error: Child "yarn" exited with exit code 1
at ChildProcess. (/home/oyvind/.yarn/releases/yarn-berry.cjs:2:403919)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1048:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
➤ YN0000: Failed with errors in 1s 181ms

yarn set version from sources --branch 2262
➤ YN0000: Fetching the latest commits
$ git fetch origin pull/2262/head --force
$ git reset --hard FETCH_HEAD
$ git clean -dfx
➤ YN0000: Building a fresh bundle
Usage Error: Unrecognized or legacy configuration settings found: changesetIgnorePatterns - run "yarn config -v" to see the list of settings supported in Yarn (in /tmp/yarnpkg-sources/d0a670/.yarnrc.yml)
$ yarn run [--inspect] [--inspect-brk]  ...
➤ YN0001: Error: Child "yarn" exited with exit code 1
at ChildProcess. (/home/oyvind/.yarn/releases/yarn-berry.cjs:2:403919)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1048:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
➤ YN0000: Failed with errors in 1s 181ms

Was axios and version test i think, fixed maybe
yarn set version berry
yarn create razzle-app@canary basic --example basic

Was axios and version test i think, fixed maybe
yarn set version berry
yarn create razzle-app@canary basic --example basic

Does not work for me on berry but works with the added pull request: yarn set version from sources --branch 2262

Does not work for me on berry but works with the added pull request: yarn set version from sources --branch 2262

Hm, so a yarn issue. Then wait 😕

Hm, so a yarn issue. Then wait 😕

npx create-razzle-app@canary basic --example basic
fails too

npx create-razzle-app@canary basic --example basic
fails too

It succeeded for me with npx 7.0.15 with both yarn 1.22.10 and yarn 2.4.0-git.20210112.hash-8eba2920.
What error do you get?

Failed to install.
On Mon, 1 Feb 2021 at 15:07, Fivethreeo<EMAIL_ADDRESS>wrote:

Unhandled promise rejection.
On Mon, 1 Feb 2021 at 08:35, Gilles<EMAIL_ADDRESS>wrote:

It succeeded for me with npx 7.0.15 with both yarn 1.22.10 and yarn
2.4.0-git.20210112.hash-8eba2920.
What error do you get?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredpalmer/razzle/issues/1536#issuecomment-770639390,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAADGWKOWUTQRREZY7G42DS4ZKTLANCNFSM4W2XAYUQ
.

--
Øyvind Saltvik

--
Øyvind Saltvik

Was fs-extra copy that was the issue. Fixed


NuxtLoadingIndicator stopped working

Environment
multiple environments
Reproduction
https://stackblitz.com/edit/github-ni6a1j?file=app.vue
Describe the bug
Not sure if this was deprecated?
Additional context
No response
Logs
No response

From more debugging it looks like the opacity stays 0 the whole time

Hello :wave:, NuxtLoadingIndicator doesn't use page:start hook to work, instead it uses a globalMiddleware to start

Hello 👋, NuxtLoadingIndicator doesn't use page:start hook to work, instead it uses a globalMiddleware to start

Actually you can see it firing off when using page:start , you can see me use it here with an example: https://github.com/nuxt/nuxt/issues/15232
This worked fine w/ all of my projects and now suddenly stopped working

I see, this PR  (for 3.6) changed the behavior of NuxtLoadingIndicator. I will take a look at #15232 (currently busy but asap)

I see, this PR  (for 3.6) changed the behavior of NuxtLoadingIndicator. I will take a look at #15232 (currently busy but asap)

Thank you, until then do you mind re-opening this?

Any progress on this? I would like to see the progress indicator back in action on all of my projects

yes, will be working on it


Catchall account

Feature request
Provide a catchall account that publishes all posts from all users. this could be in the form of<EMAIL_ADDRESS>or<EMAIL_ADDRESS>

I've duplicated #1 I see. This can be closed then!


Code fences not rendered unless language label is in ColorCode.Languages dictionary (v0.7.0 regression)

Since 9ebbb73, code fences with a language label other than csharp, cplusplus, aspx, etc., are not rendered at all. Any other language label has to be edited out.
v0.7.0

v0.6.2

There needs to be a default case handler in Markdig.SyntaxHighlighting.LanguageTypeAdapter.Parse, so that code fences are always rendered, even if the label is unrecognized.

This issue has already been posted in 2020 see: https://github.com/RichardSlater/Markdig.SyntaxHighlighting/issues/16
Great that you found a solution!
I will merge the PR.


review: use fully specified branch names

To back up my work without having to mail it, I use a git mirror. I forked the Go repo on GitHub, and ran the equivalent of:
$ git clone https://go.googlesource.com/go
$ cd go
$ git remote add --mirror=push j git@github.com:josharian/go.git
$ git push j

This has as a consequence that many of my branch names are ambiguous:
$ git rev-parse 9370
warning: refname '9370' is ambiguous.
adfd5e448109a491adee3afeccb7efcf0cd045c0
$ git show-ref 9370
adfd5e448109a491adee3afeccb7efcf0cd045c0 refs/heads/9370
adfd5e448109a491adee3afeccb7efcf0cd045c0 refs/remotes/j/9370

This causes git sync to misbehave, and possibly other commands as well.
Running git sync on an unsubmitted change moves HEAD to origin/master (losing the change description), and leaves the actual changes unstaged in the working directory.
Diagnosis:
Branch.Submitted looks for any output from git log --grep to determine whether a change has been submitted:
$ git log --grep "Change-Id: I7c4555950bcd6406ee5c613be1f2128da2c9a2b7" 9370..origin/master
warning: refname '9370' is ambiguous.

The warning here causes git sync to believe that this change has been submitted, which makes the following git reset command very wrong.
There are multiple fixes, all of which we should make here:

Branch.Submitted should look only at stdout, not stdout+stderr.
Branch.Submitted should check that stdout includes the Change-Id that it is looking for.
We should use fully specified branch names wherever possible. In this case, that means using refs/heads/9370 instead of 9370 and refs/remotes/origin/master instead of origin/master in the git log --grep command.

As of CL 3621 we use refs/heads/branchname. Of the original list of fixes, what remains is:

Branch.Submitted should look only at stdout, not stdout+stderr.
Use refs/remotes/origin/master instead of origin/master.

Calling this good for now. If either of these cause trouble in practice, we can fix then.


Add GitHub Action for Test & Release

Add a workflow for running tests.
Additionally add a workflow for building an RPM via nfpm and (if tagged) push an artifact as a release.

Going to land this. I'm still not 100% sure it will work end-to-end, but I'll follow up with another PR if needed.


prerelease 0.4

This will be a prerelease to help troubleshoot any GUI installation issues. The plan will be to make the full release right before the workshop at Biomag.

I guess the linkcheck is going to fail for
https://jonescompneurolab.github.io/hnn-core/stable/governance.html

Since this is a new file that doesn't exist on the stable docs yet...

What about including #860  ?

@kmilo9999 I'll plan to review it so it can be included in the release before the biomag conference, but for right now I want to get this pip installable so we can test the current changes.

This isn't on the release steps doc but I think @jasmainak mentioned we need to also add to doc/_templates/navbar.html. This is for the dropdown that lets you switch between docs by release version.

note to self, we need to update the picture on the front page!

Woohoo! v0.4! Thanks to all the contributors!

@gtdang there's a slight issue with #865
The image shows up in the readme but not in the built docs, do you mind taking a look?

If it calls for a different PR we can just rename this one...

Are you pushing to pypi also? I see that it shows 0.3 ...

I was going to until I caught the docs error,...
It seemed like the image work with a local make html build but when I viewed it through circleCI the image was missing


Express offset in bytes, as expected by drawElements

Hi Hugh,
thanks for this module; this is a great abstraction over raw buffers and VAOs.
I am opening this pull request so as to discuss a difficulty I encountered while explicitly setting the start and stop arguments of the draw function while using indexed elements.
My understanding is that the WebGL drawElements rendering call expects its count parameter to be expressed in vertices, while its offset should be expressed in bytes.
If we consider the start and stop parameters to be expressed in vertices, then offset will not be proper when start is greater than zero. Hence my pull request.
Note that I fixed the index size to 2 since the index type is hardcoded to uint16 when normalizing the index buffer; however it would be more future proof to use something along the line of sizeof(this._vao._elementsType). I do not know of a module that would provide such a function, though.
Note also that this PR is breaking compatibility with existing code. But I suspect this is more of a bugfix since current behavior makes the start argument difficult to use properly, so most people probably used a 0 / default value for it anyway. In any case you are the judge of the proper version number increment.
Anyway, it would be a pleasure to discuss this and perform any adjustments you'd deem necessary for this PR to be merged.
Regards,
Olivier.

Oh wow, good catch! Thanks for the PR and thorough explanation @oparisy, I wasn't aware of this. Gonna merge and look into determining the element array type (maybe using dtype or something similar?) Will be a major version bump just to stay on the safe side of things :)

Ok, updated! This bit of code here takes the GL type and gets back the byte size :)

Thanks for the trick for computing types size, and for merging this PR so fast.
I've just tested the code suffering from the issue with this new version: works like a charm!

Swell! :D


Unable to use this package with cached godeps

Trying to use this in a project that has cached godeps and the uritemplates package causes build issues since its looking for godeps/_workspace/src/* instead of the gopath

@bradgearon Hi. I'm not familiar with godeps so I don't know what going on really. I will try out myself, but TBH I'm pretty amazed that you're the first one with this issue. Which import path are you using: gopkg.in/olivere/elastic.v2, gopkg.in/olivere/elastic.v3, or github.com/olivere/elastic? You shouldn't use the last one.

@bradgearon Any news on this?

I'm using v2. Thanks so much!
On Wed, Dec 9, 2015 at 2:15 AM Oliver Eilhard<EMAIL_ADDRESS>wrote:

@bradgearon https://github.com/bradgearon Hi. I'm not familiar with
godeps so I don't know what going on really. I will try out myself, but TBH
I'm pretty amazed that you're the first one with this issue. Which import
path are you using: gopkg.in/olivere/elastic.v2,
gopkg.in/olivere/elastic.v3, or github.com/olivere/elastic? You shouldn't
use the last one.
—
Reply to this email directly or view it on GitHub
https://github.com/olivere/elastic/issues/183#issuecomment-163147039.

@bradgearon Does this mean you issue is solved now?

I found a wrong import path on 3.0.14 that lead to inclusion of github.com/olivere/elastic. You might want to update to 3.0.15 (go get -u gopkg.in/olivere/elastic.v3) to fix the issue. Elastic currently does not have any external dependencies.


fix flag compilation for others files

This change is

Reviewed 5 of 5 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks pending.

Comments from Reviewable

:thumbsup:

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks pending.

Comments from Reviewable


Update to Ember CLI 3.24 (LTS) blueprint

End up upgrading typescript and fixing other minor issues in package.json

Per blueprint update, removed Ember.js 3.12 from testing matrix.
@chancancode would you have any concerns with that change? cc @maxfierke


az iot ops support create-bundle fails with Invalid kube-config file. No configuration found.

Describe the bug
az iot ops support create-bundle --ops-service dataprocessor or az iot ops support create-bundle. Fails on run. Doesn't do anything. The docs suggest that "If auto is selected, the operation will detect which services are available.", but doesn't seem to.
I can't figure out how to specify the config file, or what should be there. Can you help understand what the API is looking for?
Related command

az iot ops support create-bundle
az iot ops support create-bundle --ops-service auto
az iot ops support create-bundle --ops-service dataprocessor

Errors
Command group 'iot ops' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
The command failed with an unexpected error. Here is the traceback:
Invalid kube-config file. No configuration found.
Traceback (most recent call last):
  File "/usr/lib64/az/lib/python3.9/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/home/william/.azure/cliextensions/azure-iot-ops/azext_edge/edge/commands_edge.py", line 31, in support_bundle
    load_config_context(context_name=context_name)
  File "/home/william/.azure/cliextensions/azure-iot-ops/azext_edge/edge/providers/base.py", line 41, in load_config_context
    config.load_kube_config(context=context_name)
  File "/home/william/.azure/cliextensions/azure-iot-ops/kubernetes/config/kube_config.py", line 815, in load_kube_config
    loader = _get_kube_config_loader(
  File "/home/william/.azure/cliextensions/azure-iot-ops/kubernetes/config/kube_config.py", line 772, in _get_kube_config_loader
    raise ConfigException(
kubernetes.config.config_exception.ConfigException: Invalid kube-config file. No configuration found.
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues

Issue script & Debug output
Just running the commend from the CLI. No script involved.
Expected behavior
Per the docs, expected behavior is:
"Creates a standard support bundle zip archive for use in troubleshooting and diagnostics."
Environment Summary
azure-cli                         2.55.0
core                              2.55.0
telemetry                          1.1.0
Extensions:
ai-examples                        0.2.5
azure-iot                         0.21.2
azure-iot-ops                    0.2.0b1
ml                                2.22.0
ssh                                2.0.2
Dependencies:
msal                            1.24.0b2
azure-mgmt-resource             23.1.0b2
Python location '/usr/bin/python3.9'
Extensions directory '/home/william/.azure/cliextensions'
Extensions system directory '/usr/lib/python3.9/site-packages/azure-cli-extensions'
Python (Linux) 3.9.14 (main, Oct 12 2023, 19:48:32)
[GCC 11.2.0]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Additional context
Thanks for the help!

Thank you for opening this issue, we will look into it.

Hi @BillmanH that command needs direct access to your cluster, where configuring direct access (cluster ip, client certs etc) are defined in the kubeconfig similar to how kubectl works.
Typically its located at ~/.kube/config. Is your kubeconfig in a different location?
If you don't have a kubeconfig but you have an arc connected cluster, you can first run the following commad from the connectedk8s extension az connectedk8s proxy -n mycluster -g myrg to create a temporary proxy between your local environment and the target arc connected cluster, the command generates and merges a suitable kubeconfig to interact with the cluster through the proxy. While the proxy is running, the az iot ops support create-bundle operations you listed should work.

Hey thanks, this is useful. I was using cloud shell, thinking that the bundle is created based on the logs in the cloud deployment, not the edge. Running this on my IoT device, where the path is properly mounted solved the issue.


xcode 8.3 swift 3 warnings

@pkluz
there are some warnings in the latest xcode 8.3
PKHUDAnimation.swift:19:41: 'M_PI' is deprecated: Please use 'Double.pi' or '.pi' to get the value of correct type and avoid casting.
           NSNumber(value: 1.0 * Float(M_PI) / 6.0 as Float),

Duplicated. Please see https://github.com/pkluz/PKHUD/issues/149

I'm sorry, maybe i do something wrong, but i do "pod update PKHUD --verbose", uninstall and reinstall cocoapods, PKHUD pod, but any way i do not get these fixes and still have these M_PI. I understand that can manually change source code, but want to resolve it in right way. What should i do to get finally these changes in my project?

It should be released a new version to fix that warnings

@pkluz can you do it?

Merged

For now use the master version for these changes

@pkluz thanks, but it not helped. pod update PKHUD still do not get these changes )=

@mikestalker as I said before, for now specify master version in your podfile.
pod 'PKHUD', :git => 'https://github.com/pkluz/PKHUD.git'

Oh. Got it. Thank you.

@mikestalker I've release a new pod version. For more details have a look to #150

@PGLongo thank you (=


Unit | Component | sl tab pane: There are no references to Ember.$, $ or jQuery

not ok 584 PhantomJS 1.9 - Unit | Component | sl tab pane: There are no references to Ember.$, $ or jQuery
    ---
        actual: >
            null
        message: >
            Died on test #1     at test (http://localhost:7357/assets/test-support.js:3025)
                at testWrapper (http://localhost:7357/assets/test-support.js:6192)
                at test (http://localhost:7357/assets/test-support.js:6205)
                at http://localhost:7357/assets/tests.js:26282
                at http://localhost:7357/assets/vendor.js:152
                at tryFinally (http://localhost:7357/assets/vendor.js:33)
                at http://localhost:7357/assets/vendor.js:158
                at http://localhost:7357/assets/test-loader.js:60
                at http://localhost:7357/assets/test-loader.js:51
                at http://localhost:7357/assets/test-loader.js:82
                at http://localhost:7357/assets/test-support.js:6024: Attempted to wrap $ which is already wrapped
        Log: |
    ...

Will likely be resolved by https://github.com/softlayer/sl-ember-components/issues/1503

Resolved by https://github.com/softlayer/sl-ember-components/issues/1503


Home page needs blogs.

Above the contact form I want a panel where developers can add blogs about anything from open source to their personal experiences. These panels should link to a medium site or whatever site you prefer. The title, a picture and a description should be visible on the home page. Make sure it is in a container which expands as the number of blogs increases.

I would like to work on this

Sure, but the page is almost complete so make sure it goes well with the rest of the page and the design doesn't look bad. Select a few good blogs about open source and hacktoberfest. Add a container which will hold these blogs. Put it above the contact form. Make sure each blogs are in individual sub-containers and also the Title is visible, the links are working and a small image would do too.

Should developers also be able to add any blogs they have written to this container?  If so it would mean storing their basic blog details somewhere. I was thinking of using a JSON file to store the basic information to be collected.

Sure, whatever you are comfortable with. Try it and submit a PR and we will have something more solid to discuss about. There are no hard and fast rules. If this gets difficult you can also and pre-existing medium blog links with a good front end as I mentioned before.

Hi, I was working on the project today and just hit a snag. I realized that there is no way to save data to a local machine via a client application only server side. Since the website is purely client based, I'm stuck on how to save the new blog post data. Any ideas?

Server Linking can be done, however I don't think this website is the right one for it. How about just stick to client side and link pre-hosted blogs from websites like medium? Since the design has been almost finalised I would say your front-end would be given more importance than your back-end.

Hey @sudz123 I am new in open source. Can I  take this up as my first issue?