Support repositories hosted with plugins like fm-sbt-s3-resolver

At work, we currently use https://github.com/frugalmechanic/fm-sbt-s3-resolver as a way to store our private artifacts in an S3 repo. This doesn't work with coursier (fm-sbt-s3-resolver hooks onto ivy style URL resolution which I think is ignored by coursier)
I am not sure how hard it is for coursier to pick up plugins like this, if it can't, would adding native support to coursier be a solution? I think ideally it would be good (if possible) to transparently support such plugins, as each plugin has their own repository format and it would mean less work
I also have a stack trace, but since it has some private info I don't want to put it out publicly (I can email it if needed)

It should be possible to support other protocol directly via java.net.URL. So support S3 via the handlers of fm-sbt-s3-resolver.
java.net.URL is currently used for HTTP, but it is assumed that the underlying protocol is HTTP, as the resulting connection is cast as a HTTPURLConnection. But some more generic code could be written for other protocols. Then fm-sbt-s3-resolver would work directly from the SBT plugin.

@mdedetrich Is it something you'd like to take a cut at?
The java.net.URL based code in coursier is actually already quite generic, and should be able to handle other protocols, via the java.net.URLStreamHandler mechanism.
So to have something that works from the SBT plugin, it should only be a matter of having a first SBT plugin that registers a java.net.URLStreamHandler for the s3:// URLs (this plugin can be independent of coursier). Then a few minor things would have to be addressed in the cache module, so that it doesn't reject protocols other than file / http / https (I can take care of that), and that should be it.

Ill have a look into it in the weekend, ideally I would wan't this to be part of coursier as it means it will create less friction

@alexarchambault Any news about this?

@rtfpessoa I had a look at the code for coursier and its not really possible to make fm-sbt-s3-resolver work with coursier, you would have to make a specific plugin for coursier (coursier has no concept of ivy resolvers, it does all of that handling itself)
I believe @alexarchambault was in the process of documenting how coursier plugins would work and/or improving the plugin functionality. When that is done I will probably look into implementing a version of fm-sbt-s3-resolver for coursier specifically

@mdedetrich I am currently using, https://github.com/ohnosequences/sbt-s3-resolver,
I suspect it might be the same problem.

I would also suspect that its the same problem, unless sbt-s3-resolver is doing something out of the ordinary

I was about to write a few words about custom protocols:
The support for i is in place, and is illutstrated a bit in the tests, here.
To handle a custom protocol custom, you need to put a class extending java.net.URLStreamHandler for it as coursier.cache.protocol.CustomHandler in the classpath (under this particular coursier.cache.protocol namespace, with class name: the - capitalized - protocol with Handler as suffix, so CustomHandler).
Then coursier will be able to handle repositories with a base like custom://....
The custom java.net.URLStreamHandler would typically be put in a separate library, added in the SBT plugin classpath (a simple libraryDependencies += ... for it in project/plugins.sbt should be fine I think).

So for S3, we would need a lib for that exposing coursier.cache.protocol.S3Handler. I guess things like s3rver would then allow to test that on the CI.

@alexarchambault what would be the best way to feed the connection with the credentials?
Environmental variables?

Just did a fast implementation: https://gist.github.com/rtfpessoa/407dcc6376027d8567c96b0128b76487
Will do some testing.

For authentication, either the URLStreeamHandler handles it itself (which has some drawbacks, like the caches of the various users mixed together indifferently in the cache), or the URLConnections it returns implement coursier.AuthenticatedURLConnection . In that case, authentication is handled like the HTTP one (that is via the coursierCredentials settings - just credentials with the forthcoming 1.0.0-M12-1 - from the SBT plugin, with URLs like<EMAIL_ADDRESS>from the command line, ...).
The credentials handling could be enhanced to deal better with the AWS ones (and also with credentials written in a file too).

I'd be fine with something workish as a PR, proper tests can be written later (before 1.0 final say).

To do some testing etc, I created this: https://github.com/rtfpessoa/coursier-s3
After that I tried with one small project.
With sbt-s3-resolver it does not seem to work.
Then I tried fm-sbt-s3-resolver and I have the some weird issue.
In the logs I get:
java.lang.Exception: Exception during resolutioncy.com/org/dep_2.11/3.0.12/dep_2.11-3.0.12.pom.sha1
        at coursier.Tasks$$anonfun$resolutionTask$1$$anonfun$28.apply(Tasks.scala:462)
s3://s3-at coursier.Tasks$$anonfun$resolutionTask$1$$anonfun$28.apply(Tasks.scala:462)oundation_2.11-3.0.12.pom
        at scalaz.$bslash$div.leftMap(Either.scala:97)
        at coursier.Tasks$$anonfun$resolutionTask$1.coursier$Tasks$$anonfun$$resolution$1(Tasks.scala:462)
        at coursier.Tasks$$anonfun$resolutionTask$1$$anonfun$apply$35.apply(Tasks.scala:508)
        at coursier.Tasks$$anonfun$resolutionTask$1$$anonfun$apply$35.apply(Tasks.scala:508)
        at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
        at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
        at coursier.Tasks$$anonfun$resolutionTask$1.apply(Tasks.scala:501)
        at coursier.Tasks$$anonfun$resolutionTask$1.apply(Tasks.scala:227)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:235)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: scala.NotImplementedError: an implementation is missing
        at scala.Predef$.$qmark$qmark$qmark(Predef.scala:252)
        at fm.sbt.s3.Handler.openConnection(Handler.scala:24)
        at java.net.URL.openConnection(URL.java:979)
        at coursier.Cache$.coursier$Cache$$urlConn$1(Cache.scala:317)
        at coursier.Cache$$anonfun$remote$1$1$$anonfun$apply$14$$anonfun$apply$15.apply(Cache.scala:451)
        at coursier.Cache$$anonfun$remote$1$1$$anonfun$apply$14$$anonfun$apply$15.apply(Cache.scala:446)
        at coursier.Cache$.coursier$Cache$$downloading(Cache.scala:195)
        at coursier.Cache$$anonfun$remote$1$1$$anonfun$apply$14.apply(Cache.scala:446)
        at coursier.Cache$$anonfun$remote$1$1$$anonfun$apply$14.apply(Cache.scala:446)
        at coursier.Cache$.coursier$Cache$$withLockFor(Cache.scala:164)
        at coursier.Cache$$anonfun$remote$1$1.apply(Cache.scala:445)
        at coursier.Cache$$anonfun$remote$1$1.apply(Cache.scala:445)
        at scalaz.concurrent.Task$.Try(Task.scala:386)
        at scalaz.concurrent.Task$$anonfun$apply$10.apply(Task.scala:286)
        at scalaz.concurrent.Task$$anonfun$apply$10.apply(Task.scala:286)
        at scalaz.concurrent.Future$$anonfun$apply$15$$anon$4.call(Future.scala:380)
        at scalaz.concurrent.Future$$anonfun$apply$15$$anon$4.call(Future.scala:380)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
[error] (*:coursierResolution) java.lang.Exception: Exception during resolution
[error] Total time: 20 s, completed May 25, 2016 2:07:15 PM

Any ideas?

I think is coursier that is not getting my handler, the log I have is only from fm-sbt-s3-resolver .

I removed the last comment to summary the new findings here.
I created a repo for the plugin here: https://github.com/rtfpessoa/coursier-s3
After that I tried using it with one small project, with one private s3 dependency.
With sbt-s3-resolver it does not seem to work. Maybe it needs other tweaks? Any ideas?
Then I tried fm-sbt-s3-resolver and I have the one weird issue.
Since fm-sbt-s3-resolver adds their dummy s3 handler implementation to the java factory it seems to be the only handler added and when used somewhere crashes.
To continue with my tests I had to compile fm-sbt-s3-resolver locally and force my handler.
After this I was able to have the project compiling.
@alexarchambault  is coursier adding S3Handler to the URLStreamHandlerFactory?
If not maybe it should. Or Maybe this is a problem on the  fm-sbt-s3-resolver side.
Do you have any solution about this?

fm-sbt-s3-resolver indeed registers its own URL handler, although if coursier finds one of its own, it should use it instead... Maybe you could try with a slightly different protocol (like s3a, with handler class S3aHandler for coursier), and see if it works.

I think that wont work because I cannot create s3a urls unless coursier binds one handler to the URLStreamHandlerFactory that know the protocol.

I was only able to make it work by adding this:
object S3URLStreamHandlerFactory extends URLStreamHandlerFactory {
    def createURLStreamHandler(protocol: String): URLStreamHandler = protocol match {
      case "s3a" => new coursier.cache.protocol.S3aHandler()
      case _ => null
    }
  }

  URL.setURLStreamHandlerFactory(S3URLStreamHandlerFactory)

to the build.sbt of the project using coursier.

I think I'll create a separate branch with some s3rver based integration tests, to have a closer look at this problem.

I am doing some utils in my project to make this easy to use, and I am going to try this in more projects in my company.

Added some docs here: https://github.com/rtfpessoa/coursier-s3#s3-coursier-plugin

@alexarchambault, I have been testing it with other projects and I found two major problems.

When it fails for network reasons or even for file not found, the error my plugin is giving is an ugly exception which gives a weird log, not like the other resolvers. What is the correct way for me to return an error?

I seem to be having some problems with partial dependencies. I have one project with a dependency version like DEV-4.0.76.+, that with regular sbt finds the real dependency DEV-<IP_ADDRESS>. With coursier I am having some weird errors it seems to be looking for [DEV-4.0.76,DEV-4.0.77-a1).

Any ideas?

