GuzzleHttp 7 support

Laravel since version 7.0 supports guzzlehttp/guzzle 7 versions.
The guzzlehttp/guzzle package released version 7.0.0 on June 27th.
Could you add support for your package?

Hi @andrey-helldar, in time we can for sure. However we use HTTPlug under the hood and they have yet to release a Guzzle 7 adapter. I'm sure this will happen (issue/pr), but we have to wait for that at the moment. Since Guzzle 7 was released 5 days ago at the time of this comment, give it some time 😄

In the package https://github.com/getsentry/sentry-php-sdk there is no way to create issue, so I opened it here in the parent project 🙂
Well, wait until they create the project 😊

Hi @stayallive, I think since Guzzle 7 is PSR-18 compliant (https://github.com/php-http/guzzle6-adapter/issues/73#issuecomment-651122068) there is no need to use an adapter for HTTPlug. Maybe it is possible to use sentry/sentry directly with Guzzle 7 instead of sentry/sdk?

Yes, you are correct @Brenneisen, although I've not tested this method you should be able to replace the sentry/sdk package and provide your own PSR-18 complaint package.
{
    "require": {
        "sentry/sentry-laravel": "^1.8",
        "http-interop/http-factory-guzzle": "^1.0",
        "php-http/guzzle6-adapter": "^1.1|^2.0"
    },
    "replace": {
        "sentry/sdk": "*"
    }
}

The above should be equal to just having:
{
    "require": {
        "sentry/sentry-laravel": "^1.8"
    }
}

And you should be able to pull out / replace the http-interop and php-http packages.
We provide sentry/sdk as a quick way to install the correct dependencies and I don't believe there is an easy way for us to allow both Guzzle 6 and 7 right now (using sentry/sdk), open for suggestions ofcourse.

Hmm, this too is preventing from upgrading to Guzzle 7 as I've direct dependency in my application too:
$ ./composer.phar depends guzzlehttp/guzzle
laravel/laravel                     dev-master  requires  guzzlehttp/guzzle (^6.1)
aws/aws-sdk-php                     3.147.10    requires  guzzlehttp/guzzle (^5.3.3|^6.2.1|^7.0)
caseyamcl/guzzle_retry_middleware   v2.3.3      requires  guzzlehttp/guzzle (^6.3|^7.0)
google/apiclient                    v2.7.0      requires  guzzlehttp/guzzle (~5.3.1||~6.0||~7.0)
google/auth                         v1.11.1     requires  guzzlehttp/guzzle (^5.3.1|^6.2.1|^7.0)
laravel/slack-notification-channel  v2.1.0      requires  guzzlehttp/guzzle (^6.0|^7.0)
php-http/guzzle6-adapter            v2.0.1      requires  guzzlehttp/guzzle (^6.0)
wildbit/swiftmailer-postmark        3.1.0       requires  guzzlehttp/guzzle (^6.0.0)

The only other is https://github.com/wildbit/swiftmailer-postmark which has a PR https://github.com/wildbit/swiftmailer-postmark/pull/27 but no one is doing anything there; but that package I can easily replace with a custom driver if must be.
But commercially depending on Sentry prevents me from just removing it 😅

@mfn, for Postmark it's a bit "easier" since they directly depend on Guzzle and can just add 7.x as an allowed version. We have it a bit more complicated because we use a meta package to pull in the Guzzle integration but that uses HTTPlug to interface with Guzzle and that interface has not yet updated (and is not under out control) to be able to use Guzzle 7 (php-http/guzzle6-adapter#72).

If you want / must / require Guzzle 7 for some reason you can switch to using the HTTPlug CURL client by modifying you composer.json to include these changes:
{
    "require": {
        "sentry/sentry-laravel": "^1.8",
        "sentry/sentry": "^2.4",
        "http-interop/http-factory-guzzle": "^1.0",
        "php-http/curl-client": "^2.0",
        "guzzlehttp/guzzle": "^7.0"
    },
    "replace": {
        "sentry/sdk": "*"
    }
}

This installs correctly with Guzzle 7 and will also install Sentry (Laravel) which is able to send events.

There is an workaround available (https://github.com/getsentry/sentry-laravel/issues/360#issuecomment-667851533) so I'm going to close this issue to track it on the main SDK repository since it's not only Laravel related but has effect on all PHP integrations.

See getsentry/sentry-php#1059 for progress updates.


Folder permissions for .cache directory not created correctly

I'm not sure how the permissions work with libuv. Need to figure this one out.

https://github.com/kyazdani42/nvim-tree.lua/blob/master/lua/lib/fs.lua Might be useful.

Fixed in #5. Originally I had 755 but I must be thinking it's the same as a chmod, which doesn't seem to be the case.

@tjdevries Thanks for pointing me in the right direction.


FYI: CPU load with --ephemeral-keys

Our project uses dnscrypt-proxy on embedded hardware, so how CPU intensive is enabling --ephemeral-keys ?
In an attempt to answer this question we use the combo of dnscrypt-proxy and dnsmasq as the local DNS server, running on an Intel Atom, 1.8 GHz class CPU.  The standard <IP_ADDRESS>:443 OpenDNS server was used by dnscrypt-proxy.
Behind that we generate a lot of unique DNS requests using this test tool:
DNS Nameserver Spoofability Test
https://www.grc.com/dns/dns.htm
The CPU load of dnscrypt-proxy was observed via "top -d1".
Results:
“Ephemeral Keys” Enabled: 2.9% → 3.2% (peak) of the CPU (core) is used.
“Ephemeral Keys” Disabled: 0.1% → 0.2% (peak) of the CPU (core) is used.

Thanks for the benchmark!
A CPU increase when using ephemeral keys is expected, and this is why it is not being enabled by default.
Still, 3.2 % peak when running a benchmark doesn't seem terribly high. Hope it's acceptable for your use case!
Thanks again for providing these interesting numbers!

Yes, 3.2 % for Atom class CPU's is typically fine.  To be more clear, top's results would imply the particular core/thread would be 4x or 12.8 % for the core/thread dnscrypt-proxy is on,  3.2 % across all total cores/threads.
Though the older single core 500 MHz AMD Geode class would most likely be too expensive.
Disabled by default is a good choice.  I can't say enough how useful dnscrypt-proxy is.


Prometheus as alternative source plugin

A user must be able to source events from Prometheus in order to receive notifications about important cluster state issues and other alerts triggered in Prometheus.
AC

Botkube can source events from Prometheus via Alertmanager
Botkube shows important alerts (e.g. kube-state-metrics node CPU/memory alarms) collected by Prometheus/Alertmanager

Reason
Botkube needs to be capable of showing events from within a K8s cluster beyond those in the K8s event stream. These include alerts on node health (CPU/memory usage, etc.), alerts from kube-state-metrics, and others.

@brampling I implemented initial working plugin of Prometheus, and need some clarifications about following item.

I am using alert manager API, and there is no date filter there but I have a filtering mechanism on plugin side that shows only new alarms on Botkube, and does not send same alarm to Botkube twice. So, do we want to show only negative statuses or do you want to see also alarms that converted from firing -> to pending, pending -> to success?

@huseyinbabal Ideally we would make that configurable. Is it a lot of additional work?

I will more details then :) What kind of config will it be, list of status to be reported?

Ok I implemented this,


Crashes for JEI rendering recipes in GTCE machines using the overhaul version

Game crashes when rendering centrifuge recipes with an 0-16mb random output in GTCE machines.
Crash report: https://pastebin.com/dfYnTN0q
When actually process recipes with random amount of output using GTCE centrifuge, it always produces zero.

I think I'm just going to have to stop recipes with random outputs being transformed into GTCE recipes.


nextjs not getting links in monorepo setup

reproduction: https://github.com/VirtuaBoza/sst-repro

same, but remix. trying to debug bc this was working at one point

we found the root cause, @fwang is working on a fix

@kwigley Fixed in 0.0.214


It would be nice if .env.testing is out of version control

Hi,
currently .env.testing file is inside version control. That is not so nice, as it is a configuration file which needs to be changed for every checked out project.
As done with .env.example, I would propose to create a .env.testing.example in version control, and remove .env.testing from version control.
It should be documented to copy .env.testing.example to .env.testing (just like it has to be done for .env.example) and set the values accordingly. The initial copy may also be automated by the bagisto installation script.
best
Martin

I also have the same feeling because I also have to do changes again and again before pushing. I will manage it later.

No need for another example file. I have used the same default example file which is provided by Laravel.


bump version to 2.0.0b3

Current coverage is 78.14% (diff: 100%)

Merging #10 into master will not change coverage

@@             master        #10   diff @@
==========================================
  Files            35         35
  Lines          4453       4453
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3480       3480
  Misses          973        973
  Partials          0          0

Powered by Codecov. Last update 78830b0...f8facaa


[FEATURE] Hiding siderbar in small size screens

Description
What is the issue
In the small screen devices the sidebar should be hidden and added to the hamburger menu but the sidebar stays the same and occupying extra space.
Are you willing to work on the issue?
Yes, Iam willing to work on the issue
Screenshots

Additional information
No response

Yes, the sidebar should be removed on the smaller screens and the pages should be added to the hamburger menu. You may work on this. However, someone is already assigned to the same issue you may find in the present pull requests(#47) and collaborate with. I'll assign you there just give me a check.

Alright, that's okay with me

Ask at #47 to get assigned. Your name is not rendered in the assignee list.


Update cross-chain-tutorial.md

Fix display-value.ts script

Thanks for the fix @nicobevilacqua . Approved and merged


Sort by post count

You already got sorting by creation date and bump date, why not implement post count?
bump date and creation date are both pretty useless when accelspammer is amok, this way, his spam would go to the bottom of the catalog, and it's a nifty feature so people don't make more threads if there's one with discussion up.

Done.
It's on the same button as before, you can cycle between Natural -> Replies -> Date.

Magnificent, this will help a lot.


Discovering clock skew ( leads to ssOAuthTokenRequestException ) should be easier and earlier

Agent version and platform
2.102.1

Windows 2012 R2

VSTS type and version
VisualStudio.com

If VisualStudio.com, what is your account name? http://tebeco.visualstudio.com

What's not working?
Agent cannot connect from my server whereas I just did same step on a laptop and it's working
FYI : I'm using PAT to connect and I read OAuth Issue (not sure it's normal or linked)
[ERR  MessageListener] System.AggregateException: One or more errors occurred. (The client is not valid) ---> Microsoft.VisualStudio.Services.OAuth.VssOAuthTokenRequestException: The client is not valid

## **Agent and Worker's diag log**
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Adding 'Agent.Name': 'VsoAgent'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Adding 'Agent.OS': 'Windows_NT'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Key name 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', value name 'CurrentMajorVersionNumber' is null.
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Key name 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', value name 'CurrentMinorVersionNumber' is null.
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Key name 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', value name 'CurrentVersion': '6.3'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Key name 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion', value name 'CurrentBuildNumber': '9600'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Adding 'Agent.OSVersion': '6.3.9600'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Adding 'Cmd': 'C:\Windows\system32\cmd.exe'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Adding 'Agent.Version': '2.102.1'
[2016-06-29 17:37:01Z INFO AgentCapabilitiesProvider] Adding 'Agent.ComputerName': 'VSOBUILDSERVER'
[2016-06-29 17:37:01Z INFO ConfigurationStore] HasCredentials()
[2016-06-29 17:37:01Z INFO ConfigurationStore] stored True
[2016-06-29 17:37:01Z INFO CredentialManager] GetCredentialProvider
[2016-06-29 17:37:01Z INFO CredentialManager] Creating type OAuth
[2016-06-29 17:37:01Z INFO CredentialManager] Creating credential type: OAuth
[2016-06-29 17:37:01Z INFO RSAEncryptedFileKeyManager] Loading RSA key parameters from file C:\VsoAgents\MyProject.credentials_rsaparams
[2016-06-29 17:37:01Z INFO Terminal] WRITE LINE: Connecting to the server.
[2016-06-29 17:37:01Z INFO MessageListener] Attempt to create session.
[2016-06-29 17:37:01Z INFO MessageListener] Connecting to the Agent Server...
[2016-06-29 17:37:01Z INFO RSAEncryptedFileKeyManager] Loading RSA key parameters from file C:\VsoAgents\MyProject.credentials_rsaparams
[2016-06-29 17:37:01Z INFO RSAEncryptedFileKeyManager] Loading RSA key parameters from file C:\VsoAgents\MyProject.credentials_rsaparams
[2016-06-29 17:37:02Z ERR  MessageListener] Catch exception during create session.
[2016-06-29 17:37:02Z ERR  MessageListener] System.AggregateException: One or more errors occurred. (The client is not valid) ---> Microsoft.VisualStudio.Services.OAuth.VssOAuthTokenRequestException: The client is not valid
at Microsoft.VisualStudio.Services.OAuth.VssOAuthTokenProvider.d__14.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification)    at Microsoft.VisualStudio.Services.Common.IssuedTokenProvider.GetTokenOperation.<>c__DisplayClass17_0.<GetTokenAsync>b__1(Task1 x)
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.VisualStudio.Services.Common.IssuedTokenProvider.GetTokenOperation.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at Microsoft.VisualStudio.Services.Common.IssuedTokenProvider.<GetTokenAsync>d__29.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at Microsoft.VisualStudio.Services.Common.VssHttpMessageHandler.d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at Microsoft.VisualStudio.Services.Common.VssHttpRetryMessageHandler.<SendAsync>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__45.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__421.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at Microsoft.VisualStudio.Services.Location.Client.LocationHttpClient.<GetConnectionDataAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at Microsoft.VisualStudio.Services.Client.VssServerDataProvider.d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.Agent.AgentServer.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Services.Agent.Listener.MessageListener.d__12.MoveNext()
---> (Inner Exception #0) Microsoft.VisualStudio.Services.OAuth.VssOAuthTokenRequestException: The client is not valid
at Microsoft.VisualStudio.Services.OAuth.VssOAuthTokenProvider.d__14.MoveNext()<---
[2016-06-29 17:37:02Z INFO MessageListener] Retriable exception: One or more errors occurred. (The client is not valid)
[2016-06-29 17:37:02Z ERR  Terminal] WRITE ERROR: 2016-06-29 17:37:02Z: Agent connect error: One or more errors occurred. (The client is not valid). Retrying every 30 seconds until reconnected.
[2016-06-29 17:37:02Z INFO MessageListener] Sleeping for 30 seconds before retrying.
[2016-06-29 17:37:32Z INFO MessageListener] Attempt to create session.
[2016-06-29 17:37:32Z INFO MessageListener] Connecting to the Agent Server...
[2016-06-29 17:37:33Z INFO RSAEncryptedFileKeyManager] Loading RSA key parameters from file C:\VsoAgents\MyProject.credentials_rsaparams
[2016-06-29 17:37:34Z ERR  MessageListener] Catch exception during create session.
....
Was working fine until I decided :

Update 3 for Vs2015 (in order to build .Net Core 1.0 Rtm
Update PowerShell to version 5 (powershell Zip for build)
Update SDK Azure for vs2015 (using Web PI)
Install Azure CLI (using Web PI)
Install Azure PowerShell (using Web PI)
Install Azure Service Fabrik (using Web PI)

(Works on a Laptop with Powershell 5.1 & Vs Update 3 + Azure CLI & powershell)
I've uninstall PowerShell 5 to 4 did nothing ;)
I could not find a way to unstall from Wen PI, the buttons are disable once installed :(

@tebeco Can you send us the content of .credentials file under your agent folder? it's a hidden file.

@TingluoHuang
send it how  ? here ? a credential file ? no security issue with that file ?

@tebeco you can paste the content here, that credential file just contains a lookup guid, so we can query backend DB. there is no security issue about it.

{
"scheme": "OAuth",
"data": {
"clientId": "a404699b-ca69-4cfd-8e12-d2c0c19dc8dc",
"authorizationUrl": "https://tebeco.vssps.visualstudio.com/_apis/oauth2/token"
}
}

@tebeco cool, thanks, are you still hitting the exception on that agent?

yep

@tebeco please leave it in that state, Can you .zip up the entire _diag folder, and paste here? All secret should already be masked out.

agent is install NOT as a service so i can clean the _diag folder re reun once and send only the last try right ?

@tebeco please include all logs since it start hitting this exception, i also want to figure out how you run into this situation.

_diag.zip

So the agent has never successfully connected and able to run any build, is that correct?

Not this one no,
I'm running the Agent "on demand" inside a Consol Host in Admin (not as a service)
It was working until i've installed all the updates.
Then I got the error, I thought about a cache issue or whatever other issue ... So i've downloading the latest bits of vsts Agent, deleted the previous one and installed this one
To discover that it changed nothing ...
I've installed the same version on my laptop with the same value (just changed the agent Name) and it works.

@tebeco do you still have the _diag folder of the one you deleted?

nop ...
SHAME, SHAME, SHAME !!!
(I've lookup for backup to restore the server as of yesterday but it seems the feature is not installed so i can't)
It's a mess i know

that's fine, i will try to figure this out,

If there's anything I can try on the server or the Laptop to make some diagnotic ...

Not scientific or anything, but it would appear your local clock is skewed quite a bit based on the timestamps we recorded for the errors and the timestamps from your log (on the order of maybe 10 minutes). We allow for a 5 minute clock skew on client tokens used for OAuth exchanges, and you appear to be out of that range. Could you verify that your computer clock is accurately set?
Patrick

NICE CATCH !!!! You're amazing !!! It's connecting finally
Do you think a feature inside Vsts Agent to write a huge red error if a check detect that ?

This is weird now i have a message telling me that there's no agent with the capabilities "azureps" and 'vstest'
I've juste installed Azure powershell using WebPI :(
And there's Visual studio 2013 & 2015 installed
I've disabled the Test step ... so it only require 'azureps' but I don't get why it's not detected

you can check agent diag log to see how it detect all capabilities.

I have filed a bug against the server product to provide a better error message and data in the case that it appears clock skew is at play. Once that is in, the agent can react to the data and provide a more definitive diagnostic message to help diagnose the issue.
Thanks for reporting the problem, glad it was an easy fix.
Patrick

I've updated the title to cover the work so we can do a connect check earlier when you interactively configure and ensure a good error gets to the log

For the capabilities i'll check tomorrow (from France)
I think it's linked to azure Rm
THANKS A LOT

This is the code used to detect the azureps capability: https://github.com/Microsoft/vsts-agent/blob/master/src/Misc/layoutbin/powershell/Add-AzurePowerShellCapabilities.ps1
If you find fault with it, it would be good to troubleshoot on a separate issue. Output from the script is written into the agent diag log.

@ericsciple
I'm creationg a new issue separate from this one, i think there's an error message inside the _diag when agent detect Azure Capabilities.
Wich block Azure Publish

@ericsciple here is the azure caps issue : https://github.com/Microsoft/vsts-agent/issues/353

#356 will improve this.


rx.theme_panel() shortcut on windows overlap with Windows 11 Copilot

Describe the bug
A clear and concise description of what the bug is.
rx.theme_panel() shortcut on windows overlap with Windows 11 Copilot
To Reproduce
Steps to reproduce the behavior:
Press WIN + C will open Windows 11 Copilot (Preview)
Expected behavior
A clear and concise description of what you expected to happen.
Make the shortcut key customize or use different keymap combination
Screenshots
If applicable, add screenshots to help explain your problem.

Specifics (please complete the following information):

Python Version: 3.11
Reflex Version: 0.4.1
OS: Windows 11
Browser (Optional): Brave Browser

Additional context
Add any other context about the problem here.

from upstream I check this pull request

@gunungpw  thanks for the PR ref. We'll update our radix version to bring this in.

The referenced change is slated for radix themes 3.0.0, which is still unreleased.
We will update when it becomes available, currently reflex runs radix themes 2.0.3


Partner Complication doesn't always update

This breaks foreground activity which means transformations and other alarms

Fixed with https://github.com/cfogrady/VitalWear/commit/a1e60d08bee93c4431c6919abfe7ebaaf99565dc


Wait until angular ready

Hi,
Please help me with such difficult issue, regarding to "Angular" application.
In fact "Selenide" almost resolve all asynchronous javascript issues.
But in some, very special, cases I have difficulties with working in "Angular" application.
So, I found some custom library that completely resolve all javascript issues in Angular.
But this library written in python. And implemented in Robot Framework in ExtendedSelenium2Library.
Function that resolve javascript issue given bellow:
def wait_until_angular_ready(self, timeout=None, error=None):
    """Waits until [https://goo.gl/Kzz8Y3|AngularJS] is ready to process the next request or
    ``timeout`` expires.

    Arguments:
    - ``timeout``: The maximum value to wait for [https://goo.gl/Kzz8Y3|AngularJS]
                   to be ready to process the next request.
                   See `introduction` for more information about ``timeout`` and
                   its default value.
    - ``error``: The value that would be use to override the default error message.

    Examples:
    | Wait Until Angular Ready | 15s |
    """
    # pylint: disable=no-member
    timeout = self._get_timeout_value(timeout, self._implicit_wait_in_secs)
    if not error:
        error = 'AngularJS is not ready in %s' % self._format_timeout(timeout)
    # we add more validation here to support transition
    # between AngularJs to non AngularJS page.
    # pylint: disable=no-member
    script = self.NG_WRAPPER % {'prefix': 'var cb=arguments[arguments.length-1];'
                                          'if(window.angular){',
                                'handler': 'function(){cb(true)}',
                                'suffix': '}else{cb(true)}'}
    # pylint: disable=no-member
    browser = self._current_browser()
    browser.set_script_timeout(timeout)
    # pylint: disable=bare-except
    try:
        WebDriverWait(browser, timeout, self._inputs['poll_frequency']). \
            until(lambda driver: driver.execute_async_script(script), error)
    except TimeoutException:
        # prevent double wait
        pass
    except:
        self._debug(exc_info()[0])
        # still inflight, second chance. let the browser take a deep breath...
        sleep(self._inputs['browser_breath_delay'])
        try:
            WebDriverWait(browser, timeout, self._inputs['poll_frequency']). \
                until(lambda driver: driver.execute_async_script(script), error)
        except:
            # instead of halting the process because AngularJS is not ready
            # in <TIMEOUT>, we try our luck...
            self._debug(exc_info()[0])
        finally:
            browser.set_script_timeout(self._timeout_in_secs)
    finally:
        browser.set_script_timeout(self._timeout_in_secs)

Maybe you have some ideas in what way I have chance to implement such method in Selenide?
Thanks in advance for response.

You can use any of ways from this post http://stackoverflow.com/questions/25062969/testing-angularjs-with-selenium

Thanks for response!
I created such method:
public static void waitForAngularLoad() {
    final String angularReadyScript = "return (window.angular !== undefined) && (angular.element(document.body).injector() !== undefined) && (angular.element(document.body).injector().get('$http').pendingRequests.length === 0)";
    ExpectedCondition<Boolean> angularLoad = webDriver -> Boolean.valueOf(executeJavaScript(angularReadyScript).toString());
    Wait().until(angularLoad);
}

and it's works perfectly.

But, in such implementation, I'll need to call this method before each click (Button or Element) or before Select checkbox or something from list.
May be somebody know how to call this method before each actions automatically?

Create some class CustomEventListener implements WebDriverEventListener
and in tale beforeFindBy(...) put your code
then use WebDriverRunner.addListener(new CustomEventListener)

Thank alot for help.
Now it works as it should be.

It worked here too, but, instead of "return (window.angular !== undefined) && (angular.element(document.body).injector() !== undefined) && (angular.element(document.body).injector().get('$http').pendingRequests.length === 0)", i used the Angular's testability API. So i used "return window.getAllAngularTestabilities().findIndex(x=>!x.isStable()) === -1".
To see more about this API: https://angular.io/api/core/Testability
Thank you a lot, i was stucked on that.

There are issues with isStable it depends on many things which even might be not under control of front end engineers (e.g. timers in 3rd party libraries will brake this)
There is another way - to check pending requests and tasks, in our case we ended up with something like:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.support.ui.ExpectedCondition;

/**
 * https://github.com/selenide/selenide/issues/525
 */
public class AngularConditions {
    /**
     * Will wait till there is no pending requests or tasks
     * IMPORTANT: It wont work with non angular pages!
     *
     * @return Boolean true when angular is ready, false otherwise
     */
    public static ExpectedCondition<Boolean> angularHasFinishedProcessing() {
        return driver -> {
            var javaScriptExecutor = (JavascriptExecutor) driver;
            String javaScriptExecutionResult = javaScriptExecutor.executeScript("return 'getAllAngularTestabilities' in window && 0 === window.getAllAngularTestabilities().map(a => a.getPendingRequestCount() + a.getPendingTasks().length).reduce((a, b) => a + b, 0)").toString();
            return Boolean.valueOf(javaScriptExecutionResult);
        };
    }
}

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.events.AbstractWebDriverEventListener;
import org.openqa.selenium.support.events.WebDriverEventListener;
import org.openqa.selenium.support.ui.WebDriverWait;
import ua.rabota.frankenstein.conditions.AngularConditions;

import static com.codeborne.selenide.WebDriverRunner.getWebDriver;

public class AngularEventListener extends AbstractWebDriverEventListener implements WebDriverEventListener {
    @Override
    public void afterNavigateTo(String url, WebDriver driver) {
        waitForAngular();
    }

    @Override
    public void afterNavigateBack(WebDriver driver) {
        waitForAngular();
    }

    @Override
    public void afterNavigateForward(WebDriver driver) {
        waitForAngular();
    }

    @Override
    public void afterNavigateRefresh(WebDriver driver) {
        waitForAngular();
    }

    @Override
    public void beforeFindBy(By by, WebElement element, WebDriver driver) {
        waitForAngular();
    }

    @Override
    public void beforeClickOn(WebElement element, WebDriver driver) {
        waitForAngular();
    }

    private void waitForAngular() {
        WebDriverWait wait = new WebDriverWait(getWebDriver(), 10, 100);
        wait.until(AngularConditions.angularHasFinishedProcessing());
    }
}

and using it in tests
class MyTest {

    @BeforeAll
    public static void setUpAll() {
        addListener(new AngularEventListener());
    }
}

Hi!
TLDR: Beware of the new Selenium listeners! Your throwables will be caught, logged then discarded by selenium's EventFiringDecorator.
Problem
You create some js magic based FluentWait webdriverlistener.
The listener gets called, and it retries evaluating the js until it is true, or timeout is reached.
If it reaches timeout, it throws. (it's pointless to continue the test at this point because Angular took too much time).
By throwing you expect the test to fail immediately... but what happens is that the test will happily continue.
Basically: If your listener throws, it'll be simply logged and selenium (and selenide) will continue.
This might be good for you, or might be bad for you depending on your circumstances.
I just wanted to point out this behavior.
Background (I might be wrong)
Selenium changed the listener interface and also how the event firing mechanism works a bit.
In Selenide (via WebDriverRunner::addListener) you basically hook up your listener to an EventFiringDecorator.
EventFiringDecorator catches any Throwable that you might've thrown. Logs it, then continues the execution.
The Javadoc of EventFiringDecorator says:
Listeners can't affect driver behavior too much. They can't throw any exceptions (they can, but the decorator suppresses these exceptions), can't prevent execution of the decorated methods, can't modify parameters and results of the methods.

Decorators that modify the behaviour of the underlying drivers should be implemented by extending WebDriverDecorator, not by creating sophisticated listeners.

I don't know how to properly solve this issue without writing a WebDriverDecorator and decorating a driver instance with it, then setting this decorator as driver for Selenide manually in your beforeall.
Btw, selenide is insanely good, and this issue thread gave me a lot of ideas, so thanks for both!
Bye

@rkeeves Sorry, but I still don't understand why all this complexity is needed.
Selenide is designed to that you don't need to wait for any Angular specific details.
You just write "$.shouldBe(visible)` - and Selenide waits until the element gets visible, no matter what framework it's rendered by.
If you have some flaky tests with angular application, it's probably better to investigate the real reason of flakiness?

@asolntsev  Thanks again for Selenide! It's awesome!
I think I wasn't clear with the wording of my comment:
The point of my comment was not to judge whether this approach is viable or not.
I just wanted to make sure that if anyone stumbles upon this issue they'll know that:
With the new Selenium listener anything you throw will be caught and won't end the test.
(It's not the listener, but the decorator impl which catches.)
Is this a problem for Selenium/Selenide? No. Absolutely.
I just thought that this kind of change in behavior deserves a comment at least.
P.S.: I didn't use this approach for Angular, so I can't comment on it.
As you see my point has nothing to do with Angular specifically.
It's about changes in how the listeners behave generally.

@rkeeves Yes, yes, I understand. :) Knowledge exchange is great, thank you for sharing the information about Selenium listeners.
I didn't want to judge or criticize. Rather I wanted to remind other readers that the life is much simplier, and they probably don't need to bother with details at all.


ci: run doctests after cargo nextest

Current Behavior
Issue #3033 identified that Rust doctests are not being run by the GitHub CI. This is because...

#2949 updated CI to use cargo nextest instead of cargo test.
However, nextest does not currently support doctests.
So, doctests have been silently not running.

Proposed Changes

Modify CI so cargo test --doc is run after cargo nextest.
In gradle script, rename environmentCI() to environmentVars() so it makes more sense.

Fixes #3033.
Checks

[x] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] I accept the Ockam Community Code of Conduct.
[x] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository.

Thank you for another awesome contribution! That looks great 🥳


Error invoking remote method 'docker-start-container': Error: (HTTP code 500) server error - Ports are not available: exposing port TCP <IP_ADDRESS>:27017 -> <IP_ADDRESS>:0: listen tcp <IP_ADDRESS>:27017: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

my config.env file have below code;
local path where to store MongoDB
MONGODB_PATH=./mongodb
MongoDB port
MONGODB_PORT=27017
Mongo Express port
MONGO_EXPRESS_PORT=8081
Mongo Express username
MONGO_EXPRESS_USERNAME=username
Mongo Express password
MONGO_EXPRESS_PASSWORD=password

Happens to me too. Did you find a solution?


Disable transitions/animations by default for prefers reduced motion

Something like:
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001s !important;
    transition-duration: 0.001s !important;
  }
}

Possibly this is better, to include animations as well as transitions:
// Disable animations/transitions according to users's preference
// See https://web.dev/prefers-reduced-motion/
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}


