[Bug]: You can sign up with email, but can't login with email

What happened?
I signed up with an email account from the link from the docs, but now cannot login to that account as Github is the only option.
What did you expect to happen?
That I could login lol
Version
The website itself
Reproduction Steps

Go to sign-up page (this one specifically https://accounts.uploadthing.com/sign-up?redirect_url=https%3A%2F%2Fuploadthing.com%2Fdashboard)
sign-up with email
log out
never get in again

Reproduction Repository
No response
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Oh.. hm. That shouldn't be an option. You should only be able to sign up/in with a github account. I'll get that fixed today.
Did you lose access to any apps when this happened? If so, I can link them to a new account if you sign up with a GH account. DM me on Discord (@markr) with the email address you initially signed up with if you need me to do this 👍

Oh.. hm. That shouldn't be an option. You should only be able to sign up/in with a github account. I'll get that fixed today.
Did you lose access to any apps when this happened? If so, I can link them to a new account if you sign up with a GH account. DM me on Discord (@markr) with the email address you initially signed up with if you need me to do this 👍

This might be a different issue or relate to the latest commit. I cannot login-in through the sign in portal.
What happened?
Try to sign in with Github
What did you expect to happen?
Cannot login with github account.
Version: 49569dd2401af44bcd208e1df9f775a7bcc98e6c
Reproduction Steps:
Go to sign-up page (https://uploadthing.com/sign-in)
sign-in with Github
It redirect me to sign-in page after the github SSO. : <

Oh.. hm. That shouldn't be an option. You should only be able to sign up/in with a github account. I'll get that fixed today.
Did you lose access to any apps when this happened? If so, I can link them to a new account if you sign up with a GH account. DM me on Discord (@markr) with the email address you initially signed up with if you need me to do this 👍

This might be a different issue or relate to the latest commit. I cannot login-in through the sign in portal.
What happened? Try to sign in with Github SSO
What did you expect to happen? Cannot login with github account.
Version: 49569dd
Reproduction Steps: Go to sign-up page (https://uploadthing.com/sign-in) sign-in with Github It redirect me to sign-in page after the github SSO. : <

I have the same problem. When i try login by github app redirect me to sign in page and that's all. Only what i have that information about redirect in address bar.

I can't seem to reproduce the sign in issues you are seeing @Balbalnom @MenroMi
Can you try in an incognito tab/with extensions disabled?
What browsers are you using? Do you have an adblocker?

I can't seem to reproduce the sign in issues you are seeing @Balbalnom @MenroMi
Can you try in an incognito tab/with extensions disabled?
What browsers are you using? Do you have an adblocker?

In incognito i also have the same problem. Browser and version: Google chrome Version 114.0.5735.198 (Official Build) (arm64).

Can you check the network console to see if there is a request that is failing?

Can you check the network console to see if there is a request that is failing?

nope. All request looking good.

Chrome: 115.0.5790.114 (Official Build) (x86_64)

Can you enable "preserve log" and try again?

Nothing special with it property

Can you enable "preserve log" and try again?

Here you go. I disabled all extensions and it is a fresh instance in chrome.

Your redirect URL is pointing at /auth/sso?

Yes, but authorization is not completed. But it turns out that the account itself is logging in, i guess.

Yeah, I am not seeing either of your accounts being created in Clerk. Debugging with the team now, will report back when I have some more info or steps to try!

@Balbalnom @MenroMi  Try logging in again now?

I can login now. Thanks!

@Balbalnom @MenroMi Try logging in again now?

I can also. Thanks.

Pretty sure this should be fixed with recent dashboard refactor. Reopen if you experience this again


suite.py: say which path is invalid in _build_matrix

Signed-off-by: Dan Mick<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1530/
Tests passed for this pull request.


Added Merge Sort to the Sorting Algorithms' file.

Merge Sort is a Divide and Conquer algorithm. It divides the input array in two halves, calls itself for the two halves and then merges the two sorted halves.

@parinita08  do the following things:

Raise an issue which this PR solves (Fill that template carefully)
Wait for it to be assigned to you
Fill this PR template accordingly

Raise an issue, wait for it to be assigned to you, and then resubmit your PR.
Current PR being closed for not following the contribution guide.


It appears "cleanup: False" no longer works

If I do not want ninja to clean up the build files, for whatever reason, it would be helpful to set cleanup: False in the builder config. However, it does not appear to do anything anymore as it is not mentioned anywhere else in the builder code. I think it would be helpful to be able to disable cleanup.

@m4rc1e ptal


Alex.clark new app header

Not ready to merge yet

Need to resolve conflicts and address code review comments.  Will open a new PR afterward.
Close this PR for now.


Swap eth address for evm address everywhere in the hbar limiter code

Addressing the following comment https://github.com/hashgraph/hedera-json-rpc-relay/pull/3110#discussion_r1804004678
Possibly adress and discuss following comment as well https://github.com/hashgraph/hedera-json-rpc-relay/pull/3110#discussion_r1805150333

I've renamed EthAddress to EvmAddress


Overview of all Files/Sections

I don't know if this is already a part of DocTo:
It would be cool to have the ability to generate a seperate file, wich contains all ToCs from the other Files, so that this file could be used as Navigation.

Not currently supported, but if you have an idea of how this could be implemented please PR and we can discuss.

If i could write good JS i would do it.
I've a basic Idea on how this goal could be achieved, but i have no clue, how i should develop it.

Good chance to learn JS then ;)

Waiting for PR, but closing for now.


Previously working URL stopped working with requests.MissingSchema error

Hi,
I am having problems using gdown == 3.13. The Google drive link worked a few hours ago, but it doesn't anymore. Maybe there was a change in Google Drive?
When I try to download a public file on Google Drive (140MB), I get the following error:
>>> gdown https://drive.google.com/uc?id=0B7BsN5f2F1fZd1Q0aXlrUDhDbnM
Traceback (most recent call last):
  File "/home/sysadmin/online-socket-decoder/env/bin/gdown", line 8, in <module>
    sys.exit(main())
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/gdown/cli.py", line 99, in main
    filename = download(
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/gdown/download.py", line 114, in download
    res = sess.get(url, headers=headers, stream=True)
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/requests/sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/requests/sessions.py", line 528, in request
    prep = self.prepare_request(req)
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/requests/sessions.py", line 456, in prepare_request
    p.prepare(
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/requests/models.py", line 316, in prepare
    self.prepare_url(url, params)
  File "/home/sysadmin/online-socket-decoder/env/lib/python3.8/site-packages/requests/models.py", line 390, in prepare_url
    raise MissingSchema(error)
requests.exceptions.MissingSchema: Invalid URL '': No schema supplied. Perhaps you meant http://?

I tried downgrading gdown to 3.12.2 and 3.12.1, but I get the Permission denied ... Maybe you need to change permission over 'Anyone with the link'? error.
Is anyone else having the same problem?

Upon some debugging, it seems that my URL seems to change value here:
https://github.com/wkentaro/gdown/blob/master/gdown/download.py#L44-L49
The confirm variable should be returning a URL-like string, but instead it looks like:
function(a){var b=Xoa(this)
The whole line looks like this:
var Oy=function(a){this.aa=a};Oy.prototype.getWindow=function(){return this.aa};Oy.prototype.confirm=function(a){var b=Xoa(this);a=this.aa.getWindow().confirm(a);Yoa(this,b);return a};Oy.prototype.prompt=function(a,b){var c=Xoa(this);a=this.aa.getWindow().prompt(a,b);Yoa(this,c);return a};

Since the url variable is set to empty, there is nothing to replace in the regex statement and hence url is kept at ''. In the next iteration of the while loop in the download function, the program tries to send a request to the empty URL, causing the error.
I believe that the responses from Google Drive has changed, causing these issues.

Oddly enough, in versions 3.12 the program is able to stop here, before sending another request with a broken URL: https://github.com/wkentaro/gdown/blob/master/gdown/download.py#L150
However, in 3.13, the program starts another iteration and fails at sending a request.

I'm experiencing the same issue. gdown versions 3.12 and 3.13 aren't working anymore

@ashok-arjun, @rolzy  I faced the same problem too

It seems the error message from 3.12.0 is correct.
Permission denied ... Maybe you need to change permission over 'Anyone with the link'? error.

As I cannot access your file by this URL: "https://drive.google.com/uc?id=0B7BsN5f2F1fZd1Q0aXlrUDhDbnM" in the incognito mode of the chrome. (It shows a sign-in page) If I log in to my account, I can see your file.

I'll improve the error message, not sure how to fix your specific problem. This probably happens because many downloads happened on your file and Google tries to reduce the load by requesting sign-in.


Migrate to codecov

Fixes #1577 (hopefully)
From what I'm reading coveralls no longer works with the public token for some reason. Codeclimate, codeship and now coveralls requires full read/write access to all of your public/private repos + the org ones = which is insane IMO.
Codecov on the other hand requires minimal set of permissions for public projects + it seems that they support reporting via the GitHub status API.

This is how the coverage looks like https://codecov.io/github/request/request

Codecov turned out to be under heavy development, so I'm postponing this PR until this https://github.com/codecov/support/issues/12 issue get resolved.

Thanks for the PR. I'll be working on codecov/support#12 today. I look forward to this merge!

Thanks, @stevepeak the GitHub's status API seems to be working :+1:


Only insert or remove input if needed

Objective
We are currently inserting an input into pressed even if it is already pressed. This also applies to releasing an input. This is not a big deal, but since we are already checking if the input is pressed or not we might as well remove the cost of the value update caused by the pressed.insert method.
Related to #4209
Solution
Only insert or remove input if needed.

I'll do you one better:
pub fn press(&mut self, input: T) {
    // see https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.insert
    if self.pressed.insert(input) {
        self.just_pressed.insert(input);
    }
}

pub fn release(&mut self, input: T) {
    // see https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.remove
    if self.pressed.remove(&input) {
        self.just_released.insert(input);
    }
}

Only one hash table access for self.pressed regardless of the branch
Heh, I thought of this when I first saw https://github.com/bevyengine/bevy/pull/4209 and was waiting for it to be merged
I find it cool that HashSet::{insert,remove} provide this functionality (as I understand it, it's basically free from the hash table lookup); more power to the programmer :)
Admittedly, I have qualms about the side effects and the confusable return values (there's even a discussion on that[^1]); perhaps comments (not doc-comments) are in order?
[^1]: https://internals.rust-lang.org/t/hashset-insert-considered-harmful/7257

Oh that's actually really cool. I think it's worth switching to this instead and adding a simple comment like:
// Returns `true` if the `input` wasn't pressed before.

bors r+


Hystrix properties inside a jee server

I'm using hystrix inside a jboss eap 6 and set different properties for different hystrix commands:
Command 1:
private static final Setter cachedSetter = Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey("commandOne"))
.andCommandPropertiesDefaults(HystrixCommandProperties.Setter().withExecutionTimeoutInMilliseconds(1000))

.andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter().withCoreSize(20))
      .andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter().withMaxQueueSize(20));

Command 2:
private static final Setter cachedFallbackSetter = Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey("commandTwo"))
            .andCommandPropertiesDefaults(HystrixCommandProperties.Setter().withExecutionTimeoutInMilliseconds(4000))
            .andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter().withCoreSize(10))
            .andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter().withMaxQueueSize(10));

When i deploy it, there is no difference in timeout, core size and maxQueueSize... The Pool Size (equivalent to core size, i think) is shown in my dashboard with the value 1 and the queue size with 5. Is something missing or why does it not work?

It is working, try increasing load and then ramping ip your threads. You will see some difference.  Also you can verify by curling stream data directly.

The dashboard increases the numbers of queue and pool size with increasing load?
The differences in timeout behavoir was my fault, it is working now. Thank you :)

