Integration no longer working after 2023.5

I upgraded to 2023.5 of HA and I am no longer able to load the integration:
Logs:
2023-05-04 19:42:39.961 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration kwikset which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-05-04 19:42:39.962 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration kwikset which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-05-04 19:46:41.521 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Home for kwikset File "/config/custom_components/kwikset-ha/__init__.py", line 53, in async_setup_entry 2023-05-04 19:46:41.525 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/diagnostics.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.diagnostics' 2023-05-04 19:46:41.526 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/recorder.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.recorder' 2023-05-04 19:46:41.527 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/media_source.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.media_source' 2023-05-04 19:46:41.528 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/group.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.group' 2023-05-04 19:46:41.529 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/logbook.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.logbook' 2023-05-04 19:46:41.529 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/system_health.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.system_health' 2023-05-04 19:46:41.530 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/significant_change.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.significant_change' 2023-05-04 20:02:59.598 ERROR (MainThread) [homeassistant.helpers.integration_platform] Unexpected error importing kwikset/hardware.py ModuleNotFoundError: No module named 'custom_components.kwikset-ha.hardware' 2023-05-05 05:53:31.062 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Home for kwikset File "/config/custom_components/kwikset-ha/__init__.py", line 53, in async_setup_entry 2023-05-05 05:58:15.435 WARNING (SyncWorker_62) [homeassistant.loader] We found a custom integration kwikset which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-05-05 05:58:44.090 WARNING (SyncWorker_26) [homeassistant.loader] We found a custom integration kwikset which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-05-05 05:58:44.092 WARNING (SyncWorker_26) [homeassistant.loader] We found a custom integration kwikset which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2023-05-05 05:59:55.059 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Home for kwikset File "/config/custom_components/kwikset-ha/__init__.py", line 53, in async_setup_entry

I'm using 2023.5.2 and the integration is working for me, other than the roughly weekly issue where my token/authentication goes stale and integration will stop working.  I usually won't know about it until I do a manual refresh, which then throws and error.  Have you tried doing a refresh?

Same

Yes I have refreshed several times and also uninstalled/reinstalled the feature adding back my credentials

I am glad to hear it is working for you again. I am unsure what may be going on with your refreshing as I never have to login unless I change my password. I am looking at getting it coded so that it will prompt you in the interface if there is an issue with credentials. I just haven't been able to put time towards the project as I would like. I have looked at it just got to force myself to finish it when I am free.
Since the original issue of the integration not working is resolved, I am going to close this ticket. I would encourage you to watch #46 as this is where I will be tracking the refresh and password changes.

I would almost say this is an issue with home assistant. The files being referenced from the log are not directly included with the integration except for the init.py file.
I know there are no files called significant_change or hardware or even system_health that have been coded.
Was this working before 2023.5?

Hello,
Once again this is broken for me, I was hoping something easy such as re-loading or reinstalling the integration would fix it. Unfortunately, not. I have tried re-authenticating, reinstalling, deleting, and reinstalling, but all have failed.
I agree with the observation that it seems related to the 2023.5 update, as this is when everything stopped working again. As before when Kwikset changed things up and things got broken, I'll be happy to provide log files or anything else you ask for. As for now, my integration with Kwikset is no longer working since I can no longer authenticate. When I try, I get a, "Unknown error occurred" error.
Short of getting rid of the Kwikset lock and finding something that works more reliably with Home Assistant, I'm not sure what else to try.

Hello,
Once again this is broken for me, I was hoping something easy such as re-loading or reinstalling the integration would fix it. Unfortunately, not. I have tried re-authenticating, reinstalling, deleting and reinstalling, but all have failed.
I agree with the observation that it seems related to the 2023.5 update, as this is when everything stopped working again. As before when Kwikset changed things up and things got broken, I'll be happy to provide log files or anything else you ask for. As for now, my integration with Kwikset is no longer working since I can no longer authenticate. When I try, I get a, "Unknown error occurred" error.

`This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/kwikset/config_flow.py:80
Integration: Kwikset Smart Locks (documentation)
First occurred: 8:56:08 PM (2 occurrences)
Last logged: 9:09:26 PM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 94, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 271, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/kwikset/config_flow.py", line 68, in async_step_code_type
return await self.async_step_code()
File "/config/custom_components/kwikset/config_flow.py", line 80, in async_step_code
self.pre_auth = await self.api.authenticate(self.password, self.code_type)
File "/usr/local/lib/python3.10/site-packages/aiokwikset/api.py", line 241, in authenticate
pre_verification = await self.aws.authenticate_user()
File "/usr/local/lib/python3.10/site-packages/aiokwikset/aws_kwikset.py", line 259, in authenticate_user
if custom_challenge['ChallengeName'] == self.CUSTOM_VERIFIER_CHALLENGE:
KeyError: 'ChallengeName'
`
Have tried both the email and phone option to authenticate.

Ok. Let me look into this more. The error would be more related to the integration with that error. I will see if I can replicate this on my end.  What is the exact version of your HA install?

At this moment:
Home Assistant 2023.5.4
Supervisor 2023.04.1
Operating System 10.1
Frontend 20230503.3 - latest

Are you getting this error while setting the integration back up or is it happening setup?
From the log, I am guessing during setup,  but I want to replicate this exactly.

I had unistalled because last time I had to do the same, so the errors are happening at setup.

Thanks. I will remove the integration from my test environment and make sure I match and give it a go on adding it back.

I have completely removed the integration and made sure I was running everything on the same version before I attempted a reinstall.  I was unable to replicate the issue on my end and got my verification code and logged right in.
Just to investigate a little further, under your account settings your phone number is populated, I am assuming yes since you tried to the sms verification.  The 2-Step Verification toggle is also turned on correct?

I just tried with both 2 step verification on and off.