@rtfpessoa About the errors printed by the plugin, these definitely ought to be enhanced (https://github.com/alexarchambault/coursier/issues/123). They should be by 1.0 final.
About version intervals, they should be handled (e.g. coursier fetch "com.chuusai:shapeless_2.11:[2.3,2.4)" works, coursier fetch "com.chuusai:shapeless_2.11:2.3.+" does too). These only work for Maven repositories though (even though x.y.+ is an Ivy syntax), and require the repository to expose versioning metadata (like https://repo1.maven.org/maven2/io/get-coursier/coursier_2.11/maven-metadata.xml).

It is an Ivy repository. How can we add support for this?

That requires a few additions to coursier. As I see it for now, it's not straightforward. It would require:

passing an extra - optional - parameter to the find method of Repository to list a directory elements,
have IvyRepository use it to list available versions of a given module,
write a method creating a value to pass as this parameter, from a list of repositories.

For HTTP, it could use jsoup to get a directory web page and extract links to sub-elements.
For other protocols, it could check if the coursier.cache.protocol.*Handler implements a new coursier.ListElements trait, with a method to list elements under a directory.

Actually, there should be more straightforward ways (but possibly a bit more hackish) of doing that, without changing much of what's already there.
One could ask the cache module to support the following: when asked a URL with a path like /a/b/.coursier-content (or /a/b/.coursier-content$, ...), it should list the entries of directory /a/b (by any mean - jsoup for HTTP, more specific things for custom protocols), and do as if /a/b/.coursier-content actually existed, with content: the entry names separated by \n. This content could be kept in cache, and be updated if asked so like the metadata or JARs. Then IvyRepository could request the content of whatever directory it needs, and get available versions this way.

The first option seems better. But the second is definitely easier to implement.
Maybe I will get some time to try one of them, but I will be out for 1 week.

I have an implementation of version intervals handling for Ivy repos. I'll clean it a bit and push it tomorrow I think.

Just checked your PR and I have some questions:

Is there a summary of the architecture of coursier?
What is the js / jvm core about?
What is the .directory? Is it the fake file to list files in there? Where is it being used?
Where could I look to add my implementation? Is the comment https://github.com/alexarchambault/coursier/issues/164#issuecomment-222312597 still a valid option after this changes?

Sorry for the basic questions but I am starting to get stuck when reading the code.

I can understand that, a few parts of coursier grew a bit out of control since its inception, and I've not been too keen to refactor them not to break things before 1.0... I'll write a design document in the coming days.
The README succinctly says a few words about the modules of coursier.  ResolutionProcess uses these and a fetcher, providing content wrapped in a monad, to compute the next resolution state, wrapped in the same monad. Recursively, this can compute the final state of the resolution.
core targets both the JVM and scala-js, so it has a few platform dependent code under core/jvm and core/js, but most of its sources are under core/shared. It's a typical scala on JVM + scala-js cross-compiled source layout.
Then cache provides implementations of the previous fetcher methods, using a specific monad (currently, scalaz.concurrent.Task). Thus, when using it, we get the final state of the resolution wrapped in a Task.

About .directory (addition of https://github.com/alexarchambault/coursier/issues/265), that's where the cache keeps the content of a URL whose path ends with / (that should designate a directory). E.g. https://oss.sonatype.org/content/repositories/releases/io/get-coursier/sbt-coursier_2.10_0.13/ is such a URL. The web page ones gets when navigating to it is kept in cache under ~/.coursier/cache/v1/https/oss.sonatype.org/content/repositories/releases/io/get-coursier/sbt-coursier_2.10_0.13/.directory. This webpage is then used by IvyRepository (since https://github.com/alexarchambault/coursier/issues/265) to list the elements under this directory - by navigating the links on this page (Ivy does similar things). That's what it does around here, it builds a directory URL, fetches its content, and knows the elements of the directory via the links in the content.
That makes https://github.com/alexarchambault/coursier/issues/164#issuecomment-222312597 not relevant any more. To support version ranges for Ivy repo via S3, you should just have the s3c:// URL handler return a webpage similar to the ones of Sonatype or bintray if asked a directory InputStream. With relative links ending in / for directories in particular. IvyRepository will just parse this web page, and list the elements out of it.

@alexarchambault, after my vacations, I finally got time to get into this again.
https://github.com/rtfpessoa/coursier-s3/commit/6c69124689c737ababa61c5af30ae321ed7332bc#diff-9dcc466beb602cff871853eb020f5f54R37 creates some initial support for directories. Can you please take a look and give me some feedback?
I did some minor refactor to extract the s3 client stuff to its own class, forget about that part.

@rtfpessoa I'll have a look at https://github.com/rtfpessoa/coursier-s3/pull/2 (that looks fine at first). You shouldn't get requests with versions like [DEV-4.0.91,DEV-4.0.92-a1) though... That may mean something's not right when IvyRepository tries to list the available versions.

@alexarchambault any news about this? Do you have any starting point for me to look at? Maybe I can help.

@rtfpessoa @darkjh I just pushed https://github.com/alexarchambault/coursier/pull/289. There still are a lot of holes in it though. Feel free to comment the PR or ask questions about it anyway.

@alexarchambault after some checks in the current tests I only found tests for Ivy resolution for plugins, not libraries. Maybe that is the problem.
At least I think that is the case in IvyTests.scala.
How do I create a library test, the module example is:
val sbtRepo = IvyRepository(
    "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/" +
      "[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)" +
      "[revision]/[type]s/[artifact](-[classifier]).[ext]",
    dropInfoAttributes = true
)
val mod = Module(
  "com.github.ddispaltro", "sbt-reactjs", Map("sbtVersion" -> "0.13", "scalaVersion" -> "2.10")
)
val ver = "0.6.+"

Can you help?

FYI https://github.com/frugalmechanic/fm-sbt-s3-resolver version 0.10.0 now implements an HttpURLConnection for the s3:// protocol and appears to work with Coursier 1.0.0-M15.
Here is the commit: https://github.com/frugalmechanic/fm-sbt-s3-resolver/commit/1aa10983e3ba70eefef014fbdd57fb6a66c0a47f

@tpunder I am currently using fm-sbt-s3-resolver 0.11.0 and attempting to use sbt-coursier 1.0.0-RC13. When I add coursier as a plugin It does not check any of the s3 resolvers when resolving resulting in many errors when building. Did you have to do anything else to get coursier to use the s3 resolvers?

@earthmonkey0 Try upgrading to fm-sbt-s3-resolver 0.13.0 since there have been a handful of other improvements that were needed for SBT 1.0 support which is using the same code path.
addSbtPlugin("com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.13.0")

I am unable to upgrade to sbt 1.0 right now but did upgrade to fm-sbt-s3-resolver 0.13. I am still seeing the same error that it is not looking at the s3 resolvers, should I be including anything else?
plugins.sbt
addSbtPlugin("com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.13.0")
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC13")

relock error
...
[error] (models/*:coursierResolutions) coursier.ResolutionException: Encountered 6 error(s) in dependency resolution:
[error]     clientsharedmodels:clientsharedmodels_2.11:1.+:
[error]         not found:
[error]             /Users/David/.ivy2/local/sharedmodels/sharedmodels_2.11
[error]             https://repo1.maven.org/maven2/sharedmodels/sharedmodels_2.11/maven-metadata.xml
[error]             http://repo.typesafe.com/typesafe/releases/sharedmodels/sharedmodels_2.11/maven-metadata.xml
...

FYI, I have a PR that updates the sbt-coursier plugin to work with fm-sbt-s3-resolver.  The S3 resolver plugin was working fine, but the plumbing wasn't hooked up yet in the sbt-coursier: https://github.com/coursier/sbt-coursier/pull/49


cmd/go: go1.11 does not work on Alpine Linux

What version of Go are you using (go version)?
go version go1.11 linux/amd64
(This is my handprint, the reason is below.)
Does this issue reproduce with the latest release?
Yes. Installed by go get golang.org/dl/go1.11.
What operating system and processor architecture are you using (go env)?
go1.11: It was silently done with status 1.
go1.10.3:
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build312539232=/tmp/go-build -gno-record-gcc-switches"

What did you do?
docker run --rm -it --cap-add sys_ptrace golang:1.10.3-alpine3.8

Then in the Docker container:
apk add --update git strace
go get -v golang.org/dl/go1.11 && go1.11 download
...

What did you expect to see?
go1.11 version
go version go1.11 linux/amd64

What did you see instead?
go1.11 version
echo $?
1

It was silently done with status 1.

I submit the results of strace go1.11 version.

go1.11: https://gist.github.com/michilu/131116bf3cd43abc5fe14256b3fc178d#file-strace-go1-11-txt
go1.10.3: https://gist.github.com/michilu/131116bf3cd43abc5fe14256b3fc178d#file-strace-go1-10-3-txt

I seem to like the futex call is never return.
futex(0x810448, FUTEX_WAIT, 0, NULL)    = 0

This line: https://gist.github.com/michilu/131116bf3cd43abc5fe14256b3fc178d#file-strace-go1-11-txt-L170

The official Go binaries are known to not work on Alpine because we assume glibc. That is #18773 and #19938.
Are you saying that the Go binary from go get golang.org/dl/go1.10.3 but not from go get golang.org/dl/go1.11? Or did you get your go1.10.3 from somewhere else? (e.g. from Alpine apk)

The go1.10.3 was already installed from Alpine apk.
OK. I understood Golang needs the glibc for itself.
So could not install by go get.
Thanks!


Small mistake in Redux Integration documentation

Version
v5.1.2
This is actually a small mistake in the documentation that I came across. In packages/react-router/docs/guides/redux.md it is mentioned that redux implements shouldComponentUpdate but this is not true, it is react-redux that "implements" this. That in itself is a bit leading because as far as I can see react-redux doesn't implement this but rather mimics it to force an update if there is a change to the current context's store state.
Relevant section:

The problem is that Redux implements shouldComponentUpdate and there's no indication that anything has changed if it isn't receiving props from the router.

Probably something like The problem is that as far as redux and react-redux is concerned that there haven't been any changes to the store.
I'd be happy to submit a PR when we agree on a wording for this. Splitting hairs, but still :)

We actually don't do that anymore. The correct change is to just to remove it entirely!

Or that :)


Making the Postgres Parameters Page Visible

Postgres parameters page is at a place to be visible after bug fixes.
This PR

Gives access to the parameters page on the postgres instance dashboard
Better placement to information bubbles
Adds Azdata sessions to edit calls

Pull Request Test Coverage Report for Build 535735962

1 of 6 (16.67%)  changed or added relevant lines in 2 files are covered.
18 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.03%) to 43.532%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/arc/src/ui/dashboards/postgres/postgresDashboard.ts
1
2
50.0%

extensions/arc/src/ui/dashboards/postgres/postgresParametersPage.ts
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/arc/src/ui/dashboards/postgres/postgresDashboard.ts
1
42.86%

extensions/arc/src/ui/dashboards/postgres/postgresParametersPage.ts
17
3.07%

Totals

Change from base Build 535178468:
0.03%

Covered Lines:
24918

Relevant Lines:
52455

💛  - Coveralls

What's the status on the properties page? Are there any blocking issues there still?

@nasc17 is going to check if the problem still occurs.  The UI wasn't updating when the model's data changed.  It would keep showing the component's initial values , even though we were changing them.  It could be a bug could be somewhere in KeyValueContainer but I couldn't find one.

What's the status on the properties page? Are there any blocking issues there still?

@Charles-Gagnon
@nasc17 is going to check if the problem still occurs. The UI wasn't updating when the model's data changed. It would keep showing the component's initial values , even though we were changing them. It could be a bug could be somewhere in KeyValueContainer but I couldn't find one.
The bug also affected the connection strings page since it uses the same KeyValueContainer . Those values (IPs and ports) can change too. But they're less likely to change so we let it be.

I looked into the problem and it appears to no longer be an issue. I will create a separate PR for making the page visible.


[Feature Request] : Handle file open events on MacOS

Not sure if this is in scope and I wasn't sure where else to ask, this issue can be closed immediately if it's not in scope.
I have been writing a small editor in Zig using Sokol, and after packing the build into a .app, I realized that when opening an associated file type the path isn't sent as an argument but rather an event in Objective C that the app has to override.
I spent quite a while trying to handle it through zig but I couldn't, and wanted to reach out to see if that functionality would fit in the scope of Sokol since the openFile and openFiles events are similar to a drag and drop event.
Any info on how to accomplish this would be amazing, I'm not familiar with Objective C or using Objective C to bootstrap another language.

I need to think about this for a bit. In general I want sokol_app.h to be useful for writing Dear ImGui desktop tools, so I think it maked sense. I need to figure out though if and how this would be implemented for Windows and X11.
In the meantime here's a workaround:
You can just add your own fileOpen handler after including the sokol_app.h implementation, for instance I just tried this in the sokol.m file in the sokol-samples project:
#define SOKOL_IMPL
/* this is only needed for the debug-inspection headers */
#define SOKOL_TRACE_HOOKS
/* sokol 3D-API defines are provided by build options */
#include "sokol_app.h"
#include "sokol_gfx.h"
#include "sokol_time.h"
#include "sokol_audio.h"
#include "sokol_fetch.h"
#include "sokol_glue.h"

@implementation _sapp_macos_app_delegate (Bla)
- (BOOL) application:(NSApplication*)sender openFile:(NSString*)path {
    NSAlert *alert = [[[NSAlert alloc] init] autorelease];
    [alert setMessageText:path];
    [alert runModal];
    return YES;
}
@end

...an "Open With..." on a file than then produces this:

...drag'n'dropping a file on the application icon doesn't work though, I guess that needs some entries added to the application's Info.plist file (if that works on macOS at all, I'm actually not sure).

Thank you so much for the quick workaround and for taking a look!

Okay, so after taking a look, I'm not able to get the same alert you are showing above, but I'm sure it has to do with how my zig project is set up.
I'm using Upaya in my app, and changed the linked compile_sokol.c file to a .m file and added the above code snippet you showed after the sokol_app.h implementation.
#define SOKOL_IMPL

#ifdef __APPLE__
#define SOKOL_METAL
#else
#define SOKOL_GLCORE33
#endif

#define SOKOL_NO_ENTRY
#define SOKOL_NO_DEPRECATED
#define SOKOL_WIN32_FORCE_MAIN
#include "sokol/sokol_app.h"
#include "sokol/sokol_gfx.h"
#include "sokol/sokol_fetch.h"
#include "sokol/sokol_glue.h"
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include "cimgui/cimgui.h"
#define SOKOL_IMGUI_IMPL
#include "sokol/util/sokol_imgui.h"

@implementation _sapp_macos_app_delegate (Bla)
- (BOOL) application:(NSApplication*)sender openFile:(NSString*)path {
    NSAlert *alert = [[NSAlert alloc] init];
    [alert setMessageText:path];
    [alert runModal];
    return YES;
}
@end

It only seems to work for application bundles, not for command line apps (AFAIK Zig can currently only compile command line apps, but maybe it works with creating the necessary directory structure for app bundles by hand.
...also maybe it depends on the Info.plist attributes, my 'vanilla' Info.plist for macOS app bundles looks like this (not sure what's up with all the "DT" keys, those seem to be included by Xcode).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>BuildMachineOSBuild</key>
	<string>21C52</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDisplayName</key>
	<string>cube-sapp</string>
	<key>CFBundleExecutable</key>
	<string>cube-sapp</string>
	<key>CFBundleIconFile</key>
	<string>Icon.png</string>
	<key>CFBundleIconFiles</key>
	<array>
		<string>icon.png</string>
		<string>icon-57.png</string>
		<string>icon-114.png</string>
	</array>
	<key>CFBundleIdentifier</key>
	<string>cube-sapp</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>cube-sapp</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleSupportedPlatforms</key>
	<array>
		<string>MacOSX</string>
	</array>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>DTCompiler</key>
	<string>com.apple.compilers.llvm.clang.1_0</string>
	<key>DTPlatformBuild</key>
	<string>13C100</string>
	<key>DTPlatformName</key>
	<string>macosx</string>
	<key>DTPlatformVersion</key>
	<string>12.1</string>
	<key>DTSDKBuild</key>
	<string>21C46</string>
	<key>DTSDKName</key>
	<string>macosx12.1</string>
	<key>DTXcode</key>
	<string>1321</string>
	<key>DTXcodeBuild</key>
	<string>13C100</string>
	<key>LSMinimumSystemVersion</key>
	<string>10.13</string>
	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>
	<key>NSHighResolutionCapable</key>
	<true/>
</dict>
</plist>


Client Side Config

what's the right way to collect a client side config into react with this setup? e.g. if I needed to know the server port in the client side.
server/configs seems to only have webpack configs and server side configs

You're right! There are a few ways of accomplishing this.
A Few Ideas

Add it to window in render-full-page.js similar to how initial state is being set:

<script dangerouslySetInnerHTML={{__html: `window.__INITIAL_STATE__ = ${JSON.stringify(state)}`}} />

Use webpack.DefinePlugin() only in a Webpack client config:

new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify(config.getEnv()) }),

that should be enough to work with


Add images to the quotes json object

I went ahead and added a photo of each character to their respective quotes.
Let me know if I need to change anything.

Thanks @alexraskin this looks good, only thing I was thinking about is should we separate out metadata information about characters into a different file 🤔
I think its fine like this for now, if we end up adding more metadata info then I'll refactor it with a separate characters.json file in the future.

Thanks @alexraskin this looks good, only thing I was thinking about is should we separate out metadata information about characters into a different file 🤔 I think its fine like this for now, if we end up adding more metadata info then I'll refactor it with a separate characters.json file in the future.

Honestly, that is not a bad idea, but I think for now, this is okay.

Awesome, looks good to me.
A final thing we can add as part of this PR is updating the README file for the API response for quotes APIs.

I went ahead and updated the tests as well.


feature_request(enhancement): images detecting

1. Summary
It would be nice, if Hover Image Preview will work with links to images in any markup formats.
2. Argumentation
Hover Image Preview successful works for me in Markdown and HTML.
But for our project we use another format: image link end before any space symbol or asterisk — *. Regular expression for images in our project:
https?:\/\/[^\s\*]+\.(apng|bmp|gif|ico|jpeg|jpg|png|svg|svgz|webp)(?=(\s|\*))

Hover Image Preview doesn't work for these images.
3. Data
For example, I have a file Kira__HoverImagePreview--Demo.md. It content:
![Kira Goddess](https://pp.userapi.com/c845421/v845421389/1541e3/xapzaLFRNFo.jpg)

https://pp.userapi.com/c845421/v845421389/1541e3/xapzaLFRNFo.jpg Kira Goddess

URLs is the same.
4. Steps to reproduce
I reproduce the problem in a version of Sublime Text without plugins and user settings.
5. Expected behavior
If I hover cursor to first link:

Success. Image are displayed.
6. Actual behavior

No effect.
7. Environment

Windows 10 Enterprise LTSB 64-bit EN
Sublime Text Build 3176
Hover Image Preview 0.0.21

Thanks.

currently the plugin only works for urls enclosed in (), "" and '', a good regex that matches only image urls in arbitrary formats is little tricky to figure, any help will be appreciated.

perhaps implement highlight+hover as a workaround?
#36 implements highlight+hover

It would be nice, if Hover Image Preview will work with links to images in any markup formats.

#37

This is addressed with #37 and version 0.1.0 which should be automatically updated via package manager.


Add ability to let the facilitator Define voting options

Upon creating a room the should be presented with a default option for voting numbers. From here they can accept the default or edit their own options.

Reason: I've worked on teams where stories was pointed 1-5 and 1-21. If we wan this to be usable by any team we need to allow each team to define its voting options.

I agree. The backend currently supports different voting options (defined as an arbitrary array) on the RoomState so it should just be a matter of providing the UI and allowing that array to be set.

@Keboo do you think we should enforce for the facilitator to choose, or just whoever creates the room ?

I would let any facilitator do it, even after the room is created

I would also suggest having some pre-canned sets of options, to let facilitator quickly pick common sets of voting options. I would also suggest persisting the last selection in a cookie the same way we do the user's name. That way when facilitators fire up a new room it defaults to their last selection.


Cache?

What do you recommend for clearing the cache for every new deployment? I am using the serve built in (npm run start:prod).
Thanks

If you run npm run start:production (in place of npm run start:prod) the ./build directory will be cleaned out before the new build. see package.json scripts section.
As far as I know this is all that is required between deploys.
Is there something else you had in mind?


[MINOR][DOC] Remove spaces following slashs

What changes were proposed in this pull request?
This PR merges multiple lines enumerating items in order to remove the redundant spaces following slashes in Structured Streaming Programming Guide in 2.0.2-rc1.

Before: Scala/ Java/ Python
After: Scala/Java/Python

How was this patch tested?
Manual by the followings because this is documentation update.
cd docs
SKIP_API=1 jekyll build

Test build #67782 has started for PR 15686 at commit b385a4c.

Test build #67782 has finished for PR 15686 at commit b385a4c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67782/
Test PASSed.

Thank you for review and approval, @srowen !

Build started: [SparkR] ALL
Diff: https://github.com/apache/spark/compare/master...spark-test:1D4EC6E8-F2CF-4585-9745-0AE5956F211C
:)

@HyukjinKwon why are the appveyor checks failing?

@rxin, it seems spurious. The message seems meaning the failure when the commit is virtually not mergeable[1].
It seems it fails time to time for various reasons. For example, in some cases, it seems failing to clone due to network problem within AppVeyor.
it is able to re-trigger via Web UI but it seems committers are also not allowed to access to it. Due to this problem, I temporarily made a bunch of scripts[3] to manually launch another build via @spark-test account. I can run the build and leave the comment above until we find a better way to handle it. (treat me like a bot)
[1]http://help.appveyor.com/discussions/problems/4912-merge-commit-does-not-start-build-in-the-repo-i-make-pull-request-for
[2]https://ci.appveyor.com/project/ApacheSoftwareFoundation/spark/build/256-master
[3]https://github.com/HyukjinKwon/spark-appveyor

I believe the message indicates the same case with the PR 15673 but it seems spurious in this case.

This change seems fine.
If Appveyor is encountering errors regularly, we might consider disabling it, just because it wouldn't be giving useful information if most failures were spurious.

There are three problems with it.

it starts the build when someone merges the latest upstream (not rebases) when pushing more commits in its PR (as the merged one usually has the changes in R) - this case seems fine though because usually it suceeds to build. Also actually I asked this case to AppVeyor but I haven't received the reply.
it sometimes failes to build (it is relatively rare I believe).
it leaves a failure mark on other branches when someone opens a PR from a branch to another branch.

I am neutral because it seems the cases are not often. I may open a JIRA if I incline toward disabling this or please feel free to create a JIRA if anyone feels so. (Let me please cc @shivaram. I would like him to know about this).

Yeah I think it'll be a good idea to know the error rate we hit. @HyukjinKwon It might also be good to create an INFRA ticket to see if we can re-trigger the AppVeyor builds something

@dongjoon-hyun I am sorry for unrelated comments here. All these comments are not related with this PR.
@shivaram Sure, Let me try to create a JIRA. I will cc you. We might be able to talk more there.

Never mind, @HyunjinKwon .
I was also curious about AppVoyer failure. :)

Merged to master

Thank you for merging, @srowen .


chore(land): remove lite-ci checks

Lite CI is not used anymore, but some PRs got Lite-CI runs after some
changes to the bot. node-core-utils Lite-CI parsing is not working
though, therefore ncu will fail to land those PRs. Removing Lite-CI
checks fix the issue and also reduces complexity.
Fix: https://github.com/nodejs/node-core-utils/issues/466

cc @nodejs/node-core-utils
codecov is complaining that we reduced coverage on the changes, which is n/a since this PR just removes code, so we should be good to land with some approvals :)


models: show default LLM first in dropdown

The order we list our models in dotcom.ts is the order it is shown in. I imagine in future we likely want to order these such that LLMs we want to guide users to use are higher up. For now I just moved the default LLM to the top.
Alternatively we should consider making the selected LLM at the top of the dropdown list?
Test Plan: CI
Fixes https://github.com/sourcegraph/cody/issues/3820

Hey I'd love to pair to see how I can manually test this :)

@keegancsmith happy to chat :)

Alternatively we should consider making the selected LLM at the top of the dropdown list?

I think for now this is fine, we plan some larger scale updates to the input soon: https://github.com/sourcegraph/cody/issues/3792

@philipp-spiess this made bigger changes than I expected, but I suppose we had tests that just used the first model hence the need to update?

@keegancsmith Yeah it seems so. This seems reasonable though, one less Claude 2 call to worry about 🧠

Looks like the E2E tests also depend on this 😬 If you want to fix them, I recommend running them with --debug locally so that you can see which selector breaks. Happy to take over from here as well if you want.
cd vscode
pnpm test:e2e --debug -- attribution

Happy to take over from here as well if you want.

You can start worrying, I plan on contributing much more to this repo for the next while :) So I'll fix.

Would it be better to sort the model list inside the UI component instead since the default model could change based on user's last picked model?

Then it wouldn't work in JetBrains though, right? I don't think it's expected in a dropdown that your currently selected option is always up front. I think the first slot should be our recommendation. WDYT?

@philipp-spiess please take a look, the issue seemed to be in the naive way the mock-server decided which message was from the human. I am guessing how we format the message to the mock-server changed when I put opus as the first model.


Adding COMBLE-MIP tutorial

Including notebook for tutorial, as well as supporting script that contains functions and data files needed to run tutorial.

@mgrover1 looks like it is barking at the glob dependency.

this looks great @twjuliano - do you have access to cumulus?

this looks great @twjuliano - do you have access to cumulus?

@mgrover1 thanks! yes, I have access to cumulus

Any chance you could move the files you added here to that data folder on cumulus?
/gpfs/wolf2/arm/atm124/world-shared/arm-summer-school-2024

Mainly just thinking about the size of the gitlog with the large files

@twjuliano thanks for making those changes! Good to merge?

@twjuliano thanks for making those changes! Good to merge?

@mgrover1 I say go for it!


Make sure we redraw the canvas during Turns, Angle changes and MoveTos.

Thanks for the PR, really appreciated, and sorry for the delayed merge, I didn't see a notification and so unfortunately have only just seen it.


Provide documentation on how to transition from Elasticsearch X-Pack security to OpenSearch security.

@scrawfor99 - Is this something we need to document?

HI @hdhalter that is an interesting question....
In theory the Security plugin should be identical up until the OpenSearch 1.0 versions. The problem here is that I am not sure how we can document the process. Really you would need to document just the changes from naming conventions etc. across the two I think.

Since we have not had any requests for this for this documentation for 2 years, I will close this PR. If this is still needed, feel free to reopen.


refactor: change firstName / lastName to fullName single field

Impact: minor
Type: refactor
Component
AddressBook / AddressForm
Breaking changes
None
Testing

See that the Address Book still works correctly now that there is a single fullName field instead of separate firstName and lastName fields

:tada: This PR is included in version 0.45.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@kieckhafer I thought we had decided to use the label "Name" and not "Full Name" for this combined field.
We did decide to use fullName as the field name to correspond with the existing schemas.

@spencern you’re right. Created #330 with the fix.


feat: improve Credential.GenerateBBSSelectiveDisclosure() API

Changed API of Credential.GenerateBBSSelectiveDisclosure(). We do not need to pass BBS+  public key. Instead, we can fetch it from the proof itself (e.g. from verificationMethod field) using DID resolution mechanism.
Improved test coverage.
Added BBS+ examples for VC.

closes #2405
Signed-off-by: Dmitriy Kinoshenko<EMAIL_ADDRESS>

If possible, let's not include the large lock file change in this PR.

If possible, let's not include the large lock file change in this PR.

Sure, it was done by mistake. It's removed from the PR now.


Reorder helper functions in fonts.py, clarify 'times' vs 'times new roman', and clarify 'usepackage{times}' vs 'usepackage{ptm}'

This PR tries to make the font file more transparent.

The functions have been reordered so the helper functions, e.g. font families are at the bottom, and paper font functions are at the top
Font selection functions have been renamed to make clear which fonts they're defining
Neurips and ICML paper use times (instead of Times New Roman), so this has been corrected

Thanks!
(We discussed most of these changes offline, so there is not much to review here.)
So technically, the new behaviour of iclr*() and neurips*() is not backwards-compatible because now they implement times instead of times new roman.
Not that many would notice a big difference between these two fonts, of course... :)