Html2js angular views

To prevent extra ajax and allow chrome to run the app from files.

Or just package the app with a go webserver.


0783 - Minimum Distance Between BST Nodes

Description of the Problem
Minimum Distance Between BST Nodes
Code
Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the values of any two different nodes in the tree.
Example :
Input: root = [4,2,6,1,3,null,null]
Output: 1
Explanation:
Note that root is a TreeNode object, not an array.
The given tree [4,2,6,1,3,null,null] is represented by the following diagram:
      4
    /   \
  2      6
 / \
1   3

while the minimum difference in this tree is 1, it occurs between node 1 and node 2, also between node 3 and node 2.
Code

## Link To The LeetCode Problem
https://leetcode.com/problems/minimum-distance-between-bst-nodes/

Please assign me this  issue

Problem already solved

@jindalsachin
Waiting for your PR 😸


The meaning of UV

Sorry, I have a rather childish question. Why is this new generation pyhton package management tool called UV?
Does it mean "use venv"?
Also, as a fast linter, does Ruff mean "rust formatted"?
What is the source of your naming, otherwise it feels a bit confusing

See https://github.com/astral-sh/uv/issues/1349#issuecomment-1986451785
Names are hard, we considered hundreds of names. They don't need to have a specific meaning. Ruff doesn't really stand for anything either, it's just a name.

