Parsing log levels - variable representations

It would be useful to improve the ParseLogLevel() logic to include strings of any case, including numerical representations of log levels.
A possible implementation could be:
func ParseLogLevel(l string) (logrus.Level, error) {
	switch strings.ToUpper(l) {
	default:
		return 0, errors.New("ParseLogLevel: invalid level")
	case "DEBUG", "5":
		return logrus.DebugLevel, nil
	case "INFO", "4":
		return logrus.InfoLevel, nil
	case "WARN", "3":
		return logrus.WarnLevel, nil
	case "ERROR", "2":
		return logrus.ErrorLevel, nil
	case "FATAL", "1":
		return logrus.FatalLevel, nil
	case "PANIC", "0":
		return logrus.PanicLevel, nil
	}
}

This would particularly be helpful for handling environment variables in application level code, where users might not necessarily have the exact case right, or may decide it to be more intuitive to use an integer value instead of a string value in their env variable.
I can issue a pull request for this if you think it's a good idea.

This hasn't come up enough to be integrated into core.


add snapshot policy

@bmjen another one :+1:

:+1: backwards incompatible, but the other way probably never worked... so bugfix?

I was going to ask about the backwards compatibility with pre-8.3

asking in https://tickets.puppetlabs.com/browse/MODULES-2618


topic:can't get information

hi:
when i click topic tab,the topic information is lost,and i check the log,
the command message below:
[debug] application - Getting partition offsets for topic test
[debug] application - Getting partition leaders for topic test
[debug] application - Getting partition leaders for topic test
[debug] application - Getting partition log sizes for topic test from partition leaders server-03:9092
[warn] application - Could not connect to partition leader server-03:9092. Error message: empty.head

sorry,I get the question.
the reason is zookeeper config file:server.properties
parameter:num.network.threads is too small,
up this value,restart the zookeeper and restart the web-console.
the problem disappear.


[7338] Allow Reloading Segments with Multiple Threads

Description
This change allows users to reload segments of a table in parallel. More description here.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes

Does this PR otherwise need attention when creating release notes? Things to consider:

[ ] Yes

Working on tests for this.

Codecov Report

Merging #7893 (98d1fe9) into master (fb12a50) will decrease coverage by 56.93%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #7893       +/-   ##
=============================================
- Coverage     71.34%   14.40%   -56.94%
+ Complexity     4087       80     -4007
=============================================
  Files          1587     1542       -45
  Lines         82071    80206     -1865
  Branches      12267    12064      -203
=============================================
- Hits          58553    11554    -46999
- Misses        19550    67798    +48248
+ Partials       3968      854     -3114

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.40% <0.00%> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...he/pinot/common/messages/SegmentReloadMessage.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ler/api/resources/PinotSegmentRestletResource.java
3.41% <0.00%> (-19.03%)
:arrow_down:

...ntroller/helix/core/PinotHelixResourceManager.java
60.56% <0.00%> (-3.79%)
:arrow_down:

...ain/java/org/apache/pinot/core/data/table/Key.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/spi/utils/BooleanUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/data/table/Record.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/util/GroupByUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...va/org/apache/pinot/spi/utils/BigDecimalUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1260 more

Continue to review full report at Codecov.

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

@Jackie-Jiang Requesting review, thanks!


⚠ Fetchers has degraded performance

In 093231d, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 258 ms

Resolved: Fetchers performance has improved in 5c9ed16.


Cannot determine method to control individual thrusters on Ardusub

Hi,
I am working on a control system for the BlueROV and I have tried offboard actuator control, rc_override and manual control. None of these seem to allow me to bypass the thruster mixer to command PWM signals directly to the actuators. Is there any easy workaround to this or do I just need to go and create a custom thruster frame?

I don't know. I would ask someone from BlueROV (@patrickelectric ?) what the API should be. Then we can check if MAVSDK supports that.


GetCommit isn't marked as exported for sourcegraph/sourcegraph

...and that's keeping it from being shown in searches/examples. This is its definition:
{
      "UnitType": "GoPackage",
      "Unit": "sourcegraph.com/sourcegraph/sourcegraph/svc",
      "Path": "repositoriesService/GetCommit",
      "TreePath": "./repositoriesService/GetCommit",
      "Name": "GetCommit",
      "Kind": "func",
      "File": "svc/repo_vcs.go",
      "DefStart": 2083,
      "DefEnd": 2985,
      "Exported": false,
      "Data": {
        "PkgScope": true,
        "PkgName": "svc",
        "Receiver": "*repositoriesService",
        "TypeString": "func(rev sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.RepoRevSpec, opt *sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.RepositoryGetCommitOptions) (*sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.Commit, sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.Response, error)",
        "UnderlyingTypeString": "func(rev sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.RepoRevSpec, opt *sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.RepositoryGetCommitOptions) (*sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.Commit, sourcegraph.com/sourcegraph/go-sourcegraph/sourcegraph.Response, error)",
        "Kind": "method",
        "PackageImportPath": "sourcegraph.com/sourcegraph/sourcegraph/svc"
      }
    }

Moved from sourcegraph/sourcegraph issue tracker to here.

Has been fixed.


new PrismaClient() allow path to schema as constructor argument to override config

Problem

After generating the client from the schema
When I import the client constructor and instantiate a client and  I don't have the prisma.schema in the current working directory
Then the generated code throws after failing to find a schema (in the first folder from a readdirsync)

We have this issue in many scenario :

we run tests from the root of the repository and not in the folder where the prisma.schema is
we build the application and the output build searches for a prisma.schema in incorrect locations at runtime
we share the prisma client between several packages and want to use lerna to expose the client as a dependency

Our workarounds imply to copy the schema from its source of truth location in the repository to a location where the runtime will search for it.
It's a hack and even as such it's a little weird because the runtime searches in the list of folders in the current working directory and will throw after the first unsuccessful search.
  ● Test suite failed to run

    ENOENT: no such file or directory, open '/Users/###/##-service/backend/api/.data/schema.prisma'

If I create a new folder !data in the directory I launch my test script from :
  ● Test suite failed to run

    ENOENT: no such file or directory, open '/Users/###/##-service/backend/api/!data/schema.prisma'

So if we want the runtime to successfuly instantiate a client we not only need to copy the schema but to create a target directory for the copy, prefixed with_ or ! to garantee it's the first hit in a readdirSync sorted list of folders.
We are currently only working on macos in our team but I fear that this "hack" may break on another os if the sorting does not strictly follow the same rule.
Suggested solution
I see two solutions:

When building the client with prisma generate, instead of copying the schema in the output folder, include the schema in the output code as a string, like in a schema.js exporting the string as if from a readFileSync. That way instead of searching the filesystem at run time, just load the schema from the build.
Or, if the capability to change the schema between the build time and the run time has to be supported, allow to give the path to the schema or the string of the schema when instantiating a new client :

  const client = new PrismaClient({schema: readFileSync(schemaLocation)})

  // or

  const client = new PrismaClient({schemaPath: schemaLocation})

Alternatives

Additional context

@janpio
Ok I'm on it.

That sounds like a bug. Do you have a reproduction of this? If so, can you please open a new bug issue here and supply all the information it asks for? We should fix that.

For further understanding, do you consider the bug to be "loading the schema at runtime", or "incorrect location" ?

Incorrect location. Usually the schema should be included in the generated Client, and be loaded from there.

I am also running into prisma.schema resolution issues due to a shared client inside of a monorepo. While I have limited knowledge of other potential moving parts within the system, it does seem like the suggested solution could sidestep a host of runtime resolution problems.

When building the client with prisma generate, instead of copying the schema in the output folder, include the schema in the output code as a string, like in a schema.js exporting the string as if from a readFileSync. That way instead of searching the filesystem at run time, just load the schema from the build.

I have the same issue. I have prisma as separate lib in monorepo and when building nextjs app prisma try to locate schema from nextjs app folder instead of the prisma lib folder where it is located.
It was working in 2.26.0, not working in 3.4.2.

Same on 3.5.0.

Do you have a reproduction of this? Then optimally open a new issue @homoky so we can try the reproduction and confirm if it works. With that it will be much easier for us to fix the problem. Thanks.

@janpio I open a new issue with reproduction  #10361

I have the same issue. I have prisma as separate lib in monorepo and when building nextjs app prisma try to locate schema from nextjs app folder instead of the prisma lib folder where it is located.

figured out a workaround, at least for now: https://github.com/prisma/prisma/issues/9435#issuecomment-974576800

I can confirm that solution that @andyjy mentioned really works.

Looks like this is resolved and #9435 is also closed. So I am also going to close this.

I still see a need for this feature. In the general case it will be simpler than @andyjy 's approach, and also it will support some scenarios that the workaround does not apply to, such as when trying to use the prisma client in a SAM lambda.

A Prisma Client that does not include a Prisma schema file in the expected location is a bug, and something we need to fix. Please open a new issue and describe your problem so we can solve that bug properly. Thanks.


Marathon doesn't install on Debian 8.5

Hello,
I am following the tutorial from : https://open.mesosphere.com/getting-started/install/
When I want to install marathon package it is looking for :
marathon : DÃ©pend: java8-runtime-headless mais il n'est pas installable
There is no java8-runtime-headless package available on Debian.
Regards,

This is not related to marathon,
you have to add jessie-backports apt sources:

https://backports.debian.org/Instructions/
https://packages.debian.org/jessie-backports/java8-runtime-headless

I'm not sure that building a debian package with depends on package that doesn exist does on the system is good idea. Anyway this is not my concern.
The following documentation doesn't reflect this :
https://open.mesosphere.com/getting-started/install/
Thank you for the tips.


Ability to disable pen tablet

This PR adds tablet SConst option that allows it to disable by appending tablet=no in command line or build profile

Could you explain why you want this option?

What's the reason for disabling it completly? While some wintab drivers can be buggy, winink is standard Windows API and should not cause any issues.

Could you explain why you want this option?

First, i don't have pen tablet, second, it's kinda useless for most games

There are many different input modes that can be enabled or disabled, we don't have an option to disable controller support for example?


Is it possible to Stream Audio form the Server to the client ?

Is it possible to Stream Audio form the Server to the client ?
Is there any example please ?

Yes it is possible
Server
io.on('connection', function (socket) {
  socket.on('client-stream-request', function (data) {
    var stream = ss.createStream();
    var filename = __dirname + '/downloads/' + <YOURSONG.MP3>;
    ss(socket).emit('audio-stream', stream, { name: filename });
    fs.createReadStream(filename).pipe(stream);
  });
});

Client
var audio = document.getElementById('player');
ss(socket).on('audio-stream', function(stream, data) {
    parts = [];
    stream.on('data', function(chunk){
        parts.push(chunk);
    });
    stream.on('end', function () {
        audio.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts));
        audio.play();
    });
});