Remove GuzzleHttp\Psr7\str() function

Since guzzle\psr7 has removed the str() function the YousignClient was not able to send request.
Replaced by Message::toString method according to guzzle/psr7#345 then tests passed with no errors.

Cherry picks, thanks

Hey, could you publish a new tag with this fix ? Thanks !

Done. Thanks @aurelien-cd


chore: Release v1.7.10

Promotional PR for release v1.7.10

/ok-to-test sha=91025f9

/ok-to-test sha=505d3a3


Create multiple localhost entries with different stages

Apologizes if this is possible right now but I can't see how to set it up.
My use case is the following:

I've got a Symfony 5+ app that's being deployed via deployer across 3 stages (dev, qa, prod). This is working great.
Now, I'm trying to add the deployer piece into an Ansible playbook
I have my Ansible playbook setup so that it runs on localhost to enable autoscaling

So what I'd like to do with deployer is configure multiple localhost() configurations, one per each stage.
I thought something like this would work:
localhost()
    ->stage('dev')
    ->user('ubuntu')
    ->set('deploy_path', '~/dev-{{application}}');

localhost()
    ->stage('qa')
    ->user('ubuntu')
    ->set('deploy_path', '~/qa-{{application}}');

But it looks like localhost() calls overwrite the previous configuration entry.
Would love any thoughts.
Thanks!