I assumed ruff was 'RUst Faster Flake'.     But uv being 'Use Venv' sends the opposite message.


[Errors][Message] Generic type argument on identifier expression

tests/cases/conformance/parser/ecmascript5/Generics/parserMemberAccessExpression1.ts
Foo<T>.Bar();

Old:
!!! A parameter list must follow a generic type argument list. '(' expected.
New:
!!! Expression expected.

With
let Foo: { Bar: any };

Foo<T>.Bar();

you now get
TS2349: Cannot invoke an expression whose type lacks a call signature.
TS1005: '(' expected.
TS2304: Cannot find name 'Bar'.
TS1005: ')' expected.

Not sure if we want to say this is fixed.

I do not think there is much value here. closing.

I do not think there is much value here. closing.


QoL Improvements

When clicking nothing wile there is a focused entry, defocuse that entry
When pressing escape with a focused entry, defocuse that entry
Added configurable defer control key
When defer control key is pressed, enable player movement and capture mouse
allows continued editing of the armorstand while moving
Keyboard inputs with deferred control does not work in neoforge due to an extra check located at net.neoforged.neoforge.client.settings.KeyConflictContext.GUI.isActive()

TODO:

Fix mouse still being able to hover/click buttons while deferred


cannot get or compile

The gobuild website is down (nginx proxy error) and the suggested build procedure does not work. It ends with:

─# go get
package github.com/influxdb/influxdb/client: code in directory /root/oh-deploy/perftest/03_sysinfo_influxdb/src/github.com/influxdb/influxdb/client expects import "github.com/influxdata/influxdb/client"

Same problem for me.

I ended up using a prebuilt docker container. If you can use docker, then it is the easiest and fastest solution. (But the compile issue seems to be unresolved.)

Thanks. I ended up using https://github.com/pstadler/metrics.sh instead.


How to setup the SAP Vora developer edition virtual machine

Thanks for the useful tutorial.
With regards to Step-6, what do I do if I see my Vora services in "inactive dead" statuses?
Thanks

This is usually happens when there is no enough memory available. What amount of RAM do you have assigned to your VM and what is the total on your computer?

Thank you for your feedback. We haven't heard from you in the past 30 days, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


Error: resolve-url-loader: CSS error with arbitrary value support

What version of @tailwindcss/jit are you using?
v0.1.3
What version of Node.js are you using?
v.12.20.0
What browser are you using?
N/A
What operating system are you using?
macOS
Reproduction repository
https://github.com/robylosa94/tailwindjit-issue.git
I'm using the arbitrary value support functionality like this:

In development everything is alright, but on build goes wrong the resolve-url-loader package:

I'm using webpack 4 and sass.
Thanks for the support!

Hey! Please provide a reproduction as requested — the reproduction field is required because it makes it a lot easier to troubleshoot stuff if we can just clone it down vs. creating it all from scratch.

Hey! Please provide a reproduction as requested — the reproduction field is required because it makes it a lot easier to troubleshoot stuff if we can just clone it down vs. creating it all from scratch.

@adamwathan Sorry, I have updated the request!

Hi, I have the same issue on the last 0.1.5 version too

Can you test this on v0.1.7 and see if it fixes your issue? Thanks!

Can you test this on v0.1.7 and see if it fixes your issue? Thanks!

I tested it with the v0.1.7 but I have the same build error, thank you for your help!

This is a tricky one to nail down but in my testing this only happens with Sass, and is not an issue if you are writing (Post)CSS. I took the reproduction repository and converted Grid.module.scss to Grid.module.css and refactored any Sass-specific syntax (like removing nesting) and the error went away.
Unfortunately I don't expect there is anything we can do on our side to fix this since it seems to be something to do with Sass specifically, so going to have to close without taking any action on it and recommend either not using Sass (I personally would recommend this, it's not worth the extra complexity/build slow down), or just writing regular CSS for these situations:
  .root {
-   @apply top-[30%];
+   top: 30%;
  }


Add uce.edu.ec domain for the Universidad Central del Ecuador

Added the domain of Universidad Central del Ecuador so that students can access JetBrains licenses.

@Nick6154-dev I am sorry, the domain uce.edu.ec is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Clean and organize logs in openMVG

With @simogasp and @fcastan we thought that it will be a great idea to clean and organize logs in openMVG. During tests we have to see/save a lot of debug informations, and when we run the localization for example, we want a more silent trace.
boostlog seems to be a good client. There is a macro where you can specifiy the level of a log (error, fatal, warning, info, debug, etc) and another to specify which levels you want to print.
We can replace the macro BOOST_LOG_TRIVIAL(level) << "my text"; by POPART_LOG_LEVEL("my text"); to be close to the actual log system (POPART_COUT("my_text");).
Any suggestions are welcome.

boostlog seems similar to google-glog.
There is also easyloggingpp https://github.com/easylogging/easyloggingpp

@caymard Status?
Can be put into PR?

I doubt it as it is quite old, it needs to be update with a recent develop at least.
The other thing is that glog may be a better choice as in theory it can grab the logs from ceres as well. Ceres already uses glog (as option), if we also use glog we can collect Ceres' log in ours (not 100% sure but also @nrondaud was thinking it is possible when we discussed about it). Of course this will add a (yet) new dependency

In case, for glog, we can just use this branch where all the cout/cerr are replaced by OPENMVG_COUT, add the dependency to cmake, modify the logger.h accordingly, and add the initialization (google::InitGoogleLogging(argv[0])) to each binary in ./software/

If you plan that I think it would be valuable to use OPENMG_COUT and OPENMVG_CERR. Since if you modifiy an error message to a standard message, you change the library behavior.
Or we could consider to use OPENMVG_LOG_INFO, OPENMVG_LOG_WARNING, OPENMVG_LOG_ERROR

please check the logger.hpp
For now we have OPENMG_COUT and OPENMVG_CERR that replaces our old POPART_* and redefine it in terms of boost logging. Also we redefined cout/cerr into OPENMVG_* only for the popart new contribution parts (voctree, localizers etc) that were not already defined as macros, we haven't change anything in the library yet.
For sure we can consider what you propose, INFO/WARNING/ERROR as different levels of logging, it think it should be enough. Maybe we can add DEBUG for messages that are needed just for degugging issues that the user might not be interested in.
Then we just need to go through all the cout/cerr of the library and replace accordingly.

@pmoulon what do you think?

@simogasp
I think that OPENMVG_* (INFO/WARNING/ERROR) would be fine.
Adding debug is a good idea too.
According the file logger.hpp I woud like to suggest the following changes:
// Add licence header, publish code without a licence means that you do a public domain contribution

#pragma once

#ifdef OPENVMG_USE_BOOST_LOG // replace popart specific LOG_BOOST_POPART_COUT
// Defines simple logging macros for the BOOST based log
#define BOOST_LOG_DYN_LINK 1
#include <boost/log/trivial.hpp>
#define OPENMVG_COUT(x) BOOST_LOG_TRIVIAL(info) << x
#define OPENMVG_CERR(x) BOOST_LOG_TRIVIAL(error) << x
#define OPENMVG_COUT_DEBUG(x) BOOST_LOG_TRIVIAL(debug) << x
#else
#define OPENMVG_COUT(x) // do we must add here std::cout << x
#define OPENMVG_CERR(x) // do we must add here std::cerr << x
#define OPENMVG_COUT_DEBUG(x) // do we must add here std::cout << x
// One day we could consider adding a Glog based output if needed
#endif

The headers are missing everywhere in our new files, maybe we can do it in a dedicated issue.
The idea of logger.hpp was to be able to suppress all the messages, I don't know if it is still a need (it was back then), that's why the #defines were empty. The idea was to have a cmake variable to enable/disable (mute) logging. If this is stil valid we can do something like:
#ifdef OPENVMG_ENABLE_LOGGING  // by default true

#if OPENMVG_USE_GLOG // can be set in cmake
// here we put the definitions of OPENMVG_* in terms of glog
#define OPENMVG_COUT(x) glog....
....
#elif OPENMVG_USE_BOOSTLOG
// all the boost stuff
#define BOOST_LOG_DYN_LINK 1
#include <boost/log/trivial.hpp>
#define OPENMVG_COUT(x) BOOST_LOG_TRIVIAL(info) << x
...
#else
// define as a simple cout/cerr
#define OPENMVG_COUT(x) std::cout << x
...
#endif

#else // OPENVMG_ENABLE_LOGGING
// empty definition
#define OPENMVG_COUT(x)
#define OPENMVG_CERR(x)
#define OPENMVG_COUT_DEBUG(x)
#endif

This way the user has the choice of using boost, glog or the std output as logging, as well as the choice of suppress the logging. The latter can be achieved also with boost and glog by setting the logging level to 0 but not for the std output. Of course CMakeLists must be change to manage all the cases and options.


Fix the jumping when dismiss the view controller

PR #10 fixed one jump, but created another.
There is a jump when you try to dismiss viewController by dragging scrollView

I added a check to fix it.

Thank you very much! I will release a new version later.

1.5.2 released


Adding the ability to disable auto-detect TypeScript files in project

