The scanning speed is slow

I didn't find any more information about API calls in the java language in twain_library, especially for operations like callbacks, but luckily I found it in Twain_library-Java. However, I found that the scanning speed of TWAIN_library-Java is slower than that of twain_library. It always stops after scanning one piece, sometimes for 2~3 seconds or even longer, which is obviously unacceptable in practical applications. I want to know the reason and hope to find a solution. I guess there is some parameter to control this speed, but I still can't find it, hope the author can give some guidance

You should produce a TWAIN log that contains the actual time stamps of the operations.  See the TWAIN logging demo.
Other than that, I cannot answer your question about the slow scanning speed without knowing exactly the scanner model, what type of acquisition you are using (File, Native, etc.)

You should run the DTWDEMO64U.exe program, as that one has many more options than the SimpleAcquire program.  The call stack log is missing from the log you produced.
I do not have any of the scanners you mentioned, so I can't test this myself.  However, I took a look at the twain_library_demo_log, and I see this sequence:
[2024-12-04 14:41:52.769] Thread [39756] Input:
DSM_Entry(pSource=000002168C381328H, pDest=000002168C3C01E4H, DG_CONTROL, DAT_PENDINGXFERS, MSG_ENDXFER, TW_MEMREF=0000008354FFD2C2H) called
Decoded pSource:
{
    Id=1
    Version Number=1.0
    Version Language=13
    Version Country=1
    Version Info=<?>
    ProtocolMajor=2
    ProtocolMinor=5
    SupportedGroups=DG_CONTROL, DG_IMAGE, DG_AUDIO, DF_DSM2, DF_APP2
    Manufacturer=<?>
    Product Family=<?>
    Product Name=<?>
}

Decoded pDest:
{
    Id=2
    Version Number=21.1
    Version Language=13
    Version Country=1
    Version Info=Aug. 28. 2020
    ProtocolMajor=2
    ProtocolMinor=4
    SupportedGroups=DG_CONTROL, DG_IMAGE, DF_DS2
    Manufacturer=Panasonic
    Product Family=Panasonic Document Scanner
    Product Name=Panasonic KV-SL1077/66/56 MK2
}

TW_MEMREF is TW_PENDINGXFERS:
{
    Count=0
    EOJ=0
}
[2024-12-04 14:41:53.623] Thread [39756] Output: return code from DSM=0 (TWRC_SUCCESS)

Note the starting time stamp of [2024-12-04 14:41:52.769] and the ending time stamp of [2024-12-04 14:41:53.623] -- that is close to 1 second.
The operation that is occurring in that time frame is the following processing by your TWAIN driver of the TWAIN triplet DG_CONTROL / DAT_PENDINGXFERS / MSG_ENDXFER.  This triplet is querying your device to test if there are more pages to scan.  Your device responds in the Output (that is the TW_PENDINGXFERS value) that there are no more pages to scan.
There are no operations in between the call to query your device, and your device responding back with the results.  Thus the conclusion from the log it is the device that is causing the delay, not DTWAIN.  There is a similar issue starting at timestamps [2024-12-04 14:41:51.911] and [2024-12-04 14:41:52.733], where it takes close to a second for the device to respond that "there are no more images to scan".
If you take the log and place into a good text editor, and only showed the lines with "Thread" in them, you will see the order of the timings, and clearly the big differences are

The time it takes to show the UI when invoked (DG_CONTROL, DAT_USERINTERFACE, MSG_ENABLEDS at time stamp [2024-12-04 14:41:37.810] and [2024-12-04 14:41:39.041]).
(My assumption): The time it takes the user to press the "Scan" button, plus the time it took the device to move the paper through the scanner (The transitioning of the TWRC_NOTDSEVENT and TWRC_DSEVENT).   So if my assumption is correct, it takes about 6 to 8 seconds for these actions to occur.
The time it takes for the device to report whether there are more pages to scan (what was mentioned earlier, taking close to 1 second).

Also, in the log you produced for Java, you are missing this important information that did show up in the non-Java log, and that is the interaction that is going on between DTWAIN and the TWAIN DSM (TWAINDSM.DLL) and your device.  You are only listing the calls made to DTWAIN, but not the communication between DTWAIN and TWAIN itself.
With the added layer of the JNI plus your callback code in Java, it is understandable why the Java code would take longer, but the underlying issue seems to be that your scanner drivers are having an issue with reporting the number of pages that are left to scan.  This could be an issue with your version of TWAINDSM.DLL, but I do not know what version you are using with the logs that you have given me.  This is where using DTWDEMO64U would have these details.

Possibly your scanners support the following capabilities (you should give me the full capability list -- you can get it from the logs, running the DTWDEMO64 program, or even get it from Java):
CAP_AUTOSCAN and CAP_MAXBATCHBUFFERS.
If your device supports these capabilities, then possibly you can set these values and determine if they make a difference.   You can test, get, and retrieve the maximum number of buffers your device supports by calling the getMaxBatchBuffers() function from the TwainSource.getCapabilityInterface() function (see the GetSetCapabilities.java demo program).
If your device does support these capabilities, and the max batch buffers supported is greater than 0 (or 1), you need to call the setAutoscan() first, and then the setMaxBatchBuffers second.  Of course, if your device does not support these capabilities, then nothing will happen.
Unfortunately, the current Java code doesn't set these capabilities when acquiring an image.  The OptionsApplyer doesn't set the autoscan and maxbatchbuffers.  In the next update of the Java library, I will add this to the options that are automatically applied.
For further information on high-speed scanning possibilities, it is discussed here in the DTWAIN documentation.

I updated the development branch with the AutoScanningOptions.
Your code could look something like this (before the call to acquire() the pages):
TwainSource theSource;
//...
// Assume that theSource has already been selected and opened.
//...
CapabilityInterface ci = theSource.getCapabilityInterface();
if ( ci.isMaxBatchBuffersSupported() )
{
     List<Integer> intList = ci.getMaxBatchBuffers(ci.get());
     int num = intList.get(0);  // See notes after this code sample
     AutoScanningOptions opts = theSource.getAcquireCharacteristics().getAutoScanningOptions();
     opts.enableAutoScan(true).setMaxBatchBuffers(num);
}

Note that the call to getMaxBatchBuffers may return more than one value.  Those values are either going to be a list of valid buffer values, or if you get 5 values, it more than likely is a range (low, high, step value, current, default).  If you get only one value in the list, then that is the only value available.  Set num to the appropriate value.
The test is done initially to make sure your device supports this.

1.You suggested me to run DTWDEMO64U.exe to get more information, I found and ran it in twain_library\binaries\64bit\64bit_FullDemo\DTWDEMO64U.exe, but I didn't get the effect I wanted. It still has a short pause while scanning, just like in my previous tests. I printed the log of its operation to the file:
(Supplement: Here I use DTWDEMO64U.exe from twain_library 5.5.4)
dtwdemo_exe_log.log
2.You mentioned that I only listed calls to DTWAIN, but not the communication between DTWAIN and TWAIN itself, so I reset the log level and rerunned the scanner: logging.setVerbosity(TwainLogger.LoggerVerbosity.MAXIMUM)
(But I'm not sure if this is what you mean by "communication between DTWAIN and TWAIN itself," so please enlighten me if I'm wrong.)
(Supplement: The logs here are from twain_library-java 1.5 TinyApplication.java)
twain-java-demo-log.log
3.You analyzed the contents of twain_library_demo_log yesterday, and you think that there is a problem with the scanner driver reporting the number of remaining pages. I should note that twain_library_demo_log comes from twain_library 5.5.3, and as I mentioned earlier, the scanning process with the twain_library library is very smooth, one scan after another without any break. I think the problem you mentioned should occur when the scanner program is started, because in the actual test, we did find this problem, when the program runs to api.DTWAIN_AcquireNative, the user UI provided by the scanner always appears after 1-2 seconds. I can almost confirm that this is the problem of the scanner manufacturer, because I once tested a scanner in China, and when the program runs to api.DTWAIN_AcquireNative, the scanner UI always pops up in time.
4.You mentioned the possible version of TWAINDSM.DLL, so I specially downloaded TWAINDSM.DLL from twain_library 5.5.4, and I found that its latest update was last year. I figured my TWAINDSM.DLL would also be up to date (since I only started using twain a few months ago), but I still re-downloaded it. I put it in C:\Windows\System32 and ran DTWDEMO64U.exe and the result was not what I wanted. I put it back in twain_library-java 1.5 (I reset java.library.path), but the results are still no better.
5.You mentioned CAP_AUTOSCAN and CAP_MAXBATCHBUFFERS, and I have tested them as suggested. . Unfortunately, ci isMaxBatchBuffersSupported () returns false, ci.GetMaxBatchBuffers (ci.get()) returns a collection of the empty, Then I won't be able to try the next setMaxBatchBuffers()

Forgive me for not replying to your comments in time, because I have been using the test for a long time, and this is the first time for me to contact the docking work of the scanner, so I don't know much about many contents.
I am afraid that I have not clearly stated my problem, so I will restate it:
Suppose I scan ten pieces of A4 paper: ABCDEFGHIJ
In a typical case (for example, with twain_library 5.5.3), the scan would work like this:
A - 1ms - B - 1ms - C - 1ms .....  -J
In the current case (for example, with twain_library-java 1.5), the scan would work like this:
A - 100ms - B - 100ms - C -100ms ......  -J
In other words, the ideal effect should be: the time interval between the "scan end" of the previous paper and the "scan start" of the following paper is very short and almost imperceptible (such as 1 to 5ms).
The current situation is that the time interval between the "scanning end" of the previous paper and the "scanning start" of the latter paper can be clearly perceived (for example, 100~500ms).
To my wonder, the scanning process of twain_library 5.5.3 is smooth, while the scanning process of Twain_library-Java 1.5 has obvious time intervals, and the scanning process of DTWDEMO64U.exe also has obvious time intervals, which makes me confused. Is there anything special about twain_library?

I just rerun DTWDEMO64U.exe to try to find something new out of it, and I did find something. When I selected Acquire Native for a scan, DTWDEMO64U.exe first gave me a Acquire Setting dialog, I checked "Use Document Feeder" and was surprised to see how smooth the scan process was.
I immediately went to twain_library - global search "Document Feeder" in Java 1.5, several results are obtained, but it seems that only AutoAdjustOptions. EnableSenseMedium () seems to be that can be used, So I added the following code to TinyApplication.java:
AutoAdjustOptions autoAdjustOptions = source.getAcquireCharacteristics().getAutoAdjustOptions();
autoAdjustOptions.enableSenseMedium(true);
Then the result was to my great disappointment, he was still not smooth.
Then I went back to DTWDEMO64U.exe and tried to verify that there was some time between scans without "Use Document Feeder" checked, but then something weird happened. Even if I didn't check "Use Document Feeder", The scanner still works smoothly. I tried it again several times and the results were always smooth, even after I restarted the computer...
I couldn't help but wonder if my memory was messed up, or if the results of my test a few hours earlier were the same? But I clearly remember that DTWDEMO64U.exe did not work so smoothly when scanning...
While I was writing this reply, I opened DTWDEMO64U.exe again, I didn't check "Use Document Feeder" this time, and it actually started generating time intervals again. To make sure of this result, I scanned again without checking "Use Document Feeder" and sure enough there was a time gap. Then I checked "Use Document Feeder" to test again, and the next few scans went smoothly as expected.
Now, I'm even more confused...
This is the log that DTWDEMO64U.exe smoothly scanned:
dtwdemo_smooth_log.log
(The non-fluent scan log I provided in the last comment)