AWESOME, i will try it soon ! <3

Is it also possible to send additional data with it like Metadata and is it even possible to send it to a specific point of time ?

You can emit it as a separate event or include it in the data object that is sent with the stream
ss(socket).on('audio-stream', function(stream, data) {}

ok , but what about time sensitive data ?
Lets say I like to push metadata once the Playback has reach 1Minute, 30 Seconds of the source ?
Is at hat possible at all ?

Hi, Could you provide the full code?

With this html part its working:
    <audio id="player" controls>
    <source src="" type="audio/mpeg">
        Your browser does not support the audio element.
    </audio>

Example over here :D
https://github.com/zoutepopcorn/audio_socket/tree/master

is there a way to do it in real time?

There is a way to stream microphone in a real time, but I have small problem on my implementation..

Hmm, I think you could only send the buffer data (without media header). Because that's what I can get after calling mediaRecorder.requestData().
To stream chunks of 3 seconds you need to change the latency to 3000ms. I have an example on the repository that default to 100ms, maybe you can use that for experimenting.
And don't forget to set the similar latency to the streamer too.

Yes it is possible
Server
io.on('connection', function (socket) {
  socket.on('client-stream-request', function (data) {
    var stream = ss.createStream();
    var filename = __dirname + '/downloads/' + <YOURSONG.MP3>;
    ss(socket).emit('audio-stream', stream, { name: filename });
    fs.createReadStream(filename).pipe(stream);
  });
});

@duncanhoggan , is it a good idea use sockets to build a streaming server to work as a streaming service on demand?

Yes it is possible
Server
io.on('connection', function (socket) {
  socket.on('client-stream-request', function (data) {
    var stream = ss.createStream();
    var filename = __dirname + '/downloads/' + <YOURSONG.MP3>;
    ss(socket).emit('audio-stream', stream, { name: filename });
    fs.createReadStream(filename).pipe(stream);
  });
});

@duncanhoggan , is it a good idea use sockets to build a streaming server to work as a streaming service on demand?

that doesn't take bandwidth throttling into account no ? I just push as fast as possible no ?

Yes it is possible
Server
io.on('connection', function (socket) {
  socket.on('client-stream-request', function (data) {
    var stream = ss.createStream();
    var filename = __dirname + '/downloads/' + <YOURSONG.MP3>;
    ss(socket).emit('audio-stream', stream, { name: filename });
    fs.createReadStream(filename).pipe(stream);
  });
});

@duncanhoggan , is it a good idea use sockets to build a streaming server to work as a streaming service on demand?

ss is not defined

Yes it is possible
Server
io.on('connection', function (socket) {
  socket.on('client-stream-request', function (data) {
    var stream = ss.createStream();
    var filename = __dirname + '/downloads/' + <YOURSONG.MP3>;
    ss(socket).emit('audio-stream', stream, { name: filename });
    fs.createReadStream(filename).pipe(stream);
  });
});

Client
var audio = document.getElementById('player');
ss(socket).on('audio-stream', function(stream, data) {
    parts = [];
    stream.on('data', function(chunk){
        parts.push(chunk);
    });
    stream.on('end', function () {
        audio.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts));
        audio.play();
    });
});

what is ss here ????

what is ss here ????

see: https://github.com/nkzawa/socket.io-stream

The solution @duncanhoggan provided is working. But what it do is it firstly read the whole file then after that it plays. But What I want is, I want to stream the file into chunks. There can be the delay for max 4-5 seconds.
Can anyone please provide the solution for this?

@rajatlnweb if you send it in chunks of 4-5 seconds, it will play it that way too.

@avin3sh , Can you please give me the code example?

Look above: https://github.com/nkzawa/socket.io-stream/issues/73#issuecomment-307763328

@zoutepopcorn , Is it related to chunk based audio play?

Yes it is possible
Server
io.on('connection', function (socket) {
  socket.on('client-stream-request', function (data) {
    var stream = ss.createStream();
    var filename = __dirname + '/downloads/' + <YOURSONG.MP3>;
    ss(socket).emit('audio-stream', stream, { name: filename });
    fs.createReadStream(filename).pipe(stream);
  });
});

Client
var audio = document.getElementById('player');
ss(socket).on('audio-stream', function(stream, data) {
    parts = [];
    stream.on('data', function(chunk){
        parts.push(chunk);
    });
    stream.on('end', function () {
        audio.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts));
        audio.play();
    });
});

Could you do that client -> server -> client?
Like a peer-to-peer voice chat?
Just trying to make something for my non-programmer friends.

@jojomoore2007 For that use case I would recommend using WebRTC or something similar, it would scale much better and would be a true peer to peer implementation as opposed to the server middleman.

Hello
Streaming music synchronously from an mp3 file via an Angular + socket. io I have an mp3 file on my server.
And I want all my clients who visit that URL to listen to that music in sync.
That is.
Let's say the file plays for 6 minutes.
I start the song at 10:00 am
A request which comes at 10:03 am should start listening from the 3rd minute of the song.
All my clients should listen to the song in sync.
How can I achieve this with Angular and socket.io?

Hello Streaming music synchronously from an mp3 file via an Angular + socket. io I have an mp3 file on my server.
And I want all my clients who visit that URL to listen to that music in sync.
That is.
Let's say the file plays for 6 minutes.
I start the song at 10:00 am
A request which comes at 10:03 am should start listening from the 3rd minute of the song.
All my clients should listen to the song in sync.
How can I achieve this with Angular and socket.io?

Hi @viradiya1993 , did you get any solution for this?

isten to the song in sync.

I also need a solution for this. does anyone know how to implement this?


⚠ Bofrost.de has degraded performance

In 888388a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1138 ms

Resolved: Bofrost.de performance has improved in d1704dc after 6 minutes.


”Mihail Kogălniceanu” is listed in the drop-down menu

Description:
"Mihail Kogălniceanu" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Mihail Kogălniceanu" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Mihail Kogălniceanu, TULCEA".


[BUG] - Infinite SSL Redirect + Internal Server Error

Briefly describe the bug.
Im on the last step. Said "SSL redirect forced.". I turned off cloudflare proxy. Then infinite SSL redirect still. Then I tried to submit again. It said "Internal server error".
How can we reproduce the bug?

Inspect https://dao.wearecashcows.com/
in "Networks" tab you will see the infinite redirects.
Go to https://ina9pk8175.execute-api.us-west-2.amazonaws.com/dev?domain=dao.wearecashcows.com
See error

What is the expected behaviour?
A version of https://snapshot.org/#/wearecashcows.eth should load
Can you attach screenshots?

Can you provide your device specific details below?

Device Type - Desktop
Device OS - MacOS
OS Version - 12.1
Browser - Chrome
Browser Version - 103.0.5060.134
Wallet - metamask
Space - ENS
Any additional information we should know - I love you.

https://dao.wearecashcows.com/#/ started loading, but now is going to snapshot home page.

@cblanquera Hey yes! it takes a few days to redirect to your space, It updates once a week


Encrypt partially with TPM

Is your feature request related to a problem? Please describe.
Currently kcrypt works as an escrow server, however that doesn't spare from server side attacks
Describe the solution you'd like

We could lverage the TPM and add a salt to the stored secret such as also compromission on server-side is guaranteed, plus send it encrypted to the other party
Additional context

Currently partially blocked by #399


Throw a nicer error when the routing services haven't been added to DI

Like other parts of the framework we should throw a nice helper exception when services are missing from DI, including the sample call the app needs to add the routing services to DI, e.g.
Routing services have not been registered. Register services by calling 'IServices.UseRouting()'.

@rynowak @Eilon

MVC already does this. We can follow the same model.

Can we not follow the same model instead? It would be nice to do this on Startup instead of on first request

Hmm ok, do we have an idea of how to do that?

We can register a marker service and have the routing middleware resolve it when created.

Ya, the code linked to above does this.

MVC does it on first request - we should think about changing it to do it when we add AddMvc.

@javiercn you got that? Let's add this to Routing, and then also change MVC to do the same. I logged https://github.com/aspnet/Mvc/issues/3907 and assigned to you.

@Eilon will do it for routing and mvc


phylogenetic: Add config option ancestral_root_seq

Description of proposed changes
Allow users to define an optional --root-sequence for augur ancestral.
This commit only adds the new config option to the CI config. It is not used in the default Nextstrain builds because it's not clear whether it's needed.
Related issue(s)
https://github.com/nextstrain/mpox/issues/296
Checklist

[x] Checks pass

Uploaded CI build to staging and used as an ad-hoc Nextclade dataset


rbenv extremely slow

