DTWAIN_SelectSource() fails

We wrote an app with DTWAIN and have a user trying to use a Canon DR-M260 scanner.  The DTWAIN_SelectSource() function brings up the dialog where he can select his scanner.  It is listed as "Canon DR-M200 TWAIN".  After selecting the scanner and hitting SELECT, the error -1002 is returned and DTWAIN_GetErrorString() returns "Invalid DTWAIN_SOURCE".
The C# code is basically:
                DTWAIN_SOURCE newSource = TwainAPI.DTWAIN_SelectSource();
                if (newSource.Equals(IntPtr.Zero))
                {
                    int error = TwainAPI.DTWAIN_GetLastError();
                    if (error != 0)
                    {
                        if (error == TwainAPI.DTWAIN_ERR_SOURCESELECTION_CANCELED)
                        {
                            return true;
                        }
                        // User did not cancel. There is a real problem.
                        StringBuilder sbError = new StringBuilder(256);
                        TwainAPI.DTWAIN_GetErrorString(error, sbError, sbError.Capacity);
                        string sErr = $"Error {error}: {sbError.ToString()}";
                        Logger.WriteLine(sErr);
                        MessageBox.Show(sErr, "Source Selection Failed");
                    }
                }

What could cause this issue?  Are there any troubleshooting ideas you can suggest?  We had the user try another TWAIN scan application, IrfanView and they were able to select a source in that application and scan a page in that application.

Thank you

Also, if you are able to (i.e. you use Visual Studio), the error can be debugged if you go to the source_repo, the master branch, and use the appropriate debug version of the DTWAIN dll (dtwain32ud.dll, dtwain32d.dll, dtwain64ud.dll, dtwain64d.dll) and see where DTWAIN detects the invalid source.  You would also need your C# code to use a cs that matches one of the mentioned debug dlls.
Then you can  load the appropriate Visual Studio project into Visual Studio (you need VS 2015 and above), run your C# program, and attach to it using the Visual Studio debug menu.  You can put a breakpoint in the DTWAIN_OpenSource() function and see where it takes you (it should be in ctlsourceopen.cpp).  At some point, you will see the -1002 error being discovered.

Thanks, I'm working with our client to try these things.  Our app is 64bit.  I instructed the user to install the 64bit version of IrfanView and gave them the link to the 64bit download page, so I'm assuming that is what they downloaded and installed, although I can't be 100% sure without logging into their workstation remotely.  I'll let you know what I find.

The issue can almost always be determined by creating a log file (DTWAIN_SetTwainLog, and log everything to a file).  Then the call(s) to the TWAIN subsystem are collected.   In the file, you will see the "call stack", nicely indented, and also the calls to the Twain DSM and their return statuses.
Unfortunately, I don't have this model of the Canon scanner.  So right now, all that I would have is a log file.  If you have access to the scanner, you could debug the issue by following the steps I outlined in the previous message, and if you know C++ well enough, make a coding change and report the issue.  It has been done before by a couple of users.
The somewhat good news is that at some point DTWAIN did detect something was amiss, and returned the -1002 error.   If DTWAIN returned no error and later on things went awry, or outright crashed your program when attempting to open the source, then that would be a bigger problem.

DTWAIN_good.log
DTWAIN_bad.log
Ok,  I was never able to get a log from the Canon DR-M260, but the same issue came up with an HP 7000 S3 scanner.  I got a log from the client workstation (DTWAIN_bad.log) and was able to grab a log from our own test workstation using the same scanner model (DTWAIN_good.log).  What I notice is that DSM_Entry() is called and returns a 3.  It shows it as TWRC_CANCEL, but I don't think that is a valid return value.  I believe DSM_Entry() should return a TWCC_xxxxx error.  You are more familiar with the logging... can you spot anything wrong in the log?  Thank you.

I looked at the bad log, and it indeed returns a TWRC_CANCEL for the triplet DG_CONTROL/DAT_IDENTITY/MSG_OPENDS.   If you have a copy of the TWAIN 2.4 specification, Chapter 7 (page 7-66), are the return codes the source gives for failure.  TWRC_CANCEL is not one of them.  I am wondering if there is an issue with the TWAIN Data Source Manager for the 64-bit drivers on the client machine.  Having two different scanners have the same issue is highly suspicious.
Also, since the error occurs almost immediately, something very basic seems to be wrong or corrupted.   The selection of the source is successful, however opening the selected source is where the error is occurring.
The DSM is the file TWAINDSM.DLL.  You can get the latest here.  Maybe check the date of the file you're using as opposed to the customer file.   You can get the location of the DSM in use by calling DTWAIN_GetActiveDSMPath to get the path of the data source manager.
Another thing you can do is after DTWAIN_SysInitialize, you can separate the selecting and opening of the TWAIN sources by calling DTWAIN_OpenSourcesOnSelect, and give it a 0 as the argument.
What this will do is when a source is selected, your application has to manually call DTWAIN_OpenSource() after the source has been selected, or you have to make the low-level TWAIN call yourself using the appropriate TWAIN triplet (see the log for the triplet to use, plus investigate the usage of DTWAIN_CallDSMProc, which allows your application to make the TWAIN call).