Try giving aliases to your localhosts. localhost(“prod”)

Try giving aliases to your localhosts. localhost(“prod”)

Oh awesome, thanks. Not sure how I missed that!

Oh awesome, thanks. Not sure how I missed that!


Fixed multi-level lists

But we need to rebuild css.

@Windstep any clear examples or screenshot for this PR?

I've opened the issue couple minutes before this PR.
Please refer to 42

Thank you @Windstep for your contribution


Enable OpenSSF Scorecard to enhance security practices across the project

Hi, I'm Harshita. I’m working with CNCF and the Google Open Source Security Team for the GSoC 2024 term. We are collaborating to enhance security practices across various CNCF projects. The goal is to improve security for all CNCF projects by both using OpenSSF Scorecards and implementing its security improvements.
The Open Source Security Foundation (OpenSSF) Scorecard is a tool designed to evaluate the security posture of open-source projects. This has the Scorecard GitHub Action, which automates the process by running security checks on the GitHub repository. By integrating this Action into the repository's workflow, developers can continuously monitor the project’s security posture. The Scorecard checks cover various security best practices and provide scores for multiple categories. Some checks include Code Reviews, Branch Protection, Signed Releases, etc.
The workflow runs on every change in the main branch. It publishes the Scorecard checks' results to the project's security dashboard and includes suggestions on how to solve any issues. This Action has already been adopted by 1800+ projects, with prominent users like Tensorflow, Angular, sos.dev, deps.dev, and many CNCF projects.
Once the Scorecard GitHub Action is set up and running, the results can be displayed as a badge in the repository's README file. This badge serves as a quick indicator of the project's security posture, helping users and contributors evaluate the project's security practices quickly.
Why is this needed:
The OpenSSF Scorecard improves open-source project's security by providing automated, transparent assessments of their security practices. It will help you identify vulnerabilities, adhere to best practices, and continuously enhance your security posture, increasing user trust and reducing the risk of security exploits.
I'll be the one to create the PR to add the scorecard GitHub action, and I will also work with you to remediate the identified vulnerabilities. I'll go through each scorecard check to see where the score has dropped and how it can be improved.
Would you be interested in a PR which adds this Action?
/cc @joycebrum @diogoteles08 @pnacht @nate-double-u