This is with 2SV on, tried both email and phone options.
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/kwikset/config_flow.py:80
Integration: Kwikset Smart Locks (documentation)
First occurred: 11:23:24 PM (3 occurrences)
Last logged: 11:30:08 PM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 94, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 271, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/kwikset/config_flow.py", line 68, in async_step_code_type
return await self.async_step_code()
File "/config/custom_components/kwikset/config_flow.py", line 80, in async_step_code
self.pre_auth = await self.api.authenticate(self.password, self.code_type)
File "/usr/local/lib/python3.10/site-packages/aiokwikset/api.py", line 241, in authenticate
pre_verification = await self.aws.authenticate_user()
File "/usr/local/lib/python3.10/site-packages/aiokwikset/aws_kwikset.py", line 244, in authenticate_user
response = await client.initiate_auth(
File "/usr/local/lib/python3.10/site-packages/aiobotocore/client.py", line 225, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.errorfactory.UserNotFoundException: An error occurred (UserNotFoundException) when calling the InitiateAuth operation: User does not exist.
It is interesting that it says user does not exist, as I'm very much logged in and using the Kwikset app.
This is with 2SV off:
This error originated from a custom integration.
Logger: aiohttp.server
Source: custom_components/kwikset/config_flow.py:80
Integration: Kwikset Smart Locks (documentation)
First occurred: 11:35:09 PM (1 occurrences)
Last logged: 11:35:09 PM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 94, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 146, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 271, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/kwikset/config_flow.py", line 68, in async_step_code_type
return await self.async_step_code()
File "/config/custom_components/kwikset/config_flow.py", line 80, in async_step_code
self.pre_auth = await self.api.authenticate(self.password, self.code_type)
File "/usr/local/lib/python3.10/site-packages/aiokwikset/api.py", line 241, in authenticate
pre_verification = await self.aws.authenticate_user()
File "/usr/local/lib/python3.10/site-packages/aiokwikset/aws_kwikset.py", line 259, in authenticate_user
if custom_challenge['ChallengeName'] == self.CUSTOM_VERIFIER_CHALLENGE:
KeyError: 'ChallengeName'

This has definitely peaked my interest as to what is going on. Turning off 2-step verification is new so I am working through steps to solve that issue,  but I am curious as to why it won't let you in.
I would like to investigate into your account more. If you would like to connect on discord, Explosivo22#6721, or on email<EMAIL_ADDRESS>maybe we could dig into what is going on exactly.

I'll see what I can do, I work until 5 pm pst.
On Thu, May 25, 2023, 5:42 AM explosivo22 @.***> wrote:

This has definitely peaked my interest as to what is going on. Turning off
2-step verification is new so I am working through steps to solve that
issue, but I am curious as to why it won't let you in.
I would like to investigate into your account more. If you would like to
connect on discord, Explosivo22#6721, or on email,
@.***, maybe we could dig into what is going on
exactly.
—
Reply to this email directly, view it on GitHub
https://github.com/explosivo22/kwikset-ha/issues/58#issuecomment-1562839826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4LXF4IQRMKP3DNUROEUHTXH5HS5ANCNFSM6AAAAAAXXGVHWE
.
You are receiving this because you commented.Message ID:
@.***>

No worries. We can sync up sometime. I'm CST so I'm 2 hours ahead.

I'm unsure what changed!
I had an update for Node-Red which required a reboot. After rebooting again, I tried configuring Kwikset and it worked for me. I've rebooted several times while trying to make this work, so I don't think that was the only problem. Whatever it was, it finally communicated with the Kwikset server, I got my verification code and it's working now.
Still perplexed, but happy to have it working. I appreciate your dedication to this!

I'm glad to hear it is working now. I'm going to work through the 2-step verification changes they made and hopefully figure out why some tokens are expiring.


Introduce new command arg prepare

This allows preparing the venv before running the app for the first time.
It allows installing the packages in a seperate layer (for better caching) when using AppEnv inside docker.

@sweh The linter complains about some newlines. And a unittest fails. Could you please have a look?

@sweh The linter complains about some newlines. And a unittest fails. Could you please have a look?

@ctheune The tests are probably broken on master, too. At least test runs on master in the gocept fork show the same problem: https://github.com/gocept/appenv/runs/4440660809?check_suite_focus=true

The typing-extensions issue is a typical issue where dependencies depend on the version of Python used. I'll have to look deeper here to help further.


When a particular property of the source object is undefined while the target one has a value,  the value will be override by undefined

the below code will get a return value showed in the picture below. I dont want an invalid value to override the value of the target.
var deepmerge = require("deepmerge")
const combineMerge = (target, source, options) => {
if (typeof source[0] === 'string') {
return source;
}
const destination = target.slice()

source.forEach((item, index) => {
    if (typeof destination[index] === 'undefined') {
        destination[index] = options.cloneUnlessOtherwiseSpecified(item, options)
    } else if (options.isMergeableObject(item)) {
        destination[index] = deepmerge(target[index], item, options)
    } else if (target.indexOf(item) === -1) {
        destination.push(item)
    }
})
return destination

}
const options = {
arrayMerge: combineMerge,
customMerge: (key, options) => {
return undefined
}
}
const alex = {
name: {
first: 'Alex',
last: 'Alexson'
},
pets: ['Cat', 'Parrot']
}
const tony = {
name: {
first: undefined,
last: 'Tonison'
},
pets: ['Dog']
}
const result = deepmerge(alex, tony, options)

I believe this is by design. You'd need to use define a custommerge function if you want to change this behavior.
This is also by design in my library (deepmerge-ts) but this behavior can be overridden. Here's the example of doing that: https://github.com/RebeccaStevens/deepmerge-ts/discussions/25

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。


Recursive many2many relation

Trying to implement a recursive many2many relation like the following:
package main

import (
        "github.com/jinzhu/gorm"
        _ "github.com/lib/pq"
)

var db, _ = gorm.Open("postgres", "user=gorm dbname=gorm sslmode=disable")

type User struct {
        gorm.Model
        Name    string
        Friends []User `gorm:"many2many:user_friends;"`
}

func main() {
        db.LogMode(true)
        db.DB().Ping()
        db.AutoMigrate(&User{})
}

ends with the following error:
pq: column "user_id" specified more than once

my questions are:

is it possible to implement such a schema?
is it plan to manage this feature in the future?
do you know an elegant alternative to handle this kind of schema?

Thanks in advance

Hello,
Seems it is pretty tricky to do that...
Maybe better to define a Friend struct, and it works like a join table


Enable automated aarch64 builds

Host
Github actions now supports M1 https://github.com/actions/runner-images/issues/8439

Well this makes my next week interesting

Turns out that these are only available as "Large" runners, which in my experience would end up being more $$$ than if I used my Mac mini M1 -- the good news is, Beam Machine is almost up and running in "universal mode" ...
What I mean by that is:

x86_64 and aarch64 all bundled into 1 distribution for MacOS
libc musl builds for all linux distros, statically linked to a libc I would pack up with the burrito app. Basically cutting glibc entirely out of the equation.

this is currently WIP on the branch: https://github.com/burrito-elixir/burrito/tree/digit/linux-universal-libc -- I have an 8 core OrangePI in service at my home server rack!


Polybar only shows up on current and empty workspaces on startup

With wm_stack = bspwm and override-redirect = false, polybar only manages to show up on the current workspace, and on workspaces which are empty.
On other workspaces -- which during this test has 1 sole client covering the whole screen -- the bar doesn't show up. But, if I turn on monocle mode in bspwm, the bar bumps into place.
(To "reset the strut" while testing, I do bspc config bottom_padding 1 after killing polybar)
I'm thinking now that this might even be a bug in bspwm...

The config option should be wm-restack = bspwm. And the issue is caused by bspwm itself, but I saw a patch released a few days ago so make sure you are building against master.

Yeah I read that, and I'm on bspwm master. wm-restack doesn't do it. But my
luck is slim... Should bring this to bspwm perhaps.

I might add that wm-restack = bspwm actually moves the window down in the stack, making it appear behind other windows, and because bspwm doesn't apply the strut to all workspaces you can't see it (unless you use padding).
A workaround is to trigger an update on each desktop after launching polybar, making bspwm apply the strut to all desktops.
bspc query -D | while read -r desktop; do
  for side in top bottom left right; do
    bspc config -d ${desktop} ${side}_padding 0
  done
done


Use the element's window in getComputedstyle

In a test environment, when using jsdom, the global window may not be
the window the element belongs to. Use the DOM methods
Node.ownerDocument and Document.defaultView to find the actual window.
For details on these methods, see:
https://developer.mozilla.org/en-US/docs/Web/API/Node/ownerDocument
https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView

I'd think something like this would be the cause of #10502


[issue 54] use postCommandResponse instead of Have bot post ephemeral responses instead of using model.CommandResponse directly

used postCommandResponse instead model.CommandResponse
ticket here
Fixes #54
Note:
removed this code as it was not being used in this repo.
func (c *command) responsef(format string, args ...interface{}) *model.CommandResponse {
	return c.postCommandResponse(fmt.Sprintf(format, args...))
}

@dipak-demansol Could you please prioritize testing this PR so we can get it into v1.0.0? Thanks!

@dipak-demansol Gentle reminder to review this PR

@DHaussermann i try to explore this tool but i don't understand it, lack of knowledge about this tool and also not understand much about the PR and its priority so i request you to pls Test this and also include me in the testing so i can also understand about the PR and tool.

I'v went ahead and did a brief test of the PR myself. The command response it correctly shown. Further testing can happen as part of release testing.


Output quality is low?

Interesting work. I compiled and was trying the video summarization, but noticed it reduces the output resolution/quality significantly. Any ways we can preserve the input resolution?

Thanks! Yes, to preserve the original resolution you can specify --mov_width_px -1  (or --jpg_width_px -1 or --gif_width_px -1 depending on what your output format is). When the value is negative, it will copy the input resolution. See these lines in include/hecate/hecate.hpp and these lines in src/hecate/hetace_main.cpp for more information.

Great!
So right now the selection is based on "dynamism" score, right? Do you have any recent work or consider improving based on deep models to score "interestingness" or something?

Some people have already tried incorporating deep nets to replace the scoring mechanism, reporting improved performance (I don't think they published a paper, but I know that version is deployed in production). I personally don't have an immediate plan to do so, unfortunately.


Test integration cli daemon sometimes dies while running tests

Opening this because it may not be a power specific issue, but on ppc64le sometimes the docker daemon gets killed while running the integration tests. As seen here :
https://jenkins.dockerproject.org/job/Docker Master (powerpc)/136/console
PASS: docker_cli_run_test.go:2021: DockerSuite.TestRunSetMacAddress	0.573s
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

----------------------------------------------------------------------
FAIL: docker_cli_run_test.go:2285: DockerSuite.TestRunSlowStdoutConsumer

docker_cli_run_test.go:2306:
     c.Fatalf("Expected %d, got %d", expected, n)
 ... Error: Expected 4096000, got 1179648

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

and it continues like this until the end.
It only fails during TestRunSlowStdoutConsumer, and furthermore only during a full integration-cli run. It passes if running the specific suite or test.
Some interesting info from the docker.log:
time="2016-05-09T15:49:27.971217000Z" level=debug msg="received containerd event: &types.Event{Type:\"start-container\", Id:\"7b7864c0e7998c1585eb0d85b17dfb06c5641badbf6be618e60fab70c717d944\", Status:0x0, Pid:\"\", Timestamp:0x5730b187}"
fatal error: concurrent map read and map write

update: definitely being thrown just by this test (only 1/10 of the time). The first goroutine suggests it was copying to the attached stream when the panic happened.
goroutine 241 [running]:
runtime.throw(0x113c3900, 0x21)
        /usr/src/go/src/runtime/panic.go:547 +0x8c fp=0xc820c92ba0 sp=0xc820c92b70
runtime.mapaccess1_fast64(0x10d9b780, 0xc82001b0e0, 0x400, 0xc820a2d768)
        /usr/src/go/src/runtime/hashmap_fast.go:112 +0x78 fp=0xc820c92bd8 sp=0xc820c92ba0
github.com/docker/docker/pkg/ioutils.returnBuffer(0xc8212673b0)
        /go/src/github.com/docker/docker/pkg/ioutils/bytespipe.go:167 +0x60 fp=0xc820c92c28 sp=0xc820c92bd8
github.com/docker/docker/pkg/ioutils.(*BytesPipe).Read(0xc8209b0ac0, 0xc820bf63c0, 0x7c40, 0x7c40, 0x7c0, 0x0, 0x0)
        /go/src/github.com/docker/docker/pkg/ioutils/bytespipe.go:148 +0x2ac fp=0xc820c92d08 sp=0xc820c92c28
io.copyBuffer(0x3fff901cbda0, 0xc82022cea0, 0x3fff9030aa08, 0xc8209b0ac0, 0xc820bf6000, 0x8000, 0x8000, 0x70000, 0x0, 0x0)
        /usr/src/go/src/io/io.go:380 +0x1dc fp=0xc820c92de0 sp=0xc820c92d08
io.Copy(0x3fff901cbda0, 0xc82022cea0, 0x3fff9030aa08, 0xc8209b0ac0, 0xc8209b0ac0, 0x0, 0x0)
        /usr/src/go/src/io/io.go:350 +0x5c fp=0xc820c92e50 sp=0xc820c92de0
github.com/docker/docker/container.AttachStreams.func2(0x1125b878, 0x6, 0x3fff901cbda0, 0xc82022cea0, 0x3fff9030a9d8, 0xc8209b0ac0)
        /go/src/github.com/docker/docker/container/container.go:425 +0x178 fp=0xc820c92f60 sp=0xc820c92e50
runtime.goexit()
        /usr/src/go/src/runtime/asm_ppc64x.s:1049 +0x4 fp=0xc820c92f60 sp=0xc820c92f60
created by github.com/docker/docker/container.AttachStreams
        /go/src/github.com/docker/docker/container/container.go:442 +0x2b8

Thanks, I see the issue.

#22698


.NET 7 support

May you migrate this project to .NET 7, please?
Thanks

Wait for https://github.com/kontent-ai/delivery-sdk-net/issues/360


specify whether endpoints in profiles

List the available endpoints in profiles and whether they are top level; the frontend needs to know whether endpoints are top level
Alternative would be to get them included in the API documentation
i.e. what are the endpoints for:

lists of objects by class (which class)
lists of objects by parent/relationship (which relationship)
individual instances (of class/subclassof)
any other endpoint info we need.

this is available at the root of prez api '/'


nix-daemon: add support for 'idle' IO scheduling class

Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

To be honest, I feel we should remove options like daemonIONiceLevel (and certainly not make them more complicated), because they just alias systemd options in an ad hoc way. Systemd provides two dozen or so resource control directives, and we have lots of services, so that's hundreds of options we could potentially add. I think it's better to use the generic mechanism, e.g.
systemd.services.nix-daemon.serviceConfig.IOSchedulingClass = "idle";

because this is well-documented in the systemd.resource-control manpage, and generalizes to any systemd service, not just nix-daemon.
It's also debatable whether using the idle class is a good idea for nix-daemon. On a I/O-loaded system, doesn't this mean that builds might never finish?

I definitely understand that perspective.  To play devil's advocate for a minute, though:

The *.serviceConfig.* options are not checked for correctness by nix, whereas purpose-built options like daemonIONiceLevel are.  It's much easier to discover configuration.nix typos etc. at nix-build time rather than by inspecting systemctl status nix-daemon output etc.

Most systemd options don't make sense for most services.  By "promoting" certain options like this, we help guide users to those that are most likely to make sense for each service.  (And limit our own maintenance overhead.)

WRT whether builds are starved: I've actually had the opposite problem, using idle has not had the effect I hoped for of making my desktop system more usable while builds are running in the background.  :-/

@jerith666 I had assumed that the motivation for this was as you described; for many services there's definitely levels of commitment and it makes some sense to reflect that in the interface, but it's not clear how best to do it ...  An alternative approach is to document a general procedure for service resource control via systemd.
Fwiw, I've had more luck using cgroups to constrain Nix builds (giving fewer io slices, constraining memory, &c).

Okay, thanks for the feedback everyone.  I'm going to withdraw this pull request for now, while I experiment a bit with the cgroups approach that @joachifm recommended and contemplate ways to address @edolstra's concerns.


GROQ Types

With types (and previously schema-builder), typing sanity documents has become possible. However, querying for these documents always goes through a groq query, which is completely unhandled by this library. This is all due to my original use case: query for the whole document and us JS/TS to deconstruct, so using the native types was fine. For other use cases, you end up doing a lot of Pick and Omit magic along with your queries, ultimately rewriting large parts of your queries in typescript anyways.
Sanity schemas are just JS objects, so typing them was a doable challenge. The issue with typing GROQs comes from the fact that they are giant strings, similar to GraphQL queries. Deriving a type from a string is... difficult, if not impossible. Pair that with the fact that most of this library exists in an attempt to merge into sanity and we run into the few possible approaches and their major issues:

Type the GROQ strings anyways. This might be possible with typescript string literals and lots of typescript magic. If possible, it would provide the best DX: a drop in replacement for groq or whatever is currently being used for querying. Plus, it's the closest to a native solution, which ideally means that sanity could take ownership. The issue is that the scope of this seems massive, unmaintainable, and could be impossible. Even the types library uses some expert typescript magic. Deriving types from a GROQ string is definitely a write-once operation, where anyone coming in to make changes will be massively overwhelmed.
Codegen. @ricokahler's work in sanity-codegen is the best path forward on this and it's clear that a feature complete solution is quite big (looks to be a month of dedicated work according to his estimates in https://github.com/ricokahler/sanity-codegen/issues/297). I'm generally opposed to codegen but the fact that Apollo takes this approach with GraphQL is very telling that it's likely the most viable solution. The time investment is high and the likelihood that sanity will want to maintain a codegen library is low, which ultimately means running into the same issues he did.
A builder pattern library, similar to schema-builder. This seems like the cleanest solution and the least prone to bugs. In terms of implementation, this feels like the most straightforward. A lot of the issues are similar to schema-builder. In schema-builder, rectifying sanity's schema documentation and the library's documentation was a lot of overhead for developers writing schemas and far from a drop-in solution, which left the problem feeling relatively unsolved. This is the same approach. It's definitely the farthest from a solution sanity would take ownership of, which also makes me disinterested in it. Also, I know there's a lot of work on this already (links are escaping me) so it doesn't seem worth treading the same ground.

My personal goal is to have the closest to a drop-in solution so sanity can eventually own it themselves. The issue is that these solutions each have a unique reason that sanity wouldn't (or shouldn't) maintain it internally and are the exact issues that other solutions run into. I can't think of a viable solution for this.

More thoughts on this:

No one is typing from the groq string directly. Makes sense, all the cons I mentioned are substantial.
That package really looks like the only attempt at codegen on this. Again, makes sense.
There's a lot more attempts at the builder pattern. Again, not my favorite, but a few packages and notable thoughts on them:

sanity-typed-queries went all in on the builder pattern. You use their builder to create the schemas, and that schema builder provides a query builder, which you use in runtime code. I like the chaining API of the query builder, although it deviates pretty far from a drop in replacement. They're including information from the schema into the builder implicitly this way, which is kind of interesting. It approaches everything from a contradictory viewpoint to this library, but there's some lessons to be learned here.
groqd takes a whole different approach, being schema unaware and using zod in the application code to validate that it's the correct shape. This does remove the duplication of defining the same "shape" in your query and in your runtime zod and/or manual typing, but it doesn't remove the duplication of defining the same "shape" from your sanity schema. In other words, sanity-typed-queries lets you define a shape for your schema, have your queries be aware, and have your runtime objects be typed. groqd ignores the shape in the schema, so you're essentially creating the same shape in two places, having your runtime not trust your schemas. Few thoughts:

Again, far from a drop in replacement.
The idea of not trusting the sanity schema has pros and cons. The cons are obvious: now you're having to rewrite the same shape in your queries. The pro is that this is actually a safe idea. Just because your schema is a certain shape does not mean the documents in there are of that shape. You can always change your schemas drastically and the existing objects aren't invalidated, meaning you can still query for them and break your app. Deriving types from your schemas isn't always accurate, and this seems like the only approach that actually addresses that.

I'm still not too interested in the builder pattern. The idea of maintaining a separate solution (and documentation) for groqs producting correctly typed results doesn't really appeal to me. I do like that groqd does try and validate the types in runtime, and completing #81 would allow for something similar, which is interesting. That solution would have to respect however we decide to handle groqs, because we're likely to not query for documents as-is, so we'd want a zod solution that validates against the query, not the document. Again, not sure how to go about this. Part of me also thinks #82 is similar; mocks for schemas is interesting, but mocks for the actual queries used in an app allows for integration or end-to-end tests that don't have a massive amount of scaffolding. groqd has convinced me that both those issues are blocked on this one.

More ramblings:
Let's just start from the ideal and work backwards into how it would get done:
// sanity.config.ts
import { defineConfig, defineType, ... } from "@sanity-typed/types";
import type { InferSchemaValues } from "@sanity-typed/types";

const config = defineConfig(...);

export default config;
export type SanityTypes = InferSchemaValues<typeof config>;

import { groq } from "@sanity-typed/groq";
import { sanityZod } from "@sanity-typed/zod";
import config, { SanityTypes } from "???/sanity.config.ts";

// This would be a branded string carrying a type? Something like that?
// Whatever it is, it wouldn't result in carrying SanityTypes, but the type corresponding to the actual query.
const query = groq<SanityTypes>(config)`...`;

// It needs the runtime config and query to generate the zod that fits the query results.
// We can't use SanityTypes, because typescript can't actually affect runtime like that
const zodSchema = sanityZod(config, query);

// docs is untyped...
const docs = await client.fetch(query);
// ...validatedDocs is correctly typed and runtime validated
const validatedDocs = zodSchema.parse(docs);

// It's unfortunate that zod is required. Not the goal of this library to force that, although it is substantially safer.
// Somehow, something like this should work...
const castedTypesDocs = await client.fetch(query) as SomeMagicHere<typeof query>;

// I'd love to avoid wrapping the client library as well, but if we did, then it could "just work"
// client.fetch would have a signature like client.fetch = <Generic>(query: QueryOf<Generic>) => Generic;
// This could be done with augmentation too, which is actually nice
const assumedTypeDocs = await client.fetch(query);
// This is much closer to the actual solution I want.

The real answer is that I can't have it all.
There isn't a solution that will be a drop in replacement into sanity that handles groqs, the document queries, and zods so cleanly. Ultimately, if I accepted that I have to have some kind of builder pattern for groqs, my life becomes substantially easier for everything else, but it ends up just being a sanity-typed-queries or groqd replacement. I'm not interested in trying another solution for the same approach, they seem like the best way forward for that.
I think the reality is that codegen and the builder pattern already have the best versions present, codegen being on hiatus because its a very difficult solution and the builder pattern having active communities on it. If there was a way to somehow work in a provided type to the builder pattern (ie the type generated from @sanity-typed/types into groqd), then we could close the loop on that. The only real way this library moves forward in a way that isn't treading the same ground is to take a stab at the typescript string parsing solution for groqs, and to use a runtime regex on the the groqs to produce zods, and to keep the two types in sync. This feels like the land of a million bugs, but honestly the only approach that isn't just trying to do groqd but "better."
Due to these issues, I'm not going to prioritize this. It seems like a massive initiative that ultimately might not pay off, so I'm going to push on other things first.

Some links:

https://github.com/sanity-io/groq-js Seems like a js runtime solution for this, whereas we want a ts only solution. Might be good for some kind of merged solution, since using it might get us 95% of what we want from zod.
https://sanity-io.github.io/GROQ/ If we write the typescript string parsing, the spec should be very useful for creating the finite automata
https://github.com/sanity-io/groqfmt Seems irrelevant, but kind of fun

Played around with trying to type query strings. A query formatter could be useful, but is less drag and drop.
Any more thoughts on which route to go down?
type QueryStringLiteralToType<
  Q extends string,
  T extends Record<string, any>,
> = Q extends `*[_type == '${infer QueryType}']${infer NumericString}`
  ? QueryType extends T["_type"]
    ? NumericString extends `[${number}]`
      ? T
      : T[]
    : never
  : never;

// Usage examples (you would probably want to select from all types based on the _type value):
const type1: QueryStringLiteralToType<"*[_type == 'footer']", FooterType> = []; // type: FooterType[]
const type2: QueryStringLiteralToType<"*[_type == 'footer'][0]", FooterType> = {}; // type: FooterType
const type3: QueryStringLiteralToType<"*[_type == 'WRONG SLUG'][0]", FooterType> = {}; // type: never

This is starting to look good! I think, if we were to go the string route, we'd want it to be as one-to-one as the current API. So I'm thinking about how we'd start with this:
import { createClient } from '@sanity/client';

const client = createClient({
  // ...
});

// Somehow, include types derived from schema into this.
const docs = await client.fetch('SOME GROQ QUERY');

Few solutions. The easiest is to create our own export and use it:
import { createClient } from '@sanity-typed/client';
import type { Values } from '../../../../../../../wherever/your/schema/is';

// We COULD include `Values` into `createClient`, so all client methods can be type aware. Might be better that way. eg:
// const client = createClient<Values>({
const client = createClient({
  // ...
});

// client.fetch would use the string magic to know the correct types for `docs`
const docs = await client.fetch<Values>('SOME GROQ QUERY');

We could also find a way to augment sanity's own createClient to do what we wanted. I think augmenting, is easier to migrate at the end of the day, but can run into a lot of its own issues, and might become incompatible over time.
Back to your example @SamScott3000.

I think you have the right idea.
Internally, we'd have a generic like you're doing that receives a query and the available Values, and would operate on those.
I think we'd probably want to split this into @sanity-typed/client and @sanity-typed/groq since we'd likely end up doing more magic on the client other than groqs, and vice versa with the groqs. Implementation details, I'm just mentioning them so I remember them myself.
I'd say the ideal is to not pass it FooterType specifically, but pass it Values. A query can operate on all available types, so ideally we're doing this to everything possible and then narrowing down.
The biggest worry I have is that, to handle all use cases, we'd likely want to look at the GROQ FMA and recreate that in typescript. Unless we do this, we're always only partially recreating the language. Sounds like a lot of work lol

If anyone's watching this, the alpha branch is my first stab at this. I'm still missing a lot but... it's generally working.


when run SLAM simulate in gazebo, the map show in Rviz has drift while the TB3 is moving

ISSUE TEMPLATE ver. 0.2.0

Which TurtleBot3 you have?

[ ] Waffle

Which SBC(Single Board Computer) is working on TurtleBot3?

[ ] NUC6i7KYK

Which OS you installed in SBC?

[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ ] ROS2 Dashing

Which OS you installed in Remote PC?

[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ ] ROS2 Dashing

Follow http://emanual.robotis.com/docs/en/platform/turtlebot3/ros2/#ros2 to build TB3 for ROS2 dashing release, when run SLAM simulate in gazebo(15.6), the map show in Rviz has drift while the TB3 is moving

Attached capture and cartographer log:
log:
TB3_SLAM_Simulate.txt
capture:
https://drive.google.com/file/d/1gd1j7c12XoAxOZn1srL0_okGXPek6RF3/view?usp=sharing

https://github.com/ROBOTIS-GIT/turtlebot3/issues/460

@routiful
I tried on Dashing release, this issue still exist.

@rafaelhuang-intel
I was faced exactly same situation in gazebo.
To adjust param related coefficient of friction is one of solution.
I will try to find more reliable param as soon as possible.

This is an old issue, but it seems to still be a problem in dashing.
I was able to get mapping working in gazebo by changing this setting to false in turtlebot3_lds_2d.lua:
TRAJECTORY_BUILDER_2D.use_imu_data = true
I'm guessing the lack of simulate imu causes cartographer to go haywire.

had the same problem, @spragunr solution worked, but it really seems like a bug

had the same problem on Foxy release, @spragunr solution worked.

This issue has been fixed in the recent Foxy update.
https://github.com/ROBOTIS-GIT/turtlebot3_simulations/issues/135
Please let us know if the problem still exists.
Thank you.

This issue has been fixed in the recent Foxy update.
https://github.com/ROBOTIS-GIT/turtlebot3_simulations/issues/135
Please let us know if the problem still exists.
Thank you.


viosock: fix NtReadFile/NtWriteFile

Wait on a Event instead of the socket itself after calling NtWriteFile()/NtReadFile(), otherwise WaitForSingleObject() may return before the write/read completes, thus returning wrong status to caller. This issue can be reproduced by having a sender thread and a receiver thread running on a socket at the same time, and sometimes send() may return 0 bytes sent, even though the other side can receive the packet.

rerun tests


[BUG] Interior walls deteriorating at same rate

When an interior wall is damaged, all interior walls in the arena are deteriorated at the same rate.

No longer seeing this issue, moving to closed.


JMLL-877 Add leaver thank you email

New email template id env vars should match https://github.com/uktrade/jml/pull/155


signOut() does not reset the auth state when providing an initial session

Describe the bug
When passing an initialSession to a server-side instance of the NhostClient (as in the next-js case), a subsequent call to nhost.auth.signOut() does not reset completely the session - for instance nhost.auth.getAccessToken() still returns the access token from the initialSession.
To Reproduce
Minimal code that reproduces the error is provided in this repo.
Expected behavior
Calling nhost.auth.getAccessToken() after signout should return undefined.
Additional context
I think the issue stems from here.
When starting the client, the machine.context is initialized to INITIAL_MACHINE_CONTEXT (here).
Now, since context is not performing a deep copy, when setting the initialSession we are actually modifying the exported INITIAL_MACHINE_CONTEXT, which is a unintended effect.
Thus, when signing out, the context is reset to INITIAL_MACHINE_CONTEXT (here), which  however contains the data from the initialSession.

Thanks for the detailed report @fmanzali! We'll look into this

we still have this same problem with SvelteKit
after signout,  session is null but nhost.auth.getAccessToken() still return token

This was fixed in this PR https://github.com/nhost/nhost/pull/2736, make sure to update to the latest versions of the sdk
@nhost/nhost-js: 3.1.5
@nhost/react: 3.5.2
@nhost/nextjs: 2.1.16


chore(log): change task set to task result.

Log change.  task set -> task result

Motivation

Modifications

Verification

LGTM

Thanks！

I edited this to a fix since this a pretty common log for new users, so the correction makes the log message more understandable

Backported to release-3.5 as eec6ae0e4

Fixed merge conflicts with the docs link since it's release-3.5 on release-3.5


Sample project throws "Timeouts are not supported on this stream."

Query/Question
I'm trying to download a blob using this sample.
https://github.com/Azure/azure-sdk-for-net/blob/620a140bf82af37148cc172f468a26a2eb29de3f/sdk/storage/Azure.Storage.Blobs/samples/Sample01a_HelloWorld.cs#L67-L104
Creating the container and uploading to a new blob works, but downloading throws an exception.

System.InvalidOperationException: 'Timeouts are not supported on this stream.'

Environment:

Azure.Storage.Blobs 12.7.0
Visual Studio 16.8.2

.NET SDK (reflecting any global.json):
Version:   5.0.100
Commit:    5044b93829
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.19041
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\5.0.100\
Host (useful for support):
Version: 5.0.0
Commit:  cf258a14b7
.NET SDKs installed:
3.1.200 [C:\Program Files\dotnet\sdk]
3.1.300-preview-015048 [C:\Program Files\dotnet\sdk]
3.1.300 [C:\Program Files\dotnet\sdk]
3.1.402 [C:\Program Files\dotnet\sdk]
5.0.100-rc.2.20479.15 [C:\Program Files\dotnet\sdk]
5.0.100 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.0-rc.2.20475.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.0-rc.2.20475.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.9 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.0-rc.2.20475.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Thank you for your feedback.  Tagging and routing to the team best able to assist.

Have there been any updates regarding this issue?

Sorry nothing has changed.
At this moment I'm unable to use the newer Azure storage SDK and I'm not sure whether I should wait for this to be fixed or go back to using the old CloudBlockBlob.

I'm not able to reproduce your issue. I'm a little confused as to how you could be getting a stream issue when you call to download.
There's no changes you made to the sample before you ran it correct? (If not please provide a full snippet to help me reproduce your issue on my side).
Have you also tried changing var to BlobDownloadInfo ? Maybe some stream isn't initializing the way we expect it to, however i did change it to var as well and it's works fine.

My bad.
It was the Visual Studio that can't catch unhandled exception in ASP.NET core project.
The only solution is to catch them all which also catches the ones inside the SDK.
For example is is what an exception unhandled by the SDK looks like:

And this is what the handled exception looks like:

Conclusion: it's not an issue with the SDK but with Visual Studio ASP.NET Core


Unclear: what does "priority" mean and how does it work

Leaving this as is for 1.3 since this is described in the "Learn more" doc in GitHub, but will include in user tests for 1.4 (assigned to self.)

@xiyangdesign, similar to bug #5141, do the instructions at https://github.com/microsoft/BotFramework-Composer/blob/main/docs/preview%20features/form-dialogs.md help (as a temporary measure)?


Dashboard V2: Implement Help Menu

As a user I would like to see a help menu so that I may determine the best support route to take and the version of kusk I am using for trouble shooting purposes.
UX Design:
Menu to open from help icon on nav
https://www.figma.com/file/wecNPLnwPgaQiZaXDWolSa/Kusk-Gateway-Dashboard?node-id=1531%3A37875
Menu component variants:
https://www.figma.com/file/wecNPLnwPgaQiZaXDWolSa/Kusk-Gateway-Dashboard?node-id=1531%3A37817
Links:
Release Notes - https://kubeshop.io/blog/kusk-gateway-1-1-0-release-authentication-support-and-more
Documentation - https://docs.kusk.io/
Discord - https://discord.com/channels/884464549347074049/913784299273211905
Privacy Policy - https://docs.kusk.io/privacy
kusk version 1.1.0

blocked by https://github.com/kubeshop/kusk-gateway/issues/664

@mortada-codes is this still blocked?


👁🗨 is difficult to view in gray dark-themes

👁🗨, or "eye in speech bubble", is a primarily dark gray emoji that has no shading or gradient on it to distinguish it from potentially dark backgrounds. This is problematic in applications like discord that employ a dark-theme with a dark gray background, which renders the emoji practically invisible at reasonable viewing distances:

Note that this problem is most severe for dark gray backgrounds, which don't have much other colors in them. If the background is tinted with blues or purples, like the background for twitter's darktheme, 👁🗨  becomes way easier to see. However, many dark-themes tend to be gray, such as the dark-themes used in discord, vscode, riot.im, spotify, duck duck go, and other popular sites and services.
I'm not super familiar with the style requirements for this specific emote, but this could be remedied in a number of ways:

Microsoft's variant of this emote makes the emote primarily white, and breaks with the style of other variants of 👁🗨  by not cartoonifying the iris. Combined with the black border, this makes the emote clearly distinguishes on both light and dark backgrounds.

The Android 7.0 variant was primarily light-gray, which is slightly worse on light backgrounds than on dark backgrounds, but is still viewable on both:

The JoyPixels Variant of this emoji still uses primarily dark colors, but has a slight gradient so it's easier to pick out on a dark background:

Personally, I think the Android 7.0 approach is the way to go, because it's more consistent with twemoji's pre-existing style than the other examples.

There also happen to be many other emojis that are similarly problematic, including, but not limited to:

animals: spider (:spider:), ant (:ant:), water_buffalo (:water_buffalo:),
symbols: heavy_plus_sign (:heavy_plus_sign:), heavy_minus_sign (:heavy_minus_sign:), heavy_division_sign (:heavy_division_sign:), heavy_multiplication_x (:heavy_multiplication_x:), heavy_dollar_sign (:heavy_dollar_sign:), currency_exchange (:currency_exchange:), tm (:tm:), copyright (:copyright:), registered (:registered:), wavy_dash (:wavy_dash:), curly_loop (:curly_loop:), end (:end:), back (:back:), on (:on:), top (:top:), soon (:soon:), heavy_check_mark (:heavy_check_mark:),
misc: spades (:spades:), clubs (:clubs:), telephone_receiver (:telephone_receiver:), dark_sunglasses (:dark_sunglasses:),

I might open a new issue to track these emojis too, or revise the current issue to reflect all these new emotes, but the common theme here is that these emotes have primarily dark colors, and no features to distinguish them from a potentially dark background.

I'll edit this to provide a better list of suggestions here, but a ton of these emojis can be changed by changing the color:
Appropriate color changes

animals:

spider (:spider:): green, brown, light grey
ant (:ant:): green, red, brown, light grey
water_buffalo (:water_buffalo:): brown, light grey

This sounds cool, I will make a pr. What is this policy for making a pull request?

not sure TBH, although I'm sure if you just make a feature branch and a commit for each image edited, it'll be no problem.

Hey folks, while I appreciate the discussion here, this isn't something we're planning to change at the moment. We chose a colour that tries to be visible across as many dark backgrounds as possible, with the understanding that it wouldn't be able to be visible across all. As for the gradients solution: we don't use gradients in Twemoji at the moment and don't plan to change it in the near-term.
There's not necessarily a "policy" for making a pull request per se, but I'm an engineer, so if it's a pull request for an artwork/design change, I have to go ask the designer I work with on Twemoji for his feedback first. Same goes with issues asking for artwork changes (which, at the moment, are most of them). I go through these whenever I have spare time which is why sometimes it takes me a bit long to reply to a PR/issue — but I do set aside some time a minimum of once a month to review anything I've missed.
If it's a code-related PR/issue, it's a lot easier to review since I'm the only engineer working on this at the moment — but Twemoji is built to be compatible with Twemoji Parser, so any changes here have to still work there too (or have a corresponding PR to twemoji-parser that makes it work). The regexes in Twemoji Parser are understandably difficult to edit; they're generated by a closed-source Scala project that's at the top of my list for open sourcing in the future to make contributing code substantially easier. Docs-only PRs, on the other hand, are particularly easy to accept.
We're always happy to receive suggestions — artwork, code, or otherwise — but we do prioritize remaining consistent with other major vendors (e.g. Apple, Facebook) while giving the emojis a "Twittery" feel, so it's important to chat about your suggestion in an issue first before making a PR so that you don't spend a lot of time working on something that we might have good reasons for rejecting. Even though we might not accept all of the suggestions, we do review them all and think about them. I try to briefly explain why when we don't accept a suggestion, which I hope is helpful.
That all said, hope that gives some context into how to contribute most effectively — closing this for now since we won't change the dark emojis, but if you have any ideas on how to make contributing easier/better, feel free to open an issue with your thoughts and we can chat there.

@MyriaCore nicely presented and linked issue report :)
+1 to this request. Emoji like :heavy_plus_sign: really do not work well with Discord dark theme.

We chose a colour that tries to be visible across as many dark backgrounds as possible, with the understanding that it wouldn't be able to be visible across all. As for the gradients solution: we don't use gradients in Twemoji at the moment and don't plan to change it in the near-term.

...we do prioritize remaining consistent with other major vendors

What about adding an outline? This would be consistent with what Microsoft does (several other emoji libraries on that list do too).
Imo an outline also looks the same on twitter default, and looks at least as good on twitter dark:

And much better on Discord dark:

In these examples I used colour #6e767d for the outlines.


feat(ts): adding ts testing, compiling and exports

Summary:
This is a first pass at the new needs for moving to typescript one file at a time. There are some slight reworkings in here. The main ones are:
Moving Entry
I've moved the entry point into the lib folder. This is done as it will eventually be transpilied as well, so placing it here makes it easier to move to the goal state.
package files updates
As we now build the output via the prepack key, the main and files key are updated to point at the dist folder where the output will sit. prepack is fired at deploy time, and thanks to semantic release should autobuild this package on a merge to master during the publish stage.
tslint
I tried to get it close, but feel free to update it as needed later on. Eventually they should be able to work off one config, but that's currently a WIP by the tslint team.
Is this ready to be merged into Dynamoose? (select 1):

[x] Yes
[ ] No

Other:

[x] I have searched through the GitHub pull requests to ensure this PR has not already been submitted
[x] I have updated the Dynamoose documentation (if required) given the changes I made
[x] I have added/updated the Dynamoose test cases (if required) given the changes I made
[x] I agree that all changes made in this pull request may be distributed and are made available in accordance with the Dynamoose license
[x] All of my commits and commit messages are detailed, explain what changes were made, and are easy to follow and understand
[x] I have filled out all fields above

Pull Request Test Coverage Report for Build 1015

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.2%) to 85.643%