In the twain-java-demo log, there is this:
[2024-12-05 11:01:34.013] Thread [26180] Input:
DSM_Entry(pSource=000002156A0265C8H, pDest=000002156A070BD4H, DG_CONTROL, DAT_PENDINGXFERS, MSG_ENDXFER, TW_MEMREF=000000B7A9BFCCB2H) called
Decoded pSource:
{
    Id=1
    Version Number=1.0
    Version Language=2
    Version Country=1
    Version Info=<?>
    ProtocolMajor=2
    ProtocolMinor=5
    SupportedGroups=DG_CONTROL, DG_IMAGE, DG_AUDIO, DF_DSM2, DF_APP2
    Manufacturer=<?>
    Product Family=<?>
    Product Name=<?>
}

Decoded pDest:
{
    Id=2
    Version Number=21.1
    Version Language=13
    Version Country=1
    Version Info=Aug. 28. 2020
    ProtocolMajor=2
    ProtocolMinor=4
    SupportedGroups=DG_CONTROL, DG_IMAGE, DF_DS2
    Manufacturer=Panasonic
    Product Family=Panasonic Document Scanner
    Product Name=Panasonic KV-SL1077/66/56 MK2
}

TW_MEMREF is TW_PENDINGXFERS:
{
    Count=0
    EOJ=0
}

[2024-12-05 11:01:36.607] Thread [26180] Output: return code from DSM=0 (TWRC_SUCCESS)