Is this a bug report?
No
Typscript is sometimes used to document some modules of a project and has only an informative role.
Can we add disabling auto-detect TypeScript in project?

The auto-detection should have no adverse effect if you're not bundling TS files.
Is there a specific problem you're encountering?

I do not fully understand when the TS files are located.
But this code makes me think that the verification is carried out by simply determining the presence of files in the project folder.
function verifyNoTypeScript() {
  const typescriptFiles = globby('**/*.(ts|tsx)', { cwd: paths.appSrc });
  if (typescriptFiles.length > 0) {
    console.warn(
      chalk.yellow(
        `We detected TypeScript in your project (${chalk.bold(
          `src${path.sep}${typescriptFiles[0]}`
        )}) and created a ${chalk.bold('tsconfig.json')} file for you.`
      )
    );
    console.warn();
    return false;
  }
  return true;
}

We're probably not going to turn this behavior off unless you're being hit by a specific problem. Can you explain what's breaking?

If you have .d.ts files they should be associated to a TypeScript version. Not installing TypeScript is a behavior prone to breaking, so what we're doing here is correct.

@Timer I do not understand this argument. Consider this situation

I have a component library (all .js)
I manually add .d.ts files to make my components easier to consume in TypeScript projects
now I cannot run react-scripts (locally or in CI) without installing typescript

Note:

there is absolutely nothing to do or check for tsc here
there are no *.ts or *.tsx source files, only *.d.ts declaration and *.js source files
there is absolutely no need for importers to have typescript installed, either, so adding it as a dependency makes no sense

Suggestion:

add an exclude pattern (something like !*.d.ts) to globby, so that only actual TypeScript source files trigger the need to have typescript installed

That sounds like a bug @MohammedSiddiqui10p, why is it picking up your node_modules?

We have a git submodule in our project because we have to consume a private package which isn't published anywhere. So we have a .gitmodules file in our root which tells git where to place our private package.
[submodule "src/packages/some_private_package/some_name"]
	path = src/packages/some_private_package/some_name
	url = git@github.com:some_github_link.git

I'm getting a similar issue to @MohammedSiddiqui10p:
We detected TypeScript in your project (src\node/node_modules/npm/node_modules/worker-farm/index.d.ts

For me, it's because my UI is built as part of a Maven build that installs node (hence src\node/node_modules, looks like there's some unrelated dodgy path concatenation there too).
The fix for me was to change my build config to install Node into the target directory instead of src.

same problem

I'm having this issue as well. I'm using Bit, which embeds packages in my src folder, along with their dependencies in a node_modules folder, and some of those dependencies have .d.ts files. Now I can't even run yarn start. Thoughts?


Extra fields support in easyeda parser

EasyEDA has support for custom fields now. Even though there is no convenient way to bulk edit them.
Custom fields could be parsed as extra fields.

I would like to have this feature. It's handy to able to have the LCSC part numbers in an column for example.


ParametricRandomF1CircuitGenerator-AbhinavMalladi

[x] I have read the steps to getting a blot

[x] I am submitting art that...