Files with Coverage Reduction
New Missed Lines
%

lib/Model.js
2
83.55%

lib/Attribute.js
2
87.11%

Totals

Change from base Build 1014:
-0.2%

Covered Lines:
1504

Relevant Lines:
1762

💛  - Coveralls


Just Updated flutter_svg versions :)

Thank you for your contribution. I will test it out and merge soon.


[WIP] Binder

This is my first pass at writing a binding generator for goby. This allows you to write goby code as regular go structs, and takes care of the annoying bit of mapping that to goby methods. I'm still debugging an internal panic that is being thrown, but the code functionally works.

@eliothedeman is this finished?

@st0012 Yeah this is ready to merge whenever you're ready.


Stops working after a while

I'm having this strange issue, where I'm using hammer.js library to create some responsive table functionalities.
When I'm testing the page on my iPhone (this issue is not happening on any Android device, iPhone only), the functionality works fine if I'm testing it from my local machine - I'm using Ghostlab for testing pages from local machine. However, when I deploy the code to staging server, functionality breaks. What I mean by breaks is that it works fine, but it stops working after 2 pan events. This issue is both on Chrome and Safari on iPhone.
I also opened Safari console for my phone and I'm not getting any JS errors. And I tried copying local .js file to staging server and that didn't solve the issue either.
Does anyone have an idea, why the same code isn't working on staging server but it does on local server?

