"Forget Username" Option Not Visible on Login Page with Identifier First as the 1st Factor in Authenticator

Describe the issue:
Even though the "Forget Username" option is enabled via the console, when adding an identifier first as the first factor in the Authenticator in application (ex: console ), the "Forget Username" option is not visible in the application login page.
How to reproduce:
Enable the "Forget Username" option via the console.
Configure an identifier first as the first factor in the Authenticator.
Access the application login page.
Expected behavior:
If it's common for users to forget this information, enabling the option can enhance user satisfaction.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Nuget 5.7 incompatible with VS 2019.8

Looks like currently mcr.microsoft.com/dotnet/framework/sdk:4.8 includes msbuild from Visual Studio 2019 Update 8 and NuGet 5.7. They are not compatible with each other - attempt to build project with VS msbuild after restoring with NuGet will result in errors like:
error NETSDK1005: Assets file '...\obj\project.assets.json' doesn't have a target for '...'. Ensure that restore has run and that you have included '...' in the TargetFrameworks for your project.

NuGet should be update to 5.8 in docker images to solve the problem.

For reference: https://developercommunity2.visualstudio.com/t/msbuild-uses-net-50-sdk-or-net-core-sdks-for-net-f/1252149?viewtype=solutions

Verified this can repro with the following modifications to https://github.com/microsoft/dotnet-framework-docker/blob/d2b68d441d71df7615eeb8482419c2f975aa462e/samples/dotnetapp/Dockerfile:
Change dotnet restore to nuget restore here: https://github.com/microsoft/dotnet-framework-docker/blob/d2b68d441d71df7615eeb8482419c2f975aa462e/samples/dotnetapp/Dockerfile#L9
Change dotnet build to dotnet build --no-restore here: https://github.com/microsoft/dotnet-framework-docker/blob/d2b68d441d71df7615eeb8482419c2f975aa462e/samples/dotnetapp/Dockerfile#L14
It produces the following error:
C:\Program Files\dotnet\sdk\5.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5): error NETSDK1005: Assets file 'C:\app\dotnetapp\obj\project.assets.json' doesn't have a target for 'net48'. Ensure that restore has run and that you have included 'net48' in the TargetFrameworks for your project. [C:\app\dotnetapp\dotnetapp.csproj]

There are a couple things we should check when fixing this issue:

Make sure there are utests cover this scenario.
Review the NuGet 5.8 release notes for breaking or impactful changes.

This applies to more than just an upgrade of NuGet 5.7 to 5.8.  NuGet 5.7 is only installed in Server Core, version 2009.  But the issue described here can occur on all currently supported Server Core versions which have a variety of NuGet versions installed.  The reason they have different NuGet versions is because we've taken a conservative approach of changing the NuGet version in order to avoid any breaking changes.  As each new version of Windows is released, we configure it to target the latest available NuGet version.
So in reality, this is more than just upgrading NuGet 5.7 to 5.8.  It's about upgrading all the NuGet versions across all our supported SDK images to NuGet 5.8.  The earliest version that we'd have to consider is 4.9.  That's the version that Server Core 2019 LTSC is configured to use which is the most used version of our images.  I'm still in the process of tracking down whether there are any breaking changes that would exist with such an upgrade.

I've gone through the list of DCRs in the release notes and haven't found any major breaking changes.  I believe that normal NuGet CLI usage would continue to work.  However, if there are dependencies directly on NuGet assemblies, consuming the API, there is the potential for breaking change.  Most notably: https://github.com/NuGet/Home/issues/7294.
I'm thinking that we might want to proceed more cautiously before making this change for the December update.  I'd like to discuss things first with the NuGet team and figure out an upgrade strategy with them.  Then we can create a proper announcement ahead of time with our plans.
In the mean time, the workaround would be to ensure that dotnet restore is used instead of nuget restore.

It is not a problem for me right now, but using dotnet restore in place of nuget restore will not work for projects that still use packages.config: dotnet/sdk#7922. It makes restoring solution that contains both old and new project very tricky in sdk image until nuget will be updated.

If you make use of packages.config, you can use msbuild -t:restore -p:RestorePackagesConfig=true.  That option is available in MSBuild 16.5+.

The latest set of images published as part of yesterday's Patch Tuesday release (https://github.com/microsoft/dotnet-framework-docker/pull/714) have included an additional version of nuget.exe (version 5.8) that is available from the following path: %ProgramFiles%\NuGet\latest\nuget.exe.  For now, NuGet 5.7 is still available from %ProgramFiles%\NuGet\nuget.exe.  This will be updated to 5.8 in the February release.  See the following policy announcement for details on this change: https://github.com/microsoft/dotnet-framework-docker/issues/704.

The latest set of images published as part of yesterday's Patch Tuesday release (https://github.com/microsoft/dotnet-framework-docker/pull/714) have included an additional version of nuget.exe (version 5.8) that is available from the following path: %ProgramFiles%\NuGet\latest\nuget.exe.  For now, NuGet 5.7 is still available from %ProgramFiles%\NuGet\nuget.exe.  This will be updated to 5.8 in the February release.  See the following policy announcement for details on this change: https://github.com/microsoft/dotnet-framework-docker/issues/704.


Fixed data-image issue presented in Issue #111

The element.material_select() method had to be delayed until Angular finished it's initial digest cycle. By using Angular's $scope.$evalAsync() you can delay the execution until the cycle has finished.

Look good, thanks.
Although it is a little annoying that there are so many white-space changes.


Wrong node assignment

You have to escape .

@jjindrich : Thanks for your contribution! The author, @iainfoulds, has been notified to review your proposed change.

Big thanks to @tkubica12

@zr-msft for review who has been working on the best approach for this and consistency.

@jjindrich Thank you for the contribution.
Your PR does address part of the issue, but it still needs to provide a node selector to the backend pod. There are a couple of other docs that need this update as well. I have filed a PR to address all the concerns so I'm closing this one.
FYI @iainfoulds
#please-close


Cleanup dependencies

Move nyc to devDependencies
Move tape to devDependencies
Remove unused unique-slug

Thanks @styfle!


Ownership of voila-gallery.org domain

Currently, I own the voila-gallery.org domain. It's registered with AWS Route 53 in a subaccount that I own and Yuvi has access to.
To avoid:

my becoming a bottleneck
having a bus factor of 1
having the domain completely divorced from the hosting

I think it makes sense to transfer it somewhere:

does OVH provide domain registration?
what's existing best practice for open source deployment? @yuvipanda where is mybinder.org registered, for instance?

* does OVH provide domain registration?

They also have a guide to transfer a domain name to OVH: https://docs.ovh.com/gb/en/domains/transfer-generic-domain/
Not sure it's a fast process though, one of the requirements is: "a domain name more than 60 days old".


Remove built-in console and re-implement it as a plugin once plugin system is rewritten

Per title, I plan to remove the built-in console and re-implement as a plugin once the plugin system is rebuilt.  The new plugin is also to include the ability to connect to the server over telnet.

Continue any conversation about these changes within the pull request #8.


Global variables changing only one time with threading

Bug Description
The count global variable only increases in value once (1), while it should increase infinitely.
Steps to Reproduce
Example:
from robyn import Robyn
from robyn.robyn import Request, Response
import time, threading

app = Robyn(__file__)

count = 0
def Counter():
    global count

    while 1:
        count += 1
        time.sleep(0.2)
        print(count,"added 1")

@app.get("/")
def Teste(r:Request):
    global count
    return Response(description=str(count),status_code=200,headers={})

threading.Thread(target=Counter,daemon=True).start()

app.start()

Your operating system
MacOS
Your Python version (python --version)
3.11
Your Robyn version
Other (specify below)
Additional Info
Robyn 0.45.0

Hey @Peticali 👋
Thank you for reporting this. I am having a look at this.

This is because the server uses multiprocessing, in each new process the count variable is different.
This can be solved by using multiprocessing.Value:
import threading
import time
from multiprocessing import Value

from robyn import Robyn
from robyn.robyn import Request

app = Robyn(__file__)

count = Value("i", 0)

def counter():
    while True:
        count.value += 1
        time.sleep(0.2)
        print(count.value, "added 1")

@app.get("/")
def index(request: Request):
    return f"{count.value}"

threading.Thread(target=counter, daemon=True).start()

app.start()

Thank you for pinpointing the issue @meirdev 😄 This is really helpful.
I should be adding proper documentation to point this out. And maybe even define a different behaviour when processes = 1

@meirdev @Peticali , the server should behave properly if there is a single process. I shall test this again. But a recent PR should’ve fixed it.

@meirdev @Peticali , this has been fixed now. For default behaviour(single process), it works as expected. Need to add some documentation now :D

note to self:

create a new api ref page
doc about the value race condition & necessary protection to be done from the programmer's part

ref


Add full version matrix produce/consume test

This PR adds a test that is checking that messages produced by clients of all supported versions can be consumed by clients of all supported version, also throwing all possible compressions into the mix. When the test runs it uses the value of the KAFKA_VERSION environment variable as the upper version bound. First it produces with clients of all version up to the upper limit and for each version it produces messages with different compression algorithms. Then it reads all produced messages with clients of all supported versions.
The test revealed several issues:

~kafka: response did not contain all the expected topic/partition blocks~:
EDIT: I fixed that in this PR by only reporting ErrIncompleteResponse when there is no complete messages retrieved;
~lz4.Read: invalid header checksum: got 26 expected 130: basically lz4 compression does not work at all, I commented it out in the test for now~;
EDIT: My mistake, since lz4 was introduced in v<IP_ADDRESS> older clients obviously cannot read it. I moved LZ4 testing to another test case that features version matrix starting with v<IP_ADDRESS>;
~Consumed unexpected offset: version=<any version>, index=3219, want={offset: 3220, value: msg:<IP_ADDRESS>:none:35}, got={offset: 3221, value: msg:<IP_ADDRESS>:none:35} messages produced with client version <IP_ADDRESS> and higher are fetched with incorrect offset when consumed by any client version. So my earlier PR that suggested offsetSkew for <IP_ADDRESS>-1.0.0 is incomplete. The fix is most likely should be in producer, because errors are returned by clients of all supported versions.~
EDIT: Hurray, #1041, fixed this issue, thank you @pkedy.

~WARNING: For some reason Travis-CI thinks that build succeeds for all targets even though tests fail.~
EDIT: I fixed that. Now test failure makes entire build fail. ~So you can see that builds for version <IP_ADDRESS> and higher fail.~
EIDT2: Builds for version <IP_ADDRESS> and higher do not fail anymore, thanks to #1041.

@eapache please take a look.

@horkhe - Do your producer tests set Headers in the ProducerMessages?  Even after the fix for #1032, if we set Headers, the following error occurs for at least half of the messages.
kafka server: Message was too large, server rejected it to avoid allocation error.