It sounds interesting. My proposal would be to have this implemented in the examples repository, and then document it as a recommendation in this repository here. After that, I think it can be implemented in a real repository. I'll ask on the maintainer's channel who'd be open to having this on their repos.
The example repo I have in mind is this: https://github.com/jpkrohling/otel-sig-security-example-go
Note however that I'm on PTO for the next three weeks, so I might not be able to work with you as much as I'd like to. I'm also not sure what is the availability of @codeboten , our other maintainer.

Has there been any progress on this?


Add rodrigc to extended-choice-parameter

Description
@vimil I would like to get write access to the extended-choice-parameter plugin https://github.com/jenkinsci/extended-choice-parameter-plugin so that I can merge this fix: https://github.com/jenkinsci/extended-choice-parameter-plugin/pull/25
which allows this plugin to be used in a Jenkins Pipeline
On March 6, I sent you a private e-mail to the Yahoo e-mail address listed on your GitHub profile here: https://github.com/vimil
I have not received a response from you, more than 3 weeks later.
I assume at this point, that you have abandoned this plugin.
Submitter checklist for changing permissions
Always

[X] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[X] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[X] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[X] All newly added users have logged in to Artifactory at least once

@rodrigc There's also<EMAIL_ADDRESS>

@vimil Has responded to the gmail address provided.  He has merged my submission and released a new version of the extended-choice plugin.
I have asked vimil to change the e-mail address on his github profile to one that he actually monitors.
In the meantime, since my submission was accepted and released with a new version of the plugin, I am withdrawing my request for write access to this plugin.


WinGet List should only display results from a configured source when the --source argument is used

Description of the new feature / enhancement
When I pass a source into WinGet List the results displayed should only be those available in that source.
Proposed technical implementation details
No response

I just updated to module v 1.7.10661 and can confirm this bug. If I run Get-WingetPackage -source winget I expect to see only winget sourced packages, but I see everything. I can run get-wingetpackage | where source -EQ 'winget', but I would prefer an early filtering option if available.

I have same issiue. Request winget ls -s winget gives me output of all installed apps regardless of the source. And not just the ones from the winget source


.travis.yml: Fix Travis build

For short term contributors: we understand that getting your commits well
defined like we require is a hard task and takes some learning. If you
look to help without wanting to contribute long term there's no need
for you to learn this. Just drop us a message and we'll take care of brushing
up your stuff for merge!
Fixes #{ISSUE_NUMBER}
By submitting this pull request I confirm I've read and complied with the
below declarations.

[ ] I have read the Contribution guidelines and I am confident that my PR reflects them.
[ ] I have followed the commit guidelines for this project.
[ ] My code follows the standard code structure.
[ ] This pull request has a descriptive title. For example, {Tag}: Add {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[ ] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.
[ ] This pull request shall only be reviewed and merged once all the checks passes. No maintainer or supporter shall be obliged to review it before this condition is met.
[ ] I have mentioned the issue number correctly (with hyperlink) in this pull request description.

After you submit your pull request, DO NOT click the 'Update Branch' button.

Hey @sangamcse,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: a5e212c0-e4de-11e9-950a-c74496fc22d4

Hey @sangamcse,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: 064c77c0-e4e1-11e9-950a-c74496fc22d4

Hey @sangamcse,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: c732a3b0-e4e1-11e9-950a-c74496fc22d4

Hey @sangamcse,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: e97c88c0-e4e4-11e9-950a-c74496fc22d4


Demonstrate reading files directly.

When I first tried to use this project, I had a similar issue as https://github.com/rakyll/statik/issues/82
I wasn't able to find the files I'd added. I tried without it hello.txt, then I tried /public/hello.txt, then I tried a full package name, then I tried /statik/hello.txt, the full package name, and then went reading the code.
This pull request just updates the documentation and example to include an example of reading a single file.

Thanks @a-h for this. For the sake of clarity, would you separate the single file content example from the web one (in README)? also maybe it is not worth to include in the example code but just in the README?

I've updated the PR with your suggestions. Thanks!


items, keys, values (pairs support)

The problem currently is that pairs doesn't work with fun, because it returns the key and value instead of key(state), key, value.
This means there is no way to iterate over sparse arrays and mixed tables.
I'd propose adding an items(tbl) iterator that works with a modified pairs to return all key, value pairs in the table. Likewise values() which can easily be defined as iter(pairs(tbl)). keys is maybe not needed because you can just ignore the value from items().
In moonscript:
items = (tbl) ->
    gen = (param, state) ->
          k, v = next param, state
          return k, k, v

    return iter gen, tbl, nil

values = (tbl) -> iter pairs(tbl)

What do you guys think?

Fixed long time ago.


Is the GPU being used?

Hello, I tried running your test program on Google Colab using a T4 GPU and noticed that the GPU ram would always stay at 0. Do you know if this is the expected behavior? Here's the code I was using. I modified the context win size to something larger:
import torch
from ring_attention_pytorch import RingAttention
attn = RingAttention(
dim = 256,
dim_head = 4,
heads = 32,
bucket_size = 256,
causal = True,
auto_shard_seq = True,
ring_attn = True,
ring_seq_size = 256
)
tokens = torch.randn(1, 25000, 256)
attended = attn(tokens)
assert attended.shape == tokens.shape

oh, you need to move the model and the input onto the CUDA device with a .cuda()


How to use it for WebDriverIO

Can this AI be used for the Webdriver IO? If yes, can we get a template of the integration of this AI?

Hi @ShyamLSQ, ZeroStep is only supported for Playwright running on a JavaScript runtime (e.g. NodeJS). Support for other testing libraries (Selenium / WebDriver, Cypress, etc) is not supported.


366 - Changing text color to grey

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--cn-website--netcentric.hlx.page/
After: https://366-default-text-color--cn-website--netcentric.hlx.page/what-we-do

@mihai-buricea-net and @tomasznetcentric could you please check this?

Looks good during testing.


Move findOne projection tests to compat tests

What should be done?
Create compat test for FindOne query.
Move TestQueryProjectionSlice to compat test.
Ensure https://github.com/FerretDB/FerretDB/issues/1569 is fixed before starting this.
Where?
https://github.com/FerretDB/FerretDB/blob/51c305bd5ae6dfc50d50460ef36c6daa91a282e1/integration/query_projection_test.go#L146

TestQueryProjectionSlice test was removed due to removing projection operators in https://github.com/FerretDB/FerretDB/issues/1691
There isn't a test that can be benefit from FindOne query. Closing this issue


Why ExtensionLoaderCoordinator.SortExtensionProbeEntries  return a list

ExtensionLoaderCoordinator.cs:
        return firstNonEmptyGroup
            .OrderByDescending(probe => GetVirtualPathDepedenciesModificationTimeUtc(virtualPathModficationDates, probe))
            .ThenBy(probe => probe.Loader.Order)
            .ToList();

why not:
return firstNonEmptyGroup
.OrderByDescending(probe => GetVirtualPathDepedenciesModificationTimeUtc(virtualPathModficationDates, probe)).First()
can explain it to me? Thank you。

If your issue is that the name firstNonEmptyGroup doesn't convey the notion of a list of items, then maybe we should change it. Or is there another issue in the code?

@sebastienros  Thank you for your answer, there is no other issue, I just think it can returns the first loader.


Allow int<1>: fix for issue #668

This allows the type int<1> and adds slices for signed values.
@jafingerhut : you have claimed this issue, but I wanted to discuss this next Monday so I took over.

I can be fine with this.

I do not have a strong preference for whether the results are of type bit<W> or int<W>, but it seems like too many angels dancing on the head of a pin if it were defined as sometimes bit<W>, sometimes int<W>, depending upon the bit range in the slice operator.  Please let us not do that.

I agree with @jafingerhut's sentiment that having the result be sometimes bit<W> and sometimes intwill just cause confusion. My preference forbitoverintis a strong one, but I could be convinced ofintif there is a common use case for wantingint`.

I will then go ahead and merge this change.


Upgrade to Terraform AWS Provider 4

User Story
As a Modernisation Platform Engineer
I want to refactor our code to be compliant with V4 of the Hashicorp AWS Terraform Provider
So that we are using the most up-to-date version of the provider, keeping us in line with available bugfixes and enhancements
Value
Version 4 of the AWS provider is out, our pipelines will start using this version and there are some breaking changes.  We need to refactor for this.
We may also want to document our process for conducting this upgrade.
Questions / Assumptions
This ticket does not include member accounts
Definition of done

[x] readme has been updated
[x] user docs have been updated
[x] another team member has reviewed
[x] tests are green

Reference
How to write good user stories

I'll pick this one up (as I've already done some V4 work!)

https://github.com/ministryofjustice/modernisation-platform-terraform-s3-bucket/pull/20 <- PR to upgrade downstream repo

Solved with PR #1494

Came back and added some clarification to the readme for the modernisation-platform-terraform-s3-bucket module. Will want to revisit some of this as BAU when resources / data calls become deprecated


[gardening] Fix two recently introduced typos

Fix two recently introduced typos

@swift-ci please smoke test and merge


cleanup manipulation of CQ/Cohort resource accounting in tests