[x] is algorithmically generated (will change each time the program is run)
[x] is drawable on a blot (fits in the work area & doesn't overlap too much)
[x] is original (not copied from somewhere else)
[x] doesn't call Math.random() (See the documentation on randomness)

[x] Optional, if you used a tutorial or based your art on something else, please include the link here:

Uses the Text Engine in Scott C's and in geschmit's submissions. The repo for the engine is here.

[ ] Optional, if you remixed this from something else, mention it here:

I have been coding for a little while now, with some experience in Python and with C++.
I am relatively new to JS, only having used it to make a small web trivia game before, or to do a few API calls for a group project. The syntax similarities to C++ sort of threw me off a bit, as I would often accidentally switch into using C++ syntax during the art's development, like suddenly typing pair<int, int> coords; instead of just const coords;. I definitely spent at least 8 hours on this project as a minimum! It took me far too long to get the F1 Logo .svg file into the art, and I ended up learning alot about how svgs work in that process!
The art is entirely parametric and so should scale to any size of page appropriately. This is version 2, as I was not happy with the generation and look of my previous version, which had a thick, filled in track (also not really possible on blot) and the lack of much branding. I am very happy with this version of the track generator, even if it gave me hours work as I figured out how to make it generate the track randomly, and also make use of the toolkit as much as possible. I've explained it all in comments within the code. :)
Edit: Features Added -

Higher Res F1 Logo with registered trademark symbol added
Page borders added
Start Line added
Customisable or Random (controlled by constants at the top of the program) race text.
This text fully scales to page size and can be customised in many ways.
Purpose of the project now different: "to make a fantasy F1 track poster to display"

By the way, the picture below is set to be at A4 Size, can easily scale to a 100mm by 100mm page and look nice. I've set the race info to be something different to show customisation.

The image below this shows variables that can be edited to change how it generates:

By the way, by default it is set to draw on A4, but i realise blot may not have that capability (I don't know its dimensions), so I ensured it is guaranteed to look nice on a 100mm x 100mm canvas!

Because of the way the generation works (picking random points and then creating a curve around them), I'm not sure how I would create straights or label corners without remaking the entire thing to generate in a whole new way. I will try and upgrade this further, adding details like a track start and more like you mentioned, however maybe not exactly by adding information like corner labelling or DRS zone labelling. Thanks for the advice!
Image showing the actual random line overlayed on the curve drawn:

@maxwofford I have now upgraded it as much as I can! I have added the start line and added text as you have said, but also made some more improvements highlighted in the now edited comment above. I am very happy with the result :)
In total this project has taken approx. 14-15 hours so far, most of it being put into doing the maths for the scaling, learning how to use the text engine, how an .svg works under the hood, and getting better at JS overal.

@maxwofford Is there anything else I need to change? I've done everything you mentioned + a bit more, except for the zone labelling as that would require rewriting how it generates in a complex way I'm not sure how to implement yet. Thanks!


Decision Tree documentation

Create documentation for the decision tree algorithm
It should include all definitions, advantages, disadvantages, real-life examples and generalized python code for the algorithm

This is a good first issue for FY students to explore machine learning

Piyusha Ghodake.(SY COMP)
I would like to work on this issue.

@PiyushaGhodake you can strat working on the issue. You have 2 days for it. Try to include images and gifs explaining the concept in your readme file.

@shruti-2412 Can u pls check the documentation?


Noto Sans CJK support

I notice a few bugs (#188, #139) citing Chinese is not supported. Fair enough, but do you know of any JS libraries supporting CJK? (I came across https://github.com/kekee000/fonteditor-core some time ago, but found it a bit buggy... and writing a new ttf very difficult to achieve without understanding everything about ttf).
This fault raises how all the otf fonts generated for the CJK project (https://github.com/googlei18n/noto-cjk) all seem to have glyph issues, particularly reporting 'unknown operator' errors, eg:

Glyph 14336: unknown operator 2
Glyph 15196: unknown operator 0
Glyph 15254: unknown operator 16

when reading the glyph's CFF path.
The error's source seems to be in parseCFFCharstring line 4258.
This is a sample otf that is failing: https://github.com/googlei18n/noto-cjk/blob/master/NotoSansTC-Light.otf
As I was trying to assist in generating this report, I looked up the referenced link in the source (https://www.microsoft.com/typography/OTSPEC/charstr2.htm),
to find information about these operators... but all 3 are listed as --Reserved--, which I realise is very unhelpful indeed, although https://www.microsoft.com/typography/otspec/cff2.htm#section13 does hint at operator#16 being a 'blend' operator:

D5. CharString Data
Type 2 CharStrings must not contain a value for width: a CFF2 table does not contain any CharString width data.
The CharString operator set is extended in the CFF 2 format to include the vsindex and blend operators. These work as described above in section 13. OpenType Font Variations Extensions, but have different operator codes. The CharString operator code for blend is 16, and 15 for vsindex.
For CFF2 tables, the fill rule for CharStrings must always be the nonzero winding number rule, rather than the even-odd rule. This is required for Font Variations support, as CFF 2 variable fonts will have glyphs with paths that overlap. Even for Western fonts, it is difficult to design source master fonts that are blend-compatible without overlap; for ideographic fonts, this is prohibitively difficult.

(I'm not sure how helpful at all this last information is)

I'm able to render CJK character using DroidSansFallbackFull.ttf see googlei18n/noto-cjk#81. Some people point that the issue is with opentype.js, not Noto.

I've added support for CID-keyed fonts in 0.7.0 and I don't get the parsing bugs anymore for NotoSansTC-Light.otf.

@edouard-lopez perhaps you want to do some additional testing and let me know if we can close this issue? The previewer at opentype.js.org is updated to the latest version.

Awesome work @fdb! Many thanks for your efforts. My preliminary tests are working flawlessly with many versions of the CJK project (TC, SC in Regular, Bold, Italic, etc). It'll take a natural reader to triple check, but it's looking very good to my western eyes.

Thanks, though the credit mostly goes to @tshinnic who did the bulk of the work. 😄

Grave digging this issue a bit. Unfortunately, NotoSans-KR fails when extracting some of the glyphs into a new copy of the font:
TypeError: Cannot read property 'length' of undefined
    at encode.CHARARRAY (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:1006:28)
    at Object.encode.OBJECT (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:1806:13)
    at Object.encode.INDEX (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:1645:25)
    at sizeOf.INDEX (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:1674:20)
    at Object.sizeOf.TABLE (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:1881:22)
    at Table.sizeOf (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:1949:20)
    at Object.makeCFFTable [as make] (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:5152:24)
    at Object.fontToSfntTable [as fontToTable] (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:7148:25)
    at Font.toTables (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:13449:18)
    at Font.toArrayBuffer (/src/kor/font-system/node_modules/opentype.js/dist/opentype.js:13463:27)
    at generateFonts (/src/kor/font-system/cli.js:427:44)
    at Object.<anonymous> (/src/kor/font-system/cli.js:516:23)
    at Module._compile (internal/modules/cjs/loader.js:799:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
    at Module.load (internal/modules/cjs/loader.js:666:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
    at Function.Module._load (internal/modules/cjs/loader.js:598:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:862:12)
    at internal/main/run_main_module.js:21:11

For any of the Chinese variants of Noto Sans (NotoSans-TC and NotoSans-SC), I also get a flooding of Glyph 20154: unknown operator errors in addition to the above error.
Here's just a sample (though there are hundreds, perhaps thousands of lines):
Glyph 13577: unknown operator 0
Glyph 13579: unknown operator 16
Glyph 13582: unknown operator 16
Glyph 13582: unknown operator 0
Glyph 13582: unknown operator 1228
Glyph 13582: unknown operator 1447
Glyph 13582: unknown operator 16
Glyph 13582: unknown operator 0
Glyph 13582: unknown operator 0
Glyph 13582: unknown operator 0
Glyph 13583: unknown operator 16
Glyph 13585: unknown operator 0

Note that I'm using this library by extracting subsets of glyphs from the original fonts into a new Font object (via the glyphs: property) and then saving the new OTF out to an ArrayBuffer.

If you want to reproduce:
#!/usr/bin/env bash
set -euo pipefail

git clone git@github.com:kor-tech/npm.font-system.git font-system
cd font-system
npm i
curl -LOJ 'https://fonts.google.com/download?family=Noto%20Sans%20SC'
unzip Noto_Sans_SC.zip
curl -LOJ 'https://fonts.google.com/download?family=Noto%20Sans%20TC'
rm OFL.txt
unzip Noto_Sans_TC.zip
curl -LOJ 'https://fonts.google.com/download?family=Noto%20Sans%20KR'
rm OFL.txt
unzip Noto_Sans_KR.zip
cat > font-system.json <<EOF
{
	"TestFont": {
		"cjk": [
			"./NotoSansTC-Regular.otf",
			"./NotoSansSC-Regular.otf"
		],
		"korean": [
			"./NotoSansKR-Regular.otf"
		]
	}
}
EOF
mkdir out
node ./cli.js -G -o out ./font-system.json

@Qix- I don't see the code you mentioned but I guess it is https://github.com/kor-tech/npm.font-system/blob/master/cli.js?

Yes, correct - specifically https://github.com/kor-tech/npm.font-system/blob/master/cli.js#L381-L458 is where the "pruning" happens.
We take a list of unicode character ranges, find the intersection with the glyphs in the font itself, and then create a new font out the intersection.
fonteditor-core is used in order to convert TTF/OTF to other font formats since OpenType doesn't support that out of the box (though, ironically, OTF reading is bugged in fonteditor-core).


Question about occlusion map of sceneflow

Hi, thanks for your great work. I have a question about occlusion map label. You mentioned that computing occluded area can be found in dataset/preprocess.py. However, with this file, we can only get occlusion region on image border, but the occlusion map provided in sample data of sceneflow seems not.  Thank you very much for your help!

Hi @LeeyqSenSe,
The code for finding occlusion in both image border and object border is here. I use this as an offline processing step, therefore the code is not in dataset/preprocess.py.

Hi @LeeyqSenSe,
The code for finding occlusion in both image border and object border is here. I use this as an offline processing step, therefore the code is not in dataset/preprocess.py.

Thanks for your reply.  Got it.

Thanks for your reply.  Got it.


Helm with multiple paths in KUBECONFIG broken in 2.8.0

With 2.8.0 release, my helm cannot connect to my server anymore.
I have the following setup
echo $KUBECONFIG
/Very Long Path/Infrastructure/production/.kube_config:/Users/quentinrevel/.config/kube

I get the following error
Error: could not get Kubernetes config for context "": stat /Very Long Path/Infrastructure/production/.kube_config:/Users/quentinrevel/.config/kube: no such file or directory

Both files exist on my computer.
Kubectl is working.
Thanks

I also use multiple configs and have the same problem, I think it's a common practice when u connect to multiple clusters. Thanks for the fix.


Dart 2 runtime failures in tests

running tests in Dart 2 mode
00:02 +0 -1: can benchmark transformers [E]
type 'Future' is not a subtype of type 'FutureOr' where
Future is from dart:async
FutureOr is from dart:async
bool is from dart:core
package:code_transformers/src/async_benchmark_base.dart 48:18                          AsyncBenchmarkBase.measureFor.
dart:async                                                                             Future.doWhile
package:code_transformers/src/async_benchmark_base.dart 46:19                          AsyncBenchmarkBase.measureFor
package:code_transformers/src/async_benchmark_base.dart 61:11                          AsyncBenchmarkBase.measure
===== asynchronous gap ===========================
dart:async                                                                             Future.doWhile
package:code_transformers/src/async_benchmark_base.dart 46:19                          AsyncBenchmarkBase.measureFor
package:code_transformers/src/async_benchmark_base.dart 61:11                          AsyncBenchmarkBase.measure
===== asynchronous gap ===========================
dart:async                                                                             Future.doWhile
package:code_transformers/src/async_benchmark_base.dart 46:19                          AsyncBenchmarkBase.measureFor
package:code_transformers/src/async_benchmark_base.dart 61:11                          AsyncBenchmarkBase.measure
===== asynchronous gap ===========================
dart:async                                                                             _asyncThenWrapperHelper
package:code_transformers/src/async_benchmark_base.dart                                AsyncBenchmarkBase.measure
../..code_transformers/test/benchmarks_test.dart 22:22  main.
type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, Iterable>' in type cast where
_InternalLinkedHashMap is from dart:collection
Map is from dart:core
String is from dart:core
Iterable is from dart:core
dart:core                                                                             Object._as
../../code_transformers/test/messages_test.dart 101:54  main..

cc @jakemac53
We're planning on deprecating this package. I wonder if we can do that quick enough that we don't need to fix these?

Yes, IMO we just drop this package entirely for Dart 2. It has no use anyways since transformers are not a thing and we have forked the resolver implementation already.


Ty/simplify types

some QoL improvements around url concats and type imports

one sec, need to make some CMI changes


Unexpected difference in scatter_nd_update variants

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

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04 (subsystem on Windows)
TensorFlow installed from (source or binary): pip
TensorFlow version (use command below): v2.2.0-rc4-8-g2b96f3662b 2.2.0
Python version: 3.6.6
CUDA/cuDNN version: -
GPU model and memory: -

Describe the current behavior
This problem (?) was observed for a unit-test in the RL framework Tensorforce when using tf.saved_model. When using variable.scatter_nd_update(indices, updates), I get the exception below. When instead using value = tf.tensor_scatter_nd_update(variable, indices, updates); variable.assign(value), everything works well. The assignment happens here.
Describe the expected behavior
I would expect that both functions use the same implementation of the scatter_nd_update functionality, so I don't understand why one works and the other doesn't.
Other info / logs
Traceback (most recent call last):
  File "python3.6/site-packages/tensorflow/python/framework/importer.py", line 497, in _import_graph_def_internal
    graph._c_graph, serialized, options)  # pylint: disable=protected-access
tensorflow.python.framework.errors_impl.InvalidArgumentError: The inner -2 dimensions of input.shape=[] must match the inner 1 dimensions of updates.shape=[?,1]: Shapes must be equal rank, but are 0 and 1 for '{{node agent/ResourceScatterNdUpdate}} = ResourceScatterNdUpdate[T=DT_BOOL, Tindices=DT_INT64, _output_shapes=[], use_locking=true](agent_resourcescatterndupdate_ref:0, agent/stack_1:0, args_0:0)' with input shapes: [], [?,2], [?,1].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  Tensorforce/test/test_saving.py", line 227, in test_explicit
    agent = tf.saved_model.load(export_dir=os.path.join(self.__class__.directory, 'agent-1'))
  File "python3.6/site-packages/tensorflow/python/saved_model/load.py", line 578, in load
    return load_internal(export_dir, tags)
  File "python3.6/site-packages/tensorflow/python/saved_model/load.py", line 604, in load_internal
    export_dir)
  File "python3.6/site-packages/tensorflow/python/saved_model/load.py", line 116, in __init__
    meta_graph.graph_def.library))
  File "python3.6/site-packages/tensorflow/python/saved_model/function_deserialization.py", line 311, in load_function_def_library
    func_graph = function_def_lib.function_def_to_graph(copy)
  File "python3.6/site-packages/tensorflow/python/framework/function_def_to_graph.py", line 63, in function_def_to_graph
    importer.import_graph_def_for_function(graph_def, name="")
  File "python3.6/site-packages/tensorflow/python/framework/importer.py", line 412, in import_graph_def_for_function
    graph_def, validate_colocation_constraints=False, name=name)
  File "python3.6/site-packages/tensorflow/python/framework/importer.py", line 501, in _import_graph_def_internal
    raise ValueError(str(e))
ValueError: The inner -2 dimensions of input.shape=[] must match the inner 1 dimensions of updates.shape=[?,1]: Shapes must be equal rank, but are 0 and 1 for '{{node agent/ResourceScatterNdUpdate}} = ResourceScatterNdUpdate[T=DT_BOOL, Tindices=DT_INT64, _output_shapes=[], use_locking=true](agent_resourcescatterndupdate_ref:0, agent/stack_1:0, args_0:0)' with input shapes: [], [?,2], [?,1].

@AlexKuhnle
Request you to share colab link or simple standalone code with supporting files to reproduce the issue in our environment.It helps us in localizing the issue faster.Thanks!


add_repeating_timer_us only works with some values of delay_us

add_repeating_timer_us(-50, isr, NULL, &timer); is fine, but add_repeating_timer_us(-51, isr, NULL, &timer); will hang the pico.
A workaround is to call add_repeating_timer with a working delay value, and write the wanted value to the timer struct. timer.delay_us = -51
I'm not sure if this is mentioned in the C++ SDK documentation, but I could not find any mention of this.

"hang the pico" really? in what way?
a small example showing the problem would help

it might be that my sdk is not entirely up to date, but for me it will stop running the code when it hits add_repeating_timer_us with some delays
main.cpp:
`#include "pico/stdlib.h"
#include "hardware/gpio.h"
#define timer_delay -51
struct repeating_timer timer;
bool timer_isr(struct repeating_timer *t) {
return true;
}
void setUpTimer() {
add_repeating_timer_us(timer_delay, timer_isr, NULL, &timer);
}
int main() {
gpio_init(25);
gpio_set_dir(25, GPIO_OUT);

setUpTimer();

while(1) {
    gpio_put(25, 1);
    sleep_ms(200);
    gpio_put(25, 0);
    sleep_ms(200);
}

}`
CMakeLists.txt:
`cmake_minimum_required(VERSION 3.21)
include(pico_sdk_import.cmake)
project(test_project C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)
pico_sdk_init()
add_executable(${PROJECT_NAME}
main.cpp
)
target_link_libraries(${PROJECT_NAME}
pico_stdlib
pico_multicore
hardware_gpio
)
pico_enable_stdio_usb(${PROJECT_NAME} 1)
pico_enable_stdio_uart(${PROJECT_NAME} 0)
pico_add_extra_outputs(${PROJECT_NAME})
`

Same issue here.

is the issue only with negative numbers?
negative numbers means that there may be no pause between callbacks (if the number is too close to zero). it doesn't make a lot of sense that -51 would not work and -50 would, however there are a number of possible factors at play especially if you are running from (cold) flash.

I have a similar issue: for me it seams like it doesn't work for values smaller than X.
On one RP2040 it didn't work for times shorter than -107uS. On another I had issues while debugging around 84/85uS.
If it did not work it always ended up in a breakpoint, highlighted by the debugger in:
pico-sdk/src/rp2_common/pico_runtime/runtime.c line 186
More information in the comments of my code:
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/timer.h"
#include "hardware/clocks.h"

#define PIN 1

bool repeating_timer_callback(struct repeating_timer *t) {
    gpio_put(PIN, !gpio_get(PIN));

    return true;
}

int main()
{
    stdio_init_all();

    gpio_init(PIN);
    gpio_set_dir(PIN, GPIO_OUT);

    struct repeating_timer timer;
    add_repeating_timer_us(-100, repeating_timer_callback, NULL, &timer);     // Working and test: -84, -85, -86, -90, -100, -150, -200, -500
                                                                              // Not working and tested: -83, -82, -81, -80, -79, -70, -51, -50, -25, -13, -12, -1, 0
                                                                              // I also test +20, +40, +84 were not working, +85, +86, +100 were working

                                                                              // 15min later -84 stopped working and it only worked with -85 (and assumably above (I only test -85,-86,-90,-100,-200 afterwards))

    // timer.delay_us = -15;            // By using that line I was able to use times shorter than +-84uS (or -85uS 15min later).

                                    // At times lower than -11uS I noticed a substantial variance of about -10% to +5% at -11uS, +-12% at -10uS and about +-15% at -9uS
                                    // I assume that is because the execution time is very close to the interval time
                                    // I tested the execution time of the ISR by measuring the edge to edge time when using "+1". I measdured arround 7.25uS => 6.25uS for the ISR

    while(1) {
        tight_loop_contents();
    }

    return 0;
}

I think I might have found a workaround. I am hitting a similar-looking bug where timers on the default pool stop firing if the main program does a short usleep at an unfortunate time. I have modified the code near here like this:
diff --git a/src/rp2_common/hardware_timer/timer.c b/src/rp2_common/hardware_timer/timer.c
index f13d24996078..ed0f7d0c9d62 100644
--- a/src/rp2_common/hardware_timer/timer.c
+++ b/src/rp2_common/hardware_timer/timer.c
@@ -208,6 +208,9 @@ bool hardware_alarm_set_target(uint alarm_num, absolute_time_t target) {
                     // and clear our flag so that if the IRQ handler is already active (because it is on
                     // the other core) it will also skip doing anything
                     timer_callbacks_pending = old_timer_callbacks_pending;
+                } else {
+                    // HACK: Force the interrupt to happen
+                    irq_set_pending(harware_alarm_irq_number(alarm_num));
                 }
             }
         }