Glad it worked. What was the issue??

I never noticed that the value is always increasing when i call my remote service. The fallback settings was 4 seconds but i forgot that i first wait 3 seconds before i call again my remote service. So 1+3 = 4 seconds (timeout was 4 seconds) and that was the reason why the second command also failed


Add Responded collection to TurnContext

This PR adds a Responses collection to the TurnContext.  The BotFrameWorkAdapter will then add all sent activities to the collection.
This allows middleware and other logic to query what has responded based on Message type instead of using the responded boolean.
Example usage:   The typing middleWare currently breaks any code that uses "if (context.Responded)" because it responds to everything with a typing event.  Now using LINQ you could instead do "if (context.Responses.Where(r => r.Type != ActivityTypes.Typing).Any())"
This would resolve issue #800

@stevenic, any comments?

Proxying @Stevenic response:
The LINQ query isn't going to work for JavaScript or python and the "typing" activity shouldn't be triggering the responded flag. On the JS side I send typing directly through the adapter because you don't want it logged either.
I personally think this should just be added via middleware. If I thought we could get rid of the responded flag I'd suggest we get rid of it but it's the easy way of knowing if your fallback code should run.

@daveta
I am not sure how this could be added as middleware.  The underlying concern is that when middleware (or the main onTurn) method runs there is not enough information in the context about what other middleware that is before it in the order of execution has done.
Responded works if you only have two options, a main function and fallback like @Stevenic said.  in our business requirements we have a lot more.  I used typing as a basic example above, but our solutions is really: typing, Suggested action, message reactions, complex waterfall dialogs, Dispather -> luis -> QnA, "Backchannel" Events exchanged for authentication, live chat hand-off, proactive messages, and we are looking at personality chat for the end of the chain.
We are really just adding a history to the Context, to allow more complex workflows to be able to evaluate what has happened already and what should respond.  We are finding this is not possible with only the responded boolean.
LINQ is nice "syntactic sugar" to query that in dotnet, but java and python still fully support iterating a collection and evaluating its contents.

A third option is to register an OnSendActivities handler on the context object, and use that to update a custom flag. See the event handlers article for more info.

I was able to accomplish this with the EventHandlers triggered in my first piece of middleware, and then storing a custom history Model the context.ServicesCollection.
I think I would still like to see a way to eliminate or expand the Responed bool in the future.  but my immediate challenge seems to be resolved.

Thanks Jeff.


docs(README): add devDependencies shield

Coverage remained the same at 100.0% when pulling 824858300d7f4874cd653f78625a461ca4a1c335 on prtksxna:patch-2 into cfe2545b16ea77d7c4ed7f369c1b84cd709cbcc2 on decisively:master.


Allow passing userdata to thread

Currently work and threads do not support passing userdata.
Note: I'm using sol2 defined userdata but this shouldn't matter.
Example:
local channel = UserDataChannel.new()
local thread_id = uv.new_thread(function(chan)
  print("channel: ", tostring(channel))
end, channel)

uv.thread_join(thread_id)

Gives the error:
bad argument #2 to 'new_thread' (Expected uv_handle userdata)

There's a pretty good reason not to support this. It would drastically increase the complexity of the needed serializers and even then there might be assumptions built into the library that the userdata is from which cause it to cause bugs when sent between threads. This isn't a feature that can reasonably be supported. It would require modifications to the library that produced the userdata and a significant body of new code. Sending arbitrary userdata between states is impossible. Creating a standard that allows conforming userdata representing a useful subset of things to be sent between threads is possible but difficult. Doing that requires making a source-fork of every native module that needs to be used between threads.
What are you actually trying to do and why do you think you need that? There might be an easier way to accomplish it.

I have multiple lua states running in their own threads. One thread may send a message to another thread. I have an object channel using a shared_ptr to boost fiber's buffered channel as userdata.
I can push and pop on the channel but that blocks the thread, I tried an idle handle with try_pop but that causes 100% cpu usage, most likely because of the locks, this even happens with thread_yield() in C++.
So I need a way to send, check, and recv messages from another thread without 100% cpu usage and without blocking the event loop.

Idle handles cause 100% CPU usage because they prevent the wait until the next event in the loop and causes it to do a non-blocking check for new events and immediately run the idle function again if there aren't any.
A check handle will leave the waits intact so if no event is available it will wait until one is rather than using the CPU completely but will still run the check on every iteration of the event loop.
What you might want to do is use an async to notify the thread that it has something new on one of your custom channels and then installing an idle that pops the next item out of the queue and processes it if available but cancels the idle if the queue is empty. That would accomplish the usage you described with the channels you already have.
The simple way to do what you want is to just create a socket that you can connect to from each thread and send serialized data between them.
More complicatedly, you can use the FFI to create a buffered channel and pass a handle to one of the ends of the buffered channel between threads by marshalling it into the bytes of a string and then unmarshalling it on the other end, then have your buffered channel support sending typed FFI data between threads, potentially including copyless memory buffers and other advanced features.
Is any of this helpful?

I'd like to avoid FFI.
I haven't figured out how to pass the channel passed into the lua script into a thread created with new_thread where I could then call async:send().
Do you have a suggestion for this?
Thank you for your help.

The userdata would have to be created on the new thread, not passed across it. If you don't mind making some custom C++ code for this, you can make a pair of functions that marshall and unmarshall the channel headers. For example, you can use reinterpret_cast<> to write a pointer to the channel into the bytes of a string of the appropriate length and just return the string, then convert that string to a lua string that you can just pass between the threads, then on the other thread, you can call a different function that uses reinterpret_cast<> to get the pointer to the channel back from the bytes of the string, which when wrapped by sol2 gets you the channel userdata back again. You would need to be careful with garbage collection anchoring, but that is one way to make that happen.
Why couldn't you just use a libuv socket or pipe?
What is the task you are actually trying to do for which you reached for boost fiber channels?

I haven't used the socket or pipe because I'm unsure how to use them correctly. I will be sending messages of varying sizes over the pipe.
I used a channel because I have multiple states, each state will have its own event loop, variables, etc in a sandbox. One state may tell the other state to exit or that a message has been received from one input and be copied to multiple states for processing.
I also have custom user types defined which don't get passed / registered in new_thread.

Are you wanting a many-many architecture or a one-many architecture? Do you want any thread to be able to communicate to any thread that it has acquired a channel for and for any thread to be able to spawn new threads and pass channels around, or do you want a single main thread that can communicate to a pool of workers, but workers don't need to communicate among themselves?

Sidenote, building a better way to do this into luv is an ongoing project of mine, but unfortunately it isn't done yet so I can't just point you to a branch my fork and say to try using it.

many to many so that sub states may communicate with other sub states and the main state may communicate with and be communicated with the sub states.

Is it an acceptable solution to have the main state proxy the communications to the substate in question?
Getting communication between one main state and a bunch of child states is doable easily with a pipe, and proxying the communications betweeen different states is doable in a fairly straightforward manner. If that is an acceptable solution, I can tell you how to do it; otherwise, waiting until I have made my planned threading extensions to luv, getting into FFI stuff, or using the custom C++ code to do the marshalling are the only reasonable options I can think of off the top of my head.

Having a main state proxy communications to substates seems like it would be fine, how would something like this work?
What is the best way to correctly use a pipe? My main issue is partial reads and figuring out when a message is completed when using sockets / socket like.

You can do this by using local pipe = uv.new_pipe(false) to create a new pipe that can't do IPC and can only go between threads of the same process, then pipe:bind(pipename) to give it an accessible name. This creates the pipe on the filesystem using the name as a path on unix, or as a named pipe on windows. From there, you start listening to the pipe using pipe:listen(n, fn) I use 128 for n. The function is what should be done with each new connection. It will look something like
local client = uv.new_pipe(false)
pipe:accept(client)
--vars for dispatcher state
local function dispatch(err, data)
-- body of dispatching logic that decodes and routes the data from that connection.
end
client:read_start(codec.decode(dispatch))

That sets up the main state's side of the pipe.
To connect from the child state it is just local pipe = uv.new_pipe(false) followed by pipe:connect(pipename). Then the child state can read from and write to the pipe just like any other stream.
To avoid partial reads and handle message completion, you would make a codec that can chunk the raw bytestream into the appropriate sections. The easy way to do this is to just prepend each chunk with a message length. Then the codec can just ensure it has all the bytes of the count then ensure it has all the bytes of the message based on the count, waiting if necessary to ensure that it has all the data it needs before passing the messages in the correct chunks on.

Thank you, I'll try this and get back to you tomorrow.

If you're interested in using coroutines instead of callbacks, coro-net has support for pipes, where codec functions can be applied according to coro-wrapper's description.

Hi @aiverson , I tried a very similar code as you suggested in the comment in
the context of neovim. As Luv is integrated into neovim, so, I was trying to
write an async multithreaded plugin using Luv capabilities.
In my code, there are 2 threads (one main thread and one child thread), 2 pipes
(One for writing from main thread to child thread and one for writing from
child thread to main thread).
I am writing some data from the main thread to the child thread on the first
pipe, and when child thread gets the data it writes the same data to another
pipe destined for main thread.
Here is the code I am referring to:
local uv = vim.loop

local M = {}