What would you like to be cleaned:
We sometimes manipulate the internal accounting of ClusterQueue and Cohort snapshots. This is brittle. Quota/Lending Limit/Borrowing Limit/Usage should be set by calling public api methods, or by defining the CQs/Cohorts via API objects, adding to cache, and creating snapshot (see #2486 for an example).
See this thread https://github.com/kubernetes-sigs/kueue/pull/2486#discussion_r1658747058
Why is this needed:
Tests are brittle, and make cache/snapshot hard to update

Also https://github.com/kubernetes-sigs/kueue/pull/2486#discussion_r1658976669

We also test against internal state of usage/quotas/limits. I will link those cleanup PRs to this issue as well.

[ ] clusterqueue_test.go
[ ] flavorassigner_test.go

These are the (hopefully) last two remaining. See https://github.com/kubernetes-sigs/kueue/pull/2583 for a complete example of refactoring test, changing ClusterQueueSnapshot to API type, and representing cohort capacity/usage via use of a 2nd cluster queue.

Thanks for helping with the cleanup, @highpon! Will you also be fixing flavorassigner_test.go?

Yes! I would love to work with you on flavorassigner_test.go as well!

Hi @highpon, will you still cleanup flavorassigner_test.go? If not, I will see if @vladikkuzn can work on it

@gabesaba
Sorry for the delay in responding!
I have now refactored the file up to the halfway point.
Three tests are failing. After fixing them, I will change the PR from Draft to Open.

Discussed over Slack with @highpon. @vladikkuzn, could you complete the remaining cleanup please?
/assign @vladikkuzn

/assign

@gabesaba can we close this issue now?

@gabesaba can we close this issue now?

Missed this message when OOO. Yes, we can close it. Thank you for the cleanup!
/close


display in a popup when double clicking a word with a modifier key

i want to get rid of anything google/fb/etc from my life, and i'm looking for a replacement for the Google Dictionary extension for chromium.
the feature i'm looking for: when SHIFT is pressed while double clicking a word, then a popup shows the english definition of the clicked word.
i know that it's not a trivial feature, but please consider adding it.

@attila-lendvai Check out v0.2.0 .
You can toggle popup mode with Alt+W and then it works just like Google Dictionary.


Drain excess credits when using sessions to ensure FIFO

Fixes https://github.com/Azure/azure-sdk-for-net/issues/35846
Considered using an optional parameter, but FIFO ordering is a core guarantee of using sessions so this really should be treated as a bug that should be fixed.

API change check
API changes are not detected in this pull request.

azp run net - servicebus - tests

azp run net - servicebus - tests

/azp run net - servicebus - tests

/azp run net - servicebus - tests


Added TurkishMMLU to LM Evaluation Harness

In this pull request, I would like to add our work TurkishMMLU: Measuring Massive Multitask Language Understanding in Turkish to LM Evaluation Harness.
You can find the details of our work in our repository:
https://github.com/ArdaYueksel/TurkishMMLU
Also, our dataset is made available in HuggingFace: https://huggingface.co/datasets/AYueksel/TurkishMMLU
Key Features:

MMLU variant in Turkish Language
Has a separate Development Set.
Chain-of-Thought Configuration is available.

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

Test failures unrelated.


Fix inability to submit password in Firefox

@markmhx  last week or so you asked about an infinite spinner when attempting to log into the web wallet which was reported by a user in one of our channels.
I see this on the initial download of the web wallet in FF, I am guessing that I had a previous version of the wallet installed and when I downloaded the latest version it was installed but opened locked showing the lock screen below. Then it prompted me for a password to unlock the wallet and an infinite spinner appeared.

I cannot reproduce this in chrome
new downloads go right to this page

The work around in FF is clicking the sign out button if you encounter this issue
Then the locked screen works as expected.

Are you able to reliably replicate this issue, @timstackblock. I'm struggling to.

I think the sequence that you explained happens naturally in FF when someone downloads the new version of the wallet if there are remnants of the old version still connected to the browser.
In Chrome I can run 2 versions of the extension side by side without an issue, chrome treats the new version and the old version as separate extensions. I usually delete the old version but I noticed this while installing the new version of the extension on a different machine I hadn't use in a a while.

Chrome I can run 2 versions of the extension side by side without an issue

Is that so? 🤔  We have a separate dev version, but you should only be able to run 1 production, and 1 dev instance at the same time.
I have a feeling this issue is something the same as this bug report https://bugzilla.mozilla.org/show_bug.cgi?id=1643186. There's some behaviour that happens on extension update, that likely needs to be handled.

Yes thats what I was referring to the dev version I loaded manually and the prod version I downloaded they can both run at the same time without issue in chrome.

@markmhx this issue is unrelated to slow performance. This is a case of it being completely broken.

I also have this issue, some details:

FF 95.0 (64-bit) on M1 Mac
Extension 2.23.2 (but had the issue with older versions as well)

When I had the issue it kept on spinning after entering the password. I tried at least 10 times. Opening and closing FF didn't make a difference.
A message in the console: Content Security Policy: Ignoring “'unsafe-inline'” within script-src or style-src: nonce-source or hash-source specified.
I resolved it by logging out of the wallet, entering the HD wallet phrase again. This time no more problems. After closing/opening FF still no problems.
10 minutes later after another FF close/open the problem is back...
Recreating the wallet solves it again.

I have tried to repro this but can't so far. Will keep trying.

Per request by @kyranjamie a screen video. I can reproduce it very easy and the spinner goes on forever. The only way to resolve it for me it to close/open FF a couple of times and get lucky.
No errors or warnings in the console.
https://user-images.githubusercontent.com/1078320/145705914-743fe73e-d044-473e-93b8-0c22fe8b1d73.mov
Let me know if I can do anything else.

@pors Is this still an active issue for you?

Yes it is. I stopped using it with FF for this reason, but also with version v3.7.2 it loads forever after entering my password. The only way to get it to log in is to "Sign out" and recreate the wallet with the phrase.
Maybe it has to do with my weird password *a._x4FUEVaiva*? (I changed it now :))


'id' is a reserved keyword error

I have this error 'id' is a reserved keyword and cannot be used as attribute name in type 'people'
I understand that it does not like ID as attribute name. Why is that so? Does anywhere in specs say so?
I know that type cannot have name 'id' or 'type' but is that a limitation even in attributes? And what about the Post for example with ID named id?
I'm confused as to what should I do next.
TIA.

I see unsetting it returns it anyway. What is happening?

The spec prohibits it

In other words, a resource can not have an attribute and relationship with the same name, nor can it have an attribute or relationship named type or id.


Code Compilation Verification

We need to restrict the eval command in the bot to those who are verified, but to implement that, we must add a verification system, let's take the example of altdentifier verification and like that maybe and verify, currently it's restricted to owners only.

It is still pretty dangerous to grant access to eval to anyone outside trusted users (staff members, etc..). We need to make sure that eval is running in a safe environment to prevent things like:
Infinite loops
while True:
    print("hi")

These could run forever and take up computing power
This could probably be solved with a time limit on code execution
Unsafe file manipulation
with open("main.py", "w") as f:
    f.write("")

This would effectively rewrite our main.py file to ""
import os
os.remove("main.py")

This would delete main.py file completely.

Hello, I have some question about the actual implementation of the verification system, did you make any updates on it? Or it's still in the backlog?
I don't mind writing it and implementing it.
About the eval command, the first thing going out of my head is running the eval on a docker that you'll start/stop on demand, shouldn't be that demanding performance wise (alpine + python for example)

@Sonipn the verification wasn't implemented yet and it is not currently being worked on, you can take it up if you feel like doing it.
About the eval, even though it will only run in docker, I'm still not a huge fan of eval as it can still be quite dangerous, there might be an exploit to docker itself which with this kind of execution would be a huge problem, I don't think it's worth the risk until we know for sure that the input to eval is fully sanitized. What we could do is use some external API to compile the code in eval for us instead.

Not sure whether this is applicable here, but the python discord bot uses this custom sandbox (here) to run their eval command

@therealdaneel yes, the something like python-discord's snekbox would be an option but it will take a while to develop something like that


Source for 4.c.1

Old GIF provides a value but doesn't list or mention a source. Reason for this is provided in a footnote:

In the public provincial and territorial systems in Canada; 100% of teachers have received at least the minimum organized teacher training, as these education systems are highly regulated. Thus, by definition, teachers in the system must meet these requirements in order to teach within that system. No information on private schools are available.

[x] Populate indicator page with footnote and mark as reported

done in https://github.com/sdg-data-canada-odd-donnees/sdg-data-donnees-odd/commit/12a4f327467b71c12ad87b5458de2c9d0018a9d7


Request for Migration to reqwest ^0.12.0 in google-cloud-storage Dependency

I'm reaching out regarding the google-cloud-storage crate, specifically its dependency on reqwest. Currently, the crate relies on reqwest version ^0.11.0.
However, there is a need for compatibility with reqwest version 0.12.0 in my crate.
Would it be possible for you to consider migrating the google-cloud-storage crate to use reqwest version 0.12.0 in an upcoming release? I understand that this may involve some effort, and I am willing to assist in any way I can, whether it's testing, providing feedback, or contributing code changes.

It is our policy to use the latest versions of dependent libraries. Therefore, even if compatibility is broken, we will update to the latest version upon request.
We welcome updates to reqwest, as you have requested 0.12.


lxd: Fix handling of images in projects with features.images=false

All projects with features.images=false can use all images added to the "default" project.
If these projects also have features.profiles=true, their default profiles should be associated
with all created images, otherwise
Error: Failed instance creation: Failed creating
instance record: Failed initialising instance: Failed getting root disk: No root device could be found

will arise on attempt to create an instance from this image inside all projects (with features.images=false and
features.profiles=true) except "default" and the project the image was created from.
The same error will take place when features.images option changes from true to false.
Both of these cases was fixed.

This pull request didn't trigger Jenkins as its author isn't in the allow list.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

jenkins: test this please

The static analysis is failing but I'm not sure why.

Please can you add a test for this into tests/project.sh?
Thanks!

If you rebase on master that should fix the static analysis failures.

jenkins: test this please

Sorry, had to push one more time to make static analyser happy (removed trailing spaces).

Thanks!


Add C implementation for @stdlib/math/base/special/erf

Resolves #647.
Checklist

[x] update readme.md
[x] include.gypi
[x] binding.gyp
[x] include/stdlib/math/base/special/
[x] evalpoly.js
[x] src
[x] manifest.json
[x] lib
[x] examples
[x] benchmark
[x] test

@kgryte

All tests and benchmarks cleared, this PR can have a final review :)


Query Codeblocks