This resolves the problem for me - timers do not mysteriously stop firing anymore. However, I'm not sure that this is a correct solution and I'm not sure that this is the same bug. Does the workaround work for anyone else?

This patch from @JakubVanek worked for my issue where the timer would stop working for 2^32us and then come back on the rollaround. I am assuming that this was also because of other users of the default alarm pool ( but wasnt proven)
Thanks @JakubVanek!


Fixing failed doc build

What does this PR do?
Fixing #185
Before submitting

[x] This PR is made to fix a typo or improve the docs (you can dismiss the other checks if this is the case).
[x] Was this discussed/approved via a GitHub issue? Please add a link to it if that's the case.

Refer to the issue #185 for detailed comments.


Add TAKAHE_CACHE_DEFAULT to configure the default cache

Cache DSN configured with TAKAHE_CACHE_DEFAULT
ConfigLoadingMiddleware will only reload Config.system periodically (or if needed)
Decorated most views with cache_page equivalent that has awareness of Config.system and identities (when desired)
Added Tuning settings page

This PR is ready. The timeouts are somewhat arbitrary and it might make sense to add Config.system or TAKAHE_ values to fine tune them.

Thanks! I'll take it for a test drive on takahe.social later.


Joystick data on the VIA doesn't consider DDR bits

The bits for the joysticks do not check the DDR bits at all, unlike the i2c bits.
		case 15:
			i2c_step();
			if (!debug) via_clear_pra_irqs(&via[0]);
			if (via[0].registers[11] & 1) {
				// CA1 is currently not connected to anything (?)
				return 0;
			} else {
				return (~via[0].registers[3] & i2c_port.data_out) |					//I2C Data: PA0=1 if DDR bit is 0 (input) and data_out is 1; usage of data_out and data_in is a bit confusing...
					(via[0].registers[3] & i2c_port.data_in) |						//I2C Data: PA0=1 if DDR bit is 1 (output) and data_in is 1
					(~via[0].registers[3] & I2C_CLK_MASK ) |						//I2C Clock: PA1=1 if DDR bit is 0 (input), simulating an input pull-up
					(via[0].registers[3] & i2c_port.clk_in) |						//I2C Clock: PA1=1 if DDR bit is 1 (output) and clk_in is 1, simulating a pin driven by the VIA
					Joystick_data;
			}

This is tricky because port A of the VIA is different from port B, in that it will give you the logic levels seen on the pins regardless of DDR. (For comparison, port B will always read the programmatic setting of output pins and not the physical level at the pin itself)
Hypothetically, if you connected a joystick that drives the pins more strongly than the 65C22's output drive, you'd see the joystick data no matter whether the pins were configured as inputs or outputs.
I don't know how likely that is, but it implies programmers might not be able to rely on a particular behavior here, and more weirdly, that the emulator is currently simulating a situation which is still actually possible. :P

Which emulator behavior would cause the least confusion in the majority of cases? The joystick_scan routine always sets the direction. The emulator does check to see whether the clock and latch are configured as outputs.
If the emulator checked the direction of the data pins, then it would potentially be different than hardware behavior, possibly most of the time.
If the emulator remains as is, it might cause a developer who forgets to set the direction to be convinced that it's behaving correctly when set as outputs, and there may be some controllers that are too weak to overcome how the lines are being driven by the VIA.

I think first of all, make sure the documentation for the VIA makes the difference between Port A and Port B clear, and advise that developers must set the correct direction when manually reading the joysticks vs. using the kernal routine to do so, otherwise, the behavior is undefined.
Second, it might help to know what happens on real hardware. If the joysticks work most commonly, or they stop working most commonly, that might be what the emulator should do. If we wanted to provide a strict, "make sure my stuff works on real hardware" environment, then I'd say to make the joysticks stop reading back when the direction is incorrect.


[AutoPR graphrbac/data-plane] Graphrbac new path

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6137

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/4666


Broken Premium Request after 3.5.0 update

Hello, I apologize for my English, I hope you understand what I try to tell you.
I need help, broken Premium Request after Candybar  3.5.0-b4 update. Iconpack is live on Playstore from August 2017 and Premium request worked great until 3.0.5 update. I reimported project from scratch twice, I tried also with a new in-app product.
I have no clue, I can't figure out where issue is.
Android Studio 3.0.1
CandyBar 3.5.0-b4
Thanks in advance

Solved


Added generate report summary

@dsche I had a couple tasks associated with scenario runner reporting:

Create a machine-readable report, preferably json. Your modification did this for me, thank you.
Create a machine-readable summary of all the reports generated. I did that this morning using your json report. The output is contained in this PR.

Once your PR is merged I figure I'll do a refresh, but I wanted to let you know about this before then in case you're working on something similar.
The summary from 4 scenarios with 1 failure looks like this:
{
"success_count": 3,
"fail_count": 1,
"failed_scenarios": [
"FollowLeadingVehicle_22020-10-07-08-45-54.json"
],
"scenarios": [
{
"filename": "FollowLeadingVehicle_12020-10-07-08-45-19.json",
"success": true
},
{
"filename": "FollowLeadingVehicle_22020-10-07-08-45-54.json",
"success": false,
"failed_criteria": [
"CollisionTest"
]
},
{
"filename": "FollowLeadingVehicle_42020-10-07-08-46-22.json",
"success": true
},
{
"filename": "FollowLeadingVehicle_32020-10-07-08-46-17.json",
"success": true
}
]
}

@jimmyw404 That looks nice, thanks for the heads up! We actually already have a similar functionality implemented, also in an external script (mainly for historical reasons though). I think when my PR is merged I'll come back to this to see if there is something useful I can add to this.


Can't control TV, successfully added though!?

Hi - I am struggling to control 2016 Samsung UN65JU6500 model. I ran pair1 and successfully entered PIN and got mute control. And grabbed UUID from the log. The TV shows in HomeKit but I can't control device (power off or volume, etc.). Below is what I am seeing in the log. Any guidance? Much appreciated!
+++++
[4/1/2022, 2:43:12 PM] [homebridge-samsungtv-control] This plugin generated a warning from the characteristic 'Mute': Characteristic not in required or optional characteristic section for service Television. Adding anyway..
See https://git.io/JtM
GR for more info.
[4/1/2022, 2:43:12 PM] [homebridge-samsungtv-control] This plugin generated a warning from the characteristic 'Volume': Cracteristic not in required or optional characteristic section for service Television. Adding anyway.. See https://git.io/J
MGR for more info

FWIW: HomeKit icon for the TV does correctly show if the device is on/off (as controlled manually via television remote). But cannot control the TV device via HomeKit or co from center remote

I'm having the exact same problem.

me too!


cmd/compile: -buildmode=c-achived not supported on linux/mips64le

What version of Go are you using (go version)?

$ go version go1.18.3

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?