I am also experiencing this problem.
It happens when you have a scrollable element that contains a number of "off screen" items. If the elements that are initially off screen are panned to fill the screen (ie. so all elements that were initially on screen, are now off screen), no subsequent pan events are fired.
Confirmed that it's only happening on iPhone (both Chrome and Safari).

My issue, which could be the same one experienced by @janhocevar, wasn't to do with hammer.js, but more to do with the scrollable container's css.
I had the following:
.gallery {
	overflow: hidden;
	height: 200px;
	position: relative;
}
.gallery-inner {
	position: relative;
	white-space: nowrap;
	overflow: visible;
}

1

2

3

4

5

6

7

Note I'm using the angular adapter for hammer
I would then use the callback functions on pan to set the left css value on .gallery-inner.
What this does is move the event area (.gallery-inner) off screen. This works fine on all browsers except on iPhone.
So I ended up putting in another container for the touch area, and set the left value on it.
eg.
.gallery {
	overflow: hidden;
	height: 200px;
	position: relative;
}
.gallery-scrollable {
	position: relative;
	white-space: nowrap;
	overflow: visible;
}

1

2

3

4

5

6

7

So now just set left on .gallery-scrollable.
I hope that helps.

@janhocevar can you confirm if this is still an issue for you or if the suggestion from @janhocevar fixes this for you?