Many plugins use codeblocks for rendering content on Obsidian. Namely Admonition.
It would be nice to have a feature to query the codeblocks into a list as to list the rendered content of the codeblocks of all admonitions, or say all the codeblocks of java or html.

Parsing codeblocks sounds hairy since it would need to be done by hand. Can you demonstrate your use case with an example?

Say I have all these code blocks, could we have a way to make a list and preview all the ones that meet the condition, say display only the admonitions and not the Verilog code?

You do have a point. You can write some JS to manually parse these pages after reading their content and then query your own index. Several other users have done so as well. In terms of plugin level support, I don't think anything similar is planned for the short term but blacksmithgu will know better.

Thank you for your response. Can you please share an example of parsing
those code blocks using JS. A link to one of those would be extremely
helpful.
Thanks & Regards,
Ujwal N.K.
On Sun, Oct 9, 2022 at 9:37 PM AB1908 @.***> wrote:

You do have a point. You can write some JS to manually parse these pages
after reading their content and then query your own index. Several other
users have done so as well. In terms of plugin level support, I don't think
anything similar is planned for the short term but blacksmithgu will know
better.
—
Reply to this email directly, view it on GitHub
https://github.com/blacksmithgu/obsidian-dataview/issues/1391#issuecomment-1272574070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEJMGVZ5WMYEAN5Z2GXOFELWCLUVXANCNFSM6AAAAAAQC2FADA
.
You are receiving this because you authored the thread.Message ID:
@.***>

The obsidian index tracks codeblock locations so this is indexable information. The actual contents of the codeblocks will need to be fetched separately but that is doable.

Oh that's fantastic. I need to double check metadataCache contents before confidently replying lol.


Error when reading json array file?

Specifically, this file https://github.com/statsbomb/open-data/blob/master/data/competitions.json
The file is formatted as a json array, and I would like to read the file in a streaming fashion.
When opening the file with:
      json.readJsonAs(path)
        .tap(foo => ZIO.logInfo(foo.asArray.toString))
        .runCount

The entire file is read into a a single item, a json list (instead of providing a stream of each item in the list).
It also throws this error, but seems to recover from it:
22:58:34.586 [zio-default-blocking-2] DEBUG zio.json.JsonDecoderPlatformSpecific -- timestamp=2024-02-22T22:58:34.583386+01:00 level=DEBUG thread=zio-fiber-7 message="Fiber zio-fiber-7 did not handle an error" cause=
zio.json.internal.UnexpectedEnd: if you see this a dev made a mistake using OneCharReader

When trying this to read the file as a Stream[Competition]
      ZStream
        .fromPath(path.toPath)
        .via(
          ZPipeline.utf8Decode >>>
            stringToChars >>>
            JsonDecoder[Competition].decodeJsonPipeline(JsonStreamDelimiter.Array)
        )
        .runCount

I get a StackOverflowError
23:00:26.273 [ZScheduler-Worker-9] DEBUG foo.bar.Main.run -- timestamp=2024-02-22T23:00:26.271057+01:00 level=DEBUG thread=zio-fiber-5 message="Fiber zio-fiber-5 did not handle an error" cause=
java.lang.StackOverflowError: null

The stack points directly to the derived Competition class json codec.
Class and codec:
    case class Competition(
        competition_id: Option[Int],
        season_id: Option[Int],
        country_name: Option[String],
        competition_name: Option[String],
        competition_gender: Option[String],
        competition_youth: Option[Boolean],
        competition_international: Option[Boolean],
        season_name: Option[String],
        match_updated: Option[String],
        match_available: Option[String]
    )

    object Competition {
      implicit val decoder: JsonDecoder[Competition] = DeriveJsonDecoder.gen[Competition]
    }

ZIO-json version:
0.6.2

/bounty $100

@SimunKaracic , I cannot reproduce this error, either in tests or in the main class as you mentioned. Could you share the whole Main.scala file by any chance, as well as all relevant environment details regarding your platform, scala version, and zio version (thanks for mentioning the zio json version!).

I am also not able to reproduce the bug anymore, as I threw away the original exploratory code.
I guess it would still be nice if we had something like this in zio-json, to support loading JSON arrays from files:
  def readJsonArrayAs[T: JsonDecoder](path: Path): ZStream[Any, Throwable, T] = {
    ZStream
      .fromPath(path)
      .via(
        ZPipeline.utf8Decode >>>
          stringToChars >>>
          JsonDecoder[T].decodeJsonPipeline(JsonStreamDelimiter.Array)
      )
  }

My attempt at reproducing the bug (also tried lowering versions of scala, but it didn't help):
build.sbt
ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "3.4.2"

lazy val root = (project in file("."))
  .settings(
    name := "zio-json-reproduce",
    libraryDependencies ++= Seq(
      "dev.zio" %% "zio" % "2.1.5",
      "dev.zio" %% "zio-json" % "0.6.2"
    )
  )

Main.scala:
import zio.*
import zio.json.*
import zio.stream.*

import java.nio.file.{Path, Paths}

object Main extends ZIOAppDefault {

  case class Competition(
                          competition_id: Int,
                          season_id: Int,
                          country_name: String,
                          competition_name: String,
                          competition_gender: String,
                          competition_youth: Boolean,
                          competition_international: Boolean,
                          season_name: String,
                          match_updated: Option[String],
                          match_available: String
                        )

  object Competition {
    implicit val decoder: JsonDecoder[Competition] = DeriveJsonDecoder.gen[Competition]
  }

  private def stringToChars: ZPipeline[Any, Nothing, String, Char] =
    ZPipeline.mapChunks[String, Char](_.flatMap(_.toCharArray))

  val path = "competitions.json"
  val loadsWholeFileIntoArray: ZIO[Any, Throwable, Long] = json.readJsonAs(path)
    .runCount

  def readJsonArrayAs[T: JsonDecoder](path: Path): ZStream[Any, Throwable, T] = {
    ZStream
      .fromPath(path)
      .via(
        ZPipeline.utf8Decode >>>
          stringToChars >>>
          JsonDecoder[T].decodeJsonPipeline(JsonStreamDelimiter.Array)
      )
  }

  val iteratesThroughArrayOneByOne =  readJsonArrayAs(Paths.get(path)).runCount

  override def run: ZIO[Any with ZIOAppArgs with Scope, Any, Any] = {
    loadsWholeFileIntoArray.flatMap { c =>
      ZIO.logInfo(s"Array count: ${c}")
    } *> iteratesThroughArrayOneByOne.flatMap { c => ZIO.logInfo(s"Items inside array count: ${c}") }
  }
}


keepassxc: Update to 2.7.0 and remove 32bit support

Relates to Versions#461 and keepassxc official

Keepassxc 32-bit Windows is no longer supported after v2.6.6, please download keepassxc-legacy from Version bucket.

[x] I have read the Contributing Guide.

/verify


Metadata format not cleanly compatible with A1111

Your node saves metadata in the a1111 format as i understand. But there is a simple issue breaking for example my node which provides the capability to read from images in comfy. A uppercase "S" where a lowercase "s" is necessary for 100% compatiblity.
You save: CFG Scale: {cfg}
But A1111 saves: CFG scale: {cfg}

I fixed this in my fork which is available in the Manager as "ComfyUI Image Saver".


Support  JavaScript ISO time custom format

For %current_date% Placeholder,I hope to use 2023.02.24 instead of 24 Feb 2023
like placeholderapi: %server_time_yy.MM.dd HH:mm:ss%
Because in China, the format of 24 Feb 2023 is not common

Closed in #197 (we now supply individual placeholders for each time unit)


Automatically resize for 16:9 aspect

16:9 is the ideal for posting to twitter due to cropping, would be nice if there was a "Make 16:9" button that would resize the background or padding so the exported image would crop nicely on twitter

Ah this is a great idea! Thanks @swanson -- definitely going to implement this 👍

Implemented! 👍


[fix] Fix build

Follow up: https://github.com/sveltejs/kit/pull/4235
The latest release was failed due to some build configuration.
So I tried to fix it.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Can you try to merge it @Conduitry

Is every project going to need devalue? I don't think that would be a good situation
I'm guessing the need for it might be related to this: https://github.com/sveltejs/kit/pull/3942#issuecomment-1041622382

@benmccann devalue is only needed, I believe, because of the changes in https://github.com/sveltejs/kit/pull/4221/commits/ab4ef9cf5130bb30169e60444331352365f68ba6 - I wouldn't say no to reverting those as well, because it's clearly not the proper solution. (I'm not even sure whether Rich intended that to be part of the final PR.)

It would be nice to get rid of devalue if we can, so this problem doesn't pop up. The rationale behind ab4ef9cf5130bb30169e60444331352365f68ba6 was to make it easier to debug Kit while working on kit.svelte.dev, and I do think there's some value in preserving that — definitely wouldn't be upset if we decided against it but for now I reckon I'll merge this so that things are at least working again

@Rich-Harris thanks for merging that

@Rich-Harris I think you need to rerun that action that failed previously.
not sure thought

Maybe should we swap (rebase) latest 2 commits for releasing?

Latest build doesn't run
pnpm run build

ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'C:\Users\Administrator\Documents\client\package.json' contains "type": "module". To treat
it as a CommonJS script, rename it to use the '.cjs' file extension.


Fix variable names.

It fix for #6 PR
I will create test cases negative test cases, to catch such errors in future.

IMHO strict mode really helps to prevent such mistakes.
It makes JS more "safe", I personally use it in all my projects.
If you agree, I can make one PR for all files.

SGTM. FYI it looks like https://www.npmjs.com/package/strict-mode might
help.
I've been learning node on the fly, so all this is super helpful. Thanks
for the pointers!
Bobby Brennan
<EMAIL_ADDRESS>On Tue, May 19, 2015 at 2:08 PM, IvanGoncharov<EMAIL_ADDRESS>wrote:

IMHO strict mode http://www.w3schools.com/js/js_strict.asp really helps
to prevent such mistakes.
It makes JS more "safe", I personally use it in all my projects.
If you agree, I can make one PR for all files.
—
Reply to this email directly or view it on GitHub
https://github.com/lucybot/api-spec-converter/pull/8#issuecomment-103617397
.

I'm also C/C++ programmer, specialized in network equipment(firmware for switches/routers).
And have only couple of months experience with JS, so you should check all my suggestion :)