As a heads up,  the 2.x version of the TWAIN DSM (TWAINDSM.DLL) is open source (it is located at the same (or roughly the same) URL link I mentioned in the previous comment.
So you could debug everything (except for the scanner driver), even further.  There is a spot in the DSM code where all the TWAIN triplets get processed, and there you could put a breakpoint for the DG_CONTROL/DAT_IDENTITY/MSG_OPENDS triplet as it comes in from DTWAIN .
However the issue is that only the client's machine is producing this error, so somehow you would need to get access to that machine to debug the DSM.    What you could try to do is

Rebuild TWAINDSM.DLL, give it to the client and retest
Have the client use a different computer and see if the problem happens there.

Thanks, that is all very helpful info.  We were packaging TWAINDSM.DLL version <IP_ADDRESS> with our app.  I have changed it to use TWAINDSM.DLL <IP_ADDRESS> and will see if that helps.  If not, I'll try the other suggested code changes and building my own debug version of TWAINDSM.DLL.  I will let you know what I find.

OK, after 3 weeks I finally got a DTWAIN log from the person trying to use the Canon DR-M260.  This was using the TWAINDSM.DLL version <IP_ADDRESS> that you gave me.  I'm attaching the log.
DTWAIN.log

The new log shows this when attempting to open the source:

I'm looking over the TWAIN_DSM source and it looks like you can set an environment variable to get a log file.  I'm going to start with that and try to get a log before I figure out how to compile and debug it.
set TWAINDSM_LOG=C:\path\TWAINDSM.log
Also the link you have me for TWAINDSM.dll was for <IP_ADDRESS> from 5 years ago.  Looks like there is an even newer version, <IP_ADDRESS> from 17 months ago.  I'll try using it.  link

OK, I got a TWAINDSM log from the workstation with the HP scanner that is having this issue.  This workstation was working OK at one point and now the MSG_OPENDS call returns a failure every time.  In the application, an HP dialog appears showing "The HP imaging device was not found".  We checked that the scanner is on and connected and rebooted the workstation several times.  I'm not seeing a lot in the log, just 'MSG_OPENDS failed...'.  I'm attaching the log.

TWAINDSM (2).log

I think the only thing that can be done at this point is to debug why the failure occurs within the TWAIN DSM itself.
If not that, go to the source code of TWAINDSM and figure out how the DG_CONTROL/DAT_IDENTITY/MSG_OPENDS triplet is processed, and see if there is code that returns MSG_OPENDS on failure.

OK, The HP scanner user wiped the computer and reinstalled windows and everything is working again.  Our user with the Canon scanner has pretty much given up testing for us, so I can't get anywhere with that one.  We are looking to rework some of our code after your feedback and after reading the TWAIN docs, which we hope will keep the software from getting in this state.  Since I don't think the issue is with DTWAIN itself, you can go ahead and close this out.  I appreciate the help.

OK, Thanks.
I will close the ticket, but just to add my thoughts on this:
It does seem like it's a driver issue or similar, such as a corrupted TWAIN installation.   The code here is more than likely where the issue is, but your log doesn't show any log of the actual error, as suggested by the code in apps.cpp.  Note that for every error, something is logged.  A debugging session would get to the bottom of what is going on by putting a breakpoint on line 1649 and follow what happens.
This looks almost as-if an exception was thrown after loading the hp driver (after line 1649), and thus the call stack unwound itself back up to dsm.cpp, skipping over all of the code we see in apps.cpp that carefully checks for error conditions.
Anyway, thanks for the information.


[Dropdown][Search] Search should work with groupped options

Hi
I've been trying to use a search selection dropdown with the following html structure:

    <input type="hidden" name="selection" value=""/>

whatever

123

1

2

3

456

4

5

6

With this configuration on => {fullTextSearch: true, match: 'text'}
I'm using the header as group title, so I wonder is there a way we can make the dropdown itself recognize that header is for those items and if all the items under the header are filtered the header should also be hidden. e.g. if I search for "4", the items 1, 2, 3, 5 and 6 will be hidden but the header "123" is still visible.
Is there a solution for this scenario?
Any suggestion is appreciated
Cheers

I have the same scenario. I will start looking into this on my own and post if I find something that would work.

This should also include the search component, linking the original issue as a reference: #5336.


Clarification on validateEgressID Logic for SCION Packet Processing

Description:
cc: @jcp19
During the verification of router logic within the VerifiedSCION project, I encountered a possible problem in the scionPacketProcessor's validateEgressID function that might miss an additional check. The code snippet in question is as follows:
func (p *scionPacketProcessor) validateEgressID() (processResult, error) {
	pktEgressID := p.egressInterface()
	_, ih := p.d.internalNextHops[pktEgressID]
	_, eh := p.d.external[pktEgressID]
	if !ih && !eh {
		errCode := slayers.SCMPCodeUnknownHopFieldEgress
	....

This checks whether a received packet can be forwarded either internally or externally based on the pktEgressID. My concern revolves around the scenario where p.ingressID == 0, indicating that the packet has already entered the Autonomous System (AS) and will be forwarded by the router internally. This situation seems to contradict the SCION protocol's design, where a packet is only handled twice within an AS: once by the ingress router and once by the egress router. This case is also not included in the following comment in the scionPacketProcessor's process function:
// Outbound: pkt leaving the local IA. This Could be:
// * Pure outbound: from this AS, in via internal, out via external.
// * ASTransit in: from another AS, in via external, out via internal to other BR.
// * ASTransit out: from another AS, in via internal from other BR, out via external.
// * BRTransit: from another AS, in via external, out via external.`

Question:
Whenever a packet is leaving the AS through another Border Router, shouldn't it be ensured that p.ingressID != 0?
func (p *scionPacketProcessor) process() (processResult, error) {
	...
	...
	// Is it required to ensure that p.ingressID != 0 at this stage?
	// ASTransit in: pkt leaving this AS through another BR.
	if a, ok := p.d.internalNextHops[egressID]; ok {

Am I misunderstanding something, or is there actually a situation where p.ingressID == 0 and the packet is still meant to be forwarded internally?

Thanks, @mlimbeck, for the detailed bug report.

Is there actually a situation where p.ingressID == 0 and the packet is still meant to be forwarded internally?

You're right, there is no situation where a packet is received on interface 0 and should be forwarded internally.
Here's a small script that creates a packet that will be internally "bounced" between the routers of an AS: https://gist.github.com/matzf/13de17cef9d0b29811a1660b3f52426f
You found a nasty bug! :100:


[Bug] Listing number with code blocks always starts with 1

When letting it answer many code blocks, the listing number is always 1 as below:

could you provide the code behind this render , this will help to solve the issue

could you provide the code behind this render , this will help to solve the issue

I'm not really familiar with React but I suppose app\src\components\markdown.tsx might give some hints.

Fixed by https://github.com/cogentapps/chat-with-gpt/commit/216ecd5b32da3d0c1ca4746b5d826db36c66ae36 - will roll out in the next few days.
Basically, the code blocks are causing the markdown renderer (react-markdown) to treat each list item as a separate list and generate separate <ol> elements, which resets the number. This fix makes it use the correct number.

Fixed by 216ecd5 - will roll out in the next few days.
Basically, the code blocks are causing the markdown renderer (react-markdown) to treat each list item as a separate list and generate separate <ol> elements, which resets the number. This fix makes it use the correct number.

Cool, thanks. This issue will be closed.


Get-Process() does not show full UserName

Steps to reproduce
Get some VM to run and in a admin command prompt run "tasklist -v | qgrep vmwp" and you get the output as:
vmwp.exe                     10732 Services                   0     29,224 K Unknown         NT VIRTUAL MACHINE\BF292885-D4DF-4CD9-8F8C-653E8D5      0:41:22 N/A
Please note after NT VIRTUAL MACHINE\ you get the actual GUID
Now in a admin powershell do: Get-Process vmwp -IncludeUsrName and you get:
617      29224 2,485.05  10732 NT VIRTUAL MACHINE\... vmwp
# Expected behavior
617      29224 2,485.05  10732 NT VIRTUAL MACHINE\BF292885-D4DF-4CD9-8F8C-653E8D5 vmwp
How do I get the actual GUID and not get that "..."
I tried all possible options but I could not get the actual GUID got only the "..."
```none
Please help
Thanks
ananda

Actual behavior

Environment data

PS C:\Users\Administrator\HvRdtTool> $PSVersionTable
Name                           Value

PSVersion                      5.1.17763.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

The truncation and the ... are just the formatter telling you that there isn't enough room in the console screen with the predefined formats to show the full data.
You can retrieve just the user name in a number of ways:
(Get-Process vwmp -IncludeUserName).UserName

Get-Process vwmp -IncludeUserName | Select-Object -ExpandProperty UserName

Get-Process vwmp -IncludeUserName | ForEach-Object -MemberName UserName

$process = Get-Process vwmp -IncludeUserName
$process.UserName```

Wow!! Thanks for the help and another thanks for the prompt reply that too over the weekend. Really appreciate it. I did try all the help possible but none talked about the ExapandProperty!! That was the critical part. I knew the ... meant it is hidden ... thanks again


Update .gitmodules

Proposed changes
https://go.googlesource.com might not be accessed in some cases, but  https://github.com does
Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit 6245cd1c13b6a07c14f8f6ba23e1c431d4bce857
https://deploy-preview-7703--docsdocker.netlify.com

@tiborvass can you please have a look? Just want to make sure this doesn't break anything. Thanks!


Rename the local variable name of len to l

The local variable name of len shadows a reference to the built-in len function and that makes the built-in len function unusable hereafter.
To fix this issue, the local variable name of len is renamed to l.

Only in that scope. There's not really an issue here.

Thank you for the pull request. As you point out, the variable name shadows the built-in name in that scope. I don't see this as a problem though. I think that the code is fine as is.
I'm going to close this pull requests, but feel free to reopen if you feel strongly about this issue.


Range type Exception when Inserting

Bug report
Describe the bug
Hello, while trying to insert a new record in the database using the project PostgrestExample in the current repo an Exception is thrown from Newtonsoft.Json.JsonReaderException.
After Debugging the Exception is thrown in PrepareRequestData Method in the Builder class. I think the reason why is because the User table contains an AgeRange property of type Sytem.Range So when calling the JsonConvert.Deserialize to get a dictionary of string key and a string value is not possible because the System.Range contains multiple properties as Start and End that are also objects of type Index so the when deserializing the JsonReader will find curly brackets and this cannot be deserialized to dictionnary<string, string>
In the Reproduce step with the current values the json object will be in this shape :
{
  "Username":"younes",
  "Data":null,
  "AgeRange":
                      {
                         "Start":
                                      {
                                          "Value":1,
                                          "IsFromEnd":false
                                       },
                          "End":
                                       {
                                          "Value":3,
                                          "IsFromEnd":false
                                        }
                        },
"Catchphrase":"Hii",
"Status":null,
"InsertedAt":"0001-01-01T00:00:00",
"UpdatedAt":"0001-01-01T00:00:00"
}

This json will throw an exception when trying to the call
public Dictionary<string, string> PrepareRequestData(object data) => JsonConvert.DeserializeObject<Dictionary<string,string>>(JsonConvert.SerializeObject(data));

To Reproduce

Initiliaze a new User

var supaYounes = new User
{
      Username = "younes",
      Catchphrase = "Hii",
      AgeRange = new Range(1, 3)
};

Insert

var response = await client.Builder<User>().Insert(supaYounes);

Expected behavior
User Inserted successfully in the Database
System information

OS: [Windows 10 Pro 1909]
.Net core 3.1.x
Visual Studio 16.8
Version of supabase-postgrest-csharp: master branch of current repo

@elrhomariyounes thanks for such a detailed report! Could you see if the latest commit works for you now?

@acupofjose Thank you working perfectly


Is the Tapo S500 supported yet

I was thinking on buying this. I need to add my switch to home assistant so then I can use HomeBridge and get everything onto homekit. Just wondering if you guys supported the S500 or if thats a future project. Thanks!
This was originally in the Discussions tab (#484) but it wasn't really getting much attention.

I got the S500, tested it out and it gave me an error saying device unsupported. Just going to make an issue to add it!


tryReuseStructureFromOldProgram() compares roots in order

TypeScript Version:  2.0.10
I'm using gulp-typescript for compile and watch tasks. During watch program structure can not be reused almost every time.
The reason is files listed by gulp.src comes to stream in non-deterministic order (folders order is shuffled).
As result gulp-typescript passes files in non-deterministic order to typescript compiler.
tryReuseStructureFromOldProgram returns false because in
https://github.com/Microsoft/TypeScript/blob/9945529875ec5346686d92ac5b4fca69f04b73ff/src/compiler/program.ts#L604
we compare arrays not sets.
Solution for my issue is to use plugins like: gulp-natural-sort which put input files in deterministic order. Wouldn't be better if typescript compiler compare new roots and old roots as sets, not as arrays? Then someone not familiar with gulp.src behavior won't waste his time on createProgram over and over again during watch task?

File ordering matters for a variety of reasons; a program whose files are in a different order may be observably different in emit or typechecking. It's not safe to reuse a program whose files are in a different order.


Datastore calls fail to authenticate with service account.

The same credentials work for REST-based class libraries.
I built a simple command line sample here:
https://github.com/SurferJeffAtGoogle/csharp-docs-samples/tree/datastoreVeneerBug
Demo:
PS C:\Users\rennie\gitrepos\dotnet-docs-samples> gci env: | where {$_.Name -like "google_*"}

Name                           Value
----                           -----
GOOGLE_APPLICATION_CREDENTIALS C:\USERS\rennie\Downloads\bookshelf-dotnet-dc82be9a4dde.json
GOOGLE_BUCKET                  bookshelf-dotnet
GOOGLE_PROJECT_ID              bookshelf-dotnet

PS C:\Users\rennie\gitrepos\dotnet-docs-samples\storage\api> cd .\datastore\api\DatastoreSample\bin\Debug
PS C:\Users\rennie\gitrepos\dotnet-docs-samples\datastore\api\DatastoreSample\bin\Debug> .\DatastoreSample.exe apiary
Using credentials from C:\USERS\rennie\Downloads\bookshelf-dotnet-dc82be9a4dde.json.
Description: Steinbeck's first major critical and commercial success, TORTILLA FLAT is also his funniest novel. Danny is
 a paisano, descended from the original Spanish settlers who arrived in Monterey, California, centuries before. He value
s friendship abovemoney and possessions, so that when he suddently inherits two houses, Danny is quick to offer shelter
to his fellow gentlemen of the road. Their love of freedom and scorn for material things draw them into daring and often
 hilarious adventures. Until Danny, tiring of his new reponsibilities, suddenly disappears...
Title: Tortilla Flat
Author: John Steinbeck
ImageUrl: https://www.googleapis.com/download/storage/v1/b/bookshelf-dotnet/o/5636318331666432?generation=14592066659660
00&alt=media
PublishedDate:
PS C:\Users\rennie\gitrepos\dotnet-docs-samples\datastore\api\DatastoreSample\bin\Debug> .\DatastoreSample.exe veneer
Using credentials from C:\USERS\rennie\Downloads\bookshelf-dotnet-dc82be9a4dde.json.

Unhandled Exception: Grpc.Core.RpcException: Status(StatusCode=Unauthenticated, Detail="Request had invalid authenticati
on credentials.")
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Grpc.Core.Internal.AsyncCall`2.UnaryCall(TRequest msg)
   at Grpc.Core.Calls.BlockingUnaryCall[TRequest,TResponse](CallInvocationDetails`2 call, TRequest req)
   at Grpc.Core.DefaultCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions optio
ns, TRequest request)
   at Grpc.Core.Internal.InterceptingCallInvoker.BlockingUnaryCall[TRequest,TResponse](Method`2 method, String host, Cal
lOptions options, TRequest request)
   at Google.Datastore.V1Beta3.Datastore.DatastoreClient.RunQuery(RunQueryRequest request, CallOptions options)
   at Google.Api.Gax.ApiCallExtensions.<>c__DisplayClass0_0`3.<MapArg>b__0(A a, CallSettings callSettings)
   at Google.Api.Gax.ApiCallRetryExtensions.<>c__DisplayClass1_0`2.<WithRetry>b__0(TRequest request, CallSettings callSe
ttings)
   at Google.Api.Gax.ApiCallExtensions.<>c__DisplayClass0_0`3.<MapArg>b__0(A a, CallSettings callSettings)
   at Google.Api.Gax.ApiCall`2.<>c__DisplayClass6_0.<Sync>b__0(CallSettings callSettings)
   at Google.Api.Gax.ApiCall`2.Call[T](TRequest request, CallSettings perCallCallSettings, Func`2 fn)
   at Google.Api.Gax.ApiCall`2.Sync(TRequest request, CallSettings perCallCallSettings)
   at Google.Datastore.V1Beta3.QueryStreamer.<Sync>d__7.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at DatastoreSample.Program.Main(String[] args) in C:\Users\rennie\gitrepos\dotnet-docs-samples\datastore\api\Datastor
eSample\Program.cs:line 59
PS C:\Users\rennie\gitrepos\dotnet-docs-samples\datastore\api\DatastoreSample\bin\Debug>

It looks like this is due to us not using CreateScoped when constructing the credentials in https://github.com/googleapis/gax-dotnet/blob/master/src/Google.Api.Gax/ChannelPool.cs
I was under the impression that scoping wasn't required for gRPC in this situation, but I could be wrong. Will ask for more advice from those in the know...

I've looked into this a bit more, and it's not Datastore-specific - it affects all gRPC-based APIs. I was under the impression that CreateScoped was not required for gRPC calls... we're still looking into whether that's a fault in my understanding, or some other auth code.
If we do need to fix this, we should:

Make the ChannelPool constructor accept a set of scopes and apply them when obtaining credentials
Change the code generator to pass those scopes in when it constructs a channel pool... importantly, this probably means reordering the code to declare DefaultScopes before s_ChannelPool

Note that this would be a breaking change in GAX, unless we maintain a parameterless constructor as well. (We could use a parameter array to maintain source compatibility without breaking binary compatibility, admittedly.)
// cc @chrisdunelm as he may end up doing this :)

This is fixed by the changes referenced above. The fix will be in the beta-02 package when we build that. In the meantime, users can use the CI000174 build available from our public myget feed: https://www.myget.org/gallery/google-dotnet-public


Fixed tile positioning

I noticed that the tiles are not rendered at their expected locations.
If I create map with TiledMapCenter(false) I would expect the top left corner of the tiled map to appear exactly in the center of the screen when using an otherwise default intialized bevy 2d camera. Instead, tiles are being rendered with an offset to the origin of exactly half the tile size.
This pull request modifies the position of the rendered tiles so that the results I would expect are displayed. This also means that a map with TiledMapCenter(true) will be exactly center around the origin.
The positions of the tiles are a bit unintuitive because the y axis in bevy goes up instead of down, as it does in tiled.

Can confirm that this is indeed expected behaviour.

merged


Refactor sci for resume mode

The former implementation used the vsock channel to read the command, call it in a child and send the output back through the vsock channel. This works until the command is not interactive. With this refactor I propose a different way to handle the command execution.
start vsock listener on VM_PORT, wait for command(s) in a loop. A received command turns into a
socat process using a pseudo terminal (pts) and output that can be retrieved by simply connecting
to the EXEC_PORT
Example:
sudo socat UNIX-CONNECT:/run/sci_cmd_XXX.sock -
CONNECT 52
ls -l

sudo socat UNIX-CONNECT:/run/sci_cmd_XXX.sock -
CONNECT 42

The above procedure needs to be implemeted as
part of the firecracker-pilot resume code
Thoughts ?

@m-kat I did several experiments with this two pass system based on a port for the command and a port for its execution and I could handle also interactive commands like "bash". We are creating an socat dependency but I could live with that.
All up for a conversation and of course I'm open for better ideas :)
Thanks

I was thinking about resolving the interactive commands and think your idea is perfect. even if we are building a dependency on socat it is not the worst we could get, all other options seem to be very complex and not so easy to implement

I was thinking about resolving the interactive commands and think your idea is perfect. even if we are building a dependency on socat it is not the worst we could get, all other options seem to be very complex and not so easy to implement

Ok great that we are on the same page. Let me do some further tests and thanks for the review

@m-kat I found the problem with the broken console when starting firecracker as a child. I solved it by setting stdout and stderr of the child to be piped. This is only done if PILOT_DEBUG is not set and if we are running firecracker as a background process.

I did not find a solution to the quoting issue so far and I the port number creation can be more stable as we discussed. I will add issues for that such that we don't forget. Thanks


Fresh setup with test examples: “ReferenceError: Promise is not defined”

I've set up a fresh project, exactly as described and used the examples to see if jest is working.
Even by using the examples from the jest documentation, it's not working. I get a ReferenceError.
><EMAIL_ADDRESS>test /Users/nachtmeister/Desktop/bla
> jest

Using Jest CLI v0.5.1

/Users/nachtmeister/Desktop/bla/node_modules/jest-cli/src/jest.js:130
  return Promise.resolve(utils.normalizeConfig({
         ^
ReferenceError: Promise is not defined
    at _promiseRawConfig (/Users/nachtmeister/Desktop/bla/node_modules/jest-cli/src/jest.js:130:10)
    at _promiseConfig (/Users/nachtmeister/Desktop/bla/node_modules/jest-cli/src/jest.js:80:10)
    at Object.runCLI (/Users/nachtmeister/Desktop/bla/node_modules/jest-cli/src/jest.js:178:3)
    at Object.<anonymous> (/Users/nachtmeister/Desktop/bla/node_modules/jest-cli/bin/jest.js:233:6)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
npm ERR! Test failed.  See above for more details.

What am I doing wrong?

If you're using Jest 0.5.1 be sure of having iojs installed, otherwise use jest version 0.4.x. with node 0.10
Watch out that currently Jest 0.5.1 is broken with iojs, (https://github.com/facebook/jest/issues/486)
Still playing to have something working :(

Thanks for the hint. Hadn't iojs installed. Also had to use Jest 0.5.0 to get it working with iojs, as you said.


Update README to link to specific blocks

The links to curriculum blocks in the main README file all just link to the top of the superblock page. We could link to the specific blocks with something like https://www.freecodecamp.org/learn/responsive-web-design/#basic-html-and-html5. Unless there's a reason we wouldn't want to do that, seems like a good first timer issue.

Unless there's a reason we wouldn't want to do that

Probably no reason, bar it is slightly more maintenance if any block link changes - hardly a reason not to.


fpic flag

Added fpic flag to the build of "bpf-sys", related to issue #189.

@sebastiaoamaro
Thank you for your contribution.
Please commit your code with Signed-off-by trailer.
You can do that by git commit -s.
And then re-push your branch with force option.
And it's vague to me what happens if both -fPIE and -fPIC are specified. So I
think specifying only -fPIC is enough.
By compiling with -fPIC, the resulting relocatable file can be linked into
PIE executables and shared libraries.
How do you think about replacing -fPIE with -fPIC? Not just appending
-fPIC.

I am not an expert in the matter, but after reading the description it makes sense to me to replace -fPIE with -fPIC. I committed the change to this branch https://github.com/sebastiaoamaro/redbpf/tree/fpic-flag

@sebastiaoamaro
Could you do this in your main branch?

git reset HEAD^.  To commit with signature.
git push -f. To push main branch forcibly.

I will be able to merge this PR after you do this tasks.

Never did a pull request before, Thanks for the patience :) Think it is done now? I hope...

Yeah, this is what I expected.
I'm approving this and build-test will start. I hope all build tests succeed.


Add more markdown support for docs

Hi @mariolamacchia, what do you think about such improvement for docs?

Wow looks so much better!


Remove pretty-show restriction

Does this resolve problems in cardano-shell?

@nc6 At the point in time the version restriction did, but not it's no longer necessary.
https://github.com/input-output-hk/cardano-shell/blob/master/stack.yaml#L44

OK, great


Icon request: Amazon Web Services

URL of the site or app (required): https://aws.amazon.com/
Logo resources for the icon (optional, but recommended):

Already exists with "AWS" acronym: https://github.com/aegis-icons/aegis-icons/blob/master/SVG/AWS.svg


Memory

This PR addresses #239, and includes:

conversion of a few hardcoded values to config parameters
decrease in the default inversion caching rate (higher values did not seem to benefit performance)
change in shared memory for the forward model, resulting in ~10X less memory usage
read file flushing, and flush simplification

Looks great!  Thanks Phil.


Response - 403 during search

Hi John -
First, thank you for this code.
Second, I'm a little clueless about scraping and good practices for GitHub so keep that in mind.
I was getting a response code of 403 using the search function leading to similar error message as the issue you just closed last week where the response.json call can't parse properly. (May be worth sending some kind of error message for when a request isn't returned properly?) . After some googling, I went in and tested updating the header with the addition:
'accept-encoding': 'gzip, deflate, br'
That gave me a response code of 200. I haven't yet tried implementing that change within the overall code to then use your test3() function as written to see if it fixed the entire issue. It looks like it still isn't actually returning results but I'm thinking that's on my side. It'll be something to continue poking at in the next few days. Let me know if you have any thoughts!

It will be fixed this week

I wasn't able to replicate the issue. Could you try using a VPN or a proxy to check if it works?
It's working well on my side. What probably happened is that you were making multiple calls to Zillow's server, and it flagged your IP


How to add a marker line?

I've seen older versions of jstree adding a line below or above the marker to better highlight where an item would be inserted. How can I get this working with the current version of jstree ?

as far as I can see, there is no class to differentiate between an insert into and above/below, which is needed in order to hide the line when dropping into a node.

You can use the core.check_callback and set it to a function.
check_callback : function (operation, node, par, pos, more) {
  if((operation === "move_node" || operation === "copy_node") && more && more.dnd) {
     // use more.pos to update your own marker
  }
}

Best regards,
Ivan

thanks, works :)


Incorrect inference/autocompletion on generic arrays, when values can be inferred from a defined object.

TypeScript Version:  4.1.2
Search Terms:
Autocompletion, incorrect, values, inference, generic, array, object, keys
Summary:
When an interface/a type has an object with generic keys, and an array of those keys, the array values cannot be infered from the object keys.
Code
interface Recipe<INGREDIENTS extends string> {
  quantities: Record<INGREDIENTS, number>
  allergens?: INGREDIENTS[]
}

function createRecipe<INGREDIENTS extends string>(recipe: Recipe<INGREDIENTS>) {}

createRecipe({
  quantities: {
    eggs: 1,
    flour: 2,
  },
  allergens: ['']
})

Expected behavior:
Here, when trying to give a value to allergens, the autocompletion should show "eggs" | "flour".
Actual behavior:
The autocompletion doesn't find anything.

Notes:
The other way is working: you can fill the array first, then the object keys will autocomplete - but this rarely make sense to write things that way.
Failed workarounds:
This bug is still present, even when:

allergens is optionnal
We switch from an interface to a type
We use keyof this['quantities'] instead of INGREDIENTS[]

This is because the array is a stronger inference candidate than the record, so as soon as the array is non-empty, the type parameter gets instantiated to the types that can be inferred from its contents. The completions behavior you expect seems so obvious, but it’s actually really tricky to make it work. This is very similar to #36556 though, where we got reasonably good results, so maaaaybe that approach can be applied here.

Thanks for you complete and helpful answer! I understand that it's complicated to implement this feature properly, and event though I'd like to have that, I get that it will maybe never get implemented. It looks like a complicated problem, so no worries!

Stumbled upon this... In case someone wants a workaround...
interface Recipe<Self> {
  quantities: Record<string, number>
  allergens?: Self extends { quantities: infer Q } ? (keyof Q)[] : never
}

function createRecipe<R extends Recipe<R>>(recipe: R) {}

createRecipe({
  quantities: {
    eggs: 1,
    flour: 2,
  },
  allergens: [""]
})

This workaround reverses the problem. Using a normal array, the array has the priority. It means that, if you add a property to the object, the object will error out, and you won't have autocompletion on the array. However, adding a string to the array will error the object out, and you will have autocompletion on the object properties.
https://user-images.githubusercontent.com/30944236/121360699-f15fc580-c934-11eb-93c5-4e7781e6ccce.mp4
Using your workaround, the object gets the priority. It means that, if you add a property to the object, the array will error out, and you will have autocompletion on the array strings. However, adding a string to the array will error the array out, and you won't have autocompletion on the object properties.
https://user-images.githubusercontent.com/30944236/121360964-279d4500-c935-11eb-8d8e-068f255cee26.mp4
What should happen would be that changing one will error out the other, and autocompletion would always be provided. That currently works for objects:
https://user-images.githubusercontent.com/30944236/121361135-4ac7f480-c935-11eb-8df5-86eaa5d19a5f.mp4

Ah my bad. Here's another workaround. You do get an error that property sugar is missing (so the types are correct) but there's no autocomplete, I suspect that's because of #44428 bug.


qbittorrent 3.2.2

You forgot to update the version stanza.

Thank you for the contribution. It needed some fixes, so they were made in 1333e7c3e368ac37e767f458a76ccd5115bee7bb. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Refactor shell scripts to be all/mostly node scripts

The shell scripting bits are a bit more PITA to work with; I can exec things that need to be shell-based. Error handling will improve (related #39).
I probably could use my node CLI repo for the refactoring: https://github.com/mhulse/node-boilerplate-cli

Done in v2. Closing.


rpc: expose server-related fields

Hi,
If my understanding is correct, the RPC crate has been design with the goal of exposing types needed by clients to communicate with nodes, and thus hides server-related details.
This is reflected in multiple places, for instance in the endpoints where the fields of Response are public whereas those of Request are private.
However, I'm coming up with the opposite use case: I'm building a mocked node in order to test a client. With the current interface of the RPC crate I'm indeed able to deserialize incoming requests, but I can't access the fields to return a plausible response.
Would it be an option to expose server-related structs and fields to cover both client and server needs?

Hey, is it correct to say that these are the only changes necessary?
https://github.com/informalsystems/tendermint-rs/compare/master...CharlyCst:master

Those are the only one I need at the moment in order to expose the interface I'm interested in, but ideally I would expect all the fields of all the Requests endpoint structs to be public, as it's the case for the Responses (see rpc/src/endpoint/* files).

No problem @CharlyCst! Thought I'd just implement it quickly. Mind taking a look at #636 and seeing if that'll meet your needs?

Yes that's perfect, thank you!


names array not populated when creating sourcemaps using gulp-concat.

What I'm experiencing
I was working through this issue and noticed that when I use gulp-concat, the names array is always empty.
This is true even during trivial cases (one file being source-mapped).
@floridoo mentioned it was probably gulp-rev causing my issue, but so far that's not what I've found.
btw, thanks to @floridoo for responding expediently.
Snippet
  return gulp.src('source/some-dir/another-dir/one-file-to-be-sourcemapped.js')
    .pipe(sourcemaps.init())
//    .pipe(concat('built.js')) // If I uncomment this line, the names array is empty.
     .pipe(uglify())
    .pipe(rev())
    .pipe(transformFooter())
    .pipe(sourcemaps.write('./', { addComment: false}))
    .pipe(gulp.dest(destination));

My true intention
I want to un-minify the source maps (due to an exception being thrown) at runtime.
so far using mozilla source-map I can still get the line number and column, but not the name.

This seems to work now.
var gulp = require('gulp');
var sourcemaps = require('gulp-sourcemaps');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');

gulp.task('default', function () {
	return gulp.src(['src/script.js'])
		.pipe(sourcemaps.init())
		.pipe(concat('script.js'))
		.pipe(uglify())
		.pipe(sourcemaps.write('.'))
		.pipe(gulp.dest('dist'));
});

package.json
{
  "dependencies": {
    "gulp": "^3.8.11",
    "gulp-concat": "^2.5.0",
    "gulp-sourcemaps": "^1.3.0",
    "gulp-uglify": "^1.1.0"
  }
}

dist/script.js
function foo(o,n){console.log(o,n)}
//# sourceMappingURL=script.js.map

dist/script.js.map
{"version":3,"sources":["script.js"],"names":["foo","bar","baz","console","log"],"mappings":"AAAA,QAAAA,KAAAC,EAAAC,GACAC,QAAAC,IAAAH,EAAAC","file":"script.js","sourcesContent":["function foo(bar, baz) {\n\tconsole.log(bar, baz);\n}\n"],"sourceRoot":"/source/"}


Added crayfish to the game.

Added lumbridge fishing spots for catching crayfish.
Spawn spots and catch message from https://www.youtube.com/watch?v=_a75YW9oHgs

Found a bug fix for depositing burnt crayfish.


Log Retention

Whether its possible to delete history message by time like log retention in Kafka?.
I want to delete old messages (let's say I want to keep only last 10 days records), Is this possible to achieve in rocketmq.?
Expecting: Time_To_Live concept per message or topic

I think you can set the parameters in the broke’s config file. There are two parameters related to it, fileReservedTime means how long the message will be saved on the disk, its unit is hour, and the timeout message is automatically deleted, the default value is 48 hours, deleteWhen means when the delete action is performed , the default value of 04 indicates 4 am.

I found this link.. https://issues.apache.org/jira/browse/ROCKETMQ-133?jql=project %3D ROCKETMQ AND text ~ "delete"
It explains that TTL will be released in the 5.0.0 version...
Is any way to achieve this now...?
Because in the topics, message sizes are constantly growing...
ex: TOPIC X has total offset  -> 2578690
TOPIC Y has total offset -> 631980
@RongtongJin
As u mentioned above, default time would be 48 hours but still, messages are not deleted from the topic. Is there any other way to apply TTL functionality...


Pass the function signature in the detail property of the completion item instead of the label

Function declaration.

void testFuncWithLongName(int a, int b, int c, int d);

Current behavior.

Expected behavior.
I think "TypeScript Language Server" display function signature method is more appropriate

see redhat-developer/vscode-java#685

We don't have to 100% align with the TypeScript server implementation;
The signature is useful in case of overloaded functions, it's better than having the same name multiples times.
We also have other clients we want to work (e.g. YouCompleteMe inside vim) which do not render the detail field at all.
I think at this point we would be better off not changing this.

Yes, but we can show the full function signature in the detail. Because some long function signatures cannot be fully displayed in the complete label.

Closing based on discussion.


Unable to install Libreoffice

Hey devs,
I was planning to install "Libreoffice", but when I tried it isn't installing.
I have attached the screenshot, check that out.

   Hoping for your response

Did you added any other distros repo in sources.list?

Wait let me check

Check this out

show output of
cat /etc/apt/sources.list.d/*.list

@bdhackers009 dm me in telegram. Let me try to fix this.

give your telegram I'd name


feature/2539: expose math function matrix_exp_action to stan as "matrix_exp"

Submission Checklist

[x] Run unit tests: ./runTests.py src/test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary
Expose matrix_exp_action by overloading matrix_exp in Stan
Intended Effect
Allow in Stan
matrix_exp(matrix A, matrix B, real t)

to calculate exp(At)B.
How to Verify
Function signature test
Side Effects
n/a
Documentation
To be added with doc of matrix_exp.
Copyright and Licensing
Metrum Research Group, LLC
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Have we discussed the order of arguments?
I would probably prefer to have
matrix_exp(A, t, B)
as a function.
Also: are there computational advantages in splitting out t?


Update CODEOWNERS to use OpenTelemetry team

Updates the codeowners file to use the Github team @open-telemetry/ruby-approvers instead of discrete list of users. This will make managing the group easier as it doesn't require code changes when the approvers list is updated.

While I appreciate the convenience of this from a maintenance perspective, is there a way to be notified of changes to the membership of @open-telemetry/ruby-approvers? Updating this file manually currently notifies anyone watching this repo.
Side note: your PR description refers to rust-approvers rather than ruby-approvers.

I'm not certain if Github teams have a notification feature on edit. Is it important to update all repository watchers of approver changes?
(I've updated the PR description to reference the correct type - must have been auto-complete error).

Is it important to update all repository watchers of approver changes?

It's a nice side effect. Most discussion of approver changes happen in SIG meetings, which likely have a more limited audience than PRs to this repo. I know I would like to know if the approvers list was changed 😄 - this PR made me wonder how I would be informed of that.

It's a nice side effect. Most discussion of approver changes happen in SIG meetings, which likely have a more limited audience than PRs to this repo. I know I would like to know if the approvers list was changed 😄 - this PR made me wonder how I would be informed of that.

@fbogsany if I understand your need here you want to subscribe to team changed events? That way you could be notified is someone is added or removed from a team. Is that correct?

This may not be the best justification for keeping it the way it is, but having an explicit code owners list creates a fun little ceremony when adding members to the group.  I see it as a positive thing, and given the final say I would keep it as is because it promotes the type of community I seek to be part of.

Going to close this as I don't see us making this change in the near future.

long live the ceremony


Retrieving DateTime from Hive storage precision is being lost.

Question
When retrieving DateTime from storage the precision is lost, the precision is maintained when stored in memory it is only when retrieval from storage is triggered that the resulting date has now lost precision.
Code sample
var myBox = await Hive.openBox('myBox');
if(myBox.get('dateTest') == null)
{
var timeToStore = DateTime.parse('2020-10-19 18:11:29.497022');
await myBox.put('dateTest', timeToStore);
print('Storing date in HIVE');
}
print(await myBox.get('dateTest'));

// RESTART APP

This code will display the date correctly after it is first stored and being retrieved from memory, but after restarting the app the date retrieved from storage and then shown is
2020-10-19 18:11:29.497000
which has lost the precision compared with memory storage.
Version

Platform: iOS
Flutter version: stable, 1.22.2, on Mac OS X 10.15.6 19G2021, locale en-GB
Hive version: 1.4.4+1
Hive Flutter: 0.3.1

Hive stores datetime in milliseconds precision.

Thank you for the reply.
As I understand it Hive in my example is storing the date value in memory after the first PUT and to a higher precision than milliseconds with Effectively no loss of precision to the date That I passed to PUT.
It is only after Hive retrieves the Date value from permanent storage that the precision becomes reduced to Milliseconds. (Or I assume technically when it was written to storage).
This is problematic because a date retrieved from memory will not compare correctly with dates retrieved from storage.
This discrepancy is not ideal and if Hive is to operate at milliseconds precision it would be best to reduce precision when stored and retrieved from memory also.
I can workaround this by reducing precision before first storage but it does seem consistency within Hive itself would be ideal.

@TheMisir  I agree with @cimatt55 . I also face issues in comparison. Like, we need the precision in microseconds, not milliseconds.
I literally spent an hour on finding why my 2 objects were not compared properly, even if they contained the same data inside.

It's not currently possible to changing precision because this will invalidate all exists hivedb data. Instead we might add feature for overriding internal adapters so you could use custom DateTime adapter with high precision.

I just merged #484. I'll publish the update to pub.dev ASAP.
Here's how you can increase precision of datetime adapter:
/// A bit modified DateTimeWithTimezoneAdapter (https://github.com/hivedb/hive/blob/master/hive/lib/src/adapters/date_time_adapter.dart#L25-L42)
class PerciseDateTimeAdapter extends TypeAdapter<DateTime> {
  @override
  final typeId = 18;

  @override
  DateTime read(BinaryReader reader) {
    var micros = reader.readInt();
    var isUtc = reader.readBool();
    return DateTime.fromMicrosecondsSinceEpoch(micros, isUtc: isUtc);
  }

  @override
  void write(BinaryWriter writer, DateTime obj) {
    writer.writeInt(obj.microsecondsSinceEpoch);
    writer.writeBool(obj.isUtc);
  }
}

Hive.initFlutter();
Hive.registerAdapter(PerciseDateTimeAdapter(), override: true, internal: true);


Add PCA example with ellipse showing the SD

We would need to generate such a plot:

A scatter plot with some ellipse annotations and labels that could use a force field in order to be nicely placed.

Just for documentation the example data was created on www.c6h6.org in the PCA view with the XTC data set using the following code executor:
const pca = API.getData('pca');
const ellipsisData = API.getData('ellipsis');

console.log(pca);

const points = [];
for (let i=0; i<pca.x.length; i++) {
    points.push({
        x:pca.x[i],
        y:pca.y[i],
        color:pca.styles.unselected[i],
        id:pca.info[i].meta.TITLE,
    });
}

const ellipses=[];
for (let i=0; i<ellipsisData.length; i++) {
    console.log(ellipsisData);
    ellipses.push({
        x:ellipsisData[i].properties.position[0].x,
        y:ellipsisData[i].properties.position[0].y,
        rx:ellipsisData[i].properties.rx,
        ry:ellipsisData[i].properties.ry,
        fillColor:ellipsisData[i].properties.fillColor,
        fillOpacity:ellipsisData[i].properties.fillOpacity,
        label:ellipsisData[i].properties.labelText[0],
        angle:ellipsisData[i].properties.transforms[0].angle,
    })
}

const data = {
    points,
    ellipses,
}

console.log(data);

There is now a dataset that contains 2 properties:

points: the data to create the scatter plot
ellipses: the ellipses to draw with an opacity of 0.2

In this example the points of the scatter plot should have different colors. I think we should in fact not use a scatter plot series but only use annotations. For the points. circle annotations. and ellipse annotation for the ellipses.

I think we should in fact not use a scatter plot series but only use annotations.

Why?

I have the impression that currently all the points of a scatter series have the same shape, size and color.
For this example if we are not using annotations to display all the points we would then either create 5 scatter series (one per color) or allow for each point in the series to not only specify x and y but also size or color or style.

It is possible to do it with only one scatter series and a callback for the color.

@wadjih-bencheikh18 Based on targos comment please could you try to implement this storybook ?
So one scatter series with call back with colors and then annotation for the ellipses.

okey it's clear yes

we can see that when i used scatter axis min/max are not perfect

This is not a problem and would consider it as expected.
Please use for all the axis a paddingStart, paddingEnd of 0.1
https://github.com/zakodium/react-plot/blob/main/src/components/Axis/Axis.tsx#L18-L19

there is also another problem

ellipses center are not in the right place
(the two lines are just used to know the center)

problem fixed

@lpatiny  Is it normal that the data is different from your screenshot?

@lpatiny Is it normal that the data is different from your screenshot?

i think it's not the same data
final result :

@lpatiny Is it normal that the data is different from your screenshot?

Should not but apparently I did a mistake.

@lpatiny could you give me axis labels please?


mobile: adding a fake upstream for TCP tests

As an alternate to https://github.com/envoyproxy/envoy/pull/25552 allow creating a TCP test upstream which will respond to requests.
Risk Level: low
Testing: yes
Docs Changes: n/a
Release Notes: n/a

Assigning Ryan for now, but feel free to reassign to another mobile maintainer.
/assign @RyanTheOptimist


Can it run with torch.distributed, for example，i want to run with torch.distributed on 8 x V100s,how can i solve it or add some codes?

@wacyfdyy Sorry that this is not implemented. Maybe you would like to check ngp_pl, which supports parallel training.

@wacyfdyy Sorry that this is not implemented. Maybe you would like to check ngp_pl, which supports parallel training.
thanku for your answer。Now i am trying to add DDP codes.


feat: Replace product card carousel with a single static image

📝 feat: Replace product card carousel with a single static image
🛠 Issue

Closes #55

📖 Description

The current product cards use an image carousel, which can impact page loading times when there are many products and images. To improve performance and simplify the design, replace the carousel with a single static image for each card. Ensure the design remains visually appealing and responsive.

✅ Changes made

Removed the image carousel from product card components.
Displayed the first product image as a static image.
Updated the design to ensure it aligns with the existing layout.
Verified responsiveness and ensured proper behavior across different screen sizes.

🖼 Media (screenshots/videos)

Removed the carousel

Product card is still responsive

📜 Additional Notes

While testing responsiveness, I observed that the Connect Wallet button is not responsive. This issue might need to be addressed separately.

@Belloabraham121 On the Marketplace page (app/marketplace/page.tsx), remove the ImageCarousel from the product cards and instead add an image for each product. That’s what I wanted.

@Belloabraham121 let us know if you need any help or clarification

@derianrddev Kindly review


thrift proxy: don't charge response for Oneway calls

Commit Message:
This is a follow-up to #16261.
Additional Description:
Fixes #16617.
Risk Level: Low.
Testing: Added.
Docs Changes: Not needed (I think).
Release Notes: NA.
Platform Specific Features: None.
Signed-off-by: Raul Gutierrez Segales<EMAIL_ADDRESS>

I take this back, docs actually say that one way is included:
Histogram, total rq time from rq complete to resp complete; includes oneway messages.

It's a bit weird, but if it's documented it's fine.

Hmm, maybe we do want this and we want to update the docs accordingly. Maybe we even want an additional histogram that only computes request time (which would include Oneway).
I'll wait for @williamsfu99 to weight in.

My original intention was to measure the end-to-end time that Envoy participates in a request, which is why I included one-way (which just has no response part). I'm fine to have these split out separately, but I think it should probably be one PR to split the stats and update the docs.

@rgs1 is this still in progress or do you want to close it?

@rgs1 is this still in progress or do you want to close it?

Closing it for now.


Hadoop 18139

Description of PR
This change allows RBF routers to configure the principal the ZK servers run as.
How was this patch tested?
Running in an integration cluster.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
7m 44s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-3.3 Compile Tests _

+1 :green_heart:
mvninstall
31m 17s

branch-3.3 passed

+1 :green_heart:
compile
17m 25s

branch-3.3 passed

+1 :green_heart:
checkstyle
0m 57s

branch-3.3 passed

+1 :green_heart:
mvnsite
1m 35s

branch-3.3 passed

+1 :green_heart:
javadoc
1m 48s

branch-3.3 passed

+1 :green_heart:
spotbugs
2m 24s

branch-3.3 passed

+1 :green_heart:
shadedclient
25m 14s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 57s

the patch passed

+1 :green_heart:
compile
16m 47s

the patch passed

+1 :green_heart:
javac
16m 47s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 55s
/results-checkstyle-hadoop-common-project_hadoop-common.txt
hadoop-common-project/hadoop-common: The patch generated 1 new + 74 unchanged - 0 fixed = 75 total (was 74)

+1 :green_heart:
mvnsite
1m 35s

the patch passed

+1 :green_heart:
javadoc
1m 40s

the patch passed

+1 :green_heart:
spotbugs
2m 33s

the patch passed

+1 :green_heart:
shadedclient
25m 20s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
17m 16s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 58s

The patch does not generate ASF License warnings.

155m 53s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4024

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 9caf7a5bd850 4.15.0-156-generic #163-Ubuntu SMP Thu Aug 19 23:31:58 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
branch-3.3 / 450528f3c3711207ba7f4019ca4ea8cee85ff617

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~18.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/3/testReport/

Max. process+thread count
2152 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/3/console

versions
git=2.17.1 maven=3.6.0 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
13m 29s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-3.3 Compile Tests _

+1 :green_heart:
mvninstall
31m  0s

branch-3.3 passed

+1 :green_heart:
compile
17m 20s

branch-3.3 passed

+1 :green_heart:
checkstyle
0m 54s

branch-3.3 passed

+1 :green_heart:
mvnsite
1m 36s

branch-3.3 passed

+1 :green_heart:
javadoc
1m 47s

branch-3.3 passed

+1 :green_heart:
spotbugs
2m 23s

branch-3.3 passed

+1 :green_heart:
shadedclient
25m  9s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 53s

the patch passed

+1 :green_heart:
compile
16m 43s

the patch passed

+1 :green_heart:
javac
16m 43s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 53s
/results-checkstyle-hadoop-common-project_hadoop-common.txt
hadoop-common-project/hadoop-common: The patch generated 1 new + 74 unchanged - 0 fixed = 75 total (was 74)

+1 :green_heart:
mvnsite
1m 32s

the patch passed

+1 :green_heart:
javadoc
1m 42s

the patch passed

+1 :green_heart:
spotbugs
2m 33s

the patch passed

+1 :green_heart:
shadedclient
25m 14s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
17m 13s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 57s

The patch does not generate ASF License warnings.

160m 44s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4024

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 058a76bc18fe 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
branch-3.3 / 450528f3c3711207ba7f4019ca4ea8cee85ff617

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~18.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/2/testReport/

Max. process+thread count
3158 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/2/console

versions
git=2.17.1 maven=3.6.0 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
14m 38s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-3.3 Compile Tests _

+1 :green_heart:
mvninstall
33m 57s

branch-3.3 passed

+1 :green_heart:
compile
18m 14s

branch-3.3 passed

+1 :green_heart:
checkstyle
0m 47s

branch-3.3 passed

+1 :green_heart:
mvnsite
1m 30s

branch-3.3 passed

+1 :green_heart:
javadoc
1m 37s

branch-3.3 passed

+1 :green_heart:
spotbugs
2m 23s

branch-3.3 passed

+1 :green_heart:
shadedclient
26m 23s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 56s

the patch passed

+1 :green_heart:
compile
17m 24s

the patch passed

+1 :green_heart:
javac
17m 24s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 46s
/results-checkstyle-hadoop-common-project_hadoop-common.txt
hadoop-common-project/hadoop-common: The patch generated 1 new + 74 unchanged - 0 fixed = 75 total (was 74)

+1 :green_heart:
mvnsite
1m 28s

the patch passed

+1 :green_heart:
javadoc
1m 36s

the patch passed

+1 :green_heart:
spotbugs
2m 31s

the patch passed

+1 :green_heart:
shadedclient
26m 41s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
17m  9s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 48s

The patch does not generate ASF License warnings.

167m 47s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4024

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 2e6d32ddd55b 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 06:54:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
branch-3.3 / 450528f3c3711207ba7f4019ca4ea8cee85ff617

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~18.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/1/testReport/

Max. process+thread count
3098 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/1/console

versions
git=2.17.1 maven=3.6.0 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

I looked into adding unit tests, but the test zookeeper instance that the unit tests use doesn't support security, so it can't test this patch, which only matters if the zookeeper service is running with kerberos authentication.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
1m 32s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-3.3 Compile Tests _

+1 :green_heart:
mvninstall
40m 37s

branch-3.3 passed

+1 :green_heart:
compile
24m  1s

branch-3.3 passed

+1 :green_heart:
checkstyle
1m  4s

branch-3.3 passed

+1 :green_heart:
mvnsite
2m  9s

branch-3.3 passed

+1 :green_heart:
javadoc
2m  2s

branch-3.3 passed

+1 :green_heart:
spotbugs
3m  7s

branch-3.3 passed

+1 :green_heart:
shadedclient
31m 36s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  9s

the patch passed

+1 :green_heart:
compile
23m 21s

the patch passed

+1 :green_heart:
javac
23m 21s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 58s

the patch passed

+1 :green_heart:
mvnsite
1m 52s

the patch passed

+1 :green_heart:
javadoc
1m 51s

the patch passed

+1 :green_heart:
spotbugs
3m  4s

the patch passed

+1 :green_heart:
shadedclient
30m 14s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
17m 10s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 48s

The patch does not generate ASF License warnings.

184m 55s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/4/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4024

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 79363f83193d 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 06:54:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
branch-3.3 / fc4bf4a7d00b7b719cdc876a7932d824f5e28a7f

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~18.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/4/testReport/

Max. process+thread count
2575 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4024/4/console

versions
git=2.17.1 maven=3.6.0 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


No bundle ability

👋  Hi it appears the bundle function was removed when the wasm migration was made https://github.com/nestdotland/deno_swc/pull/24/files#diff-e8c3622ccfbed67f4b3058cd4417bf41d066236f49c6f3e63b7c243b584c6734L4 is there anyway this functionality could be added back?
It seems the node version of this supports this feature https://github.com/swc-project/swc/blob/main/node-swc/src/index.ts#L296

I noticed that I can use swc's bundle function by using https://github.com/denoland/deno_emit.

yes, use https://github.com/denoland/deno_emit for bundle


Tensorflow-rocm not installable

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

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Manjaro latest
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version: not installed yet
Python version: 3.9
Installed using virtualenv? pip? conda?: pip
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
ROCm/MIOpen version: 1.1
GPU model and memory: rx570

Describe the problem
The install of tensorflow-rocm via pip fails with this error message
 mario@mario-desktop  ~  pip3 install tensorflow-rocm
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement tensorflow-rocm (from versions: none)
ERROR: No matching distribution found for tensorflow-rocm

Any tips on how to resolve this issue?
Provide the exact sequence of commands / steps that you executed before running into the problem
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

The issue was using python 3.9 instead of python 3.6


Erroneous report of duplicate filenames in PhpStorm 2016.2

The IDE reports and Exception thrown by version 1.5 of the .ignore plugin for duplicate filenames.
Source files are on case-sensitive file system so they are not a duplication. Project metadata (.idea folder) is on case-insensitive file system.
Error message in PhpStorm
PersistentFS returned duplicate file names(sanity.php,Sanity.php) ignoreCase: true SystemInfo.isFileSystemCaseSensitive: false SystemInfo.OS: Mac OS X 10.11.6 wasChildrenLoaded: false in the dir: file:///; children: [Sanity.php (8408), sanity.php (8421), ]
PhpStorm 2016.2
Build #PS-162.1121.38, built on July 12, 2016
JRE: 1.8.0_76-release-b216 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

@hlev Thank you for this report.
However it's not caused by .ignore plugin - it's addressed to the IDE itself. I have already described this problem with: https://github.com/hsz/idea-gitignore/issues/172#issuecomment-166861625


Inform user how to exit

The user is not informed that typing "-1" will exit the program. This needs to be fixed.

I suggest how about we Display a welcome message to the user before we get into the do-while loop. And in that welcome message we can tell the user -what the program does and how to exit the program as follows. "Welcome to iBonWe Triangle Memes Generator. This is an awesome Triangle Memes generator. You can create as many triangle memes as you want but if you want to stop at any time enter (-1) for height." . What do you think? Maybe change up a few words at your discretion.

I love it! Maybe we should do this after I've attempted the other two issues? Right now, with the current program, that message is a little misleading, lol.

Lol that is true. But I think this is a quick fix and can quickly be implemented. Lets try and get this fix out first. A user won't be able to know how to stop the program. So I think it is much better to first get this in so that this bug is fixed before we add new functionality -that can take time.

@HackerGal I think the stop should be put on the first option and not height. The first option will be the shape that we want to select. Maybe one of the options should be "Stop". Lol, there is thankfully no polygon shape named "Stop" :). What do you think?

I added the above, what do you think?

Shall we ask the user after the welcome msg if they want to continue or to stop?

This issue has been resolved in pull request #17.


Add library prefix in error message

Would be nice to have the library name prefix in the error message (similar to how OZ has Ownable: ... error message, maybe Voting lib should have Voting: ... ?
wdyt @Orland0x ?

yep agree, will do all this library/extensibility stuff on a single PR once cairo 0.1.0 stabilizes


Turn off "auto-loading" of next page

Hey.
I've recently updated from ancient version of twitter gem and was really incredibly surprised with SearchResults auto-loading next page behavior.
At first, "transparent enumeration" seems witty and ruby-ish thing, yet... Let's look at the simplest case:
client = Twitter::REST::Client.new(....)
client.search('ruby').count

(Don't try this at home!)
 For me, one of two things:

Either "count of results received by 1 API call"
Or "count of all available results for 'ruby' query" (only in case, if such a count can be received with 1 API call, e.g. if Twitter has corresponding endpoint)

What will happen in fact? The very strange thing: Enumerable#count will be called, which implicitly calls #each, which, in our case, will silently grab half of the Internet for just returning one number. I don't think this behavior produces least surprise.
More practical example: imagine Resque/Sidekiq task, which is scheduled to grab one page of search results, then (if next page needed) reschedule itself in future (for rate limiting). It seems very common approach to gather social media information.
So, what this task needs from search results?

get "current page" tweets (which is no easy way to do: either it should use raw #to_h, or do first(page_size))
get "if next page exists" and "what's next page address", which is no ease also.

I'm really disappointed and would be really happy to know some reasonable ways to work with SearchResults in a more convenient way.

If you want “raw” access to search results, you can call to_h on it, as you suggest above.
The data you seek is in the :search_metadata hash:
search_results  = client.search('ruby')
search_metadata = search_results.to_h[:search_metadata]
search_metadata[:count]        #=> 100
search_metadata[:next_results] #=> "?max_id=639478378723168255&q=ruby&count=100&include_entities=1"

You say this is not easy. How would you propose making it easier?

See, I understand about #to_h, as I've already written:

...which is no easy way to do: either it should use raw #to_h...

The thing is I don't want raw data. I want nicely wrapped objects easy to work with.
What I'm talking about is current state of things both unnecessary "easy" (its easy to do dumb thing unintentionally, like in my first example) and unnecessary complicated (like in my second example).
I'm confident most API wrappers should, in first place, do access to API simpler and more ideomatic for target language -- while providing all the features source API provide.
The way it seems reasonable for me is next:
# Current page
result = client.search('ruby', count: 30)
result.count # => 30
result.to_a # => Array of 30 Tweets
result.each do |tweet|
  # iterating through 30 tweets
end

# Next page
results.next_page? # => true
results.next_page_params # => {max_id: ..., since_id: ..., q: ...}

next_page = client.search(results.next_page_params) # => SearchResults
# and (optional) shortuct of above:
next_page = results.fetch_next_page # => SearchResults

That's it.

What you’re describing is the old interface to this gem. It doesn’t work like that anymore. The idea was to further abstract away the HTTP layer. That said, you can get the behavior you’re looking for with a very small modification to your code:
# Current page
results = client.search('ruby').take(30)
results.count # => 30
results.to_a # => Array of 30 Tweets
results.each do |tweet|
  # iterating through 30 tweets
end

If you want to fetch more than 30 results, you don’t need to know anything about pages or URLs or params. You can just ask the object for more results. Another nice feature of Twitter::SearchResults being Enumerable is that it can be converted to an Enumerator that yields results.
results = client.search('ruby').to_enum
30.times do
  tweet = results.next
  # do something with the first 30 tweets
end
30.times do
  tweet = results.next
  # do something with the next 30 tweets
end

When you try to yield the 101st tweet, the enum will transparently fetch 100 more tweets.

I understand that upgrading from an older version of this library may have been a jarring experience for you. I did my best to ease the transition from version 4 by documenting the changes in an upgrade guide when version 5 was released. I’d encourage you to read that guide, if you haven’t yet. The benefits of the Enumerable interface are enumerated there, so I won’t repeat them here. For those who were familiar with the old interface, the changes to the interface may come as a surprise, but for new users of the library, who are familiar with Ruby’s Enumerable interface, it should seem quite familiar and easy to use.
It is true that calling #count on an Enumerable may be an expensive operation. Unfortunately, Twitter does not provide any other way to determine the total number of search results. Of course, if the total number of results for a query is under 100, #count returns instantaneously, so it is as optimized as possible.
Version 5 of this library was in pre-release from September to November 2013. That would have been a good time to test out the new interface and provide feedback. Two years later, that ship has sailed. The old interface is gone and it’s not coming back.
If you want to keep using an older version of the gem, you’re free to do so—but I won’t be maintaining it.

Fair enough.
Sorry for this rant, just was VERY surprised with difference in mental models.
Thanks for your work!


Image support

Feature request: ability to add an image to the toast

Hi, @saturnial.
Currently JLToast doesn't have plan to support images.
Alternatively, you can access to JLToastView via JLToast.view and add image view.
Or you can make a new PR!
Thanks.


Remove ingestion filtering flag

PR Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[ ] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What

This change removes the flag: --exp-enable-ingestion-filtering since it is now enabled by default.
It also hides the flag from the --help output.
Give a DEPRECATION warning if a user still specifies the flag.
Integration tests to test the change.

Why
Ingestion filtering is now always enabled and does not require user specified flag.
Known limitations
[TODO or N/A]

@aditya1702 , you can add Closes #4906 in the pr description, and then GH will automatically link the issue to this PR and also migrate the status of the issue to closed when the pr merges.


[Feature]: Confirmation Mode for Agent

What problem or use case are you trying to solve?
Context: https://opendevin.slack.com/archives/C06P5NCGSFP/p1717733829670139
If the agent is NOT operating inside a sandbox or if a user care a lot about not letting the agent mess around with their environment, we should better let user confirm action (command/code) before the agent execute them.
Describe the UX of the solution you'd like
Add a confirmation mode for OpenDevin: A checkbox on the frontend; when enabled (checked), the frontend will prompt for the user's approval for every action the agent wants to execute.
Do you have thoughts on the technical implementation?
When confirmation mode is on, we probably need to add a check in the agent controller for every "executable" action -- the action can only be sent off for execution when it receives user confirmation from the front end.
Describe alternatives you've considered
Additional context

This feature is now implemented. Closing.


Look into py-nng as a possible transport layer

What was wrong?
Py-nng (nanomesage next generation) looks like a good potential fit for a blazingly fast transport layer.
https://pynng.readthedocs.io/en/latest/index.html

Yes, a very brief look at NNG and the python bindings look very promising.

I think we aren't doing this anytime soon.


build meta wheel does not respect metadata_directory per PEP-517

From https://www.python.org/dev/peps/pep-0517/#build-wheel:

If the build frontend has previously called prepare_metadata_for_build_wheel and depends on the wheel resulting from this call to have metadata matching this earlier call, then it should provide the path to the created .dist-info directory as the metadata_directory argument.

https://github.com/pypa/setuptools/blob/master/setuptools/build_meta.py#L208 though ignores the passed in metadata_directory argument and goes to regenerate this information in the root of the project.
    def build_wheel(self, wheel_directory, config_settings=None,
                    metadata_directory=None):
        return self._build_with_temp_dir(['bdist_wheel'], '.whl',
                                         wheel_directory, config_settings)

IMO the passed directory is not necessary. It will certainly match the recently generated one.

First and foremost it's mandated per PEP-517, so you MUST conform to that expectation.
Second, you can't really make the assumption that it will match. For example, the user might have invoked manually (aka via python setup.py, and then the metadata directory defaults to the default location (in-place of the source tree at the moment); while frontends may want to move the metadata directory out of the source tree into a frontend specific folder (such as .tox). So I'm not sure how you can make that certainly assumption, without causing headaches and subtle bugs.

I think the current backends always rebuild dist-info as part of the wheel build. The newly rebuilt dist-info is very likely to match the one built moments earlier by the other hook

The newly rebuilt dist-info is very likely to match the one built moments earlier by the other hook

I'm not sure I follow how this is related to the fact that this hook should take and use the metadata_directory, maybe the frontend wants to use the content of the folder afterward, not?

Updated OP's post to a permalink: https://github.com/pypa/setuptools/blob/2878bad0df158243d1e6601110ec12868e201d81/setuptools/build_meta.py#L214

This is also discussed in pypa/build#217. Although setuptools is free to rebuild dist-info in build_wheel (instead of using the content of metadata_directory), it should at least verify the built wheel indeed contains identical metadata to those provided in metadata_directory. #2529 is a concrete example of setuptools failing expectations due to this nonconformance.
This has also been raised to flit (takluyver/flit#389) and poetry (python-poetry/poetry#1078).

This is also discussed in pypa/build#217. Although setuptools is free to rebuild dist-info in build_wheel (instead of using the content of metadata_directory), it should at least verify the built wheel indeed contains identical metadata to those provided in metadata_directory. #2529 is a concrete example of setuptools failing expectations due to this nonconformance.
This has also been raised to flit (takluyver/flit#389) and poetry (python-poetry/poetry#1078).

Would it be easier to remove this requirement from the specification since no backend found it worthwhile
On Sat, Jan 30, 2021, at 8:17 AM, Tzu-ping Chung wrote:

This is also discussed in pypa/build#217 https://github.com/pypa/build/pull/217. Although setuptools is free to rebuild dist-info in build_wheel (instead of using the content of metadata_directory), it should at least verify the built wheel indeed contains identical metadata to those provided in metadata_directory. #2529 https://github.com/pypa/setuptools/issues/2529 is a concrete example of setuptools failing expectations due to this nonconformance.

This has also been raised to flit (takluyver/flit#389 https://github.com/takluyver/flit/issues/389) and poetry (python-poetry/poetry#1078 https://github.com/python-poetry/poetry/issues/1078).

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/pypa/setuptools/issues/1825#issuecomment-770211241, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABSZERQ3PENSZTRR5ZWKN3S4QBGZANCNFSM4IM4JSKQ.

But then what happens if a backend return different things from build_wheel and prepare_metadata_for_build_wheel? It is certainly possible to remove the requirement for backend to make use of the metadata_directory argument, but the backend should still somehow return consistent things from the two hooks. Otherwise the frontend would be stuck and can’t proceed. The discussion needs to be moved to discuss.python.org if you want to do that so frontend authors can join the conversation.

setuptools-ext is a thin wrapper around setuptools.build_meta allowing to specify some more metadata fields such as Requires-External, which aren't otherwise supported by setuptools. Passing around the metadata_directory (ref) would have been really useful to rely upon.
If setuptools correctly followed PEP 517 (i.e. does not just ignore the metadata_directory), we could simply call prepare_metadata_for_build_wheel before dropping in some additional files, or modify existing ones, under .dist-info subdir, and then call build wheel.
However since that didn't work, instead setuptools-ext has to call build_wheel, and then completely rewrite the result, which is a lot more complicated (considering that modifying the METADATA file also invalidates the RECORD file!)
This "tweaking" of the build by wrapping the hooks is apparently an expected usage because it's documented as a way for an in-tree build backend to augment the build dependencies here. It's unfortunate that we can't reliably use a similar technique for prepare_metadata_for_build_wheel and build_wheel.

I just encountered exactly the same thing as seen by setuptools-ext - modifying the metadata in prepare_metadata_for_build_wheel would be super useful (and PEP-517 spec compliant).
I'm guessing it isn't already easy to build using an existing dist_info directory with setuptools, hence the reason for not having implemented this already?

I'm guessing it isn't already easy to build using an existing dist_info directory with setuptools, hence the reason for not having implemented this already?

Precisely. Things are complicated because of the division between the setuptools and wheel packages.
Right now the METADATA file should be similar to the PKG-INFO considering that there is no other packaging wrapping setuptools. So setuptools/wheel kind of try[^1] to comply with the PEP requirements[^1] as long as there is no other "man-in-the-middle" modifying the files. I believe other backends also adopt the approach of re-generating the file.
[^1]: Tries but probably fails in some edge cases, because it is a difficult problem.
[^2]: The PEP does not necessarily excludes the possibility of re-generating the files, but it requires them to a "non-modified" version of each other...


apiv2 add default network in specgen

when a network is not provided, we should set a default mode based on rootless or rootfull.
Fixes: #5366
Signed-off-by: Brent Baude<EMAIL_ADDRESS>

Thanks @baude . I checked it locally and it fixes the issue for me.

/hold
/lgtm

LGTM

/hold cancel