I solved the issue the same as @crimsonronin , I created a container element and initialized the hammer instance on it.

Closing as the exhibited behaviors and solution are the same as for normal event handling.


~ZNOW_FULL_S.E.X-VIDEOs] SKY BRI AIDS^^Gucci Third Leg Hsv2 Leaks Full Video 2024 LINK Viral on Social Media X Today [ZX10RL]

⭐⭐⭐⭐⭐
12 sec ago, Gucci Third Leg Hsv2, ZFULL Gucci Third Leg Hsv2 Leaks Video On Social Media X Twitter [2B75K]

Gucci Third Leg Hsv2's latest video has taken social media by storm, captivating viewers and sparking widespread discussions. This young digital creator has garnered significant attention for her engaging content, particularly with her recent Spiderman-themed video that has gone viral. Fans are eagerly searching for where to watch the full video, turning to platforms like Instagram, X (formerly Twitter), and Discord for access.
As the buzz around Gucci Third Leg Hsv2 grows, fans are actively sharing their reactions online. The viral success of her video highlights the powerful role of social media in propelling creators into the spotlight.


Upgrade modules and examples to support Terraform 0.13

what

Update any version pinning
Updated examples
(locally verified) no terraform init errors using cli in main module & examples
(locally verified) no terraform validate errors using cli in main module & examples

