testing: stream t.Log output as it happens

As suggested in https://github.com/golang/go/issues/23213#issuecomment-382194330, I'm filing a new issue with a proposal for how to improve t.Log and t.Logf.
What version of Go are you using (go version)?
go version go1.9.2
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
I'm on Darwin, amd64, but this affects all systems/architectures.
Motivation
Consider the following (silly) automated tests:
func TestFoo(t *testing.T) {
	t.Parallel()

	for i := 0; i < 15; i++ {
		t.Logf("%d", i)
		time.Sleep(3 * time.Second)
	}
}

func TestBar(t *testing.T) {
	t.Parallel()

	for i := 0; i < 15; i++ {
		t.Logf("%d", i)
		time.Sleep(2 * time.Second)
	}
}

func TestBaz(t *testing.T) {
	t.Parallel()

	for i := 0; i < 15; i++ {
		t.Logf("%d", i)
		time.Sleep(1 * time.Second)
	}
}

If I run go test -v, I get no log output until all of TestFoo is done, then no output until all of TestBar is done, and again no more output until all of TestBaz is done. This is fine if the tests are working, but if there is some sort of bug, there are a few cases where buffering log output is problematic:

When iterating locally, I want to be able to make a change, run my tests, see what's happening in the logs immediately to understand what's going on, hit CTRL+C to shut the test down early if necessary, make another change, re-run the tests, and so on. If TestFoo is slow (e.g., it's an integration test), I get no log output until the very end of the test. This significantly slows down iteration.
If TestFoo has a bug that causes it to hang and never complete, I'd get no log output whatsoever. In these cases, t.Log and t.Logf are of no use at all. This makes debugging very difficult.
Moreover, not only do I get no log output, but if the test hangs too long, either the Go test timeout kills the test after 10 minutes, or if I increase that timeout, many CI servers will also kill off tests if there is no log output after a certain amount of time (e.g., 10 minutes in CircleCI). So now my tests are killed and I have nothing in the logs to tell me what happened.

Current workarounds
The main workaround is to replace all t.Logf calls with either fmt.Printf or a custom logger. Since we often want to iterate quickly on tests, and since debugging is such an important use case, in practice, that means we never use t.Logf at all.
This seems like a missed opportunity. Go has a lot of powerful testing tools built in, and we usually pass the t variable around to many test methods so they can call t.Fatal(), t.Name(), etc. It would be great if t had a logger built in that we could actually use. Honestly, the only thing it's really missing is some way to configure the logger to write to stdout immediately, rather than buffering.
Possible solutions
Probably the easiest way to improve t.Log and t.Logf is to add a -test.streamlogs option to the go test command. When this option is set, t.Log and t.Logf write to stdout immediately, instead of buffering.
This means the output format with this option set wouldn't be backwards compatible, but the expectation is that this option would only be used for local debugging, and not something used in your CI system.

I think we can modify -v to get what you want.  For instance:
--- a/src/testing/testing.go
+++ b/src/testing/testing.go
@@ -560,6 +560,10 @@ func (c *common) FailNow() {
 func (c *common) log(s string) {
        c.mu.Lock()
        defer c.mu.Unlock()
+       if c.chatty {
+               fmt.Printf("%s: %s", c.name, c.decorate(s))
+               return
+       }
        c.output = append(c.output, c.decorate(s)...)
 }

This will print output immediately, and you get something like this:
$ go test -v
=== RUN   TestFoo
=== PAUSE TestFoo
=== RUN   TestBar
=== PAUSE TestBar
=== RUN   TestBaz
=== PAUSE TestBaz
=== CONT  TestFoo
TestFoo: 	test_test.go:12: 0
=== CONT  TestBaz
TestBaz: 	test_test.go:30: 0
=== CONT  TestBar
TestBar: 	test_test.go:21: 0
TestBaz: 	test_test.go:30: 1
TestBar: 	test_test.go:21: 1
TestBaz: 	test_test.go:30: 2
TestFoo: 	test_test.go:12: 1
TestBaz: 	test_test.go:30: 3
TestBar: 	test_test.go:21: 2
TestBaz: 	test_test.go:30: 4
TestBaz: 	test_test.go:30: 5
TestBar: 	test_test.go:21: 3
TestFoo: 	test_test.go:12: 2
TestBaz: 	test_test.go:30: 6
TestBaz: 	test_test.go:30: 7
TestBar: 	test_test.go:21: 4
TestBaz: 	test_test.go:30: 8
TestFoo: 	test_test.go:12: 3
TestBaz: 	test_test.go:30: 9
TestBar: 	test_test.go:21: 5
TestBaz: 	test_test.go:30: 10
TestBaz: 	test_test.go:30: 11
TestBar: 	test_test.go:21: 6
TestFoo: 	test_test.go:12: 4
TestBaz: 	test_test.go:30: 12
TestBaz: 	test_test.go:30: 13
TestBar: 	test_test.go:21: 7
TestBaz: 	test_test.go:30: 14
TestFoo: 	test_test.go:12: 5
--- PASS: TestBaz (15.01s)
TestBar: 	test_test.go:21: 8
TestBar: 	test_test.go:21: 9
TestFoo: 	test_test.go:12: 6
TestBar: 	test_test.go:21: 10
TestFoo: 	test_test.go:12: 7
TestBar: 	test_test.go:21: 11
TestFoo: 	test_test.go:12: 8
TestBar: 	test_test.go:21: 12
TestBar: 	test_test.go:21: 13
TestFoo: 	test_test.go:12: 9
TestBar: 	test_test.go:21: 14
TestFoo: 	test_test.go:12: 10
--- PASS: TestBar (30.01s)
TestFoo: 	test_test.go:12: 11
TestFoo: 	test_test.go:12: 12
TestFoo: 	test_test.go:12: 13
TestFoo: 	test_test.go:12: 14
--- PASS: TestFoo (45.02s)
PASS
ok  	_/Users/khr/gowork/issue24929	45.019s

It's pretty jumbled, but gets you what you want.
I don't think there's any issue with changing the format of -v output.

That would be great 👍
I agree the output is jumbled, but it's actually surprisingly easy to follow so long as each line is prefixed with the test name, and if it's very grep-friendly to make things even easier to read.

Yea, this is totally OK. Usually, I run that single test when debugging a test. So I don't need to bother about other outputs getting jumbled. I just want the log output to appear immediately.

I'm skeptical that we can modify -v output, for what little that's worth.

One more note on the topic of log streaming. It seems that if you run go test against multiple packages (e.g., go test -v ./...), the log output is buffered, even if you use fmt.Println or any other utility that writes to stdout. I'm not sure on the buffering logic, but it seems like no log output shows up until all the tests in an entire package are done, and the log output is displayed one package at a time.
This leads to all the same issues mentioned above, and is especially problematic in any CI system that kills tests after a certain timeout with no log output (e.g., 10 min in CircleCI). Changing your code doesn't help in this case. The only workaround I've found is to set -p 1, so each package is tested sequentially. This seems to allow fmt.Println to stream to stdout as normal, but significantly reduces the parallelism you can get in your tests.

We could argue that the output of -test.v is intended for human consumption, and as such is OK to change along the lines that @randall77 suggests above.  Programs that want to parse test output should use -test.json.  Of course, this means that we might need to modify the -test.json output in some way so that the test2json program can parse the new output.

The redefinition of -v is a bit concerning to me but maybe not enough to sink the idea.
Let's land this early in the Go 1.12 cycle, along with changes to test2json to parse the new prefixes.
If it turns out to be bad, we'll have time to roll it back.

Is anyone working on an impl? If not, I'll try something this weekend.

What's current status?

Still waiting on for it to be able to make it into Go1.12, I think. @ianlancetaylor is that still some time off? Sorry, I'm not super aware of the timeline.
Also I need to rebase, but I'll hold off until it's feasible for it to make it it in.

Done - will continue conv in issue.

Will this affect just go test -v, or also go test -v ./...? I would expect that only the former would be changed. I don't see a benefit to changing the case where multiple packages are tested.

@mvdan Replied to your question in gerrit. (tldr: it changes it slightly)

So I've run into a bit of an unspecified area implementing this. When go test -bench=. -v is used, what should the behavior be?
Currently, -bench causes the cursor to hang on the current line until the results are in, then prints the results, then prints the logs. E.x.:
# after .1s
$ go test -bench=. -v
BenchmarkFib10-8

# after 1s the results are printed on the _same_ line, then the log output on the next few lines
$ go test -bench=. -v
BenchmarkFib10-8   	      10	 103238326 ns/op
--- BENCH: BenchmarkFib10-8
    foo_test.go:53: logging bench...
    foo_test.go:53: logging bench...
    foo_test.go:53: logging bench...
	... [output truncated]
PASS

However, with a very naive implementation, if we log immediately upon log receipt we'd get,
# after 1s
$ go test -bench=. -v
BenchmarkFib10-8
    foo_test.go:53: BenchmarkFib10: logging bench...
    foo_test.go:53: BenchmarkFib10: logging bench...
    foo_test.go:53: BenchmarkFib10: logging bench...
      10	 103553535 ns/op
PASS

What should this look like instead? Should the bench behavior be unchanged?

For posterity: the latest patch introduces streaming to benchmarking, too.

Sorry @jadekler that we didn't get back to this during the early Go1.13 cycle and since we are currently in a Go1.13 freeze so am not sure if the experimental nature of it will fly for it to still be included in Go1.13, even though the CL was made earlier.

We have a wrapper code that parses the output, and I had to rework that in order to account for this change.
I do have a concern with the legibility of the output especially when running multiple tests and subtests.  Here's a simple example --
=== RUN   TestNestedSubtestFails
    TestNestedSubtestFails: multilevelsubtest_test.go:11: TestNestedSubtestFails -- level 1
         new line here
=== RUN   TestNestedSubtestFails/subtest1
    TestNestedSubtestFails/subtest1: multilevelsubtest_test.go:13: subtest1 -- level 2
=== RUN   TestNestedSubtestFails/subtest1/subtest1-1
    TestNestedSubtestFails/subtest1/subtest1-1: multilevelsubtest_test.go:15: subtest1-1 -- level 3
=== RUN   TestNestedSubtestFails/subtest1/subtest1-1/subtest1-1-1
    TestNestedSubtestFails/subtest1/subtest1-1/subtest1-1-1: multilevelsubtest_test.go:17: failed
=== RUN   TestNestedSubtestFails/subtest1/subtest1-2
=== RUN   TestNestedSubtestFails/subtest1/subtest1-2/subtest1-2-1
=== RUN   TestNestedSubtestFails/subtest1/subtest1-2/subtest1-2-2
=== RUN   TestNestedSubtestFails/subtest2
    TestNestedSubtestFails/subtest2: multilevelsubtest_test.go:26: subtest2 -- level 2
    TestNestedSubtestFails/subtest2: multilevelsubtest_test.go:27: I have a nephew/niece node!
--- FAIL: TestNestedSubtestFails (0.00s)
    --- FAIL: TestNestedSubtestFails/subtest1 (0.00s)
        --- FAIL: TestNestedSubtestFails/subtest1/subtest1-1 (0.00s)
            --- FAIL: TestNestedSubtestFails/subtest1/subtest1-1/subtest1-1-1 (0.00s)
        --- PASS: TestNestedSubtestFails/subtest1/subtest1-2 (0.00s)
            --- PASS: TestNestedSubtestFails/subtest1/subtest1-2/subtest1-2-1 (0.00s)
            --- PASS: TestNestedSubtestFails/subtest1/subtest1-2/subtest1-2-2 (0.00s)
    --- PASS: TestNestedSubtestFails/subtest2 (0.00s)
FAIL

Imagine if there are more tests/subtests that are running in parallel.  I understand the original request, but I wish that was done as an optional flag instead of being the default with no way to opt out.
Anyways, I'd like to know though if given the current implementation, is it possible for log lines to show up in between result lines, e.g.
--- FAIL: TestNestedSubtestFails (0.00s)
    TestFoo: foo_test.go:11: log line from foo
    --- FAIL: TestNestedSubtestFails/subtest1 (0.00s)
        --- FAIL: TestNestedSubtestFails/subtest1/subtest1-1 (0.00s)
            --- FAIL: TestNestedSubtestFails/subtest1/subtest1-1/subtest1-1-1 (0.00s)
        --- PASS: TestNestedSubtestFails/subtest1/subtest1-2 (0.00s)
            --- PASS: TestNestedSubtestFails/subtest1/subtest1-2/subtest1-2-1 (0.00s)
    TestFoo: foo_test:go:20: another log line from foo
            --- PASS: TestNestedSubtestFails/subtest1/subtest1-2/subtest1-2-2 (0.00s)
    --- PASS: TestNestedSubtestFails/subtest2 (0.00s)

??

Using an optional flag would just be another knob, and it shouldn't be necessary.  People who want something like the old output should be able to run the current output through sed.  (I'm not saying the current output is clearly better, I'm just saying that I don't think another knob is the right approach.)
I don't think the testing package will ever display t.Log output between result lines, but I believe that it can display data written to standard output between result lines.

Thanks for the response.
It won't be a simple sed to do exact match for all cases:)
Having standard out between result lines can mess up parsing if the output produces fake result lines.  Anyways, it's probably not likely.

See #38458, which suggests changing the format again.


Annoucement Model Validation Error

If no lang is provided to the  get_genshin_annoucements() method, the following exception is raised.
The client being used here has a Cookie.
Traceback:
Traceback (most recent call last):
  File "<repl>", line 2, in _repl_coroutine
    await _bot.genshin_client.get_genshin_announcements()
  File "/home/seria/.local/lib/python3.10/site-packages/genshin/client/components/hoyolab.py", line 108, in get_genshin_announcements
    return [models.Announcement(**i) for i in announcements]
  File "/home/seria/.local/lib/python3.10/site-packages/genshin/client/components/hoyolab.py", line 108, in <listcomp>
    return [models.Announcement(**i) for i in announcements]
  File "/home/seria/.local/lib/python3.10/site-packages/genshin/models/model.py", line 78, in __init__
    super().__init__(**data, lang=lang)
pydantic.error_wrappers.ValidationError: 1 validation error for Announcement
tag_label
  value is not a valid integer (type=type_error.integer)

Cannot reproduce, might have been a temporary issue due to an update 🤔

oh it just happens randomly


Issue in 02-sensors.py

I get the following error when I run the 02-sensors.py file. I believe it is because of the variable last_takeoff_time not defined in init() unless the function takeoff() is called in Pilot file.
Traceback (most recent call last):
File "...\tello-x\scripts\02-sensors.py", line 16, in
readings.append(pilot.get_sensor_readings())
File "...\tello-x\tellox\pilot.py", line 157, in get_sensor_readings
flight_time = time.time() - self.last_takeoff_time

Thanks for flagging this! This should be fixed in 0.2.7. Try pip install tellox --upgrade to get the new version. I changed the default behavior so that last_takeoff_time is set to the current time during init and then re-set during takeoff.


Adding endpoint option to create function.

The usual thing that I do, when I use the very useful create function plugin is to add an endpoint of the same name. I thought a property that immediately adds this as well would help me.

Hi, @martinheidegger and thanks for opening this PR. I was wondering would it make sense to parameterize the endpoint method also and maybe add possibility to have multiple methods?
@mpuittinen, what do you think?

Sorry for the late reply, how do you imagine the parameterization to work? Do you think it wouldn't be possible to add that in a later step?

How about using the syntax which includes the method in the endpoing path (e.g. "get users", "post users")?
(see examples in https://serverless.com/framework/docs/providers/aws/events/apigateway/)

@martinheidegger merged this with following changes:

option is --httpEvent
option includes the http verb (e.g. "post users", "get users", "delete users", "put users")
fixed lint
Updated README

Thanks for the contribution! This will be included in the next package release.


Cleanup of remap_restarts processing of time-invariant parameters in restart files

There appears to be obsolete reading of data in remap_restarts processing:
https://github.com/GEOS-ESM/GEOSgcm_GridComp/blob/80c7acdba5d7b3518c44bdf14152826d76c16b7e/GEOSagcm_GridComp/GEOSphysics_GridComp/GEOSsurface_GridComp/Utils/mk_restarts/CatchmentRst.F90#L258
Specifically, the time-invariant parameters that are read in subroutine read_shared_nc4() should not be needed.
When Catch[CN] restart file is remapped from one resolution or bcs version to another resolution or bcs version, the time-invariant parameters in the target restart file must come directly from the target bcs.  The time-invariant parameters in the source restart file should not be remapped.
The same probably applies to CatchmentCNRst.F90.
See also items 3. and 4. in https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/618#issuecomment-1315824577
cc: @weiyuan-jiang @biljanaorescanin

Addressed in #670.  Closing this issue.


Keep getting Error: Missing argument 'NEKOWEB_PAGENAME'. Error: Process completed with exit code 2.

Not sure what I did wrong but I keep getting the above mentioned error.
I'm wondering if it has to do with my file paths. I'm using 11ty and my build is under /public. I have the same folder name on nekoweb too.
You can see the repo for my nekoweb if that helps here
name: Deploy to Nekoweb

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Prepare build
        run: |
          mkdir -p ./build
          cp -r ./public/* ./build

      - name: Deploy to Nekoweb
        uses: mp-pinheiro/nekoweb-deploy@main
        with:
          API_KEY: ${{ secrets.NEKOWEB_API_KEY }}
          BUILD_DIR: "./build"
          DEPLOY_DIR: "/"
          CLEANUP: "true"
          DELAY: "0.5"
          NEKOWEB_PAGENAME: "snails"

so that error is a bit be misleading, what is probably happening is one of the args is empty (probably the api secret), which causes the cli to to think a variable is missing. go to your action logs and check the "deploy to nekoweb" step, look for the "running command" line, it should look like this:

notice how all args are present (and secrets are replaced with ***)

I had an error with my api secret. Fixed and it's working now. Thank you so much!


ERROR { Error: Uncaught (in promise): NAMESPACE_ERR: NAMESPACE_ERR (14): the operation is not allowed by Namespaces in XML

Bug, feature request, or proposal:
Bug
What is the expected behavior?
svg renders server side
What is the current behavior?
using
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 810">
	<path fill="#efefee" d="M592.66 0c-15 64.092-30.7 125.285-46.598 183.777C634.056 325.56 748.348 550.932 819.642 809.5h419.672C1184.518<PHONE_NUMBER>.124 290.064 902.637 0H592.66z"></path>
	<path fill="#f6f6f6" d="M545.962 183.777c-53.796 196.576-111.592 361.156-163.49 490.74 11.7 44.494 22.8 89.49 33.1 134.883h404.07c-71.294-258.468-185.586-483.84-273.68-625.623z"></path>
	<path fill="#f7f7f7" d="M153.89 0c74.094 180.678 161.088 417.448 228.483 674.517C449.67 506.337 527.063 279.465 592.56 0H153.89z"></path>
	<path fill="#fbfbfc" d="M153.89 0H0v809.5h415.57C345.477 500.938 240.884 211.874 153.89 0z"></path>
	<path fill="#ebebec" d="M1144.22 501.538c52.596-134.583 101.492-290.964 134.09-463.343 1.2-6.1 2.3-12.298 3.4-18.497 0-.2.1-.4.1-.6 1.1-6.3 2.3-12.7 3.4-19.098H902.536c105.293 169.28 183.688 343.158 241.684 501.638v-.1z"></path>
	<path fill="#e1e1e1" d="M1285.31 0c-2.2 12.798-4.5 25.597-6.9 38.195C1321.507 86.39 1379.603 158.98 1440 257.168V0h-154.69z"></path>
	<path fill="#e7e7e7" d="M1278.31,38.196C1245.81,209.874 1197.22,365.556 1144.82,499.838L1144.82,503.638C1185.82,615.924 1216.41,720.211 1239.11,809.6L1439.7,810L1439.7,256.768C1379.4,158.78 1321.41,86.288 1278.31,38.195L1278.31,38.196z"></path>
</svg>

throws
ERROR { Error: Uncaught (in promise): NAMESPACE_ERR: NAMESPACE_ERR (14): the operation is not allowed by Namespaces in XML
NAMESPACE_ERR: NAMESPACE_ERR (14): the operation is not allowed by Namespaces in XML
at Object.exports.NamespaceError (/Users/wangchengjun/www/yooli/mock/angular-mock/node_modules/domino/lib/utils.js:28:45)
at SVGSVGElement.setAttribute (/Users/wangchengjun/www/yooli/mock/angular-mock/node_modules/domino/lib/Element.js:422:50)
at t.setAttribute (/Users/wangchengjun/www/yooli/mock/angular-mock/dist/server.js:128:10526)
at t.e.setAttribute (/Users/wangchengjun/www/yooli/mock/angular-mock/dist/server.js:236:11870)
at e.setAttribute (/Users/wangchengjun/www/yooli/mock/angular-mock/dist/server.js:278:24978)

What are the steps to reproduce?
Use the above snippet in any universal applications
What is the use-case or motivation for changing an existing behavior?
to support server side rendering
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
"@angular/animations": "^5.0.0",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/forms": "^5.0.0",
"@angular/http": "^5.0.0",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@angular/platform-server": "^5.0.0",
"@angular/router": "^5.0.0",
"@nguniversal/express-engine": "^5.0.0-beta.5",
"@nguniversal/module-map-ngfactory-loader": "^5.0.0-beta.5",
"@ngx-translate/core": "^8.0.0",
"@ngx-translate/http-loader": "^2.0.0",
"bunyan": "^1.8.12",
"commander": "^2.11.0",
"core-js": "^2.4.1",
"rxjs": "^5.5.2",
"ts-loader": "^3.1.1",
"zone.js": "^0.8.14"

Test project address:
https://github.com/iTwangcj/angular5-seo-demo

This is an error in Angular core, not Material. You can work around it by removing the xmlns attribute.

@crisbeto Thanks，Problem solving。

Hello @iTwangcj  if I remove this attribute in my svg files, this files are corrupted :/


ath89/oracle-12c images not downloaded

we are trying to download sath89/oracle-12c images but we get unauthorized authentication required error,
i have login docker then try to pull image.
kindly find attached screen shot

Please guide us

I could download without any problem

Looks like some glitch of docker hub or you using some proxy


Preserve class expression identifiers if keepClassNames is set to true

Description:
Hello! This is our attempt to fix #4529. I think this is the correct fix but having to update crates/swc_ecma_minifier/tests/terser/compress/harmony/class_name_can_be_preserved/output.js made me think that maybe we need to guard the code better?
My thought is that keepClassNames should always keep any class name but maybe there are nuances that I'm missing.
I'm happy to be mentored to get this PR mergable if it's not already. I like Rust but I haven't had many changes to actually work on projects using rust.

BREAKING CHANGE:
I don't think this is a breaking change unless we consider the changes described in the diff of crates/swc_ecma_minifier/tests/terser/compress/harmony/class_name_can_be_preserved/output.js to be breaking.

Related issue (if exists):
Fixes #4529

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Decimals on numeric inputs are handled wrong on some devices

Would be good if decimals would be allowed in the fiat part ;)
@jorijn kan ik hier in bug loggen van sats.trading?
Mijn dochter wil graag haar zakgeld en kijkt dan altijd even op sats.trading hoeveel sats ze krijgt als zakgeld.
Nu is het alleen mogelijk om hele euro's in te vullen. Punt en komma werken niet meer.

It looks like browsers and operating systems handle localization differently on each platform. Some accept dots; some accept commas. I pushed some improvements, but older devices are still affected. I'll explore some options to test on more devices.

The user who reported this issue stated that although he is testing on a Dutch system, the comma is disabled, and only the dot is left as a viable option. Yet, upon using a dot, the input will fail validation and be automatically cleared, thus acting as a backspace button instead.


Issue with multiple sessions sharing same connection

When there are 2 outstations on the same connection with different source addresses, the master cannot poll the outstation it is connected to. It seems to hang.
Issue can be reproduced using the simulator:
Channel with 2 masters, both on the same connection <IP_ADDRESS>:20000
master: SRC 1 DEST 2
master2: SRC 1 DEST 3
Channel with 2 outstations, both listening on <IP_ADDRESS>:20000
outstation: SRC 2 DEST 1
outstation2: SRC 3 DEST 1
master connects and polls outstation OK
master2 connects and polls outstation2 OK
Close the master, then on polling outstation2 from master2, no response and nothing is logged.
I've attached the log files.
masters.txt
outstations.txt

Thanks Darren. It may be a little while before I get a chance to take a look into this.

Just to highlight the relevant part of the log file. When polling outstation2 from master2, the following line is logged:
14:27:13.925  INFO    channel       Begining task: Application Poll
No bytes are sent across the network for the poll (confirmed using Wireshark) so it appears that the poll is just ignored. Also, the Task returned from calling IMaster.Scan never completes.
If I find time, I'll try to search down why this is happening in the code.

I think I can explain what is happening... when calling Shutdown on the first master it calls OnLayerDown on the shared MultiDropTaskLock,
This then sets the task lock into an offline state, even though the second master is still online.
When the next poll comes in it can't acquire a lock so the task never completes.
I guess the fix would be to only call pTaskLock->OnLayerDown if it is not being used by another master stack?

This is probably enough for me to go on to fix it. The way multiple masters share a session currently is pretty awkward.

We have one system that's bringing back field telemetry via a third-party data concentrator over a single TCP connection.
It is a rare requirement, however we are currently blocked from deploying opendnp3 onto that system due to this issue.

Would a simple fix for this to add a reference counter to the MultiDropTaskLock, which is incremented on OnLayerUp and decremented on OnLayerDown. When getting to zero, it would do the usual cleanup?

Quite possibly, I'm having a look now. I'm hoping I can replicate this with an integration test instead of testing manually.

Looking at the MultidropTaskLock, this is quite clearly broken. the use case of removing 1 master from an active set of N sessions is not handled.
I am going to refactor this, write some new tests, and then test the behavior manually too using the simulator.

In e125f8455cf4a43ee5dd2ffdc37c I added a test that for this behavior.  In the commit before it I've altered the ITaskLock behavior so there is no concept of being "offline". I don't think this extra behavior is really needed.
Can you try the "fix-task-lock" branch with the simulator and see if this resolves the integrated behavior?
-Adam

In 09a92ac8228034d5eadcf44306d6745e3b503023 I changed ownership of the MultidropTaskLock to the LinkLayerRouter and added methods to set it online/offline there. This prevents callbacks to start tasks when channel is closing.
I think this matches the original intent of what I was trying to accomplish, but puts the call in the correct place.

Hi Adam, just updated the simulator to use the latest from fix-task-lock branch and retested the scenario above and still getting the same issue.

Will try it again with the change you just committed.

How are you updating the simulator.. by replacing it with a fully built local Nuget package?

I build the fix-task-branch and put those DLLs into the packages folder for the simulator to use when building in VS. Then I fixed errors due to simulator being out of date. I just tested it again and it worked! Thanks for fixing it. Attached the log files to show it worked.
masters-fixed.txt
outstations-fixed.txt

Excellent! I will merge this branch into 2.0.x now then. I will also merge 2.0.x into the 'gprs-mem-fix' branch so that you have both together while testing the new master API.

Thanks. Is the gprs branch redundant? Is all the changes from that branch in gprs-mem-fix?

Yes. The gprs-mem-fix branch also contains the TLS work. Let me do all this merging and I will send you and Sid a private email.


Second run of test_package("feather") gives errors: loading dplyr namespace is the culprit

In R-3.3.0 I loaded the feather and testthat packages and ran test_package("feather").  There were no problems.  I ran test_package("feather") a second time and got four errors.

library(feather)
library(testthat)
test_package("feather")
class: .......................
read: ...
roundtrip-vector: ....................

DONE ===========================================================================

test_package("feather")
class: .......1.2.............
read: .34
roundtrip-vector: ....................

Failed -------------------------------------------------------------------------

Failure: basic access (@test-class.R#17) ------------------------------------
iris.f[, 1:5] not identical to iris.tbl[, 1:5].
Objects equal but not identical
Failure: basic access (@test-class.R#19) ------------------------------------
iris.f[1:5] not identical to iris.tbl[1:5].
Objects equal but not identical
Failure: multiplication works (@test-read.R#6) ------------------------------
read_feather(iris_example, columns = 1:3) not identical to as_data_frame(iris)[1:3].
Objects equal but not identical
Failure: multiplication works (@test-read.R#8) ------------------------------
read_feather(iris_example, columns = "Species") not identical to as_data_frame(iris)["Species"].
Objects equal but not identical

DONE ===========================================================================
Error: Test failures
I think this happens because test-roundtrip-vector.R has the side effect of loading the dplyr
package and it disagrees with the tibble package on how to subscript tbl_df objects.  E.g.,
in a fresh session of R:

iris.tbl <- tibble::as_data_frame(iris)
class(iris.tbl[,1:5])
[1] "tbl_df"     "tbl"        "data.frame"
loadNamespace("dplyr")
<environment: namespace:dplyr>
class(iris.tbl[,1:5])
[1] "tbl_df"     "data.frame"

This is not really feather's problem, but there is a common author to all the packages
involved.
-Bill Dunlap
p.s.  Here are the versions of packages involved:

sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
other attached packages:
[1] feather_0.0.1
loaded via a namespace (and not attached):
[1] magrittr_1.5   R6_2.1.2       assertthat_0.1 parallel_3.3.0 DBI_0.4-1      tools_3.3.0    dplyr_0.4.3
[8] tibble_1.0     Rcpp_0.12.5

This can be closed once feather is changed to use arrow internally


Add last edited to table

The message table shoud show when the message was last edited and by whom. We could add a column for this in the message list table.

By whom is strange, though, since only the author of the message should be able to edit the message.


Web Map "Maritime Domain Awareness Dashboard" references service from NOAA that does not exist

Web map 995d354c59694c01bbd1ff877441526a "Maritime Domain Awareness Dashboard" references URL http://nowcoast.noaa.gov/wms/com.esri.wms.Esrimap/obs that can be found.

@jfrygeo - it is located here by chance?
https://nowcoast.noaa.gov/arcgis/rest/services/nowcoast

Services updated to reflect new NOAA REST Urls


Trying to download age-restricted video using -u and -p but it won't authenticate

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[ ] I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
I am trying to download an age-restricted video so I used the -u and -p options to enable the application
to log-in first however this fails to work producing the output
[youtube] Downloading login page
[youtube] Looking up account info
WARNING: Unable to look up account info: HTTP Error 400: Bad Request
[youtube] dl-wCB6hbxY: Downloading webpage
[youtube] dl-wCB6hbxY: Refetching age-gated info webpage
WARNING: Unable to download video info webpage: HTTP Error 404: Not Found
ERROR: Sign in to confirm your age
This video may be inappropriate for some users.
My Username/Password is certainly correct, I am using the windows command line version of youtube-dl
Can you tell me what the problem could be here?
Regards from Lori F

Use cookies.

Dear Sergey,
I always accept cookies on a website and this was no exception I looked at
the site data
just now and there are cookies from Github on my machine, the site should
be allowed.
Do I have to repost this question? I was rather hoping for a more positive
response than
just having someone close my question off with not any explanation. It did
take effort
and consideration to copy out the informatio accurately. I am a computer
programmer myself
and believed that another similarly technical person as might exist on your
site could
assist me, probably without much difficulty. I read the FAQ and the
documentation in it's
entirety but it just implies exactly what I am doing.
Regards Lori F
On Sun, May 30, 2021 at 9:40 AM Sergey M. @.***> wrote:

Use cookies.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/29171#issuecomment-850963935,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUI47Q4K2LUAB474BQUY6YTTQH2ZVANCNFSM45ZCDLCA
.

Try this: How do I pass cookies to youtube-dl?


Integrated terminal: sticky scroll header has wider letter spacing

Type: Bug
Configuration using all defaults except these:
{
    // I think Monaspace makes it obvious but other fonts are also affected:
    "terminal.integrated.fontFamily": "Monaspace Argon, Input Mono, Monaco, monospace",
    "terminal.integrated.fontSize": 11,
    "terminal.integrated.fontWeight": "400",
    "terminal.integrated.fontWeightBold": "800",
    // more obvious with 1 set here, but 0 also reproduces
    "terminal.integrated.letterSpacing": 1,
}

Run a few commands in the integrated terminal
Scroll down to trigger sticky scroll

Compare the non-sticky appearance:

With the sticky appearance:

Side by side:

After experimenting a bit with the letterSpacing configuration, I suspect the sticky bar is rendered with a spacing terminal.integrated.letterSpacing + 1 - it always seems to be wider spacing than the rest of the terminal.

VS Code version: Code - Insiders 1.91.0-insider (63d06667600a2c40245a0ab1f9e2ea816d2fe849, 2024-06-21T10:24:54.816Z)
OS version: Darwin x64 23.5.0
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (16 x 2300)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
3, 4, 5

Memory (System)
32.00GB (2.97GB free)

Process Argv
--disable-extensions --crash-reporter-id 58c9d45f-6b80-48d3-8c0b-d09f8a479b86

Screen Reader
no

VM
0%

Extensions disabled
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
vsaa593cf:30376535
py29gd2263:31024238
c4g48928:30535728
vscrpc:30624061
2i9eh265:30646982
962ge761:30841072
pythongtdpath:30726887
welcomedialog:30812478
pythonnoceb:30776497
asynctok:30898717
dsvsc013:30777762
dsvsc014:30777825
dsvsc015:30821418
pythonregdiag2:30926734
pythonmypyd1:30859725
2e7ec940:31000449
pythontbext0:30879054
accentitlementst:30870582
dsvsc016:30879898
dsvsc017:30880771
dsvsc018:30880772
cppperfnew:30980852
pythonait:30973460
jchc7451:31067543
showvideot:31016890
chatpanelt:31014475
01bff139:31013167
a69g1124:31018687
dvdeprecation:31040973
dwnewjupytercf:31046870
impr_priority:31057980
nativerepl1:31071684

This is because they use different renderers, see https://github.com/microsoft/vscode/issues/218427

@L0laapk3 yep, it should look exactly the same when https://github.com/microsoft/vscode/pull/218941 lands

The spacing is correct, but I still see a slight difference in how the two are rendered. Is that wrong or is it just some expected artifact of rendering?

With no special terminal font settings, there's still a slight difference

For some reason, sticky scroll isn't working in my powershell instance. I have terminal.integrated.stickyScroll.enabled: true

@andreamah I fixed an issue with shell integration not working in pwsh 5 yesterday, that is likely why

hmm I thought i have powershell 7 now?


raftstore/store: add more comment

What have you changed? (mandatory)
Add more comment for raftstore/store/worker, and it rearranges some code blocks to make related blocks together.
What are the type of the changes? (mandatory)

Improvement (non-breaking change which is an improvement to an existing feature)

How has this PR been tested? (mandatory)
No need
Does this PR affect documentation (docs) update? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No

PTAL @huachaohuang @CaitinChen

/rebuild

Nice patch @Connor1996


Is there a way to filter data?

DateTime objects are returned in the api with it internal representation:
{
    "date": "2012-12-31 23:00:00.000000",
    "timezone_type": 3,
    "timezone": "UTC"
}

I would like to output date as a single ISO-8601 value (DateTime::ATOM). How would you recommend doing it using this library?

You should be converting data in the DTO before serializing it.
Separation of the internal and external representation is not meant to be solved by this library. It only saves you time writing transformer objects and serializing them to the standard.


Write documentation

Fix the readme to the new setup

merged a readme update to dev. Some more documentation would useful, hence issue will not yet be closed


Proposal for new Laravel Pail logo

Hi Nuno, this is my proposal for a new Laravel Pail logo

Thank you! We will analyze your suggestion internally.

Hello Nuno, it's been 2 weeks since we submitted the logo proposal, so far we haven't received any feedback, do you have an idea if the proposal was accepted or not?


fix: secret ENV variables should be read by forked PR's also

Status
Type
⚠ Core Change
Issue

Ready
fix
Yes
Link

Problem
Contributor tests where failing when creating the PR from Forked repository.
Solution
Added the pull_request_target for fork repository also.

cc - @GabrielePicco

Thanks @iamnamananand996 . LGTM!


Changelog for next version

@belluzj could you help me draft this, at least the changes you made?
I’d like to make a release today.
Thanks

Sorry, I had forgotten about this issue.
Changes since 2.2.1: https://github.com/googlei18n/glyphsLib/compare/v2.2.1...master
Added:

glyphsLib.to_glyphs(DesignSpaceDocument | list<defcon.Font>) -> GSFont has been implemented and can create a Glyphs font from either a designspace document + source UFOs, or from a list of UFOs.
glyphsLib.to_designspace(GSFont) -> DesignSpaceDocument can translate a Glyphs font into a designspace document and UFOs (reachable via document.sources[i].font)
to_ufos()/to_designspace() (resp. to_glyphs()) have a new parameter minimize_glyphs_diffs (resp. minimize_ufo_diffs) which can be set to True when round-tripping. When true, glyphsLib stores more information in the produced file, in order to minimize diffs when coming back to the original file. It's interesting when using glyphsLib on files that are under version control.
Handle custom axes and custom axis locations
Handle Glyphs "annotations" (under a lib key in generated UFOs)
Handle background images
Handle smart components axes and values (but NOT outlines: there is no interpolation of smart components yet)
Handle multiple unicode values per glyph
Handle guidelines
Handle Glyphs hints (under a lib key in generated UFOs)
Handle Glyphs instances when using a designspace document
Glyphs API methods

GSFont.kerningForPair, GSFont.setKerningForPair, GSFont.removeKerningForPair

Fixed:

Don't crash on references to components that don't exist
Parse various formats for multiple unicode values
Parse custom data as base64 or hex-encoded bytes

Changed:

The command line argument -R/--no-round is now -r/--round-instances and does the opposite
The default names for the width and weight axes is now "Width" and "Weight" in generated designspace documents (@anthrotype did you make a comment about this change being a bad idea the other day?)

thanks jany!

default names for the width and weight axes is now "Width" and "Weight" in generated designspace documents

that's ok, because we explicitly associate the named axes with their tag in the designspace dociument's axes element, and tools are expected to use these definitions when present. The internal axis name doesn't matter. And actually, being the same as the english labelname, lets us drop the latter as it's implicitly defined as the same as the axis name attribute.

Parse custom data as base64 or hex-encoded bytes

I think we need to find a solution for this (see #354). I would like to only support hex and not base64 (as that was an unwanted deviation from the property list spec). However we need to do that properly, in a way that the parser and writer can roundrip themselves, and we don't end up writing textual strings as hex data, nor binary bytes as text.

Handle Glyphs instances when using a designspace document

what do you mean here?

Handle Glyphs instances when using a designspace document
I thought that this was new but actually it was already present before, so you can remove the line. The only new thing is that they roundtrip.

https://github.com/googlei18n/glyphsLib/releases/tag/v2.3.0


Kivy 1.10 GstPlayerException: Unable to create a playbin (one more)

Versions

Python: 2.7.6
OS: El Capitan
Kivy: 1.10.1
Kivy installation method: pip

Description
When running the example file examples/demo/kivycatalog/main.py, the GstPlayerException: Unable to create a playbin error gets raised. I had run this file with no problems in earlier versions of Kivy, but when I run the file under Kivy 1.10.1, I get this error. I have seen various other reports on this error, such as #5203, and also the Google group; however, the recommended fix of brew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg010 hasn't solved the problem for me. One consideration that I've observed is that Kivy is running Gstreamer 1.10.4, but brew is pouring Gstreamer 1.14.2. If that's a potential problem, would there be a reason why Kivy isn't finding a more recent Gstreamer version?
Code and Logs
[INFO   ] [Logger      ] Record log in /Users/KeikiHekili/.kivy/logs/kivy_18-08-05_3.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v2.7.6 (default, Jun 30 2014, 17:05:37)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_imageio, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <gl>
[INFO   ] [GL          ] OpenGL version <2.1 INTEL-10.0.52>
[INFO   ] [GL          ] OpenGL vendor <Intel Inc.>
[INFO   ] [GL          ] OpenGL renderer <Intel HD Graphics 3000 OpenGL Engine>
[INFO   ] [GL          ] OpenGL parsed version: 2, 1
[INFO   ] [GL          ] Shading version <1.20>
[INFO   ] [GL          ] Texture max size <8192>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [VideoGstplayer] Using Gstreamer <IP_ADDRESS>
[INFO   ] [Video       ] Provider: gstplayer
[WARNING] [Image       ] Unable to load image </Users/KeikiHekili/Documents/examples1.9/widgets/softboy.mpg>
[ERROR  ] [Image       ] Error loading texture ../../widgets/softboy.mpg
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [Base        ] Start application main loop
[INFO   ] [Base        ] Leaving application in progress...

 Traceback (most recent call last):
   File "/Users/KeikiHekili/Documents/examples1.9/demo/kivycatalog/main.py", line 191, in <module>
     KivyCatalogApp().run()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/app.py", line 826, in run
     runTouchApp()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/base.py", line 502, in runTouchApp
     EventLoop.window.mainloop()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/window/window_sdl2.py", line 727, in mainloop
     self._mainloop()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/window/window_sdl2.py", line 460, in _mainloop
     EventLoop.idle()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/base.py", line 337, in idle
     Clock.tick()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/clock.py", line 581, in tick
     self._process_events()
   File "kivy/_clock.pyx", line 384, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 414, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 412, in kivy._clock.CyClockBase._process_events
   File "kivy/_clock.pyx", line 167, in kivy._clock.ClockEvent.tick
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/uix/video.py", line 183, in _do_video_load
     self._video = CoreVideo(filename=filename, **self.options)
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/video/video_gstplayer.py", line 56, in __init__
     super(VideoGstplayer, self).__init__(**kwargs)
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/video/__init__.py", line 84, in __init__
     self.filename = kwargs.get('filename')
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/video/__init__.py", line 116, in <lambda>
     lambda self, x: self._set_filename(x),
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/video/__init__.py", line 113, in _set_filename
     self.load()
   File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/kivy/core/video/video_gstplayer.py", line 68, in load
     self.player.load()
   File "kivy/lib/gstplayer/_gstplayer.pyx", line 233, in kivy.lib.gstplayer._gstplayer.GstPlayer.load
 GstPlayerException: Unable to create a playbin

same error here

You should probably look into into setting GST_PLUGIN_PATH and/or GST_REGISTRY. Also, GST_REGISTRY_FORK may or may not be relevant.

@matham what should I set them to? What would the command look like?

I'm not really sure because I'm not on osx. You can read more about these variables here: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gst-running.html. But specifically try setting GST_REGISTRY with e.g. export GST_REGISTRY=~/registry.bin or some other path.
There may be other variables on the listed page that could solve this, but essentially, this is a gstreamer and not kivy problem so you may try searching for this error on google.

It appears that the issue is related to kivy.lib.gstreamer.init.py loading kivy.lib.gstreamer._gstreamer.so as opposed to a different gstreamer version from brew.

I have encountered the same issue. The only difference in my setup compared to @KeikiHekili is that I am using python 3.7. Otherwise I generate the same errors.

@physicsninja did you also have no problems with gstreamer in Kivy 1.10.0, 1.9, etc. but then the problems flared up in 1.10.1?

I am new to kivy so I haven't used any earlier versions. I tried to compile an earlier version to test if indeed that would be the case for me but I have been having little success due to what appear to bugs in cython

Is there a fix for this item? using py37.

@Julian-O I recommend closing this issue.
I ran the kivy catalog on MacOS Catalina 10.15.7 with no issue using Kivy V2.2.1 with python 3.9.13

Closing as duplicate of #6521


Arbitrary element expansion (vs. emmet-ls)

Hi!
I've tried emmet-language-server instead of emmet-ls, because I don't like that every word I write gets expanded into a tag, even though I have a close auto complete entry that would make more sense.
I've read here https://github.com/aca/emmet-ls/issues/55 that this language server fixes that problem, but it seems to have the same behavior: I'm editing a .tsx file, write "asdf" and it gets expanded to "". Is there an option I didn't see?

Hi @kpko! Hmmm.. that's weird, I don't get completions for that (even triggering manually with ctrl + space in my setup). Can you double-check your LSP/cmp config?

Did you get it working? 🤔

Hi, so my cmp configuration looks like this:
local cmp = require'cmp'

cmp.setup({
  snippet = {
    expand = function(args)
      vim.fn["vsnip#anonymous"](args.body)
    end,
  },
  mapping = cmp.mapping.preset.insert({
    ['<C-d>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
    ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
    ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
    ['<C-y>'] = cmp.config.disable,
    ['<C-e>'] = cmp.mapping({
      i = cmp.mapping.abort(),
      c = cmp.mapping.close(),
    }),
    ['<CR>'] = cmp.mapping.confirm({ select = true }),
    ['<TAB>'] = cmp.mapping.confirm({ select = true })
  }),
  sources = cmp.config.sources({
    { name = 'nvim_lsp' },
    { name = 'nvim_lsp_signature_help' },
    { name = 'path' },
    { name = 'vsnip' }
  }, {
    { name = 'buffer', keyword_length = 5 }
  })
})

cmp.setup.cmdline('/', {
  sources = {
    { name = 'buffer' }
  }
})

My lsp configuration for emmet-language-server seems very basic:
nvim_lsp.emmet_language_server.setup{
  capabilities = capabilities
}

But I'm using other language servers like gopls, rust_analyzer, tsserver, tailwindcss. Maybe one of them is producing this problem.

For a test I deactivated every language server except for emmet-language-server and I get the following output:

When you tab (or the keybinding that you use for going to the next cmp result) how does it look like? 🤔

This is what I want to see ☝🏽

I get the html tag expansion after pressing tab:

For example this:

Leads to:

I might have found something, this might be completely unrelated to your implementation.

I've reinstalled your package via npm and now I get another "Comes from" in whence:

I needed to 'force' the install because npm would not overwrite the binary.
Now I'm trying to find out where the old emmet-language-server came from.

Well, it works great now :)
I will close the issue. Thanks for your time!
I'm still not sure where the previous binary came from, though. That's weird.


Mica For Everyone does not open

It is as simple as that. Mica For Everyone does not open when I use the executable. It seems to try and open, but then closes itself. There is no window or anything visible nor anything on the system tray.
I tried using both the zip and the installer executable and got the same result.

Can you try once with your AV disabled?

From: SlavBoi420 @.>
Sent: Tuesday, September 20, 2022 11:29 AM
To: MicaForEveryone/MicaForEveryone @.>
Cc: Subscribed @.***>
Subject: [MicaForEveryone/MicaForEveryone] Mica For Everyone does not open (Issue #136)
It is as simple as that. Mica For Everyone does not open when I use the executable. It seems to try and open, but then closes itself. There is no window or anything visible nor anything on the system tray.
I tried using both the zip and the installer executable and got the same result.
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicaForEveryone%2FMicaForEveryone%2Fissues%2F136&data=05|01||2491738fce4743ef2c3f08da9acd49d7|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637992503735093244|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=K7%2FiBD0lBE2ymQHa%2B%2Bs4r2BM5ABUZapYisfZVY6N2IY%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHXTMZE3TXV6EGM3Q5DMUPLV7FHEHANCNFSM6AAAAAAQQW7274&data=05|01||2491738fce4743ef2c3f08da9acd49d7|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637992503735093244|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=PloEdvOOkxxB%2FeVavvYQFszPmNAmun7601n49VD1vwM%3D&reserved=0.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Mica For Everyone does not open when I use the executable.

Do you have .NET Core 3.1 and WinUI package installed? Maybe some dependencies are missing.

Can you try once with your AV disabled?

What does it have with AV?

And also, have you tried the MSIX version yet? Seems to be the most reliable even though that might be because almost nobody uses MSIX.

Can you try once with your AV disabled?

I don't think my AV is causing any problems as it did a full scan earlier on and found no threats

Do you have .NET Core 3.1 installed? Maybe some dependencies are missing.

I had the runtimes already installed, but then I installed the SDK as well (v3.1.423, x64), yet I still can't open MicaForEveryone

And also, have you tried the MSIX version yet?

I will try this, but it is kinda odd that both .exe and .zip files are not getting installed properly

Maybe because we used some hacks or something that broke XAML Islands when running unpackaged?

It works on my machine™


Potential upcoming issue with Sentry

It's hard to know till we have it working in prod, but right now Sentry is reporting our Emission URLs like: app:///Emission.js

So we may need to change this to be the URLs they reference.

This could back up my idea of "web urls" being why we were having "file 419" collisions in https://github.com/artsy/eigen/pull/2333#issuecomment-301834872

So we may need to change this to be the URLs they reference.

I don’t follow. I think it just uses the filename of the bundle because there’s no sourcemaps.
Can we upload sourcemaps for this staging release with sentry-cli perhaps and see if it symbolicates properly afterwards? Or is that not possible for the same reason we disabled eigen-staging uploads during the fastlane build?

I think we could, would need to re-trigger the bug though - don't think it re-symbolicates old crashes

I think Hockey would re-symbolicate when new symbols got uploaded, which kinda makes sense to me


Fix/transpiling issues

This PR addresses outstanding issues for Edge and IE11: https://github.com/WP-API/node-wpapi/issues/438 AND https://github.com/WP-API/node-wpapi/issues/426
The core of this PR builds a es version of the package to consume in webpack, rollup or similar bundlers. Oddly this package does not actually transpile anything apart from a UMD build for old browsers. This still works for most browsers as the default CJS module exported by package.json actually only uses the spread operator that is supported in most major browsers aside from IE and Edge.
Not sure how this has not been picked up before.

As an aside i will make some comments that may or may not be appropriate :-)

Rollup would be better suited as this is a library and Webpack is more suited for bundling apps.
The .eslint config is perhaps the oddest I have yet come across? What standard is this and why? makes it hard to work with as a common js dev.
folder structure could follow a few standards that we now have e.g. /src, /build, /dist etc..

OTHERWISE wow great little library we use this allot. Only we have allot of clients complaining on Edge...

Actually close this. This library needs ALLOT of work before its going to be usable in a webpack environment...

If the author is happy to accept PRs I will write one up, until then its too much time to commit without knowing if it will be accepted.


Provide a customizable lighter for format-all-mode

Fixes #191 . One does not require diminish to hide lighters anymore.

I'm not familiar with this part of Emacs, but LGTM. I'll merge it. If there are problems, we can fix them.


Update Quests to fix Vault implementation

(Required) What is your Quests version / build number (do not say "latest")?
3.3.4-b316
(Required) Please describe the problem and how to replicate it. Any console errors?
Quests utilizes old Vault APIs and needs to be updated. See also: https://github.com/MilkBowl/Vault/issues/742
[16:16:36] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'quest' in plugin Quests v3.3.4-b316
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1397) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_181]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
	at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.lang.NoClassDefFoundError: net/milkbowl/vault/item/Items
	at me.blackvein.quests.util.ItemUtil.getName(ItemUtil.java:217) ~[Quests-3.3.4.jar:?]
	at me.blackvein.quests.Quester.getObjectives(Quester.java:612) ~[Quests-3.3.4.jar:?]
	at me.blackvein.quests.Quester.getObjectivesReal(Quester.java:452) ~[Quests-3.3.4.jar:?]
	at me.blackvein.quests.Quests.showObjectives(Quests.java:1847) ~[Quests-3.3.4.jar:?]
	at me.blackvein.quests.Quests.questCommandHandler(Quests.java:1682) ~[Quests-3.3.4.jar:?]
	at me.blackvein.quests.Quests.onCommand(Quests.java:685) ~[Quests-3.3.4.jar:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-2086bb0-2f3ed3b]
	... 15 more

(Optional) Can you provide an example quest from quests.yml using Pastebin.com?
This paste will expire in 1 week for privacy reasons: https://pastebin.com/FSxsGAjs

It's been over three weeks since this issue was opened - I know you're busy, but this seems important. Do you have a timeline for the update?

Closing as duplicate of #468
@SXRWahrheit I started working on this about a week ago. The Vault API being referenced was used for, among other things, converting a server-usable item Material to client-readable text (such as Material.INKSACK, 1 ,4 -> "Lapus Lazuli"). Vault 1.6.7 removed the API entirely, and while https://github.com/MilkBowl/Vault/issues/742 implies fixing this is a simple matter of "no longer us[ing] the removed APIs", the fact is, there aren't many good replacements (well, this API comes to mind, but it hasn't been updated for MC 1.13). It became clear that I'd have to come up with my own utility to get proper item names, with enough future-proofing that it won't eventually fail like Vault's implementation. Then there's the matter of #172, which requests item names also be translated to non-English languages. My stubbornness also demands that entity names (Pig, Sheep, etc,) be translated as well.
Easier said than done. First, I had to fix #107, because metadata can determine the name of some items (specifically Potions).  Next, after countless hours of toying around, I've finally managed to come up with a very hack-ish way of converting item Materials and EntityTypes -> text in the client's language using reflection, so that it will be compatible with older versions of Spigot (and, hopefully, future versions). Lastly - and this is the part of just started on - the entire plugin needs to be updated to use my new utility rather than Vault's API. Oh, and once that's done, I'd like to have Quests soft-depend Vault (make it optional), so that users will only need it if they want economy stuff.
So, I wish I could give a timeline for all this, but I'm gonna have to leave it at "soon-ish".

Cool, thanks for the update! Just wanted to check in - not like you to be radio silent.

And great work - that's quite the task!

http://ci.ac3-servers.eu/job/Quests/489/
If desired, one can enable the item/mob/enchant translation by adding translate-items: true to one's config.yml. Note the language is determined by the client. Please report bugs in new tickets.


Merge of some fork ideas

I have merged some fork ideas.

Thank you, I'll try to incorporate your changes to master in following week, however first I'd like to test all changes together and possibly make some changes, so I'd like to ask you to rebase on dev branch I've just created. Thank you!


Upgrade to packit v2

Please upgrade to the latest packit v2 release to enable new features and extended support.

@ryanmoran looks like this issue can be closed with the merging of #256


Fixes path separator when passing the include paths to native code

When including more than one include path, they are joined using a file separator (/) rather than a path separator (:). Originally, when one includes the following two paths:

/some/path/A
/some/path/B

the following path would be passed to the native code:
/some/path/A//some/path/B
while it should have been:
/some/path/A:/some/path/B

Oops, thx, released as 4.0.1

Np. Thanks :)


optimize worker taskProcessor logger.

Adding loggers and return void if all processors in the Worker is null.if these processors in the Worker is not null ,adding loggers and continue to process .
Before commit ,some processors has judged null, others processors has not judged null, the logger is the same situation.
After the commit,all Processors judge null and logger

first,if these commands are null,the logger cannot get anything from these commands.so i think it can not log anything including taskInstanceId and name in the error log.
Second,it these commands are not null ,the cammand information can log in the info logger.And every command has taskInstanceId field.look at picture.

so can it add the identity the logger like the picture?

I think taskInstanceId  is  redundant in the info logger.because it is the field in the every command just like above picture.


doc: fix to show sponsors in narrow view

In the narrow width screen, our sponsor logos disapear except the wallaby logo.

Now, all sponsor logos are displayed.

Under 320px width, logo size is not good, but it's fine over 320px width.

Coverage remained the same at 94.428% when pulling ac9c07cb4a4e484b71deb92921aec57bbfc4e1c1 on outsideris:fix-sponsors-log into 3b4cc05f3fa0502d5d714a8f62ac8785267aa695 on mochajs:master.

For my taste these logos are way too large. And the one of OpenJS Foundation belongs into the gray part, where the netlify logo shows up.

Could you show a screenshot?

I mean the current docs, even before this PR. Those logos are larger than our own Mocha logo.

I moved all sponsorship logos into the footer because I agreed they are too big.

under 400px width:

OpenJS Foundation is not a sponsor, but one of Mocha's owners. That's why I proposed to move its logo to the footer where OpenJS Foundation is mentioned several times.
Imo the remaining true sponsors don't belong into the footer. I don't really like it, but it's upto you.
The size of the images seems ok to me.

Yes, I also don't like sponsors images bottom. It is a design issue. I will try another approach.

How about we remove matomo and wallaby logos?

There are sponsor logos missing, at least the one of Saucelabs. There is a pending issue about that.
So removing the two logos mentioned doesn't solve anything.

I fixed them.
wide width:

narrow width:


Option for Toast Swipe Left?

Hi  and thanks a lot for the excellent project. We've created several configurable wrapper functional components around your examples, and it's all working great.
One thing we recently tried to do was create options / props for positioning Toasts in either 'top-right', 'bottom-right', 'top-left' and 'bottom-left'.
We've got this working by modifying the  keyframes  and animation options in thailwind.config.js - as follows:
/** @type {import('tailwindcss').Config} */

const defaultTheme = require("tailwindcss/defaultTheme")

module.exports = {
  darkMode: 'class',
  content: [
    "./app/**/*.{js,ts,jsx,tsx}",
  ],
  plugins: [
    require('@tailwindcss/typography'),
    require('@tailwindcss/forms'),
    require("tailwindcss-radix")(),
  ],
  variants: {
    extend: {},
  },
  theme: {
    ...defaultTheme,
    fontFamily: {
      ...defaultTheme.fontFamily,
      display: ["Roboto", ...defaultTheme.fontFamily.sans],
      sans: ["Inter", ...defaultTheme.fontFamily.sans],
      mono: ["Source Code Pro", ...defaultTheme.fontFamily.mono],
    },
    gridTemplateColumns: {
      'auto-fit-280': 'repeat(auto-fill, minmax(280px, 1fr))',
      'auto-fit-320': 'repeat(auto-fill, minmax(320px, 1fr))',
      'auto-fit-480': 'repeat(auto-fill, minmax(480px, 1fr))',
    },
    extend: {
      boxShadow: {
        slider: "0 0 0 5px rgba(0, 0, 0, 0.3)",
      },
      keyframes: {
        // Dropdown menu
        "scale-in": {
          "0%": { opacity: 0, transform: "scale(0)" },
          "100%": { opacity: 1, transform: "scale(1)" },
        },
        "slide-down": {
          "0%": { opacity: 0, transform: "translateY(-10px)" },
          "100%": { opacity: 1, transform: "translateY(0)" },
        },
        "slide-up": {
          "0%": { opacity: 0, transform: "translateY(10px)" },
          "100%": { opacity: 1, transform: "translateY(0)" },
        },
        // Tooltip
        "slide-up-fade": {
          "0%": { opacity: 0, transform: "translateY(2px)" },
          "100%": { opacity: 1, transform: "translateY(0)" },
        },
        "slide-right-fade": {
          "0%": { opacity: 0, transform: "translateX(-2px)" },
          "100%": { opacity: 1, transform: "translateX(0)" },
        },
        "slide-down-fade": {
          "0%": { opacity: 0, transform: "translateY(-2px)" },
          "100%": { opacity: 1, transform: "translateY(0)" },
        },
        "slide-left-fade": {
          "0%": { opacity: 0, transform: "translateX(2px)" },
          "100%": { opacity: 1, transform: "translateX(0)" },
        },
        // Navigation menu
        "enter-from-right": {
          "0%": { transform: "translateX(200px)", opacity: 0 },
          "100%": { transform: "translateX(0)", opacity: 1 },
        },
        "enter-from-left": {
          "0%": { transform: "translateX(-200px)", opacity: 0 },
          "100%": { transform: "translateX(0)", opacity: 1 },
        },
        "exit-to-right": {
          "0%": { transform: "translateX(0)", opacity: 1 },
          "100%": { transform: "translateX(200px)", opacity: 0 },
        },
        "exit-to-left": {
          "0%": { transform: "translateX(0)", opacity: 1 },
          "100%": { transform: "translateX(-200px)", opacity: 0 },
        },
        "scale-in-content": {
          "0%": { transform: "rotateX(-30deg) scale(0.9)", opacity: 0 },
          "100%": { transform: "rotateX(0deg) scale(1)", opacity: 1 },
        },
        "scale-out-content": {
          "0%": { transform: "rotateX(0deg) scale(1)", opacity: 1 },
          "100%": { transform: "rotateX(-10deg) scale(0.95)", opacity: 0 },
        },
        "fade-in": {
          "0%": { opacity: 0 },
          "100%": { opacity: 1 },
        },
        "fade-out": {
          "0%": { opacity: 1 },
          "100%": { opacity: 0 },
        },
        // Toast
        "toast-hide": {
          "0%": { opacity: 1 },
          "100%": { opacity: 0 },
        },
        "toast-slide-in-right": {
          "0%": { transform: `translateX(calc(100% + 1rem))` },
          "100%": { transform: "translateX(0)" },
        },
        "toast-slide-in-left": {
          "0%": { transform: `translateX(calc(-1 * (100% + 1rem)))` },
          "100%": { transform: "translateX(0)" },
        },
        "toast-slide-in-bottom": {
          "0%": { transform: `translateY(calc(100% + 1rem))` },
          "100%": { transform: "translateY(0)" },
        },
        // Leave toast-swipe-out for compatibility - swipe out right
        "toast-swipe-out": {
          "0%": { transform: "translateX(var(--radix-toast-swipe-end-x))" },
          "100%": {
            transform: `translateX(calc(100% + 1rem))`,
          },
        },
        "toast-swipe-out-right": {
          "0%": { transform: "translateX(var(--radix-toast-swipe-end-x))" },
          "100%": {
            transform: `translateX(calc(100% + 1rem))`,
          },
        },
        "toast-swipe-out-left": {
          "0%": { transform: "translateX(var(--radix-toast-swipe-end-x))" },
          "100%": {
            transform: `translateX(calc(-1 * (100% + 1rem)))`,
          },
        },
      },
      animation: {
        // Dropdown menu
        "scale-in": "scale-in 0.2s ease-in-out",
        "slide-down": "slide-down 0.6s cubic-bezier(0.16, 1, 0.3, 1)",
        "slide-up": "slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1)",
        // Tooltip
        "slide-up-fade": "slide-up-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)",
        "slide-right-fade":
          "slide-right-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)",
        "slide-down-fade": "slide-down-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)",
        "slide-left-fade": "slide-left-fade 0.4s cubic-bezier(0.16, 1, 0.3, 1)",
        // Navigation menu
        "enter-from-right": "enter-from-right 0.25s ease",
        "enter-from-left": "enter-from-left 0.25s ease",
        "exit-to-right": "exit-to-right 0.25s ease",
        "exit-to-left": "exit-to-left 0.25s ease",
        "scale-in-content": "scale-in-content 0.2s ease",
        "scale-out-content": "scale-out-content 0.2s ease",
        "fade-in": "fade-in 0.2s ease",
        "fade-out": "fade-out 0.2s ease",
        // Toast
        "toast-hide": "toast-hide 100ms ease-in forwards",
        "toast-slide-in-right":
          "toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)",
        "toast-slide-in-left":
          "toast-slide-in-left 150ms cubic-bezier(0.16, 1, 0.3, 1)",
        "toast-slide-in-bottom":
          "toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)",
        // Leave toast-swipe-out for compatibility - swipe out right.
        "toast-swipe-out": "toast-swipe-out 100ms ease-out forwards",
        "toast-swipe-out-right": "toast-swipe-out-right 100ms ease-out forwards",
        "toast-swipe-out-left": "toast-swipe-out-left 100ms ease-out forwards",
      },
    },
  },
}

This is all working fine, and we can now position and animate the entrance and close of the Toast component to any corner.
There's just one problem. The direction of the pointer 'drag' and data attribute for 'move'  event  data-swipe='move' has its drag direction configured at the provider level - as in the docs here...
https://www.radix-ui.com/docs/primitives/components/toast#provider  - with the swipeDirection prop and enum (for "right" | "left" | "up" | "down").
For example ToastPrimitive.Provider swipeDirection='right'
Which means we're not sure whether it's possible to configure this at the ToastPrimitive.Root  level (which we wrap in our configurable component) to change the direction of the manual 'drag' and 'move' of the Toast.
Are we going about this the wrong way? Or is there no easy solution?
For interest, our complete Toast component implementation is here...
https://github.com/infonomic/remix.infonomic.io/blob/develop/app/ui/components/notifications/toast.tsx
Suggestions or thoughts greatly appreciated.
And again - thanks for the great project - and Happy New Year!

Hey there 👋🏻 ,
In terms of making it work based on the defined swipe direction we could try adding data-swipe-direction (https://www.radix-ui.com/docs/primitives/components/toast#root) to the plugin, so you wouldn't need to re-adjust the component based on whatever you set in the provider. Regarding the provider itself I'd ask in the radix repo. I don't see a way you can configure it within root, but on the other hand it makes sense to have consistent behavior for ux purposes?

Ah nicely spotted - they set a data attribute for data-swipe-direction .
And so as you suggest - I guess the plugin could be updated to detect this?
I struggle to see how a swipe up or swipe down Toast would work on larger screens - but why not I suppose?
Correct me if I'm wrong - but I think swipe direction (the 'drag' direction to clear the Toast) and position are separate.  It would still be nice to have an 'in-app' option for position of top or bottom. There may be a valid a use case for a Toast being used in a different way - depending on the functional area of the application and the UI over which it appears.  Mobile would also likely be set to 'bottom' as it is now, but swipe could be left, right, or down.
In terms of UX consistency - I agree too that a change in something like swipe direction would be unlikely within a single application.
So not sure what this means then - as the changes we've made sort of do what we need - as long as we set the provider to an appropriate swipe direction.
And now I'm not so sure if following data-swipe-direction  makes sense - unless we could say that the animation direction can always be computed from the data-swipe-direction - i.e. the entrance animation would also be opposite of the data-swipe-direction?
data-swipe-direction="right" => animate entrance left
data-swipe-direction="left" => animate entrance right
data-swipe-direction="up" => animate entrance down
data-swipe-direction="down" => animate entrance up
The problem with this is right away is that mobile wouldn't work for animate entrance up, with swipe left or right to clear (which is arguably an expected behavior)
I think I've just managed to confuse myself.  Heh.

Published a new release with an example for swipe direction here: https://github.com/ecklf/tailwindcss-radix/blob/main/demo/components/toast.tsx#L37-L40
Let me know if that helps with what you want to achieve 👍🏻

Okay thanks! Will take a look!
Have also taken a proper look at how you derive selectors from named data attributes here...
https://github.com/ecklf/tailwindcss-radix/blob/8f45d236429059dfa50641e9f2224a6daa2945ea/src/index.ts#L91
Very nice.

Hi again - okay I've taken a look and done some tests. I think having the extra selector for data-swipe-direction is great - and adds a level of configurability.
Also having had the time now (without having a six-year-old pulling at my sleeve), I've understood the Radix settings a bit better now as well. The primitive setting here, <ToastPrimitive.Provider swipeDirection='right'> - might also be called swipeDetection - since what it's doing, is determining which mouse drag direction, or mobile gesture direction is used to trigger the end animation. And certainly as it is now - it would be up to the developer to ensure that this setting, and the corresponding animation agree (i.e. don't swipe right, and trigger a left exit animation).
For the new demo - again - great that the new selector for swipe direction is being shown... but... if I may say, I think on mobile - swiping right or left is the more 'expected' UX to clear the notification. Of course that's just a preference, and easy to change.
In terms of the tailwind.config.js settings for transition and animation  settings- and again, as a preference I suppose (and granted that the 'left' and 'up' options would be far less likely) - we've configured ours as follows...
 keyframes: {
    // Toast
    "toast-hide": {
      "0%": { opacity: 1 },
      "100%": { opacity: 0 },
    },
    "toast-slide-in-right": {
      "0%": { transform: `translateX(calc(100% + 1rem))` },
      "100%": { transform: "translateX(0)" },
    },
    "toast-slide-in-left": {
      "0%": { transform: `translateX(calc(-1 * (100% + 1rem)))` },
      "100%": { transform: "translateX(0)" },
    },
    "toast-slide-in-bottom": {
      "0%": { transform: `translateY(calc(100% + 1rem))` },
      "100%": { transform: "translateY(0)" },
    },
    "toast-slide-in-top": {
       "0%": { transform: `translateY(-1 * (calc(100% + 1rem)))` },
       "100%": { transform: "translateY(0)" },
     },
    // Leave toast-swipe-out for compatibility - swipe out right
    "toast-swipe-out": {
      "0%": { transform: "translateX(var(--radix-toast-swipe-end-x))" },
      "100%": {
        transform: `translateX(calc(100% + 1rem))`,
      },
    },
    "toast-swipe-out-right": {
      "0%": { transform: "translateX(var(--radix-toast-swipe-end-x))" },
      "100%": {
        transform: `translateX(calc(100% + 1rem))`,
      },
    },
    "toast-swipe-out-left": {
      "0%": { transform: "translateX(var(--radix-toast-swipe-end-x))" },
      "100%": {
        transform: `translateX(calc(-1 * (100% + 1rem)))`,
      },
    },
    "toast-swipe-out-down": {
      "0%": { transform: "translateY(var(--radix-toast-swipe-end-y))" },
      "100%": {
        transform: `translateY(calc(100% + 1rem))`,
      },
    },
    "toast-swipe-out-up": {
      "0%": { transform: "translateY(var(--radix-toast-swipe-end-y))" },
      "100%": {
        transform: `translateY(calc(-1 * (100% + 1rem)))`,
      },
    },
  },

animation: {
    // Toast
    "toast-hide": "toast-hide 100ms ease-in forwards",
    "toast-slide-in-right":
      "toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)",
    "toast-slide-in-left":
      "toast-slide-in-left 150ms cubic-bezier(0.16, 1, 0.3, 1)",
    "toast-slide-in-bottom":
      "toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)",
     "toast-slide-in-top":
          "toast-slide-in-top 150ms cubic-bezier(0.16, 1, 0.3, 1)",
    // Leave toast-swipe-out for compatibility - swipe out right.
    "toast-swipe-out": "toast-swipe-out 100ms ease-out forwards",
    "toast-swipe-out-right": "toast-swipe-out-right 100ms ease-out forwards",
    "toast-swipe-out-left": "toast-swipe-out-left 100ms ease-out forwards",
    "toast-swipe-out-down": "toast-swipe-out-down 100ms ease-out forwards",
    "toast-swipe-out-up": "toast-swipe-out-up 100ms ease-out forwards",
  },

Hope some of this helps. If you think this is an okay approach I'd be glad to submit a pull request. Whatever you feel is best. Thanks again for the amazing project, and hope that 2023 is off to a good start for you and yours ;-)


Provide CI testing for camel-nats

https://fabric8-ci.fusesource.com/view/wildfly-camel/job/wildfly-camel/lastCompletedBuild/testReport/org.wildfly.camel.test.nats/

This might be a good candidate for Docker.


Disable toggle for  'Metadata Extraction' in create service not allowing to go to next step.

Steps to reproduce:

Create service
Go to "ingestion details" section
Disable the metadata extraction
Click next, it won't take you to next step.

https://user-images.githubusercontent.com/83201188/150903271-1dbe68b0-12c8-4201-847e-e168c8491a87.mov

Fixed


Question: should whole component re-render on checkbox onChange?

Using useValidatedInput() for a chechbox forces entire component to re-render.
From the React DevTools Profiler:

This is breaking Cypress tests:
cy.findAllByLabelText('7 - 8').should('have.length', 7).click({ multiple: true })
cy.findAllByLabelText('17 - 18').should('have.length', 7).click({ multiple: true })
cy.findAllByLabelText('23 - 24').should('have.length', 7).click({ multiple: true }) // 👈 fires a React re-render on the whole <form>
cy.intercept('POST', '**/profile/scheduleinfo*').as('updateSchedule')
cy.findByText('Guardar').click() // 👈 doesn't fire a form submission because React will re-render
cy.wait('@updateSchedule') // 👈 test fails because this network request never happens

I'm wondering why is the entire component re-rendering and if it should 🤔

Just realized there's some issue with the .click({ multiple: true }) that's making the form submission not work. Still investigating, but I'll close this issue for now as it's probably not to do with RVS :)


Php 7.4

Please update included php-cs-fixer and add @PSR7 compatibility.
Thanks.

You can use whatever version of php-cs-fixer you want. You can add to settings.json:
 "vscode-php-cs-fixer.toolPath": "/path/to/bin/php-cs-fixer",

Thanks for the heads up on this! I'll be pushing an update to the extension over the next day or two.

I'd love to see this feature soon.

Waiting for this too

+1

While we wait for https://github.com/fterrag/vscode-php-cs-fixer/pull/11 to get merged, if you need to use this extension with PHP 7.4, go ahead and download/install php-cs-fixer  following the directions here - https://github.com/FriendsOfPHP/PHP-CS-Fixer#installation.
Then under the php-cs-fixer extension settings, set the "Tool Path" to where you installed PHP CS Fixer. I installed it globally with Composer so my path is /home/USERNAME/.composer/vendor/bin/php-cs-fixer.

Has anyone tried this on Windows 10? I changed my setting to
C:\\Users\\USERNAME\\AppData\\Roaming\\Composer\\vendor\\bin\\php-cs-fixer
also tried with .bat file. Neither worked, the error about PHP7.4 is gone, but now nothing happens. No log, no formatting.


malloc$of$φ.js:8-10: Implement malloc$of$φ atom. We need...

The puzzle 3-3ceb5b97 from #3 has to be resolved:
https://github.com/objectionary/eo2js/blob/05f2c31c54ef4fff7087c74e6774a74ccefb1687/eo2js-runtime/src/objects/org/eolang/malloc$of$φ.js#L8-L10
The puzzle was created by maxonfjvipon on 22-May-24.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd 2 puzzles #76, #77 are still not solved.


PSR-11 compatibility

Please consider making the Injector PSR-11 friendly.
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-11-container.md
See https://github.com/thephpleague/container/blob/40aed0f11d16bc23f9d04a27acc3549cd1bb42ab/composer.json#L23-L35

This can be achieved with a very simple wrapper. As applications shouldn't know about the injector except for the bootstrapping phase, I personally don't see too much value in this specific PSR, but I also don't work with the usual frameworks.
What's needed in your opinion to make it PSR-11 friendly?

get and has methods and few lines in composer.json

Thinking about it, there's more to it than those two methods. As identifiers in PSR-11 are opaque, you'd have to be able to define things based on identifiers instead of types.

This was an old question in the old repo:
https://github.com/rdlowrey/auryn/issues/77
https://github.com/rdlowrey/auryn/issues/127
And there are two library borned to do that:
https://github.com/elazar/auryn-container-interop
https://github.com/northwoods/container
I don't know if they still work with the latest version of the Injector in this repo.

Thank you.
It seem 1 hour of work.

As someone who used auryn since 2013 for multiple production apps, and someone who totally agrees on the ideology of auryn, I found it's always a nightmare to integrate 3rd party libraries that rely on PSR-11. That always made me do some adapters or implement one of the above links, this feels hacky and subject to get broken on injector upgrades.
Why don't we do a simple one class implementation via e.g. decorator pattern, that's used to serve as an adapter to PSR-11? Decorator, so you may still use the original instance of Injector elsewhere.
I think this was the most requested feature in the original repo

Anyone open for discussion? :)

I'll add it, but only after I added identifiers as a concept.

This has been implemented in the latest master branch. I'll probably take some time before it's released.

Thank you.


[SNOW-851220] Integration tests of snowpark function commands

Pre-review checklist

[x] I've confirmed that instructions included in README.md are still correct after my changes in the codebase.
[x] I've added new automated tests to verify correctness of my new code.
[x] I've confirmed that my changes are up-to-date with the target branch.
[x] I've described my changes in the section below.

Changes description

Fixed snow snowpark function update command execution.
Added integration test for all commands from snowpark function group.
Added some test utils in tests_integration/testing_utils directory.
Changed temporary integration test database prefix from db_ to snowcli_integration_tests_db_ to make our trash be easier to identify.
Fixed imports in test_sql.py and test_warehouse.py.
Added tests_integration directory to the list of exclusions for trailing-whitespace hook.

I rebased the branch and added two commits with fixes. Unfortunately, I did sth wrong (probably changed commit hash) and my original commit is not visible in github commits history for this PR but it still visible correctly in git log (8eab8e5):
git log --oneline
cf57462 [SNOW-851220] Fixed invocation of CLI runner in other integration tests
b89f994 [SNOW-851220] Review fixes
8eab8e5 [SNOW-851220] Integration tests of snowpark function commands
7b26ca0 (tag: v1.0.1-rc1, origin/main, origin/HEAD, main) Bump version to 1.0.1 (#264)

@sfc-gh-astus , @sfc-gh-turbaszek
Please look at my fixes and my responses to your comments.


do not require docker for default clouds

@derekwaynecarr
Review please.

Pulling the reverted commits and issuing a new PR. Closing this one out.


how to enable the 'share' training recipe in the paper

Hi, many thanks for your awesome work first!
However, I am a bit confused about how to enable the 'share' training recipe correctly in the paper. This setting looks like a three-stage training.
Stage 1: Use the 'base'  training recipe only to train the connector on the pre-training dataset (e.g., LLaVA-1.5-558k).
Stage 2: Inherit the connector from Stage 1, and pertain the partial visual encoder， connector and the llm using the same pre-training dataset (e.g., LLaVA-1.5-558k) for one epoch.
Stage 3: Only train the connector and the llm on SFT data like LLaVA-1.5-mix-665k.
It looks that the pre-training data is actually trained for two epochs (in stage 1 and stage 2) if my understanding is correct.
But what hyperparameter configuration is used in this stage 1? and do we need to train the full-epoch data in this Stage?
Also, May I ask where to find the shell scripts about using 'share' training recipe in the codebase?

The scripts for 'share' training strategy are located in script/train/share.

The scripts for 'share' training strategy are located in script/train/share.

Thank you very much for sharing!
DATA_PATH=/home/ai/data/llava/dataset/text_files/blip_laion_cc_sbu_558k.json
SHARE_PRETRAIN_DATA_PATH=/mnt/data/sata/ssd/dataset/text_files/really_cleaned_share-captioner_coco_lcs_sam_1246k_1107.json
SHARE_FINETUNE_DATA_PATH=/mnt/data/sata/ssd/dataset/text_files/cleaned_sharegpt4v_mix665k_cap23k_coco-ap9k_lcs3k_sam9k_div2k.json
IMAGE_PATH=/home/ai/data/llava/dataset/llava/llava_pretrain/images
SHARE_PRETRAIN_IMAGE_PATH=/home/ai/data/llava/dataset
SHARE_FINETUNE_IMAGE_PATH=/home/ai/data/llava/dataset

LLM_VERSION=microsoft/phi-2
VT_VERSION=google/siglip-so400m-patch14-384
VT_VERSION2=""
CN_VERSION=mlp2x_gelu
CONV_VERSION=phi
VERSION=share
TRAIN_RECIPE=common
MODEL_MAX_LENGTH=3072

bash scripts/train/pretrain.sh "$DATA_PATH" "$IMAGE_PATH" "$LLM_VERSION" "$VT_VERSION" "$VT_VERSION2" "$CN_VERSION" "$VERSION" "$TRAIN_RECIPE" "$MODEL_MAX_LENGTH"
bash scripts/train/share/pretrain_share.sh "$SHARE_PRETRAIN_DATA_PATH" "$SHARE_PRETRAIN_IMAGE_PATH" "$LLM_VERSION" "$VT_VERSION" "$VT_VERSION2" "$CN_VERSION" "$VERSION" "$TRAIN_RECIPE" "$MODEL_MAX_LENGTH"
bash scripts/train/share/finetune_share.sh "$SHARE_FINETUNE_DATA_PATH" "$SHARE_FINETUNE_IMAGE_PATH" "$LLM_VERSION" "$VT_VERSION" "$VT_VERSION2" "$CN_VERSION" "$CONV_VERSION" "$VERSION" "$TRAIN_RECIPE" "$MODEL_MAX_LENGTH"

So it looks like Stage 2 uses the ShareGPT4V as the training data, but inherits the connector trained with  LLaVA-1.5-558k in Stage 1. Is my understanding correct?

Yes, you are right.

Hi,
I found a point really confusing after reading the script `script/train/share/pretrain_share.sh.'
In the paper, it looks like the `share training recipe' will train partial parameters of the vision encoder (VE). But in the script, it looks that the whole VE is frozen, based on the args '--tune_type_vision_tower frozen '

Then I check the code in `TinyLLaVA_Factory/tinyllava/training_recipe/base.py'

It seems that '--tune_type_vision_tower frozen ' refers to the whole VE is not trained during the training. And '--tune_type_vision_tower partially-tune ' is  actually suitable for the `share training recipe'.
So I just want to make sure whether the training of phi-2' is really based on the share training recipe' mentioned in the paper, when runing the script `TinyLLaVA_Factory/scripts/train/share/train_phi_share.sh' in the repo?

In fact, the share training recipe keeps the vision tower frozen. The partial training of the vision tower mentioned in the paper corresponds to the partially-tune setting. We have identified some issues in the original code, so the scripts and results we provide for the share training recipe are based on keeping the vision tower frozen.

Thanks for the clarification.
So the `share training recipe' just looks like performing a warm-up on the projector using the ShareGPT4V data?

It also changes the training recipe of the LLM from frozen to full during pretraining.


refreshing on the checkout page ends up back to the home page

the problem here is on module - https://github.com/sprangular/sprangular/blob/master/app/assets/javascripts/sprangular/module.coffee#L57
Apparently Cart.current.items is empty even if i have line items on my cart:
2.1.5 :013 > order = Spree::Order.last
  Spree::Order Load (0.4ms)  SELECT  "spree_orders".* FROM "spree_orders"   ORDER BY "spree_orders"."id" DESC LIMIT 1
 => #<Spree::Order id: 66, number: "R220900179", item_total: #<BigDecimal:7fa35af61710,'0.2998E2',18(18)>, total: #<BigDecimal:7fa35af61648,'0.3578E2',18(18)>, state: "payment", adjustment_total: #<BigDecimal:7fa35af61508,'0.8E0',9(18)>, user_id: 1, completed_at: nil, bill_address_id: 205, ship_address_id: 206, payment_total: #<BigDecimal:7fa35af61210,'0.0',9(18)>, shipping_method_id: nil, shipment_state: nil, payment_state: nil, email<EMAIL_ADDRESS>special_instructions: nil, created_at: "2015-02-11 18:50:58", updated_at: "2015-02-12 11:26:30", currency: "USD", last_ip_address: "<IP_ADDRESS>", created_by_id: 1, shipment_total: #<BigDecimal:7fa35af603d8,'0.5E1',9(18)>, additional_tax_total: #<BigDecimal:7fa35af60310,'0.8E0',9(18)>, promo_total: #<BigDecimal:7fa35af60248,'0.0',9(18)>, channel: "spree", included_tax_total: #<BigDecimal:7fa35af60108,'0.0',9(18)>, item_count: 2, approver_id: nil, approved_at: nil, confirmation_delivered: false, considered_risky: false, guest_token: "GXnvvpJnejG1DOWmlRY85g", canceled_at: nil, canceler_id: nil, store_id: 1, state_lock_version: 0, subscription_id: nil, repeat_order: false>
2.1.5 :014 > order.line_items.length
  Spree::LineItem Load (0.4ms)  SELECT "spree_line_items".* FROM "spree_line_items"  WHERE "spree_line_items"."order_id" = $1  ORDER BY spree_line_items.created_at ASC  [["order_id", 66]]
 => 2

I don't think the Cart service Cart#load method is being called

@mickey it works for me in the spec/dummy app.
Cart.load is actually being called when the Cart service is initialized.
Since the run block takes the Cart service as a dependency, Sprangular.startupData should of be ran when the service is first created. See:
https://github.com/sprangular/sprangular/blob/master/app/assets/javascripts/sprangular/module.coffee#L37
https://github.com/sprangular/sprangular/blob/master/app/assets/javascripts/sprangular/services/cart.coffee#L111

@mickeyren Can you double check if this is still happening?

Hey @mickeyren,
Confirmed this is working on master
(closing for now, re-open if its still an issue)


Python 3.9 fails to build with musl

Describe the bug
pkgsMusl.python3 fails to build: https://hydra.nixos.org/build/148241699
Notify maintainers

cc @FRidh
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: pkgsMusl.python3, pkgsMusl.python39
# a list of nixos modules affected by the problem
module:

Also happens with python38 and is fixed by disabling LTO. Will have to check if it ever worked with LTO may be just a case of disabling LTO with musl.

It sounds like this LTO option is risky and should default to false except for a few very specific cases (that we tested).

The failure of “recompile with -fPIC” is strange though, I wonder if there's an alternative fix which makes LTO work with musl as well? I feel like it should at least not be impossible…

1e47dd9cb847f57ec859c071d6c697270a53d1e7 is the first bad commit, so suspicion confirmed.