I tried to compile libGoReSym with c-achived mode in the mips64le (loongnix) platform,  but found the following error：
/opt/go/bin/go build -buildmode=c-archive -o libGoReSym.a
internal/itoa
compile: linux/mips64le does not support -shared
。。。
The program is  C wrapper for GoReSym

What did you expect to see?
-buildmode=c-achived support on linux/mips64le
What did you see instead?
-buildmode=c-achived not support on linux/mips64le

Duplicate with https://github.com/golang/go/issues/43264

Although the problems of c-achived and c-shared are very similar, and the error messages are similar, . But they are indeed not the same problem, I just confirmed the issue with longson's R&D.

I'm getting the same error on FreeBSD/i386, using go-1.20:
[ 20% 5/24] cd /wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/purple-gowhatsapp-1.13.0/src/go && /usr/local/bin/cmake -E env GOPATH=/wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/go CGO_LDFLAGS="/wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/libpurple-dummy.a" go build -buildmode=c-archive -o /wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/purple-go-whatsapp.a bridge.go login.go handler.go send_message.go handle_message.go logger.go send_file.go mark_read.go presence.go profile.go send_file_checks.go message_cache.go conversations.go groups.go
FAILED: src/go/purple-go-whatsapp.a src/go/purple-go-whatsapp.h /wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/purple-go-whatsapp.a /wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/purple-go-whatsapp.h
cd /wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/purple-gowhatsapp-1.13.0/src/go && /usr/local/bin/cmake -E env GOPATH=/wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/go CGO_LDFLAGS="/wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/libpurple-dummy.a" go build -buildmode=c-archive -o /wrkdirs/usr/ports/net-im/purple-gowhatsapp/work/.build/src/go/purple-go-whatsapp.a bridge.go login.go handler.go send_message.go handle_message.go logger.go send_file.go mark_read.go presence.go profile.go send_file_checks.go message_cache.go conversations.go groups.go
# command-line-arguments
invalid value "c-archive" for flag -buildmode: buildmode c-archive not supported on freebsd/386

The software being compiled is a mixture of C and Go code, but it builds on FreeBSD/amd64 without a problem.
Is there anything I can do about it for the 32-bit users? Would using go-1.21 help, for example?


Proposal: Kaia Safe Lite - Decentralized MultiSig wallet

Description

Kaia Mainnet-based decentralized multisig wallet
It only consists of contract, so if another Kaia service requires a multi-sig wallet, they can get it right away.
It can also be used for the educational purpose that even those who experience the multi-sig wallet for the first time can understand.

Bounty track

Contribute a free to use DApp onto mainnet

Sounds good ser. Please revert with the repos, links, etc.
Don't forget to create a BUIDL on dorahacks (https://dorahacks.io/hackathon/kaia-onchain-summer) as well

I think your input here is readonly

Can you fix this?
Please also copy and paste all your repo links and implementation link as well here. It's so the links show up often, helping people to see you more.
Anyway, approved for 1500 KLAY bounty payout.

Can you fix this?
-> okay, thank you for letting me know, I fixed that part,
Please also copy and paste all your repo links and implementation link as well here.
-> contract repo / front repo
Thanks, I will continue to make many good products on Kaia Mainnet.

You also need to create a BUIDL and submit here
https://dorahacks.io/hackathon/kaia-onchain-summer

Yes, I created the submission as you said, but it's under review now...!! 😭

Okay, I create and submit the BUIDL on Kaia Onchain Summer!

oh thank you, I added that section.
----
Acknowledgement: I confirm the below address is my bounty payout address.
Payout address: 0x8a205CDC3B695568ccfBc2931c9dc1F5E8ab4728

Closing this issue because bounty has been paid. Open new one if you want to add updates.


Users don't know if they meet pre-requisites

A user asked to have a badge minted to them so that they could participate as a Reviewer. It turns out they already have this badge.

I wonder if it is possible to show a user whether or not they meet the pre-requisites

@sebruiz @thehannahlerman this issue relates to this one: https://github.com/orgs/MetricsDAO/projects/5/views/6?pane=issue&itemId=20379593
instead of hiding any buttons, we could disable the button and provide some sort of messaging on why they can't click/take that action. imagine I hover on the disabled claim the review button and it displays the message "You must hold this badge to review and score submissions: Marketplace Factory 0xA87...ebeA #3
perhaps we could also show a validation in the Marketplace / Prerequisites and Challenge / Prerequisites per user to display yes you qualify or no you don't. imagine a green checkmark vs. red x or something
@A4x1 @mahgillis what do you think?

X or check icons on the ore-requisites tab may be nice too
As a user that knows pre-requisites are required, I navigate to the pre-requisites tab to see if i am able to participate
BUT
I do not know if I hold these tokens or how many of them I may hold

I agree with Elise. Disabling the button and providing a message. I also like the idea that users can directly see what challenges they are immediatly qualified for.

To bring clarity to the conversation here, there are two distinct needs.

Being able to run a transaction.
Having a transaction that is prepared to run.

To support the first, a balanceOf(tokenId) would be needed to filter a full list (whether using live-filtered events or an indexer-cached result (presumably a balance multi-call)) against in order to determine which a user will have access to when they have built a valid transaction.
To support the second, the active error of the transaction should be utilized.

ensuring we see @mahgillis proposed UX which was on this similar but more narrow issue cc @A4x1 @drakedanner @nftchance @sebruiz https://github.com/MetricsDAO/xyz/issues/384#issuecomment-1439034630
https://www.figma.com/file/66Myyf1MVmY8UKv7BrVUa5/MDAO-App-Designs?node-id=5445%3A38986&t=LfsLueRKCZaMmDo6-1

https://github.com/nftchance/charlie/blob/master/frontend/src/utils/getBalances.tsx
@nftchance notes that we can essentially use this code but adjust the targets

Good idea @sebruiz, I'll update designs. I originally had a red x but second guessed myself thinking it might be too aggressive.


Controller helper loads everything for show/edit

Steps to reproduce
Have a model that uses a UUID in the paths and as its param (but still has an integer id as its primary key).
In routes.rb:
resources :model, path: 'custom', param: :uuid

in model.rb:
class Model
	# ...

	def to_param
		uuid
	end
end

Customize the find_by parameter in the CanCanCan controller helper:
class ModelsController
	load_and_authorize_resource find_by: :uuid

	# ...
end

Visit the "show" or "edit" URLs for a model.
Expected behavior
CanCanCan should load the (singular) model specified by the UUID in the URL into a @model variable for the view.
Actual behavior
CanCanCan loads every accessible "Model" for the user into the @models variable for the "show" and "edit" views (i.e. what it does for the "index" view).
(Disabling UUID in routes, removing the to_param override, and the custom find_by in the controller helper makes it work as expected, albeit using the integer ID instead of the UUID of course.)
System configuration
Rails version: <IP_ADDRESS>
Ruby version: 3.0.2
CanCanCan version: 3.3.0
Other information
I am also using Rolify to manage roles, in case that can affect things?
(The below MWE does not use Rolify and still has the issue)
The actual code that has the issue can be found here: https://github.com/Sharparam/filbunke
Essentially: Create a user, log in, create a new file (at /files).
The issue can be sortof worked around if a custom before_action is used to load the singular resource, but CanCanCan will still load all instances accessible by the user in addition to that.
MWE
I have also created a MWE here: https://github.com/troublesharping/CanCanCan_uuid_issue
The MWE is a standard Rails project (created with rails new CanCanCanUuidTest --skip-webpack-install), with only Devise and CanCanCan installed. Create a new test account in it, then go to /files and create a new file to see the issue.

@Sharparam I faced a similar issue. Was able to get it working by adding id_param: :uuid after find_by: :uuid.

@Sharparam I faced a similar issue. Was able to get it working by adding id_param: :uuid after find_by: :uuid.


Feedback function for user tests

I think, there should be an easy and fast way for users to leave feedback while using the app.
My idea: A button on the landing page bottom, which prompts you to enter just one thing you would like to see on the landing page.
This would be most effective for our goal to have everything you need at one glance without displaying all the junk. What do you thing @hendriku ?

Sure sounds cool. When would you show this button: Every time, on first start ,or on e.g. 5th one?

Always. I think, that ideas don't necessarily come only at your first visit.

But I would rather keep the today view as clear as possible. Only with functions which are mandatory for the daily use cases.
I would suggest an alternative - What about putting a feedback button in the nav drawer like most applications on android do it?

@MalteBartels tell me what you think please.


Regex/Replace strips parts of URL

What did you expect to see?
http://sandro.example.net/portrainer/#/containers
->
https://sandro.example.net/portrainer/#/containers
What did you see instead?
http://sandro.example.net/portrainer/#/containers
->
https://sandro.example.net/#/containers
Output of traefik version: (What version of Traefik are you using?)
Version:      v1.5.4
Codename:     cancoillotte
Go version:   go1.9.4
Built:        2018-03-15_01:35:21PM
OS/Arch:      linux/arm

What is your environment & configuration (arguments, toml, provider, platform, ...)?
logLevel = "DEBUG"

defaultEntryPoints = ["http","https"]

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    regex = "^http://(.*)"
    replacement = "https://$1"
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]

[retry]

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "sandro.example.net"
watch = true
exposedbydefault = false

[acme]
email = "[REMOVED]"
storage = "/acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"

RPI 3b with Raspian Stretch
If applicable, please paste the log output at DEBUG level (--logLevel=DEBUG switch)
(paste your output here)

Edit: I tested it with Regex101 and it works there.

Could you give more information (labels,compose, ...)

https://docs.traefik.io/basics/#matchers
You are using PathPrefixStrip:/portrainer:

Match request prefix path and strip off the path prefix prior to forwarding the request to the backend. It accepts a sequence of literal prefix paths.

I use PathPrefixStrip because I need it to be striped at my backend but I need regex/replace to be used before PathPrefixStrip is applied.

i too have this problem, any fix ?

# Entry points to listen
[entryPoints]
        [entryPoints.http]
        address = ":80"

        [entryPoints.http.redirect]
        entryPoint = "https"
        [entryPoints.https]
        address = ":443"
         [entryPoints.https.tls]


Implemented a simple plugin for tellling people how to code + extra.

Quick plugin for telling people how to code.  Also implement a quick command to print a messages text into code format.

I decided on 10 since even with a new channel type there is still a big variety.