I've been trying to debug this for hours but I can't seem to crack it—I've looked through as many other issues here as I can and none seem to help. Having eval "$(rbenv init -)" in my shell start up (whether it be bash or zsh) causes the shell to take 10-30 seconds to load. Running any ruby command is also incredibly slow:
➜  ~ time ruby -v
rbenv: version `2.3.1' is not installed (set by /Users/aarongibralter/.rbenv/version)
ruby -v  0.03s user 0.06s system 0% cpu 11.469 total
➜  ~ time /usr/bin/ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
/usr/bin/ruby -v  0.01s user 0.01s system 63% cpu 0.036 total

I can't for the life of me figure out what's going on...
This is the RBENV_DEBUG=1 output for rbenv versions
(+ [rbenv:125] exec /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-versions seems to take a while... so does ++ [rbenv-version-name:7] rbenv-version-file and so does ++ [rbenv-version-name:8] rbenv-version-file-read /Users/aarongibralter/.rbenv/version)
➜  ~ RBENV_DEBUG=1 rbenv versions
+ [rbenv:22] enable -f /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-realpath.dylib realpath
+ [rbenv:53] '[' -z '' ']'
+ [rbenv:54] RBENV_ROOT=/Users/aarongibralter/.rbenv
+ [rbenv:58] export RBENV_ROOT
+ [rbenv:60] '[' -z '' ']'
+ [rbenv:61] RBENV_DIR=/Users/aarongibralter
+ [rbenv:68] export RBENV_DIR
+ [rbenv:71] shopt -s nullglob
++ [rbenv:73] abs_dirname /usr/local/bin/rbenv
++ [rbenv:24] local path
+++ [rbenv:25] realpath /usr/local/bin/rbenv
++ [rbenv:25] path=/usr/local/Cellar/rbenv/1.1.2/libexec/rbenv
++ [rbenv:26] echo /usr/local/Cellar/rbenv/1.1.2/libexec
+ [rbenv:73] bin_path=/usr/local/Cellar/rbenv/1.1.2/libexec
+ [rbenv:77] export PATH=/usr/local/Cellar/rbenv/1.1.2/libexec:/Users/aarongibralter/.nodenv/shims:/Users/aarongibralter/workspace/alacritty/target/release:/usr/local/Cellar/pyenv-virtualenv/1.1.3/shims:/Users/aarongibralter/.pyenv/shims:/Users/aarongibralter/.rbenv/shims:/usr/local/heroku/bin:/Users/aarongibralter/.bin:/Users/aarongibralter/.datacoral/cli/bin:/Users/aarongibralter/.dajoku-cli/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/aarongibralter/workspace/local-dev-env/docker/bin
+ [rbenv:77] PATH=/usr/local/Cellar/rbenv/1.1.2/libexec:/Users/aarongibralter/.nodenv/shims:/Users/aarongibralter/workspace/alacritty/target/release:/usr/local/Cellar/pyenv-virtualenv/1.1.3/shims:/Users/aarongibralter/.pyenv/shims:/Users/aarongibralter/.rbenv/shims:/usr/local/heroku/bin:/Users/aarongibralter/.bin:/Users/aarongibralter/.datacoral/cli/bin:/Users/aarongibralter/.dajoku-cli/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/aarongibralter/workspace/local-dev-env/docker/bin
+ [rbenv:79] RBENV_HOOK_PATH=:/Users/aarongibralter/.rbenv/rbenv.d
+ [rbenv:80] '[' /usr/local/Cellar/rbenv/1.1.2 '!=' /Users/aarongibralter/.rbenv ']'
+ [rbenv:82] RBENV_HOOK_PATH=:/Users/aarongibralter/.rbenv/rbenv.d:/usr/local/Cellar/rbenv/1.1.2/rbenv.d
+ [rbenv:84] RBENV_HOOK_PATH=:/Users/aarongibralter/.rbenv/rbenv.d:/usr/local/Cellar/rbenv/1.1.2/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks
+ [rbenv:88] RBENV_HOOK_PATH=/Users/aarongibralter/.rbenv/rbenv.d:/usr/local/Cellar/rbenv/1.1.2/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks
+ [rbenv:89] export RBENV_HOOK_PATH
+ [rbenv:91] shopt -u nullglob
+ [rbenv:94] command=versions
+ [rbenv:95] case "$command" in
++ [rbenv:108] command -v rbenv-versions
+ [rbenv:108] command_path=/usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-versions
+ [rbenv:109] '[' -z /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-versions ']'
+ [rbenv:117] shift 1
+ [rbenv:118] '[' '' = --help ']'
+ [rbenv:125] exec /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-versions
+ [rbenv-versions:10] unset bare
+ [rbenv-versions:11] unset skip_aliases
+ [rbenv-versions:28] versions_dir=/Users/aarongibralter/.rbenv/versions
+ [rbenv-versions:30] enable -f /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-realpath.dylib realpath
+ [rbenv-versions:62] '[' -d /Users/aarongibralter/.rbenv/versions ']'
++ [rbenv-versions:63] realpath /Users/aarongibralter/.rbenv/versions
+ [rbenv-versions:63] versions_dir=/Users/aarongibralter/.rbenv/versions
+ [rbenv-versions:66] '[' -n '' ']'
+ [rbenv-versions:72] hit_prefix='* '
+ [rbenv-versions:73] miss_prefix='  '
++ [rbenv-versions:74] rbenv-version-name
+ [rbenv-version-name:6] '[' -z '' ']'
++ [rbenv-version-name:7] rbenv-version-file
+ [rbenv-version-file:7] target_dir=
+ [rbenv-version-file:22] '[' -n '' ']'
+ [rbenv-version-file:25] find_local_version_file /Users/aarongibralter
+ [rbenv-version-file:10] local root=/Users/aarongibralter
+ [rbenv-version-file:11] [[ /Users/aarongibralter =~ ^//[^/]*$ ]]
+ [rbenv-version-file:12] '[' -s /Users/aarongibralter/.ruby-version ']'
+ [rbenv-version-file:16] '[' -n /Users/aarongibralter ']'
+ [rbenv-version-file:17] root=/Users
+ [rbenv-version-file:11] [[ /Users =~ ^//[^/]*$ ]]
+ [rbenv-version-file:12] '[' -s /Users/.ruby-version ']'
+ [rbenv-version-file:16] '[' -n /Users ']'
+ [rbenv-version-file:17] root=
+ [rbenv-version-file:11] [[ '' =~ ^//[^/]*$ ]]
+ [rbenv-version-file:12] '[' -s /.ruby-version ']'
+ [rbenv-version-file:16] '[' -n '' ']'
+ [rbenv-version-file:16] break
+ [rbenv-version-file:19] return 1
+ [rbenv-version-file:26] '[' /Users/aarongibralter '!=' /Users/aarongibralter ']'
+ [rbenv-version-file:27] echo /Users/aarongibralter/.rbenv/version
+ [rbenv-version-name:7] RBENV_VERSION_FILE=/Users/aarongibralter/.rbenv/version
++ [rbenv-version-name:8] rbenv-version-file-read /Users/aarongibralter/.rbenv/version
+ [rbenv-version-file-read:6] VERSION_FILE=/Users/aarongibralter/.rbenv/version
+ [rbenv-version-file-read:8] '[' -e /Users/aarongibralter/.rbenv/version ']'
+ [rbenv-version-file-read:10] IFS='
'
+ [rbenv-version-file-read:11] words=($(cut -b 1-1024 "$VERSION_FILE"))
++ [rbenv-version-file-read:11] cut -b 1-1024 /Users/aarongibralter/.rbenv/version
+ [rbenv-version-file-read:12] version=2.3.1
+ [rbenv-version-file-read:14] '[' -n 2.3.1 ']'
+ [rbenv-version-file-read:15] echo 2.3.1
+ [rbenv-version-file-read:16] exit
+ [rbenv-version-name:8] RBENV_VERSION=2.3.1
+ [rbenv-version-name:11] OLDIFS='
'
+ [rbenv-version-name:12] IFS='
'
+ [rbenv-version-name:12] scripts=(`rbenv-hooks version-name`)
++ [rbenv-version-name:12] rbenv-hooks version-name
+ [rbenv-hooks:9] '[' version-name = --complete ']'
+ [rbenv-hooks:18] RBENV_COMMAND=version-name
+ [rbenv-hooks:19] '[' -z version-name ']'
+ [rbenv-hooks:24] enable -f /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-realpath.dylib realpath
+ [rbenv-hooks:55] IFS=:
+ [rbenv-hooks:55] hook_paths=($RBENV_HOOK_PATH)
+ [rbenv-hooks:57] shopt -s nullglob
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:63] shopt -u nullglob
+ [rbenv-version-name:13] IFS='
'
+ [rbenv-version-name:18] '[' -z 2.3.1 ']'
+ [rbenv-version-name:18] '[' 2.3.1 = system ']'
+ [rbenv-version-name:28] version_exists 2.3.1
+ [rbenv-version-name:24] local version=2.3.1
+ [rbenv-version-name:25] '[' -d /Users/aarongibralter/.rbenv/versions/2.3.1 ']'
+ [rbenv-version-name:30] version_exists 2.3.1
+ [rbenv-version-name:24] local version=2.3.1
+ [rbenv-version-name:25] '[' -d /Users/aarongibralter/.rbenv/versions/2.3.1 ']'
++ [rbenv-version-name:33] rbenv-version-origin
+ [rbenv-version-origin:6] unset RBENV_VERSION_ORIGIN
+ [rbenv-version-origin:8] OLDIFS='
'
+ [rbenv-version-origin:9] IFS='
'
+ [rbenv-version-origin:9] scripts=(`rbenv-hooks version-origin`)
++ [rbenv-version-origin:9] rbenv-hooks version-origin
+ [rbenv-hooks:9] '[' version-origin = --complete ']'
+ [rbenv-hooks:18] RBENV_COMMAND=version-origin
+ [rbenv-hooks:19] '[' -z version-origin ']'
+ [rbenv-hooks:24] enable -f /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-realpath.dylib realpath
+ [rbenv-hooks:55] IFS=:
+ [rbenv-hooks:55] hook_paths=($RBENV_HOOK_PATH)
+ [rbenv-hooks:57] shopt -s nullglob
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:58] for path in '"${hook_paths[@]}"'
+ [rbenv-hooks:63] shopt -u nullglob
+ [rbenv-version-origin:10] IFS='
'
+ [rbenv-version-origin:15] '[' -n '' ']'
+ [rbenv-version-origin:17] '[' -n '' ']'
+ [rbenv-version-origin:20] rbenv-version-file
+ [rbenv-version-file:7] target_dir=
+ [rbenv-version-file:22] '[' -n '' ']'
+ [rbenv-version-file:25] find_local_version_file /Users/aarongibralter
+ [rbenv-version-file:10] local root=/Users/aarongibralter
+ [rbenv-version-file:11] [[ /Users/aarongibralter =~ ^//[^/]*$ ]]
+ [rbenv-version-file:12] '[' -s /Users/aarongibralter/.ruby-version ']'
+ [rbenv-version-file:16] '[' -n /Users/aarongibralter ']'
+ [rbenv-version-file:17] root=/Users
+ [rbenv-version-file:11] [[ /Users =~ ^//[^/]*$ ]]
+ [rbenv-version-file:12] '[' -s /Users/.ruby-version ']'
+ [rbenv-version-file:16] '[' -n /Users ']'
+ [rbenv-version-file:17] root=
+ [rbenv-version-file:11] [[ '' =~ ^//[^/]*$ ]]
+ [rbenv-version-file:12] '[' -s /.ruby-version ']'
+ [rbenv-version-file:16] '[' -n '' ']'
+ [rbenv-version-file:16] break
+ [rbenv-version-file:19] return 1
+ [rbenv-version-file:26] '[' /Users/aarongibralter '!=' /Users/aarongibralter ']'
+ [rbenv-version-file:27] echo /Users/aarongibralter/.rbenv/version
+ [rbenv-version-name:33] echo 'rbenv: version `2.3.1'\'' is not installed (set by /Users/aarongibralter/.rbenv/version)'
rbenv: version `2.3.1' is not installed (set by /Users/aarongibralter/.rbenv/version)
+ [rbenv-version-name:34] exit 1
++ [rbenv-versions:74] true
+ [rbenv-versions:74] current_version=
+ [rbenv-versions:75] include_system=1
+ [rbenv-versions:78] num_versions=0
+ [rbenv-versions:90] '[' -n 1 ']'
+ [rbenv-versions:90] RBENV_VERSION=system
+ [rbenv-versions:90] rbenv-which ruby
+ [rbenv-versions:91] print_version system
+ [rbenv-versions:81] '[' system == '' ']'
+ [rbenv-versions:84] echo '  system'
  system
+ [rbenv-versions:86] num_versions=1
+ [rbenv-versions:94] shopt -s nullglob
+ [rbenv-versions:95] for path in '"$versions_dir"/*'
+ [rbenv-versions:96] '[' -d /Users/aarongibralter/.rbenv/versions/2.4.5 ']'
+ [rbenv-versions:97] '[' -n '' ']'
+ [rbenv-versions:101] print_version 2.4.5
+ [rbenv-versions:81] '[' 2.4.5 == '' ']'
+ [rbenv-versions:84] echo '  2.4.5'
  2.4.5
+ [rbenv-versions:86] num_versions=2
+ [rbenv-versions:104] shopt -u nullglob
+ [rbenv-versions:106] '[' 2 -eq 0 ']'
➜  ~

Any help is soooo much appreciated!

@agibralter Hey thank you for helping me debug this! I have no idea why this is so slow for you; there's nothing in the output that suggests that something is broken in your environment.

The file /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-realpath.dylib is compiled, but optional. Can you try to temporarily rename it (perhaps append a ~ character to it) to see if it changes anything? That compiled file is supposed to speed things up, but might be slowing things down for you.

Do you perhaps have CDPATH set in your environment?

You can run parts of rbenv in isolation to try to narrow down the cause; e.g. time RBENV_ROOT=~/.rbenv RBENV_DIR=$PWD /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-version-file <path/to/myproject>

Hmmm no dice so far...
➜  ~ cd /usr/local/Cellar/rbenv/1.1.2/libexec
➜  libexec ls
rbenv*                    rbenv-completions*        rbenv-help*               rbenv-local*              rbenv-rehash*             rbenv-sh-shell*           rbenv-version-file*       rbenv-version-name*       rbenv-whence*
rbenv---version*          rbenv-exec*               rbenv-hooks*              rbenv-prefix*             rbenv-root*               rbenv-shims*              rbenv-version-file-read*  rbenv-version-origin*     rbenv-which*
rbenv-commands*           rbenv-global*             rbenv-init*               rbenv-realpath.dylib*     rbenv-sh-rehash*          rbenv-version*            rbenv-version-file-write* rbenv-versions*
➜  libexec mv rbenv-realpath.dylib rbenv-realpath.dylib~
➜  libexec time RBENV_ROOT=~/.rbenv RBENV_DIR=$PWD /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-version-file .
^C
RBENV_ROOT=~/.rbenv RBENV_DIR=$PWD  .  247.08s user 18.51s system 98% cpu 4:29.34 total
➜  libexec
➜  libexec time RBENV_ROOT=~/.rbenv RBENV_DIR=$PWD /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv-version-file .
^C
RBENV_ROOT=~/.rbenv RBENV_DIR=$PWD  .  34.51s user 2.75s system 94% cpu 39.557 total
➜  libexec echo $CDPATH

➜  libexec

The CDPATH suggestion made me think that maybe direnv is the culprit here, but I rmed it and same behavior...

Honestly, I think this is a situation where my whole computer is just in a bad state :(... I'm sorry to bug you—I'll keep poking around and let you know if I find anything.

Ok, I have no idea what changed, but I'm ok again. I still don't know why it seemed like rbenv was the slowest thing when my computer had overall problems, but I think it had to do with the number of sub-shells it spawns.

I'm having "slow" speeds as well - nothing as close as seconds, but ~0.20s relative, which on the face isn't much, except that's 1/5th of the time it takes to source my .bashrc (~1s).
$(rbenv init -) & $(nodenv init -) both take roughly 1/5th each, at ~0.20s.
I'm running Ubuntu 18.04 via WSLv1.
If that's just roughly the base speed, I can accept that, but I'd be interested in knowing if there was anything substandard in my setup, as I'm somewhat new to linux, and using WSL.
@mislav let me know if you'd be keen to walk me through some checks like you did w/ agibralter in case theres anything that could be causing slow downs :)
(I'll swing by later and paste the output of the commands previously mentioned in this issue when I've got some free time)

In my case just found out this was related to [https://ohmyz.sh], just use the default theme and you'll see how this speeds up your shell


Any examples of how to use with VectorGrid.Slicer?

I have a jsfiddle showing a sample of my map, I am wanting to use the VectorGrid.Slicer with Geoman, however it doesn't appear to have any way to edit those layers.
I have a JSFiddle here: https://jsfiddle.net/bcrymwph/ of a very simple geojson using the VectorGrid.Slicer.
I am wondering if anyone has an example of this, the only option i've come up with is to somehow copy the feature/layer i want from the VectorGrid.Slicer into a separate one, but i am wondering if there's a better way or if someone has an example of this.

It is not possible to edit it directly, because VectorGrid creates SVG paths and Geoman is working with Leaflet layers.
To simplify: Geoman working with Leaflet layers before rendering and VercorGrid after rendering

@Falke-Design
Thank you for the quick follow up on this, I can do some work on my end to copy the geojson data into a separate layer when they're in edit mode, my plan is to have them select an object to edit, so should be fairly easy to lookup the geojson data and attach it to an existing layer.

@Destreyf when it works for you, maybe you can add your code here for other users

Just following up, I got this to work, my setup is a little different as i'm using ngx-leaflet and some other stuff inside of Angular 10, but i put a fiddle together that is a rough representation of what i'm doing.
https://jsfiddle.net/e9n30q68/4/
Basically on the VectorGrid layer, i have a click event, the e.layer property is the "layer" within the VectorGrid plugin, i can see the properties of the clicked object, i lookup the id from the VectorGrid layer on my geojson features and then create a new GeoJSON layer with just the feature itself, add this to an "Edit Layer" which is just used for easy cleanup.
The GeoJSON layer is only created if the user clicks on a shape/feature from the VectorGrid layer while the "Edit Layer" is enabled, this prevents the system from copying layers.
Once you finish editing, it runs an "update" function that patches the geojson object and reinitialize the VectorGrid, thus updating the objects on screen with the changes that were made.
@Falke-Design Thank you for your quick followup as that prevented me from going down a different rabbit hole that wouldn't have been fruitful.
A few notes:

There's a toGeoJSON method on the VectorGrid, but it doesn't appear to work, this is an issue with VectorGrid itself it appears.
The demo snippet i put together doesn't debounce the edits when you finish, so it runs the seutpVectorGrid function multiple times.
The geoman plugin is awesome and has fantastic performance for editing!

Here's a demo of Leaflet.VectorTileLayer using a Protobuf:
https://jsfiddle.net/Terrafire123/Lgt69ryu/1/


Require PHP 5.6+

Current tool release: v2.1.0
Proposed target of this change: v2.4.0
Purpose of this PR is not to clean up the old code that could be cleaned after min PHP version bump, but to discuss the change of required version itself.
I would like to hear community voice.

TODO:

[x] bump requirement
[x] drop checks like defined(T_POW)
[ ] merge test methods like provideCases54
[ ] use short array syntax

cc @SpacePossum @localheinz @julienfalque @stof @sstok @GrahamCampbell @greg0ire @kalessil
and everyone willing to comment !

Perhaps v3.0.0 would fit more:

then it would be possible go directly to PHP7 (jumping from PHP 5.3 to 5.6/7.0 is not really makes difference)
2.x branch would still serve needs of slowly migrating legacy systems;

In general, the symfony strategy for migrating to PHP7 would work as well.

Kill it with fire.

I tend to agree with @kalessil here: I think bumping PHP version requirement is not a breaking change on its own but as we stop testing versions that are currently supported, we might introduce breaking changes later. Composer will help prevent this but it would still be a problem for people that install the tool without Composer and expect it to always work on the platform they use, at least until next major version.
So 👍 for bumping PHP requirement to whatever version we decide, as long as we bump PHP-CS-Fixer to a new major version as well.
Regarding PHP version, I'd vote 7.0. Or at least 5.6 as it is the lowest supported version.

+1 onece more for PHP7, I'll gladly support migrating language level to PHP7 once the way back is cut.

selfoss targets PHP 5.4 (still supported on Debian) but since PHP-CS-Fixer is a dev dependency, only run on Travis and dev machines, it should not be a problem. We use php lint for checking the syntax on older PHP versions anyway.

We use php lint for checking the syntax on older PHP versions anyway.

PHP Lint doesn't do anything at all the same as PHP-CS-Fixer. PHP Lint just checks if the files are valid PHP files, and that's it.

Infact, on php 7, PHP-CS-Fixer actually allows files that fail php linting through without error in some cases. For example, cases where a class property is defined twice. PHP's native linter would flag that normally.

@GrahamCampbell PHP-CS-Fixer can warn about some syntax features not supported by older versions. For catching wider range of issues, one should of course use both tools.

btw, if 7, then 7.1, cause why not, huh?
the benefits of 7, like strict types or primitives used for typehinting could be automatically applied on codebase and we could release "version for php7"  as a phar file easily (without changing the code distributed by composer or git clone).
we already do some of it on SCA job at Travis, just not build result of it to phar file.

Bumping to 5.5.9 for 2.3 sounds good to me. People can lock to version 2.2.* if they can't meet the new PHP requirement. Only thing I wonder, would we keep supporting 2.2 with bug fixes along side the 2.2+ branch?
I'd vote the highest stable PHP major+minor version available when releasing 3.x.
(hmm.. another thing to think about is the the selfupdate command which doesn't check PHP version when updating, still :+1: for this though)

I'd go with PHP 7 for next release :+1: , because promoting 5.5- is promoting unknown security issues.
This would show people it's normal to upgrade to newer PHP.
Also quoting @Seldaek from https://seld.be/notes/php-versions-stats-2016-2-edition :

@TomasVotruba In this case, it is okay to drop PHP 5 because PHP-CS-Fixer is intended for developers; PHP 5.4 is unfortunately far from being dead. It is available on Debian Wheezy which runs on many shared web hostings. Wheezy is supported until May 2018 and the package was last updated at the beginning of February.
Because of the cheap shared hostings many people cannot actually upgrade and we need to maintain backports like https://github.com/fossar/twitteroauth-php54

@jtojnar I don't talk hosting, I talk about the technology - see the link provided.
Also, hosting argument is irrelevant argument, because they are money oriented. They will always focus on mainstream and take in account they upgrade costs.
It's our responsibility to push them further so common developer doesn't have to be stuck on deprecated technologies and so they don't slow down open-source maturity cyclus.

Thanks for the feedback.
I bumped required version of PHP to 5.6+ for line 2.x.
Bumping to 7+ will be done during releasing 3.0.

@keradus Thanks for bumping to PHP 5.6 :+1:
Let me know when you want to upgrade to PHP 7. I did it in few packages now, getting quite handy.

Sorry, I didn't get second part.
Any changes for PHP requirements will be noticed in changelog and composer requirements.

@keradus I meant: Ping me, when you need to upgrade to PHP 7. I can do it.

take a look at our travis SCA task, we even have some fixers that automates the work ;)

SCA task? Could you share a link?
I have few sniffs that do the work :)

https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/.travis.yml#L14
if those sniffs are fixers of feel free to share them if they are not duplicating existing ones

E.g. this one: https://github.com/slevomat/coding-standard#slevomatcodingstandardtypehintstypehintdeclaration-
I used them to upgrade ApiGen

nah, we don't like checkers, we like fixers

It works the same on ECS.

ECS Auto Ltd ?

EasyCodingStandard

so, not related

It works on any code.

https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/2568#issuecomment-287648073

https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/2568#issuecomment-287645428

A couple more PHP 5.6 tweaks can be applied (I'm on #2534, so no PR this time):
PHP_5_6_tweaks.patch.txt

Hi, thanks for patch. Good start, but it doesn't cover all places of syntax sugar that could be used (like ::class is nice, but should be applied globally)

Right, I didn't touch tests - it's plenty of ::class cases + 4 Elvis operators there.

please don't focus on sugar syntax for now, the issue you mentioned will be time spent better.

this looks good to me, lets get this rebase and merged, after that the syntax sugar will come in later :)

As discussed, php engine was bumped to 5.6.
Bumping to 7.x will be made during release of version 3, as it will bring some BC breakers (eg due to params typehinting)


R1 and Locally pseudometrizable imply Quasi-sober

Adds theorem T519 Partition topology ⇒ Quasi-sober. I also added a line to the definition of Quasi-sober that it is equivalent to the Kolmogorov quotient of the space being Sober.

Nice result.  Now, it seems that every pseudometrizable space has a Kolmogorov quotient that is metrizable, hence Hausdorff and sober.  And spaces with a partition topology are pseudometrizable.  So we could generalize the proposed theorem to be [pseudometrizable ==> quasi-sober].  Are there also other properties for which the Kolmogorov quotient is Hausdorff?

Great point. Really, the right property would be "Locally R1", but Locally pseudometrizable and R1 would each be sufficient to imply the Kolmogorov quotient is Locally Hausdorff.

Good point.  R1 by itself is enough to imply quasisober (since the Kolmogorov quotient is Hausdorff).  That would subsume the cases of partition topology and pseudometrizable.
And as you explain, "locally R1" would be even more general.  Do we want to introduce that notion?  Maybe, maybe not.  I doubt there are many uses of that in the literature.  It seems a little too specialized, with maybe not too many specific examples of interest.  We can either just have [R1 ==> quasisober], or introduce locally R1, etc.  But if you want to go the second route, I'd like to ask @StevenClontz editorial opinion about that choice.

Given that there's currently not a single space in the database that is locally R1 but not T0 or R1, it seems unlikely to be worth adding to me. See https://topology.pi-base.org/spaces?q=~%24R_1%24+%2B+~%24T_0%24+%2B+%24R_0%24

Yeah, I was thinking the same thing.

@danflapjax Do you want to revise the theorem with R1 as a hypothesis, so we can wrap this up?

We don't need two theorems here.  All we need is the single theorem [R1 ==> quasisober].  The two results [partition topology ==> quasisober] and [locally pseudometrizable ==> quasisober] will follow from it.

BTW, what do you think would be better for the main name of P192: "quasi-sober" or "quasisober"?
(we don't need to change this here, but curious about your opinion)

Oops, I guess I updated the description but not the theorem itself.
Intuitively, I would rather type it as quasisober, but the two references currently listed have it hyphenated.

Whatever is more standard for the literature is usually better (unless it's somehow inconsistent with our conventions used elsewhere in the database).

Both seem to be used in the literature.  A Google scholar search returns 22 hits without the hyphen and 39 hits with the hyphen.  I find the version without the hyphen slightly easier to type, but with the hyphen slightly easier to read maybe. No real need to change.

I think it's better to let the database figure out the intermediate steps by itself (and these could potentially change anyway).  See my proposed change.
@StevenClontz Do you have any comment on the format?  We did something similar on another PR, but I don't remember which one.

Not that it matters much, but I changed it to follow the pattern of T497.

@StevenClontz Do you have any comment on the format? We did something similar on another PR, but I don't remember which one.

The merged version looks good to me.


HealthVault CertStore config

We should allow the Certificate Store to be specified via configuration.  Azure WebSites only allow reading from the CurrentUser store and not the LocalMachine store which the SDK is hardcoded to use.

@vicator,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Full Format Deletion

Issue
#341
Intent
Enable complete deletion of formats
Implementation
Updating mp_loadformat plus tidying up some other macros
Checks

[x] Code is formatted correctly (sasjs lint).
[x] Any new functionality has been unit tested.
[x] All unit tests are passing (sasjs test).
[x] all.sas has been regenerated (python3 build.py)


[Clang importer] Remove the OS_object objc_runtime_visible hack

The Clang importer has an old hack that makes OS_object and its subclasses
implicitly "objc_runtime_visible" (which maps to the "runtime" foreign
class kind in Swift). Now that the headers in the SDK all use the
appropriate annotation, remove the hack.
Fixes rdar://problem/64778416.

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci test source compatibility

All of the source-compatibility failures are due to a SwiftPM issue, and those packages are unlikely to uncover any additional issues. This should be fine.


PHP 8.0 support

Extending #75 to see if we can get tests to pass.

[x] Fixed duplicate key test problem in 95efcd11f153681e3c2628dc9d394a5a2f138738
[x] laminas/laminas-config 2.x does not support PHP 8. Added 3.x in e08cc0e35bec79e9951250751133b56a51a32c12
[ ] laminas/laminas-cache 2.x does not support PHP 8. Added 3.x in e08cc0e35bec79e9951250751133b56a51a32c12 , but this is not released yet 😞  Waiting for https://github.com/laminas/laminas-cache/pull/48

Thanks for the review, @boesing ! And to @ jfernancordova for updating #75 ! I'm closing this PR in favour of #75, which seems to be making good progress!

Thanks for the review, @boesing ! And to @ jfernancordova for updating #75 ! I'm closing this PR in favour of #75, which seems to be making good progress!


Update client to 3.7.0-zszq

About this PR
📦 Updates com.vesoft:client from 3.6.1 to 3.7.0-zszq
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (3.6.1).
You might want to review and update them manually.
README.md

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.vesoft", artifactId = "client" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.vesoft", artifactId = "client" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #39.


new binary parsers for short, int, long

Fixes #129.  3 new parsers for parsing big-endian shorts, ints and longs.  These are different from intUntil, which parses an ASCII string as an integer.

:1


Chat UX Feedback

Drastically simplify the amount of content that's shown in the chat and really nail it down to the essentials (while potentially allowing users to click somewhere to find out more of the behind the scenes). This is probably going to be the most important win in terms of UX, and I think it will probably require a decent bit of back and forth between me and the dev team to get the balance right.
Chat loading should be more clear and communicative to the user
Rework layout slightly to more clearly demonstrate the upload feature and how it can work with your prompt
Clean up UI so it's simply to parse through.
I don't think chat bubbles should have a hover effect here?
Code snippets should be copyable.

Closing in favor of https://github.com/polywrap/evo.ninja/issues/576


remove annotation and dial widgets from this repo.

This removes Annotation and Dial widgets and associated examples and documentation from this repo. These now have their own repos over in the circuitpython organization and they've both been added to the CircuitPython_Org bundle.
All of the code and documentation removed with this PR is now available in these respective repos:
https://github.com/circuitpython/CircuitPython_Org_DisplayIO_Dial
https://github.com/circuitpython/CircuitPython_Org_DisplayIO_Annotation
The other widgets that are in this repo currently will get removed as soon as they are setup in new repos in circuitpython org and added to that bundle.
This PR also updates the pylintrc file to the latest version that cookie-cutter now generates.

Forgot to mention in the original comment but I would consider #45 resolved once this is merged.
The new Dial repo has been updated already to support the latest version of the vectorio API

@kattni to the best of my knowledge there are no guide or example usages of these two widgets outside of this repo. I grepped for both in the Learn guide repo and did not find any.
As far as I know the only one of the widgets that are currently in this repo that did get used for a guide / example is the IconWidget which was used in the Stream Deck project. This PR doesn't remove IconWidget, my intention there is to ensure that the project bundler used by Learn system will be able to find it properly in it's new home before removing it from here so that the transition will be seamless to folks who are following that guide.

Thanks!


feat: Add copy/move commands

The deno std join doesn't join absolute path with common prefix correctly, I think rust one is more intuitive
Do you think Deno join should be changed ?

I have to head out soon, so I'll probably look at this more later tonight or tomorrow. Thanks a lot for all the PRs!

Sure thanks as well!


ATS reponse to page covered by MSI PTE in MRIF mode.

Presently the response is:
.. If the transaction is a PCIe ATS translation request then return a Success
response with R, W, and U bit set to 1. See section 2.7 for further
details on this processing.
As part of next version of ATS, the U bit usage is proposed to be deprecated.
Please see a presentation on this to the PCI SIG ATS 1.2 TG. An alternate response is to generate a R=W=X=0 response
i.e. signal that the page is not resident. This would lead to device asking for
the page to be made resident using a page request and the hypervisor can
page the MRIF into an IMSIC register file.
Proposed change:
.. If the transaction is a PCIe ATS translation request then return a Success
response with R and W bits set to 0. See section 2.7 for further
details on this processing.
.. Update the section 2.7 to match.
This change avoids the use of U bit in the architecture and this avoids a possible
incompatibility with the new revisions of the ATS protocol.

An alternate response is to generate a R=W=X=0 response i.e. signal that the page is not resident. This would lead to device asking for the page to be made resident using a page request

If the response to a translation request indicates that the page isn't resident, does the PCIe Standard now require that a device must request the page through the PRI?  I thought devices historically were allowed to make ATS requests without ever using the PRI, considering that ATS version 1.0 didn't have PRI, and it was added with version 1.1.

Yes, that is a concern and we are working on gathering device and OS vendor inputs. This issue is a heads up. Its not decided if we would do the U deprecation in 1.2 or in a later more ambitious 2.0. Whether a backward compatibility option would be required also depends on what we gather from  the vendors.

Do any actual PCIe devices really use ATS or PRI for MSIs?  I would've thought page-request and translation steps would be useless for the pseudo-addresses that x86 systems use for MSIs, which leads me to strongly suspect that no PCIe devices are going to bother.  I'd expect them to always simply use the MSI address they were given, untranslated and without attempting first to make the supposed "page" resident.
If I'm right, it'll be only small consequence for us if the U bit is no longer supported in translation request responses.  What am I missing?

Do any actual PCIe devices really use ATS or PRI for MSIs?

There is FUD around this. This was never forbidden and more importantly never enforced. So with all devices out there - including devices built using FPGAs - its hart to tell.

I would've thought page-request and translation steps would be useless for the pseudo-addresses that x86 systems use for MSIs

x86 IOMMU does actually provide you a valid translation if requested to the 0xFEExxxxx

it'll be only small consequence for us if the U bit is no longer supported in translation request responses

Yes. Its possible that we discover that is the case and it may be inconsequential.

Deferred for now.


dcgmproftester not working with v3.1.7

Hi,
dcgmproftester11 gives me the following error with DCGM v3.1.7. This used to work with v3.1.3. Is there a known bug here?
$ dcgmproftester11 --no-dcgm-validation -t 1004 -d 10
Skipping CreateDcgmGroups() since DCGM validation is disabled
Skipping CreateDcgmGroups() since DCGM validation is disabled
2023-04-18 03:46:10.915 ERROR [2843478:2843478] Error 0 from RunTests(). Exiting. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DcgmProfTester.cpp:1170] [main]
$

Following are the logs:
$ dcgmproftester11 --no-dcgm-validation -t 1004 -d 10 --log-level DEBUG --log-file ./dcgm_log.txt
Skipping CreateDcgmGroups() since DCGM validation is disabled
Skipping CreateDcgmGroups() since DCGM validation is disabled
2023-04-19 01:44:54.500 ERROR [4187295:4187295] Error 0 from RunTests(). Exiting. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DcgmProfTester.cpp:1170] [main]
$
$
$ cat ./dcgm_log.txt
2023-04-19 01:44:13.157 INFO  [4187295:4187295] Skipping CreateDcgmGroups() since DCGM validation is disabled. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DcgmProfTester.cpp:117] [DcgmProfTester::CreateDcgmGroups]
2023-04-19 01:44:13.204 INFO  [4187295:4187295] Skipping CreateDcgmGroups() since DCGM validation is disabled. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/PhysicalGpu.cpp:1535] [DcgmNs::ProfTester::PhysicalGpu::CreateDcgmGroups]
2023-04-19 01:44:13.204 INFO  [4187295:4187295] Skipping CreateDcgmGroups() since DCGM validation is disabled. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/PhysicalGpu.cpp:1535] [DcgmNs::ProfTester::PhysicalGpu::CreateDcgmGroups]
2023-04-19 01:44:13.204 INFO  [4187295:4187295] Skipping WatchFields() since DCGM validation is disabled. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DcgmProfTester.cpp:193] [DcgmProfTester::WatchFields]
2023-04-19 01:44:13.440 INFO  [4187301:4187301] DCGM CudaContext Init completed successfully. Starting our TaskRunner. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:213] [CudaWorkerThread::Init]
2023-04-19 01:44:13.440 INFO  [4187301:4187301] Created thread named "" ID<PHONE_NUMBER> DcgmThread ptr 0x0x117da28 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/common/DcgmThread/DcgmThread.cpp:116] [DcgmThread::Start]
2023-04-19 01:44:13.440 DEBUG [4187301:4187306] Thread handle<PHONE_NUMBER> running [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/common/DcgmThread/DcgmThread.cpp:305] [DcgmThread::RunInternal]
2023-04-19 01:44:13.559 INFO  [4187302:4187302] DCGM CudaContext Init completed successfully. Starting our TaskRunner. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:213] [CudaWorkerThread::Init]
2023-04-19 01:44:13.559 INFO  [4187302:4187302] Created thread named "" ID<PHONE_NUMBER> DcgmThread ptr 0x0x117e588 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/common/DcgmThread/DcgmThread.cpp:116] [DcgmThread::Start]
2023-04-19 01:44:13.559 DEBUG [4187302:4187332] Thread handle<PHONE_NUMBER> running [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/common/DcgmThread/DcgmThread.cpp:305] [DcgmThread::RunInternal]
2023-04-19 01:44:13.921 ERROR [4187301:4187306] Unable to load cuda module DcgmProfTesterKernels.ptx. cuSt: 222 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:165] [CudaWorkerThread::LoadModule]
2023-04-19 01:44:13.921 ERROR [4187301:4187306] loadModule failed with -3 for 0 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:395] [CudaWorkerThread::AttachToCudaDeviceFromTaskThread]
2023-04-19 01:44:13.921 ERROR [4187301:4187301] AttachToCudaDevice(0) returned -3 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:227] [CudaWorkerThread::Init]
2023-04-19 01:44:13.921 ERROR [4187301:4187301] m_cudaWorker.Init failed with -3 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DistributedCudaContext.cpp:1598] [DcgmNs::ProfTester::DistributedCudaContext::RunTest]
2023-04-19 01:44:13.922 ERROR [4187302:4187332] Unable to load cuda module DcgmProfTesterKernels.ptx. cuSt: 222 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:165] [CudaWorkerThread::LoadModule]
2023-04-19 01:44:13.922 ERROR [4187302:4187332] loadModule failed with -3 for 0 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:395] [CudaWorkerThread::AttachToCudaDeviceFromTaskThread]
2023-04-19 01:44:13.922 ERROR [4187302:4187302] AttachToCudaDevice(0) returned -3 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/CudaWorkerThread.cpp:227] [CudaWorkerThread::Init]
2023-04-19 01:44:13.922 ERROR [4187302:4187302] m_cudaWorker.Init failed with -3 [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DistributedCudaContext.cpp:1598] [DcgmNs::ProfTester::DistributedCudaContext::RunTest]
2023-04-19 01:44:54.500 INFO  [4187295:4187295] Skipping UnwatchFields() since DCGM validation is disabled. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DcgmProfTester.cpp:244] [DcgmProfTester::UnwatchFields]
2023-04-19 01:44:54.500 ERROR [4187295:4187295] Error 0 from RunTests(). Exiting. [/workspaces/dcgm-rel_dcgm_3_1-postmerge@2/dcgmproftester/DcgmProfTester.cpp:1170] [main]
$

CUDA version on the host: 11.8.89
$ /usr/local/cuda/bin/nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
$

@nikkon-dev, I am using 520.61.05
$ nvidia-smi
Wed Apr 19 15:42:54 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:5E:00.0 Off |                    0 |
| N/A   35C    P8    15W /  70W |      2MiB / 15360MiB |      0%   E. Process |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Tesla T4            On   | 00000000:D8:00.0 Off |                    0 |
| N/A   33C    P8    15W /  70W |      2MiB / 15360MiB |      0%   E. Process |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
$

@starry91,
Could you replace the ptx file next to the dcgmproftester11 with the attached one and see if that works?
DcgmProfTesterKernels.ptx.zip

I copied the DcgmProfTesterKernels.ptx file that you'd given and the test binary dcgmproftester11 is working successfully.
Does this .ptx file come with the dcgm package? If so, the package probably doesn't attach the latest file.

@nikkon-dev Can you please confirm if this a bug on DCGM side only or is it because of some mismatching config on our end?

@starry91,
This is an issue on the DCGM side. The ptx file was built with a newer version of the CUDA SDK than it should have been. This will be fixed in the next patch release.

@nikkon-dev Can you please confirm if this affects only the dcgmProfTester or something else as well?

@starry91,
That affects the dcgmproftester only.


you're nowhere using zlib.h, don't test for it.

Requiring a package on Debian and Ubuntu while not using it. Closes #1241

@KwadroNaut @knu I'm happy to merge this change, as it's unlikely to introduce any bad behavior; but part of the challenge of maintaining Nokogiri is understanding why it's building or not building on certain platforms.
Can you help me understand the specific problem that caused you to submit this PR? This will help me maintain Nokogiri in the future.

It's in the bugreport: "In e7c4756, you check whether zlib.h is present while no native code inside ext/ includes this header." zlib1g is the library you do use.
@knu remarked that 'Should be have_library('z', 'gzdopen') || have_library('z', 'gzdopen', 'zlib.h'). There might be a platform where gzdopen() is a macro defined in zlib.h.' I don't know which platforms he's thinking of.
So this would resolve the non-building on Debian/Ubuntu if you don't have zlib1g-dev installed.

@KwadroNaut I read the bug report, but I was asking because the bug report doesn't describe a specific problem on a specific platform.
What version of Debian or Ubuntu are you on that you saw this problem? I'm asking because I've been on Ubuntu and Debian for ten years and have never seen the behavior described.

@KwadroNaut - I've asked for more information at the original bug report at https://github.com/sparklemotion/nokogiri/issues/1241
zlib.h is in fact required in order to build libxml2/libxslt, and so I don't quite understand what problem y'all are seeing, which is why I'm asking.

I've had this on Debian Wheezy, just created a new Debian Jessie box and experiencing the same behavior. Installed packages:
packages-installed.txt Installed gems:
gem.txt
root@zlib:~/nokogiri# git  show
commit 027a151102083258f5e297c4fecfddca56904a2a

root@zlib:~/nokogiri# bundle exec rake
mkdir -p tmp/x86_64-linux-gnu/nokogiri/2.1.5
cd tmp/x86_64-linux-gnu/nokogiri/2.1.5
/usr/bin/ruby2.1 -I. ../../../../ext/nokogiri/extconf.rb
Using pkg-config version 1.1.7
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... no
zlib is missing; necessary for building libxml2
*** ../../../../ext/nokogiri/extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=../../../../ext/nokogiri
	--curdir
	--ruby=/usr/bin/ruby2.1
	--help
	--clean
	--use-system-libraries
	--enable-static
	--disable-static
	--with-zlib-dir
	--without-zlib-dir
	--with-zlib-include
	--without-zlib-include=${zlib-dir}/include
	--with-zlib-lib
	--without-zlib-lib=${zlib-dir}/lib
	--enable-cross-build
	--disable-cross-build
rake aborted!
Command failed with status (1): [/usr/bin/ruby2.1 -I. ../../../../ext/nokog...]
/var/lib/gems/2.1.0/gems/rake-compiler-0.9.7/lib/rake/extensiontask.rb:190:in `block (2 levels) in define_compile_tasks'
/var/lib/gems/2.1.0/gems/rake-compiler-0.9.7/lib/rake/extensiontask.rb:187:in `block in define_compile_tasks'
Tasks: TOP => default => test => compile => compile:x86_64-linux-gnu => compile:nokogiri:x86_64-linux-gnu => copy:nokogiri:x86_64-linux-gnu:2.1.5 => tmp/x86_64-linux-gnu/nokogiri/2.1.5/nokogiri.so => tmp/x86_64-linux-gnu/nokogiri/2.1.5/Makefile
(See full trace by running task with --trace)

After having applied https://github.com/sparklemotion/nokogiri/pull/1314/files :
root@zlib:~/nokogiri# bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break
this application for all non-root users on this machine.
Using rake 10.5.0
Using hoe-debugging 1.2.1
Using hoe-git 1.6.0
Using json 1.8.3
Using mini_portile2 2.1.0
Using minitest 5.8.4
Using pkg-config 1.1.7
Using racc 1.4.14
Using rake-compiler-dock 0.5.2
Using rexical 1.0.5
Using bundler 1.11.2
Using hoe 3.14.2
Using rake-compiler 0.9.7
Using rdoc 4.2.2
Using hoe-bundler 1.2.0
Using hoe-gemspec 1.0.0
Bundle complete! 14 Gemfile dependencies, 16 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

I noticed that the test_all is quite specific it it's requirements, so I'll leave that to you. Does this answer your question?

Any chance you had a look at it, or is there more info that's still needed?

@KwadroNaut Just spent some time digging into this, and again if zlib.h isn't installed, then libxml2 will be compiled without zlib support. We don't want that. And so Nokogiri checks for zlib.h before compiling libxml2.
When I try your experiment (that you detailed above) on an Ubuntu Trusty image, I cannot reproduce. The failure I see is is checking for gzdopen() in -lz... no even if I apply the patchset in this PR.
When I omit the check completely, but don't have zlib1g-dev installed, I can see that libxml2 doesn't compile with zlib support (even when zlib1g package is installed).
Because this has been so difficult to reproduce, even though I run Debian and Ubuntu myself, I'm going to close this PR, but we can continue the conversation at the underlying bug report #1241 if you like.


Windows Event Logs source

This source will only work on windows machines and is only included in the windows built.
It reads the event log stream based on the channel and query provided.

Looks great! Just need to figure out the build then let's merge it :-)

@abraithwaite
So I added this to the 3 files. And lint of course skips them. So, not sure if we need to do something to update the build to account for that.
//go:build windows
// +build windows

I haven't tried this yet, but we could potentially add a windows build configuration to the build matrix for github actions.  I don't think it's too critical right now though.  If someone picks this up, hopefully they'll report any issues they encounter.


Question on parameters for human faces

Thanks for your great work and for putting this nice code together!
I have a question regarding finding proper parameters in the .yml. When I'm trying to go from Max Planck to Einstein/Obama the results I obtain are not as smooth as what's shown in the paper but instead the output has rough edges (providing one example below where batch_size = 50, epochs=3500, train_res=512, lr=0.005). I'm wondering what's the trick that I'm missing and whether it's a matter of parameters or different desciptions ("bust of Albert Einstein" vs "Einstein" for example). Happy to get your insights!
Thanks again!

Thanks for your interest in our work!
There's no cure-all trick unfortunately, you will probably have to play around with the hyper-parameters and text prompts. I can tell you that all of the paper experiments were run with batch_size=25 and lr=0.0025. Generally, 2500 epochs is enough as well, although this can vary a bit (you may get more dramatic deformations running for longer). Definitely try different variations of the text prompt, I think "a bust of Albert Einstein" should work.

Thank you!


fix: remove batch name from upload CSV

For merging before a deployment as CLI/API changes remove the batch name. Shouldn't be merged before that though as current CLI/API versions enforce this field

I think this can be merged now?

Closing as no longer required


Final Project: Test Case 3

Summary
Failing test case 3
Description
hii, my code is failing this test case even though I only called getRestTime() once, and placed it in the done event. Not sure what else I missed out for this test case, so any help is appreciated!
Screenshots (if any):

Based on the output it looks like the rest time is not updated correctly for the human server so you might want to look at your implementation for that for possible logical errors

Had this problem before. You can see that your server 1 queue is full but your customer can still queue at it. Seems like when you decrement the queue you are not using the most updated version. Try system.out.println your queue before and after decreasing in the location where you decrease your queue

Had a similar problem, would recommend using some pseudo code or diagrams to help you visualise the process and different possible "next" events at each point in time, then try to see if your code matches what you had in mind.

I also experienced something like this, for me the issue was that i wasn't updating my server within my event instance and my platform (the class i used to store my list of servers) simultaneously and correctly, such that my server was updated in platform but not in event instance. Perhaps check if the logic for handling the updates is correct, especially with regards to updates involving rest times, since ur server states seems to be in sync for other updates

If you choose to call your getRestTime() in the Done event, either you have updated the wrong Server in your Server list with getRestTime(), or you updated the Server without adding the getRestTime() to your server's available time.

Hi there, have you solved this issue? I am stuck at a similar one where the rest times are not accounted for. May I ask the rationale for updating rest time in done, instead of maybe serve?

Hi there, have you solved this issue? I am stuck at a similar one where the rest times are not accounted for. May I ask the rationale for updating rest time in done, instead of maybe serve?

hihi, I have not solved the issue yet, but we should be updating the rest time in done because we are told that only after serving a customer there is a chance for the server to take a break ie after a Done event.

Finally managed to solve the issue, thanks for the help everyone!!

Hi, how did you solve it?

I also experienced something like this, for me the issue was that i wasn't updating my server within my event instance and my platform (the class i used to store my list of servers) simultaneously and correctly, such that my server was updated in platform but not in event instance. Perhaps check if the logic for handling the updates is correct, especially with regards to updates involving rest times, since ur server states seems to be in sync for other updates

Hi I'm facing the same issue. May I know how you solved it by updating the server within event instance and platform simultaneously?


setColorFilter and setFilterColor

there are two methods with very similiar names and purposes

Both methods were deleten. SVGView now extends ImageView and uses ImageView's methods.


remove upper version bounds of hnix and relude

Fixes #32
I had to remove the upper version bounds of hnix and relude. I am not sure, maybe you want to just "increase" the upper version bounds. Just let me know.

well, let's see what CI says! Thank you for sending this in.


Find listed_taxa from a place not on a specific checklist

Problem:
One common and significant scientific contribution that iNat makes is the discovery of new species absent from lists. Unfortunately, it is very difficult to find these discoveries.
For example, suppose the PW flora is thought to be a fairly complete list of orchids, it would be useful to be able to easily locate listed_taxa of orchids associated with Pepperwood but not on the checklist.

Proposed solution:
A tool on non-default checklists that displays all listed_taxa for a place for a taxon (or the descendants of a taxon) that ARE NOT on the checklist in question.
In the above example, this would return up to four listed_taxa:

built


Add Releases page

This PR adds a Releases page to the site.
Releases are fetched with script/releases and written to disk, _data/releases.json, and then used in releases.md and the template releases.html.
It's linked to from the footer, which may or may not be noticeable enough? @kevinsawicki

Closes #19

It's linked to from the footer, which may or may not be noticeable enough?

I think that is a good start, it is how we have it on atom.io

http://electron.atom.io/releases.html :sparkle:

http://electron.atom.io/releases.html :sparkle:

Awesome, looks great :fireworks:


get_mediawiki_variable() otputs error message to console instead of null

Need to find another solution, I see in the docker console for the maintenance scripts (ran as www user)
web_1            | /functions.sh: line 3: /dev/console: Permission denied
web_1            | /functions.sh: line 3: /dev/console: Permission denied

Maybe it's a very straightforward solution, but how do you feel about setting zero verbosity level at getMediawikiSettings.php to prevent warnings and notices from cluttering the output ?

It seems it works wrong in k8 only or Canasta, On my computer it sends all errors messages to stderr instead of variables (I mean without my previous patch to send it to /dev/null or this patch)

There is no issue at least with Taqasta image


Redirects to <IP_ADDRESS> when trying to login through github

For example, on this page, signing in redirects to <IP_ADDRESS> instead of logging in the user.
The code i used for utterances is here: https://github.com/Uzay-G/portfolio/blob/master/_layouts/post.html
Thanks for your help!

Utterances will use canonical URL if you set it.
See: https://github.com/utterance/utterances/blob/094ced65e4dbfb0d4393b3190746931140919acd/src/client.ts#L35-L36
You should fix the URL in <link rel="canonical"> you set.

Thanks! that works.


build(deps): Bump github.com/canonical/edgex-snap-hooks/v2 from 2.2.0-beta.5 to 2.2.0 in /snap/local/hooks

Bumps github.com/canonical/edgex-snap-hooks/v2 from 2.2.0-beta.5 to 2.2.0.
Signed-off-by: Farshid Tavakolizadeh<EMAIL_ADDRESS>

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/app-rfid-llrp-inventory/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I am not introducing a new dependency (add notes below if you are)
[x] I have added unit tests for the new feature or bug fix (if not, why?)
[x] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions

New Dependency Instructions (If applicable)

@farshidtz could you please review it? thank you!

@lenny-intel Could you please merge this? Thanks


Notification handlers are not documented.

I was searching the docs on how to test methods that show notifications, and I could not find any handlers related to them. After checking within NAV, thought, I found that there are indeed two Handlers for notifications: SendNotificationHandler and RecallNotificationHandler.
I don't know when those handlers where introduced in NAV, but it doesn't look like the doc has been updated since.
Furthermore, it is practically impossible to understand how to use the MethodType property (and the related HandlerMethod property) just by looking at the docs, due to the lack of examples. Either there should be a small example on how to add the attribute to a procedure, link to the AL example in https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-extension-advanced-example-test or, better, both.
And, just as final comment: procedure properties, in AL, are inserted using a syntax that, at least in C# is called Attributes. Wouldn't it have sense to use that naming in AL as well, in order to differentiate it from... well, properties?

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

ID: 6c026a3b-2e03-5166-db04-782fc38d53bf
Version Independent ID: e47dd45e-1248-4af9-1335-8db047b7c3e4
Content: MethodType Property (Test Codeunits) - Business Central
Content Source: dev-itpro/developer/properties/devenv-methodtype-property-test-codeunits.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for your feedback. We've worked on improving the docs for describing handlers and the MethodType property and this is now pushed live. Thanks again.

Thanks! Just a small detail, though: some of the examples are like:
PROCEDURE StrMenuHandler@57(Option@1000 : Text[1024];VAR Choice@1001 : Integer;Instruction@1002 : Text[1024]);
Which looks like someone exported a txt in NAV2018, not like a real AL code example.

We'll look into that and fix it with one of the next refreshes. Thanks for your patience and feedback.


PowerRename Regex match not working as expected.

ℹ Computer information

PowerToys version: 0.25
PowerToy Utility: PowerRename
Running PowerToys as Admin: no
Windows build number: [run "winver"] w10 v2004 b19041.572

📝 Provide detailed reproduction steps (if any)

Opened powerrename on a folder structure which had files named in the format S## (##).mkv.
I tried to use the regex search S(\d+) \((\d+)\)
The replace field was something like s$1 e$2

✔ Expected result
The regex search string would match the file names.
❌ Actual result
The regex search string didn't match the file names. The parenthesis seemed to be the problem. As I typed the regex search string S(\d+) \((\d+ was showing a match (I could tell by the preview field) but once I added a closing ) the regex match was failing. As a work around I performed an intermediate replace for S(\d+) \( and replaced it with S$1  to remove the opening parenthesis.

May I ask for a screenshot of the window? The input fields and the check boxes might help understanding/solving the problem.

Both these regexes work for me:
S(\d+) \((\d+)\)
S(\d+) [(](\d+)[)]
Is there additional stuff after the file name?

@crutkas Your repo attempt looked valid to me. There is no additional stuff after the file name.
Eh.. I tried a simple repo with an individual file and it didn't repo for me either.  This weekend I will see how easy it is for me to reverse the organizational changes I made. I'll try to get back to the original folder structure with 205~ or so files nested within the folders. From there I can try to completely reproduce the exact scenario.
I feel now I may not of been clear enough when I filled out the issue. What I experienced was the "rename" column of the preview window section being blank as if the regex was wrong. Since I didn't see anything in the preview I never actually tried to hit the rename button.

Without exact file name / repro steps, seems like this is can't repro right now

Please comment / reopen if you are able to reproduce.


Support disabling of rendered message

Its possible to disable the message template, but it would be great to be able to disable the rendered message as well.
Writing just the message template and the properties to splunk is more than enough, and it would essentially half the size of the data we index in splunk

Thanks @EEParker. I just took a look at your MR and that's going to be very useful for us. Looks like most of your work was just to pass the flag through! I look forward to that making its way into the next build.


ZealOS breaks compatibility with the TempleOS API as part of the project's express purpose

I don't necessarily oppose or favor the changes that make ZealOS break TempleOS' design guidelines. This thread should only serve to document just how different ZealOS is from TempleOS, by pointing out where and how it has strayed away from how Terry envisioned the system and how he said it should be.
We should try to quote Terry to back up any instance of non-compliance, and of course keep it civil.

https://zeal-operating-system.github.io/Doc/ChangeLog.DD.html

ZealOS is a complete fork from the stock OS and allows for complete user control and experimentation. Almost any PR that produces functional behaviour is merged quickly.

Graphics
Terry explains that 640x480 in 16 colors is the founding principle. If I understand his elephant example correctly, his argument boils down to the following:

pretty much everyone can draw a reasonably okay looking elephant within 640x480x4 even if it looks like toddler doodles
if you give yourself more space and colors, you're kinda expected by your audience to produce a better looking elephant
you can't expect everyone to be able to do this
Sources:
[0] - https://www.youtube.com/watch?v=4dQumAULdCE - Terry Davis - "The Founding Principle Is 640x480"

Terry used 800x600 in LoseThos, which is what ZealOS is inspired moreso by.

https://web.archive.org/web/20060702135534/http://www.losethos.com/

https://github.com/Zeal-Operating-System/ZealOS/blob/master/src/System/Utils/ConversionScript.ZC


Change speed for highway=path into the cycleway speed for all …

…bicycle types
Make sure that highway=path + way.hasTag("bicycle", intendedValues) results in the same highway speed as for a cycleway. See #634.

Thanks!
As this relates to the other issue ... shouldn't we use the high speed of 18km/h only if the path is also tagged as bicycle=designated? Just path doesn't look this fast e.g. see the wiki images

Now I included your suggestion "shouldn't we use the high speed of 18km/h only if the path is also tagged as bicycle=designated?"
I believe that handling of smoothness is another more complex issue, which sbetter hould be handled in a separated commit.

@karussell Can you please check this PR? It seems that we forgot about it.

Not forgotten just too many things.

@ratrun would mind looking into this here :) ?

The cycelway speed for path is taken only if in addition one of the intendedValues is set.

The cycelway speed for path is taken only if in addition one of the intendedValues is set.

What do you mean here and would you mind to have a look into the questions (see also in comments above):

why are they equal? Shouldn't they be different and we should use the cycleway speed instead when highway=path and designated?
there is no assert here - is this intended?
and a check is missing where highway=path without another tag resulting in the path speed=12 ?

I really would like to get this merged :)

What do you mean here? And would you mind to have a look into the questions (see also in comments above):

Here I meant line 441:
                   if (way.hasTag("bicycle", "designated") || way.hasTag("bicycle", "official"))
                      speed = getHighwaySpeed("cycleway");

Made some minor edits, added the small test case and squashed, see the change which I intend to merge soon, here: https://github.com/graphhopper/graphhopper/compare/issue_635

The only minor question left is: why do we have 'get off the bike', 'cycleway' and 'way'? What purpose does 'way' have - shouldn't it be empty instead?

The only minor question left is: why do we have 'get off the bike', 'cycleway' and 'way'? What >purpose does 'way' have - shouldn't it be empty instead?

The original intention was to make the instructions more clear from a bike riders perspective and give hints what kind of way to seek and expect. I think that I would not try this again if I had to re-implement that idea. So if you don't like the idea please delete it.

I think that I would not try this again if I had to re-implement that idea. So if you don't like the idea please delete it.

I like the information about getting of the bike and cycleway, although the API should be a bit different in the future but for now we keep this. What I mean is that the 'way' is not informative (compared to get off the bike and cycleway) and I would leave it empty instead?

I like the information about 'getting off the bike' and 'cycleway', although the API should be a bit different in the future ('more separate') but for now we keep this. What I mean is that 'way' is not informative (compared to get off the bike and cycleway) and I would leave it empty instead?

Yes this is fine. Maybe the problem here was that I'm was thinking about the German term "Weg" or colloquialism "Wegerl", which means something small. The English term way is probably not 1:1 equivivalent.

Maybe we should translate explicitely 'narrow way' (or road/path)?

Thanks again for this contribution and sorry for the delay!


Release 1.4.5

Upgrade the development environment, and upgrade docs for the 1.4.5 release.

Coverage remained the same at 68.326% when pulling f746e5d2dd770028a40d70d092e302ca2b5aeb9a on rel_1_4_5 into 14ffb02a95e32363252e22c869bfa65e9857d172 on master.


Stack view configuration helpers

In KK 2.0, I will replace much of the earlier logic with stack views. This brings devs a lot of flexibility, but I'd like to add apis that make it easier to configure them for e.g. center display.

Since SwiftUI makes creating keyboards so much easier, I will close this without action.


Renamed command handler parameter from 'event' to 'command'

This is just a minor tweak for clarity considering the integration test is the only example

Hey @rhyslbw, thanks for the help :wink:


Problem with Tooling query

I'm able to successfully query the Tooling API with curl:
curl https://security-playground.my.salesforce.com/services/data/v39.0/tooling/query?q=SELECT%20Score%20FROM%20SecurityHealthCheck -H 'Authorization: Bearer ...'
However the following jsforce code fails trying to do the same:
conn.tooling.query('SELECT Score FROM SecurityHealthCheck', function(err, res) {
if (err) { return console.error(err); }
console.log(res);
});
The stack trace returned is:
Error: Invalid URI "/services/data/v39.0/tooling/query?q=SELECT%2BScore%2BFROM%2BSecurityHealthCheck"
    `at Request.init (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/request/request.js:276:31)`
    `at new Request (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/request/request.js:130:8)`
    `at request (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/request/index.js:54:10)`
    `at /Users/nklein/projects/node.js/cross-org-health-check/node_modules/request/index.js:101:12`
    `at createRequest (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/jsforce/lib/transport.js:84:13)`
    `at Promise.promise.then (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/jsforce/lib/transport.js:43:5)`
    `at HttpApi.request (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/jsforce/lib/http-api.js:82:47)`
    `at Connection.request (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/jsforce/lib/connection.js:318:18)`
    `at Tooling.request (/Users/nklein/projects/node.js/cross-org-health-check/node_modules/jsforce/lib/api/tooling.js:83:29)`
    `at /Users/nklein/projects/node.js/cross-org-health-check/node_modules/jsforce/lib/query.js:407:23`

What am I doing wrong?  Accessing the Health Check scores via the Tooling API is available as of the Summer '16 Release.

I'm having the same issue running a query from the CLI
command: tooling.query('SELECT Id FROM WorkflowAlert')
result: Error: Invalid URI "/services/data/v42.0/tooling/query?q=SELECT%20Id%20FROM%20WorkflowAlert"
When I paste the URI into the workbench rest explorer I get the expected result.

Seems like any queries against the tooling api are failing with the above message

triaging old issues...
this error is very likely because the connection object is missing the instance url.
https://github.com/request/request/blob/3c0cddc7c8eb60b470e9519da85896ed7ee0081e/request.js#L261
https://jsforce.github.io/document/#connection


Azure Functions Http 401

I am moving our Azure Functions to Container Apps, but after overcoming a few hurdles already I am stuck with this one. Not sure if the issue is a Container App issue or an Azure Functions app issue, but it's working outside of Container Apps environment.
The issue I am facing is that no matter what I try I get 401 responses from the HTTP triggers. When setting the Function Auth to be anonymous it works, but I don't have this option in our Production Environment.
I can see that the function keys are generated in the blob storage account, but it doesn't seem to validate against those keys.
Here is my docker file:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS installer-env

ARG ACCESS_TOKEN
ARG USER
ARG PROJECTNAME
COPY . /src/dotnet-function-app
WORKDIR /src/dotnet-function-app/

RUN mkdir -p /home/site/wwwroot
RUN dotnet restore --configfile nuget.config

RUN dotnet publish **/$PROJECTNAME.csproj --no-restore -c Release --output /home/site/wwwroot

FROM mcr.microsoft.com/azure-functions/dotnet:3.0
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
    AzureFunctionsJobHost__Logging__Console__IsEnabled=true \
    AZURE_FUNCTIONS_ENVIRONMENT=Development \
    AzureWebJobsSecretStorageType=blob

COPY --from=installer-env ["/home/site/wwwroot", "/home/site/wwwroot"]

for the environment variables I am setting the following:
AzureFunctionsWebHost__hostid
AzureWebJobsStorage
FUNCTIONS_EXTENSION_VERSION
FUNCTIONS_WORKER_RUNTIME

The function is running as I can see the "home page" -> Your Functions 3.0 app is up and running, I can also see the Application Insights that the function is receiving http requests.
I am using PostMan to test. Tried adding the ?code= and x-function-key HEADER. Also tried the Master Key, Default Key, and Function Key.
Currently all our ServiceBus triggers are working as expected,
Please help.

I have found the issue - the default was TokenValidation on a different level. Changed to Function Auth explicitly and it worked.