why

Support Terraform 0.13

/test all

/test all

/test all

@syphernl Looks like there is an issue with the example ECS container definition in the tests:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121: Error: Iteration over null value
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:   on /__w/actions/actions/test/src/.terraform/modules/ecs_web_app.container_definition/main.tf line 4, in locals:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:    4:   env_vars_keys        = var.map_environment != null ? keys(var.map_environment) : [for m in local.env_vars : lookup(m, "name")]
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:     |----------------
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:     | local.env_vars is null
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121: A null value cannot be used as the collection in a 'for' expression.
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121: Error: Iteration over null value
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:   on /__w/actions/actions/test/src/.terraform/modules/ecs_web_app.container_definition/main.tf line 5, in locals:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:    5:   env_vars_values      = var.map_environment != null ? values(var.map_environment) : [for m in local.env_vars : lookup(m, "value")]
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:     |----------------
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:     | local.env_vars is null
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121:
TestExamplesComplete 2020-08-20T09:26:42Z command.go:121: A null value cannot be used as the collection in a 'for' expression.

Seems like a simple fix. I can check it out later today, but if you want to give it a shot sooner and get it fixed then I'll get this merged.

On my phone so reviews are hard. But looks like we are removing a lot from the examples and no explanation given in Pr description.

/test all

@syphernl  this error:
TestExamplesComplete 2020-08-24T06:42:35Z command.go:121: Error: Iteration over null value
TestExamplesComplete 2020-08-24T06:42:35Z command.go:121:
TestExamplesComplete 2020-08-24T06:42:35Z command.go:121:   on /__w/actions/actions/test/src/.terraform/modules/ecs_web_app.container_definition/main.tf line 4, in locals:
TestExamplesComplete 2020-08-24T06:42:35Z command.go:121:    4:   env_vars_keys        = var.map_environment != null ? keys(var.map_environment) : [for m in local.env_vars : lookup(m, "name")]
TestExamplesComplete 2020-08-24T06:42:35Z command.go:121:     |----------------
TestExamplesComplete 2020-08-24T06:42:35Z command.go:121:     | local.env_vars is null

is easy to fix.
It was broken here https://github.com/cloudposse/terraform-aws-ecs-container-definition/pull/90/files#diff-7a370d8342e7203b805911c92454f0f4L3
and we are setting the default to null here https://github.com/cloudposse/terraform-aws-ecs-web-app/blob/master/variables.tf#L242
So e can fix it by updating the container definition module to not enumerate null values.
Or, you can add
environment = []

to https://github.com/cloudposse/terraform-aws-ecs-web-app/blob/master/examples/complete/fixtures.us-east-2.tfvars
Since this is a PR on a fork, I can't update it.
Please make the change.
@jamengual  @osterman  ^

/test all

let's downgrade the ECR module to https://github.com/cloudposse/terraform-aws-ecr/releases/tag/0.25.0 for now.
Something is wrong with encryption_configuration added in 0.26.0 (either the syntax is not correct, or the aws provider is not up tp date, or something else)

/test all

/test all

/rebuild-readme

/test all


Deserielize doesn't accept undefined (only null).

Not sure if bug or feature.

lib/authenticator.js#L330
if (user === null || user === false) { return done(null, false); }

Could be replaced by:
if ( i && (user == null || user === false) ) { return done(null, false); }

To allow null or undefined or false user.

This hit us as well. Maybe the documentation could be modified, from
passport.deserializeUser(function(id, done) {
  User.findById(id, function(err, user) {
    done(err, user);
  });
});

to (added the  || null on line 3):
passport.deserializeUser(function(id, done) {
  User.findById(id, function(err, user) {
    done(err, user || null);
  });
});

in order to make it more explicit that if you pass undefined as user (and err is falsy) then Bad Things are going to happen?
For us it just hung the request(s) forever when the user was deleted from the DB because the pass function never calls the callback if err === user === undefined:
https://github.com/jaredhanson/passport/blob/fc0fdc804fb5dbf99c510b6b43fa05dded9f4f48/lib/authenticator.js#L337-L362


Fix synonym varitions mapping

Bug description
When trained on a dataset like the following the synonyms are not mapped correctly:
dataset = {
            "intents": {
                "dummy_but_tricky_intent": {
                    "utterances": [
                        {
                            "data": [
                                {
                                    "text": "dummy_value",
                                    "entity": "dummy_but_tricky_entity",
                                    "slot_name": "dummy_but_tricky_slot"
                                }
                            ]
                        }
                    ]
                }
            },
            "entities": {
                "dummy_but_tricky_entity": {
                    "data": [
                        {
                            "value": "a",
                            "synonyms": [
                                "favorïte"
                            ]
                        },
                        {
                            "value": "b",
                            "synonyms": [
                                "favorite"
                            ]
                        }
                    ],
                    "use_synonyms": True,
                    "automatically_extensible": False
                }
            },
            "language": "en",
            "snips_nlu_version": "0.15.0"
        }

Indeed the dataset in output of validate_and_format_dataset will have the following mapping in the utterances section:
"favorïte": "a",
"favorite": "a"

instead of:
"favorïte": "a",
"favorite": "b"

This is because we process the entities values sequentially and add their variation sequentially.
Thus, favorïte is normalized to favorite and mapped to a. Then when arriving to favorite we don't remap the value because it's already in the mapping
Fix
Fixed this issue by first mapping all original values. Then generate all the entities variations and adding only variations that are not in original value and that do not collide with other value variations.

Codecov Report

Merging #641 into develop will increase coverage by 0.02%.
The diff coverage is 95.83%.

@@             Coverage Diff             @@
##           develop     #641      +/-   ##
===========================================
+ Coverage    88.89%   88.91%   +0.02%
===========================================
  Files           59       59
  Lines         3269     3294      +25
  Branches       613      626      +13