@eapache - There are other closed issues from the past that have the same error message but this might be a unique case just for when Headers are set.  Worth opening a new issue?

Ya, please open a new issue. The implementation of Headers is fairly new, and I don't recall any past issues of "Message was too large" that didn't just end up being messages actually too large.

@eapache Now I'm not sure this is unique to Headers.  I was able to get the error to occur without errors also.  Referring back to the older issues on this (e.g. #959), I tried setting config.Producer.MaxMessageBytes = 104857500 (100 less than the default value of sarama.MaxRequestSize) and it seems to be stable.  Under load, why would the defaults produce this error?

@pkedy nope, I do not set headers. Later we can add a test that sets headers, although that would be for a much smaller subset of versions.

@eapache After rebase to the latest master, the gzip compression encode/decode test started to fail. The test was broken by #1044, but a deeper problem is that CI tells that build is successful even if tests fail. In this PR that is fixed. But be careful merging PRs before the fix is in master. I fixed the gzip test by the way.

Thank you for all of your work on this!

CI tells that build is successful even if tests fail. In this PR that is fixed

That's really weird, I swear it used to fail properly and I haven't changed the config recently. Anyway, thank you for fixing this, I'm glad the only thing I missed due to this was a minor test failure.

Test errors stopped failing builds since #960. Because in bash if commands in a pipeline are separated with ; the status of the pipeline is the status of the last command, so test execution status was shadowed by the last command.


Doesn't work if your radio buttons have ids

The plugin doesn't work on radio buttons that have ids set. Usually I wouldn't set ids on radio buttons but ASP.NET MVC does this automatically. It's quite easily fixed by changing this line:
if( input_id == null )

To this:
if( input_id == null || $object.is(':radio') )

That condition is used when input doesn't have an ID, so a random one wil be generated. It's weird if it's not working when there's a custom ID.
Do you know which ID caused this issue ? Can you create a jsfiddle for this issue ?

Sure I've created a crude jsfiddle here.
The main issue here is really how MVC is generating the same id for each of these fields. I can work around that by getting MVC to set the id attribute to something unique like Guid.NewGuid() which means I don't have to touch your code. I had initially tried getting it to generate with blank ids too which still causes the same issue.

Ok, got it.
For the first problem, a new option that forces the ID replacement may fix it. It's a new feature.
The blank ID is a bug, so I will fix it asap.


Swift 2.3 and Swift 3 Support?

Sure, I'll do them next week.

Thanks.

The library now supports swift 3. Sorry for late update.

Thanks...Actually it will be better,if that support Swift 2.3,too.Hope you implement when you free.
Regards


Add trench coats

About the PR

uhhh.... trench coats. Sprite taken from paradise station.
Right now the unbuttoning doesn't actually work:

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog
:cl: Ubaser

add: Trench coats can be located in the WinterDrobe.

Wonder if this'll be used to celebrate Paradise being on Open Dream

If it's not too much to ask, can we get one in Grey, black, and boat captain yellow?

fix'd

trench ops


Pls help

Connection update: { isNewLogin: true, qr: undefined }
Connection update: {
connection: 'close',
lastDisconnect: {
error: Error: Stream Errored (restart required)
at WebSocketClient. (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:502:13)
at WebSocketClient.emit (node:events:517:28)
at /root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:236:35
at Object.decodeFrame (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.js:136:17)
at WebSocketClient.onMessageRecieved (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:212:15)
at WebSocketClient.emit (node:events:517:28)
at WebSocket. (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/Client/web-socket-client.js:46:100)
at WebSocket.emit (node:events:517:28)
at Receiver.receiverOnMessage (/root/Baphomate/node_modules/ws/lib/websocket.js:1209:20)
at Receiver.emit (node:events:517:28) {
data: [Object],
isBoom: true,
isServer: true,
output: [Object]
},
date: 2024-02-28T09:11:40.690Z
}
}

Connection update: { isNewLogin: true, qr: undefined } Connection update: { connection: 'close', lastDisconnect: { error: Error: Stream Errored (restart required) at WebSocketClient. (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:502:13) at WebSocketClient.emit (node:events:517:28) at /root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:236:35 at Object.decodeFrame (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.js:136:17) at WebSocketClient.onMessageRecieved (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:212:15) at WebSocketClient.emit (node:events:517:28) at WebSocket. (/root/Baphomate/node_modules/@whiskeysockets/baileys/lib/Socket/Client/web-socket-client.js:46:100) at WebSocket.emit (node:events:517:28) at Receiver.receiverOnMessage (/root/Baphomate/node_modules/ws/lib/websocket.js:1209:20) at Receiver.emit (node:events:517:28) { data: [Object], isBoom: true, isServer: true, output: [Object] }, date: 2024-02-28T09:11:40.690Z } }

just restart the socket


Update typora to <IP_ADDRESS>.2

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Sorry. Duplicate #30456


:-P should not trigger emoji autocompletion

When you type something like this you will get autocompletion, which I think is annoying in this case. Especially at the end of a sentence.
Well that was fun :-P
You get this:

How should this be handled? Ignore anything beginning with :- ?
I can give it a go at fixing.

Ignore anything beginning with :- ?

Can't do this, as @xPaw mentioned there is :-1: which would be broken by this.
An easy fix for this particular one is to change the emoji on that on to "non_potable_water" which would fix this, but that won't fix any future ones.
We need to discuss whether using enter to select an emoji is the right way to do things, or whether it should be tab instead. Also, whether we should change to the actual unicode emoji, or whether we should change to the textual representation, making it potentially easier to remove the characters that we don't want, and we replace it with the emoji on send.

I would argue enter is the right way to select an emoji. Here's a list of applications that uses enter to select something from an autocompletion list:

Visual Studio Code
The GitHub website
Office Teams (Skype for business)
JIRA
Telegram
Whatsapp Web
Twitter
Discord

Which made me wonder. Why is this not an issue in those apps? Discord changed to "non_potable_water"
So here are some thoughts. Maybe we should add an autocompletion blacklist? It looks like that is how GitHub works. And I don't think :-P should ever be replaced by a unicode emoji. You could make it an option though.

#1651 changes shorthands to not include dashes.


New version: SageMath.SageMath version 9.3

- [X] Have you signed the Contributor License Agreement?

[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run

@OfficialEsco I was able to install, kicking off another run. I agree it did take a while though.


Add ContextNet Model

🚀 Feature request
Motivation
ContextNet: Improving Convolutional Neural Networks for Automatic Speech Recognition with Global Context
Your contribution

implementation

validation

Record the branch you work on.

https://github.com/sooftware/OpenSpeech/tree/0.2.1_ha


feat: use tiny image and avoid context sending

A few additional changes:

alpine is fairly large if we just want to  copy, busybox is good enough.
the working directory might be large and is always transferred as context, so specific only the cache source as context to avoid this
cleanup the cache-source by default to avoid impacting all docker build steps below as those would also need to transfer the context

This fails during inject wit

I though I tested it properly, but it seems not 🙄
Should be fixed now.

This fails during inject wit

I though I tested it properly, but it seems not :roll_eyes:

he who is without bug throweth the first stone

:joy:

so it turns out that --no-cache does also affect RUN caches, so I put the buildstamp back in and after a few struggles it is working now as expected:

Thanks a lot and sorry for dropping this piece of unplanned work on your desk.
Great github action 🤩

Thanks a lot and sorry for dropping this piece of unplanned work on your desk.

My rule of thumb is to work on CI improvements while waiting on CI. You got lucky today :P

Great github action star_struck

Thank you :blush:


Give pagination details for the api

The current api is performing pagination, but the response doesn't show anything about the pagination so unless you remember it you're left scratching your head about why you only have 50 responses.
ex:

/api/v1/resources
{
  "apiVersion": "1.0",
  "data": [
    {
      "category": "Books",
      "downvotes": 0,
      "id": 1,
      "languages": [
        "multiple"
      ],
      "name": "Free Programming Books",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://github.com/vhf/free-programming-books"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 2,
      "languages": [
        "multiple"
      ],
      "name": "Packtpub free programming books",
      "notes": "Different free book daily",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://www.packtpub.com/packt/offers/free-learning"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 3,
      "languages": [],
      "name": "Free Tech Books",
      "notes": "Focuses on general computer science concepts rather than a specific language",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://www.freetechbooks.com/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 4,
      "languages": [
        "multiple"
      ],
      "name": "Programming from the Ground Up",
      "notes": "Focuses on general computer science concepts rather than a specific language",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://mirror.cedia.org.ec/nongnu//pgubook/ProgrammingGroundUp-1-0-booksize.pdf"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 5,
      "languages": [
        "Python"
      ],
      "name": "Teach Your Kids to Code",
      "notes": null,
      "paid": true,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://teachyourkidstocode.com/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 6,
      "languages": [],
      "name": "Ed Yourdan Books",
      "notes": "You'll have to find these books yourself to read, but they are classic CS books",
      "paid": true,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://en.wikipedia.org/wiki/Edward_Yourdon#Publications"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 7,
      "languages": [
        "multiple"
      ],
      "name": "Safari Books Online",
      "notes": "Free trial available",
      "paid": true,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://www.safaribooksonline.com/our-library/#books"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 8,
      "languages": [],
      "name": "The Art of Computer Programming",
      "notes": "General Computer Science concepts",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://broiler.astrometry.net/~kilian/The_Art_of_Computer_Programming%20-%20Vol%201.pdf"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 9,
      "languages": [],
      "name": "The Mythical Man Month",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://archive.org/details/mythicalmanmonth00fred"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 10,
      "languages": [],
      "name": "Thinking Forth",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://thinking-forth.sourceforge.net/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 11,
      "languages": [
        "Unix/Linux/*nix"
      ],
      "name": "The Art of Unix Programming",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://www.faqs.org/docs/artu/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 12,
      "languages": [],
      "name": "The Cathedral and the Bazaar",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://www.catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 13,
      "languages": [
        "Bash"
      ],
      "name": "Bash Beginner's Guide",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://www.tldp.org/LDP/Bash-Beginners-Guide/html/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 14,
      "languages": [
        "C"
      ],
      "name": "The C Programming Language",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://hassanolity.files.wordpress.com/2013/11/the_c_programming_language_2.pdf"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 15,
      "languages": [
        "multiple"
      ],
      "name": "The Computer Revolution",
      "notes": "Wiki book on everything computers",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://en.wikibooks.org/wiki/The_Computer_Revolution"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 16,
      "languages": [
        "multiple"
      ],
      "name": "Computer Science from the Bottom Up",
      "notes": "This book goes from operating systems fundamentals through to how applications are complied and executed",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://feederio.com/book/33/computer-science-from-the-bottom-up"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 17,
      "languages": [],
      "name": "Zero to One",
      "notes": "Good info for start ups",
      "paid": true,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://buff.ly/2b7sg2E"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 18,
      "languages": [
        "C"
      ],
      "name": "Hacking The Art of Exploitation",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://leaksource.files.wordpress.com/2014/08/hacking-the-art-of-exploitation.pdf"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 19,
      "languages": [
        "Sysadmin"
      ],
      "name": "Debian System Administration",
      "notes": null,
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "https://debian-handbook.info/browse/stable/"
    },
    {
      "category": "Books",
      "downvotes": 0,
      "id": 20,
      "languages": [],
      "name": "Project Gutenberg",
      "notes": "Thousands of free e-books, some computer related, some not.",
      "paid": false,
      "times_clicked": 0,
      "upvotes": 0,
      "url": "http://www.gutenberg.org/"
    }
  ],
  "status": "ok"
}

What should the details show? Should the json include something like
"page": 1,
"number_of_pages": 10

?

Yeah, maybe even the number of returned items.

so then
"page": 1,
"number_of_pages": 10,
"records_per_page": 20

I'd like to take this as my first issue. I just joined operation code. I can work on this and probably a few other tickets this weekend.

Ok sounds good! I'll assign it to myself so no one takes it. Hit me up on slack if you have any problems!

Fixed in #124


Installing "ruby" does not provide "bundler", but the helptext says so.

$ bundler help
The program ‘bundler’ is currently not installed. You can install it by typing:
  nix-env -i ruby

This is wrong. When installing "ruby" (I actually have ruby installed) bundler is not available. When installing "bundler", it is:
nix-env -iA pkgs.bundler
bundler help # brings up manpage

I'm not sure whether this should be reported here or elsewhere, though.

This seems to be fixed for me, because the helptext refers to attribute path, not package name:
$ bundler
The program ‘bundler’ is currently not installed. You can install it by typing:
  nix-env -iA nixos.bundler_HEAD


real-time changes

How much zoomed, how much rotated, center point moved

You can check the examples app using controllers.

@renancaraujo tks,good


bifront, gamekeeping (logical-conflict)

This pull request was generated by the 'mq' tool

/trunk merge


Versions are null in yarn workspaces

When using yarn workspaces, where dependencies are not hoisted, and building via webpack in a workspace, the version is attempted to be grabbed from ${process.cwd()}/node_modules/react/package.json (as an example), even though the real location is actually in a parent directory. This leads to the version ending up being null.
I've found that by changing the getVersion static method to not use WebpackCdnPlugin.node_modules at all, the correct version is grabbed (at least for my use case).
An alternative fix would be to allow manually specifying the version to request as part of the constructor's config.

diff --git a/node_modules/webpack-cdn-plugin/module.js b/node_modules/webpack-cdn-plugin/module.js
index 7cb4a91..3ff9576 100644
--- a/node_modules/webpack-cdn-plugin/module.js
+++ b/node_modules/webpack-cdn-plugin/module.js
@@ -114,7 +114,11 @@ class WebpackCdnPlugin {
       return require(path.join(WebpackCdnPlugin.node_modules, name, packageJson)).version;
     } catch (e) {
       /* istanbul ignore next */
-      return null;
+      try {
+        return require(path.join(name, packageJson)).version;
+      } catch (e) {
+        return null;
+      }
     }
   }