By the way, "strict mode" + "lodash" makes JS very similar to Python.
Which is by far my favorite language, and that explains my "code style" :smile:

I read about strict-mode package and IMHO it's looks to invasive.
It force strict mode for all npm packages that you use.
You can work around with clever tricks, see this issue
But I think it's to high price for saving one line per file.


No mention of mySQL/postgreSQL username/password

I think it should be mentioned somewhere in the readme or in the guides that we need to use
mysql -uroot -proot

to login to mysql. Ideally, it should be in this guide, in 5.7.4 Testing Active Record before mentioning create database activerecord_unittest

The login/password for MySQL are root/root

@fxn this makes sense to add to README or can we close this?

The guide points to the config file where credentials are stored for the test databases. I believe that is enough because the guide cannot assume how did you set things up.
Credentials specific for the dev box could go to the README, saying that MySQL can be used with rails without password, and that vagrant is a PostgreSQL superuser (so no need for credentials).
For that to be useful, the rails user in MySQL should have permissions to manage databases. We can add that to bootstrap.sh. Better than document root/root for apps, and rails for tests I think.
@sobrinho would you like to work on it?

@fxn sure, I will open a PR.


Added new dimension "Session Type"

Added new "Session Type" dimension, allowing calls to be sorted by meeting (Conf) or peer-to-peer (P2P) in CQD. Hitting PROD shortly.

I will approve this Thursday afternoon, 22 April 2021. This should not publish before that time.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

Be advised that a new commit has been added. Publishing timeline per @MicrosoftHeidi stands.


Which Kernel Exploit is more reliable?

EL, MP or AW? It is defaulted to EL on mine.

AW > MP > EL

But it is not changeable. I installed it from ignition and it is defaulted to EL.


[EV-1873] Add volume mount with the TLS key pair to queryserver conta…

…iner def.
Description

The PR aims to add a new volume mount to the queryserver container within the apiserver deployment. The volume mount contains the path to the tls key pair for both standalone and management clusters.
For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

Now that queryserver has authentication, do we also need tokenreviews api permissions?


'A fatal javascript error occured' after latest update

I'm getting this error right after trying to installing the latest update
https://i.imgur.com/azPEaCQ.png
any ideas?

Completely uninstall and reinstall Discord (by deleting its folders from AppData/Local and AppData/Roaming), then reinstall BandagedBD. That worked for me when I was having this issue.

would that make me lose all my settings, themes, custom css, etc? or are they stored somewhere else?

Update Discord too as the number in that link should have 301 in it not 300 so this might be part of reason of the error message you get

This fixed it for me, all i had to do was install the discord update and now it works as normal, thanks!


Text Slider Animation

Is your feature request related to a problem? Please describe.
It is a text slider animation that fills color to the text by sliding to right. It can be used as a template for websites.
Describe the solution you'd like
It is built using HTML and CSS

@Ayush7614 I would like to work on this as a part of HCSSoC'21

@Ayush7614 Can i start working?

Already we have


[GLUTEN-2582][CH] Bug fix crash problem in array/map<key, struct>/element_at query

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #2582 #2641)
relay on pr: https://github.com/Kyligence/ClickHouse/pull/457
How was this patch tested?
UT
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@KevinyhZou you need update clickhouse.version, the commit id is  461c7a0bf12


Auto-complete list colours

With the VS Code 1.57.0 update, the default item on the auto-complete list has some of its characters coloured black on a grey background, making the item hard to read - see the attached screenshot.  Maybe some new colour setting has been added, which needs to be set appropriately.

Hi @NorthNick , thanks for the bug report.
It does seem that the latest VSCode update has added some new colours. I am working on an update that I will try and get out shortly. If this is really bothering you and time is of the essence, it is possible to override these colours in your settings.json

@NorthNick I have released v0.0.7 with a fix. It works in JavaScript but I'de like to get confirmation from you that its resolved for PHP before closing off here.

Looks great in PHP. Many thanks for sorting it so quickly.


MetaData Capture during translation

Hello Team ,
We are trying to build this solution to a customer on their call center.  one challenge we observed is metadata is missing and we are getting all files as same date after transcribing by running this solution. Just wanted your help and tips on how we can hold metadata and get that metadata in SQL tables so we can build dash boards based on dates or weeks to understand the sentiment analysis. Please let us know if there is a way we can achieve this.
Thanks
Mahesh

Unfortunately you have not provided enough information for us to be able help you.

What Cognitive Speech services are you using?
What metadata are you looking for?
What is the minimum code that reproduces the issue you are seeing?

Hello Team,
I am using the batch ingestion client ARM template given in the repository.
After getting the results in SQL database I don't see any column called
date or last modified date for the files. It's generating hash Id which
becomes difficult in building a dashboard based on daily call data or
weekly data to analyse sentiment.
Please let me know what to do.
Thanks
Mahesh
On Thu, 8 Apr, 2021, 4:32 am Ralph, @.***> wrote:

Unfortunately you have not provided enough information for us to be able
help you.

What Cognitive Speech services are you using?
What metadata are you looking for?
What is the minimum code that reproduces the issue you are seeing?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1032#issuecomment-815315294,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKRRSI72BKFVH57G2BJRANLTHTQA7ANCNFSM42QED7XA
.

@HenryvanderVegte Could you please help Mahesh?

Hi Mahesh,
in the Table called "Transcriptions" you will find the info you are looking for. It contains Name (which is the name of the audio file on storage) as well as SourceUri and Timestamp. I think the timestamp is what you are looking for.
Regarding the metadata: Our solution only works with the audio file, so we don't process custom metadata at all. If you'd like to ingest metadata into the database, you'd need to change the database schema. You could do the mapping between metadata and the audio file based on the Name in the Transcriptions table.
I hope this answers your question.
Thanks!
Henry

Hello Henry,
Thank you for the information. In the transcription table time stamp is the
time at which the transcription occurred. Even we have 30 files all files
are getting same time stamp.
I was looking for a solution that can capture metadata from azure blob and
preserve it in SQL database, please let me know what code changes do I
need to make.
Thanks
Mahesh
On Thu, 8 Apr, 2021, 4:27 pm Henry van der Vegte, @.***>
wrote:

Hi Mahesh,
in the Table called "Transcriptions" you will find the info you are
looking for. It contains Name (which is the name of the audio file on
storage) as well as SourceUri and Timestamp. I think the timestamp is what
you are looking for.
Regarding the metadata: Our solution only works with the audio file, so we
don't process custom metadata at all. If you'd like to ingest metadata into
the database, you'd need to change the database schema. You could do the
mapping between metadata and the audio file based on the Name in the
Transcriptions table.
I hope this answers your question.
Thanks!
Henry
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1032#issuecomment-815665301,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKRRSI7JICLYNEJ5BYWHPSDTHWDZFANCNFSM42QED7XA
.

Hi Mahesh,
yes, that is the timestamp when the ingestion client is submitting the job - and this is happening every 2 minutes. So if you're uploading files over weeks you can create your sentiment dashboard with a granularity of 2 mins.
Capturing metadata from blob is definitely possible, but requires a bit of work. In theory, you could use an Azure Function to how we process audio data.
I'd have a look at the following guides to process blob events (or service bus messages):
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=csharp
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus-trigger?tabs=csharp
If you'd like to have a look at how we process the events in the solution, I'd advise you to start here:
https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/batch/batch-ingestion-client/StartTranscriptionByTimer/StartTranscriptionByTimer.cs
and this is where we write transcription results to the database:
https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/batch/batch-ingestion-client/Connector/DatabaseConnector.cs
Thanks!
Henry

Thanks, I'll check it out.
On Thu, 8 Apr, 2021, 4:57 pm Henry van der Vegte, @.***>
wrote:

Hi Mahesh,
yes, that is the timestamp when the ingestion client is submitting the job

and this is happening every 2 minutes. So if you're uploading files over
weeks you can create your sentiment dashboard with a granularity of 2 mins.

Capturing metadata from blob is definitely possible, but requires a bit of
work. In theory, you could use an Azure Function to how we process audio
data.
I'd have a look at the following guides to process blob events (or service
bus messages):
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=csharp
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus-trigger?tabs=csharp
If you'd like to have a look at how we process the events in the solution,
I'd advise you to start here:
https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/batch/batch-ingestion-client/StartTranscriptionByTimer/StartTranscriptionByTimer.cs
and this is where we write transcription results to the database:
https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/batch/batch-ingestion-client/Connector/DatabaseConnector.cs
Thanks!
Henry
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1032#issuecomment-815685911,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKRRSI3EV3WMJYIJVNUJKNTTHWHJLANCNFSM42QED7XA
.


Predict animations for all Modal variants

Description
There are several types of modal variants. The goal of this task is to define the animations of the content and do the hand-off to the dev team
Acceptance Criteria

[x] Define the animations of the modal contents
[x] Define a common language for the different types
[ ] Predict how the user can close a modal that can be closed (X?), including its animation

Based on the review, what's missing is the close animation.

Hello team!
Here are the animations for the modal "structure", already considered the entrance and close, for both half and wide layout, these are following the same treatments and also I've tried to reverse the animation when closing to help with the implementation constrains. If needed these could be revisited afterwards, but I'd say they're good at least for the MVP.

Modal Entrance to Full
<EMAIL_ADDRESS>

Modal Close (half)
https://drive.google.com/open?id=1vlNYwfqKeBOnu-7drmhtkJfxAHAusdQU

Modal Close (wide)
https://drive.google.com/open?id=1v_yP30kP4bN6N4wRO2KBPZ9kEbt6DY6s

Modal Half Bordered to Wide
https://drive.google.com/open?id=1vbBxN2BI-7VZZrMENpl3dg8tX0bUlZ4W

@satazor @PedroMiguelSS @dominguesgm
Thank you!


Jetty 9.4.25

Upgrade to Upgrade to jetty 9.4.5 and update deprecated --add-to-startd
This resolves the docker build issue for startd:
DOWNLOAD: https://raw.githubusercontent.com/eclipse/jetty.project/master/jetty-server/src/test/config/etc/keystore?id=master to ${jetty.base}/etc/keystore java.io.IOException: URL GET Failure [404/Not Found] on https://raw.githubusercontent.com/eclipse/jetty.project/master/jetty-server/src/test/config/etc/keystore?id=master

Meant to open this on a local fork.