RX100m5 4K 5min limit

Can you please remove 5min limit for 4K recording in RX100m5?

yes, 4K 5 min limit is not available on rx100m5
https://github.com/ma1co/OpenMemories-Tweak/issues/127#issuecomment-263748846

There's also a 5-minute limit on 120p in both 60M and 100M in XAVC S file format. Would be great to remove that, too. Might be the same flag (or not.)

I am owner of this camera and would like to add that feature.
ma1co, can you please give me quick guide of what steps are required to dump the memory and how to test a new custom build on the camera? I could try to find the new 4k limit address and add it.

I dumped the memory but cannot find where the flag is. It would be nice if  @lainy can help us pin point what he did for RX100M4.

Hi bro. You can find the commit in the history:
https://github.com/ma1co/OpenMemories-Tweak/commit/1a96c703f5e8da63fd32beb68f64f5012c9778e3
This appears to be the address to a 2 byte value:
public static final int REC_LIMIT_4K = 0x003c04b6;
And the expected default value is 300 in seconds = 5 minutes
public static final int DEFAULT_LIMIT = 300;

@xezon I saw that but the Backup.bin filesize is just 754,462 byte. I'm a bit confused.

@bpasu Is it possible that you just dumped the code page but not the heap? Considering the addresses for the 30 minute recording limit work on this camera, the 4k limit address should be around that address location I assume.

The property addresses don't refer to locations in the Backup.bin file. You have to copy the Backup.bin file to the SD card, transfer it to a PC, and use the print_backup command in fwtool.exe to map Backup.bin to a text list of property addresses. This will allow you to inspect properties near 0x003x04b6 for one containing the default value of 300. Once you know that, you should be able to use the bk.elf command in the camera android shell to patch the value to something larger until ma1co updates the OpenMemoriesTweak app.
Question: Did you dump memory to the SD card? If so, how did you do it? When I try to copy Backup.bin to the SD card I get an error that it's a read-only file system. Can't use chmod to change permissions on the SD card or any of its parent directories, either, though it does work for changing permissions on the /setting/Backup.bin and /setting/Backup.bak files. This is not the case on my  RX100M3. I can copy files to the SD card on that camera without changing permissions.
Is there a command or sequence of commands to make the SD card rw or to copy files to it?