local function entryFunction()
	local uv = require'luv'
	local pipe = uv.new_pipe(false)
	local another_pipe = uv.new_pipe(false)
	pipe:connect("/tmp/socket.async.tmp")
	another_pipe:connect("/tmp/socket.aync.another")
	pipe:read_start(function(err, chunk)
		if err then
			another_pipe:write("error")
		else
			another_pipe:write(chunk)
		end
	end)
end

function M.asyncLoad()
	local pipe = uv.new_pipe(false)
	local another_pipe = uv.new_pipe(false)
	pipe:bind("/tmp/socket.async.tmp")
	pipe:listen(128, function()
		local client = uv.new_pipe(false)
		pipe:accept(client)
		for i = 1, 3 do
			local data = string.format("Here %d", i)
			client:write(data)
			-- os.execute("sleep 1")
		end
	end)
	another_pipe:bind("/tmp/socket.aync.another")
	another_pipe:listen(128, function()
		local client = uv.new_pipe(false)
		another_pipe:accept(client)
		client:read_start(function(err, chunk)
			if err then
				print(err)
			else
				print(chunk)
			end
		end)
	end)
	M.thread = uv.new_thread(entryFunction)
end

return M

asyncLoad is the function that is being called as plugin from neovim
context.
This program is expected to print: Here 1, Here 2, and Here 3 line by line.
However, it is printing null.
(from reading chunk from main thread's another_pipe).
It also seems that the child thread is not able to read any data sent by main
thread because putting a print statement in read_start function of child thread
doesn't print anything.
Is there something I am missing? My guess is child thread is exiting before it
receives any data. However, putting an infinite loop in the child thread seems
a waste of resources as it would be busy waiting. So, if my guess is right
about exiting of child thread, what should I do so that the child thread
persists but without busy waiting ?
Thanks


[Catch3] Catch version 3

Library name: Catch version 3
Library description: The nre version of te catch2 testing library
Source repository URL: https://github.com/catchorg/Catch2
So there is now a preview 3 version of catch https://github.com/catchorg/Catch2/releases/tag/v3.0.0-preview3.
Would be great to try this out. I did submit an issue on catch2 https://github.com/catchorg/Catch2/issues/1945 and Martin seems to be keen to avoid yet another vcpkg name as there are already
catch
catch-classic
catch2
Maybe the new version stuff can be used rather than creating a catch3. Note that catch3 is a breaking change from catch2 so simply updating the catch2 version to 3.X would probably be a bad idea.

Here is my opinion on the request.
A) We should wait until version 3 comes out as a release, and not add a preview.
B) Version 3 should be an update as to match what the developer did.
C) Version 2 can become a feature so that people can still use it.

Just built this preview version on Windows 10 x64 and it seems pretty straight forward.

Just so I understand.
So when a version 3 comes out the "catch2" package will at some point be upgraded in place to use it.
There will be a way to specify that you still want to use version 2 of the catch2 package after this happens.
If so seems good to me.

Yes.
I can handle doing the update, once version 3 comes out.


[Window Management] Not working with Xcode Simulator

Description
When running any of the window management commands in an instance of Xcode Simulator, I'm getting a "Cannot move window" error:

Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
No response

This issue is not related to the API or extensions. Could you please use the Send Feedback command inside Raycast or use the #help or #bugs channel in our Slack Community 😊


flutter build aar --target-platform

I have a question with flutter build aar command line and target platform.
flutter build aar has a option --target-platform
When using flutter build aar --target-platform android-arm64, It seems to build an aar targeting arm64.
I checked the docs.

Apps built for ARMv7 or ARM64 run fine (using ARM emulation) on many x86 Android devices.

https://docs.flutter.dev/resources/faq#what-devices-and-os-versions-does-flutter-run-on

Looking at the above document, it is stated that the app built with arm64 run fine on many x86 Android devices.
Does this mean that Android host App embeded aar built with flutter build aar --target-platform android-arm64 will run fine on x86 Android devices?

Hi @kim-json
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Remove assertion in Android demo build config requiring API key

This currently causes all CI builds from external contributors to fail.

@tallytalwar That's reasonable. I just pushed a commit to log a warning when no API key is found in the demo.


(PUP-6473) Pin FFI to 1.9.10