Automated cherry pick of #6386: vpcagent: ovn: cmp: generate clean args in a single batch

Cherry pick of #6386 on release/3.2.
#6386: vpcagent: ovn: cmp: generate clean args in a single batch

Codecov Report

Merging #6387 into release/3.2 will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@               Coverage Diff               @@
##           release/3.2    #6387      +/-   ##
===============================================
- Coverage         7.05%    7.05%   -0.01%
===============================================
  Files              649      649
  Lines           111327   111333       +6
===============================================
  Hits              7856     7856
- Misses          102862   102868       +6
  Partials           609      609

Flag
Coverage Δ

#aFlag
7.05% <0.00%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/compute/models/dbinstanceresource.go
0.00% <0.00%> (ø)

pkg/vpcagent/ovnutil/ovn_nbctl.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Add support for build, package & deploy of Golang + arm64 + provided.al2

Is your request related to a new offering from AWS?
No
Is your request related to a problem? Please describe.
It doesn't look possible to use the current implementation of the module & package.py to build, package & deploy a Golang lambda for arm64 for provided.al2 runtime (which is the only run time at the moment working with arm64 Golang)
Describe the solution you'd like.
To be able to configure build, package & deploy for Golang + arm64 + provided.al2 runtime out of the box.
It is probably a good idea to make it possible to fully redefine the commands used for the build inline + be able to use external Makefile regardless of the runtime & architecture.
A simple example of a Golang + arm64 build + package:
env GOOS=linux GOARCH=arm64 go build -o bootstrap src/main.go
zip -j deploy.zip bootstrap

https://docs.aws.amazon.com/lambda/latest/dg/golang-package.html
https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-to-arm-based-aws-graviton2-processors/
https://github.com/mthenw/serverless-go-plugin/blob/master/README.md#how-to-run-golang-lambda-on-arm

+1 to keep this issue open

ARM64 AL2 would be also interesting. How would one use this module for deploying Go Lambda for X86_64 architecture? Simple example would be nice. I've used this module so far with Python and Node.js with layers so will start to look also using this with Go.

@villekr
I would like to use it for Loki Promtail Lambda (X86_64 or ARM64).
So far I just put compiled Lambda archive into my Terraform repo. But I would like to automate this process with Terraform e.g. download the source code from Github, build it and deploy Lambda.

It looks pretty clear that to add Golang builds support one needs to either work on package.py or add a condition into package.tf which will trigger a different script for Golang + provided.al2 runtime.
Too bad I don't have time to implement it at the moment, hopefully I will find it soon.


Is it possible to show Apple's keyboard suggestions on top of Keyboard kit suggestions?