===========================================
+ Hits          2906     2929      +23
- Misses         260      261       +1
- Partials       103      104       +1

Hello Clement
Où en es-tu avec ce problème ?
Mayuka m'a à nouveau signalé ce souci en japonais :
confusion entre "コード" (cable : k o o d o) et "コート" (cd : k o o t o)


python sequence example context_features  Unsupported FixedLenSequenceFeature

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using):   tf 2.2
Are you willing to contribute it (Yes/No):

Describe the feature and the current behavior/state.
*/miniconda3/lib/python3.7/site-packages/tensorflow/python/ops/parsing_ops.py:548 parse_sequence_example  **
context_features, [VarLenFeature, FixedLenFeature, RaggedFeature])
/data1/arc_seven/miniconda3/lib/python3.7/site-packages/tensorflow/python/ops/parsing_config.py:461 from_features
(type(feature).name, feature))
ValueError: Unsupported FixedLenSequenceFeature FixedLenSequenceFeature(shape=(), dtype=tf.float32, allow_missing=-1, default_value=None).

Will this change the current api? How?
Who will benefit with this feature?
Any Other info.

when the tf.data sequence example context_features support FixedLenSequenceFeature

@darrenwang00 Can you please share the code for us to reproduce this issue. Thanks!

CLosing this issue as it has been awaiting response for more than 2 weeks. Please add additional comments for us to open this issue again. Thanks!


feat: support multiple Scores at the same time and deprecate Scheduler

What type of PR is this?
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #108
Fixes #109
Special notes for your reviewer:
Does this PR introduce a user-facing change?

support multiple Scores at the same time and deprecate Scheduler;
add Scores.Spec.Weight