It is taking more than 2 seconds for the device to report that there are no pages left to scan.  This is basically the same issue that I mentioned in the previous reply.
Note that this is not really directly a Java issue -- the time stamps above are occurring here in the C++ code.  That one line of code is what the section of the log I pointed out is invoking -- it is the basic communication lane between DTWAIN, the TWAIN DSM, and your scanner driver.   DTWAIN is actually waiting for the function to return back the information (scanner driver -> TwainDSM -> DTWAIN).
The only thing I can say at this point is to try and see if you can call DTWAIN_AcquireNative() directly from Java through the API Handle that you can get from the TWAIN Source.  It doesn't matter if everything hasn't been set up, you should be able to start the scanning process, just to test the speed of the scanning process (right now, the actual image data isn't important).
If directly calling DTWAIN_AcquireNative() makes a difference, then quite possibly that one (or more) of the options that are being applied by the OptionsApplyer() logic is interfering in the process.  If the scanning process is faster with a direct call, then I would slowly comment out the OptionsApplyer() code to see which options may be causing the issue.

This was definitely an exciting discovery, and I did a scan as you suggested by calling api.DTWAIN_AcquireNative(). I ran multiple alternate tests on source.acquire() and api.DTWAIN_AcquireNative() and almost confirmed that, Calling DTWAIN_AcquireNative() directly does make scanning work smoothly.
TwainSession session = new TwainSession();

TwainSource source = session.selectSource();
if (source.isOpened()) {

// source.acquire();

    DTwainJavaAPI api = session.getAPIHandle();
    TwainAcquisitionArray acquisitionArray = api.DTWAIN_AcquireNative(source.getSourceHandle(), 2, -1, true, false);

    if (acquisitionArray != null) {
        com.dtwain.test.displaydialogs.ImageDisplayDialog idg = new com.dtwain.test.displaydialogs.ImageDisplayDialog(acquisitionArray.getAcquisitonArray(), DTwainConstants.FileType.BMP, true);
        idg.setVisible(true);
    }
}

So I tried to find out which options were interfering with the scan by commenting out some of the options in OptionsApplyer, but the results were confusing because it sometimes worked well and sometimes didn't when commenting out the same options multiple times. I suspect that calling DTWAIN_AcquireNative() may be affecting the results of the next run. If so, does that mean that some configuration files are being modified each time the program is started? Or is it not because of OptionsApplyer? But this is only my personal guess, the specific reason depends on your verification.
Here are the results of my simple test (based on the following tests, I guess that each run of the program has an impact on the next run of the program) :
Call DTWAIN_AcquireNative(): Smooth scan
Call source.acquire() and comment out all options in TwainSource.startApply() : smooth scan
Call source.acquire() and uncomment all options in TwainSource.startApply() : not smooth scanning
Use source.acquire() and comment out all options in TwainSource.startApply() : not smooth scanning
Call source.acquire() and uncomment all options in TwainSource.startApply() : not smooth scanning

I think quite possibly the first time you ran with the options uncommented, this set the scanner in a state where the previous options were used.
You can try to reset all the capabilities by calling DTWAIN_SetAllCapsToDefault and see if that makes any difference between scans.
I am working on getting the OptionsApplyer to be a little bit more flexible, where you can specify the options to set as well as the priority of setting the options when acquiring the images.  That won't be available until the next version.

I seem to have found the problem, and my preliminary conclusion from multiple rounds of testing is that the following line of code affects the scanning speed:
OptionsApplyer.apply(this, this.acquireCharacteristics.getPaperHandlingOptions());
The DTWAIN_SetAllCapsToDefault method you provided does reset everything. I ran it after the startApply() method during the test. Here are the last few times I tested it:
startApply() applies all options and calls DTWAIN_SetAllCapsToDefault: Smooth scan
startApply() comments all options, applies only PaperHandlingOptions, does not call DTWAIN_SetAllCapsToDefault: scanning is not smooth
startApply() applies all options without calling DTWAIN_SetAllCapsToDefault: scanning is not smooth
startApply() applies all options and calls DTWAIN_SetAllCapsToDefault: Smooth scan
startApply() applies all options except PaperHandlingOptions and does not call DTWAIN_SetAllCapsToDefault: smooth scan
startApply() comments all options, applies only PaperHandlingOptions, does not call DTWAIN_SetAllCapsToDefault: scanning is not smooth
Within the scope of my current ability, I have reached the above results, but the specific conclusion needs to be verified by you.

Can you run the TwainCapListingDemo.java program to get a list of all the capabilities for your scanner?  I don't think I got a listing from you with the capabilities.

In OptionsApplyer.apply, can you slowly comment out the various set lines to see which aspect of the paper handling causes the issue?

Obviously there is one or more paper handling related functions from PaperHandlingOptions.java that is causing the issue.  I am curious as to which one it is, but need the capability listing to verify.

I ran the TwainCapListingDemo.java program and got a list of features:
TwainCapListingDemo_result.txt
In PaperHandlingOptions' OptionsApplyer.apply(), after several tests, I found that the problem was isAutoFeedEnabled(). The scanner worked smoothly when I made the following changes to the program:
boolList.set(0, true);

ci.setAutoFeed(boolList, op);

And when I reset it to false, the scanner was having problems again.
I tried to set AutoFeed in TinyApplication.java, but it didn't seem to work:
//....
TwainSource source = session.selectSource();
if (source.isOpened()) {
     CapabilityInterface ci = source.getCapabilityInterface();
     ci.setAutoFeed(Arrays.asList(true), ci.set());
     source.acquire();
}

Thank you for this information.
In the TinyApplication, you should set the auto feed by using the AcquireCharacteristics:
TwainSource source = session.selectSource();
if (source.isOpened()) {
          AcquireCharacteristics ac = source.getAcquireCharacteristics();
          ac.getPaperHandlingOptions().enableAutoFeed(true);
          source.acquire();
}

The reason why you should do this using the acquire characteristics is that when acquire() is called, the apply() logic in TwainSource uses the acquire characteristics to set the various capabilities.  So basically your code had physically set the capability in TinyApplication, but it was overwritten as soon as apply() was called for PaperHandlingOptions when the acquire() was done.
In general (as of this version of the library), you should use the AcquireCharacteristics to logically set the capabilities, and let the apply() logic actually set the capabilities of the device using the information in the AcquireCharacteristics.  However, you can always use the CapabilityInterface to get the capability values.
In a future version, this would be more customized, where you can actually set the capabilities (similar to what you did with the TinyApplication) and have the settings "stick" without being overwritten.

Can you try the development version without any coding changes on your end (except that the jar file is now 1.5)?
The scanner should run correctly, but need to verify.  In the meantime for version 1.4 (current version), try setting the enableAutoFeed(true), as mentioned in the previous comment.

Also, since your device supports ICAP_EXTIMAGEINFO, if you are not interested in the extended image information (barcodes, patchcodes, etc.), then you can turn this off (this may speed up the scanning).
TwainSource source;
//...
source.getAcquireCharacteristics().getImageInformationOptions().setExtendedImageInfoAvailable(false);

This will turn off the scanner attempting to get information that you may not care about.
For more information, see the ExtendedImageInfoDemo.java demo program.  If anything in the demo is something you are interested in, then call setExtendedImageInfoAvailable to true (or leave it unset, as the default is true).

I have tried the method you provided in TinyApplication and my project respectively(ac.getPaperHandlingOptions().enableAutoFeed(true)), and it has proved to be an effective method. I saw the code you submitted for the development branch, but I don't think there seems to be a need to change the version now, as the method you provided is sufficient to solve the problem. In the future, if there are other problems, I may consider looking for a solution from the latest version.
Thank you very much for your help to solve my problem, I think this problem can be closed.


Automated cherry pick of #9408

Cherry pick of #9408 on release-6.3.
/cc  @M-ZubairAhmed
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.


Any chance Waves will be added to npm registry?

It would be really nice to manage updates for Waves library, if it was published on npm. Any chance this could happen?

https://www.npmjs.com/package/node-waves


Disks is localized in path of one opened resource group

Storage Explorer Version: 1.11.0
Build: 20191126.2
Branch: master
Language: Chinese(zh-CN) / Chinese(zh-TW)
Platform/OS: Windows 10/ Linux Ubuntu 18.04/macOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer.
Open 'Settings' -> Application (Regional Settings) -> Select 'Chinese (simplified)' -> Restart Storage Explorer.
Expand Disks -> Open one resource group.
Hover the mouse to the opened resource group tab.
Observe the shown path.

Expect Experience:
Disks is not localized.
Actual Experience:
Disks is localized.

File: loc\en\src\components\se-managed-disks-extension\resources\ManagedDisks.json
ID: 0; "Disks"
SRC: Disks
TGT: 磁盘
File: loc\en\src\Standalone\resources\Shell.json
ID: 0; "TitleDisks"
SRC: Disks
TGT: 磁盘

@v-xianya Please is it possible provide ENU screenshot ?

@lukaschal
ENU screenshot

On review.

@lukaschal

This issue is fixed in zh-CN.

This issue still reproduces in zh-TW.

Unlocalized on all languages except RUS.

Verified fixed in master.

Verified on the latest build master/ 20191212.4
This issue still reproduces in Chinese(zh-TW). So we re-open it.

Both standalone instances "Disks" on zh-tw are unlocalized in a loc repository.
https://devdiv.visualstudio.com/DevDiv/_git/StorageExplorer?path=%2Floc%2Floc%2Fzh-Hant%2Fsrc%2FStandalone%2Fresources%2FShell.json.lcl&version=GBmaster
  <Item ItemId=";TitleDisks" ItemType="0" PsrId="306" Leaf="true">
    <Str Cat="Text">
      <Val><![CDATA[Disks]]></Val>
      <Tgt Cat="Text" Stat="Loc" Orig="New">
        <Val><![CDATA[Disks]]></Val>
      </Tgt>

https://devdiv.visualstudio.com/DevDiv/_git/StorageExplorer?path=%2Floc%2Floc%2Fzh-Hant%2Fsrc%2Fcomponents%2Fse-managed-disks-extension%2Fresources%2FManagedDisks.json.lcl&version=GBmaster&_a=contents
  <Item ItemId=";Disks" ItemType="0" PsrId="306" Leaf="true">
    <Str Cat="Text">
      <Val><![CDATA[Disks]]></Val>
      <Tgt Cat="Text" Stat="Loc" Orig="New">
        <Val><![CDATA[Disks]]></Val>
      </Tgt>

Verified.


feat: ensure "accept-ranges" header is passed trough on static files for S3 and Azure adapters

Added "accept-ranges" header to the list of header passed trough on S3 and Azure adapter.
I checked the GCS metadata object, and it seems that the accept-ranges header is not returned, at least when using the local emulator, so I'm not sure if we should handle it somehow or just skip it.

@AlexPagnotta THANK YOU for your patience here! Merged.


Add edit script button

buh

wait i forgot to check for saveable string

okay fixed. i like this implementation much better as it doesnt change ScriptManager, but the code feels kinda bloated so certainly open to changes

Did some things to make it less debloated (addresses over-nesting and moves things to nice methods)
I'm probably gonna move edit and delete to a right click menu after merge

code looks much cleaner, thanks for changes


changed some fields on_delete to SET_NULL

closes #317

a couple fields are now set to null when the object they referenced is deleted, namely:

coach field of Suggestion
student and coach fields of ProjectSuggestion
sender and receiver fields of SentEmail

this should be better than just cascade deleting (for example: deleting a suggestion when the coach that made it is deleted)
i think it woul be nice if in the frontend it said something like 'this user/student was deleted' instead of 'null'

i agree, maybe we wait to merge this until there is a pr ready for the frontend side of this?

okay, i will change this pr to draft to make sure it doesn't accidentally get merged

Oops I see that my earlier comment wasn't so clear, but what I meant was that we could merge this into a branch like updated-delete and then use that branch as the branch for the FE updates.

Codecov Report

Merging #319 (d927e1b) into main (251c9fb) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #319      +/-   ##
==========================================
+ Coverage   94.78%   94.79%   +0.01%
==========================================
  Files          12       12
  Lines         824      826       +2
==========================================
+ Hits          781      783       +2
  Misses         43       43

Impacted Files
Coverage Δ

be/osoc/common/models.py
100.00% <ø> (ø)

be/osoc/common/serializers.py
97.97% <100.00%> (+0.02%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Duty Status

Command that sets duty status in the cad
Example:
/status <10-8/10-80/etc.>
Also exports to set and get current status.
(I don't know my 10 codes)

Wil see what’s possible later

What’s bugging me is that depending on the server and the state for example it’s portraying, some may have differences in the 10 codes.
For nearly all 10-8 and 10-7 are the same, but the rest vary.
Example for 10-80
General purpose: Chase in progress
Norfolk, Virginia: Critical Call (Code Red)
Walnut Creek, California:  Explosion
So if this is gonna be made, it’s probably gonna be:
10-8 On duty
10-7 off duty
That’s my opinion at least

I could possibly fetch all the 10 codes (STATUS_CODE)? This will then allow them to select whichever one they want, I have some ideas and trying to write them down currently

Idea:

Fetch the current user via game identifier
Command opens a menu
Able to select any 10-code (STATUS|SITUATION code)


Bloomberg Stream

Hi, It looks like bloomberg stream is no longer working.
"Playback failed: One or more items failed to play. Check the log for more information about this message".
Thanks

Evidently the url for the m3u8 file is no longer valid:
"Error, could not open file http://btv-i.akamaihd.net/hls/live/202760/btvusa_ios/P1/M12K.m3u8"
Using this url in a web browser yields "file not found"

Bloomberg still doesn't work :(
It would be much appreciated if somebody could check what's going wrong.

Yeah, they changed them.
BTW, which Bloomberg are you referring to? There are three:
Bloomberg Asia: https://cdn-videos.akamaized.net/btv/zixi/cloudfront/asia/live/primary.m3u8
Bloomberg Europe: https://cdn-videos.akamaized.net/btv/zixi/fastly/europe/live/primary.m3u8
Bloomberg US: https://cdn-videos.akamaized.net/btv/zixi/fastly/us/live/primary.m3u8


Content Feedback Concepts

What is it and who's it for?
Design concepts for a user feedback function. This will enable us to gather user feedback about how useful people are finding the content written on the website (excluding Stories/editorial focused content).
Acceptance criteria
Testing and tracking

Setting up additional tracking and monitoring - talk to Tacey
Qual and/or Quant test plan - Alice and Tacey

Measurement

Related KPIs (e.g. breadth of collection accessed, reading time, etc.)

Other considerations
<---Delete as appropriate--->

Impact on URL design
Cardigan documentation

First draft of a clickable prototype for the content feedback area: Invision content feedback prototype


Fix an issue with start and end timezones

@Taluu Open for review

:+1: :clap:

Review done. The thing about the datetimezone is not mandatory though


OCPVE-663: feat: introduce k8s events to lvmcluster and vgmanager

This introduces event recorders to the lvm cluster controller as well as vg manager and issues events on the most important events and failures related to these resources.

/test all

/test all

/test lvm-operator-e2e-aws

/test lvm-operator-e2e-aws-sno

/lgtm
/approve


⚠ Redlib has degraded performance

In 25dbf6d, Redlib (https://redlib.perennialte.ch) experienced degraded performance:

HTTP code: 200
Response time: 2278 ms

Resolved: Redlib performance has improved in 5db9227 after 8 minutes.


ETA in real user time

Maybe as an option, the ETA in the form of real estimated time of arrival,
and not the estimated time it takes to complete the job.
e.g. ETA 8:52 PM or whatever which format the system time is set.

possible to add ETA / ETE as readable value in the API (JSON) String?

The ETA/ETE can be read in any host plugin as string directly. That is no problem.

And how? Have you a example? I'm new and have not enough experience with repetier. Thx

See
https://rhplugins.repetier.com/
and especially
https://rhplugins.repetier.com/2_0_classes/html/interface_repetier_host_extender_1_1basic_1_1_i_print_job.html
ETANormalMode is switch between ETA and ETE.
https://rhplugins.repetier.com/2_0_classes/html/interface_repetier_host_extender_1_1interfaces_1_1_i_printer_connection.html
has a property Connector which has a property Job being the currently printed job.


connection not closed correctly on execute batch

If an exception occures in the database, while executing batch update, the database connection is not closed correctly.

Extra info: This error only occurs while running the batch operation inside a transaction.


Code cleanup

Codecov Report

Merging #1221 (05ca9ac) into devel (14ff731) will increase coverage by 0.00%.
The diff coverage is 93.17%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##            devel    #1221   +/-   ##
=======================================
  Coverage   90.39%   90.39%
=======================================
  Files          49       49
  Lines        5582     5604   +22
=======================================
+ Hits         5046     5066   +20
- Misses        536      538    +2

Files
Coverage Δ

hahomematic/caches/dynamic.py
80.34% <100.00%> (ø)

hahomematic/caches/visibility.py
95.53% <100.00%> (-0.08%)
:arrow_down:

hahomematic/central/decorators.py
98.18% <100.00%> (+0.03%)
:arrow_up:

hahomematic/config.py
100.00% <100.00%> (ø)

hahomematic/const.py
100.00% <100.00%> (ø)

hahomematic/platforms/__init__.py
93.75% <100.00%> (ø)

hahomematic/platforms/custom/const.py
100.00% <100.00%> (ø)

hahomematic/platforms/custom/cover.py
96.35% <100.00%> (ø)

hahomematic/platforms/custom/definition.py
100.00% <100.00%> (ø)

hahomematic/platforms/custom/entity.py
99.27% <100.00%> (ø)

... and 18 more

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


Breadcrumb links to all pages, category indexes

Fixes an issue @MiniDigger noticed with google crying about invalid breadcrumbs.
This is intentional on the end of Docusaurus, ref https://togithub.com/facebook/docusaurus/pull/6932. Possibly a better solution is just to remove the last breadcrumb. I'm not sure, as there is good rationale provided there.

Still don't love this but it seems like the best solution I've found and is at least okayish. Don't see anything else being better.


Add a license?

Hi @seismatica, this is a nice implementation! Would you consider adding a license file to enable reuse? Happy to do a PR if you'd prefer.

Awesome! We've been experimenting with next token prediction for tool recommender systems, like what button are you likely to click next given what you've already used. Surprisingly, if you tokenize tool use, you've basically formulated the question as an NLP task! PR incoming

Hi @seismatica - I am on the same team as @cdw . I tried to open up a PR against your repository but it looks like I am blocked from doing so. This is the LICENSE.txt file we were hoping to add to the root directory. It would allow us to build upon your work. Please let us know what you think and if you'd be open to adding this to your repository!
LICENSE.txt

Merged ! Please feel free to share any updates you might have on this project. I'd really love to see that my code could contribute in some small way to your success 🎉
PS. Are you guys also planning to do the n-gram interpolation mentioned in my blog post as well ? I could imagine scenarios where the next tool use depends not only on the tool used right before, but also the ones before that (without going too deep in the sequence and overfitting, hence the interpolation).

Hooray! We'll swing back for an update :-)


adds dereferenceable detail view

Codecov Report

Merging #33 into master will decrease coverage by 0.48%.
The diff coverage is 30.43%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
- Coverage   60.61%   60.12%   -0.49%
==========================================
  Files          40       42       +2
  Lines         589      617      +28
  Branches       51       52       +1
==========================================
+ Hits          357      371      +14
- Misses        223      237      +14
  Partials        9        9

Impacted Files
Coverage Δ

...ry-elasticsearch-app/src/config/collections/nga.ts
100% <ø> (ø)
:arrow_up:

...-elasticsearch-app/src/config/collections/getty.ts
100% <ø> (ø)
:arrow_up:

...lasticsearch-app/src/config/collections/harvard.ts
100% <ø> (ø)
:arrow_up:

...y-elasticsearch-app/src/config/collections/hsp2.ts
100% <ø> (ø)
:arrow_up:

...asticsearch-app/src/config/collections/ecodices.ts
100% <ø> (ø)
:arrow_up:

...sticsearch-app/src/config/collections/cambridge.ts
100% <ø> (ø)
:arrow_up:

...ery-elasticsearch-app/src/config/collections/ox.ts
100% <ø> (ø)
:arrow_up:

...ry-elasticsearch-app/src/config/collections/ubl.ts
100% <ø> (ø)
:arrow_up:

...very-elasticsearch-app/src/components/Settings.tsx
70% <100%> (+48.26%)
:arrow_up:

...iscovery-elasticsearch-app/src/components/index.ts
100% <100%> (ø)
:arrow_up:

... and 5 more

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 abcaafd...eaec9c3. Read the comment docs.


feat: add -timemargin option

I set the time control to 0 if its below 0 so it prevents negative time which i feel might lead to weird behavior,
and the way i see it, the timemargin is just an extra time after the actual time control that the engine is alloted, so after the move is made it shouldnt be part of the calculation for the final time after increment is added,
say an engine exceeded the timelimit by 250ms with a 1 second increment, this way the final time after the move should be 1 second instead of 750ms
fix https://github.com/Disservin/fast-chess/issues/285

btw i removed the randomseed from the json so that when loaded from config file it wouldnt generate a new seed instead it would continue from the old one

btw i removed the randomseed from the json so that when loaded from config file it wouldnt generate a new seed instead it would continue from the old one

why would it? we are not saving a seed, but rather the boolean if randomseed is turned on/off?

btw i removed the randomseed from the json so that when loaded from config file it wouldnt generate a new seed instead it would continue from the old one

why would it? we are not saving a seed, but rather the boolean if randomseed is turned on/off?

if the randomseed boolean is saved to be true then wouldnt it generate a new random seed when the game is loaded from a config file?

why not ?
https://github.com/Disservin/fast-chess/blob/master/src/matchmaking/tournament/tournament_manager.cpp#L12

I feel the random seed should be generated only once when the game is initially started and when the game is saved and then loaded it would still use that same seed, this prevents the same openings from ever repeating, which is also why i issued this commit https://github.com/Disservin/fast-chess/pull/277

added the new epd option to the json

I see but in my mind the config should be an exact replica of the options you specified over the cli.

I see but in my mind the config should be an exact replica of the options you specified over the cli.

maybe we can make it so that the randomseed option is still saved to the json but wouldnt generate a new seed when loaded from a config file by adding an extra condition to the random seed geneartor to only activate when round_id == 0? @Disservin

apparently i didnt send, i think that sounds good

is there a way we can access the round_id variable in the TournamentManager class? if not round_id then maybe match_count_ from tournament.hpp

is there a way we can access the round_id variable in the TournamentManager class? if not round_id then maybe intital_matchcount_ from tournament.hpp

is there a way we can access the round_id variable in the TournamentManager class? if not round_id then maybe match_count_ from tournament.hpp

nvm found another way, i think this should work now. if the seed from the config is the default seed then the seed randomizer would activate and randomize it, if the seed from the config is not the default seed then it wouldnt randomize it

done

i think this can be merged now? @Disservin


doc: Make notebook tutorial into a Jupyter notebook

The notebook tutorial is currently a sequence of code blocks and their outputs embedded into markup. But this is exactly what Jupyter notebooks are for! We should convert the tutorial into a notebook and ship it like Usagefinder. Jupyter even has an option to export to ReST, so we could easily keep it in sync with the version in the docs.

Another option is to adopt myst-nb which allows for using notebooks directly as source with (at best) a single line added to conf.py. These can either be executed at build time, or displayed "as-is" with outputs.

Further on the interactive computing piece: it would be possible to use notebooks (and other sources) directly in mybinder.org, with all the tools installed. It's possible to use a Dockerfile directly, as long as it ends up with an ENTRYPOINT that starts the jupyter server. As the MATE build looks rather... involved... it might be possible to extend the existing, published image with FROM and layer in a few extra python packages, and wrap the bespoke REST service in jupyter-server-proxy with nice branding.

Another option is to adopt myst-nb which allows for using notebooks directly as source with (at best) a single line added to conf.py. These can either be executed at build time, or displayed "as-is" with outputs.

That sounds like a very elegant and maintainable solution!

Further on the interactive computing piece: it would be possible to use notebooks (and other sources) directly in mybinder.org, with all the tools installed. It's possible to use a Dockerfile directly, as long as it ends up with an ENTRYPOINT that starts the jupyter server. As the MATE build looks rather... involved... it might be possible to extend the existing, published image with FROM and layer in a few extra python packages, and wrap the bespoke REST service in jupyter-server-proxy with nice branding.

Thanks for the tips! The MATE notebooks rely on the presence of several other services, including a PostgreSQL database and a MinIO object store - It seems like it would be difficult to deploy and maintain such services in third-party environments like Binder. I don't know much about it, and would be happy to hear if it can spin up such stateful services. It would be concievable (although probably quite involved and not very performant) to stuff all of our services into a single container.

There's also the notebook tutorial that's included as an example when you start the MATE system: https://github.com/GaloisInc/MATE/blob/main/jupyter/examples/cpg-tutorial-no-solutions.ipynb and https://github.com/GaloisInc/MATE/blob/main/jupyter/examples/cpg-tutorial-with-solutions.ipynb. I agree adding the notes.c example as another notebook make sense though.

There's also the notebook tutorial that's included as an example when you start the MATE system: https://github.com/GaloisInc/MATE/blob/main/jupyter/examples/cpg-tutorial-no-solutions.ipynb and https://github.com/GaloisInc/MATE/blob/main/jupyter/examples/cpg-tutorial-with-solutions.ipynb. Perhaps we should point these out in the docs as well? I agree adding the notes.c example as another notebook makes sense though.
Yes, absolutely!! I had completely forgotten about that tutorial, but it's super helpful! See #49, which also provides a template for what we could do with the Notebook tutorial.


Validate backing image checksum during creation

Make sure the given backing image checksum is SHA512 value during creation.
If the checksum is not given, skip the validation.
Signed-off-by: Derek Su<EMAIL_ADDRESS>

Can we add the space trimming as well? #1084

Hello Shuo,
Seems good. That is, we can tolerate the unexpected leading whitespaces, like "    a1dcde...1a2s".
Do you mind I integrate https://github.com/longhorn/longhorn-manager/pull/1084 into one single commit?

@derekbit Yes. But you can put the content in a separate commit of this PR. Then I can close my PR.

Open https://github.com/longhorn/longhorn-manager/pull/1086 and close this.


Using AS on an existing column name has value overridden if value exists on field resulting from another column in the query if having same name from another table

I am not 100% sure if this is a 'snowflex' issue or if its isolated enough that its just a me-problem.
An illustration:
Let's say I have a query like this
SELECT
  UPPER(product_manifest.PRODUCT_CODE_TYPE) AS PRODUCT_CODE_TYPE,
  product_manifest.PRODUCT_CODE,
  product_manifest.PRODUCT_CODE AS GTIN,
  catalog_product.*
FROM
  STUFF catalog_product
INNER JOIN
  ITEM product_manifest
ON
  catalog_product.OUR_KEY = product_manifest.OUR_KEY
WHERE
  UPPER(product_manifest.PRODUCT_CODE_TYPE) = 'GTIN'
QUALIFY
  ROW_NUMBER() OVER (PARTITION BY catalog_product.OUR_KEY ORDER BY catalog_product.LOADED_AT DESC) = 1

Let's assume that both STUFF and ITEM have a similar field, GTIN and PRODUCT_CODE that are met to be the same, but GTIN is empty in the ITEM table and we want to override that but still get everything from it so we use our AS statement.
If we run this in snowflake via a console, we get back a result that looks (roughly) like this:

PRODUCT_CODE_TYPE
PRODUCT_CODE
GTIN
WHATEVER
GTIN_2

GTIN
1234
1234
thing

GTIN
1235
1235
stuff

However, when we example the results coming out of Snowflex, we will see a setup like this:
[
  {"product_code_type", 0},
  {"product_code", 1},
  {"gtin", 2},
  {"whatever", 3},
  {"gtin", 4},
]

as the value for bin_headers, thus when we do our reduction, since the empty GTIN value from catalogue_product.* overrides the value of the one we set using our AS clause.
Now, if we simply moved the AS clause to be after catalog_products.* we could do this, but its similarly misleading as a whole and just further obfuscates the underlying issue of receiving the truth from the query. It is treating a symptom rather than a cause, and allows us to bubble the fix we're using internally in an ETL process from our app to the library, but is debatably more deceptive when it comes to figuring out why something broke later down the line (which, these things being computers being programmed by people, will for sure happen)
It seems that the solution here may be to add an option to use a not-null-or-empty value for like-keys in query results when deriving this map, but that probably has some possibly surprising behavior if its enabled by default.
I'm not 100% sure this is something that should be handled, but wanted to document it here in the event someone else ran into a similar issue, or if we deem it an API worth adding. I dont think making it just do this by default is the answer, and since maps cant have like keys, the path to the best answer seems murky.

I believe the best call here considering we have real users outside us internally is the following:

Add an application level config to return the 'truth' -- which in this case is a fixed-width list of tuples that are headers and rows, and allow the user to choose their own journey

Get feedback from people whom may not have encountered this issue, but think of their concerns outside ours. Because if you are using this library to query at any reasonable level in your application, this changes a huge amount of flows and expected data structures. There is no way to map against it super reliably and not have to consider a world where you cant derive the 'truth' as we are able to with our specific querying methodology here. Because while we have a reasonable workaround, it is completely unreasonable to assume that a user of this library would be OK with a whole field of their SQL query just not being returned and having whatever the latter value was overriding the first because of a name collision and a data structure not being a perfect fit.

I dont really have strong feelings here, but there is something that feels off about it working as it sits right now, and I'd just like to gather others' thoughts and let that stew for a while and hopefully make a good decision when someone has time to seriously consider this.

If I'm understanding this issue correctly, I believe I am experiencing a similar issue.
I have a query like:
SELECT table1.requested_at,
       CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', table1.requested_at) AS requested_at
       requested_at
  FROM table1

where the results look like
----------------------------------------------------------------------
|         requested_at |       requested_at_2 |       requested_at_3 |
----------------------------------------------------------------------
| 2022-06-09T22:41:32Z | 2022-06-09T18:41:32Z | 2022-06-09T22:41:32Z |

@hexchung yes this is definitely the same problem.
The core of this will be quite a doozy to fix, as we are essentially choosing the wrong data structure to do this (maps).
Here is a canned example that shows it:
Query:
SELECT
  upc.foo AS foo
  upc.bar AS bar
  upc.bizzle AS foo
FROM
  MY_NAMESPACE.whatever

We will get this in the snowflake UI
| foo | bar | foo_2|
+-------------------+
|  1  |  2  |  0   |

Which, when we do the reduction we see here will ultimately overwrite the original value of foo with 0 because while the UI shows it as foo_2 it actually is returned with the original foo key.
The solution here will potentially be to make an application-level configuration for the library which allows us to return lists of tuples, which can have this duplication, but maps as a data structure inherently will require people to work around this in ways that are similar to what you are dealing with.
Ultimately, when doing joins or selects that will result in like-column-names and you only want one, specifically noting that by being explicit with all columns and want you want vs *, or doing a different AS casting will be the best answer to get past these issues.
I am not sure when we will have bandwidth to make this change, cut a new release, etc on the PepsiCo side of things, but all pull requests are welcome. The impact on performance and massive API change in data structure makes it so that it seems we definitely cant just default back to it, but making it a configurable option seems reasonable IMO.
I have also discussed this with @jeremyowensboggs -- feel free to chime in if you have any further thoughts about this per our previous Slack discussions, Jeremy.


unable to push repo after migrate from gogs

Gitea version (or commit ref):
Git version:
Operating system:
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
I upgraded from Gogs 0.11.91, after following the document instruction, I can not push or clone my repo with Gitea, and it says:
2019/10/18 17:22:29 [...io/gitea/cmd/serv.go:171 runServ()] [F] Failed to get repository: pq: column "is_bare" does not exist
...
Screenshots

I don't do the migrate command

You can add a column named is_bare on table repository type is bool.

You can try to add a column named is_bare on table repository type is bool.

Thanks, the problem is solved. But there is a new problem which says:
routers/repo/http.go:97:HTTP() [E] GetUserByName: user does not exist [uid: 0, name: api, keyid: 0]

That could be a config issue.
Gitea is trying to go to a namespace called api, seemingly I stead of calling the actual API.
Can you post more of the log, and perhaps a scrubbed config?

That could be a config issue.
Gitea is trying to go to a namespace called api, seemingly instead of calling the actual API.
Can you post more of the log, and perhaps a scrubbed config?

Ok
2019/10/21 10:26:20 ...s/repo_permission.go:154:func1() [T] Permission Loaded for<PHONE_NUMBER>80:fangd123 in<PHONE_NUMBER>76:fangd123/distil_bert_zh:
        Permissions: AccessMode:<PHONE_NUMBER>76:owner, 5 Units, 0 UnitsMode(s): [
        Units[0]: ID:<PHONE_NUMBER>88 RepoID:<PHONE_NUMBER>20 Type:<PHONE_NUMBER>24:UnitTypeIssues Config: {"EnableTimetracker":true,"AllowOnlyContributorsToTrackTime":true,"Ena
bleDependencies":true}
        Units[1]: ID:<PHONE_NUMBER>64 RepoID:<PHONE_NUMBER>96 Type:<PHONE_NUMBER>36:UnitTypeCode Config: {}
        Units[2]: ID:<PHONE_NUMBER>76 RepoID:<PHONE_NUMBER>08 Type:<PHONE_NUMBER>84:UnitTypeReleases Config: {}
        Units[3]: ID:<PHONE_NUMBER>72 RepoID:<PHONE_NUMBER>04 Type:<PHONE_NUMBER>16:UnitTypeWiki Config: {}
        Units[4]: ID:<PHONE_NUMBER>00 RepoID:<PHONE_NUMBER>96 Type:<PHONE_NUMBER>48:UnitTypePullRequests Config: {"IgnoreWhitespaceConflicts":false,"AllowMerge":true,"AllowRebas
e":true,"AllowRebaseMerge":true,"AllowSquash":true} ]
2019/10/21 10:26:20 modules/auth/auth.go:97:CheckOAuthAccessToken() [T] ParseOAuth2Token: signature is invalid
2019/10/21 10:26:20 ...s/context/context.go:328:func1() [D] Session ID: 82f5545a4fa5bcd9
2019/10/21 10:26:20 ...s/context/context.go:329:func1() [D] CSRF Token: zPV0ky3KkFyVuNnDNivLqvrCQy06MTU3MTYyNDc4MDQ1OTMyNjc0MQ==
2019/10/21 10:26:20 .../xorm/session_get.go:99:nocacheGet() [I] [SQL] SELECT "id", "lower_name", "name", "full_name", "email", "keep_email_private", "passwd", "must_cha
nge_password", "login_type", "login_source", "login_name", "type", "location", "website", "rands", "salt", "language", "description", "created_unix", "updated_unix", "l
ast_login_unix", "last_repo_visibility", "max_repo_creation", "is_active", "is_admin", "allow_git_hook", "allow_import_local", "allow_create_organization", "prohibit_l$
gin", "avatar", "avatar_email", "use_custom_avatar", "num_followers", "num_following", "num_stars", "num_repos", "num_teams", "num_members", "visibility", "diff_view_st
yle", "theme" FROM "user" WHERE "lower_name"=$1 LIMIT 1 []interface {}{"api"}
2019/10/21 10:26:20 routers/repo/http.go:97:HTTP() [E] GetUserByName: user does not exist [uid: 0, name: api, keyid: 0]
2019/10/21 10:26:20 ...s/context/context.go:137:HTML() [D] Template: status/404

Here is the scrubbed config
APP_NAME =
RUN_USER =
RUN_MODE =

[database]

[repository]
ROOT          = /home/git/gitea-repositories
FORCE_PRIVATE = true

[server]
DOMAIN           =
HTTP_ADDR        = <IP_ADDRESS>
HTTP_PORT        = 3000
ROOT_URL         =
DISABLE_SSH      = false
SSH_DOMAIN       =
SSH_PORT         = 22
START_SSH_SERVER = false
OFFLINE_MODE     = false

[mailer]

[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL     = true
DISABLE_REGISTRATION   = true
ENABLE_CAPTCHA         = false
REQUIRE_SIGNIN_VIEW    = false

[picture]
DISABLE_GRAVATAR        = false
ENABLE_FEDERATED_AVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Trace
ROOT_PATH = /home/git/gitea/log

[security]
INSTALL_LOCK   = true
SECRET_KEY     =
INTERNAL_TOKEN =

[oauth2]
JWT_SECRET =
[attachment]
PATH = /home/git/data/attachments

That could be a config issue.
Gitea is trying to go to a namespace called api, seemingly instead of calling the actual API.
Can you post more of the log, and perhaps a scrubbed config?

Yes, it is a config issue.
After I reset the hooks in the dashboard, it got normal.
Thank you.


Fixed S3AccessLogsTransformer and removed DStreamExtractor

Summary:

Fixed S3AccessLogsTransformer by adding explicit type conversions
Removed DStreamExtractor pending EN-142

:+1: shipt it


Tag validation should be case insensitive

Hello, I've noticed that GitHub's runner software tag validation is case insensitive but the login in findPoolByTags seems to be case sensitive.
https://github.com/cloudbase/garm/blob/main/database/sql/pools.go#L187
Our current workaround includes lowercasing input tags and lowercasing stored tags in the comparison:
for i, tag := range tags {
    tags[i] = strings.ToLower(tag)
}
where := fmt.Sprintf("lower(tags.name) in ? and %s = ? and enabled = true", fieldName)

Do you think we could get this included?

We can add a COLLATE NOCASE in that WHERE tags.name IN clause. Adding a PR soon.

can you give this a try: https://github.com/cloudbase/garm/pull/296


Try to fix italian translation related to binding

Summary

Put the binding link text inside a code block to prevent translation

Fixes #1762

Internal previews

📄 File
🔗 Preview link

dotnet-desktop-guide/framework/wpf/advanced/templatebinding-markup-extension.md
TemplateBinding Markup Extension

@tdykstra


Unable to open SDFG file upon creation and clicking open prompt

Related to #47 .

Fixed with #152.


First attempt at checkpoints

Description
Adds checkpoint saving.
How Has This Been Tested?
Running locally, verifying that the saved files contain the expected information.

Both the ApolloResearch sample repo that this repo was forked from and the starter code found in train_gpt2.py contain functions for saving parameters. If we can, I suggest that we forgo the code in train_gpt2.py and standardize on the simpler method from the ApolloResearch repo which really boils down to torch.save(model.state_dict(), model_file). This would simplify things by keeping them consistent between train_llama.py and train_gpt2.py.

This would simplify things by keeping them consistent between train_llama.py and train_gpt2.py.

I'm not sure we care much about supporting gpt2 for now. But yeah as to your general point, the llmc code that this script was ~copied from has the property that nearly everything is in one file. This can be nice. But yeah for our purposes I don't think this is necessary so I'm fine with starting to split things up into new files (as you have done with your utils).

Thanks for the review! I've done my best to address them all. Please don't hesitate to reopen any of them if you'd like me to revisit.


added service worker

added service worker, so will work offline

Thats super smart! If you have time to fix the conflicts i will gladly merge this 😃


Fix mimir reads resources dashboard's disk usage graphs

Towards https://github.com/giantswarm/giantswarm/issues/30090
Checklist

[x] Update changelog in CHANGELOG.md in an end-user friendly language.

Before:

After:


Workaround VSCode bug for process picker

For https://github.com/microsoft/vscode-python/issues/14678
More details: https://github.com/microsoft/vscode-python/issues/14678#issuecomment-725675324. Having this PR up just in case we decide to do this.

Codecov Report

Merging #14700 (a80115c) into main (2020d62) will decrease coverage by 0.16%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main   #14700      +/-   ##
==========================================
- Coverage   65.02%   64.85%   -0.17%
==========================================
  Files         543      547       +4
  Lines       25425    25616     +191
  Branches     3593     3619      +26
==========================================
+ Hits        16532    16613      +81
- Misses       8216     8317     +101
- Partials      677      686       +9

Impacted Files
Coverage Δ

...lient/debugger/extension/attachQuickPick/picker.ts
21.95% <0.00%> (-0.55%)
:arrow_down:

src/client/pythonEnvironments/base/locatorUtils.ts
60.46% <0.00%> (-37.58%)
:arrow_down:

src/client/common/utils/platform.ts
53.33% <0.00%> (-18.67%)
:arrow_down:

src/client/pythonEnvironments/base/locators.ts
55.26% <0.00%> (-18.08%)
:arrow_down:

src/client/pythonEnvironments/base/envsCache.ts
72.54% <0.00%> (-12.64%)
:arrow_down:

src/client/pythonEnvironments/base/info/env.ts
69.62% <0.00%> (-10.77%)
:arrow_down:

.../pythonEnvironments/common/externalDependencies.ts
70.21% <0.00%> (-4.26%)
:arrow_down:

src/client/pythonEnvironments/legacyIOC.ts
36.77% <0.00%> (-3.36%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0.00%> (-2.23%)
:arrow_down:

...ient/pythonEnvironments/base/info/pythonVersion.ts
74.54% <0.00%> (-1.93%)
:arrow_down:

... and 25 more

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 2020d62...a80115c. Read the comment docs.


Add a new macro to test numeric types with specific precision and scale

Issue this PR Addresses/Closes
Closes #(262)
If you don't have an issue #, please first open an issue on the repo before submitting a PR to discuss the changes you'd like to make.
Summary of Changes

A new macro to assert numeric types and their scale and precision

Why Do We Need These Changes
Current macro to assert column types doesn't include scale and precision.
Reviewers
@clausherther

Hi, sorry for the delayed response! Instead of making a new test, would it be possible to make this an optional path in expect_column_values_to_be_of_type?

Hey @clausherthe, thanks for the reply,
One option is to make 'expect_column_values_to_be_of_type' and 'expect_column_values_to_be_in_type_list' assert precision and scale when mentioned and ignore them when not, which is potentially what most would expect from the test.
- dbt_expectations.expect_column_values_to_be_of_type:
      column_type: numeric(2,1)
- dbt_expectations.expect_column_values_to_be_in_type_list:
      column_type_list: [numeric(2,1)]

- dbt_expectations.expect_column_values_to_be_of_type:
      column_type: numeric
- dbt_expectations.expect_column_values_to_be_in_type_list:
      column_type_list: [numeric]

How does this look like to you?
Only minor issue might be it could fail existing tests once package users upgrade, which could be a good thing depending how you look at it.


Cache dropdown contents until admin makes them dirty (custom, org, for example)

This is pulling up the issue create form
SQL 1:/check_user_permissions/ select * from sessions
inner join users on se_user = us_id
where se_id = '46db6f69-dad5-49de-b9d3-c4e15d4724f4'; /*check_user_permissions */
SQL 2:select og_id, og_name from organizations where og_is_active = true union select 0, '[None]' order by og_name
SQL 3:select us_id, us_username from users where us_is_active = true order by us_username
SQL 4:select c1_id, c1_name from custom_1 where c1_is_active = true order by c1_name
SQL 5:select c2_id, c2_name from custom_2 where c2_is_active = true order by c2_name
SQL 6:select c4_id, c4_name from custom_4 where c4_is_active = true order by c4_name
SQL 7:select og_id, og_name from organizations where og_is_default is true order by og_name limit 1
SQL 8:select c1_id from custom_1 where c1_is_default is true order by c1_name limit 1
SQL 9:select c2_id from custom_2 where c2_is_default is true order by c2_name limit 1
SQL 10:select c4_id from custom_4 where c4_is_default is true order by c4_name limit 1
layout_si

Maybe use EF. Can cache.
Or some service with manual memory caching.

The lifecycle of the app, it's like a normal C# program. When it starts running the static classes like bd_util, bd_db, bd_config, and bd_session as well as Program and Startup a constructed and stay alive as singletons during the entire program. Any of them with global static variables, those variables serve as a cache.
The one thing to keep in mind is that the global static variables can be accessed by multiple threads, so need to be protected.
Look especially at bd_session, which I'm not using for anything, but I created it because I thought I was using it.
So, in other words, HOW to cache is not an issue.
What is an issue is that the logic for maintaining the cache is just one more thing that can be buggy, one more thing to break, so I don't want to do it if the benefit is small.

That's why I mentioned EF as it encapsulates all the work with cache.

Right, if ALL our database updates were done via EF, then EF caching would make sense, but it's either all or nothing.  For EF to cache correctly we would have to do all updates via EF.
I debating whether to use EF or not during this rewrite but I just decided I wasn't interested. Maybe it would have been better, but I'm still happy with my choice.

For your english practice:
http://blogs.tedneward.com/post/the-vietnam-of-computer-science/

So many letters. 😄

I agree with many things. But something has changed since then.
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/anonymous-types
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/

Yeah, maybe the codebase would be better if I did the db stuff a different way.
what is the purpose of Where(x => true) in your example?

And that tool you are using where you can type C# code instead of sql into it, is there something like that available for linux?

"Bugs" is an EF model?

Yeah, maybe the codebase would be better if I did the db stuff a different way.
what is the purpose of Where(x => true) in your example?

The predicate is always true, get all records.

And that tool you are using where you can type C# code instead of sql into it, is there something like that available for linux?

https://www.linqpad.net/

"Bugs" is an EF model?

Like https://docs.microsoft.com/en-us/dotnet/api/system.linq.iqueryable-1?view=net-5.0

https://forum.linqpad.net/discussion/1983/roadmap-for-cross-platform-ubuntu-linux

Concerning concepts:
Identity
https://docs.microsoft.com/en-us/dotnet/api/system.guid?view=net-5.0
https://docs.microsoft.com/en-us/visualstudio/ide/reference/generate-equals-gethashcode-methods?view=vs-2019
State
https://en.wikipedia.org/wiki/Data_transfer_object
Behavior
https://en.wikipedia.org/wiki/Service_statelessness_principle
Inheritance
https://en.wikipedia.org/wiki/Inversion_of_control

https://forum.linqpad.net/discussion/1983/roadmap-for-cross-platform-ubuntu-linux

I think EF with console logging will show SQL.

Concerning concepts:
Identity
https://docs.microsoft.com/en-us/dotnet/api/system.guid?view=net-5.0
https://docs.microsoft.com/en-us/visualstudio/ide/reference/generate-equals-gethashcode-methods?view=vs-2019
State
https://en.wikipedia.org/wiki/Data_transfer_object
Behavior
https://en.wikipedia.org/wiki/Service_statelessness_principle
Inheritance
https://en.wikipedia.org/wiki/Inversion_of_control

I don't understand why you are sending this to me. I don't understand how it relates to what we've talked about. Please explain.

I'm timing how long it takes Issue.cshtml.cs OnGet, and it's usually about 20 milliseconds, so there's no point in trying to optimize it more, it's already so fast.

I don't understand why you are sending this to me. I don't understand how it relates to what we've talked about. Please explain.

These issues are addressed in the article. I thought this might be interesting.

Object systems are typically characterized by four basic components: identity, state, behavior and encapsulation. Identity is an implicit concept in most O-O languages, in that a given object has a unique identity that is distinct from its state (the value of its internal fields)–two objects with the same state are still separate and distinct objects, despite being bit-for-bit mirrors of one another. This is the “identity vs. equivalence” discussion that occurs in languages like C++, C# or Java, where developers must distinguish between “a == b” and “a.equals(b)”.

From article.

I'm timing how long it takes Issue.cshtml.cs OnGet, and it's usually about 20 milliseconds, so there's no point in trying to optimize it more, it's already so fast.

:+1:

Sorry, I don't understand how the quote about identity relates to decisions about how to code Budoco.

This applies to EF or ORM.
Although the article shows the problem, but, as far as I know, this is solved.

"this is solved".  WHAT is solved?   I still don't understand how this discussion relates to decisions about how to code Budoco.

In the article, as I understand it, it was said that it is difficult to unambiguously map the database model to objects. Since objects have unique links.

In the second option, "Name" became a unique key as in the database.

You read the article more carefully than me!
I dislike having to learn an API (EF) to write a language that I already know how to write (SQL).
The abstraction is super leaky, like N+1, or any query that returns something that isn't a "User", but rather just a column from the users table, or a join between two tables.
If I just want everything LINQ'ified, then maybe Dapper would be good, but 99% of what i do is just foreach (DataRow dr.... so why would I bring in another library just so that it loads the DataTable results into a different kind of collection?
There are some things I like about ORMs:

a Migration system for free.  But it's not too hard to write one.  A dozen lines of code. But, I still have to write and test it.

Putting together a complex SQL statement at runtime. Rails ActiveRecord is really good for this. Doing it with string the way I did it in BugTracker.NET, that's messy.  But Budoco does way way way less with dynamic sql, and the most complicated sql is outside the C# code - the sql that's in the external queries and reports.  The whole culture of Budoco/BugTracker.NET is  YOU HAVE TO LIKE WRITING SQL.

The abstraction is super leaky, like N+1, or any query that returns something that isn't a "User", but rather just a column from the users table, or a join between two tables.

Don't use object graph.
All libraries over SQL solve other problems in parallel: caching, code duplication, security ...
Of course, all this is not unambiguous.

https://owasp.org/www-community/attacks/SQL_Injection

The solve all problems except for the 1,400 open issues against EF.


Part 6 for refactoring bittensor/subtensor.py - class CamelCase

Since the refactoring of this module would turn into a large project, it was decided to divide it into several stages.
This is part 6: Renaming class 1 to comply with PEP8 and avoid namespace conflict. Refactor all references to the changed name.
Part 1 https://github.com/opentensor/bittensor/pull/1911
Part 2 https://github.com/opentensor/bittensor/pull/1913
Part 3 https://github.com/opentensor/bittensor/pull/1923
Part 4 https://github.com/opentensor/bittensor/pull/1931
Part 5 https://github.com/opentensor/bittensor/pull/1934

as a Python Developer and bittensor user, I must say that it may seem small, but moving towards getting rid of confusing classes masking over the modules may seem silly, but is an awesome, quality of life change. Both I and my IDE are getting confused with bt.subtensor :)


Make SendTx a PluginTx?

Rather than separating out this one type of transaction which is SendTx, why not fit it in as default plugin built right into basecoin? It might be way nicer to have everything go through one process stream instead of having to check this fundamental type of Tx when really SendTx could be built out has a PluginTx :)
It would also allow for folks to build out alternative versions of SendTx for custom "plugin" implementations of basecoin, or to suppress this functionality if it wasn't needed for some niche application
Thoughts?

Absolutley.
This would mean that devs don't always need to deal with apptx's.
Also, where is basecoin heading?  I have two models for using it:

Fork basecoin, add application layers:  github.com/dawn-network/dawn

As I see it the strength here is that you get access to anything in basecoin itself, plus the abiilty to add the rest of an application into the main binary.  I'm a little finicky:  Trying to only deliver single-binary applications to ease our deployments.

Build a basecoin plugin

PLEASE correct me if I am wrong-- when building a basecoin plugin you are restricted by design to satisfying the interface presented, correct?
The third one is.... well, I know it can be done but wouldn't know just how to go about doing it.  I will probably try that soon.  (eg:  Use TM and build up from there)
The fourth one is a combo of one and two where you build some things into basecoin and then add others as plugins.

@faddat What about using Basecoin as a library?  I think that's the model we should push for -- not forking Basecoin itself.
What's the problem with the design of Basecoin plugins?

@faddat Alright, I think that basecoin needs to built in such a way that would eliminate for needing to fork basecoin as you've described in option 1. If there is some core information that isn't accessible through the current basecoin architecture - let's talk, there is a good chance we can abstract basecoin more to gain access to whatever variables you need. If anything, the only reason I'd see to fork basecoin is to grant your self access to whichever closed elements you want to modify in your application, and then PR it! Really all build-outs should be plugins which import basecoin as a library (option 2) very rarely would I imagine a scenario for otherwise. To answer your question, yes you need to satisfy the interface however you can also add and expand the available methods on your struct to whatever your desire! (You can also satisfy with dummy empty methods) A classic example of expanded functionality is pkg/errors - it adds all sorts of new functionality to the native errors package.
https://github.com/pkg/errors
http://golangtutorials.blogspot.ca/2011/06/methods-on-structs.html

@jaekwon @rigelrozanski
Basecoin as a library would be ()$)@#)$*ing awesome.

a way to ensure that the DEX's BTC, etc aren't just pegs

What do you mean?

Yes, working on a bigger refactor, probably 0.7 as 0.6 is the cli overhaul.


Ichimoku indicators are not completely correct

Describe the bug
The Tenkan-Sen should be based on the last 9 periods but the first 8 values are incorrect.
For example, the first value is calculated as follows: (highs[0] + lows[0]) / 2
The same goes for the Kijun-Sen, SSA, and SSB.
Also, SSA and SSB are incorrect for another reason too. They should be moved 26 periods in the future. By definition, SSA and SSB arrays should have 26 more indexes than Tenkan-Sen, Kijun-Sen, and Chikou-Span.
I think there is also another issue with the Chikou-Span (lagginsSpan) so I may update this issue a bit later.
Expected behavior
Until we have enough periods, the value should be null or any other default value.

Hi Thomas-Heniart, thank you for reporting the issue.  It's been a while since I implemented it, so I'll need to refresh my memory.  If you have any reference materials or test data that could be helpful, I'd really appreciate it.

Hi @cinar, thanks for your prompt answer!
If that suits you, I was thinking about doing it myself and opening a pull request.
What do you think about it?

Wow,  that would be awesome!

Hi @cinar, I've got a new implementation respecting the original Ichimoku indicators calculation ready and covered with tests.
It still requires some refactoring and algorithm improvements.
Could you give me the right to create a branch and open a PR? That would be lovely 🙏

Thank you very much! I put a minor comment. Please let me know when it is good to review/merge.

Hi @cinar
I've just spotted a bug I introduced when trying to fix the laggingSpan. I've opened a new PR that fixes it.

Thank you very much Thomas! Let me quickly check and merge it then!

That was incredibly fast, thanks a lot 🙏

Hi @cinar, could you update the package version so npm publishes a new one?
I didn't do it in my PR because I don't know if an external contributor is allowed to.


feat: keep all image elements when using hi_res strategy.

Summary
The goal of this PR is to keep all image elements when using "hi_res" strategy. Previously, Image elements with small chunks of text were ignored unless the image block extraction parameters (extract_images_in_pdf or extract_image_block_types) were specified. Now, all image elements are kept regardless of whether the image block extraction parameters are specified.
Testing

on main branch,

elements = partition_pdf(
    filename="example-docs/embedded-images.pdf",
    strategy="hi_res",
)
image_elements = [el for el in elements if el.category == ElementType.IMAGE]
print("number of image elements: ", len(image_elements))

The above code will display number of image elements: 0.

on this feature branch,

The same code will display number of image elements: 3

@christinestraub Looks like it's doing what's intended!
Just curious about why we've decided to start keeping the "junk" text as noted by @cragwolfe in the code, though.
Also, wondering why we are keeping elements that have no text.
Also, maybe add the testing snippet to test_pdf with "example-docs/embedded-images.pdf" showing len(image_elements) > 0?

Just curious about why we've decided to start keeping the "junk" text as noted by @cragwolfe in the code, though. Also, wondering why we are keeping elements that have no text.

@Coniferish

We now support extracting image blocks (images and tables).
"we should probably keep image elements. i think we still have the issue that tesseract try to come up with something and output garbage, but we should deal with that in a better way than just ignoring the image all together" mentioned by @cragwolfe

Also, maybe add the testing snippet to test_pdf with "example-docs/embedded-images.pdf" showing len(image_elements) > 0?
Added a testing snippet. Thanks @Coniferish :)


rx.background: make yield after async with self optional

Previously, the StateProxy was responsible for emitting state updates after exiting the async with self block, using app.modify_state helper to actually do the heavy lifting. This created a redundant path where async with self updates were being handled in a different spot than normal yield from a background task.
With this change, the @rx.background decorator gets a new automatic_yield_after_modifications kwarg (default True), which controls this behavior. The StateProxy no longer uses app.modify_state, but instead app.state_manager.modify_state (which does NOT send the update automatically).
A new module, reflex.utils.rewrite has been added, which facilitates rewriting background event handlers to include a yield after async with self blocks. Since the yield is part of the function, the updates can be handled via the normal _process_event path and emitted from the background task coroutine. This arrangement also allows users to explicitly opt-out of automatic updates and function rewriting if they so choose.
Additionally, some event handlers, like upload, cannot rely on the websocket to send their deltas, so removing the out-of-band update path which relied on the websocket allows upload handlers to be implemented as background task, for example when processing large uploads.
In the future, I can see this mechanism being used to smooth out some syntactical difficulties around native for and if, by rewriting the AST of the render functions for the frontend?
TODO:

[ ] use astunparse for py3.8 compatibility
[ ] figure out what to do when source is not available (reflex-web)

Is this just too complicated? Is there a better way?
To support the upload case, we could just say you have to explicitly yield to send state updates... but rx.background is already weird enough without extra rules, hence trying to make it easier for users by retaining the automatic delta behavior.

This is crazy and no one should be doing this 😄


Limit concurrent jobs

Add possible limit concurrency jobs. I have some tests example run normally over 10 jobs same time but no way run in local computer so many concurrent jobs.

I realize that I'm doing a lot of unnecessary work to get around this limitation on my biggest projects.
A big +1 for this 👍

This is just for preventing your PC's getting too hot right?
Is there anything buggy going on, that we should fix?

CPU is not the main concern.
It could allow too much RAM, which makes jobs, or even the Docker system, crash.

Yes too much load when example have over 10 jobs in same stage. Normally on CI have scalable environment to run on multiple nodes.

Opened a PR for this

Thank you all, nice feature 🙏


Opening a project with a space in the path throws URI errors

Before submitting your bug report

[ ] I believe this is a bug. I'll try to join the Continue Discord for questions
[ ] I'm not able to find an open issue that reports the same bug
[ ] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: macOS
- Continue version: 0.0.84

Description

To reproduce
Open a project with a space in the path
Log output
No response

Correct path: Kotlin Koans -> Kotlin%20Koans, fixed in https://github.com/continuedev/continue/pull/3494


Porfolio middle part

Portfolio middle part
This pull request has 3 commits:
*About card styling
*Describe my README.md file
*Linter errors corrections

STATUS: APPROVED  ✔

Hi @keza681 ,
Your project is complete! There is nothing else to say other than... it's time to merge it 🍾🚢 :shipit: . Congratulations!  🎉💯🌟

Cheers..Happy coding!..and keep soaring higher! 💻 🍷 🚀

As described in the Code reviews limits policy you have 2 more limited reviews per this project. If you think that the code review was not fair, you can request a second opinion using this form.


[Bug] Text overlap in search result.

Site URL
https://www.linkshub.dev/search?query=front+end+video+with+css+and+javascript
Description of the above provided site
Issues:
if we search something with long String like this "front end video with css and javascript", it overlaps to all other elements.
Suggestions

if any searches doesn't meet from database, it should write only no data found.
another is remove that line cause it doesn't looks good when we search like frame . Text appears on screen SEARCH?QUERY=FRAME . it seems weird on screen.

Screenshot:

Category
Frontend
Sub Category
Search Result
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[ ] I am willing to work on this issue (optional)
[ ] I am a GSSoC'23 contributor

Hey, thanks :)

Can I work on this issue under GSSoC'23?
I am a GSSoC'23 contributor.

@rupali-codes Can I work on this issue under GSSoC'23? I am a GSSoC'23 contributor.

Sure! assigning to you!


Currency format fails in .NET 5.0

Currency format fails in .NET 5.0
I am using currency format in my Blazor Server-Side application and I have faced an issue, after migrated to .NET 5.0.
The '¤' symbol appears, instead of the current culture's currency symbol (currently I am using german culture). In .NET Core 3.1 there was no problem.
.NET Core 3.1 result:

.NET 5.0 result:

ConfigureServices (Startup):
        services.Configure<RequestLocalizationOptions>(options =>
        {
            var supportedCultures = new List<CultureInfo>()
            {
                new CultureInfo("de")
            };
            options.DefaultRequestCulture = new RequestCulture("de");
            options.SupportedCultures = supportedCultures;
            options.SupportedUICultures = supportedCultures;
        });

Configure (Startup):
        app.UseRequestLocalization(app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>().Value);

Index.razor:

Value: @(Value?.ToString("C0"))

        @code
        {
              public int? Value { get; set; } = 500;
        }

I attached a repro project for your convenience: CurrencyFormatIssue_NET5.0.zip
Thanks in advance!

Duplicate of https://github.com/dotnet/runtime/issues/38308. Please see that issue for resolution (use "de-DE" instead of "de").


Add install stats feedback to Packagist

Since the PIE tool isn't Composer, it won't necessarily send feedback to Packagist about install stats.
This information is good to know about PIE usage in general, but also feedback for ext authors on how much folks are using their exts etc.

For reference; stats are used to influence the order of things like https://packagist.org/search.json?q=<name>&type=<type> for example, you could have https://packagist.org/search.json?q=xdebug&type=php-ext-zend


[hotfix][docs] Update IDE setup instructions for latest IntelliJ IDEA

What is the purpose of the change
Update IDE setup instructions for latest IntelliJ IDEA
Brief change log
Updated files ide_setup.md and ide_setup.zh.md
Verifying this change
This change is a trivial rework / code cleanup without any test coverage. Furthermore, I followed the step by step instructions reflected in this change to successfully import and compile Flink on IJ.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

@zentol can you please review this PR since it's related with the PR-8870 which you have in your queue. Thanks.

Thanks for updating this. Looks good to me.
Merging this...

Sorry for late response @hmcl . I didn't notice your response under my PR.
Anyway, glad to see it has been reviewed.


feat: Retail API code samples

Hi,
This is a commit to add the code samples for Retail API.
To run the tests the secrets need to be added, whom I can ask to help me with this?

Thank you for your comment, I will rewrite the tests using XUnit, but I would like to draw your attention on the document
https://github.com/GoogleCloudPlatform/dotnet-docs-samples/blob/main/TESTING.md
here it is recommended to use MSTest

Ah but that's not recommending to use MSTest, that's just saying which tools you need in the path to runn all the tests on the repo (at some point xunit and MSTest coexisted.)
https://github.com/GoogleCloudPlatform/dotnet-docs-samples/blob/main/CONTRIBUTING.md is what should be followed when addind code to the repo.
In any case I've created #1590 to remove referecens from MSTest so this does not causes confusion in the future.
Also, since you are rewriting the tests I'll review a couple of samples as well to point out a few things that I saw earlier that wouldn't match our sample guidelines. In general write both samples and tests as close to the KMS suite as possible, including folder and solution structure etc.
Also, there are a couple of questions I'd like to ask about these samples, internally. I've sent you an email earlier in the week so if we can chat about these there that'd be great.
Thanks.


maint(issues): Update Issues to use GitHub Issue Templates

Fixes #15 to use the new issue Templates

@Bharat123rox  Please create your PR after you've been assigned to an issue.


Implement sextant unpack command

This PR implements the sextant unpack command which will unzip a given NPK and unsquash the contained fs.img.
This PR is based on previous work done in #159.

looks good ;)
once the checks are green and everything is properly rebased, we can merge it.


finalize the webpage

using 8 hrs,
improve dataBase and create contact page data base and blog with markdown format.

the blog page using database data to render front end


Geocode using Google Place Details Service

Description
This PR switches to using the Place Details service instead of the Geocoder service to workaround an issue on Google's servers.
The issue has since been fixed, but I'm unsure whether it will come back again, in which case this PR might be useful.
Checklist

[ ] All tests passing
[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary
[ ] Commits and PR follow conventions
[x] Didn't do any of this because Google fixed their services before I could finish

Closing pull request since the issue seems to be resolved.


SceneGraphLayer: Constant transforms work, callbacks do not

Description
When supplying a constant getOrientation like [0, 0, 90], I see the correct result. Changing this to () => [0, 0, 90], nothing appears on the map. Similar effect with getScale.
const layer = new ScenegraphLayer({
  id: 'my-scene',
  data: this._features,
  getPosition: (d) => d.geometry.coordinates,
  getOrientation: () => [0, 0, 90],
  getScale: [1, 1, 1],
  scenegraph: 'assets/models/willow.glb'
});

Environment (please complete the following information):

Framework Version:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Browser Version: Chrome 75.0.3770.90
OS: macOS 10.14.5

willow.glb.zip

Investigating...

@donmccurdy I tried reproducing using the latest deck master. I cannot reproduce the issue. I tried:
    getOrientation: () => { console.log('getOrientation'); return [0, 0, 90]; },
    getScale: () => { console.log('getScale'); return [1, 1, 1]; },

and I am able to see the logs for both methods for each object correctly.
Can you share more about what version of deck core you are using?
Are you providing the initial value and change it later? If so you might need to use updateTriggers

Oops sorry, user error. I installed @deck.gl/mesh-layer but didn't update my other @deck.gl/* dependencies from 7.0.2. The issue goes away if I update them all.

In related news, the NYC Tree Census has never looked better. 😄

@donmccurdy very nice, thanks for sharing a gif. Perf looks pretty good!


Changes for world builds and LTO builds

In master-next now.
FYI: There won't be another major upgrade here most likely.

merged, thanks


Correct Wave 13 overlap description

The main sample (85%) is now receiving Wave 13, not the reverse.
Prerequisites:

[X] Unless it is a documentation hotfix it should be merged against the dev branch
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[ ] Build is successful
[x] Code is cleaned up and formatted

Summary
Fix Wave 13 changelog deployment description. It'd be good to get this correction out quickly, if we can deploy the doc update.

(fyi for emergency doc updates like this you can branch off of and PR into main instead; the GitHub Actions machinery will keep dev in sync automatically)


Cookies with the category Security and Personalization listed as uncategorized

Describe the bug
The extension only recognizes three cookie categories (Functional, Analytics, and Marketing), while the cookie database has 5 (Functional, Personalization, Analytics, Marketing, and Security).  Cookies belonging to "Personalization" or "Security" are categorized as "Uncategorized".
To Reproduce
Steps to reproduce the behavior:

Go to globo.com
Click on the cookie table on PSAT tab
Select the filter uncategorized
search for the cookie __eoi

Expected behavior
The Extension should put the cookies under the registered category or add personalization and security under the Functional category.
Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser Chrome 131.0.6778.109
Version 0.11

Additional context
Add any other context about the problem here.

Hi @maitreyie-chavan,
I have created a PR https://github.com/GoogleChromeLabs/ps-analysis-tool/pull/891; @amovar18 can have a look at it.


⚠ SceneTime has degraded performance

In 1229f95, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1596 ms

Resolved: SceneTime performance has improved in 6597493 after 6 minutes.


Update grpc-netty to 1.44.1

Updates io.grpc:grpc-netty from 1.42.2 to 1.44.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.grpc", artifactId = "grpc-netty" } ]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #530.


Fix errors in GUI WebSockets

Pull Request Description

Fix https://github.com/enso-org/cloud-v2/issues/1337
Fix #10381 (same issue)

This was caused by queued execution context tasks delaying the disposal of the WebSocket connections - I guess because the WebSocket is closed, either the queue never reaches that point, or retries take too long to reach that point?
There was also another issue caused by the Dashboard incorrectly caching the project, causing the endpoint URLs to become outdated.

Misc changes:

Change Editor.tsx to not return two different component trees. This avoids React unmounting and re-mounting the GUI app.

Important Notes
None
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[x] Unit tests have been written where possible.

@somebody1234  Code changes around editor/ProjectIcon will be completely overwritten by the PR where I'm fixing the project opening. Can I ask you to describe these changes so I can check that the bugs you fixed are also fixed in my pr?

ok:

the ProjectIcon change was or ebugging an can be safely ignored
for Editor changes:

the change in the outer Editor component is the one that avoids unmounting + remounting the inner component
the change from projectStartupInfo.projectAsset.id  to project.projectId should not affect things after the Suspense was fixed, but they were previously out of sync due to the cache returning a value for project that was different to the current value of projectStartupInfo.project (which was a pending promise)
the Promise.resolve in the queryFn seems to fix React Suspense for some reason. for some reason it's broken when it returns a promise that is already fulfilled - perhaps this is due to caching?
the queryKey change is an oopsie, of course the id should be there... i think it made things marginally better, but i think in the current code the Promise.resolve is doing all the heavy lifting here? so this change might not be necessary
and finally, i dunno if the gcTime does anything relevant here but i added it just to be safe

tl;dr: the changes that matter the most are:

the change in the outer Editor component
the Promise.resolve
(potentially) the gcTime

dunno whether the new changes are correct


Content: Circular Linked List

Description
Add the article for Circular Linked List. The basic layout for the article should be:

What is Circular Linked List?
Explanation for Circular Linked List
Algorithmic Steps
Code (Use C++/Java and Python; At least two languages should be present and pick up code from NeoAlgo with apt credits to author)
Sample I/O
Time & Space Complexity

This article should be between 500-700 words in length. You should use traditional Markdown to prepare the content and the use of external images is prohibited. You can however create your own images. Run a proper Grammarly Lint check before submitting the PR.

@ankitaggarwal23  I would love to work in this Issue Please Assign this to me

Hi @Inventor77
You already have a lot of issues under your belt.

Hi @Inventor77
You already have a lot of issues under your belt.

@HarshCasper Sir I will work on Them All please Assign them to me

@HarshCasper I would like to work on this issue. Please assign this to me.


Exit popups and the / search with Backspace on empty input like in vim

Is your feature request related to a problem? Please describe
It would be nice to exit the shell and search popups and the / search by Backspace-ing when there is no input in the input field.
Will you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
When there is no input in the input field, Backspace should close the popup / prompt.
Describe alternatives you've considered
No response
Additional context
This is similar to the behavior in vim and would make it easier to use. If you don't have Escape mapped to Caps Lock, it is a bit of stretch to press Escape.

Does this mean that all characters must be deleted, and then press Enter again to exit?

I was thinking of the vim behavior.
When you press / in vim to enter search mode:

pressing Backspace right after will exit out of search mode back into normal mode, and
entering a few characters, say the characters hello, then Backspace-ing them all to get an empty prompt, and then pressing Backspace once more on the empty prompt, will exit out of search mode into normal mode.

Pressing Enter on an empty prompt in yazi actually makes rg and fd search for nil. You might want to take care of that separately.


Standardize Dart LSIF/LSP scheme for monikers

Background: I did some work on an LSIF indexer - https://github.com/Workiva/lsif_indexer. We were using the one mentioned in #39878 but it had some issues, including being based on CrossDart, which hasn't been updated since 2016.
I would like to extend this to support cross-package (project in LSIF terms) references. I'm not especially familiar with LSIF, but as I understand it we can use a moniker, which has a scheme and an identifier within that scheme. So I think we can just make up a Dart scheme. I don't see any use of Moniker in the SDK so far, so I don't think a scheme exists. Since Dart references are reasonably well-structured anyway, I'm thinking something like
package:foo/path/bar.dart:topLevelScope:otherScope:stillMoreScope:asDeepAsNecessary
This treats package names as unambiguous, at least within the scope of a moniker, which I think is pretty close to true. Within a library at any level of scope a name is unique. So without needing to distinguish what the type of top-level entity is (class, typedef, extension, variable, function, whatever) we can just nest the names. We don't have to deal with anonymous things because we can't refer to them between packages. And I think colons can't occur within the package URL.
Does this seem reasonable before I go off and implement it? I'm guessing from the other comments I saw that @bwilkerson is the most likely to have thoughts on this.

We have discussed adding support for LSIF, but it hasn't yet become a priority for us, so we don't have any existing support.
We do have something similar to a moniker, though. The class ElementLocationImpl represents a unique way of identifying an element (our word for a thing that can be referenced). It's very similar to what you proposed, although we include the URI of both the library and the compilation unit in order to account for parts. That might not be necessary for LSIF.
We chose a semicolon as the separator because there's a colon between the scheme and the path in a URI. Given that all of the URIs used in the location are always absolute we could just ignore those colons, but we decided to choose a different character for implementation simplicity.

Ah, excellent. I'll use the toString of the element location. Thanks.

In the analyzer code base we reserve toString for debugging use and we don't guarantee that it won't change over time. The public API you should use is encoding

Understood.


Cleanup function serialization in workqueue executor

Moves the serialization code into its own function. Pickled functions are now identified as source or byte code. This simplifies their execution in the wq worker wrapper.

This pr is towards a solution to #1228.