Is it possible to enable Apple's keyboard suggestions on top of Keyboard kit suggestions like in this order
{Apple's suggestion component}
{Keyboardkit's suggestion component}
{Keyboard}

Hi @pradeepb28
This is very much possible, since you can use any views you like. So you can just tell SystemKeyboard to not add an autocomplete toolbar and create that view hierarchy yourself.
I suggest looking at the demo apps and source code and reading the docs.

Wait hold on, you can have Apple's built-in autocomplete suggestions appear above your KeyboardKit keyboard? I thought that was walled off and only available to the built-in keyboard. Could you show how one would do this? I've been going through the docs butI'm not sure how to call the built-in one in place of a KeyboardKit one.

@dschil138 Oh, I misread! 🫢
@pradeepb28 No, that is not possible, at least not to my knowledge.


nectarjs.com is down again

nectarjs.com linked in GitHub is down again. https://nectar.js.org/ is up though, but that doesn't have much information; especially missing the pages linked in GitHub

Hi @rrjanbiah , same as #140 , OVH has a some problem, it's the https redirection that does not work, i'll find a solution

Sure, if you own https://nectar.js.org/, please adjust the contents there too

The content of this site is open source, you can find it here: https://github.com/NectarJS/nectar.js.org


AUT-3538/update redis

BREAKING CHANGE. Redis was replaced by redis-cluster

general:

updated README

kube-acp-stack:

Dependencies:

Update cockroachdb helm chart from 5.0.7 to 6.2.8
Removed redis helm chart
Added redis-cluster helm chart version 7.0.9
Add redisearch module 2.2.0
Enable redis password authentication

Added redis password authentication
Enable redis_search

ACP:

Update default values for redis connection uri
Update default values for cockroachdb connection uri

Please update Operations docs.

Created PR in operation-docs

Let's add
redis:
    redis_search: true

to config.yaml to turn off the use of redisearch in acp by default.
I suppose we should make it possible to disable it easily if someone is using external redis without redisearch enabled.

Added


Bounding Box for panel

Hi,
I try to use BoundingBoxTarget with panel (rigibody and 2d box collider) but all the time, i have this execution error :
RenderTexture.GenerateMips failed: render texture does not have mip maps (set useMipMap to true).
(Filename: C:\buildslave\unity\build\Runtime/Graphics/RenderTexture.cpp Line: 847)

This is normal ? Can i use this script with panel ?
Thx ;)

Hi, We've had several issues with the bounding box come up. We have been in the process of pulling the MRDL codebase into Holotoolkit and updatingit so it can be used for VR+AR development.
In the course of this transition, we are going back through our sample scenes to clean up several of these features. The bounding box in particular is going to get a fixed up. In the meantime, @railboy may have some insights for fixing this version.

The BoundingBox can be used with panels. Since BoundingBox and BoundingBoxTarget don't make use of RenderTextures, I'm going to guess that this is an unrelated error.


When continuing a Span, Hystrix is not adding tags

From what I see in the SleuthHystrixConcurrencyStrategy we've got this code
@Override
		public S call() throws Exception {
			Span span = this.parent;
			boolean created = false;
			if (span != null) {
				span = this.tracer.continueSpan(span);
			}
			else {
				span = this.tracer.createSpan(HYSTRIX_COMPONENT);
				this.tracer.addTag(Span.SPAN_LOCAL_COMPONENT_TAG_NAME, HYSTRIX_COMPONENT);
				this.tracer.addTag(
						this.traceKeys.getAsync().getPrefix()
								+ this.traceKeys.getAsync().getThreadNameKey(),
						Thread.currentThread().getName());
				created = true;
			}
			try {
				return this.callable.call();
			}
			finally {
				if (created) {
					this.tracer.close(span);
				}
				else {
					this.tracer.detach(span);
				}
			}
		}

so if we're using for example Javanica (@HystrixCommand) and we're continuing a SPan, then we're not setting tags from Hystrix. I think that it's wrong - regardless of the fact whether we're starting or continuing a Span we could add the tags - they can be helpful in debugging.
cc @adriancole

is it possible for hystrix to re-enter a span it created? in that case, it might overwrite the thread name (which might be ok). Also, is it possible another thread added local component?
not saying I feel strongly about this, but this might be a place where we either say "last wins" or "set if unset"

I'd be consistent with the approach that if sth has been set then let's not override it.


autoloading Providers in laravel11x issue on github action composer install

After upgrading to laravel 11.x I adjusted the composer.json according to the upgrading docs.
When building locally (using sail) everything works fine.
However when pushing to my server through github actions the following fails:
RUN composer install --no-dev --ignore-platform-reqs --no-interaction --prefer-dist --no-plugins --optimize-autoloader

It returns the following error:
In ProviderRepository.php line 206:
Class "Modules\Admin\Providers\AdminServiceProvider" not found
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Reverting the following change back fixes this issue:
     "autoload": {
         "psr-4": {
             "App\\": "app/",
-            "Modules\\": "modules/", <-- delete this
             "Database\\Factories\\": "database/factories/",
             "Database\\Seeders\\": "database/seeders/"
         }

I have tried a different approach on the composer install, but no success so far. Any other suggestions?

Hi,
@mauritskorse
To load the module with the package wikimedia/composer-merge-plugin, don't use the --no-plugins option in your install command. Remove that option and try running the command again.

Sadly I have exactly same issue

Create new Laravel 11
Install Modules
Publish provider . No config changing
Create Module : Core
Create second module : Client

Class "Modules\Core\Providers\CoreServiceProvider" not found
at vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:206

After upgrading to laravel 11.x I adjusted the composer.json according to the upgrading docs. When building locally (using sail) everything works fine. However when pushing to my server through github actions the following fails:
RUN composer install --no-dev --ignore-platform-reqs --no-interaction --prefer-dist --no-plugins --optimize-autoloader

It returns the following error:
In ProviderRepository.php line 206:
Class "Modules\Admin\Providers\AdminServiceProvider" not found
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Reverting the following change back fixes this issue:
     "autoload": {
         "psr-4": {
             "App\\": "app/",
-            "Modules\\": "modules/", <-- delete this
             "Database\\Factories\\": "database/factories/",
             "Database\\Seeders\\": "database/seeders/"
         }

I have tried a different approach on the composer install, but no success so far. Any other suggestions?

I have fixed w/ below extra
    "extra": {         "laravel": {             "dont-discover": []         },         "merge-plugin": {             "include": [                 "composer.local.json",                 "Modules/*/composer.json"             ],             "recurse": true,             "replace": false,             "ignore-duplicates": false,             "merge-dev": true,             "merge-extra": false,             "merge-extra-deep": false,             "merge-replace": true,             "merge-scripts": false         }     },

Hi @soulevilx,
Based on the source code, after creating a new module, the command composer dump-autoload is automatically run. However, if you still encounter issues, please try running composer dump-autoload manually to ensure everything is loaded correctly.
If you continue to experience problems, please let me know.
Reference: https://github.com/nWidart/laravel-modules/blob/b51e39ce8283b118349bcc8510205020a8539080/src/Commands/Make/ModuleMakeCommand.php#L56-L61

I don't have  "Modules\\": "modules/" in my composer.json but still having the same issue.

The issue occurs after creating a module in Laravel 11, where we encounter the following error:
Class "Modules\Blog\Providers\BlogServiceProvider" not found.
This error is accurate because we don't have BlogServiceProvider in the Blog/Providers directory; instead, it's located in Blog/App/Provider. However, the system is trying to access it from the wrong location. How can we resolve this?
@alissn

it's bugs, I can't work with modules (

The solution for me, I don't know if it's right.
But you need to remove the provider registry in modules.json
And move provider it to bootstrap/providers.php
You need to explicitly specify the provider and correct the namespace

Hi @ProsspaTUN,
Could you create a new demo project that reproduces this issue and push it to GitHub? This will help me better understand and diagnose the problem.
Thanks!

The same issue for me. Any solutions here doesn't help me (

alissn

The modules must contain this file, that solution for me

compose.json must contain for next code
Example:
{
"name": "nwidart/profile",
"description": "",
"authors": [
{
"name": "Nicolas Widart",
"email"<EMAIL_ADDRESS>}
],
"extra": {
"laravel": {
"providers": [],
"aliases": {
        }
    }
},
"autoload": {
    "psr-4": {
        "Modules\\Profile\\": "app/",
        "Modules\\Profile\\Database\\Factories\\": "database/factories/",
        "Modules\\Profile\\Database\\Seeders\\": "database/seeders/"
    }
},
"autoload-dev": {
    "psr-4": {
        "Modules\\Profile\\Tests\\": "tests/"
    }
}

}

After upgrading to laravel 11.x I adjusted the composer.json according to the upgrading docs. When building locally (using sail) everything works fine. However when pushing to my server through github actions the following fails:
RUN composer install --no-dev --ignore-platform-reqs --no-interaction --prefer-dist --no-plugins --optimize-autoloader

It returns the following error:
In ProviderRepository.php line 206:
Class "Modules\Admin\Providers\AdminServiceProvider" not found
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Reverting the following change back fixes this issue:
     "autoload": {
         "psr-4": {
             "App\\": "app/",
-            "Modules\\": "modules/", <-- delete this
             "Database\\Factories\\": "database/factories/",
             "Database\\Seeders\\": "database/seeders/"
         }

I have tried a different approach on the composer install, but no success so far. Any other suggestions?

I have fixed w/ below extra  "extra": { "laravel": { "dont-discover": [] }, "merge-plugin": { "include": [ "composer.local.json", "Modules/*/composer.json" ], "recurse": true, "replace": false, "ignore-duplicates": false, "merge-dev": true, "merge-extra": false, "merge-extra-deep": false, "merge-replace": true, "merge-scripts": false } },

I corrected the error using this extra as well, thanks

This issue is marked as closed but I encountered this issue today (v11.1.7).
Seems to be an issue with PSR auto-loading. Resolved it by moving the folders in {module}/app (Http and Providers) into the modules root directory and changing the psr4 autoload to the root directory in the module's composer.json.
Modules/{module}/composer.json:
    "autoload": {
        "psr-4": {
            "Modules\\Module\\": "",
            "Modules\\Module\\Database\\Factories\\": "database/factories/",
            "Modules\\Module\\Database\\Seeders\\": "database/seeders/"
        }
    },

The following warning will still be encountered on composer dump-autoload though:
Class Modules\Module\Database\Seeders\ModuleDatabaseSeeder located in [...]/Modules\Module\database\seeders\ModuleDatabaseSeeder.php does not comply with psr-4 autoloading standard. Skipping.


increase power off timeout to 2minutes

current power off timeout is 30sec, increase to 2 minutes to make clear system powered off has been issued

changed timeouts
fmadio/fmadio20@91ff48d


Minor Graphical Issue

Hi I found some stranges in my page.
See below image

When I choose the menu "security" which under the "Container" menu.
Another menu entry "Securiy" also be highlighted and opened, if I checked before.
Any idea why it works like that ?

Haha, it's a funny bug ! 😄
It's surely because of the path names container/securityand security are similar. But I don't know why this behaviour happens yet. I will look into that, but you can avoid that by setting different folder names for the moment.

It's because of this line : https://github.com/matcornic/hugo-theme-learn/blob/master/layouts/partials/menu.html#L41 and especially {{if in $page.RelPermalink $first.RelPermalink }}parent{{ end }}
security is "in" container/security so the parent class is set to the menu and you get this weird result.

Yeah~ That was the reason : )

Fixed with #36


Please subscribe the Apache incubator mailing list

Dear Dubbo community,
I am pleased to announce that the Dubbo developer mailing list<EMAIL_ADDRESS>for Apache Incubator has been established, please feel free to subscribe and refer to [1] for more details.
Here is a brief guide specific to Dubbo:

Send an email to<EMAIL_ADDRESS>you can have empty subject and empty content. You will receive an email with the following content:

from<EMAIL_ADDRESS>reply-to<EMAIL_ADDRESS>to<EMAIL_ADDRESS>date: Sat, Feb 24, 2018 at 3:12 PM
subject: confirm subscribe to<EMAIL_ADDRESS>mailed-by: apache.org

Hi! This is the ezmlm program. I'm managing the
<EMAIL_ADDRESS>mailing list.

I'm working for my owner, who can be reached
at<EMAIL_ADDRESS>
To confirm that you would like

<EMAIL_ADDRESS>
added to the dev mailing list, please send
a short reply to this address:

<EMAIL_ADDRESS>
Usually, this happens when you just hit the "reply" button.
If this does not work, simply copy the address and paste it into
the "To:" field of a new message.

or click here:
<EMAIL_ADDRESS>
...

Reply the email directly, you can have empty subject and empty content. You will receive an email with the following content:

from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>date: Sat, Feb 24, 2018 at 3:14 PM
subject: WELCOME to<EMAIL_ADDRESS>mailed-by: apache.org

Hi! This is the ezmlm program. I'm managing the
<EMAIL_ADDRESS>mailing list.

I'm working for my owner, who can be reached
at<EMAIL_ADDRESS>
Acknowledgment: I have added the address

<EMAIL_ADDRESS>
to the dev mailing list.

Welcome to<EMAIL_ADDRESS>
Please save this message so that you know the address you are
subscribed under, in case you later want to unsubscribe or change your
subscription address.

...

After that, you will receive any email that is posted to this mailing list. If you have any further questions, just send email to<EMAIL_ADDRESS>and hopefully someone will answer your questions.

If you want to unsubscribe, just send an email to<EMAIL_ADDRESS>and follow the steps once you get an reply.

Note that both<EMAIL_ADDRESS>and<EMAIL_ADDRESS>should work, you can pick any of it.

[1] http://apache.org/foundation/mailinglists.html#subscribing

gei it

Subscribed

Subscribed

If you would like to receive email from JIRA issues  [1], please subscribe to<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[1] https://issues.apache.org/jira/projects/DUBBO/issues

666

Subscribed

在 2018年2月24日，下午7:32，Huxing Zhang<EMAIL_ADDRESS>写道：
Dear Dubbo community,
I am pleased to announce that the Dubbo developer mailing list<EMAIL_ADDRESS><EMAIL_ADDRESS>for Apache Incubator has been established, please feel free to subscribe and refer to [1] for more details.
Here is a brief guide specific to Dubbo:
Send an email to<EMAIL_ADDRESS><EMAIL_ADDRESS>you can have empty subject and empty content. You will receive an email with the following content:
from<EMAIL_ADDRESS>reply-to<EMAIL_ADDRESS>to<EMAIL_ADDRESS>date: Sat, Feb 24, 2018 at 3:12 PM
subject: confirm subscribe to<EMAIL_ADDRESS>mailed-by: apache.org
Hi! This is the ezmlm program. I'm managing the
<EMAIL_ADDRESS>mailing list.
I'm working for my owner, who can be reached
at<EMAIL_ADDRESS>To confirm that you would like
<EMAIL_ADDRESS>added to the dev mailing list, please send
a short reply to this address:
<EMAIL_ADDRESS>Usually, this happens when you just hit the "reply" button.
If this does not work, simply copy the address and paste it into
the "To:" field of a new message.
or click here:
<EMAIL_ADDRESS>...
Reply the email directly, you can have empty subject and empty content. You will receive an email with the following content:
from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>date: Sat, Feb 24, 2018 at 3:14 PM
subject: WELCOME to<EMAIL_ADDRESS>mailed-by: apache.org
Hi! This is the ezmlm program. I'm managing the
<EMAIL_ADDRESS>mailing list.
I'm working for my owner, who can be reached
at<EMAIL_ADDRESS>Acknowledgment: I have added the address
<EMAIL_ADDRESS>to the dev mailing list.
Welcome to<EMAIL_ADDRESS>Please save this message so that you know the address you are
subscribed under, in case you later want to unsubscribe or change your
subscription address.
...
After that, you will receive any email that is posted to this mailing list. If you have any further questions, just send email to<EMAIL_ADDRESS><EMAIL_ADDRESS>and hopefully someone will answer your questions.
If you want to unsubscribe, just send an email to<EMAIL_ADDRESS><EMAIL_ADDRESS>and follow the steps once you get an reply.
[1] http://apache.org/foundation/mailinglists.html#subscribing http://apache.org/foundation/mailinglists.html#subscribing
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/alibaba/dubbo/issues/1393, or mute the thread https://github.com/notifications/unsubscribe-auth/ARQliWHNRERh6Ejf2H-aL91lQLkm4m8cks5tX_NFgaJpZM4SR3Ed.

Subscribed

2018-02-24 19:31 GMT+08:00 Huxing Zhang<EMAIL_ADDRESS>
Dear Dubbo community,
I am pleased to announce that the Dubbo developer mailing list (
<EMAIL_ADDRESS>for Apache Incubator has been
established, please feel free to subscribe and refer to [1] for more
details.
Here is a brief guide specific to Dubbo:

Send an email to<EMAIL_ADDRESS>you can
have empty subject and empty content. You will receive an email with the
following content:

from<EMAIL_ADDRESS>reply-to<EMAIL_ADDRESS>to<EMAIL_ADDRESS>date: Sat, Feb 24, 2018 at 3:12 PM
subject: confirm subscribe to<EMAIL_ADDRESS>mailed-by: apache.org
Hi! This is the ezmlm program. I'm managing<EMAIL_ADDRESS>mailing list.
I'm working for my owner, who can be reached
at<EMAIL_ADDRESS>To confirm that you would like
<EMAIL_ADDRESS>added to the dev mailing list, please send
a short reply to this address:
<EMAIL_ADDRESS>Usually, this happens when you just hit the "reply" button.
If this does not work, simply copy the address and paste it into
the "To:" field of a new message.
or click here:
<EMAIL_ADDRESS>...

Reply the email directly, you can have empty subject and empty
content. You will receive an email with the following content:

from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>date: Sat, Feb 24, 2018 at 3:14 PM
subject: WELCOME to<EMAIL_ADDRESS>mailed-by: apache.org
Hi! This is the ezmlm program. I'm managing<EMAIL_ADDRESS>mailing list.
I'm working for my owner, who can be reached
at<EMAIL_ADDRESS>Acknowledgment: I have added the address
<EMAIL_ADDRESS>to the dev mailing list.
Welcome to<EMAIL_ADDRESS>Please save this message so that you know the address you are
subscribed under, in case you later want to unsubscribe or change your
subscription address.
...

After that, you will receive any email that is posted to this mailing
list. If you have any further questions, just send email to
<EMAIL_ADDRESS>and hopefully someone will answer your
questions.
2.
If you want to unsubscribe, just send an email to
<EMAIL_ADDRESS><EMAIL_ADDRESS>and follow the steps
once you get an reply.
[1] http://apache.org/foundation/mailinglists.html#subscribing
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alibaba/dubbo/issues/1393, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIM3kWoJQQ2JbNuQKNeqGOfOk5HYroVtks5tX_MqgaJpZM4SR3Ed
.

subscribed

wow

What's the relationship between 2.5.x and 2.6.x?

@leyou240 Feel free to post it to<EMAIL_ADDRESS>

Done

Subscribed

Subscribed

Subscribed

Subscribed

666

subscribed

It should be written in a wiki to make it easier for the community to find

@ningyu1 Thanks for your advice, I've added here: https://github.com/apache/incubator-dubbo/wiki/Mailing-list-subscription-guide

Subscribed

Can anyone subscribe？
When I send a email to<EMAIL_ADDRESS>,I receive an email with the following content:

Hi. This is the qmail-send program at apache.org.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.
<EMAIL_ADDRESS>Must be sent from an @apache.org address or an address in LDAP.
--- Below this line is a copy of the message.
Return-Path<EMAIL_ADDRESS>Received: (qmail 11459 invoked by uid 99); 9 Nov 2018 03:29:22 -0000
Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (<IP_ADDRESS>)
by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Nov 2018 03:29:22 +0000
Received: from localhost (localhost [<IP_ADDRESS>])
by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 48AC1190CD5
for<EMAIL_ADDRESS>Fri,  9 Nov 2018 03:29:22 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org
X-Spam-Flag: NO
X-Spam-Score: 1.776
X-Spam-Level: *
X-Spam-Status: No, score=1.776 tagged_above=-999 required=6.31
tests=[DKIMWL_WL_MED=-0.127, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_EXCESS_BASE64=0.105,
HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001,
SPF_PASS=-0.001] autolearn=disabled
Authentication-Results: spamd3-us-west.apache.org (amavisd-new);
dkim=pass (2048-bit key) header.d=gmail.com
Received: from mx1-lw-us.apache.org ([<IP_ADDRESS>])
by localhost (spamd3-us-west.apache.org [<IP_ADDRESS>]) (amavisd-new, port 10024)
with ESMTP id 3Vw-UG0twNMa for<EMAIL_ADDRESS>Fri,  9 Nov 2018 03:29:21 +0000 (UTC)
Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [<IP_ADDRESS>])
by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id E8F195F332
for<EMAIL_ADDRESS>Fri,  9 Nov 2018 03:29:20 +0000 (UTC)
Received: by mail-io1-f47.google.com with SMTP id f12-v6so355851iog.0
for<EMAIL_ADDRESS>Thu, 08 Nov 2018 19:29:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20161025;
h=mime-version:from:date:message-id:subject:to;
bh=PWGkwJOMNehUb31OgtrFt0cUVnqEFgQx3Vy/H7fQhes=;
b=REsuSXDmZtYQKB4XGq8legeM6VsBGa9V8VJG+/4+meYx7E8kjoXmYqAypotfzghMSY
aCcusYqWnigR7P5pIYGaVuiG4Iccg4CQed0POK/HJp3+NNQPTY5hUeBUrco276XH5V0M
KZH5Dwz7QbzZ3gZ3QU08aEte6YkT0dr4ZIRTUgYO7OL/xZP5q3knCzZgxzkdfIVmH7gL
KsPEDhM8c6HDHuM3qkKq8TCQvizRuKBbqg98o1rs/swYCPkFXpOtZEnDClYfROmXO03b
YCJwwz4F7Cu3xAVNMZL7X3NxV6m3Fz76RWFpknQzMCBZWnv0NGK+dEpegekwu0Zk+MYc
FPYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=PWGkwJOMNehUb31OgtrFt0cUVnqEFgQx3Vy/H7fQhes=;
b=m2ny0svBJnNxWfYmbk/L6oNz4NspaQai13E5W/CLY3yydWJoaj/NuXio+NY/zT8p7J
tpqYXJQV8QRDqEoeaX/2cATPvL3q8P/kAr3Nl0tP2WzsN0enj2zbRBOB07EkGcB3L0ES
TZzCO4tWvAzjtMUwTMk266zHiSwq8OgPuaxPIHBzDS81qMsr8JEqqUHZRMNEJbIaEdUK
APy8Ro1p4QNoz3Pjlr/tnVTZruNzY3FK78Ay8fXHIDWys0j78baFZgYSQK86YiB/yjX8
vNj/VpYmhQ5ZbMBOn9wKE0/sEzg81zZp0CFHEq3PxuCmzHc/sCcpaAICNWM/X2JTFlWk
fcmQ==
X-Gm-Message-State: AGRZ1gK2YbBO4TE4d9hX6iamvrbli2HiI3BcBvXiBfw5hF5jrts9YUdt
f/zmg222RST8dtgXwQOJPEwy3WOnEfbz1GaeelQcqg==
X-Google-Smtp-Source: AJdET5eOx4Dj+1sampa05F8zfPAJg786U8f6eRocYGn0+ulSzAjhIPdFZ5YEa89um97hm/gQZ1ciHouug1CBNekqi6Y=
X-Received: by 2002:a6b:3e87:: with SMTP id l129-v6mr5433280ioa.269.1541734160281;
Thu, 08 Nov 2018 19:29:20 -0800 (PST)
MIME-Version: 1.0
From: =?UTF-8?B?5p2O5oyv?=<EMAIL_ADDRESS>Date: Fri, 9 Nov 2018 11:29:09 +0800
Message-ID<EMAIL_ADDRESS>Subject: join
To<EMAIL_ADDRESS>Content-Type: multipart/alternative; boundary="000000000000f64a83057a32f450"
--000000000000f64a83057a32f450
Content-Type: text/plain; charset="UTF-8"
join
--000000000000f64a83057a32f450
Content-Type: text/html; charset="UTF-8"
join
--000000000000f64a83057a32f450--

I'm coming, dubbo Community.


Consensus encoding based serialization

In some protocols it is preferred to serialize consensus-encodable types
using consensus encoding. E.g. serialize Transaction as hex-encoded
string in Json in Bitcoin Core RPC protocol. This change provides
adapter to make this easier.
The adapter allows providing custom byte-to-string encoder for more
exotic cases and provides a hex implementation which should be useful in
majority of the cases.
Should help with #765
Based on #1252
Required by #1234

Woah, consensus/serde.rs is a hell of a file. I'm not sure I can add any meaningful review except to ask questions :) I did have a good play with it, perhaps we can have this unit test (I added a pub use hex::{Lower, Upper} also)

#[cfg(test)]
mod tests {
    use crate::Transaction;
    use crate::consensus::encode::deserialize;
    use crate::consensus::serde::{Hex, Upper};
    use crate::hashes::hex::FromHex;

    #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
    #[cfg_attr(feature = "serde", serde(crate = "actual_serde"))]
    pub struct MyStruct {
        #[serde(with = "consenus::serde::With::<Hex<Upper>>")]
        tx: Transaction,
    }

    #[test]
    fn serialize_my_struct_using_consensus_uppercase_hex() {
        let tx_hex = "010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff3603da1b0e00045503bd5704c7dd8a0d0ced13bb5785010800000000000a636b706f6f6c122f4e696e6a61506f6f6c2f5345475749542fffffffff02b4e5a212000000001976a914876fbb82ec05caa6af7a3b5e5a983aae6c6cc6d688ac0000000000000000266a24aa21a9edf91c46b49eb8a29089980f02ee6b57e7d63d33b18b4fddac2bcd7db2a39837040120000000000000000000000000000000000000000000000000000000000000000000000000";
        let tx_bytes = Vec::from_hex(tx_hex).unwrap();
        let tx: Transaction = deserialize(&tx_bytes).expect("failed to deserialize tx bytes");

        let orig = MyStruct { tx };

        let want = format!("{{\"tx\":\"{}\"}}", tx_hex.to_uppercase());
        let got = serde_json::to_string(&orig).expect("failed to serialize json");

        assert_eq!(got, want)
    }
}

@tcharding since we want to separate the crate I wasn't eager to add tests that depend on Transaction. I plan to add proper tests but probably not until Monday.
I don't like re-exporting Upper and Lower but maybe type LowerHex = Hex<hex::Lower>; and type UpperHex = Hex<hex::Upper>; would be good.

Rebase & doc improvements.

Blocked by #1270

I want to redo this to have push_bytes_min fn on BufEncoder but have to run now.

Needs rebase. All looks good to me but I'd be lying if I claimed to understand all of the subtleties of code added to serde.rs in this PR.

Hey @Kixunil my formatter PR might conflict with this, do you want to rebase and prioritize this over it (#1434)?

@tcharding yes, please.

Blocked on #1432

This looks great. I don't fully understand the purpose of all the traits (especially, the ones that are exported) but the hex serde wrapper seems very clear. I guess in future we ought to add a Bytes wrapper or something which is analogous but doesn't bother with the hex conversion.

I don't fully understand the purpose of all the traits

Oh, can you be more specific? I felt that the doc comments were OK but if even you don't understand it they definitely need improvement which I'll do.

we ought to add a Bytes wrapper or something which is analogous but doesn't bother with the hex conversion.

So just errors on on human-readable formats? Or lets them handle encoding?

Oh, can you be more specific? I felt that the doc comments were OK but if even you don't understand it they definitely need improvement which I'll do.

On a high level, for example, serde::EncodeBytes is described as "Transforms given bytes and writes to the writer.", which does give a literal explanation of what it does, but (a) how is this different from the Write trait itself, and (b) why is it in the consensus::serde module when it doesn't actually use serde at all?

So just errors on on human-readable formats? Or lets them handle encoding?

My thinking was that it would let them handle encoding (which will probably be something ridiculous, but that's okay). My motivation was that if I was sure I had a binary format, and I didn't want to worry about the details about is_human_readable on my particular serde encoder (which would require a check that it was set correctly, and that our code used it correctly, and deal with the nagging worry that one of us might break in a future upgrade), then I would use this.
But now I wonder if we should instead add a second parameter to Hex which woud be one of BytesOnly, HumanReadable (default), or HexOnly. Where the former always tries to encode sequences of u8s and the latter always tries to encode strings.

how is this different from the Write trait itself

Not sure which Write you mean. It's different from fmt::Write by receiving bytes not string and having flush method. It's different from io::Write because we workaround the lack of GAT. If we simply wanted the encoder to wrap fmt::Write and produce io::Write interface (which looks natural and nice BTW) we would need ByteEncoder to have this definition:
pub trait ByteEncoder {
    type Encoder<W: fmt::Write>: io::Write;

    fn encoder<W: fmt::Write>(writer: W) -> Self::Encoder<W>;
}

Which is possible on stable but not our MSRV. And no, we can't hack it via trait generic parameters because we don't have HRTB for type parameters and we want the implementor to implement the trait for all fmt::Writers to avoid confusion.

nagging worry that one of us might break in a future upgrade

Needs more tests then. :)

if we should instead add a second parameter to Hex

Maybe replace E in With instead? Something like this should work
/// Unifies byte encoders and `AlwaysBytes`
///
/// You usually don't have to worry about this trait. To implement custom encoding implement `ByteEncoder`.
pub trait SerializeProxy /* : sealed::Sealed */ {
    fn serialize<S: Serializer>(serializer: &mut S, value: impl &Encodable) -> Result<(), S::Error>;
}

impl<T: ByteEncoder> SerializeProxy for T {
     // ...
}

/// Always encodes consensus data as byte sequence - even for human-readable formats.
pub enum AlwaysBytes {}

impl SerializeProxy for AlwaysBytes {}

/// Returns error if human-readable format is encountered
pub enum ForbidHumanReadable {}

impl SerializeProxy for ForbidHumanReadable {}

// analogously for deserialization

"Randomly" remembered I didn't answer this one

why is it in the consensus::serde module when it doesn't actually use serde at all?

It doesn't use serde but consensus::serde::With uses it. :) Yes, strictly speaking it could be moved out and I did actually think about it a bit but didn't figure out a good place and wasn't sure of its usefulness outside serde module. It's quite possible I'm missing something. Kinda ironically it almost feels like it belongs into something like bitcoin-str but maybe consensus::str is better. I will need more sleep and thinking to figure out this one. :)

Not sure which Write you mean. It's different from fmt::Write by receiving bytes not string and having flush method

Ah, I see, my confusion was that this is about fmt::Write and not io::Write. This is really a rustdoc bug since it simply puts Write and you have to hover over the link to find out which trait it actually is.

Maybe replace E in With instead? Something like this should work

Yeah, I like this. It doesn't result in the confusing Hex<AlwaysBytes> situation which doesn't even do hex. We will need to add explicit examples of all combinations in the serde module docs though, I think, because none of this will be effectively discoverable.

rustdoc bug

If this can be considered bug it's bloody hard to solve without destroying UX in the common case I guess.

examples of all combinations

Maybe rather one example and a list of all available types?


Ubuntu can't recognize more than 1 core on the tegra k1

I noticed something a little weird after installing trusty, with lxde.  So I checked my cpu info and it's only recognizing and using 1 core. I'm not sure if it's a driver issue or a limitation of crouton? This goes a bit over my head.

You mean cat /proc/cpuinfo | grep 'cpu cores' | cut -d: -f2 answered "1" ?

@tista500 Well that command doesn't return anything, neither does grep 'core id', it doesn't have any information on other cores, it just has information on the first one as processor '0'.

OK. let me see the output of ls /sys/devices/system/cpu/.

@tista500 okay, that list shows cpu 0-3. So all four cores show up there.

Nice. so please give it a try: sudo sh -c "echo '1' > /sys/devices/system/cpu/cpu1/online". (this could enable the 2nd core).

@tista500 Okay, how will I know if it worked?

/proc/cpuinfo would be updated automatically. Or easily you can some tests by running apps with seeing top.

/proc/cpuinfo still only shows processor 0, What do you mean seeing top?

Okay so further confirmation. If I run the command lscpu it finds all 4 cpu cores, but it says that only cpu 0 is online and cpu 1-3 are offline.

Well, how about cat /sys/devices/system/cpu/cpu[0-3]/online? Said "0"?

1
0
0
0

This is intentional, it's called cpuquiet.
http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/08/cpuquiet.pdf

@smibarber Ah thanks! I don't know why K1 has an "online" flag on first core0 though...

@smibarber so it does this use less power and make less heat essentially? Which would mean that right now it's "LP cluster" But what if I'd rather be in G cluster? What makes the change?

OK. give it a try:
echo 0 > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable
echo 1 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Those could change all governor to "Max Performance".

Okay, in my cpuquiet folder there isn't a tegra_cpuquiet but instead available_governors, current_governor, hotplug_timeout, and runnable_threads. The available governors are userspace, and runnable. The current governor is runnable.
But the good news is that after switching the scaling_governor to performance and writing the cpu_online state for cores 1-3 to online. They are seemingly awake! I opened up three tabs of youtube and had three videos running at once without maxing the cpu.
Thanks for all the help guys.

Sounds nice, and yep the story has both bad news and good news. :-P
Then you can set them permanently by adding such echo 1 > ... into /etc/rc.local so that your chroot will applied them at startup automatically (But be careful. You should insert your custom lines above exit 0).
Regards.


How to get the result of the test set?

How to get the result of the test set?
Is it necessary to submit the test predicted result to The KITTI Vision Benchmark Suite?
Thank you in advance for your help. @sshaoshuai @jihanyang

#125

@jihanyang
Is the result of the test the saved predicted Bbox（.txt）?
Is it necessary to submit the test predicted result to The KITTI Vision Benchmark Suite?

Both yes. @suqi10

thanks for your reply@jihanyang


Runtime error with Rover Pro "errorterminate called after throwing an instance of 'int' "

Hi
I am trying to setup Rover Pro drivers in my own computer and followed the instructions as per the Computer setup guide 3.1.0(latest). I am using Ubuntu 18.04 and ROS melodic. The Build was successful and status is shown as "Active(running)", but it is throwing an error "errorterminate called after throwing an instance of 'int' " followed by "[roverrobotics_driver-2] Process has died".
Could you please help me here to figure out what is going wrong or if I am missing anything?

Apologies in the delay in response. That issue occurs due to a lack of communication between the payload computer and the Robot internals. Ensure your interface board is plugged in completely and the communication cable is plugged into the computer. It can also be the case that you are using an older Pro version with an older interface board with our new code. In that case you will need to take additional steps or replace the interface board. Please contact us here for more support if needed.


Mark Actor Reminder Rename API Deprecated in v1.8

In what area(s)?
/area runtime

/area operator

/area placement

/area docs

/area test-and-release

Describe the proposal
This feature was added in v1.6 without much oversight. Community discussion has shown that we don't feel this API is really needed so we should mark it as deprecated in v1.8.
Opening this issue to facilitate a communication channel for anyone who has opinions on this feature/API.

/assign

Hi, I would like to know what kind of Deprecated notice I need to add, is it a warning log like this or something else?
Another thing I want to confirm is that the RenameReminder api is this one?

Yes, it also needs to be marked as deprecated and added the notice to the release notes for 1.9 as per: https://docs.dapr.io/operations/support/support-release-policy/#breaking-changes-and-deprecations

@artursouza Got it, can you provide more context to explain why this function is no longer needed, so I can describe it in the release note

This implementation is not fault tolerant, as someone might end up without the reminder if it tails to save after deleting. Renaming by just deleting-then-inserting-again does not add value. This solution would need to be redesigned and also it should start as an Alpha API and not directly into stable, like it was done here.


Invalid redirect uri when developing locally

This is quite annoying when developing a Next.js app locally, I added http://localhost:3000 to the redirect URI list but any attempt to send this as the redirect URI just results in a 400 response:

POST https://www.deviantart.com/oauth2/token

{"error":"invalid_request","error_description":"redirect_uri does not match authorized redirect_uri.","status":"error"}

This is quite annoying when developing a Next.js app locally, I added http://localhost:3000 to the redirect URI list but any attempt to send this as the redirect URI just results in a 400 response:
{"error":"invalid_request","error_description":"redirect_uri does not match authorized redirect_uri.","status":"error"}

Never mind, issue was caused by not sending any redirect_uri in the request by accident. I still think it would be helpful to see the provided redirect URI in this response, but my problem was resolved.


Tutorial: Bootstrap of an Electron app

It will be pretty cool to talk about the start-up of an Electron app:

witch event is trigged at witch time (sync or async)
where to put app setups, global vars, etc. (in witch event or file in code)
etc.

Good idea!


mitt.off('*') doesn't work

The docs state that the .off method accepts a star string to remove all event handlers:
type (string | symbol) Type of event to unregister handler from, or '*'

However, in my test, this does not work, and I can't understand how it could, since the source code is very simple and Map.get('*') will not return all handlers.
Is this a never-implemented feature and the docs are wrong?

Just to be extra clear, aren't we missing something like this in the .off method?
if (!type || type === '*') all.clear(); return

The docs are unclear here:  .off('*') doesn't remove all listeners, it removes all wildcard (*) listeners:
const events = mitt();

// add two wildcard listeners:
events.on('*', (type, e) => console.log(type, e));
let count = 0;
function countEvents(type) { count++; }
events.on('*', countEvents);

// Remove a specific wildcard listener:
events.on('*', countEvents);

// remove all wildcard listeners:
events.off('*');


Prototype software suite environment setting

= Description =

Install and test the various tools available for systems biology modeling on multiple platforms.

= Context =

!BioPreDyn aims at integrating several systems biology tools in a cross-platform software suite; those tools have to be tested in as many development environments as possible.

= Success criteria =

Enough tools are successfully installed and tested on the 3 main families of platform (Unix, Windows, Mac); "enough" here means that all the steps of the systems biology model building cycle are covered by the final collection of tools.

= Expected issues =

Compatibility / portability issues.

Imported from trac issue 6.  Created by bmoreau on 2013-08-28T16:36:33, last modified: 2014-06-17T15:33:56

Trac comment by bmoreau on 2013-08-28 16:58:40:
Add a subticket #8.

Trac comment by bmoreau on 2013-10-15 14:49:18:
Add a subticket #13.

Trac comment by bmoreau on 2014-01-23 09:53:22:
Add a subticket #17.

Trac comment by bmoreau on 2014-01-23 10:04:16:
Add a subticket #18.

Trac comment by bmoreau on 2014-02-20 17:21:23:
Add a subticket #26.

Trac comment by bmoreau on 2014-02-20 17:32:16:
Add a subticket #27.

Trac comment by bmoreau on 2014-06-17 15:33:42:
Add a subticket #20.


How to extract sig and get final URL from googlevideo.com URL?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Say you've curled the webpage of a youtube video to file.txt
You find the googlevideo.com URL, find the itag, and substitute \u0026 with & ,
Merely doing this used to be enough to get youtube to let you curl that googlevideo.com URL (albeit at a throttled speed).
But now youtube requires you to solve the sig or you get a 403.
I don't know how yt-dlp sig solving works but is there a way to make yt-dlp just solve the sig of a googlevideo URL and give me the final non-403 erroring URL? Ideally offline, without connecting to youtube?
Thanks.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['--no-config', '-v', '-g', 'https://rr2---sn-o097znss.googlevideo.com/videoplayback?expire=1720998193&ei=0QSUZom2IvLAsfIPkpSD2Aw&ip=IPADDRESS&id=o-AFdt598m5GnVUm-wazprY5yJ12PqJolKRekiYB8hCZGC&itag=137&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=CV&mm=31%2C26&mn=sn-o097znss%2Csn-a5msen76&ms=au%2Conr&mv=m&mvi=2&pl=20&initcwndbps=6988750&bui=AXc671KTlhsbxeao8mqCyNNKO6lxLqleCsC5W2Yko8tbwvgfzIQYUC_EyVZs3sCRaLR5GTNHhcfEpVe8&spc=NO7bAdkqxP-3-193Cfg_eE64e8ibHFnVQFZqayQPZdvYjrP2VWn5g5LKDekO&vprv=1&svpuc=1&mime=video%2Fmp4&ns=BeycHqQePLeO-UE0UgRKgk0Q&rqh=1&gir=yes&clen=386236026&dur=2370.617&lmt=1720967673937005&mt=1720976236&fvip=1&keepalive=yes&c=WEB&sefc=1&txp=6319224&n=Cq_EfvS_0oVAsbRDEeH&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgcX_-hLVnicPU3-Op-zX3tHqcJJVsdRb4tIvNoAKZiO8CIQDlE3aPhDTcqkPIkenDcTFxu-azdzv6bP8ClddEs3P27A%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AHlkHjAwRAIgKXjnkvnOlSN_dBwPqVnB8oKNgLUn7kdXIQ1-xuEzyVACIF9eOT8nQ4IL6zdWpnPAp2nWMCzQA7iZze0r2hMPmbXs']
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds [705f5b84d] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-7-6.1.7601-SP1 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2024.07.04, curl_cffi-0.7.0, mutagen-1.47.0, requests-2.32.3, sqlite3-3.35.5, urllib3-2.2.2, websockets-12.0
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Extractor Plugins: AGB (YoutubeIE), Youtube_AgeGateBypassIE
[debug] Loaded 1835 extractors
[generic] Extracting URL: https://rr2---sn-o097znss.googlevideo.com/videoplayback?expire=1720998193&ei=0QSUZom2IvLAsfIPkpSD2Aw&ip=IPADDRESS&id=o-AFdt598m5GnVUm-wazprY5yJ12PqJolKRekiYB8hCZGC&itag=137&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=CV&mm=31%2C26&mn=sn-o097znss%2Csn-a5msen76&ms=au%2Conr&mv=m&mvi=2&pl=20&initcwndbps=6988750&bui=AXc671KTlhsbxeao8mqCyNNKO6lxLqleCsC5W2Yko8tbwvgfzIQYUC_EyVZs3sCRaLR5GTNHhcfEpVe8&spc=NO7bAdkqxP-3-193Cfg_eE64e8ibHFnVQFZqayQPZdvYjrP2VWn5g5LKDekO&vprv=1&svpuc=1&mime=video%2Fmp4&ns=BeycHqQePLeO-UE0UgRKgk0Q&rqh=1&gir=yes&clen=386236026&dur=2370.617&lmt=1720967673937005&mt=1720976236&fvip=1&keepalive=yes&c=WEB&sefc=1&txp=6319224&n=Cq_EfvS_0oVAsbRDEeH&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgcX_-hLVnicPU3-Op-zX3tHqcJJVsdRb4tIvNoAKZiO8CIQDlE3aPhDTcqkPIkenDcTFxu-azdzv6bP8ClddEs3P27A%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AHlkHjAwRAIgKXjnkvnOlSN_dBwPqVnB8oKNgLUn7kdXIQ1-xuEzyVACIF9eOT8nQ4IL6zdWpnPAp2nWMCzQA7iZze0r2hMPmbXs
[generic] videoplayback?expire=1720998193&ei=0QSUZom2IvLAsfIPkpSD2Aw&ip=IPADDRESS&id=o-AFdt598m5GnVUm-wazprY5yJ12PqJolKRekiYB8hCZGC&itag=137&aitags=133,134,135,136,137,160,242,243,244,247,248,278&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ==&mh=CV&mm=31,26&mn=sn-o097znss,sn-a5msen76&ms=au,onr&mv=m&mvi=2&pl=20&initcwndbps=6988750&bui=AXc671KTlhsbxeao8mqCyNNKO6lxLqleCsC5W2Yko8tbwvgfzIQYUC_EyVZs3sCRaLR5GTNHhcfEpVe8&spc=NO7bAdkqxP-3-193Cfg_eE64e8ibHFnVQFZqayQPZdvYjrP2VWn5g5LKDekO&vprv=1&svpuc=1&mime=video/mp4&ns=BeycHqQePLeO-UE0UgRKgk0Q&rqh=1&gir=yes&clen=386236026&dur=2370: Downloading webpage

The JavaScript inside the player JS needs to be executed. You can find the relevant code here: https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/extractor/youtube.py#L3098
As the player needs to be downloaded, this cannot be done offline. yt-dlp caches the player, but YouTube regularly releases new players.
There is no build in functionality in yt-dlp to just solve the nsig. But knowing the functions, you could probably use the extractor internals. Keep in mind that we do not guarantee API compatibility for extractor code.

If you download the player JS (e.g. grep the webpage for /s/player/[0-9a-f]+/ and download the URL you find with curl), you can use the yt_dlp python library to decode the n parameter.
A python script like this should work:
import sys

from yt_dlp import YoutubeDL
from yt_dlp.jsinterp import JSInterpreter
from yt_dlp.extractor.youtube import YoutubeIE
from yt_dlp.utils import parse_qs, update_url_query

url = sys.argv[1]
js_filepath = sys.argv[2]

with open(js_filepath, encoding='utf-8') as js_file:
    jscode = js_file.read()

funcname = YoutubeIE(YoutubeDL())._extract_n_function_name(jscode)
decoded_nsig = JSInterpreter(jscode).call_function(funcname, parse_qs(url)['n'][0])

print(update_url_query(url, {'n': decoded_nsig}))

You would pass the stream URL to it as the first argument and the path of the downloaded player JS file as the second argument, e.g.:
python nsig_decoder.py "STREAM_URL" "base.js"

@bashonly
$ python nsig_decoder.py 'https://rr2---sn-o097znss.googlevideo.com/videoplayback?expire=1720998193\\u0026<LONG_URL>' base.js

Traceback (most recent call last):
  File "nsig_decoder.py", line 14, in <module>
    funcname = YoutubeIE(YoutubeDL())._extract_n_function_name(jscode)
  File "C:\Users\USERNAME\AppData\Local\Programs\Python\Python38\lib\site-packages\yt_dlp\extractor\youtube.py",
 line 3132, in _extract_n_function_name
    funcname, idx = self._search_regex(
  File "C:\Users\USERNAME\AppData\Local\Programs\Python\Python38\lib\site-packages\yt_dlp\extractor\common.py",
line 1333, in _search_regex
    raise RegexNotFoundError(f'Unable to extract {_name}')
yt_dlp.utils.RegexNotFoundError: Unable to extract Initial JS player n function name; please report this issue
on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on
 the latest version using  yt-dlp -U

Also, do I pass the \u0026 as is(with an additional \ prefix  of course) or do I substitute  \u0026 with & ?

is your yt_dlp up to date?
you'll have to handle the unicode escape decoding in your script

Yep that was the issue. Should've updated yt-dlp
@bashonly Seriously, Thank You so...so VERY Much!


fix trailing comma in case of tombstone

If you do a latest 2 ~> value, but one of the last 2 values is a tombstone, PSV output will not print it, but will print a comma. e.g. "ID00000002|expression_latest_two|[c,]"
this fixes the PSV output code so that the comma-outputting code is included inside the conditional.

also de-savage-ify the quote-strings flag

now looks like this ID00000002|expression_latest_two|["c"]

looks legit :dragon_face:

also did the conversion for A-normalisation that we did for Bufs, but this time for Arrays. Hope this is right...
/cc @amosr

yup, this is good. less necessary than for bufs, but still a good idea.
you could simplify seaOfXValue now, as it doesn't have to deal with arrays or bufs.
:+1:

@amosr we were getting some C that wasn't valid without this I think (for the same reason as with bufs)

hmm ok.. my understanding is:
I thought the problem with bufs was that BUF(t) is a struct and the primitive functions require a pointer.
but ARRAY(t) is a pointer, and I believe all the primitives require a pointer too.
I'm not 100% convinced it will fix any C errors but I think it's a good thing regardless.

@amosr this is the kind of invalid C we may get sometimes in quickcheck tests:
compute function #0 - windy:15:113: error: cannot take the address of an rvalue of type 'ibuf_1_ibool_t'
        iarray_ibuf_1_ibool_t simp43          = iarray_ibuf_1_ibool_put (mempool, simp42, 1, ibuf_1_ibool_push (&ibuf_1_ibool_make (), itrue)); /* let */
                                                                                ^~~~~~~~~~~~~~~~~~~~~

here ideally A-normalisation should have pulled out the applications into lets. I'm not exactly sure why that is happening, will investigate.

hmm okay - this doesn't look like an array value though

@amosr true, it's the buf value ibuf_1_ibool_push (&ibuf_1_ibool_make (), itrue) that wasn't being pulled out


Wine Industry Organizations

Wine industry organizations to define and model concepts such as Winery Companies, Bottlers, Distribution, Yineyard Farms, etc.  To include appellation related organizations to include country regulatory agencies, trade associations, other appellation rules making organizations.   Commerce regulating governmental regulatory agencies.   To include company's divestiture and acquisition  of companies, with date parameters in order to trace any food safety issues done by a parent or child company under common management at a given point in time.

To work up a definition for Winery Company, looking at a number of facts about -- E. & J. Gallo Winery and companies that it has various relationships;  short name "Gallo" Founded by brothers Ernest and Julio Gallo in 1933 in Modesto, California; 7,000 global employees and is the producer of wines and spirits featured in more than 110 countries around the globe.  The Gallo portfolio is comprised of more than 100 unique brands.
E. & J. Gallo Winery (Gallo) announced Jan. 5, 2021 that it has completed the acquisition of more than 30 wine brands from Constellation Brands, Inc.  The closing of the agreement between Gallo and Constellation was approved by the Federal Trade Commission on December 23, 2020.  Gallo will expand its operational footprint with the addition of five wineries located in California, Washington, and New York, along with Constellation's Polyphenolics business. Gallo will also acquire the Nobilo New Zealand Sauvignon Blanc brand in a separate transaction with Constellation.  The acquisition was first announced by Gallo and Constellation on April 3, 2019. Pursuant to the FTC consent order, Gallo will also divest two of its legacy dessert brands, Fairbanks and Sheffield, to Precept Brands LLC. Terms of the transaction between Gallo and Precept were not disclosed.
Owns LUX Wines; Gallo Spirits
Constellation Brands, Inc., is an American producer and marketer of [beer], [wine], and spirits. Constellation is the largest beer import company in the US, measured by sales,(https://en.wikipedia.org/wiki/Constellation_Brands#cite_note-4) and has the third-largest market share (7.4 percent) of all major beer suppliers. It also has investments in medical and recreational cannabis.[6] Based in Victor, New York, Constellation has about 40 facilities and approximately 9,000 employees.[7]
The company has more than 100 brands in its portfolio. Wine brands include [Robert Mondavi] Kim Crawford, Meiomi, and The Prisoner Wine Company. Constellation's beer portfolio includes imported brands such as [Corona], [Modelo Especial]https://en.wikipedia.org/wiki/Negra_Modelo), and [Pacífico], as well as American craft beer producer Funky Buddha. Spirits brands include [Svedka] Vodka, [Casa Noble Tequila and [High West Whiskey, [Nelson's Green Brier]Tennessee Whiskey.
LUX Wines, an importer and purveyor of fine wines within an independent division of E. & J. Gallo Winery (Gallo), announced today November 08, 2017 that it has been awarded the exclusive rights to distribute Sicily’s Tornatore wines in the United States, effective January 1, 2018.  Founded in 2014, LUX Wines is an importer and purveyor of fine wines from around the world created by E. & J. Gallo Winery as a distinct selling and marketing division. LUX Wines hand-selects truly singular, terroir-driven wines from highly acclaimed wineries around the world that transcend time and are deeply rooted in tradition.  Tornatore is the latest addition to LUX Wines, a growing portfolio of elite brands from the most noteworthy appellations in the world. Tornatore is a family-owned winery located in the Sicilian town of Castiglione di Sicilia on the northeastern slopes of Europe’s largest and most active volcano, Mt. Etna. Benefitting from the region’s unique growing conditions and native varieties, the local Tornatore family produces very complex and distinctive wines. Many grapes thrive on Mt. Etna’s slopes, but it’s the native red Nerello Mascalese and white Carricante grapes that produce the region’s most special wines.
Lux Wines Inc is a food & beverages company based out of 1 Mill St, Burlington, Vermont, United States.  luxwines.com
Tornatore’s vineyards are one of the largest the Etna DOC production area.  The winery has the latest modern equipment, but made with low environmental impact with maximum respect of the surroundings.

Organizations related to Appellations
The Institut national de l'origine et de la qualité (previously Institut National des Appellations d'Origine) (INAO) is the  organization charged with regulating French agricultural products with Protected Designations of Origin. Controlled by the French government, it forms part of the [Ministry of Agriculture]. The organization was co-founded by [Châteauneuf-du-Pape]) producer [Baron Pierre Le Roy]
The Ministry of Agriculture, Agrifood, and Forestry (: Ministère de l'agriculture, de l'agroalimentaire et de la forêt) of France is the governmental body charged with [regulation] and policy for [agriculture], [food], and [forestry].  The Minister of Agriculture, Food, Fishing and Rural Affairs is a [cabinet member] in the [Government of France].

Brand concept related to Wine
The term brand refers to a business and marketing concept that helps people identify a particular company, product, or individual. Brands are intangible, which means you can't actually touch or see them. As such, they help shape people's perceptions of companies, their products, or individuals. Brands commonly use identifying markers to help create brand identities within the marketplace. They provide enormous value to the company or individual, giving them a competitive edge over others in the same [industry]. As such, many entities seek legal protection for their brands by obtaining [trademarks].

Bottlers
Contract bottlers have the required machinery, equipment, expert people with creative heads, different bottling patterns, innovative label ideas, techniques for safe and sound packaging which can withstand any further transportation or transition. In 2019, the market value of this specialized industry in which products are manufactured by a non-brand-owning independent third party was $52.3 billion, Hamburg, Germany-based Statista states. By 2025, contract packing is forecasted to more than double to nearly $119 billion, it adds.
WX Brands develops exclusive wine brands for retailers around the world. Products are sourced from 14 countries and sold in 20 countries resulting in over 4 million cases sold worldwide. With a winemaking and bottling facility located in Sonoma, CA, the WX Bottling team provides grape to bottle solutions for winemakers across the world. WX Bottling team also provides services like Brand Development, Sourcing and Product Development, Compliance and Logistics, Sales and Distribution Infrastructure, as well as Marketing Support and Investments.
[G3 Enterprises], of Modesto, CA, provides contract bottling services to makers of wine, beer, kombucha, etc., and offers a range of plastic and glass bottles, corking and screw-top closure options, keg filling for commercial distribution, etc. The company caters mainly to businesses on the West coast.

This exposes the pressing need for a business organization ontology that is the focus of semantics about material, intellectual, personnel and sub-unit assets, areas of operation/trade and trade partnerships, and the ability to describe and capture statistics about trade sectors!
Some high-level work has been done:

https://www.w3.org/TR/vocab-org/ though it would all require a rethink in OBO Foundry perspective.
There was another effort https://github.com/mconlon17/organization-ontology but it seems only one person/agency was working on it.
https://github.com/adhollander/ppod is UC-Davis sustainability related organization and resource ontology.
There is another group looking at characterizing value chain ontology that Matthew Lange knows of. @mateolan
Happy to talk more about this. I think we need to scope the work, into JFOW Joint Food Ontology Workgroup discussion perhaps.  There are pieces specific to the food industry which FoodOn can house (if no more specialized ontology steps forward, e.g. elements involved in perishable goods); then there is the general business model that can apply equally outside of the food industry.

Proposed approach:

Organization   related to   Organization
Organization   related to   Other Concept
Brainstorm and list out many predicates/object properties for each.
Refine and Resolve to list of standard predicates that still embed semantic relevance.
Identify data properties common to all Organizations.
List set of data properties that apply to specific Organization Types
List data properties that describe attributes of object properties -- attributes of relationships (when the relationship started, when relationship ended, other) -- RDF STAR construct -- resolve how to model these.
Refine and resolve to any proposed Classes and subClasses balancing flexibility and usability

Brainstorm of Predicates (with possible synonyms) for relationships of an Organization to another Organization.

Organization  relationship to  Other Concept
Organization   owns   Facility
Facility  has a    Location
Organization    under jurisdiction of   Location

Organization data properties
Name  --> can model as an entity to cover name variations    Legal Name,  Synonym per Name type, Names that change over time
Organization Type  --  Regulator, Trade Association, Company,   more....
Organization Legal Structure  --  can change over time -  Non Profit, Not for Profit, Corporation, Private Company, Partnership, Sole Proprietorship, Academic Institution,  more...

Org Type unique Organization data properties
xxxx

Speaking of relations or information that are time-sensitive, one of the UK Digital Twin infrastructure projects was a review of upper level ontologies, exploring 3D vs 4D ontologies - ones that can reason on a built-in sense of time qualifiers to their relations I think.  https://www.cdbb.cam.ac.uk/files/a_survey_of_top-level_ontologies_lowres.pdf  . BFO 2.1 attempts to offer time related relations but quickly becomes complex that way. The DT project opted not to use BFO though because it wasn't fully 4D.
I predict the approach to define events (which for organizations I think can usually be more specifically classed as "planned processes") is the best way to get at this.  Although OBO currently has organization listed as a material thing - presumably referencing all its staff and physical assets - it is equally or predominantly a legal construct. One can have a "Legal name" which is about a certain company, but that name only has significance while protected by a "legal name protection process" that occupies a temporal interval that time:hasBeginning whenever the legal name became active, and time:hasEnd whenever the legal name becomes inactive (possibly replaced, possibly defunct), and 'located in' whatever geopolitical area it is enforced in.  It is true that a property graph like Neo4j stores this more efficiently via properties of relations.  But I'd venture that the OWL ontology approach still forces one to define the semantics of such things better within the context of an upper level ontology.