install-infra.sh: line 125: [: 153.219: integer expression expected

/lgtm


Add @types/node to webview-sample

Add @types/node to webview-sample to fix the following compile error:
$ npm run compile

><EMAIL_ADDRESS>compile /Users/tamura/src/github/vscode-extension-samples/webview-sample
> tsc -p ./

src/extension.ts:28:5 - error TS2584: Cannot find name 'console'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'.

28  			console.log(`Got state: ${state}`);
    			~~~~~~~

Found 1 error.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>compile: `tsc -p ./`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>compile script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/tamura/.npm/_logs/2020-11-02T07_09_57_981Z-debug.log

Thanks!


Add support for temporal types

@kostasrim here we have a little bit bigger problem because there is no obvious mapping between mg_local_time and mg_duration. Options are:

Create an arbitrary Napi::Object (what's currently showcased in the code) -> Less work, the idea would be just to preserve info, without spending much time on the interface of these objects (just passing what mgclient sent).
Create an arbitrary Napi::ObjectWrap, in other words, create a custom class in C++ that will encode all mgclient stuff (a special type) -> More work, essentially implementing https://tc39.es/proposal-temporal/docs/ (if we go this route, I would spend more time on actually implementing the right API).

Any thoughts here are welcome!

The decision at this point is to proceed with option 1.

@kostasrim tests are missing (I'll add that once the Memgraph Docker becomes available, refactor is required to make tests better, that will come later), but the implementation of option 1. should be done, feel free to make the review of that part :smile:

Minor comments, good work!


[BUG]

loadingBuilder not visible long time on slow network and big picture.

Can you provide an example that would enable someone to reproduce the bug?
Since this doesn't follow any issue template nor give any valuable information about the bug, I shall close it for not. If you have anything now that would help reproduce the issue, feel free to reopen it.


Plan to release codes for KITTI dataset?

Hi,
Is there is any plan to relesae code relevaant to KITTI dataset?

@xingyul , do you have any update on this? Do the needful

Released.


Small bug fixes and balance

Allow people at s0 to use new auto Asc mode because that might make game for some people easier to understand
Also small clean up of my toggle PR
(New) prevent being able to use shift + S early (Because spoilers)
(New) fix colors, that I accidently broke, and remove unused line
(New) hide toggle for auto Sacrifice properly

Moving color related changes into another PR


Audit project for accounts problems

Need to find the source of these accounts errors.

This is a potential task, if there is time left in the project and a verifiable need, to see if login errors from users (reported last year) are being caused by anything other than having different email addresses.


CS12rc6 upgrade of OSC 11.1.4 leaves OSC's runsvdir tree running

Ref: https://github.com/opscode/chef-server/issues/25
This is the cleanest way to properly shutdown the Open Source Chef
Server runsvdir tree and ensure that its init script is removed.
I tested this and it works for me.

This issue was already resolved for the CS12 GA release.
Mostly solved by documentation.
http://docs.chef.io/upgrade_server_open_source_notes.html#runsvdir-and-services


fix forceExit

looks like this was broken for a while

Codecov Report

Merging #4105 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4105   +/-   ##
=======================================
  Coverage   60.34%   60.34%
=======================================
  Files         195      195
  Lines        6755     6755
  Branches        6        6
=======================================
  Hits         4076     4076
  Misses       2676     2676
  Partials        3        3

Impacted Files
Coverage Δ

packages/jest-config/src/normalize.js
81.08% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Yay, thanks for fixing it all up :P


Revert "sleep state - run idle scripts and allow to control the backlight"

Reverts HASwitchPlate/openHASP#582

This fixed the idle timeout for me. :+1:


How to control image size?

I followed the inserting a figure example given in Franklin docs but two strange things happen
https://github.com/joa-quim/GMTjl_doc/edit/master/tutorials/Landsat8/histogram_stretch.md#L17

Changing width works fine tween 0 and 50%. Above 50% instead of increasing the image starts to be deformed.
The caption is not shown.

Ping


backup: Inquire is an Long-Running-Operation

This API returns a 202 with a Location header and is thus a Long Running Operation and so should be defined as such
Fixes https://github.com/hashicorp/pandora/issues/2345
This means that users don't need to manually parse and poll on the LRO: https://github.com/hashicorp/terraform-provider-azurerm/commit/dd3769186e61e14b196b6ef56fde3c63fe4d7ead#diff-3a615b62819b696f833f32c65c05e033eeeb4e66a8657931eb9e62a24b63f46bR114-R130

This is not a breaking change.. it's how the API works today, it's just not documented correctly in the Swagger..

Turns out more of these endpoints are LROs but not defined as such - I’ve pushed a commit to fix that.. // cc @JeffreyRichter / @mikekistler - not sure if you’re aware of this issue/RP?

@tombuildsstuff Good catch. I'll add the Approved-BreakingChange label.

@raych1 what's needed to get this one merged?

@raych1 what's needed to get this one merged?

@tombuildsstuff , please fix lintDiff errors.

I've updated this from the old API Version 2021-12-01 to the latest, since there's a number of new versions since this was opened

The x-ms-long-running-operation looks good to me, but I'm suspicious of the "final-state-via": "azure-async-operation" lines.

I don't see that any of the linter errors really need to be fixed - none are caused directly by this change.

@tombuildsstuff I have removed the Approved-BreakingChange label because it is obsolete. Your PR will have to be re-approved. Please follow the instructions at https://aka.ms/brch. If you provide the reason why your PR was approved in the first place, this will speed up the process and help the Breaking Change Review Board apply appropriate new label. Apologies for the inconvenience!


Extra space formatting issue in 'Response => Body Attribute'

Expected Behavior
Chaining requests in order to get a bearer token from an ROPC-request. It should be able to return the token and fill it into Authorization: Bearer.
Actual Behavior
The token generation and passing works, but the formatting in the headers seems to be wrong.

Returns this header

which  yields a 401.

here you can see an extra space is added.
When filling in the same token statically, the call will work.
Reproduction Steps

Go to the Barer tab on any call.
Fill in a Response => Body Attribute as Token.
Send request
Watch in Timeline and see an extra space is added after Authorization: Bearer

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
2023.2.2
What operating system are you using?
Windows
Operating System Version
Windows 11 Pro 22H2
Installation method
download from insomnia.rest
Last Known Working Insomnia version
No response

Based on your first photo, it looks like there's a space in the Token input before the Response => Body Attribute tag.
This behavior may be intentional; however, I can't think of a case where having a leading/trailing space would be useful.
I'll submit a pull request for review; if this behavior is intentional, please feel free to provide further feedback.


add new book

hey please add You-Dont-Know-JS book for javascript

Hey @0rigin-c0de Feel free to create a PR for this issue

I have the book "You Don't Know JS". My question is how to add it to a website since it's in PDF format and make a PR. @Susmita-Dey  @0rigin-c0de


code checks for c/cpp

We also need automated code checks, in particular for linting, as part of our checks target.
This is part of #55 and works torwards CI support #48.
PDO, for instance, uses clang to check code style.

closed with #84


Add note about rescan to hostname flag (fixes #1221)

Codecov Report

Merging #1266 into master will decrease coverage by 5.84%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1266      +/-   ##
==========================================
- Coverage   52.81%   46.96%   -5.85%
==========================================
  Files         131      131
  Lines       12423    12423
==========================================
- Hits         6561     5835     -726
- Misses       5100     5880     +780
+ Partials      762      708      -54

Impacted Files
Coverage Δ

cmd/restic/cmd_backup.go
27.21% <100%> (ø)
:arrow_up:

internal/backend/b2/b2.go
0% <0%> (-79.93%)
:arrow_down:

internal/backend/azure/azure.go
0% <0%> (-75.35%)
:arrow_down:

internal/backend/swift/swift.go
0% <0%> (-73.9%)
:arrow_down:

internal/backend/gs/gs.go
0% <0%> (-70.82%)
:arrow_down:

internal/backend/swift/config.go
34.37% <0%> (-56.25%)
:arrow_down:

internal/backend/test/tests.go
58.63% <0%> (-0.57%)
:arrow_down:

internal/archiver/archiver.go
65.36% <0%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

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


Fixes aws/aws-amplify#84 Browser Timezone Issues

This pull request deals with:
TypeError: Cannot read property '1' of null

C:/myapp/node_modules/aws-amplify/lib/Common/ClientDevice/browser.js:62
  59 | exports.dimension = dimension;
  60 | function browserTimezone() {
  61 |     var tzMatch = /.+\(([A-Z]+)\)/.exec(new Date().toString());
> 62 |     return tzMatch[1] || "";
  63 | }
  64 | function browserType(userAgent) {
  65 |     var operaMatch = /.+(Opera[\s[A-Z]*|OPR[\sA-Z]*)\/([0-9\.]+).*/i.exec(userAgent);

Codecov Report

Merging #85 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #85   +/-   ##
=======================================
  Coverage   73.37%   73.37%
=======================================
  Files          49       49
  Lines        2163     2163
  Branches      438      438
=======================================
  Hits         1587     1587
  Misses        500      500
  Partials       76       76

Continue to review full report at Codecov.

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

I think

return tzMatch[1] || "";
should be
return tzMatch ? tzMatch[1] || "";

The regex part is good. But as @t-nakatsu-mf mentioned, tzMatch should be checked before return tzMatch? tzMatch[1] : ''
@Funkmyster could you make that change too? Thanks.

@richardzcode Will do!


Partial file not found

In the hopes that this will help anyone ...
Lets assume the following:

you use metalsmith-layouts like this:

.use(layouts({
engine: "handlebars",
directory: "layouts",
default: "layout.txt",
partials: "partials"
}))

you had the following folders/files:

directory = metalsmith's base folder
directory / test.txt = a file to render, but with no frontmatter
directory / layouts / layout.txt = so the default layout template
directory / layouts / specific / layout.txt = some specific template
directory / partials / partial.text = a partial with whatever content

both layout.txt files have the following content: partial: [{{>partial}}]
test.txthas the following content: whatever (i.e. no frontmatter at all)

Test 1
At first, (index.js / render / line 149) will be executed with str representing an absolute path to the current template file. And str will be passed on as path to (consolidate.js / readPartials / line 121), which it will use in var file = join(dirname(path), partials[key] + extname(path));
In short: consolidate.js recreates an absolute path to the partial file by using the template file's extension, which will fail (.txt vs .text) if it tires to read the partial's contents.
Now I realize, that consolidate is responsible for this quirk, but it might help, if the metalsmith-layouts' documentation would mention that template files and partial files must use the same file extension.
Test 2
Alright, lets rename "partial.text" to partial.txt.
This will work just fine.
Test 3
Now, lets change the content of directory / test.txt to:
---
layout: specific/layout.txt
---
whatever

This will fail because (read-partials.js / readPartials / line 37) calculates a path to the partial file that is relative to the base layout folder (see options.directory) and because consolidate.js uses the layout file's actual folder (see above). Both folders don't have to match!
Now that you already seem to work on version 2, please document that if you are using partials, then all template files must be located inside the options.directory folder and not in any subfolder.

Thanks for the issue 👍 . Would you mind addressing this in a PR?

I think that should fix the issues with "Test 3".
(I'm a github newbie) Why does it display "Fix for issue 126 and 127"?


Add template-capture example for nested keys and headline refiling

I think this is the wrong place to make the change @jgollenz looks like docs are generated from DOCS.md using md2vim

My bad. Thanks @TravonteD, put it in DOCS.md


allow a project to accept DCO or EasyCLA

as a configuration option for a project, enable it to accept either DCO or easy cla, if a pr / commits are already signed off with DCO then disable the easycla status check.

Generally, the community Project Manager, with support from the legal team, determines if a project will support DCO signoffs and/or Contributor License Agreements (CLA). DCO's are configured within GitHub itself. If a CLA is selected, then the Project Manager configures the project to use a CLA from the Project Control Center (https://projectadmin.lfx.linuxfoundation.org/) by selecting the appropriate CLA documents/templates, if a corporate and/or individual agreement is necessary, and which GitHub organizations/repositories the CLA agreement applies to.  In all cases, the decision to use a DCO or CLA is determined by the Project Manager - not contributors.

I'll mark this as closed since DCO/EasyCLA can work together or separately. As David said, the call to use one or the other or both is typically the project's call and usually defined in the project's charter.


Resetting TrackingEventProcessor works differently if event-store is empty

Basic information

Axon Framework version: 4.4.3 (also tried 4.5)
JDK version: openjdk version "11.0.3" 2019-04-16 LTS

Steps to reproduce
@RestController
@ProcessingGroup("migrator")
public class Migrator {

    @Autowired
    private EventStorageEngine ese;

    @EventHandler
    public void on(Event e) {
    }

    @Autowired
    private AxonConfiguration configuration;

    @GetMapping("/migrate")
    public void migrate() {
        configuration.eventProcessingConfiguration()
            .eventProcessorByProcessingGroup("migrator", TrackingEventProcessor.class)
            .ifPresent(tep -> {
                tep.shutDown();
            });

        ese.appendEvents(...); // add some 'Event'-events

        configuration.eventProcessingConfiguration()
            .eventProcessorByProcessingGroup("migrator", TrackingEventProcessor.class)
            .ifPresent(tep -> {
                TrackingToken ht = tep.getMessageSource().createHeadToken();
                tep.resetTokens(ht);
                tep.start();
            });
    }

}

I have this RestController in my application. The application starts with an empty database.
The idea is to halt processing, insert new events and then resume processing but skipping everything that was just added. It does not work like I expected the first time I run this though. The first time around the EventHandler is called for each of the new events. Subsequent calls to /migrate don't do this and the events are skipped.
Expected behaviour
EventHandler is never called.
Actual behaviour
EventHandler is called for each event the first time /migrate is called (when Event-Store is empty), but not on subsequent calls.

First off, this looks like your first contribution, so welcome @michaelbub!
To the point at hand, on face value this indeed looks odd.
I have two questions on the matter to further resolve this problem:

Do you mind expanding what you're trying to achieve with this action? Although I'd anticipate the token to correctly reflect the position regardless of what you're trying to do, maybe I can suggest a different course for your application to unblock you for the time being.
Would you be able to provide a small sample application that consistently shows this behaviour? That would speed up our side of trying to resolve the issue greatly and hence would be very much appreciated.

First off, this looks like your first contribution, so welcome @michaelbub!

Thanks, Steven.

Do you mind expanding what you're trying to achieve with this action? Although I'd anticipate the token to correctly reflect the position regardless of what you're trying to do, maybe I can suggest a different course for your application to unblock you for the time being.

No worries, I was just experimenting on how to get data into the eventstore the "easy" way, i.e. w/o AggregateLifecycle.appy'ing etc. everything. Later I put in the EventHandler to see what would happen. It got called, of course. Probably we won't even have an EventHandler when we do that migration for real, still I thought it could be a good idea just to skip all these events. So I added that tracking-processor code and noticed this oddity.

Would you be able to provide a small sample application that consistently shows this behaviour? That would speed up our side of trying to resolve the issue greatly and hence would be very much appreciated.

Sure. Coming soon.

axon1786.zip
Run with e.g. mvn spring-boot:run. Then run curl http://localhost:8080/axon/migrate twice to see the difference.

Thanks very much for the sample @michaelbub! Just gave it a spin and spotted the problem.
It's the current implementation of how the framework constructs a so-called ReplayToken.
It is the ReplayToken that carries the token-at-reset and the new start position, allowing the framework to be smart when a replay is active.
The initial implementation of this was from the perspective that if you invoke replay, you will already have an existing token in the token store.
In you scenario however, which is reasonable by the way, this is obviously not the case, as the TEP starts for the first time.
This is the usage of the ReplayToken catching up with what we currently recommend it can be used for.
I'll adjust the ReplayToken implementation to return the provided start position at reset instead of the start of the stream.
This fix will be provided to 4.5.1, which I aim to release soon. Hope that's sufficient for your scenario as well.


Forgetting to close a file handle?

We have various short running and long running programs that are using pex. We've been running out of /tmp space in various occasions, so we've been investigating the issue with lsof. We're seeing a number of entries in lsof output:
foo 17879       sholsapp    2u      REG               0,17   535621632  214612953 /tmp/ffiNf349b (deleted)

These types of files are cleaned up after the respective pex process terminates.
Is this a bug?

any chance you can provide repro steps?

@kwlzn When I'm back at my desk tomorrow I'll send you an end-to-end example of what is going on. Before then in case it helps: we're packing a pex file with a ton of dependencies, we're running the generated pex, we're observing that a large amount of the /tmp filesystem is used, using lsof to discover that a file handle to a deleted file exists. The process is long lived (it is a Flask web server). When the process ends, we see that the file is cleaned up.
Thanks for the quick reply. I'll share more tomorrow.

I was not able to reproduce with a pure pex example (https://github.com/sholsapp/pex-example) which led us to the actual problem in gunicorn. Sorry for the noise. :beers:

nbd! thanks for updating the issue.