An update to FFI (1.9.11) has caused downstream gems to error due to a bug
introduced in 1.9.11.  FFI Github issue 506 (https://github.com/ffi/ffi/issues/506)
shows this is affecting other users of FFI as well.  This commit pins FFI to the
latest known good working version of 1.9.10.  This change will be reverted in the
future once issue 506 is resolved.

Verified desired version of ffi installed by running bundle install.

CLA signed by all contributors.


feat(add): Request gzip compression in API calls

Description of the change
This PR makes the client request a gzip'd response, by setting the Accept-Encoding header to gzip. When a gzip'd response is received, the client will uncompress it.
This change is backwards compatible -- if any new *arr APIs do not support compression, or if any existing *arrs choose to disable compression (it's not a documented feature as far as I know), this should still just work -- the client looks for the Content-Encoding header before trying to uncompress.
As a side note, I though the http.Transport should just handle this, but it turns out that it only handles compression if it isn't explicitly asked for. So since the *arr APIs default to uncompressed, we have to manually request & handle gzip compression.
Benefits
This PR will reduce the on-the-wire size of all API calls. In my tests, my Radarr responses went from 433Kb on the wire to 63Kb.
Possible drawbacks
None that I can see. Theoretically handling compression adds CPU usage, but in practice, this is so negligible to be unnoticeable.
Applicable issues

fixes #87
(I can leave #87 open if you prefer, but I don't think much more can be done unless *arr adds pagination to their APIs)

Additional information
For verification, I temporarily added logging of headers.
Before Change:
INFO[0012] Request Headers: map[Accept-Encoding:[gzip] X-Api-Key:[REDACT]]
...
INFO[0012] Response Headers: map[Cache-Control:[no-cache, no-store] Content-Encoding:[gzip] Content-Type:[application/json; charset=utf-8] Date:[Fri, 03 Mar 2023 19:01:18 GMT] Expires:[-1] Pragma:[no-cache] Strict-Transport-Security:[max-age=15724800; includeSubDomains] Vary:[Accept-Encoding] X-Application-Version:[<IP_ADDRESS>3]]

After Change:
INFO[0006] Request Headers: map[Accept-Encoding:[gzip] X-Api-Key:[REDACT]]
INFO[0006] Response Headers: map[Cache-Control:[no-cache, no-store] Connection:[keep-alive] Content-Encoding:[gzip] Content-Type:[application/json; charset=utf-8] Date:[Fri, 03 Mar 2023 19:04:01 GMT] Expires:[-1] Pragma:[no-cache] Strict-Transport-Security:[max-age=15724800; includeSubDomains] Vary:[Accept-Encoding] X-Application-Version:[<IP_ADDRESS>3]]

Great discovery and work here, thanks!

Turns out this PR wasn't necessary >.<
I did some testing to check if the http library was automatically requesting/decompressing responses, but I was checking resp.Header for a Content-Encoding header. When the http lib handles this transparently, it strips that header and sets resp.Uncompressed instead. Tested after removing this Gzip code:
INFO[0002] Uncompressed? true Headers: map[Cache-Control:[no-cache, no-store] Content-Type:[application/json; charset=utf-8] Date:[Sat, 11 Mar 2023 20:17:48 GMT] Expires:[-1] Pragma:[no-cache] Strict-Transport-Security:[max-age=15724800; includeSubDomains] Vary:[Accept-Encoding] X-Application-Version:[<IP_ADDRESS>56]]

I'll back out this PR in the refactor.


Commissioning Devices in Matter.js: Order of Operations?

Hey everyone,
I'm finding the examples in ControllerNode.ts and DeviceNode.ts somewhat perplexing.
My main question is:
Do I need to initially add the device to the network by employing the commissioningController.commissionNode method before I'm able to establish a device node using the ServerNode.create method?
Thanks for your assistance!

Please do not mix Device and Controller because these are different topics!
So for each device you create one ServerNode instance using the ServerNode.create method, then you add your needed endpoints to it (Root endpoint is already included in ServerNode) and then you run() it or use bringOnline().
The "Network" is included in the Environment initialized in the background and the node is automatically added there. you can also startup multiple ServerNodes by using different ports.
The Controller is encapsulated by the CommissionigController class which gets the used (or default) environment added as startup parameters. This is because the Device API is already renewed, the controller one not yet - thats why the work a bit differently. And a controller is just a client and connects to device nodes.
But both examples should show how to use the relevant parts. And yes you can also have a controller and devices in the same NodeJs process.
If you have questions please ask and we will try to support the best we can.
I also convert this question into a discussion.


Comparing two Mutex contents

I'm attempting to compare the contents of two Mutexes, but I'm unable to because of the signature of MutexGuard::map, specifically because it requires that the provided function returns a &mut U (and I understand that this is generally necessary for common uses of MutexGuard::map. Here's my current attempt:
use parking_lot::Mutex;
use parking_lot::lock_api::MutexGuard;

pub struct State<T> {
  inner: Mutex<T>,
}

impl<T: PartialEq<Rhs>, Rhs> PartialEq<State<Rhs>> for State<T> {
  fn eq(&self, other: &State<Rhs>) -> bool {
    **MutexGuard::map(self.inner.lock(), move |inner| {
      &mut MutexGuard::map(other.inner.lock(), |other| inner == other)
    })
  }
}

But this gets a compiler error:
error[[E0308]](https://doc.rust-lang.org/stable/error-index.html#E0308): mismatched types
  --> src/lib.rs:11:56
   |
11 |       &mut MutexGuard::map(other.inner.lock(), |other| inner == other)
   |                                                        ^^^^^^^^^^^^^^
   |                                                        |
   |                                                        expected `&mut _`, found `bool`
   |                                                        help: consider mutably borrowing here: `&mut (inner == other)`
   |
   = note: expected mutable reference `&mut _`
                           found type `bool`

And I can't just mutably borrow there since that would be returning a reference to a temporary value.
I understand that this would cause a deadlock if a Mutex is compared with itself.
Any suggestions?

You can write it as
let inner = self.inner.lock();
let other = other.inner.lock();
inner == other

right? map is meant to be used when you want to get a subfield of a locked value. For example MutexGuard::map(a.lock(), |a| &mut a.some_field) to make the mutex guard point to a.some_field rather than the whole a.

Lol can't believe I couldn't figure this out, you have to dereference them:
use parking_lot::Mutex;
use parking_lot::lock_api::MutexGuard;

pub struct State<T> {
  inner: Mutex<T>,
}

impl<T: PartialEq<Rhs>, Rhs> PartialEq<State<Rhs>> for State<T> {
  fn eq(&self, other: &State<Rhs>) -> bool {
    *self.inner.lock() == *other.inner.lock()
  }
}


fatal error: index out of range -- Prometheus docker container exits after it started in seconds.

What did you do?
run Prometheus docker container
What did you expect to see?
the container is running
What did you see instead? Under which circumstances?
The container has run for seconds and exited unexpectedly.
Environment
host: a VM with CentOS 7
Prometheus: prom/prometheus:v2.23.0

System information:
Linux 3.10.0-1160.11.1.el7.x86_64 x86_64

Prometheus version:
prometheus, version 2.23.0 (branch: HEAD, revision: 26d89b4b0776fe4cd5a3656dfa520f119a375273)
build user:       root@37609b3a0a21
build date:       20201126-10:56:17
go version:       go1.15.5
platform:         linux/amd64

Prometheus configuration file:

# https://prometheus.io/docs/prometheus/latest/getting_started/
# https://prometheus.io/docs/guides/node-exporter/
global:
  scrape_interval: 15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'codelab-monitor'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 15s

    static_configs:
      - targets: [ '<IP_ADDRESS>:9090' ]

  - job_name: 'node_exporter'
    scrape_interval: 15s
    static_configs:
      - targets:
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'
        - '<IP_ADDRESS>:9100'

Logs:
prometheus-docker-container-start-failed-log1.txt

Different error log.
More details. It worked yesterday, the host OS was crashed unexpectedly. After rebooting the OS, I tried many times to restart the Prometheus docker container but always failed. I also removed the container and run a new one, still failed. I rebooted the OS, started new docker again, it failed again, and output the following log:
level=info ts=2020-12-29T07:37:41.522Z caller=main.go:322 msg="No time or size retention was set so using the default time retention" duration=15d
level=info ts=2020-12-29T07:37:41.522Z caller=main.go:360 msg="Starting Prometheus" version="(version=2.23.0, branch=HEAD, revision=26d89b4b0776fe4cd5a3656dfa520f119a375273)"
level=info ts=2020-12-29T07:37:41.522Z caller=main.go:365 build_context="(go=go1.15.5, user=root@37609b3a0a21, date=20201126-10:56:17)"
level=info ts=2020-12-29T07:37:41.523Z caller=main.go:366 host_details="(Linux 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 bd55263ca522 (none))"
level=info ts=2020-12-29T07:37:41.523Z caller=main.go:367 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2020-12-29T07:37:41.523Z caller=main.go:368 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2020-12-29T07:37:41.524Z caller=main.go:722 msg="Starting TSDB ..."
level=info ts=2020-12-29T07:37:41.527Z caller=head.go:645 component=tsdb msg="Replaying on-disk memory mappable chunks if any"
level=info ts=2020-12-29T07:37:41.527Z caller=head.go:659 component=tsdb msg="On-disk memory mappable chunks replay completed" duration=9.505µs
level=info ts=2020-12-29T07:37:41.527Z caller=head.go:665 component=tsdb msg="Replaying WAL, this may take a while"
level=info ts=2020-12-29T07:37:41.528Z caller=web.go:528 component=web msg="Start listening for connections" address=<IP_ADDRESS>:9090
level=info ts=2020-12-29T07:37:41.530Z caller=head.go:717 component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
level=info ts=2020-12-29T07:37:41.530Z caller=head.go:722 component=tsdb msg="WAL replay completed" checkpoint_replay_duration=32.123µs wal_replay_duration=2.406787ms total_replay_duration=2.462151ms
level=info ts=2020-12-29T07:37:41.530Z caller=main.go:742 fs_type=XFS_SUPER_MAGIC
level=info ts=2020-12-29T07:37:41.530Z caller=main.go:745 msg="TSDB started"
level=info ts=2020-12-29T07:37:41.530Z caller=main.go:871 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2020-12-29T07:37:41.534Z caller=main.go:902 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml totalDuration=3.603241ms remote_storage=7.714µs web_handler=222ns query_engine=1.867µs scrape=2.234995ms scrape_sd=50.966µs notify=716ns notify_sd=1.408µs rules=4.728µs
level=info ts=2020-12-29T07:37:41.534Z caller=main.go:694 msg="Server is ready to receive web requests."
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x1fefb5a]

goroutine 117 [running]:
github.com/prometheus/prometheus/tsdb/chunkenc.(*bstream).bytes(...)
        /app/tsdb/chunkenc/bstream.go:56
github.com/prometheus/prometheus/tsdb/chunkenc.(*xorAppender).Append(0xc001627e00, 0x176ad6fb87e, 0x4168000000000000)
        /app/tsdb/chunkenc/xor.go:152 +0x3a
github.com/prometheus/prometheus/tsdb.(*memSeries).append(0xc0014a7180, 0x176ad6fb87e, 0x4168000000000000, 0x33, 0xc000124840, 0x1)
        /app/tsdb/head.go:2148 +0x103
github.com/prometheus/prometheus/tsdb.(*headAppender).Commit(0xc001a14e00, 0x0, 0x0)
        /app/tsdb/head.go:1248 +0x265
github.com/prometheus/prometheus/tsdb.dbAppender.Commit(0x312cb60, 0xc001a14e00, 0xc0008ce000, 0x0, 0x0)
        /app/tsdb/db.go:774 +0x35
github.com/prometheus/prometheus/storage.(*fanoutAppender).Commit(0xc00151f500, 0xbff2d5272f90e700, 0x1456c14c9e)
        /app/storage/fanout.go:174 +0x49
github.com/prometheus/prometheus/scrape.(*scrapeLoop).scrapeAndReport.func1(0xc00107bc18, 0xc00107bc28, 0xc0008cd130)
        /app/scrape/scrape.go:1086 +0x49
github.com/prometheus/prometheus/scrape.(*scrapeLoop).scrapeAndReport(0xc0008cd130, 0x37e11d600, 0x2540be400, 0xbff2d5236f92ac1e, 0x10d8b13bb9, 0x4240660, 0xbff2d5272f90e700, 0x1456c14c9e, 0x4240660, 0x0, ...)
        /app/scrape/scrape.go:1153 +0xb45
github.com/prometheus/prometheus/scrape.(*scrapeLoop).run(0xc0008cd130, 0x37e11d600, 0x2540be400, 0x0)
        /app/scrape/scrape.go:1039 +0x39e
created by github.com/prometheus/prometheus/scrape.(*scrapePool).sync
        /app/scrape/scrape.go:510 +0x9ce

It works after I run the following command:
docker system prune -a

When we changed the host's memory, it runs well now!
I'm closing this issue.

When we changed the host's memory, it runs well now!
I'm closing this issue.


Fixes #1358. Attribute.Foreground / Attribute.Background now working with CursesDriver

To allowing some test on some specifics ConsoleDriver features, the initialization should be done in the Init method (ConsoleDriver) and in the Setup (IMainLoopDriver), instead in the constructors.

282 The active test run was aborted. Reason: Test host process crashed : Error opening terminal: unknown.
I don't know what going here.

282 The active test run was aborted. Reason: Test host process crashed : Error opening terminal: unknown.
I don't know what going here.

Looks like there are a lot of failed calls to xclip right before the crash message (although that could be coincidence).  The issue manifested in 9abcdec right? What exactly does that commit do? Is it possible that that commit makes some tests use the 'real' driver when previously they used FakeDriver?
The error message seems to crop up a lot in real life (i.e. outside of CI) and be associated with the variable $TERM not being defined (also here)

In the last commit I didn't see any error caused by the xclip, only in the previous.
I run all the unit tests on Windows, Linux and Mac without any problems.
Normally I need to export TERM environment variable on Docker images. Maybe the server is not prepared to run a real terminal in Linux.

Is that the first time any test has constructed that class?

Yes, is the first time and maybe the environment is not properly prepared to run a terminal in the server image. But I'll need some help for this, please. Thanks.

Ok I have enabled GitHub Actions (disabled by default in forks) and have created a minimum repro of the issue:
https://github.com/tznind/gui.cs/pull/19
I'll do a bit of exploring but I've also noticed that Console.WriteLine throws NotImplementedException in the CI container so it might be that it's simply not designed to run a real console session as you say.

I'll do a bit of exploring but I've also noticed that Console.WriteLine throws NotImplementedException in the CI container so it might be that it's simply not designed to run a real console session as you say.

With the WindowsDriver and NetDriver, using windows console, you can't create an handle to a real console session. This the reason why I removed this initialization from the drivers constructors to the Init method. So we must avoid using Console functions.
The CursesDriver is the only that give no error creating a handle to a window and we need to call The Init and the End methods, because ncurses need to load the libraries to deal with the colors functions.

Yup, seems as soon as you call Init ncurses crashes hard.  It might be that we just cant test this functionality this way and scrap the test?

It looks like it will have to be. Do you think I should also discard all changes to the drivers?

It looks like it will have to be. Do you think I should also discard all changes to the drivers?

Its up to you, I think the important thing is to fix the Foreground/Background color issue itself.
I think changing Constructor/Init logic is something else and if it was only done to delay the 'error creating a handle' exception then we probably don't need/want that behaviour change.

Great stuff!  I had a little play around with your InvertColors scenario to make it cooler.  If you don't like it you can ignore it:
List<Label> labels = new List<Label> ();
var foreColors = Enum.GetValues (typeof (Color)).Cast<Color> ().ToArray ();
for (int y = 0; y < foreColors.Length; y++) {

	var fore = foreColors [y];
	var back = foreColors [(y + 1) % foreColors.Length];
	var color = Application.Driver.MakeAttribute (fore, back);

	var label = new Label ($"{fore} on {back}") {
		ColorScheme = new ColorScheme (),
		Y = y
	};
	label.ColorScheme.Normal = color;
	Win.Add (label);
	labels.Add (label);
}

var button = new Button ("Invert color!") {
	X = Pos.Center (),
	Y = foreColors.Length+1,
};
button.Clicked += () => {

	foreach(var label in labels) {
		var color = label.ColorScheme.Normal;
		color = Application.Driver.MakeAttribute (color.Background, color.Foreground);

		label.ColorScheme.Normal = color;
		label.Text = $"{color.Foreground} on {color.Background}";
		label.SetNeedsDisplay ();

	}
};


ToServices rules work for all external services

The assumption about a service being external is switched from it being
headless, to it not having a selector.
fixes #2951

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

Seems like Kafka tests are failing, will rebase and run ginkgo tests after it's resolved.

Seems like Kafka tests are failing, will rebase and run ginkgo tests after it's resolved.

I will increase the sleep time and see if it becomes more reliable. @manalibhutiyani is working on improving the test reliability.

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please


[BUG] Java SDKv4 Deserialisation | queryItems with classType:String returns null

Describe the bug
CosmosContainer.queryItems with classType:String -> returns items as null
This happens because of an issue with deserialisation of cosmos Document to String.
To Reproduce
Query a document using the method CosmosContainer.queryItems with classType:String
Code Snippet
Issue resides in the Class: ModelBridgeInternal
    public static <T> T toObjectFromJsonSerializable(JsonSerializable jsonSerializable, Class<T> c) {
        return jsonSerializable.toObject(c);
    }

Expected behavior
It must deserialise the Document into String
Additional context
It works with other classType like custom Objects or JsonNode

@kushagraThapar could you please route this as appropriate

@mbhaskar  - please take a look at this issue.

Closing because of inactivity, @zahiritpro feel free to re-open if it still exists


[Parking.ttl] syntax error at '!'

Original Line:
!!11

File: https://github.com/mobivoc/mobivoc/blob/639d80261ad89ccd0e358c4a2667945c7441473e/Parking.ttl#L17;
Person(s) who edited the file: @data-whisperer

Fixed in general refactoring as of v0.1.1


Cannot pass Type to a Generic Class.

Hello all, I wanted to create a simple interface by moving the extra generic type T1 from Foo<T, T1> to a field of it's own. Unfortunately, it's not working as expected.
Error show: "The name ‘type’ isn’t a type so it can’t be used as a type argument"
class Foo<T> {
  Foo({required this.type});
  final Type type;

  fooDelegate() {
    FooDelegate<T, type>();
  }
}

class FooDelegate<T, T1> {}

class Bar extends Type {}

void main() {
  var foo = Foo<void>(type: Bar());
}

This is useful for making ScopedModel(Provider) capable of the same creating different instance of the same Listenable type.
Eg.
ScopedModel<AnimationController> {
  tag: DrawerAnimationController(),
  model: _drawerAnimationContoller,
  child: SomeChild(),
}

class DrawerAnimationController extends Type {}

Then ScopedModel will internally create a ScopedModelDelegate<AnimationController, DrawerAnimationController).
If we, however, used a second generic type our code will not be easier to read.
ScopedModel<AnimationController, DrawerAnimationController> {
  model: _drawerAnimationContoller,
  ...
}


Set up build and deploy functionality

Reached out to CSC Syscom to inquire about this. See https://github.com/waterloo-rocketry/minerva-rewrite/issues/2#issuecomment-1734572095

CSC Syscom got back to us about this. TL;DR

CI/CD using Automated SSH keys is not possible due to the restrictions that they impose, and the univeristy's requirement for 2FA
An alternative might be to use GitHub webhooks + an application running on CSC servers to listen to changes in the repo and when they are made, pull and rebuild as needed

This is definitely a bit more work, and might provide significantly less functionality on the deployment pipeline side (e.g. GitHub Actions won't be able to know if a build passed or failed)

Thoughts? Would it be worth exploring our alternative option of Oracle Cloud servers?

Build and Deploy Functionality has been implemented for the development environment. We will be implementing the same for production once we start deploying the new Minerva to production (i.e. once it is in a complete state). Therefore, I'll be converting this issue to encompass just development build/deploy, and will be creating another issue for production


⚠ SceneTime has degraded performance

In cc7faa3, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1368 ms

Resolved: SceneTime performance has improved in 88cedb7 after 7 minutes.


[FEATURE] Support to aggregate the batch local log files

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the feature
Support to aggregate the batch local log files.
Motivation
If the batch session is closed, the local log file will be deleted.
I want to persist the local log files for debug.
Describe the solution
Introduce a new service named LogAggregationService.
Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

seems that we can set kyuubi.session.engine.log.timeout=PT168H first


Undefined css class tui-full-calendar-weekday-schedule-focused

month/more.hbs:L47 contains class {{#if model.isFocused}}{{CSS_PREFIX}}weekday-schedule-focused {{/if}}, but in dist/tui-calendar.css there is no weekday-schedule-focused for the class.

Remove {{#if model.isFocused}}{{CSS_PREFIX}}weekday-schedule-focused {{/if}} from month/more.hbs.

{{CSS_PREFIX}}weekday-schedule-focused is contained also twice in month/weekdayInMonthSchedule.hbs and once in week/dayGridSchedule.hbs.

week/time.hbs references class {{CSS_PREFIX}}time-schedule, but this class does not exist in dist/tui-calendar.css

It doesn't use that selector directly inside the source code, but there was a need to access and override css when using it on the client.

So, is this meant to permit the user do define a css-class or it was used in the past but is not used today?

Users can override the style with this selector.


[Bug]: Non English character

What happened?
The database driver not be able to insert non English character.
I have checked that sqlite is utf-8.
In addition, I tried using  sqlite instead of turso-driver-laravel , and it has no issue on non English characters.
How to reproduce the bug
fresh install the package and try insert non English character.
Sample code:
DB::table('categories')->insert([
['name' => '안녕하세요', 'description' => 'Database related articles'],
]);
Package Version
1.0
PHP Version
8.2.0
Laravel Version
11.9
Which operating systems does with happen with?
macOS
Notes
No response

This issues is fix in latest version, please update the dependency for changes. Thank you, feel free to report if you've any trouble related to this driver.


The input "event" parameter of mouse event callback function cannot distinguish mouse wheel scroll down or up.

OpenCV version: 3.1.0
Host OS: Windows 10

In which part of the OpenCV library you got the issue?
Examples:

highgui
Mouse event

Expected behaviour
When I scroll down the mouse wheel, it should print two negative numbers according to below comment in highgui.hpp (EVENT_MOUSEWHEEL     = 10,//!< positive and negative values mean forward and backward scrolling, respectively.).
Actual behaviour
When I scroll down or scroll up the mouse wheel, it always print "10, 0"
Additional description
Code example to reproduce the issue / Steps to reproduce the issue
Please try to give a full example which will compile as is.
#include "opencv2/core.hpp"
#include <iostream>
using namespace std;
using namespace cv;

void on_mouse(int event, int x, int y, int , void* userdata)
{
	printf("event = %d, %d\n", event, getMouseWheelDelta(EVENT_MOUSEWHEEL));
}

int main()
{
    Mat mSrc = imread("xxxxx.jpg");
    imshow("src", mSrc);
    setMouseCallback( "src", on_mouse, NULL );

    waitKey(0);

    return 0;
}

hi, please check whether your function "on_mouse" is correct or not, I see that this function is:
void on_mouse(int event, int x, int y, int , void* userdata), which the 4th parameter is empty.
If you specify "EVENT_MOUSEWHEEL" for this parameter, I think this issue will not happen again. Pleas e have a try.

Hi Kvin-coder,
Yes, you are right.

Thanks a lot


[fix](partial update) only report error when in strict mode partial update when finding missing rowsets during flushing memtable

Proposed changes
related pr: https://github.com/apache/doris/pull/28062, https://github.com/apache/doris/pull/28674
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


sd8887-mrvl: Transition to NXP GPL driver distribution

Use NXP GPL sources/firmware of the sd8887 driver that now lives
in the main balenaFin repository. The prebuilt version of the sd8887
driver is no longer needed as the sources are distributable.
Also rename all references from Marvell/mrvl to NXP.
Changelog-entry: Transition to NXP GPL balenaFin sd8887 driver distribution
Change-type: patch
Signed-off-by: Zahari Petkov<EMAIL_ADDRESS>

@balena-ci rebase


fix: smooth_error_card_test.dart

What

Fixes the following error:

Run flutter analyze --fatal-infos --fatal-warnings .
Analyzing smooth-app...

  error • Target of URI doesn't exist: 'package:smooth_app/data_models/user_preferences.dart' • packages/smooth_app/test/pages/generic_lib/widgets/smooth_error_card_test.dart:6:8 • uri_does_not_exist
  error • Undefined class 'UserPreferences' • packages/smooth_app/test/pages/generic_lib/widgets/smooth_error_card_test.dart:54:[11](https://github.com/openfoodfacts/smooth-app/actions/runs/5771595299/job/15645721358#step:9:12) • undefined_class
   info • Method invocation or property access on a 'dynamic' target • packages/smooth_app/test/pages/generic_lib/widgets/smooth_error_card_test.dart:54:41 • avoid_dynamic_calls
  error • Undefined name 'UserPreferences' • packages/smooth_app/test/pages/generic_lib/widgets/smooth_error_card_test.dart:54:41 • undefined_identifier

4 issues found. (ran in 43.7s)

Codecov Report

Merging #4451 (a62267f) into develop (6fd6aa8) will increase coverage by 0.02%.
Report is 5 commits behind head on develop.
The diff coverage is 55.55%.

@@             Coverage Diff             @@
##           develop    #4451      +/-   ##
===========================================
+ Coverage    10.26%   10.28%   +0.02%
===========================================
  Files          296      296
  Lines        15223    15232       +9
===========================================
+ Hits          1562     1567       +5
- Misses       13661    13665       +4

Files Changed
Coverage Δ

packages/smooth_app/lib/themes/theme_provider.dart
40.90% <33.33%> (-1.20%)
:arrow_down:

.../lib/generic_lib/buttons/smooth_simple_button.dart
86.36% <66.66%> (-7.39%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@teolemon @g123k @M123-dev Perhaps the waldo process should be improved.
For instance, this is a very minor PR, and still it's automatically entered in the waldo queue. Problem: 1) here we don't really need waldo 2) we're kind of blocked and blocking other waldo processes that would make sense.

And in #4255 I'm not sure if the waldo was triggered automatically or after a manual intervention. Anyway that wouldn't make sense to create a new waldo each time the "Update branch" button is clicked.
What about an "on demand" waldo?

@teolemon @g123k @M123-dev Perhaps the waldo process should be improved.
For instance, this is a very minor PR, and still it's automatically entered in the waldo queue. Problem: 1) here we don't really need waldo 2) we're kind of blocked and blocking other waldo processes that would make sense.
And in #4255 I'm not sure if the waldo was triggered automatically or after a manual intervention. Anyway that wouldn't make sense to create a new waldo each time the "Update branch" button is clicked.
What about an "on demand" waldo?

This is what I want to change and the same goes to the release process.
For each merged PRs, the app is sent to the Google Play and the App Store, we should also do it on demand.

I don't really understand why we have this warning, because the PR #4450 was passing…
I'm sorry for this

I don't really understand why we have this warning, because the PR #4450 was passing… I'm sorry for this

I don't know either. Anyway, now it's fixed!


Re-think PR creation flow

Feedback from @burkeholland: "Why do we have an intermediate view in the viewlet when creating a PR, why not just use a Custom Editor to make it look like something users on GitHub are used to?" Using the Custom Editor in the Editor view that looks like the final Summary view would also make the transition calmer.
A benefit of showing the Creation view in the viewlet is that it makes it easy for users to preview the files their PR is touching.
I would just like if we re-think this, and if we decide that the leaving it in the Viewlet is the way to go then we should see how to polish the current experience.
@alexr00 ideally we should add some telemetry to see what percentage of users see the Creation view and do not finish creating it. And then explore how can we improve those numbers?
fyi @daviddossett for ideas
Current view:

We will continue to polish this, but the create flow has been significantly updated:

Awesome!


very slow inference result on Jetson TX1

Hi everyone,
I converted the ssdlite_mobilenetv2 and ssd_mobilenetv2 and ssd_resnet50 to TensorRT with Tensorflow API, and this API generated the .pb file.
I used Tensorflow 1.13 and Jetpack 4.2, but the final inference time is not good.
I achieved 2.5 FPS, this isn't real-time, and the loading model time is about 10 min, why?

Hi,
Check my thread on https://devtalk.nvidia.com/default/topic/1046492/tensorrt/extremely-long-time-to-load-trt-optimized-frozen-tf-graphs/1
Upgrading the protobuf might help.
Good luck.

Hi PythonImageDeveloper,
Could you clarify which model you're experiencing 2.5 FPS?  Are you running the pre-processing scripts contained in this repository, or using create_inference_engine directly?
Best,
John

Hi @jaybdub
I'm using the create_inference_engine.


PoC coding

finalize the answer of the below items:

whether I can use the camera to monitor people's behaviors and cheers one up when he gets distracted

Resources

https://ai.google.dev/edge/mediapipe/solutions/setup_web?hl=ja

Tech spec


test: increase timeout of keystore tests

Motivation
This test fails from time to time due to timeout, e.g. https://github.com/ChainSafe/lodestar/actions/runs/9347594913/job/25725115027?pr=6845#step:5:4076
Description
Increase timeout of keystore tests

:tada: This PR is included in v1.19.0 :tada:


Providers list page does not read / write the URL

List page URL should reflect the page filter and search fields.

The providers page should be able to read the URL and update the filters accordingly so users could use links that include the filtering state of the page.
The providers page should be able to update the URL so users so users could create links that include the filtering state of the page.

Fixed in https://github.com/kubev2v/forklift-console-plugin/pull/99
Follow-up improvement in https://github.com/kubev2v/forklift-console-plugin/pull/188

Missing functionality added by #99


Ding! It's time to work

What's the programming language?
The programming language is typescript and the environment is Node.js
Github URL:
https://github.com/alator21/Ding-time-to-work

Author name (or organization if submitted on behalf of a company):Rafael Triantafillidis
Author GitHub organization/user: https://github.com/alator21
GitHub username you used to sign the Agreement: alator21

Additional dependencies:
They are listed at the project's README
Checklist:

[x] I've filled out the form at ahoy.twilio.com/code-exchange-community
[x] My sample application is open source and has a permissive license such as MIT or Apache-2
[x] There are no known security vulnerabilities and I'm following security best practices
[x] I've read Twilio's best practices coding guidelines for my project
[x] I agree and adhere to the Code of Conduct
[x] The template has been authored by me / or my organization and will be kept up-to-date. If the template will not longer be maintained, I'll notify this project.

Additionaly this is the linked post in the dev.to. post
question:In the form([ahoy.twilio.com/code-exchange-community) i filled the github handle form with the link to my github profile. Is that valid? Should i have typed something else?
Thanks
Please give me feedback, in case i did something not properly.

Thank you for your submission @alator21. Yes putting the profile URL in is valid :) We'll review your submission soon. Note that this review is unrelated to the hackathon going on at dev.to as those are two separate submissions :)

Hey @alator21! I've published your project on CodeExchange: https://www.twilio.com/code-exchange/daily-scheduled-sms-reminders-typescript

Thank you for contributing :)


Handles OutputModules in paramexplore

Fixes #1063
PipelineInspector only catches SpreadsheetCell subclasses, making paramexplore break if pipelines use OutputModule instead.
This makes PipelineInspector#inspect_spreadsheet_cells() also find OutputModules if they have a 'spreadsheet' mode. It also updates spreadsheet_execute to correctly set the desired cell location on these, in addition to SpreadsheetCell modules.
I had to add a delete_function_by_real_id() method to Module, I was surprised not to find it. It looks rather inefficient.
Should go into v2.2.

Looks good. We should probably do a 2.2.1 release with this?

Yes, this should probably be released ASAP. I don't know if we have other things that could go in (we could probably update Python and the packages included in the binaries; except do not use paramiko 1.15.2, see #27 (comment)).

Binaries updated to Python 2.7.9.
Most python packages were updated so this needs some testing.
git/zip/unzip removed from binaries.
New builds available here: http://vistrails.poly.edu:9050/vistrails_2.2.1_f9d85e8ec3fc/


Transaction.insert generates unhandled promise rejections

Environment details

OS: hmm... Google Cloud Platform?
Node.js version: 8.9.x
npm version: yarn 1.1
@google-cloud/spanner version: 0.8.1

Steps to reproduce

Create a read-write transaction
Use transaction.insert, but insert data which do not match the destination table's schema
Run transaction.commit()

This will generate an unhandled promise rejection, which does not come from commit().
My code (simplified) looks like this:
try {
   transaction.insert('tableName', {fakeData: 'rejected!'});
   await transaction.commit();
} catch(error){
  ...
}

According to the docs, insert does not seem to accept a callback. However, it looks like it accepts a callback parameter in the source code.
So I tried adding a catch after the insert:
transaction.insert('tableName', {fakeDate: 'rejected!'}); // No unhandled promise rejection

This does seem to catch the error. However, the rest of the code is still executed synchronously.
So I tried this:
try {
   await transaction.insert('tableName', {fakeData: 'rejected!'});
   await transaction.commit();
} catch(error){
  ...
}

The error is caught, but if there's no error, await (or the associated promise) never resolves!
try {
   await transaction.insert('tableName', {validData: 'should be good!'}); // hangs forever
   await transaction.commit();
} catch(error){
  ...
}
// Unhandled promise rejection

It seems like:

insert() in fact accepts a callback
A resolve is missing somewhere if the insert is a success

Thanks for your help!

@WaldoJeffers I'm sorry to hear you're running into this issue! While other objects that inherit Transaction methods do allow for one to supply a callback, when using an actual Transaction object they are not required (and I believe the client will ignore them).
Looking through your samples, I think the issue is that you're forgetting to specify a table name:
try {
   transaction.insert('MyTable', {validData: 'should be good!'});
   await transaction.commit();
} catch(error){
  ...
}

@callmehiphop Thanks for your quick reply. I oversimplified my code 😨 But my actual does use a table name :) I edited my examples

@WaldoJeffers Oh! I just meant that it ignores callbacks for CRUD methods, commit is definitely async.

My bad again, I meant to say transaction.insert().

@WaldoJeffers that's a good point, I would expect that to throw an error as well! I'm going to open a PR with a fix shortly.

@WaldoJeffers I've opened #56, if you have the bandwidth the test the changes and see if your issue is resolved, I would be very grateful!

@callmehiphop will do, thanks

@callmehiphop This does indeed seem to fix this issue.
To be clear, this is a very important fix. It does a lot more than making transaction.insert(...).then/catch now properly throw Cannot read property then/catch of undefined. Prior to your fix, insertion errors were caught by transaction.insert but not thrown anywhere, resulting in a Unhandled promise rejection error.
I recommend merging this fix as fast as possible, as it is a critical bug.
Thanks a lot for your reactivity 👏

I do not understand how were insertion errors caught by transaction.insert previously? transaction.insert just buffers mutation in  memory and it does not know whether anything is incorrect. It is only transaction.commit that would fail. Can someone please explain what was going on?

@vkedia I think @stephenplusplus will have a better idea why we do it, but when we buffer the mutation if there's a mismatched number of columns we throw an error.
So I assume if you give bad data that contains a non-existing column, a mistmatch error would occur and then the promise would swallow it.

That comes from https://github.com/GoogleCloudPlatform/google-cloud-node/pull/2426#issuecomment-312392124. Since it's a thrown error, you would wrap it in a try {} catch(e) {} if you were uncertain about the data being fed to the mutation method.

To be more specific, the error thrown looks like this:
Column not found in table TABLE_NAME: UNKNOWN_COLUMN.

@stephenplusplus @callmehiphop that makes sense.
But the error message given by @WaldoJeffers looks different. This is thrown by the server and would be thrown on commit.

For the immediate future, we should release #56, as that is an unquestionable fix brought up during this bug report.
@WaldoJeffers, thanks for helping us out. Would you mind throwing together a clone-and-runnable snippet, so we can get a wider context of where this problem is introducing itself? Please base it off of #56 (npm install callmehiphop/nodejs-spanner#dg--55 to make that easier).

I agree releasing #56 is non controversial.

Ok, I think I might have a better reproducible case here. Some information I reported earlier were erreneous/incomplete, apologies.
Trying to insert into a non-existing column with a defined value works, both with & without @callmehiphop 's fix. The server correctly returns Column not found in table TABLE_NAME: UNKNOWN_COLUMN and there is no Unhandled promise rejection notice.
transaction.insert('existingTable', {nonExistingColumn: undefined}) // works!

However, trying to insert into a non-existing column with an undefined value does not work without the fix.
transaction.insert('existingTable', {nonExistingColumn: undefined}) // doesnt work!

will result in:
(node:2866) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Value of type undefined not recognized.
(node:2866) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Using the fix, the error is correctly thrown by transaction.commit(): Value of type undefined not recognized. The error is thrown by the common-grpc module here

Thanks. I think this explains why the error was being thrown by insert and not commit.


Move from old spec to current spec: 0.1.0

Summary
We need to move to the current spec view on a Task and work with sub-tasks vs batching.
https://github.com/ucan-wg/invocation

Closed via #67.


Update babel packages

Update several babel packages:

babel-plugin-transform-async-to-generator
babel-polyfill
babel-preset-es2015

Coverage remained the same at 64.706% when pulling ec7238f23081e381c7db7e2952e28d4f3750b06a on hotfix/upgrade-deps into 6eb00de5a708e9ee589854c890bc486177cf3f30 on develop.


Driver for Windows

Plz make a audio driver for windows also because appleaudio.sys is giving BSOD on windows with apple provided bootcamp drivers

If you are having issues with the Windows BootCamp drivers, you should report them to Apple.


Please add examples of how to interact filesystem and network

While the current greet function example is a good starting point, I believe it would be more beneficial to include practical use cases. For instance, demonstrating how to:

Read and write files to/from the filesystem
Send HTTP requests to remote endpoints
would provide users with a better understanding of the plugin's capabilities and potential applications.

I did find there're some examples in the repo, for example the try_read and try_write plugin. But when I try to run it either from cli or Rust, I get the same error saying: Failed to read file: operation not supported on this platform.

can you provide the CLI command you are using to test? All fs syscalls are disabled by default. You do need to allow specific mapping of guest to host on the command line. The argument for the extism cli is --alow-path.

The fs example in runtime/examples/fs.rs seems like it should work if you don't use a readonly path - I've just opened a PR to make it more clear what's going on in that example: https://github.com/extism/extism/pull/788


If cpi_enable=true, disable hostname_from_dhcp

Why is this PR needed?
In the CPI environment, the Kubernetes node name must the same as VM name.
Fixes https://github.com/SUSE/avant-garde/issues/1817
What does this PR do?
If cpi_enable=true, set hostname_from_dhcp=false.
Anything else a reviewer needs to know?
Special test cases, manual steps, links to resources or anything else that could be helpful to the reviewer.
Info for QA
This is info for QA so that they can validate this. This is mandatory if this PR fixes a bug.
If this is a new feature, a good description in "What does this PR do" may be enough.
Related info
Info that can be relevant for QA:

link to other PRs that should be merged together
link to packages that should be released together
upstream issues

Status BEFORE applying the patch
How can we reproduce the issue? How can we see this issue? Please provide the steps and the prove
this issue is not fixed.
Status AFTER applying the patch
How can we validate this issue is fixed? Please provide the steps and the prove this issue is fixed.
Docs
If docs need to be updated, please add a link to a PR to https://github.com/SUSE/doc-caasp.
At the time of creating the issue, this PR can be work in progress (set its title to [WIP]),
but the documentation needs to be finalized before the PR can be merged.
Merge restrictions
(Please do not edit this)
We are in v4-maintenance phase, so we will restrict what can be merged to prevent unexpected surprises:
What can be merged (merge criteria):
    2 approvals:
        1 developer: code is fine
        1 QA: QA is fine
    there is a PR for updating documentation (or a statement that this is not needed)

I tested that PR.
For me if I set hostname_from_dhcp to false or true. I will alway have the same hostname ( hostname not from dhcp)

 hostname_from_dhcp = true :

hostname on vm : mnoel-cluster-yv5h-1-master-0, should be<PHONE_NUMBER>04

 hostname_from_dhcp = true :

hostname on vm : mnoel-cluster-yv5h-1-master-0 OK

I tested that PR.
For me if I set hostname_from_dhcp to false or true. I will always have the same hostname ( hostname not from dhcp)

 hostname_from_dhcp = true :

hostname on vm : mnoel-cluster-yv5h-1-master-0, should be<PHONE_NUMBER>04

 hostname_from_dhcp = false :

hostname on vm : mnoel-cluster-yv5h-1-master-0 OK

if enabling CPI, the hostname will be always not from DHCP server as the fix.

OK LGTM
All good after reboot

@jenting we should only fix this in VMware script instead of all infra :(, but the good news is this change does not impact on-going releases.


Is the name of the crate tonbo_marco a typo?

Question
I did the cargo add tonbo_macros and it turns out the crate does not exists.
Naming convention according to popular crates:

serde_macros: https://crates.io/crates/serde_macros
tokio-macros: https://crates.io/crates/tokio-macros

Obviously yes, do you have interest to fix it?

It will take some effort to change the name on crates.io tho. You guys are the only ones authorized to mail them about the change.

I will change the crate name if the name is fixed in repository

I'm a bit busy lately

Never mind 😄 hope for the collaboration in the future

closed in #74


feat: allow cfgloader to set defaults with code

Had an offline discussion with @drevell. With SetDefault, there is a dilemma - We want it to set defaults only after the values are loaded from various places (original struct, yaml, env vars). It's more like pre-validation processing but in essence it's still about setting defaults. To avoid confusion, if one wants to have such pre-validation processing, they can do it in the Validation() func instead. The additional interface here was not thought through. Thus, dropping this change.

To avoid confusion, if one wants to have such pre-validation processing, they can do it in the Validation() func instead.

That's fine and makes sense, but we should update the godoc and interface description to call this out explicitly. Something like "In addition to validating inputs, [Validate] may optionally set defaults.". @yolocs @drevell


Bug: onyo cat syntax highlighting is unreadable in some terminals

Depending on the terminal color scheme, the syntax highlighting can be either wonderful, or entirely illegible.
The color theme should be configurable by the user. Rich.Syntax uses Pygments Styles.
I propose adding a flag and config option:
onyo cat --style monokai <asset>

And the config:
[onyo "cat"]
	style = monokai

The current default (inherited from Rich) is monokai.
It may be necessary also to look at Rich.Syntax's background_color:

background_color (str, optional) – Optional background color, or None to use theme color. Defaults to None.

In addition to available styles, we should allow 'none' (or 'disable') to turn off syntax highlighting in cat.
To list available styles:
In [1]: from pygments.styles import get_all_styles
In [2]: list(get_all_styles())
Out[2]:
['abap',
 'algol',
 'algol_nu',
 'arduino',
 'autumn',
 'bw',
 'borland',
 'coffee',
 'colorful',
 'default',
 'dracula',
 'emacs',
 'friendly_grayscale',
 'friendly',
 'fruity',
 'github-dark',
 'gruvbox-dark',
 'gruvbox-light',
 'igor',
 'inkpot',
 'lightbulb',
 'lilypond',
 'lovelace',
 'manni',
 'material',
 'monokai',
 'murphy',
 'native',
 'nord-darker',
 'nord',
 'one-dark',
 'paraiso-dark',
 'paraiso-light',
 'pastie',
 'perldoc',
 'rainbow_dash',
 'rrt',
 'sas',
 'solarized-dark',
 'solarized-light',
 'staroffice',
 'stata-dark',
 'stata-light',
 'tango',
 'trac',
 'vim',
 'vs',
 'xcode',
 'zenburn']

Open Question:

what should be the default?

I like the ideas for the flag and the option, it makes a lot of sense to me.
I have no strong oppinions about default colors. Of course it makes sense to select something that works for most configurations, i.e. a strong contrast between writing and background, and there are still discussions in the chat going on about transperancy, but in the end... This might be a good oportunity for us to test in the group to usage of local config files.

I think the default should actually be something that does not use colors, but only bold, underlined, italic .. attributes.
It's the only thing that should work everywhere and for everyone.
We need a pretty generic config mechanism for this and figure out how to also apply that to other outputs including help.
So, we may end up with more generic config-override options. However, --style could then become an alias, so I'm fine with it as a quick solution for cat right now. But figure out how we want to implement it more generally before spreading that option to other commands.

I think the default should actually be something that does not use colors, but only bold, underlined, italic .. attributes.
It's the only thing that should work everywhere and for everyone.

I agree.

We need a pretty generic config mechanism for this and figure out how to also apply that to other outputs including help.

Oof. Good point. That one... will be difficult and may require its own issue. @j-leo you're the one running a terminal with a bright background. How is the legibility of the text (and colorized text) in onyo set --help?

Now that I look closer, though Rich is using pygments, they are not using pygments.highlight() (as I had assumed). Figuring out the fix will require more digging.

The beautiful thing about the pygments.highlight() solution is that it somehow detects the background color and inverts it as needed.
It's unclear to me if I can tickle Syntax() to behave the same way.

Hah. I discovered background_color='default', which is not documented in the API docs but is mentioned elsewhere in RTD. 'default' meaning "use the console's background" (aka: none) is not to be confused with the "default" being None, which does not mean "no background" and rather means "use the default background of the theme.
Sigh.
So, that's one problem resolved. Now the issue is that the color does not invert as needed.

The issue is not so much that it doesn't invert, but rather that the color is set at all.
The bw theme (and the custom one I'm playing with) set no colors. They merely try to bold, italics, etc.
I have isolated the line that hardcodes this: https://github.com/Textualize/rich/blob/43d3b04725ab9731727fb1126e35980c62f32377/rich/syntax.py#L165
color="#" + color if color else "#000000",

IMO, this default should either be None or self._foreground_color. I will look into creating a PR upstream, perhaps next week.

I have opened a PR upstream: https://github.com/Textualize/rich/pull/3582


Delete duplicate rule

Should we delete this one instead (assuming that's the dupe)? It appears to have some weaker FP checking.

Should we delete this one instead (assuming that's the dupe)? It appears to have some weaker FP checking.

i think deleting this one is ok, it's also more optimized


Partially fixes issue #57 (reduces load time by at least 30%).

Codecov Report

Merging #67 into master will decrease coverage by 1.77%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
- Coverage   85.75%   83.97%   -1.78%
==========================================
  Files          12       12
  Lines         400      387      -13
==========================================
- Hits          343      325      -18
- Misses         57       62       +5


Changes in configuration file does not change values

Hi,
When the configuration file is changed, in my case a json file under assets, it does not change cfg values when read in the app.
I have restarted the app without success. Still old values. It seems be cashed somewhere.
How can I force the ClobalConfig to read the updated json file?
Thanks in advanced

Hello,
If you change config files while the app is running, the Global Config package will not recognize these changes. Therefore you have to reload the config by calling loadFromAsset("app_settings"); again. But I am not shure if this will work!
Do you change the configuration file inside AndroidStudio ? Therefore you have to install the current build of your app again on your phone or emulator. Maybe try to delete the app and reinstall it, if there is some kind of caching.
At the end ... this package is not considered for managing configuration data that can be changed while the app is running. It is considered for managing different environments like dev / test / production.
I would store configuration data that can be changed while the app is running, in the shared preferences. There is already a nice package for this https://pub.dartlang.org/packages/shared_preferences

Store default configuration in the global configuration and save it in the shared preference at first app start
Load and update the configuration from the shared preference in the future

Regards

Hi, Thanks for quick reply
For the moment I just need to define static properties.
This is very strange.

Old values after restart of app (await GlobalConfiguration().loadFromAsset("app_settings") is called
Old values after reinstall of app
Old values after restart of Android studio
Added a new key/value in json and got null when trying to read
it looks like it is 2 files.
I will investigate more.
Thanks again,

Hi
Case solved.
if I refactor the app_settings.json to app_settings1.json, and change corresponding at the loadFromAsset call, it updates the content.
Strange but I can live with that :-)
Regards
Stephan


chore!: remove prefix

some more cleanup from #175.

Current dependencies on/for this PR:

main

PR #178   👈

This stack of pull requests is managed by Graphite.


Introduce interfaces

Good idea, although I don't think we need an 'interface' folder, the leading I should be enough.
(But that's just my opinion, @crosire propably knows best :D)

I was inspired by the interfaces in RAGE Plugin Hook, and now I realized that interfaces are useful.

I am a professional software developer and I have never seen interfaces being in a subfolder. Having it this way means having to reference a sub-namespace, which is not advised in such a case.

Interfaces are a very nice feature, but I'm not convinced they are useful in this case. What advantages does it give us here? It's not less code, even more actually.

Example
using System;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.Windows.Forms;
using GTA;
using GTA.Native;
using GTA.Math;

namespace Example
{
	public class GetDistance2D: Script
    {

        public GetDistance2D()
	{
			Tick += OnTick;
			Interval = 0;
	}

        void OnTick(object sender, EventArgs e)
        {
            var player = Game.Player.Character;
            if (player == null || !player.Exists()) { return; }

            var dist = Distance2D(player, World.RenderingCamera);

            UIContainer mContainer2 = new UIContainer(new Point(0, 0), new Size(500, 80));
            mContainer2.Items.Add(new UIText(dist.ToString(), new Point(0, 0), 0.5f, Color.White, GTA.Font.ChaletLondon, false, true, false));
            mContainer2.Draw();
        }

        private float Distance2D(ISpatial from, ISpatial to)
        {
            return Vector3.Distance2D(from.Position, to.Position);
        }
    }
}

But the same can be achieved with the same amount of code:
namespace Example
{
    public class GetDistance2D: Script
    {

        public GetDistance2D()
        {
            Tick += OnTick;
            Interval = 0;
        }

        void OnTick(object sender, EventArgs e)
        {
            var player = Game.Player.Character;
            if (player == null || !player.Exists()) { return; }

            var dist = Distance2D(player.Position, World.RenderingCamera.Position);

            UIContainer mContainer2 = new UIContainer(new Point(0, 0), new Size(500, 80));
            mContainer2.Items.Add(new UIText(dist.ToString(), new Point(0, 0), 0.5f, Color.White, GTA.Font.ChaletLondon, false, true, false));
            mContainer2.Draw();
        }

        private float Distance2D(Vector3 from, Vector3 to)
        {
            return Vector3.Distance2D(from, to);
        }
    }
}

Let's say we want to keep track of some objects' positions. We could create a List<ISpatial> _keepTrack and check them frequently. Without those interfaces, there is no proper way to do it AFAIK.
(The advantages are very particular indeed, but I don't see any disadvantages)

I agree with IHandleable. But ISpatial and IRotatable should be merged into one. I also don't think we need an IEquatable. I'm with @JohnnyCrazy on the "interface" folder being uncessary, even simpler would be to put them all into one file (since the interface declarations only take a few lines each).

Apparently, implementing IEquatable can improve performance when using it with generics.
http://stackoverflow.com/questions/2734914/whats-the-difference-between-iequatable-and-just-overriding-object-equals

Alright.

Interface hpp files were merged into one.


wieldable guns description is kinda lying

it says This weapon has improved accuracy when wielded. but you even cant shot if its not wielded

GunWieldBonusComponent has this field

so if you want to make shotguns have a text such as "This weapon can only be fired when wielded." then you could


Refactored sint8 to use the BlockExt trait

Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report
Attention: Patch coverage is 95.00000% with 5 lines in your changes missing coverage. Please review.

Project coverage is 91.84%. Comparing base (b2f1568) to head (c9288f1).
Report is 9 commits behind head on main.

Files
Patch %
Lines

src/libfuncs/sint8.rs
95.00%
5 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #662      +/-   ##
==========================================
- Coverage   91.95%   91.84%   -0.12%
==========================================
  Files         112      113       +1
  Lines       34265    34499     +234
==========================================
+ Hits        31509    31685     +176
- Misses       2756     2814      +58

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Differentiate spi_read function from cmd buffer variable

Preparation for future use of spi_read function inside code that already uses the variable spi_read for the command buffer.
Currently calling spi_read inside a function that has the spi_read variable produces a compile error.
This fixes this problem.

LGTM, though it needs to be rebased since I merged the earlier PR first.

Rebased!


Missing data sync

PGSync version:
Version: 2.3.2
Postgres version:
PostgreSQL 14.1 (Debian 14.1-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
Elasticsearch version:
8.4.2
Redis version:
Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=66bd629f924ac924
Python version:
3.8
Problem Description:
select count() from messages; -- 245670967 message
select count() from chats; -- 2565418 chats
Elasticsearch has more missing data. (I have 3 nodes).  Documents seems to be missing. While waiting for 256 thousand chats, it remained at 238 thousand and it has been like this since last night.
health status index                                     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   messages                                  asbwGwFdT2y6EEP91qbPiw   1   1  245523440       160717    166.3gb         83.2gb
green  open   chats                                     mG6VoTObQDWQAKvpxTCxWg   1   1    2388000            0    806.3mb        393.8mb

Error Message (if any):

what is the status printed in the console?
Also are there any pending records in Redis?  you can use ./scripts/cat_redis.sh

Thanks @toluaina. All data is now sync :)

Thanks for the update. Closing this as resolved


std.net.curl should be tested with utf8

greensunny12 reported this on 2016-05-01T14:08:01Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=15979
Description
utf8 URLS are possible:

https://en.wikipedia.org/wiki/Internationalized_domain_name

The high-level API should support them and using string seems appropriate.

greensunny12 commented on 2016-05-01T14:28:38Z
Sorry for the first comment - please ignore.
Let's better say std.net.curl should be tested with utf8 domains (and maybe with utf8-32 content in general)?
Also I think we should add at least one example of it's use with utf8 content to the documentation header.


[FEATURE] Cypher subqueries from python query modules

When writing a python query module, it would be nice if I could somehow run cypher queries from the function or procedure code.
My use case is reimplementing a python algorithm that contains repeated queries to the database using cypher. This way I could keep the overall logic and approach, and just shift all of it to the server side.

Hello @jhb !
Please see the docs here so I can fully understand your inquiry https://memgraph.com/docs/memgraph/reference-guide/streams/transformation-modules/api/python-api
This is the transformation module which we use when ingesting data from a Kafka topic. There is some data coming in (in batches), and the output is a list of commands that will be executed in a transaction, resulting in a continuous stream.
Is your intention to output a list of queries from CALL my_procedure.something(...)
And can you please provide some steps of a fictional use case, before I put it to backlog or do any internal discussions with the team :)
Regards!

Currently the output of procedures (not transformations), do not support additional cypher execution

Updated the description, it hopes it helps clarify the use case.

hi @jhb,
sorry for keeping you waiting.
This is not possible to implement easily due to the current Memgraph infrastructure. You can't call a query from the query module. I think it won't be in the near plan because it would require reorganizing a lot of stuff inside Memgraph. And therefore it is more a Memgraph issue than MAGE issue. If there is no other way for you to do this, I am happy to jump on a call and discuss what can we do more to help you. Please feel free to drop us other questions you have on discord or contact me directly. My username there is afilipovic#8994 .
Thanks for waiting and for the nice description of a feature request. We will definitely keep this in mind.
Best,
Antonio

Hi Antonio, thanks a lot for your feedback (which I find still quite fast).
Would have been nice, but I can also see how this could potentially lead to never ending logic circles. ;-)

Hey @jhb , today we were discussing something in the team, and realized we could actually make GQLAlchemy available in the python interpreter (when using the Docker instance). That would allow for execution of independent queries inside a query module. Check out the snippet below:
import mgp
from gqlalchemy import Memgraph

@mgp.read_proc
def query(
  context: mgp.ProcCtx,
  query: str
) -> mgp.Record(vertex_count=int):
  memgraph = Memgraph()

  results = memgraph.execute_and_fetch(query)
  size = len(list(results))

  return mgp.Record(vertex_count=size)

we're currently discussing where exactly should we put it, directly in Memgraph image or in memgraph-mage which can then be executed in memgraph-platform as well. Anyways, we'll keep you posted :D

This is excellent news, very exiting indeed! I am very much looking forward to see that happening!

GQLAlchemy is available to do such queries, please try it out @jhb, if any of the things reappear, please do reopen the issue! :)


aws::db-cluster and aws::db-instance should allow identifier to be changed without workflow

Both of these resources have an API to change the database identifier. Currently Gyro will not change these without a workflow.
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/rds/model/ModifyDbInstanceRequest.Builder.html#newDBInstanceIdentifier-java.lang.String-
https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/rds/model/ModifyDbClusterRequest.Builder.html#newDBClusterIdentifier-java.lang.String-
Current output:
⇅ Replace aws::db-cluster k10-primary aurora (k10-primary-aurora) (because of identifier, skipping without a workflow)
· identifier:  'k10-primary-aurora' → 'k10-primary-aurora-old'

⇅ Replace aws::db-instance k10-primary main (k10-primary-main) (because of identifier, skipping without a workflow)
· identifier:  'k10-primary-main' → 'k10-primary-main-old'

Closing this since this works well with a workflow for our use case.


localization support for text fields

various property values are specified as strings (such as the purpose property). Should we introduce support for localization of these property values?

I think this is a great idea, and our internal one-off MSFT data formats for exchanges features localization too. Can you articulate a possible solution for it?

The JSON Schema Spec has this to say...
I think we can add a locale property (e.g. "en-us") vis a vis IETF BCP 47. This would allow interop with browsers/clients that can detect that, or link into HTTP Content-Location or Accept-Language headers. Other protocols likely have similar localization support.
what about adding a locale property?

Done https://github.com/decentralized-identity/presentation-exchange/pull/75


Add support for FSx/Lustre PERSISTENT_2 DeploymentType

Implement basic requirements for FSx/Lustre PERSISTENT_2 DeploymentType.
PR  - https://github.com/cloudtools/troposphere/pull/2110

PR was merged. Thanks for the issue and PR.