Back when I did the rx100m4 4k limit thing, I obtained backup.bin directly from the firmware update images using the fwtool to unpack them. As @xezon and @peppersass point out, you just need to find the one with a default value of 300.
In my case, I seem to recall I narrowed it down by doing a sort-of diff between the a7R2 and rx100m4 backup.bin (from unpacked firmware update) to rule out any common values first, since the a7R2 does not have a separate 4k time limit. The output was just a CSV with columns Address, a7r2 value, rx100m4 value.
BTW you can also extract some of the names of backup.bin values from libObj.so in the firmware image. For example, sub_645740 in libObj.so seems to list a lot of them:
.text:00645740 sub_645740
.text:00645740
.text:00645740 var_8       = -8
.text:00645740
.text:00645740    PUSH     {R4,R5,R7,LR}
.text:00645742    SUB      SP, SP, #8
.text:00645744    MOV      R4, R0
.text:00645746    ADD      R7, SP, #8
.text:00645748    MOVS     R0, #0x30 ; unsigned int
.text:0064574A    BLX.W    operator new(uint)
.text:0064574E    MOVS     R3, #0
.text:00645750    STR      R3, [SP,#8+var_8]
.text:00645752    MOVS     R2, #5
.text:00645754    LDR      R3, =(aInvalidPara_92+0x1F - 0x64575C)
.text:00645756    LDR      R1, =0x1070015
.text:00645758    ADD      R3, PC  ; "STILL_FORMAT_SIZE"
.text:0064575A    MOV      R5, R0
.text:0064575C    BL       sub_425048
.text:00645760    STR.W    R5, [R4,#0x308]
.text:00645764    MOVS     R0, #0x30 ; unsigned int
.text:00645766    BLX.W    operator new(uint)
.text:0064576A    MOVS     R3, #2
.text:0064576C    STR      R3, [SP,#8+var_8]
.text:0064576E    MOVS     R2, #4
.text:00645770    LDR      R3, =(aInvalidPara_93+0x1F - 0x645778)
.text:00645772    LDR      R1, =0x1070012
.text:00645774    ADD      R3, PC  ; "STILL_FORMAT_ASPECT"
.text:00645776    MOV      R5, R0
...

I think this list was lazily extracted from the rx100m4 libObj.so, firmware V1.30:
01070015 STILL_FORMAT_SIZE
01070012 STILL_FORMAT_ASPECT
01070013 STILL_FORMAT_FILE_TYPE
01070014 STILL_FORMAT_QUALITY
010713F0 STILL_FORMAT_SIZE_DUALREC
010713EF STILL_FORMAT_QUALITY_DUALREC
01070007 AVIEW_TIME
01070052 RED_EYE_REDUCTION
010700B6 ANTI_BLINK_MODE
010700B7 BLINK_ALERT_MODE
01070103 DRIVE_MODE
01070101 DRIVE_BURST_SPEED
01070100 DRIVE_BURST_MAX
01070102 DRIVE_CAPTURE_STOP_ENABLE
0107145F SELF_TIMER_MODE_OFF
010708FF SELF_TIMER_INTERVAL
010700FD BRACKET_MODE
01070141 BRACKET_STEP
010700FF BRACKET_OTHER_STEP
010700FE BRACKET_ORDER
0107145C BRACKET_SELF_TIMER_MODE_OFF
01071466 BRACKET_SELF_TIMER_INTERVAL
0107010B PANORAMA_MODE
0107010C PANORAMA_SIZE
0107010A PANORAMA_DIRECTION
0107005C AF_LIGHT_MODE
01070150 STILL_COLOR_SPACE
01070111 SMILE_SHUTTER_MODE
01070110 SMILE_DETECTION_SENSITIVITY
-------- PSEUDO_REC_MODE
01070112 SOFT_SKIN_EFFECT_LEVEL
-------- HOTSHOE_STROBE
-------- HOTSHOE_LANC_STROBE
-------- CA_EXT_STROBE
-------- CA_EXT_STROBE_MODE
01070108 NR_LONG_EXP
01070107 NR_HIGH_ISO
01070113 STEADYSHOT_STILL
010713D5 STEADYSHOT_STILL_INFO
010713D4 STEADYSHOT_STILL_BODY_AXIS
010713D6 STEADYSHOT_STILL_LENS_FOCAL_LENGTH
01070104 DRO_LEVEL
01070105 HDR_LEVEL
010700C0 BACKGROUND_DEFOCUS_LEVEL
01070152 STROBE_EV_SHIFT
01070154 STROBE_EV_STEP
01070156 STROBE_MODE
-------- ONESHOT_3D_MODE
010701BC STILL_DATE_ADD
-------- STROBE_POPUP
-------- STROBE_CHARGE_ENABLE
-------- AUTOSHUTTER_MODE
01070040 STILL_DATE_TIME_STAMP_STYLE
-------- STILL_AUTO_DELETE_MODE
0107031B PANTILT_LIMIT
01070319 PANTILT_FREQ
0107031A PANTILT_ORDER
01070318 PANTILT_AUTOREVIEW
01070317 PANTILT_INTERACTIVE
-------- PANTILT_DEMO
-------- SELFPORTRAIT_NUMBER
-------- SELFPORTRAIT_TIMER
-------- SELFPORTRAIT_INTERVAL
-------- LENS_COVER_INFO
-------- STROBE_CONTROL_MODE
010708DF EV_SHIFT_AFFECT
-------- STROBE_E_MNT
01070664 FOCUS_RELEASE_PRIORITY
01070771 S1_AF
0107086E FRONT_E_SHUTTER_MODE
-------- MANUAL_STROBE_LEVEL
-------- FE_LOCK
01070A71 TOUCH
01070AED GAIN_UP_LONGFLASH
01070AF1 STILL_EE_FRAME_RATE
01070B2C SILENT_SHUTTER
01070F0D MOTION_SHOT
010713E3 COPYRIGHT_INFO_MODE
010713E4 COPYRIGHT_NAME
010713E2 ARTIST_NAME
01071456 FOCUS_RELEASE_PRIORITY_AF_C

I don't remember how I got these values though. The pattern was really consistent so it might have just been a regex over the disassembled code 😋

While waiting for an answer to my question about the "read-only file system" problem with the SD card, I found that Sony recently updated the RX100M5 firmware to v1.01. I downloaded and upacked that version, then ran one of the backup.bin files through the fwtool print_backup command. Then I searched for property 0x003c4b6. That location contains the value 0C.
I figure the property is a 2-byte field loaded with 12 0C (assuming 300 = 0x12C and low-hi format), so I don't think property 0x003c4b6 contains the 4K time limit in the RX100M5.
(Note: I guess the value could be stored in hi-low format, but there are no occurences of "0C 12".)
So I searched for "12 0C". There are 27 properties with that value, with 6 of them consisting of four bytes and 21 consisting of two bytes. 17 of the 2-byte properties with that value are in groups with the value 12 0C in several consecutive locations: two groups of six properties, one group of three properties and one group of two properties. That leaves four properties with "0C 12" that's not in consecutive locations.
Note that there could be multiple instances of the 300-second time limit. For example, it applies to all four 4K variations (30p @100M, 30p @ 60M, 24p @ 100M, and 24p @ 60M), as well as two of the HD formats (120p @100M and 120p @60). There could be a single limit property for all, or it could be two different limit properties or six different limit properties.
I guess I could go through the properties with bk.elf and try setting them to a higher value one at a time, but it would be better if someone could dump the full property list.

For testing I suggest to set them to a lower limit. Is faster to test.
Maybe the 4K time limit was changed to a H:M:S format like the 30 minute limit.

Oh! I didn't know the 30-minute limit was in H:M:S format. Do you know the property address for that one? I'd like to see how they formatted it.

https://github.com/ma1co/OpenMemories-Tweak/blob/master/app/src/main/java/com/github/ma1co/openmemories/tweak/BackupKeys.java
public static final BackupProperty.Byte REC_LIMIT_H = new BackupProperty.Byte(0x003c0373);
public static final BackupProperty.Byte REC_LIMIT_M = new BackupProperty.Byte(0x003c0374);
public static final BackupProperty.Byte REC_LIMIT_S = new BackupProperty.Byte(0x003c0375);

Thanks. Assuming a property sequence of 00:05:00, there are a number of candidate locations. I didn't count them, but it's probably on the same order as the number of locations containing 12 0c.
However, I noticed that the 30-minute timer is actually set to 00:29:50. So if the 4K limit has been changed to H:M:S, they might have done something sneaky like 00:04:59. That said, the 4K timer on the camera always expires at 5 minutes on the dot. But it's also possible that there's a lag before the camera actually shuts off the video.
Anyway, it'll take a lot of trial and error to check all the locations for both formats. It would be so much better if we could get the property location from the firmware. lainy, how did you "lazily" extract the property list from libObj.so?  Why isn't it complete?
I don't know the machine language shown in the code segment, so I can't tell what it's doing.

@peppersass from the snippet, the code refers to a backup ID and a name:
.text:00645756    LDR      R1, =0x1070015
.text:00645758    ADD      R3, PC  ; "STILL_FORMAT_SIZE"

.text:00645772    LDR      R1, =0x1070012
.text:00645774    ADD      R3, PC  ; "STILL_FORMAT_ASPECT"

The pattern is LDR R1, =BACKUPID followed by ADD R3, PC ; "BACKUPID_NAME"
So I just dumped the disassembly and did a search & replace in a text editor.
It isn't complete because the subroutine I was looking at only had the names of certain backup IDs, and some of the IDs didn't fit the above pattern so they didn't show up after my lazy search & replace. I don't remember if I couldn't find the missing backup IDs in the code or if I ran out of time and didn't look any further, though.

How did you generate the disassembly of libObj.so?
Not knowing how to do that, I loaded libObj.so into a text editor and searched for REC_LIMIT. Not there. In fact, I did a grep-like text search on the entire unpacked firmware directory and only came up with one file that has the string REC_LIMIT. It's libmpr.so, the only other very large file in the directory with libObj.so. There's one line in it with REC_LIMIT:
REC_LIMIT_TIME formatType = REC_FORMAT_TYPE_SD_MPEG2   REC_LIMIT_TIME formatType = REC_FORMAT_TYPE_HD_AVC   REC_LIMIT_TIME formatType = REC_FORMAT_TYPE_MP4_AVC   REC_LIMIT_TIME formatType = REC_FORMAT_TYPE_AVI_DV   REC_LIMIT_TIME formatType = REC_FORMAT_TYPE_XAVC_AVC   REC_LIMIT_TIME formatType = REC_FORMAT_TYPE_WAVE_LPCM   REC_LIMIT_TIME formatType = NON
Without seeing the code, hard to say what's happening here. But it looks like there are separate recording limit times for each format. But there isn't a separate reference to XAVC-S or XAVC-S 4K format. Without the code I can't find the associated property addresses. Need to disassemble this file. Can you tell me how?
Note that I did the search on both the RX100M4 and RX100M5 unpacked firmware, with the same results. The above line is the same in both versions of the firmware and there are no other references to REC_LIMIT. The property address may have changed but I think everything else is the same as far as recording limits go.
BTW, initially I looked for REC_LIMIT_H for the HD recording time limit, per ma1co's code extract shown above, and found no occurrences. But when I checked the code I found that these are variables into which the H:M:S are read from a single property that has the time in seconds. As such, I believe they're ma1co's variable names and are not actual property names. He has the property addresses hard coded, so he doesn't need the names.

Can someone please copy & paste the memory footprint around the suspected location?

@peppersass I used IDA Pro to disassemble libObj.so, but there are free disassemblers available also...

@peppersass I used IDA Pro to disassemble libObj.so, but there are free disassemblers available also...

@lainy What kind of CPU is it? (I assume the disassembler needs to know that...)
[Sorry for being such a doofus hacker. Have done a lot of programming in assembler, including multitasking, but that was 45 years ago on mainframes! Did a small PIC project about 15 years. :-) ]

@peppersass Haha, no problem! It's an ARM CPU, I don't remember specifically but any ARM-aware disassembler will probably do the trick.

Can someone please copy & paste the memory footprint around the suspected location?

@xezon If you mean from a memory dump, as I said earlier I can't write anything to the SD card on the RX100M5 (works fine on my RX100M3.) Keeps telling me its a read-only files system. Have tried to change permissions on directories, but get the same error. But I was able to do a chmod on Backup.bin and Backup.bak. Not clear why. Would really like to find a fix for this. Has Sony figured out that people are hacking the firmware?

I dump out libObj.so from my RX100V might be helpful for reference in the future. http://pastebin.com/3jA5H8Vz

@bpasu - Is this from the unpacked firmware file or did you get it from the camera? If the camera, how did you copy it to the SD card? When I try to do that I get "Read-only file system."

@peppersass I got it from the camera. Did what in the readme.md
dd if=/dev/nflasha of=/android/storage/sdcard0/DUMP.DAT bs=1M
Extracted it using fwtool and disassembly. It is kind of out of scope here. I cannot find any register helpful for hacking 4K limit though.

I've done some hunting in the firmware with the demo version of IDA. I'd like to copy some code excerpts here, but I don't know how to format them to look nice, like @lainy's above. Can someone tell me how to do that?
Here's what I've found so far:

I used the freeware utility StringFinder to scan the unpacked RX100M4 and RX100M5 firmware files for occurrences of the time limit properties 0x3c0373 and 0x3c04b6 referenced in OpenMemoriesTweak (specifying the property keys in little endian format: 73 03 3c 00 for 0x003c0373.)

The code that handles the general time recording time limit is in libmpr.so. The routine picks up the H:M:S values from properties 0x003c0373, 0x003c0374, and 0x003c0375. The default value is 00 1d 32, or 29 minutes and 32 seconds. The code is the same for the RX100M4 and RX100M5, except for code location and address references.

The code that handles the 4K limit property 0x03c04b6 referenced by OpenMemoriesTweak is also in libmprctrl.so, in a routine called GetRecLimitTimeForFV(void) -- but only in the RX100M4 firmware. I can't tell exactly what's going on, but the routine appears to call routines to get time limits for three formats: Getreclimitt_2, Getreclimitt_3, and Getreclimitt_4. These correspond with time limit variables defined in libmpr.so:

libmprctrl.so
libmpr.so
Format Type

Getreclimitta
aRec_limit_time
SD_MPEG2

Getreclimitt_0
aRec_limit_ti_0
HD_AVC

Getreclimitt_1
aRec_limit_ti_1
AVI_DV

Getreclimitt_2
aRec_limit_ti_2
XAVC_AVC

Getreclimitt_3
aRec_limit_ti_3
WAVE_LPCM

Getreclimitt_4.
aRec_limit_ti_4
NON

There doesn't appear to be a time limit definition for the XAVC S 4K formats, though they might use the XAVC_AVC definition, with all the other HD format time limits being defined as HD AVC, even if they use XAVC-S format. There are also time limit check calls in libmpr.so that differ somewhat from the above:

libmpr.so
Format Type

aRec_limit_chk_
HD

aRec_limit_ch_0
SD

aRec_limit_ch_1
MP4AVC

aRec_limit_ch_2
NONE

As implied in #3, the GetRecLimitTimeForFV(void) is missing from libmprctrl.so in the RX100M5 firmware, which explains why the property can't be set by OpenMemoriesTweak. However, the RX100M5 includes a new routine called GetHeatLimitedMovieRecTime(bool *, unsigned int *). There are two values that look like they might be property keys (0x9245DC and 0x920111), but I can't find them in Backup.bin.

Both the RX100M4 and RX100M5 also have a routine in libmprctrl.so called GetRecLimitTime(void). It looks like the code is the same, except for code location and address references. This code loads from what looks like property key 0x3C03A5, which is a real property, but I don't see values for that property and the surrounding properties that look like the default time limits or close to them.

This routine appears to call routines to get time limits for three formats: Getreclimitt, Getreclimitt_0, and Getreclimitt_1. These correspond with time limit variables defined in libmpr.so, as shown above.
I can paste in the code if someone will tell me how to make it look nice.

Any one figured it out yet ! Will be nice to record over 5min

Hi Guys,
Is this a dead end ? or is there hope to a solution
If anybody wants me to do anything, please ask
ZT

I spent a lot of time trying to find the setting or settings that would override the limit, but failed. In the end I bought a used Atomos Ninja Flame external display/recorder. No recording limit and codecs for higher-res 4K compression like ProRes and DNxHR are supported, not to mention a much larger screen for recording and playback.

That is a real shame :-( perhaps an app could be written which just records 4k vid after 4k vid ? then it just leaves the heating fix (easy enough I recon)

Has anyone else had another crack at this? 5 min limit is killing me!!

I wish I understood how to do this stuff because this would be a fantastic feature to unlock.


bug with mobile autocomplete in challenge code section

Describe the bug
When trying to replace the text inside the closing tag of an html element, the autocomplete deletes part of the closing tag and sometimes, some text before it.
To Reproduce
Steps to reproduce the behavior:

Click here  to go to the challenge where I experienced this issue. But use a mobile phone. I used a Samsung S8 with a Google Chrome browser.
Try editing the current div element. However, don't delete the whole element or its tags. Given a div element as follows:
<div> some content here </div>
edit it by replacing the characters div with footer.
Edit the opening tag first and with the keyboard still open, put the cursor inside the closing tag.
Start editing by deleting the div text in the closing tag. The platform will attempt to auto complete the tag for you. This will cause the removal of the </ part of the closing tag. In my case, it also removed some text that was just before the </ part of the closing tag.
To replicate the bug, it is important that you keep the keyboard open and don't attempt to hide or close it while editing the opening and closing tags.

Expected behavior
I expected the auto complete to simply replace the characters div with the characters footer when attempting to autocomplete instead of deleting other characters and part of the closing tag in the process.
Screenshots
Before editing

After editing opening tag and keeping keyboard open

While keeping keyboard open, I start deleting the div characters and the buggy autocomplete engages.

Desktop:
Please don't use a Desktop
Smartphone :

Device: Samsung S8
OS: Android 9
Browser: Google Chrome
Version: 85.0.4183.101

Additional context
I have only noticed this problem on mobile and it really is annoying considering that coding on mobile naturally isn't a piece of cake, so autocomplete is one feature that should always work correctly.

Hello~!
This is a known issue with the Monaco editor and the default mobile keyboard. We actually have a news article on using a mobile device, which touches on some mobile keyboards specifically built for coding that are known to work well with our platform. We recommend trying these keyboards.
For now, we are going to close this issue. If you still encounter the bug after switching to a supported keyboard, feel free to provide the relevant information and request that we re-open the issue. 🙂


Adding pygments into test-requirements.txt

A very simple fix. I just noticed it when I was setting up my Ubuntu test VM.

Thanks @zmingxie I've merged this in and it's part of the new release, which fixes a bug with post requests when unpausing/unlocking pipelines with certain Python versions. :)


Shadow not working on Stack and Box

Description
shadow props not working on Stack and Box component
<Stack
      spacing="lg"
      h={80}
      pt={10}
      w="100%"
      flexDirection="row"
      shadow="lg"
      alignItems="center"
      bg="white"
      px="xl"
      borderBottomLeftRadius={32}
      borderBottomRightRadius={24}
    />

it works but I have to add shadowColor to make it work, i think we have to add a default shadowColor value

Fixed on version 1.0.0


MGDOBR-60: add keycloak resources and configurations

MGDOBR-60
This PR aims to add keycloak server in docker-compose and in our openshift cluster. The configuration for docker-compose is in plaintext, because it is for development purposes. The config for OCP is encrypted, the credentials are different and will be shared with the team using a gdoc.
Please make sure that your PR meets the following requirements:

[x] Your code is properly formatted according to this configuration
[x] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

Looks good to me @r00ta . Not sure why the build is failing currently. Let's see what happens.

Yep I'm fixing


Fix dockerfile and README.md

I just try the run the dockerfile and find something wrong, and I think I fixed it.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: netlol sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


small imports reordering

Some imports are ordered in a really weird way and misaligned with their comments.
This fixes that

typo fixed, merging


Add functionality for all modes supported by universal cape

This library is abandoned. Please check notice in README for further information.


Start blogpost on control panel configuration

Header of post

I am working on formatting the control panel for Emily's Oxygen gradient model. I am using existing web elements in Empirical and may add a few prefabricated features as well.

Hi Sara, I think your blog post looks great! It is written really well and is easy to understand. I really liked the chronological order of the post and how you explained everything you changed and added to the project since the beginning.
I really like your initial introduction to the topic! It makes the topic seem much more relatable to any readers of the post, even if they don’t have extensive prior knowledge on it.
When I open your markdown file on github, I'm not able to see the “Model of cancer evolution along an oxygen gradient” diagram. It just displays as ![Model of cancer evolution along an oxygen gradient]({{ site.baseurl }}/assets/kayakingCellist/original_config_panel.png). The same happens for the “New Configuration Panel” image as well. I was having a similar issue in my blogpost, but when I published it temporarily to my github webpage, the images were displayed properly. I think it could just be that the images are not displaying in markdown and would display once actually published to the waves website, but I'm not sure.
It was a bit unclear to me what you meant by "new feature idea" statements. In the "Revamping the Configuration Panel" section, it seems like your "new feature idea" statement is something that you would want to add in the future. But in the "Adding Config Panel to Empirical" section, it seems like after each "new feature idea" statement, you explain how you implement those ideas. In the case that "new feature ideas" are titles/subtitles for the paragraphs below them, I think it may be clearer to format them as larger titles/subtitles instead of sentences. In the case that "new feature ideas" are ideas you would want to add to this project in the future, maybe you could make a separate section to talk about future ideas.
Some minor typos I noticed:

Under the “Revamping the Configuration Panel” section, in the paragraph under “New feature idea”, at the end of the second sentence, “particpiants” should be “participants”
The subsection called Additions to the “Empirial” Library should say “Empirical” instead. In this same section, the last bullet point should say “explanation”, not “explination”
I think the first word under the "Prefab Tools Demo" section should be spelled “Congratulations”, not “Congradulations”

Overall, the blog post looks great, and your project is so impressive and interesting! I definitely think these new prefabricated tools will be so useful to future users! I'm excited to see the final post!

Hi Sara,
I like your blog post. Here are some comments I have:
Pros:

Great use of emojis and icons.
Sentences are casual and easy-to-understand, giving first-time readers a clear sense of what this project is about without overwhelming them with dense technical materials.
I like the table you used to distinguish "preferred features" with "newly added features."
I like how you broke the whole project into multiple steps, or milestones. This makes readers follow clearly your thought process.

Things to improve:

![Model of cancer evolution along an oxygen gradient]({{ site.baseurl }}/assets/kayakingCellist/original_config_panel.png). This sentence is not rendered correctly in the Markdown.
Congradulations in the Prefab Tool Demo section has typo

holy smokes!!! this is top notch!!! attaching some feedback/ideas as a pdf. Well done.
Safari - Jul 30, 2020 at 10:55 PM.pdf
(let me know if handwriting doesn’t render)


Updated response block of required query param according to latest response generated

Updated response block of required query param according to latest response generated

📝 Docs preview for commit c533cb7c2fbf5b4c701fc54cec786f798ce9b8c0 at: https://64c4af73eececd3f347cdbae--fastapi.netlify.app

Thank you @rahulsalgare! :cake:
It seems this was covered in another PR, so I'll now close this one, but thanks for the effort! :coffee:


Use LazyArrays

Codecov Report

Merging #11 into master will decrease coverage by 3.61%.
The diff coverage is 91.04%.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
- Coverage   93.27%   89.65%   -3.62%
==========================================
  Files           6        6
  Lines         342      232     -110
==========================================
- Hits          319      208     -111
- Misses         23       24       +1

Impacted Files
Coverage Δ

src/interfaceimpl.jl
100% <100%> (ø)

src/linalg.jl
60% <100%> (-32.77%)
:arrow_down:

src/AbstractBlockBandedMatrix.jl
100% <100%> (ø)
:arrow_up:

src/BlockBandedMatrix.jl
96.96% <100%> (-0.26%)
:arrow_down:

src/broadcast.jl
86.84% <86.84%> (ø)

src/BandedBlockBandedMatrix.jl
92.22% <94.73%> (-1.26%)
:arrow_down:

... and 2 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 96a3966...be06d7e. Read the comment docs.


Meetup data processing for rwjf

Relating to branch https://github.com/nestauk/nesta/tree/96-rwjf_mup

[x] Devise method for automatic identification of health related meetup groups
[x] Add local task for extracting topics relating to health
[x] Add geocoding into pipeline
[x] Pipe relevant meetup data to ES
[x] Add terms alias for terms_topics_group
[x] Add auto-translation
[x] Sanitise html

Also related to #102

Index meetup_v0 is now available https://search-health-scanner-5cs7g52446h7qscocqmiky5dn4.eu-west-2.es.amazonaws.com/meetup_v0/_search

Closed by #122, moved the remaining points to #126


Ukrainian localization

Re-targeting this towards 1.20.1, as the branches have parity. This will also help in uncovering any holes compared to #104

That was not really successful... reverting that, and looking at this again in a bit once I port over the language changes from 1.20.1

There seems to be some differences in this compared to the first PR, as well as this completing some overlooked lines like Filled End City Map. If you could go over those lines, as well as the feedback in #104, I would be happy to merge them together


AspNetCoreOperationSecurityScopeProcessor does not work for global authorization policies

I want to use a global authorization filter, but keep the option to exclude certain controllers / methods with the [AllowAnonymous] attribute.
The generated open api document should add the the security requirement for all methods, except the ones with the [AllowAnonymous] attribute.
AspNetCoreOperationSecurityScopeProcessor works fine when using [Authorize] / [AllowAnonymous] attributes on controllers and methods, but it will not recognize global authorization policy filters:
services.AddControllers(options =>
{
    options.Filters.Add(
        new AuthorizeFilter(
            new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));
});

or .net core 3:
app.UseEndpoints(endpoints =>
{
    endpoints
        .MapControllers()
        .RequireAuthorization();
});

Using OperationSecurityScopeProcessor instead will add the security requirement for all methods in the open api document, regardless of any additional [AllowAnonymous] attributes on controllers / methods and therefore is not really a good option.

I think OperationSecurityScopeProcessor is deprecated and should only be used for asp.net mvc (not core)

Yes, but the issue is about the AspNetCoreOperationSecurityScopeProcessor which seems to not cover authorization policy filters.

No its not deprecated, this needs to be fixed/improved there.

Should the AspNetCoreOperationSecurityScopeProcessor being working properly for locally-applied policies? If I have an endpoint like this:
[Authorize(Roles = "Employee:Read")]
public IActionResult Get()
{
  // ...
}

then NSwag has no problems marking up the OpenAPI definition with the appropriate role. But if I move that role into a policy of the same name (so the policy is called Employee:Read and it requires that you have the Employee:Read role), then the mark up is missing:
[Authorize("Employee:Read")]
public IActionResult Get()
{
  // ...
}

Should the AspNetCoreOperationSecurityScopeProcessor being working properly for locally-applied policies? If I have an endpoint like this:
[Authorize(Roles = "Employee:Read")]
public IActionResult Get()
{
  // ...
}

then NSwag has no problems marking up the OpenAPI definition with the appropriate role. But if I move that role into a policy of the same name (so the policy is called Employee:Read and it requires that you have the Employee:Read role), then the mark up is missing:
[Authorize("Employee:Read")]
public IActionResult Get()
{
  // ...
}

If you look at the code then you see that only roles are taken into account:
https://github.com/RicoSuter/NSwag/blob/master/src/NSwag.Generation.AspNetCore/Processors/AspNetCoreOperationSecurityScopeProcessor.cs
Can you create a PR to improve that with the right behavior (and hopefully not breaking changes)?

Working on a proof of concept, I faced the same issue as mentioned above.
Situation:

Policy based authentication, where each policy requires different scopes.
Multiple authorization flows (implicit flow + app with client id and client secret).
Default policy is applied, as a default for the authorize-attribute.
Fallback policy is applied, to force all request to be authorized conform policy.
Specifc endpoint requires a different policy, specified in authorize-attribute.

Not backwards compatible (so used a separate class name) and untested, but maybe the following implementation might help forward. Not sure how this will behave in a solution where also Authorize-attributes with Role are specified.
/// Generates the OAuth2 security scopes for an operation by reflecting the AuthorizeAttribute attributes.
    public class PolicyBasedOperationSecurityScopeProcessor : IOperationProcessor
    {
        private readonly string _name;

        private readonly string _fallbackPolicyName;
        private readonly string _defaultPolicyName;
        private readonly Dictionary<string, string[]> _policyScopeMapping;

        /// Initializes a new instance of the <see cref="OperationSecurityScopeProcessor"/> class with 'Bearer' name.
        public PolicyBasedOperationSecurityScopeProcessor() : this("Bearer")
        {
        }

        public PolicyBasedOperationSecurityScopeProcessor(string name) : this(name, null, null, null)
        {
        }

        /// Initializes a new instance of the <see cref="OperationSecurityScopeProcessor"/> class.
        /// <param name="name">The security definition name.</param>
        /// <param name="policyScopeMapping">Mapping between policy name and required scopes.</param>
        /// <param name="fallbackPolicyName">Fallback policy name, if any.</param>
        /// <param name="defaultPolicyName">Default policy name, if any.</param>
        public PolicyBasedOperationSecurityScopeProcessor(string name, Dictionary<string, string[]> policyScopeMapping, string fallbackPolicyName, string defaultPolicyName)
        {
            _name = name;
            _fallbackPolicyName = fallbackPolicyName;
            _defaultPolicyName = defaultPolicyName;
            _policyScopeMapping = policyScopeMapping;
        }

        /// Processes the specified method information.
        /// <param name="context"></param>
        /// <returns>true if the operation should be added to the Swagger specification.</returns>
        public bool Process(OperationProcessorContext context)
        {
            var aspNetCoreContext = (AspNetCoreOperationProcessorContext)context;

            var endpointMetadata = aspNetCoreContext?.ApiDescription?.ActionDescriptor?.TryGetPropertyValue<IList<object>>("EndpointMetadata");
            if (endpointMetadata != null)
            {
                var allowAnonymous = endpointMetadata.OfType<AllowAnonymousAttribute>().Any();
                if (allowAnonymous)
                {
                    // Anonymous access allowed, no security requirements needed.
                    return true;
                }

                var authorizeAttributes = endpointMetadata.OfType<AuthorizeAttribute>().ToList();
                if (!authorizeAttributes.Any())
                {
                    if (string.IsNullOrEmpty(_fallbackPolicyName))
                    {
                        // No default policy and no authorization atribute, so allow anonymous access.
                        return true;
                    }
                    else
                    {
                        var requiredScopes = GetScopesForPolicy(_fallbackPolicyName);
                        if (!requiredScopes.Any())
                        {
                            // Fallback policy applies, but no scopes required, so allow anonymous access.
                            return true;
                        }
                        else
                        {
                            // Falback policy applies, so require scopes.
                            ApplyPolicyScopes(context.OperationDescription.Operation, requiredScopes);
                        }
                    }
                }
                else
                {
                    // There is one or more authorize attributes.
                    // If multiple policies are defined, those should be stacked.
                    // If no policy is specified, the default policy applies.
                    // Otherwise the policy specified in the attribute applies.
                    var applyingPolicies = GetPolicyNamesScopes(authorizeAttributes);
                    var requiredScopes = applyingPolicies.SelectMany(policyName => GetScopesForPolicy(policyName)).Distinct();
                    ApplyPolicyScopes(context.OperationDescription.Operation, requiredScopes);
                }
            }

            return true;
        }

        private void ApplyPolicyScopes(OpenApiOperation operation, IEnumerable<string> requiredScopes)
        {
            if (operation.Security == null)
            {
                operation.Security = new List<OpenApiSecurityRequirement>();
            }

            operation.Security.Add(new OpenApiSecurityRequirement
            {
                { _name, requiredScopes }
            });
        }

        private IEnumerable<string> GetPolicyNamesScopes(IEnumerable<AuthorizeAttribute> authorizeAttributes)
        {
            return authorizeAttributes
                .Select(a => a.Policy ?? _defaultPolicyName) // Apply default policy if not specified in attribute.
                .Distinct();
        }

        private string[] GetScopesForPolicy(string policyName)
        {
            var scopes = Array.Empty<string>();
            _policyScopeMapping?.TryGetValue(policyName, out scopes);

            return scopes;
        }
    }

While timvandenhof's solution from above works, it seems it doesn't honour multiple auth schemas under the policies (e.g. a bearer token and API keys) for individual end-points.
My observations:

the top "Authorize" button shows all the schemas,
the padlock button on individual end-points shows the "Bearer" authentication only.

I didn't dig deeper, but the solution might require multiple IOperationProcessor implementations for each schema


Alexa Is not responding to Wake Word, Ubuntu

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
I am building Alexa using Ubuntu 16.04 and everything does work except the wakeword.
What is the expected behavior?
Alexa is not responding to any wakeword.
What behavior are you observing?
Nothing
Provide the steps to reproduce the issue, if applicable:
I've followed every step, setup a voice profile in the app and she knows my name.
Tell us about your environment:

What version of the AVS Device SDK are you using?
  1.11.0

Tell us what hardware you're using:

[X ] Desktop / Laptop
[ ] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[X ] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @Hertzyy,
Can you attach DEBUG9 logs, as well as your cmake command? See steps to enable debug logs.
Also, which wake word engine are you using?

I am closing this issue due to inactivity. Please feel free to re-open it if it has been closed in error.


fix: CCI issues

Fixes avm-transpiler multi-arch image
Fixes aztec-up terraform apply & only publishes on tagged releases

Benchmark results
Metrics with a significant change:

avm_simulation_time_ms (Token:mint_public): 565 (+723%)
avm_simulation_time_ms (Token:assert_minter_and_mint): 71.8 (-67%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,730
1,547
695
748 (+2%)
768

proof_construction_time_sha256_30_ms
11,416
3,058
1,364
1,404 (-1%)
1,452

proof_construction_time_sha256_100_ms
43,906
11,758
5,416
5,400
5,349

proof_construction_time_poseidon_hash_ms
78.0
34.0
34.0
59.0 (+2%)
88.0

proof_construction_time_poseidon_hash_30_ms
1,519
416
200
224
275 (+3%)

proof_construction_time_poseidon_hash_100_ms
5,741
1,558
722 (-1%)
770 (-3%)
793

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
1,412
1,412
1,412

l1_rollup_calldata_gas
9,464
9,446
9,464

l1_rollup_execution_gas
610,285
610,267
610,285

l2_block_processing_time_in_ms
746 (-2%)
1,407 (+1%)
2,684

l2_block_building_time_in_ms
22,912 (-1%)
46,177
91,638 (+2%)

l2_block_rollup_simulation_time_in_ms
22,822 (-1%)
45,888
91,299 (+2%)

l2_block_public_tx_process_time_in_ms
19,565 (-1%)
42,411
87,756 (+2%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
6,435 (+1%)
9,350 (+2%)

node_database_size_in_bytes
10,567,760
14,467,152 (+1%)

pxe_database_size_in_bytes
9,242
15,127

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms

GasToken:_increase_public_balance
69.3 (-1%)

GasToken:set_portal
16.6 (-1%)

Token:constructor
96.1 (+2%)

FPC:constructor
62.6 (-1%)

GasToken:mint_public
53.0 (-3%)

Token:mint_public
:warning: 565 (+723%)

Token:assert_minter_and_mint
:warning: 71.8 (-67%)

SchnorrAccount:approve_public_authwit
31.4 (-1%)

FPC:prepare_fee
73.3 (-8%)

Token:transfer_public
38.4 (-13%)

FPC:pay_refund
64.1 (+8%)

Benchmarking:increment_balance
2,438 (+1%)

Token:_increase_public_balance
69.1 (+20%)

FPC:pay_refund_with_shielded_rebate
50.8 (-2%)

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.178

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.3
17.1 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.7
31.8
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.599
0.525 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
48.4
75.1
130 (-2%)
244
468

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
288
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.495
0.463
0.447 (-1%)
0.443 (+1%)
0.437

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
59.5
111
180 (-2%)
351
689

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
208
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.504
0.497
0.480 (-1%)
0.476
0.473

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
74.4
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
135
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.520
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
83,854
676,749

Transaction size based on fee payment method
| Metric |  |
| - |  |

closing in favour of https://github.com/AztecProtocol/aztec-packages/pull/7045


Update processors.js

I need this change since its not supporting res.getHeaders for my project

I added better handling of response headers please see https://github.com/mpashkovskiy/express-oas-generator/commit/a8b99dfd76b3af1992e8d6fb52fddadc53ec9b3c
Try version 1.0.2, and let me know if it works for you

Some extra fixes were needed, could you try 1.0.3?


feat(atenlib): generate all aten signatures

Stack from ghstack (oldest at bottom):

#208
-> #223
#212

Is this a one-time work? Or we will keep the generator script and re-run it once PyTorch/ONNX has an update?

Error cases

tensor list

def aten_unflatten_dense_tensors(flat: TensorType, tensors: TensorType[...]) -> TensorType:
    # unflatten_dense_tensors(Tensor flat, Tensor[] tensors) -> Tensor[]

    raise NotImplementedError()

The generator is designed to be one time to get us started. Thoughts?

I'd like to keep the code for the generator in the repo, to see if we can update it to regenerate some functions caused by ONNX improvement.

@fatcat-z PTAL


Provide installation through chocolatey

Chocolatey is so nice for Windows users

I don't have time to develop one, and it requires regular maintenance.
Binaries are available out there if someone wants to package it.

I don't think so.
I could be like that:

provide a Chocolatey package descriptor with placeholders for version
provide a GitHub Action workflow, trigger on new tag to will do:

replace placeholders with version from tag
push to chocolatey.org

Only a chocolatey.org token would be required from you.
I will prototype in my repo and then provide you a PR.

I'd be willing to add this to my AU repo if there is interest. AU repos are the recommended way of updating chocolatey packages (uses Appveyor by default, but could be modified for GitHub Actions). It watches repositories for releases and automatically packs/publishes.  I'm also open to assisting if this project wants to setup automation for this.

@digitalcoyote feel free to add them to your repo as seems you have all the build and deploy infra already

Working on that now. @ahmetb if you would like, I can add you as a maintainer. This would give you basic management rights to the package (delist versions, manually push, etc).

Sudden funeral has a delay on that. I'll try to get this up soon. The initial update script I wrote is failing in CI bit not locally. I'll comment again when I get it working.

For now go ahead and manage the Chocolatey, you can add me as a backup owner: ahmetalpbalkan

Submitted, Maintainer added, and I'm just waiting for approval. I'll ready a PR with install instructions for when they are able to actually be installed


Error in case statement

Looks like you have your case statement for hq and mq reversed:
                case 'hq':
                    return `https://i1.ytimg.com/vi/${videoid}/mqdefault.jpg`
                case 'mq':
                    return `https://i1.ytimg.com/vi/${videoid}/hqdefault.jpg`

hey @benlieb thanks for pointing this out i'll patch this up asap !

If I were freer, I would have sent a PR. Also if I were freer, I'd submit a PR to accept the video as a param as well as the full url (that's what my app uses).


contains

Please add a method

The Node.contains() method returns a Boolean value indicating whether a node is a descendant of a given node, i.e. the node itself, one of its direct children (childNodes), one of the children's direct children, and so on.

https://developer.mozilla.org/en-US/docs/Web/API/Node/contains

I'm not sure this is a worthy addition, right now you can just do $('#foo')[0].contains ( $('#bar')[0] ) which is not too bad, I think 🤔
Let's see if some more people want this too.

Ok. I agree. I can suggest a version to do this for $.find
if ($el.find(HtmlElement) .length)
I think that this would be a suitable solution.


Extract cookies from session?

Hey,
I was just wondering if there was a way to extract the session cookies from the page/browser to be used in other request calls outside of mechanical soup?
I'm trying to do page.cookies.get_dict() but its returning empty.
Thanks

Hi John. Yes you can. The requests Session object is accessible at Browser().session. You can pickle it for reuse. I believe you can also get a cookie jar object compatible with other Python libraries
http://docs.python-requests.org/en/master/user/advanced/#session-objects
http://docs.python-requests.org/en/master/api/#request-sessions

Ahh brilliant, I guess my methodology was wrong, I had to use Browser().session when I was using page.cookies :D
Thanks for the super quick response!


Change color of a column after filtered

Hello @ced-b
Sorry to bother you but there is a way to change the color of a table header after filtered? For example, if I've selected a option in a specific column, it will change the text color or background color to green?
Thanks one more time.

Nevermind @ced-b. I've found on CSS file.
Thanks again.

This is probably not a bad feature after all to be added by default.
Feel free to send me a pull request with the updated css if you figured it out. Otherwise, I will see that I can update it,


Use correct "ByteCommandParameter" for three parameters

Using "UshortCommandParameters" for advertisingType, ownAdressType and peerAdressType caused 3 "00"-Bytes extra within the parameter, causing the parameter to be ignored by the Bluetooth device. Changing this to the correct "ByteCommandParameter", the parameter holds 16 Bytes which are accepted by the Bluetooth device. Only by employing this change, the advertisment-Interval can be changed at all.

I'll open a new pull request with both edits


[REQUEST] Deno Support

Hi @tonysamperi,
Firstly, congratulations on this great work; ts-luxon is truly amazing.
I feel that a date library like ts-luxon is missing in the Deno ecosystem. It would be great if you could consider sharing your library on Deno Land.
Deno + TS-Luxon is the perfect combination, and you could make this possible.
Thanks in advance!

Hi @btd1337
Done, but I don't know if it'll ever get updates, cause it says to create tags from the repo to push updates.
I only tag the releases from git.

@tonysamperi Where's the link to your library on the Deno Land? Is It already published?

@btd1337 tsluxon

@tonysamperi I really don't see your library in Deno Land. Can you share the link with me?
Another thing, I think it would be interesting to maintain consistency with the library name, following the pattern of other libraries: ts_luxon

I created it and set the webhook.
For the name, since I couldn't insert the dash and noticed they were all lowercase I opted for the umd name in lowercase, which is tsLuxon, hence tsluxon.
I'll check what happened on deno because I couldn't find the link either...
And I would expect it to be https://deno.land/x/tsluxon
I'll let you know in the next few days...
Cheers

Hi @btd1337 sorry it took a while...hard times...
It needed at least a tag to trigger the webhook...
I tagged v 4.5.2, now the link above works!

May be I'm doing something wrong, but when trying import as below
import * as tsluxon from<EMAIL_ADDRESS>error Module not found<EMAIL_ADDRESS>occures
Apparently, it fails to resolve "./datetime" as datetime.ts in index.ts

@tonysamperi the way that handles exports is still not working.
How to reproduce:
// test.ts
import * as tsluxon from<EMAIL_ADDRESS>
console.log(tsluxon);

deno run test.ts

error: Module not found<EMAIL_ADDRESS>    at https://deno.land/x/tsluxon@4.5.2/src/index.ts:1:26


"A subdirectory or file dl already exists."

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

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

Checklist

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

Please make sure the question is worded well enough to be understood
Everytime I run a yt-dlp command now, I get this interface (image attached). Does anyone know why? How do I close it so I can run yt-dlp like usual without this interface? There is no verbose log output in this case. Thank you

Provide verbose output that clearly demonstrates the problem

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

Complete Verbose Output
No response

It looks like you've downloaded a .bat file (yt-dlp.bat) or some other type of script whose filename begins with yt-dlp and placed it in your PATH.
Run where yt-dlp to see the executable file that is being called when you run yt-dlp from the command line. Confirm it is not the actual yt-dlp.exe, and then move it out of your PATH or delete it

Hi thank you, you are correct. I actually downloaded a template "yt-dlp.bat" script online (attached) which was placed in the download folder from where I was running yt-dlp. Thank you for pointing this out. You fixed my issue.
yt-dlp.txt


BUG: stats: Fix logpdf method of invwishart.

The private function _cho_inv_batch in _multivariate.py computes
the inverse of a sequence of symmetric positive definite matrices
using the Cholesky factorization. There was a bug in this function,
where it didn't correctly copy the lower part of the result to the
upper part to make the resulting inverse(s) symmetric.
Closes gh-8844.

LGTM, merged. Thanks @WarrenWeckesser


Use kapp to manage deploys from source

kapp is a Carvel tool that manages k8s resources. Like kubectl, kapp
is a client side cli that operates on vanilla k8s yaml.
kapp will:

track resources it creates
provide a summary of the changes it is about to apply
optionally, diff the current and new state
optionally, prompt to confirm the changeset
watch resource for them to become ready. (i.e. Deployment rollouts are
complete and new Pods are ready)
prune fields no longer set (unlike kubectl apply which merges)
delete unused resources (unlike kubectl apply which orphens)

Interally, kapp uses ConfigMaps to track which resources it is
responsible for managing. These ConfigMaps need to be created in a
namespace. We default this to kube-system, but can be overridden by
setting KAPP_NS. Additional options can be set by overridding KAPP_ARGS.
https://carvel.dev/kapp/
Signed-off-by: Scott Andrews<EMAIL_ADDRESS>

Codecov Report

Merging #49 (0e22be2) into main (2ae9ff3) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##            main     #49   +/-   ##
=====================================
  Coverage   2.16%   2.16%
=====================================
  Files          4       4
  Lines        185     185
=====================================
  Hits           4       4
  Misses       181     181

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 2ae9ff3...0e22be2. Read the comment docs.

Superseded by #119


Support 'C' packet in the wire protocol

This packet is used to inform the server to close a statement or portal. While this doesn't affect TPCC's correctness, it should be implemented for completeness.

Fixed by #430


Check disk space

Pull Request instructions:

Please follow the update protocol
Answer the questions below in detail. Your responses will be emailed to experimenters.
If the experimenters must do anything new, provide detailed step by step instructions on the wiki
If computer maintainers need to manually update anything, provide detailed step by step instructions
Use markdown syntax in order for your comments to be rendered reliably in the email: "1." instead of "1)", use four spaces for indents.
If you use the keyword "skip email" in the title, it will skip the email updates
Merges from "develop" into "production_testing" should use the keyword "production merge" in the title for reliable indexing of updates
Merges from "production_testing" into "main" should use the keyword "update main"

Describe changes:
Displays disk space and warns users of low disk space when the available space is less than 100G or less than 1% of the total space.

What issues or discussions does this update address?
Avoid disk fullness
Related: https://github.com/orgs/AllenNeuralDynamics/projects/47/views/7?pane=issue&itemId=71011651
Describe the expected change in behavior from the perspective of the experimenter
No
Describe any manual update steps for task computers
No
Was this update tested in 446/447?
Tested on my own computer.

Does the bar update, or just show the status when the GUI opens?
The bar is cool, but if it doesn't update, maybe we should just have a pop up window to alert the user of low disk space?

Does the bar update, or just show the status when the GUI opens?
The bar is cool, but if it doesn't update, maybe we should just have a pop up window to alert the user of low disk space?

The bar will update every trial


Expose rootData and/or keyPath of a Cursor

I usually find it useful to know the origin path for a cursor via this._keyPath. I usually don't want to keep track of both of them external to the cursor.
I know they're meant to be private: https://github.com/facebook/immutable-js/blob/52db807330bb7786fbe20156aca80fbae47491c5/contrib/cursor/index.js#L43-L44
Can rootData and/or keyPath be officially public?

+1
I think that this is very important to provide access to the keyPath, it enables a variety of great uses.
One use case is so that you can serialize the keyPath and updateValue in one piece of code, transmit it to another (possibly on the server), then apply the changes there. Full stack flux could use this approach.
var structure = Immutable.fromJS({ a: { b: { c: 'hello' } } });
// somewhere deep in your code, you have a cursor that was passed down to you, maybe through
// subcursors, etc.
// var cursor = ...;  // _keyPath = ['a', 'b', 'c']
// I want to communicate to the server via web socket or ajax that data at cursor keyPath needs to be updated
socket.send({ update: { keyPath: cursor.keyPath, data: 'world' }});

// serialized keyPath and sent to server

// server validates and applies update to db or its own immutable structures and sends update to client
// validate and update server db at keyPath with data
// after all stores have updated, send notification with changed data to client

// client receives the update and applies to local structure
socket.on('update', (obj) => {
  var cursor = Cursor.from(structure, obj.keyPath);
  cursor.update(x => obj.data)
});

In the above use case, we did not want to update our local structure directly since we wanted it to be done in a central location after validation, then only if validation succeeds, server would indicate to client to update local cache and views.

If I didn't get this wrong, another use case could be in traversing a tree-like structure. So through the cursor you could access the parent, siblings, etc. I was actually wondering as to why cursors weren't exposing that kind of functionality and until I found this issue I thought maybe I was trying to misuse them?

I'm working on an app where I need to edit parts of a document and using a cursor for the document part makes for a nicely modular approach.
So two use cases while traversing a tree:

You may want to render a part of the tree differently depending on the path taken
You may want to query location-specific calculated document metadata

In the first case you either have to pass the path along with the cursor or move the rendering decisions to the document viewer and have it pass flags to the editor. Neither option seems nice.
In the second case it would cool if the metadata were calculated by the document object itself, which means subclassing Map and proxying the methods via the cursor. Is that feasible?

+1
Hey! I'm recursively rendering a tree in React, and need each element to provide a unique ID.
let tree = [
    [
        [
            [],
            [], // tree[0][0][1]
            [
                []
            ]
        ]
    ],
    [
        [],
        []
    ]
];

...

let Node = React.createClass({
    render: function () {

        let cursor = this.props.cursor;

        // Code to end at leaf nodes goes here

        return

            { cursor.toArray().map((child) => {
                return <Node cursor={child} />;
            }) }

;

    }
});

_keyPath works great, and doesn't require baked-in UUID's for each node, or a partial path that gets built & passed down as a prop.

Thank you for reporting this issue and appreciate your patience. We've  notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.


Add support for Options that can only come from the environment

ATM, it is quite easy to implement an @Option that, if it not given on the command-line, is instead looked up in an environment variable. All it takes is defaultValue = "${env.OPTION_VARIABLE}". With this scheme, however, you get an either/or behavior: Either you supply the option on the command-line or you fall back onto the environment.
What is much trickier to implement is using the union of environment variable(s) and explicit command-line option.
The best workaround I could come up with is the following:
@Option(names = "--url", paramLabel = "URL")
private List<URI> urlsFromCommandLine;

@Option(names = "URLS_OPTION_VARIABLE", paramLabel = "URLs", //
	hidden = true, //
	defaultValue = "${env:URLS_OPTION_VARIABLE}",
	split = "\s+")
private List<URI> urlsFromEnvironment;

This allows you to use zero or more --url command-line options but also parses the URLS_OPTION_VARIABLE into zero or more URLs (splitting on whitespace).
The advantage of the above is that you get good error messages using the same format as those for the --url command-line option:
Invalid value for option 'URLS_OPTION_VARIABLE' (URLs): cannot convert '%%' to URI (java.net.URISyntaxException: Malformed escape pair at index 0: %%

The disadvantage is that, while the URLS_OPTION_VARIABLE is hidden, it is still parsed as an option. In particular, you cannot have a file called URLS_OPTION_VARIABLE assigned to a positional @Parameter which is certainly non-obvious to the user should they ever find themselves in this situation.
Hence this feature request: Maybe we could have names-less @Options that then can only get assigned via their defaultValue? Or perhaps it is even worth adding a dedicated @EnvironmentVariable annotation to picocli?
FWIW, I also considered the following alternative (in fact, I am using it due to the aforementioned disadvantage): parsing the environment variable manually similar to https://picocli.info/#_validating_option_combinations in the body of the run method.
But that gets awkward if you want to re-use the TypeConverter:
urlsFromEnvironment = Stream.ofNullable(System.getenv("URLS_OPTION_VARIABLE"))
	.flatMap(Splitter.on(CharMatcher.whitespace())::splitToStream)
	.map(option -> {
		try {
			return ... // Unfortunately, no access to the converter registry.
		} catch (TypeConversionException e) {
			throw new ParameterException(spec.commandLine(), e.getMessage(), e);
		}
        }).collect(toList());

Moreover, you manually have to make sure that a ParameterException rather than a TypeConversionException leaves run() to get the default error behavior showing the usage help. If you let the TypeConversionException "escape", picocli just prints the raw stack trace.

That’s an interesting use case but I don’t think it should be supported in the library.
The solution that you found looks very nice to me. It’s pretty concise at 9 lines of code, and it expresses its intent quit clearly. It even leverages the fact that one can throw a ParameterException from the business logic to get user-facing errors that look like the built-in validation.
On the other hand, building support for this in the library would easily be a source of confusion. What is the difference between a nameless option and a positional parameter? (And why not use positional parameters for this use case?)
So, it’s an interesting idea but I don’t think it’ll be incorporated in the library.

On the other hand, building support for this in the library would easily be a source of confusion. What is the difference between a nameless option and a positional parameter? (And why not use positional parameters for this use case?)

I agree that positional parameters and "nameless" options are quite different things, but I think this is really about how you phrase it in the API.
I think something along the lines of a dedicated defaultOnly annotation property would be clearest:
@Option(names = "URLS_OPTION_VARIABLE", paramLabel = "URLs",
	hidden = true,
	defaultValue = "${env:URLS_OPTION_VARIABLE}",
	defaultOnly = true,
	split = "\s+")
private List<URI> urlsFromEnvironment;

As I imagine it, the property would be orthogonal to hidden; while most of the time you want to hide a defautOnly option from the automatically generated usage help and display something custom instead, sometimes the automatically generated desciption might be enough, particular if using ${DEFAULT-VALUE} in the description.
That being said, whether to support something like defaultOnly certainly depends on how many implicit assumptions in the existing code are violated by it. If this admittedly somewhat niche feature would require a major restructuring, then I would agree that it's not worth it.
It's your call, of course.

One more reason why it would be great to have this as special kind of @Option: With @ArgGroup(validate = false, heading = "Environment Variables") it is super-easy to add them the environment variables in a dedicated section to the usage help.
Using the low-level getHelpSectionMap() API instead is rather cumbersome. This is particularly true if your environment variables are spread out across across multiple mix-ins, as you still need to know the full list of environment variables in one place when installing the section renderer (following EnvironmentVariablesSection.java). So you would either have to write some logic the queries the various mix-ins or duplicate the list of variables.

Every feature comes with trade-offs.
In this case, I estimate that the potential target audience is quite small (this is a niche feature), and the benefits don't outweigh the drawbacks.
It is not that the desired functionality cannot be achieved with the existing version of picocli, this request is about making this more convenient, and generally I err on the side of not providing more convenience mechanisms.
So I will close this ticket as won't-do.
Thank you for raising this and for the thoughtful and interesting discussion!


Reduce the SrcSpan of "Redundant do" to only cover "do"

This is so that the entire do block doesn't get highlighted in my editor.
Before:

After:

Thanks! Great idea.


Release <IP_ADDRESS> not installable

The only release available in the winget CLI is still <IP_ADDRESS> and there is not MSI on the <IP_ADDRESS> release page.

I am working on version 2.1
After that, MSI will be added in Winget

I am working on version 2.1
After that, MSI will be added in Winget

I also notice if I download and unpack the rar from <IP_ADDRESS>, the exe doesn't run but exits immediately. Is that release just broken?

I also notice if I download and unpack the rar from <IP_ADDRESS>, the exe doesn't run but exits immediately. Is that release just broken?

I also notice if I download and unpack the rar from <IP_ADDRESS>, the exe doesn't run but exits immediately. Is that release just broken?

This problem is due to the libgit2sharp library, which I removed in version 2.1
There should be a PDB file next to the exe file,  This file is required to run (So make sure the file is available)
Anyway, I fixed this problem in version 2.1

I also notice if I download and unpack the rar from <IP_ADDRESS>, the exe doesn't run but exits immediately. Is that release just broken?

This problem is due to the libgit2sharp library, which I removed in version 2.1
There should be a PDB file next to the exe file,  This file is required to run (So make sure the file is available)
Anyway, I fixed this problem in version 2.1

@tardis4500
you can try version 2.1
https://github.com/HandyOrg/HandyWinGet/releases/tag/v<IP_ADDRESS>

@tardis4500
you can try version 2.1
https://github.com/HandyOrg/HandyWinGet/releases/tag/v<IP_ADDRESS>


XIVY-4443 Add simple test for sso samples

removed valve jars
simplified log configuration
added simple test, they do not test the hole sso round trip, its really hard to do that with curl. i will give it a try. but it is may not worth, because from the Axon.ivy Engine side (our side) only the SSO valve is in charge.


Hi, Amazing Work Done. Question about ScanNet Benchmark.

Hi yanmin,
It is an amazing work you done, and I see the benchmark released on ScanNet Test Set.
But for the test set on ScanNet, I can't find a clear ground truth label assigned for the room, which is usually showed in .txt file on train and validation set.
So I am curious about how to get a room classification result on the ScanNet test dataset.
Thank you so much.

The test label is hidden for fair evaluation. You can update your result on the server to get the result. For more information, please refer to Scannet Benchmark Documentation.


Missing application for deployed exfswatch

:fs needs to be in the applications list when deploying.  It would be nice to have this included in the README (currently cannot offer a pull request).
  def application do
    [applications: [:exfswatch, :fs, :logger]]
  end

I think it should be in included_applications, because I don't want start fs automatic.
Thanks. ❤


Update index.md

👷 Deploy Preview for gladia processing.

Name
Link

🔨 Latest commit
cd59fb523b58023e068884631ab41dae14299ee9

🔍 Latest deploy log
https://app.netlify.com/sites/gladia/deploys/641d54a228b34d0008b32c05


Run nightly performance test for specific featuers consistently on unreleased versions

Is your feature request related to a problem? Please describe
For example, run nightly performance test for Segment Replication feature only on the next OpenSearch version, such as on OpenSearch built from 2.x branch.
In the commit https://github.com/opensearch-project/opensearch-build/commit/ffdba8c93f149c20660801f424e3806d0e32dd75, new triggers of the perf test are added. The test will be ran on both version 2.7.0 and 2.8.0.
There are 2 problem:

It's not necessary to run performance test on the already released version, such as 2.7.0, because there will be no new enhancement added to the released version, no need to monitor the performance every day.
There is no automatic mechanism to consistently run perf test in the OpenSearch built from 2.x branch. Version 2.8.0 will be code freeze on May.30th, and I hope to run perf test on version 2.9.0 after the code freeze, because new enhancements will get to 2.9.0 and the benchmark result is necessary to ensure no regression issue occurs.

https://github.com/opensearch-project/opensearch-build/blob/ffdba8c93f149c20660801f424e3806d0e32dd75/jenkins/opensearch/benchmark-test.jenkinsfile#L25-L27
Describe the solution you'd like

Remove the configurations of running perf test on version 2.7.0
Have a script to fetch OpenSearch build artifacts comes from 2.x branch consistently. Bumping version manually in the above lines of code is acceptable, but not the best option.

Describe alternatives you've considered
No response
Additional context
No response

[Untriage]
@tianleh thanks, we will get back on this issue after discussing few points.
Thank you

@prudhvigodithi Thanks for your reply. I noticed there is a new commit https://github.com/opensearch-project/opensearch-build/commit/037c3bf9abd9a8e30c6874cee3fe75e85448e7b9 that removes running benchmark test on version 2.7 and added 3.0.
Glad to see unreleased version 3.0 that fetched from latest build is added to the nightly benchmark test, that will help testing the newly added feature.
Hope to see benchmark tests always run against unreleased version, which is built from 2.x and main branch nightly.

Having an automation to add nightly benchmarks for newer versions is desirable but it has a lot of dependency on when the newer version distribution is available and how stable it is.
Also, there may be requirements to add new feature flags or metadata tags which will only complicate the whole setup.
For now the plan is to have nightly runs for last released 2.x version, upcoming 2.x version and 3.0 and we will be updating the benchmark job accordingly.


Update README.md

Fixed a Grammatical error in README.md
Description

Found a Grammatical error in README.md file instead of 'we make a best effort' , wrote 'we make our best effort'.

Breaking change?

Example

Checklist

[ ] Unit tested updated code paths
[ ] Tagged 1 of @janniks or @zone117x for review

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Sorry a few others found the same changes first. I'm curious, are these generated with some typo/grammar checker tool?


Fix password resets email

For some reason when Object:create() asks for a Member_ForgotPasswordEmail the injector always return an Email class

This has been broken since https://github.com/silverstripe/deploynaut/commit/22901a8ce87001f7162c9e757f9724bede09283d


🔥 Deletion of toStrictlyNegativeInt extension function

📝 Description
We would like to remove the Number.toStrictlyNegativeInt() extension function.
🔗 Dependencies
This issue is blocked by the following ones:

[x] #452

✅ Checklist

[ ] Remove the declaration, update the public API binaries and the unreleased changelog.
[ ] Close this issue as completed and update tracking ones if present.

We are not ready to implement this change.


Update build.gradle

Fix Url for Maven hcert-kotlin repository

Sorry for missing this PR, it's obsolete by now.


[theme] Allow spacing and border radius with CSS unit

[x] I have followed (at least) the PR section of the contributing guide.

Minor tweaks to the createMuiTheme TypeScript declarations to allow non-"px" (string) values to border-radius and when using an array of spacing values.
Thanks!

?
https://github.com/mui-org/material-ui/blob/0def53d9d55eb83fd1a1d89b4c7d74a1d7bd9eab/packages/material-ui-lab/src/Skeleton/Skeleton.js#L22-L24

How do we handle this case?
https://github.com/mui-org/material-ui/blob/0def53d9d55eb83fd1a1d89b4c7d74a1d7bd9eab/packages/material-ui-lab/src/Skeleton/Skeleton.js#L22-L24
maybe with these helpers: https://github.com/mui-org/material-ui/blob/next/packages/material-ui/src/styles/cssUtils.js.

Good spot – not quite as minor as I'd hoped! I'll take a look at the cssUtils.

Do you have a use case?

We use an array of rem values for spacing in another project (on styled-system), the border-radius is in rem for consistency but is not necessary...

@madmanwithabike Yeah ok, supporting rem sounds fair, I guess that if you want the border-radius to match the font size of that the user has set for accessibility, it works. I assume we can decompose unit and value and apply the scale transformation to it. It should work.

Great, thanks, I'll take a look. Appreciate all your pointers!

@madmanwithabike I have pushed a new commit to cover the previous point. If you could double-check, it would be perfect. Regarding styled-system, have you noticed anything else that we could improve? For instance, things in the theme structure you don't link.

@oliviertassinari Thanks for picking this up! This looks great.
I had a look through before adding these originally and couldn't see anything else, but will be sure to (hopefully more successfully) add anything else I find.

@madmanwithabike It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


Comparative Analyses page - make clean rows

This is just placeholder content currently.  We'll need to update this page with the rest of the static content when that happens.  I'm closing this for now.


Service worker does not recognize update

Hello,
I have an application that works offline with SWPrecacheWebpackPlugin, but it keeps saving the cache too much. When I release a new version I have to reload the system about 5 times to update.
I saw that I can post a notification when I receive an update from the service worker. I tried but it did not work, can you help me?
In webpack.prod.conf.js I have the cache configuration:
new SWPrecacheWebpackPlugin({
  cacheId: `${env.APP_NAME}-${env.APP_VERSION}`,
  filename: 'service-worker.js',
  staticFileGlobs: ['dist/**/*.{js,html,css,svg,png,jpg,jpeg,woff}'],
  minify: true,
  stripPrefix: 'dist/',
  runtimeCaching: [
    {
      urlPattern: /^http:\/\/localhost\//,
      handler: 'cacheFirst'
    },
    {
      urlPattern: /^https:\/\/cdnjs\.cloudflare\.com\//,
      handler: 'cacheFirst'
    }
  ]
})

Now in service-worker-prod.js when there is an update try to show a notification on the screen asking the client to update the site:
(function () {
  'use strict';
  var isLocalhost = Boolean(
    window.location.hostname === 'localhost' ||
    window.location.hostname === '[::1]' ||
    window.location.hostname.match(
      /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
    )
  );

  window.addEventListener('load', function () {
    var hasSWSupport = 'serviceWorker' in navigator;
    var isHttps = window.location.protocol === 'https:';
    var isValidHost = (isHttps || isLocalhost);

    if (hasSWSupport && isValidHost) {

      navigator.serviceWorker
      .register('service-worker.js')
      .then(function (registration) {

        console.log('registration ok');
        registration.onupdatefound = function () {

          var installingWorker = registration.installing;
          console.log('update has founded');

          installingWorker.onstatechange = function () {

            console.log('update status has changed', installingWorker.state);
            if (installingWorker.state === 'installed') {

              if (navigator.serviceWorker.controller) {
                console.log('please, update your app');
                var updater = document.getElementById('updater');
                updater.style.display = 'block';
              }
              else {
                console.log('control not found');
              }

            }
          };

        };

      }).catch(function (e) {
        console.error('Error during service worker registration:', e);
      });
    }

  });

})();

PS: I've put some logs to understand better, and the updater element is a Vue component.
When running the system for the first time, I have the logs:
(index):1 registration ok
(index):1 update has founded
(index):1 update status has changed installed
(index):1 control not found
(index):1 update status has changed activating
(index):1 update status has changed activated

So I edit something in some Vue component and build again, upon entering the page again I expected to be notified of the new version, but I only have the log:
(index):1 registration ok

I expected something like this:
(index):1 registration ok
(index):1 update has founded
(index):1 update status has changed installed
(index):1 please, update your app
(index):1 update status has changed activating
(index):1 update status has changed activated

What can I be missing?

Are you serving your service-worker.js file with HTTP caching enabled? That would lead to the behavior you're seeing in browsers other than Firefox. See https://stackoverflow.com/questions/38843970/service-worker-javascript-update-frequency-every-24-hours/38854905#38854905 for more details.
(vue-cli v3 will use Workbox instead of sw-precache under the hood, and Workbox will log a warning to the JS console when you have HTTP caching enabled for your service-worker.js file. And as mentioned in that SO answer, in the future, Chrome and other browsers will start ignoring the HTTP caching settings for your service worker file like Firefox does.)

Hi,
I do not know if I understood, however I created a new project with the vue-cli 3 + pwa. By default the workbox did the caching, but then I tried to edit something in a compenente and compile it again. And it never runs the updated register-service-worker method.
From what I understand it would be because of HTTP caching, how would I change it now? And make it work?

I was able to solve it, I removed my services workers from pre-cache, like this:
staticFileGlobsIgnorePatterns: [/dist\/*-worker\.js/],


404 for Vercel org

https://github.com/vercel
https://git-stars.com/user/vercel

There seemed to be a problem with our update system, it should be fixed now 😊

The 404 is fixed but now I see “ Ranking calculation in progress...” for each lang on that page

There seems to be an issue with our workers, we'll look into it in due time and keep you updated 👍🏽


page refresh

first off, AWESOME work on php-oauth.
i notice on the examples that when i try to a simple page-refresh, the line
$ownerDetails = $provider->getResourceOwner($token); throws an error.
is there any way to avoid this?

a much better approach:  https://codeforgeek.com/implement-oauth2-using-auth0/


No typehead on the learn search bar

Describe the bug
There is no typehead on the search bar on the site: learn.freecodecamp.org
To Reproduce
Steps to reproduce the behavior:

Go to the main site learn.freecodecamp.org
Click on the search bar and type a query
There is no typehead

Expected behavior
A typehead is expected.
Screenshots

@coder077 There have been many changes to the master branch which have not yet made it to production.  You can see these changes at https://freecodecamp.rocks.  If you still see these problems on the beta site, then please let us know.  If not, can you please close this issue?
Thank you.

I think you might mean type-ahead instead of typehead.  Another word for this autocomplete.

@coder077 The search bar does have this feature in a way.  As you type, a dropdown appears below with relevant keywords.  This can be seen on the beta site (freecodecamp.rocks) as the current production site has a bug causing these results to be hidden.  This has been fixed and will eventually be rolled out to the production site.

@RandellDawson  Yeah sorry, typeahead was what I meant and thank you for the clarification. Ok, I was unsure if it was an issue because, on the search site, the autocomplete was more "better". But otherwise, this could be closed.

@RandellDawson @coder077 We still have this issue in Safari.


Collection parsing fails with XML

I am having a problem with parsing of collections.
Consider the following RDF:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:ex="http://example.org/stuff/1.0/">

  <rdf:Description rdf:about="http://example.org/basket">
    <ex:hasFruit rdf:parseType="Collection">
      <rdf:Description rdf:about="http://example.org/banana"/>
      <rdf:Description rdf:about="http://example.org/apple"/>
      <rdf:Description rdf:about="http://example.org/pear"/>
      <!--rdf:Description rdf:about="http://example.org/conference_pear">
      </rdf:Description-->
    </ex:hasFruit>
  </rdf:Description>
</rdf:RDF>

When I parse this using horned-triples (my own code):
https://github.com/phillord/horned-owl/blob/master/src/bin/horned-triples.rs
I get:
http://example.org/basket
	http://example.org/stuff/1.0/hasFruit
	n0
n0
	http://www.w3.org/1999/02/22-rdf-syntax-ns#first
	http://example.org/banana
n0
	http://www.w3.org/1999/02/22-rdf-syntax-ns#rest
	n1
n1
	http://www.w3.org/1999/02/22-rdf-syntax-ns#first
	http://example.org/apple
n1
	http://www.w3.org/1999/02/22-rdf-syntax-ns#rest
	n2
n2
	http://www.w3.org/1999/02/22-rdf-syntax-ns#first
	http://example.org/pear
n2
	http://www.w3.org/1999/02/22-rdf-syntax-ns#rest
	http://www.w3.org/1999/02/22-rdf-syntax-ns#nil

which seems correct. But remove the commented XML which should add
another fruit and I get:
http://example.org/basket
	http://example.org/stuff/1.0/hasFruit
	http://example.org/conference_pear

Alas my basket is empty! I was expecting it to be one longer.

@phillord thanks for the report.
@althonos you wrote the RDF/XML parser. Would you have time to take a look at this?

Is this solved in v0.6.0?

fixed in 0.8


Browse view makes too many requests to /scenes on init

2 of the 3 requests are unnecessary, because they are made while the map is initializing and have the wrong bounding boxes.

For me, the first request is always wrong. This is followed by two duplicate requests for the correct extent.
While testing, I'm seeing these double requests for all map extent change events.

Closed by #757


Update gitignore

Whiiiile you're here, mind if you update the import in https://github.com/quantumblacklabs/kedro-starters/blob/4b37476d6296f5031cf89b0e86f0149d26822e66/spaceflights/{{ cookiecutter.repo_name }}/docs/source/conf.py#L50 please? :D :D :D


add Polytechnic University of Tapachula

@yeyisten34 I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host uptap.uptapachula.edu.mx not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Add Strava to brands icon pack

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I am mindful of the project scope

Proposal
Please add icon for Strava to brands icon pack. SVG: https://www.vectorlogo.zone/logos/strava/index.html
Motivation and context
Site is widely used, just like facebook or instagram. Strava connects millions of runners, cyclists, hikers, walkers and other active people through the sports they love.

Did you know that you can paste the SVG icon in your assets/media/icons/brands/ folder and reference it like brands/strava?

@gcushen : I uploaded svg to here: https://github.com/plaidshirtakos/LinkInBio/tree/main/assets/media/icons/brands
and tried to reference it with this line: icon: brands/strava-icon in https://github.com/plaidshirtakos/LinkInBio/tree/main/content/_index.md file.


Run nightly github workflow only on "develop" branch

Rename runtime image to wildme/wildbook-ia
It was named wildbook/wildbook-ia, different from all the other images
named wildme/*.  It causes the nightly build to fail because
devops/publish.py has a hardcoded prefix wildme/.  So just rename
the runtime image to wildme/wildbook-ia.

Run nightly github workflow only on "develop" branch
Instead of specifying "develop" branch in the checkout step, restrict
the workflow to only run on the "develop" branch.

I could be wrong, but wouldn't the scheduled event also need to be set to the develop branch?

It looks like the only thing we can do is to checkout the develop branch because scheduled workflow for non default branches doesn't work:
https://github.community/t/scheduled-builds-of-non-default-branch/16306/17
Which was what we were already doing. Can just close this PR then...
It's not ideal because we can't use the workflow to test PRs then...?


Issues with custom dataset

Hello,
I am trying to implement your AL strategy on a custom dataset. I followed all the steps (with the minimum entry for the minimum steps for the CSV processor) and when I try to run the load_dataset script I get the following:
Traceback (most recent call last):
  File "/home/kpvv542/.conda/envs/kpvv542/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/kpvv542/.conda/envs/kpvv542/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data/load_dataset.py", line 8, in <module>
    from lrtc_lib.data_access import single_dataset_loader
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/single_dataset_loader.py", line 13, in <module>
    import lrtc_lib.data_access.data_access_factory as data_access_factory
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/data_access_factory.py", line 8, in <module>
    from lrtc_lib.data_access.processors.process_csv_data import CsvProcessor
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/processors/process_csv_data.py", line 13, in <module>
    from lrtc_lib.data_access.processors.data_processor_api import DataProcessorAPI, METADATA_CONTEXT_KEY
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/processors/data_processor_api.py", line 10, in <module>
    import lrtc_lib.orchestrator.orchestrator_api as orchestrator_api
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/orchestrator/orchestrator_api.py", line 23, in <module>
    from lrtc_lib.training_set_selector import training_set_selector_factory
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/training_set_selector/training_set_selector_factory.py", line 6, in <module>
    from lrtc_lib.training_set_selector.train_and_dev_sets_selectors import TrainAndDevSetsSelectorAllLabeled, TrainAndDevSetsSelectorAllLabeledPlusUnlabeledAsWeakNegat
ive
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/training_set_selector/train_and_dev_sets_selectors.py", line 14, in <module>
    data_access = data_access_factory.get_data_access()
AttributeError: partially initialized module 'lrtc_lib.data_access.data_access_factory' has no attribute 'get_data_access' (most likely due to a circular import)

Any suggestions? I don't think these should be something wrong with the dataset

Hi @leosouliotis, looks like a circular import issue.
I see from the error message that in line 8 of lrtc_lib/data_access/data_access_factory.py you have an import that was not there in our code, and may be the direct cause of the circular import situation. Do you need this import there (from lrtc_lib.data_access.processors.process_csv_data import CsvProcessor)?

Thanks for the quick response @arielge ! I did delete the this entry from lrtc_lib/data_access/data_access_factory.py (which was left from my previous experimentation, silly me) but then got this error:
Traceback (most recent call last):
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/data_access_factory.py", line
(kpvv542) (lrtc_env) [kpvv542@seskscpn080 low-resource-text-classification-framework]$ python -m lrtc_lib.data.load_datasetTraceback (most recent call last):
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data/load_dataset.py", line 8, in <module>
    from lrtc_lib.data_access import single_dataset_loader
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/single_dataset_loader.py", line 13, in <module>
    import lrtc_lib.data_access.data_access_factory as data_access_factory
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/data_access_factory.py", line 8, in <module>
    from lrtc_lib.data_access.processors.data_processor_api import DataProcessorAPI
(kpvv542) (lrtc_env) [kpvv542@seskscpn080 low-resource-text-classification-framework]$ python -m lrtc_lib.data.load_dataset
Traceback (most recent call last):
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data/load_dataset.py", line 8, in <module>
    from lrtc_lib.data_access import single_dataset_loader
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/single_dataset_loader.py", line 13, in <module>
    import lrtc_lib.data_access.data_access_factory as data_access_factory
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/data_access_factory.py", line 8, in <module>
    from lrtc_lib.data_access.processors.data_processor_api import DataProcessorAPI
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/processors/data_processor_api.py", line 10, in <module>
    import lrtc_lib.orchestrator.orchestrator_api as orchestrator_api
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/orchestrator/orchestrator_api.py", line 23, in <module>
    from lrtc_lib.training_set_selector import training_set_selector_factory
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/training_set_selector/training_set_selector_factory.py", line 6, in <module>
    from lrtc_lib.training_set_selector.train_and_dev_sets_selectors import TrainAndDevSetsSelectorAllLabeled, TrainAndDevSetsSelectorAllLabeledPlusUnlabeledAsWeakNegative
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/training_set_selector/train_and_dev_sets_selectors.py", line 14, in <module>
    data_access = data_access_factory.get_data_access()
AttributeError: module 'lrtc_lib.data_access.data_access_factory' has no attribute 'get_data_access'

It seems to be the same error but in a different way... (?)

Indeed looks like more of the same. Can you try restoring lrtc_lib/data_access/data_access_factory.py to the committed version? You should see only two imports there (DataAccessApi and DataAccessInMemory)

Thanks for the suggestion! Now we got a different error.
2021-06-30 14:03:51.615136: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2021-06-30 14:03:51.615318: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2021-06-30 14:03:51.615330: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
Traceback (most recent call last):
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
(kpvv542) (lrtc_env) [kpvv542@seskscpn080 low-resource-text-classification-framework]$ python -m lrtc_lib.data.load_dataset
2021-06-30 14:05:47.231191: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2021-06-30 14:05:47.231392: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2021-06-30 14:05:47.231406: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
Traceback (most recent call last):
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/opt/scp/software/Miniconda3/<IP_ADDRESS>/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data/load_dataset.py", line 31, in <module>
    load(dataset=dataset_name)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data/load_dataset.py", line 21, in load
    single_dataset_loader.load_dataset(dataset_name, force_new)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/single_dataset_loader.py", line 38, in load_dataset
    data_processor: DataProcessorAPI = processor_factory.get_data_processor(dataset_name)
  File "/home/kpvv542/Projects/low-resource-text-classification-framework/lrtc_lib/data_access/processors/data_processor_factory.py", line 25, in get_data_processor
    return TrialTroveProcessor(dataset_part=dataset_part)
TypeError: Can't instantiate abstract class TrialTroveProcessor with abstract methods _get_dev_file_path, _get_test_file_path, _get_train_file_path

But let me explain further:
I have created a processor in the following way:
from lrtc_lib.data_access.processors.dataset_part import DatasetPart
from lrtc_lib.data_access.processors.data_processor_api import DataProcessorAPI

class TrialTroveProcessor(DataProcessorAPI):

    def __init__(self, dataset_part: DatasetPart, label_col: str = 'target'):
        super().__init__(dataset_name='trialtrove', dataset_part=dataset_part)

and to data_processor_factory.py I have added the following:
from lrtc_lib.data_access.processors.process_trialtrove import TrialTroveProcessor

    if dataset_source == 'trialtrove':
        return TrialTroveProcessor(dataset_part=dataset_part)

Thanks for your time and effort @arielge!
Changing to CsvProcessor rather than DataProcessorAPI solved the issue! Maybe worth pointing out the extra steps needed if someoine wants to implement the full DataProcessorAPI?
Feel free to close this issue, thanks again!


DEV-10: Add docs on running PHP instances

https://github.com/PostGuitarist/liberty-macos-docs/issues/10