SectionList unnecessarily unmounts and mounts items when filtering (in between renders)

Description
When a SectionList rerenders, sometimes it unmounts and remounts some of its items unnecessarily, even though the items preserve the same "key" prop in between renders. This impacts performance.
A scenario where this could happen is when filtering data. Imagine a SectionList with a search bar (TextInput) above it. Every time the user types something in the search bar, the section list gets filtered so it shows the items that contain the text in the search bar. Sometimes, the items get remounted unnecessarily when typing (Why remount an item when it was already there? It passed the filter, it should stay there.)
React Native version:
System:
OS: Windows 10 10.0.18363
CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
Memory: 6.52 GB / 15.87 GB
Binaries:
Node: 12.14.0 - C:\Program Files\nodejs\node.EXE
Yarn: Not Found
npm: 6.13.4 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-192.7<IP_ADDRESS>92135
Languages:
Java: Not Found
Python: 2.7.17 - C:\Python27\python.EXE
npmPackages:
@react-native-community/cli: Not Found
react: 16.11.0 => 16.11.0
react-native: 0.62.2 => 0.62.2
npmGlobalPackages:
react-native: Not Found
Steps To Reproduce

Create a new react-native project. npx react-native init sectionlisttest
Modify the App.js file so it looks like the following.

import React, {useEffect, useState} from 'react';
import {SectionList, Text, View} from 'react-native';

const originalData = [{
  key: 'header1',
  header: 'Header 1',
  data: [{key: 'firstItem'}, {key: 'byebye1'}],
}];

const filteredData = [{
  key: 'header1',
  header: 'Header 1',
  data: [{key: 'firstItem'}],
}];

export default function App() {
  useEffect(() => {
    setTimeout(() => setSections(filteredData), 5000);
  }, []);

  const [sections, setSections] = useState(originalData);

  return (
    <SectionList
      sections={sections}
      renderItem={renderItem}
      renderSectionHeader={renderSectionHeader}
      ItemSeparatorComponent={Separator}
    />
  );
}

const renderItem = ({item}) => <Item item={item} />;

const Item = ({item}) => {
  useEffect(() => {
    console.log('item mounted');
  }, []);
  return <Text>{item.key}</Text>;
};

const renderSectionHeader = ({section}) => <Text>{section.header}</Text>;

const Separator = () => <View style={{height: 1, backgroundColor: 'black'}} />;

Run the app. I ran it in Android (npx react-native run-android).

IMPORTANT: Fully reload the app, don't depend on hot reloading.
Expected Results
Expected result: 2 lines saying "Item mounted" get printed to the logs.
Actual Result: 2 lines saying "Item mounted" get printed to the logs. . But then, 5 seconds later, it prints a third line also saying "Item mounted".
Snack, code example, screenshot, or link to a repository:
Snack: https://snack.expo.io/@hectorricardo/sectionlist-bug

Hello, I am on a trip right now and don't have access to a Mac or iphone to test. Can I get back to you next week to confirm if this also happens on iOS?

@HectorRicardo no worries! I'll keep this open until then

Hello @safaiyeh I was able to reproduce this same bug in iOS. The code is exactly the same as in the description.

I think this has something to do with stickyHeaderIndices in VirtualizedSectionList.
In _computeState if you set stickyHeaderIndices to always at least have a single entry ([0]) this remount no longer occurs. But obviously that's not a valid way to fix this.
For the meantime we'll continue our workaround of using a special case check on renderItem to render our data given a single special section, versus relying on the ListEmptyComponent and passing an empty sections array.

@HectorRicardo @jehartzog I would like to receive some inputs from you as I don't know well this component. Thanks :peace_symbol: Sorry for disturbing you :pray:
could this be caused by the change in itemCount when you use the filter?
itemCount updates the state which re-render the list? but item with the same key are unmounted/remounted... I'm trying to understand this functionality
 LOG  Running "RNTesterApp" with {"rootTag":91}
 LOG  itemCount 4
 LOG  item mounted
 LOG  item mounted
 LOG  itemCount 3
 LOG  item mounted

https://github.com/facebook/react-native/blob/ff3c1307ff38ee586171c40c8512ec4bb07b0bf0/Libraries/Lists/VirtualizedSectionList.js#L176-L182
https://github.com/facebook/react-native/blob/ff3c1307ff38ee586171c40c8512ec4bb07b0bf0/Libraries/Lists/VirtualizedSectionList.js#L194-L211
https://github.com/facebook/react-native/blob/ff3c1307ff38ee586171c40c8512ec4bb07b0bf0/Libraries/Lists/VirtualizedSectionList.js#L170-L172

@fabianeichinger I did not find that itemCount was a driver for this behavior, and it was something I looked into. Are you using any stickyHeaderIndices in your example? Based on my testing, I suspect your itemCount changes are actually affecting stickHeaderIndices which is causing the issue.
This is speculation, I didn't really figure out the underlying issue here. My fix in the above comment didn't work, so I ended up hacking around it by making sure my list of data provided is never empty, and using a custom key to show the needed zero state, rather than using the provided props. It now works correctly, was just awkward to code around.

do you have any solution for this problem?
it's happening to me too.

Hi everyone! I've been facing the same issue and wanted to share what I've found out.
As @jehartzog hinted, the issue can be reproduced by changing the value of ScrollView's stickyHeaderIndices from undefined or an empty array to a non-empty array, or vice versa. This cases all the elements in the scroll view to remount.
Since SectionList uses VirtualizedList, which in turn uses ScrollView, changing the amount of sticky headers also updates the stickyHeaderIndices prop from ScrollView.
Upon investigating further, I've found out that the remount is caused by this line:
https://github.com/facebook/react-native/blob/8993ffc82e8d4010d82dcb1d69c33a609bb2771a/Libraries/Components/ScrollView/ScrollView.js#L1641
Apparently, React differentiates between the value of the children prop and an array created from it, and considers them to be different nodes in the tree, therefore remounting the children when switching from one representation to the other; and currently the condition on which representation to use is whether the list of sticky header indices is empty or not. My solution is to always turn the children prop into an array:
diff --git a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
index 7cee521..a4f3e61 100644
--- a/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
+++ b/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
@@ -1635,12 +1635,10 @@ class ScrollView extends React.Component<Props, State> {
           };

     const {stickyHeaderIndices} = this.props;
-    let children = this.props.children;
+    let children = React.Children.toArray(this.props.children);

     if (stickyHeaderIndices != null && stickyHeaderIndices.length > 0) {
-      const childArray = React.Children.toArray(this.props.children);
-
-      children = childArray.map((child, index) => {
+      children = children.map((child, index) => {
         const indexOfIndex = child ? stickyHeaderIndices.indexOf(index) : -1;
         if (indexOfIndex > -1) {
           const key = child.key;
@@ -1653,7 +1651,7 @@ class ScrollView extends React.Component<Props, State> {
               nativeID={'StickyHeader-' + key} /* TODO: T68258846. */
               ref={ref => this._setStickyHeaderRef(key, ref)}
               nextHeaderLayoutY={this._headerLayoutYs.get(
-                this._getKeyForIndex(nextIndex, childArray),
+                this._getKeyForIndex(nextIndex, children),
               )}
               onLayout={event => this._onStickyHeaderLayout(index, event, key)}
               scrollAnimatedValue={this._scrollAnimatedValue}

Maybe someone here with a more in-depth knowledge of React can suggest a better fix?

I just chased down an issue with this where I was dynamically adding items to a list on button press, and the previously added item was re-rendering each time.
This turns out to be related to the ItemSeparatorComponent prop. When the number of list items change, it's re-rendering the previous item in the list as well.

Not stale

Again - someone needs to check whether this is still an issue

Not stale.


[DO NOT MERGE] Run Python RC Validation Tests

Run Python ReleaseCandidate

Run Python ReleaseCandidate

Run RAT PreCommit


Bug use lower case name for variant's root, since backend …

…treat parent column as lower case
This PR address the problem as blow:
errCode = 2, detailMessage = (<IP_ADDRESS>)[CANCELLED]failed to initialize storage reader. tablet=17136, res=[INTERNAL_ERROR]Not found field_name, field_name:Tags.tag_key1, schema:[Thread(8), Tags(9), Source(5), tags.tag_key1(-1), Title(6), Level(3), Time(2), CreateDate(1), Message(7), IP(4), AppId(0)]

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Consider dropping dependency on serde_with

Proposal
We use the serde_with crate to serialize some field types that require more complex serialization than usual.  For example:
https://github.com/googleapis/google-cloud-rust/blob/040cf5adb4925726dd795554b1bfab5603e2588c/src/generated/cloud/secretmanager/v1/src/model.rs#L98-L99
Unfortunately, serde_with comes with a lot of dependencies, many pinned to relatively old versions:
https://github.com/jonasbb/serde_with/blob/abb13ca7dd3d02c42ee89b08f8cca2135738aebc/serde_with/Cargo.toml#L129-L144
Maybe we should drop the depency and provide our own serialization functions via serde(with = ...):
https://serde.rs/field-attrs.html#with
Though this would require providing modules to serialize bytes, int64 (and uint64), optional, and vector variants of those, and hashmaps with them.  Seems plausible with some generics to help.
I think the hardest case is the maps. We need to figure out if it is possible to implement those and get fewer dependencies. If we cannot solve that problem it is not worth starting on the other types.

[ ] Custom serializer for map<int64, _> and map<_, int64>
[ ] Custom serializer for map<uint64, _> and map<_, uint64>
[ ] Custom serializer for bytes, optional bytes, and repeated bytes
[ ] Custom serializer for int64, optional int64, and repeated int64
[ ] Custom serializer for uint64, optional uint64, and repeated uint64  (probably a generic a cover this and the previous item)

Alternative
Prune the features from serde_with.  If that reduces the dependencies to only "new" things, then we are probably Okay.

FWIW, I implemented most of the alternative. I think the next step is to check is that was good enough.

Closing, pruning features and fixing other dependencies made this problem go away.


Failed to convert line to overlap

Hi, Thank you very much for devloping PECAT!
I am trying to assemble the Nanopore reads using PECAT, and got error during correction step as: 2024-11-20 03:36:52 [ERROR] Failed to convert line to overlap
Could you help to solve the error?
Here is my command, cfgfile and the error messages.
pecat.pl unzip cfgfile
cfgfile:
project=XXXX
reads=/XXXX/XXXX.fastq.gz
genome_size=388000000
threads=16
cleanup=1
grid=local
prep_min_length=3000
prep_output_coverage=80
corr_iterate_number=1
corr_block_size=4000000000
corr_correct_options=
corr_filter_options=--filter0=l=5000:al=2500:alr=0.5:aal=5000:oh=3000:ohr=0.3
corr_rd2rd_options=-x ava-ont
corr_output_coverage=80
align_block_size=4000000000
align_rd2rd_options=-X -g3000 -w30 -k19 -m100 -r500
align_filter_options=--filter0=l=5000:aal=6000:aalr=0.5:oh=3000:ohr=0.3 --task=extend --filter1=oh=300:ohr=0.03
asm1_assemble_options=
phase_method=
phase_rd2ctg_options=-x map-ont -c -p 0.5 -r 1000
phase_use_reads=1
phase_phase_options=
phase_clair3_command=singularity exec --containall -B `pwd -P`:`pwd -P` clair3_v0.1-r12.sif /opt/bin/run_clair3.sh
phase_clair3_use_reads=0
phase_clair3_options=--platform=ont --model_path=/opt/models/ont_guppy5/  --include_all_ctgs
phase_clair3_rd2ctg_options=-x map-ont -w10 -k19 -c -p 0.5 -r 1000
phase_clair3_phase_options=--coverage lc=30 --phase_options icr=0.1:icc=6:sc=10 --filter i=70
phase_clair3_filter_options=--threshold=2500 --rate 0.05
asm2_assemble_options=
polish_map_options=-x map-ont
polish_filter_options=--filter0 oh=1000:ohr=0.1
polish_cns_options=
polish_medaka=
polish_medaka_command=singularity exec --containall -B `pwd -P`:`pwd -P` medaka_1.7.2--aa54076.sif medaka
polish_medaka_map_options=-x map-ont
polish_medaka_cns_options=--model r1041_e82_400bps_sup_g615

error messages:
2024-11-20 03:34:14 [INFO] Memory: 22264
2024-11-20 03:36:52 [ERROR] Failed to convert line to overlap
   1395449	44147	35206	44132	-	389
/XXXX/scripts/crr0_correct_0.sh: line 16: 3053358 Aborted                 (core dumped) /XXXX/miniconda3/envs/pecat/share/pecat-0.0.3-0/bin/fsa_rd_correct /XXXX/1-correct/0/rd2rd.txt.sub.0.paf /XXXX/0-prepare/prepared_reads.fasta /XXXX/1-correct/0/corrected_reads_0.fasta.0 --output_directory=/XXXX/1-correct/0 --thread_size=16 --read_name_fname=/XXXX/1-correct/0/readname.core.0 --infos_fname /XXXX/1-correct/0/corrected_reads_0.fasta.0.infos
Plgd script end: 2024-11-20 03:36:52

Thank you for your help!

Hi @AoiKudoh
It seems an error occurred in the previous step. 1395449	44147	35206	44132	-	389   is not a complete line in PAF format. You can rerun the previous step as bellow:
$ xxx/scripts/crr0_split.sh
$ pecal.pl unzip cfg

If the issue persists, you will need to re-run the all vs all alignment using minimap2.
···
rm xxx/1-correct/0/*.paf
$ pecal.pl unzip cfg
···

Thank you for your help! I will try to rerun the previous step.


Read write anchors

Some upgrades

I like most of these changes. We have a ReadableWritable trait in traits.rs that I've been adapting inherent read/write methods to, which is probably a preferred long-term solution (although maybe not, I'm not sure what need there would be to be generic in a situation where you might have a lightwallet, but maybe?)


Support Iterable for Confition.in

Building an In from a collection is really painful at this time. Supporting Iterable out of the box can avoid many headaches and duplication.

please open a new one and make against develop

I made it : https://github.com/Raizlabs/DBFlow/pull/261


Add docker-compose configuration for development

We want to add docker compose file with all the services needed for the local development using this starter kit and docker.

Added in https://github.com/joselfonseca/laravel-api/releases/tag/9.0.0


Fixhardcoded

Here small contrib to fix the hardcode "/static/" and give more flexibility!

@zodman Thank you for your changes :) Good job!


proposal: x/net/dns/dnstest: new package and refurbish test cases in net

This is a proposal to make a package containing helpers for DNS stub resolver testing and to refurbish the DNS test cases in the package net of the standard library, the same as #13295.
Problem: For historical reasons, the package net hasn't been had self-contained, functional test cases for the built-in DNS stub resolver. As a consequence, it has become a normal situation that people modify the code, pray for the luck and face regressions and neglected issues.
Solution: To have enough functional test cases with the support of the dnstest package. The package dnstest implements DNS zone information parsers, DNS transport mocks and DNS recursive server mocks to help construct a bit complicated test cases without relying on external resources, as in, "traverse a tree, stop with NXDOMAIN or transport failure, and return a correct set of records with an appropriate error value even if it's a single name query with multiple concurrent racers; note that the circumstances have a middlebox that throttles concurrent DNS queries to the same name and operate split DNS: some recursive servers are for internal, others are for external and the others are for both."

A package named x/net/dns/dnstest seems fine but you haven't said what the API will be. What is the expected API?


Get the same results in total with the same index

prep/{PROJECT}.pdb differs from each execution.

above difference was resolved by set seed input for packmol.
However, the GPU-enabled GROMACS cannot output deterministic results even though gmx mdrun -reprod option used.
Note that gmx mdrun -reprod -nb cpu makes the same results, thus the GPU calculation is the reason.
So far I cannot find any other way to make deterministic results.

With GROMACS 2024, -reprod option will not use GPU. Use GPUs, Give up the reproducibility


Update checks.mjs

I found the error regarding the missing option for free reroll. Could you please change this? There are just two lines in the wrong sequence, this is the whole problem. Thank you!

Thank you - this was built as a test system I was thinking of using to do some videos on "how to write systems" and so I've never really played it.  I've done the merge and will look at V12.

Well, your "Test System" is very very good. I created to German Translation module for myself, searching for the last small thing (nearly completed). Shall I let this be as a module or would you add my de.json ? Let's look to this, when v12 is out.
I would be great, if you could hold on this system, it works great.
And if you ever create your video tutorial sequence for own system, I would be very interested in that.  Can I already find you on YouTube?
And if can assist for v12 (testing, German Translation Update) etc, I would be glad, if we can  chat to it. Reach me in Discord: KarstenW


v3

Refactor:

[x] updated build system
[x] export types props, options
[x] inline css (no need import .css file)
[x] reactive data/url (full check, safe parse)
[x] back again to script setup

Docs

[x] migration guide
[x] add new props
[ ] write about priority
[x] update site documentation @megasanjay

Optimizations

[x] destroy lottie is component unmount
[ ] add docs how to use static assets
[ ] unattach events

TODO:

[x] fix loading lottie
[x] migrate to ref syntax
[ ] ⁉ maybe external lottie-web and set optional peerDependency
[ ] off renovate bot @megasanjay
[ ] check work with vite-plugin-ssg
[x] check work in nuxt @megasanjay
[x] dotlottie support?

beta version https://www.npmjs.com/package/@reslear/vue3-lottie

can we disable all these useless bots?

my project after migrate to dotlottie:

ok, i'm complete working with nuxt suport

[x] add example
[x] check in dev/build ssr hydration


4.5.2 fails and Nuget does not update

Hello, I am using VS 2015 (also tried 2013), I'm getting errors when I target 4.5.2 (BTW you have 2 different versions currently, 4.5 and 4.5.1)

In order to build the solution through Visual Studio you need to install NoProj.
I think that will solve your issue. Please try it and let me know.

I also updated the documentation  to reflect those changes.


Detected versions of some libs...

Hi ray, Please take this one as it contains previous pull request edit!
Oh, I detected all bindings i think so (Except raykit), Enjoy!

Great work @Rabios! Thank you very much! :D


Jooie/develop

modified Footer

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Not working with audio element/component?

I tried using this package so that I can move my audio component (a React.FC which holds html audio tag) into different nodes without re-rendering during audio playback, however following the documentation I believe I have setup everything correctly however, the audio component still seems to re-render and interrupt playback. I've tried wrapping my component in React.memo(), I've also tried using skipUpdate = true (which just causes react errors) when using sendReparentableChild(). My use case is that when the user clicks music tab I want to show them our audio component, but when that tab is not open I want audio player to play anyway (kind of like in the background). I can do something similar to this using portals, and html audio element control parameter but I can't insert it into correct parent component node position when my tab opens/closes. Thanks for the interesting library anyway, I'm sure it works with other more basic elements.

When a component is reparented, its dom elements are removed from the DOM and re-inserted into the new container.
I'm pretty sure the audio stops for this reason. The options you can try are mainly 2.
First option:  You can reactivate the audio element after reparenting. The element should still have in memory the position in which it was stopped and start again from it. In any case, if it had not, it would be enough to save it in the state of the component.
Second option:  The audio may stop only after the removal of the element (el.removeChild( )). If so, you can try to disable it and leave only the insert action enabled. (in your case skipUpdate = true disable both)
import {configure} from 'react-reparenting';

configure({
  removeChildFromContainer(container, child) {
    // An empty function to avoid the removal of the element.
  },
});

Anyway, I think you should evaluate a more global audio management instead of repareting.

@Paol-imi Thank you for the very useful response, I've kind of just simulated the correct positioning with portals, and getting position of a placeholder element. The first option I think would still give an interruption but the second option looks promising thanks again!


header-01.svg is unnessary big for landing page

This file alone amounts to half of total page weight ( 370kb of 700kb transferred total). It's a very detailed vector file (if you zoom in you can even read the code) but there is no reason for it to be that big.

The SVG is already minimized by SVGO. I don't think it's worth the time to redo the image just for this.


'Looping/wrapping' at the end of the file does not work correctly for yig

This may already happen for inclusive, check for the others.

This is probably because the diagnostics table is not necessarily sorted by the order they appear in the file, and yet this logic naively just selects the first: https://github.com/andrewferrier/textobj-diagnostic.nvim/blob/5ded8183ae22448d9c9d903edeae122b91b713ec/lua/textobj-diagnostic.lua#L59


Replace links to Partners with their logos

We can grid their logos and add a little visual breakup of the text on the page.

Better yet let's not include the partners on the about page and maybe have a partners page.
I think we need to talk about a footer that will have more navigation points or Dropdown menu items

cc: @oleksis to discuss


🐞 [BUG] - their is some error in the css section

Issue Verification

[X] I have verified that this is a new bug report.
[X] I'm interested in working on this issue
[X] I'm part of GSSOC organization

Describe the bug
their is some error in the css section so I made some changes to it
Screenshot - after correction

Expected behavior
error cleared
Steps to reproduce

Additional Context
No response

What error? Can you explaiin? Please next time don't work on issue if you're not assigned yet.

The Braces are not arranged in proper manner
@jfmartinz

The Braces are not arranged in proper manner
@jfmartinz

This is too simple. Maybe you can work on adding a new resource?


client: add default user agent

As suggested in discord, I think.

Note: the tests for this are brittle. The order of added header is non-deterministic (HashMap iterator).

Seems reasonable to sort headers by either addition order or alphabetically

The problem is we are comparing to raw output files and unless headers are always going to be sorted there isn't a way to do that just for test output without re-writing the tests.


Add CITATION.cff

@mmacferrin could use your input on this one:

What contact information would you like associated with this citation? Name + email
Can you think of other "keywords" for the citation?
Is there a website URL (aside from this source repository) you'd like to associate with the citation object?
Do you have a personal website URL you'd like to associate with your author entry in this citation?
Was this work funded by any grants(s)? If so, can you provide the grant number(s) and institution name(s)?

Thanks :)

Name + email is fine<EMAIL_ADDRESS>Keywords: umm, these are what I come up with off the top of my head, I think: "Antarctica Today", "Antarctica", "Antarctic", "Melt", "Passive Microwave". Not sure what else might be appropriate.
URL: None yet. Obviously, the NSIDC public-facing website once it's up & running.
 I'd need to ping Ted S about that. He scrounged the original funding that paid me to create the code-base, I'd have to ask him what the agencies + grant #s were on those.

Edit: The personal URL, just go ahead and link to my OrcID: https://orcid.org/0000-0001-8157-7159

Great, thank you Mike! I'll get that information populated, and we can fill in the grant info later. When you have it, can you please add it to #4 ?

Yes I see it, will do.

And now that you've created a v1.0.0 DOI, go ahead and add it to the commented-out "doi:" field as well (line 8), if I understand that correctly

I told myself I wouldn't forget, and then I did :P

Committed to main: 986b59c


How to config level to split log file by level

I need to split log file by level
file1 : only debug level
file2 : only info level
file3 : warn & error

You can only do:
file1 : debug level + all more serve levels
file2 : only info level + all more serve levels
file3 : warn & error
What is the use case of having only debug log entries in a log file? Doesn't make it sense to have also log entries with more serve levels in the same log file for context?


GreaseWeasle and ST506  MFM (or perhaps RLL)  Interface?

Hi,
since the first ST506 MFM drives are  very similar to MFM Floppy drives of the era,   do you think it'd be possible to adapt the greaseweasle for reading  such old MFM drives as well?
The main thing would be the configuration for the stepper motor since it has way more tracks than a standard floppy,  and some electric wizadry to connect it.
The rest should be possible in Software, based on your work.
Any thoughts?
Cheers
4920441

You can usually step these old drives like floppy drives at 3ms/step. It's only when you want to step faster that you need to then wait for completion acknowledgement from the drive, which buffers the step commands and processes them at an optimal rate with acceleration and deceleration.
So all you need in that case is to be able to raise the limit of max cylinder in firmware. I can help you with that if you want to be able to do so programatically using the normal firmware build (rather than a special hacked build).

Sounds really cool if that works. My old harddisks may be already dead by now but who knows. I definitely will try this out if there is a working setup!


Performance Issue when data path is set to network share

Hi,
when the data path (option -data) is set to a network share (user home on smb share) the performance is bad when an sql error is raised due to long write times of /.metadata/dbeaver-debug.log
It seems the debug log is synchronously written which takes about 4-5 seconds in my case.
I've tested this with an oracle connection and an invalid sql query to produce an sql exception.
Regards
Charly

Is there an option to completely disable debug log?

@Sargul no, there isn't. But we definitely need one.


VS Code does not italicize text when it is quoted

VS Code version: 1.24.1
OS: Ubuntu 18.04

Steps to reproduce:

Create a markdown file
Add the following text: *"quoted emphasis"*

Expected result: *"quoted emphasis"*
Actual result: *"quoted emphasis"*
This occurs on the latest release and preview builds.

This might be related to problems rendering bold and italics when they are adjacent, but I'm not sure.

I think the issue is in how we detect the opening. According to line 317 of markdown.tmLanguage.base.yaml, the expression used to detect the start of an italicized block is (\*\b|\b_)(?=\S). However, if I'm reading the reference on JS word boundaries correctly, single and double quotes don't appear to qualify as word boundaries.
I tried several other sequences:

*/foo/*
*(bar)*
*$hello$*

None of those italicize either, which seems to confirm my hypothesis that \b is too restrictive when detecting the start of an italicized block. However, I'm not sure what the correct set of characters is. For example, do we want to italicize *<baz>*?


Is it possible to publish without org with this GitHub Action?

We work to build a new provider. All templates and build works fine except the "Publish Artifact" :

I can manually push the package to the personnal repository with :
up xpkg push xpkg.upbound.io/frangipaneteam/provider-flexibleengine:v0.0.1 -f _output/xpkg/linux_amd64/provider-flexibleengine-v0.0.0-198.g7b997f4.xpkg
We have set this in Makefile :
XPKG_REG_ORGS ?= xpkg.upbound.io/frangipaneteam
Can you help us?

It works when I make up login before the make publish BRANCH_NAME=${GITHUB_REF##*/} and I set UP_ACCOUNT and UP_TOKEN env vars.


Weave fail to assign IPv4 / Remove ephemeral peers from Weave Net via AWS ASG lifecycle hook

https://github.com/kubernetes/kubernetes/issues/45858
x-submitting here per request.
In short: through some set of circumstances, weave-net pods failed to snag ipv4 interface and the rest of the cluster was pretty much down.

Hi @hollowimage, thanks for raising this issue.
Would you have the output of docker logs for Weave Net's container?
(as mentioned by @bboreham, hints present in these logs may point to the root cause)

unfortunately I do not. at the time we were rather in a fire mode.
I reported the issue only after the cluster came back up without problems at the end of the day monday, by which point the pods were destroyed and recreated.
I think last time i looked at their logs, there were some tidbits about failing to bind to <IP_ADDRESS>:[port]. thats the only thing that stood out, and i dont know if this was a consequence of it failing to allocate the ipv4 interface or a cause.

@hollowimage, the only thing which comes to mind with:

failing to bind to <IP_ADDRESS>:[port]

would be if you have two instances of Weave Net running, e.g.:

you first weave launch-ed, and then
you then started Weave Net's daemonset in Kubernetes.

Could something like the above have happened?
Also, which version of Weave Net are you using?

i do not do manual weave starts. its all done through DS. I was using weave 1.9.3 I think at the time, since then, as part of troubleshooting, updated the DS definition to pull 1.9.5.
to elaborate again: everything was fine. then one day when my cluster scaled back up from 0 kubelets to 2 (we scale it down at night), the above behavior started happening.

INFO: 2017/06/02 11:03:03.382309 Our name is d2:5d:2e:08:96:68(ip-172-32-76-16)
INFO: 2017/06/02 11:03:03.382373 Launch detected - using supplied peer list: [<IP_ADDRESS> <IP_ADDRESS>]
INFO: 2017/06/02 11:03:03.382458 Checking for pre-existing addresses on weave bridge
INFO: 2017/06/02 11:03:03.387418 [allocator d2:5d:2e:08:96:68] No valid persisted data
INFO: 2017/06/02 11:03:03.868800 [allocator d2:5d:2e:08:96:68] Initialising via deferred consensus
INFO: 2017/06/02 11:03:03.868949 Sniffing traffic on datapath (via ODP)
INFO: 2017/06/02 11:03:04.168961 Discovered local MAC d2:a6:b8:1a:29:f9
INFO: 2017/06/02 11:03:04.169147 Discovered local MAC d2:5d:2e:08:96:68
INFO: 2017/06/02 11:03:04.169303 Discovered local MAC 6a:30:e0:c9:48:48
INFO: 2017/06/02 11:03:04.170456 Listening for HTTP control messages on <IP_ADDRESS>:6784
INFO: 2017/06/02 11:03:04.171044 Listening for metrics requests on <IP_ADDRESS>:6782
INFO: 2017/06/02 11:03:04.368849 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2017/06/02 11:03:04.368966 ->[<IP_ADDRESS>:6783] attempting connection
INFO: 2017/06/02 11:03:04.370346 ->[<IP_ADDRESS>:36808] connection accepted
INFO: 2017/06/02 11:03:04.370818 ->[<IP_ADDRESS>:36808|d2:5d:2e:08:96:68(ip-172-32-76-16)]: connection shutting down due to error: cannot connect to ourself
INFO: 2017/06/02 11:03:04.371027 ->[<IP_ADDRESS>:6783|d2:5d:2e:08:96:68(ip-172-32-76-16)]: connection shutting down due to error: cannot connect to ourself
INFO: 2017/06/02 11:03:04.371265 ->[<IP_ADDRESS>:6783|7e:de:cc:e2:35:75(ip-172-32-75-120)]: connection ready; using protocol version 2
INFO: 2017/06/02 11:03:04.371377 overlay_switch ->[7e:de:cc:e2:35:75(ip-172-32-75-120)] using fastdp
INFO: 2017/06/02 11:03:04.371415 ->[<IP_ADDRESS>:6783|7e:de:cc:e2:35:75(ip-172-32-75-120)]: connection added (new peer)
INFO: 2017/06/02 11:03:04.569170 ->[<IP_ADDRESS>:6783|7e:de:cc:e2:35:75(ip-172-32-75-120)]: connection fully established
INFO: 2017/06/02 11:03:04.570092 EMSGSIZE on send, expecting PMTU update (IP packet was 60028 bytes, payload was 60020 bytes)
INFO: 2017/06/02 11:03:04.570864 sleeve ->[<IP_ADDRESS>:6783|7e:de:cc:e2:35:75(ip-172-32-75-120)]: Effective MTU verified at 8939
INFO: 2017/06/02 11:04:40.269503 ->[<IP_ADDRESS>:44133] connection accepted
INFO: 2017/06/02 11:04:40.565481 ->[<IP_ADDRESS>:44133|0e:95:85:4d:0a:33(ip-172-32-75-42)]: connection ready; using protocol version 2
INFO: 2017/06/02 11:04:40.565576 overlay_switch ->[0e:95:85:4d:0a:33(ip-172-32-75-42)] using fastdp
INFO: 2017/06/02 11:04:40.565623 ->[<IP_ADDRESS>:44133|0e:95:85:4d:0a:33(ip-172-32-75-42)]: connection added (new peer)
INFO: 2017/06/02 11:04:40.570395 ->[<IP_ADDRESS>:44133|0e:95:85:4d:0a:33(ip-172-32-75-42)]: connection fully established
INFO: 2017/06/02 11:04:41.169085 EMSGSIZE on send, expecting PMTU update (IP packet was 60028 bytes, payload was 60020 bytes)
INFO: 2017/06/02 11:04:41.365319 sleeve ->[<IP_ADDRESS>:6783|0e:95:85:4d:0a:33(ip-172-32-75-42)]: Effective MTU verified at 8939
INFO: 2017/06/02 11:04:43.553601 Discovered remote MAC 72:a4:d6:88:a3:dd at 0e:95:85:4d:0a:33(ip-172-32-75-42)
INFO: 2017/06/02 11:04:43.857532 Discovered remote MAC c2:32:78:61:c7:71 at 0e:95:85:4d:0a:33(ip-172-32-75-42)
INFO: 2017/06/02 11:04:44.513281 Discovered remote MAC 0e:95:85:4d:0a:33 at 0e:95:85:4d:0a:33(ip-172-32-75-42)
INFO: 2017/06/02 11:14:03.384708 Expired MAC d2:a6:b8:1a:29:f9 at d2:5d:2e:08:96:68(ip-172-32-76-16)
INFO: 2017/06/02 11:14:03.468733 Expired MAC d2:5d:2e:08:96:68 at d2:5d:2e:08:96:68(ip-172-32-76-16)
INFO: 2017/06/02 11:14:03.468754 Expired MAC 6a:30:e0:c9:48:48 at d2:5d:2e:08:96:68(ip-172-32-76-16)
INFO: 2017/06/02 11:15:03.469041 Expired MAC 72:a4:d6:88:a3:dd at 0e:95:85:4d:0a:33(ip-172-32-75-42)
INFO: 2017/06/02 11:15:03.469090 Expired MAC c2:32:78:61:c7:71 at 0e:95:85:4d:0a:33(ip-172-32-75-42)
INFO: 2017/06/02 11:15:03.469103 Expired MAC 0e:95:85:4d:0a:33 at 0e:95:85:4d:0a:33(ip-172-32-75-42)

admin@ip-172-32-76-16:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 0a:ed:66:75:84:3a brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::8ed:66ff:fe75:843a/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:21:bb:37:80 brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/16 scope global docker0
       valid_lft forever preferred_lft forever
4: datapath: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue state UNKNOWN group default qlen 1
    link/ether d2:a6:b8:1a:29:f9 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::d0a6:b8ff:fe1a:29f9/64 scope link
       valid_lft forever preferred_lft forever
6: weave: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue state UP group default qlen 1000
    link/ether d2:5d:2e:08:96:68 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::d05d:2eff:fe08:9668/64 scope link
       valid_lft forever preferred_lft forever
7: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 32:b1:6f:2f:a0:a7 brd ff:ff:ff:ff:ff:ff
9: vethwe-datapath@vethwe-bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue master datapath state UP group default qlen 1000
    link/ether f2:49:a7:e5:b9:ed brd ff:ff:ff:ff:ff:ff
    inet6 fe80::f049:a7ff:fee5:b9ed/64 scope link
       valid_lft forever preferred_lft forever
10: vethwe-bridge@vethwe-datapath: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1376 qdisc noqueue master weave state UP group default qlen 1000
    link/ether 6a:30:e0:c9:48:48 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::6830:e0ff:fec9:4848/64 scope link
       valid_lft forever preferred_lft forever
11: vxlan-6784: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65485 qdisc noqueue master datapath state UNKNOWN group default qlen 1000
    link/ether 0a:4c:25:01:f4:b0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::84c:25ff:fe01:f4b0/64 scope link
       valid_lft forever preferred_lft forever

root@ip-172-32-76-16:/home/admin# uname -a
Linux ip-172-32-76-16 4.4.65-k8s #1 SMP Tue May 2 15:48:24 UTC 2017 x86_64 GNU/Linux

/home/weave # ./weave --local status ipam
6a:3d:2a:1b:d2:72(ip-172-32-76-156)        256 IPs (00.0% of total) - unreachable!
76:78:8c:b0:a8:90(ip-172-32-75-97)       16384 IPs (01.6% of total) - unreachable!
1e:f5:fe:f8:b5:99(ip-172-32-75-77)       65536 IPs (06.2% of total) - unreachable!
76:e6:c0:5a:2e:c5(ip-172-32-76-7)       262144 IPs (25.0% of total) - unreachable!
6a:2c:a4:e8:32:93(ip-172-32-75-214)      32768 IPs (03.1% of total) - unreachable!
36:b3:77:b4:7b:13(ip-172-32-75-216)         16 IPs (00.0% of total) - unreachable!
aa:19:6a:90:c0:de(ip-172-32-75-249)         32 IPs (00.0% of total) - unreachable!
a6:bf:53:5c:4e:4c(ip-172-32-75-116)         64 IPs (00.0% of total) - unreachable!
4a:db:3f:ec:f4:1f(ip-172-32-76-140)      98304 IPs (09.4% of total) - unreachable!
3a:b6:99:fb:e9:ec(ip-172-32-76-174)         13 IPs (00.0% of total) - unreachable!
ba:1d:a1:62:f8:d0(ip-172-32-76-102)       2048 IPs (00.2% of total) - unreachable!
fa:ea:f8:fb:b6:aa(ip-172-32-76-240)      16384 IPs (01.6% of total) - unreachable!
92:02:b9:5c:85:25(ip-172-32-75-229)      32768 IPs (03.1% of total) - unreachable!
fe:27:ee:6d:ed:f2(ip-172-32-75-127)      98304 IPs (09.4% of total) - unreachable!
9e:03:b0:91:85:3b(ip-172-32-75-117)     262144 IPs (25.0% of total) - unreachable!
6a:e2:5c:93:07:af(ip-172-32-76-107)         32 IPs (00.0% of total) - unreachable!
22:5f:13:81:2e:0f(ip-172-32-76-153)        512 IPs (00.0% of total) - unreachable!
9a:b9:60:87:ef:9c(ip-172-32-76-114)       8192 IPs (00.8% of total) - unreachable!
b6:ae:13:db:6e:4c(ip-172-32-76-147)      65536 IPs (06.2% of total) - unreachable!
a2:7a:8f:c8:d4:ad(ip-172-32-75-100)         18 IPs (00.0% of total) - unreachable!
da:ac:26:51:cd:3f(ip-172-32-75-121)        128 IPs (00.0% of total) - unreachable!
06:6e:e8:90:ec:4a(ip-172-32-75-90)         256 IPs (00.0% of total) - unreachable!
5e:2a:e6:ab:6a:69(ip-172-32-76-128)       4096 IPs (00.4% of total) - unreachable!
6e:83:d2:48:d1:81(ip-172-32-76-77)       32768 IPs (03.1% of total) - unreachable!
56:68:7e:ae:62:af(ip-172-32-76-46)          16 IPs (00.0% of total) - unreachable!
4e:8b:5b:cf:90:09(ip-172-32-76-32)          64 IPs (00.0% of total) - unreachable!
36:01:a7:6d:a9:db(ip-172-32-76-9)          128 IPs (00.0% of total) - unreachable!
7e:de:cc:e2:35:75(ip-172-32-75-120)          1 IPs (00.0% of total)
1a:c1:5a:3a:2d:d3(ip-172-32-75-47)        1024 IPs (00.1% of total) - unreachable!
96:58:84:0f:00:75(ip-172-32-75-55)        8192 IPs (00.8% of total) - unreachable!
5a:9e:40:65:d4:aa(ip-172-32-76-163)       1024 IPs (00.1% of total) - unreachable!
82:11:fd:be:44:02(ip-172-32-75-113)        512 IPs (00.0% of total) - unreachable!
7e:38:c9:ff:ae:21(ip-172-32-75-215)       2048 IPs (00.2% of total) - unreachable!
fe:97:4e:db:63:81(ip-172-32-75-176)       4096 IPs (00.4% of total) - unreachable!
76:6e:74:67:51:9f(ip-172-32-76-170)      32768 IPs (03.1% of total) - unreachable!

Looks like this is the same as #2797

As discussed on Slack workaround is to weave rmpeer the workers which got shut down so they release their IPAM range.

Also, given the workers are shut down via an AWS' Auto-Scaling Group, implementing a lifecycle hook might help in this case.

Removing all terminated peers did the trick and cluster instantly reallocated the private range to weave pods and everything came back to life. In our case this was safe to do since they have been prior permanently destroyed.

For reference, similar situation here today. Got a cluster with some history (many nodes rotated over 3rd party api termination, not exactly a graceful process), recently our nodes started getting stuck in a weird state where the CNI was not configuring network as expected, which resulted in a bunch of errors like
kuberuntime_sandbox.go:54] CreatePodSandbox for pod "<...>(c34a9d92-4f8c-11e7-82e3-aee0afe94606)" failed: rpc error: code = 4 desc = context deadline exceeded
remote_runtime.go:86] RunPodSandbox from runtime service failed: rpc error: code = 4 desc = context deadline exceeded
kubelet.go:1752] skipping pod synchronization - [PLEG is not healthy: pleg was last seen active 4m0.417346093s ago; threshold is 3m0s]
after weave rmpeer'ing dead peers existing cluster nodes started spinning up new pods as expected.

Same issue here, on a cluster with some autoscaling happening daily (more or less 10 node creation action per day).

Hello, this issue is still happening in with AWS ASG, any news for a fix? Workaround is to fix with a weave rmpeer.

@mfornasa & @emdupp - I'm currently working on an integration test & fix for this issue when on kubernetes. This might be relevant to you. You can follow on https://github.com/weaveworks/weave/issues/2797

this was fixed per https://github.com/weaveworks/weave/issues/2797


store: disk usage continually increasing over time

Thanos, Prometheus and Golang version used:
Thanos version: quay.io/thanos/thanos:v0.35.1
Golang: whatever version was used to build the quay image
Prometheus: quay.io/prometheus/prometheus:v2.47.0

Object Storage Provider: AWS S3
What happened: Disk usage (k8s PV) continually increases, it's up to about 210 GB currently.
What you expected to happen: Disk usage would stabilize at a certain point
How to reproduce it (as minimally and precisely as possible):  I'm not sure how to reproduce it other than install thanos with a store gateway and some metrics sources, and then periodically run queries.
Full logs to relevant components:
See attached log file.

Anything else we need to know:

thanos-store.log

Possibly related to https://github.com/thanos-io/thanos/issues/7029

Same here.
We have 9 different Thanos stacks running, with each a storegateway. Most of them have limited disk usage, as you would expect from the phrase "It acts primarily as an API gateway and therefore does not need significant amounts of local disk space", and also "It keeps a small amount of information about all remote blocks on local disk".
However, one of them has constantly increased in used disk space. Also after cleaning up and restarting, it starts filling up again. Have increased the disk to 150Gi now, whereas all other storegateway disks are 20Gi in size and 5%-30% filled.
Recently one of the other storegateway also started to fill up.
Why do some stores have so much local data and others not?

Each store-gateway downloads the index-header for the blocks its responsible for.
IIRC, Thanos by default doesn't have sharding enabled. Maybe you could try to shard the store-gateways so that not every store-gateway will download all the block index-headers.
I think there are two ways to shard store-gateways:

Sharding using relabelling - https://thanos.io/v0.14/thanos/sharding.md/#relabelling
Sharding using time-based partitioning - https://thanos.io/v0.14/components/store.md/#time-based-partitioning

@harry671003 I would think that would cause disk usage at startup, or when the overall number of metrics increases, but I'm seeing a gradual and consistent increase in disk usage, maybe 1-2 GB per week.

I see the same behaviour: continuous increase, different values for the different stacks we use.
What I realised: since our installation is a relatively new one (about 1-2 months now), the data in S3 is still increasing. That might be a logical enough reason for the increase in disk use of the storegateway. Also I see a pattern every two days, that might relate to the processes in the compactor, mainly the compaction I think.
@pgier is you installation also fairly new, so the amount of data in S3 is still increasing? Or do you perhaps have no retention set in your compactor?

@mdraijer Our installation is about 1.5 years old, although we store up to 2 years of data, so the overall data size is still growing.  I recently cleared out the data, and it seems that it does immediately download large amounts of data upon startup, so it's possible that there isn't really a bug here, and this is just how much local data Thanos store gateway needs.
I've also now configured time-based partitioning as @harry671003 suggested, and it does seem to be splitting up the data correctly.


Icon request: Fanduel

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

Here you go!
https://github.com/aegis-icons/aegis-icons/blob/master/SVG/Fanduel.svg
❓ How to add icon(s) to Aegis?


[WIP] Apply clippy lints

Applied Clippy lints with cargo clippy --fix and manually refactored some to make Clippy report 0 warnings :)
Notes:

will every supported shell have completions? if not, changing signature of customize_completions might've been a bad move.

Thank you for your contribution!

will every supported shell have completions? if not, changing signature of customize_completions might've been a bad move.

Yes. frum support bash, zsh and fish now. And I'm planning to support fish shell completion.

@Br1ght0ne
Is this PR still work-in-progress?

@TaKO8Ki Forgot to mark as ready. Thank you!


Unexpected RigidBody child behaviour in Bullet

Godot version: 3.2.3 RC3

OS/device including version:
Windows 10 64-bit

Issue description:

There seems to be a bug with regards to physics of RigidBody childs of RigidBodies.

Seems to be only happening in Bullet.
I did not have this issue with the 3.2.3 beta. (I forgot which specific version I was trying)
RigidBody children connected by a HingeJoints seem to be completly unaffected by physics.

Behaviour in Bullet:

Behaviour in GodotPhysics:

Steps to reproduce:
Have any RigidBody child to a RigidBody node.
Minimal reproduction project:
test.zip

I also had the following error stack when starting the project. This does not get thrown every time though and I cant reliably reproduce it. So I dont know if it is related.
ERROR: shape_get_data: Condition "!shape->is_configured()" is true. Returned: Variant()
At: servers/physics/physics_server_sw.cpp:125
ERROR: CylinderShape is not supported in GodotPhysics. Please switch to Bullet in the Project Settings.
At: servers/physics/physics_server_sw.cpp:73
ERROR: get: Condition "!p_rid.is_valid()" is true. Returned: __null
At: ./core/rid.h:149
ERROR: shape_set_data: Condition "!shape" is true.
At: servers/physics/physics_server_sw.cpp:103
ERROR: Invalid ID.
At: servers/physics/physics_server_sw.cpp:1400
ERROR: set_data: Condition "!d.has("cell_size")" is true.
At: servers/physics/shape_sw.cpp:1640
ERROR: get: Condition "!p_rid.is_valid()" is true. Returned: __null
At: ./core/rid.h:149
ERROR: body_attach_object_instance_id: Condition "!body" is true.
At: servers/physics/physics_server_sw.cpp:671
ERROR: Invalid ID.
At: servers/physics/physics_server_sw.cpp:1400

I looked at into it a bit more. And the 3.2.2 stable build also gives me the same issue. I have been building Godot from source for the last year or so. And none of those builds were giving me this issue.
I am planning on doing a clean build of the 3.2 branch when I have time to do so.
So I am really not sure what's going on. It might just be my system specific. But I cant imagine what it could be.

This issue exists in 3.1-stable too. The issue is not present in 3.0.6.

Fixed on master with #40184 i.e. it will be fixed in 3.2 with #40788.


CLOUDP-286703: Fix bogus Reaps

Closes #1954
Check the second commit for the fix, specifically the main fix is in internal/translation/deployment/deployment.go making the list of cluster names actually be a list of deployments in general, hence the rename on the method and thus the refactors and mockery changes in the first commit. The list now includes the serverless deployments, so it detects properly that secrets attached to serverless instances must not be reaped.
Commits breakdown:

Use same default operator namespace: Small fix to use the same namespace in contract test and other local testing.
Test list includes clusters and serverless: Reproduction error failing before the fix.
Refactor mocks and add mockery to devbox: Refactors before fix to mockery and devbox.
Fix list to include serverless as well as clusters: The actual fix code isolated.

All Submissions:

[X] Have you signed our CLA?
[X] Put closes #1954 in your comment to auto-close the issue that your PR fixes (if there is one).

Verified the bug is caught by the new test before the fix:
        	Error:      	Not equal:
        	            	expected: []string{"cluster0", "serverless-name"}
        	            	actual  : []string{"cluster0"}

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1,4 +1,3 @@
        	            	-([]string) (len=2) {
        	            	- (string) (len=8) "cluster0",
        	            	- (string) (len=15) "serverless-name"
        	            	+([]string) (len=1) {
        	            	+ (string) (len=8) "cluster0"
        	            	 }


Handle multiple top IP instantiation

Because the db and rtl client is build with one IP per top in mind, it is very difficult to refactor the code. The simplest way would be introducing a concept called namespace that isolate the IP with one DB and one RTL Client.

Track List:

[ ] get namespace info from client
[x] Add namespace manager

Added in fb0b0074765715f0e67eb9eda03dbada6679d9f5.


Add passthrough_errors to flask run options

I'm building an API using Flask, and have an @app.errorhandler(HTTPException) to catch all HTTPExceptions in order to format them as JSON. This is working great via flask run, but when I add the --debug flag to get auto-reloading, the Werkzeug default error handler catches exceptions before my error handler has a chance to respond with JSON.
I noticed the passthrough_errors option to werkzeug.run_simple(), and when I run my app via a simple script, the error handler works as I'd expect, along with the reloader:
from my_app import create_app
from werkzeug import run_simple

app = create_app()
run_simple("<IP_ADDRESS>", 8170, app, use_reloader=True, use_debugger=False, passthrough_errors=True, threaded=True)

Therefore, it would be helpful if we could add something like --passthrough-errors to the flask run CLI command. Alternately, let me know if there's another recommended way to use flask run --debug but disable the Werkzeug default error handler page. Thanks!

Duplicate of https://github.com/pallets/flask/issues/4729
See also https://github.com/pallets/flask/issues/5046


Query: SqlGeneration optimizations are misplaced for providers to override

In DefaultQuerySqlGenerator, we have private method ApplyOptimizations which runs few visitors over the expression to make it suitable for SqlGeneration. At present they are called from our base methods (providers does not have access to the method). We have provided hooks for providers to override the code but all those hooks are before we run optimizations. Which may not be correct in all cases.
In the case of Oracle provider, it needs to exclude ordering by constant/parameter. But by the time we apply optimization it has already processed and printed "ORDER BY" and there is no way to back out.
There are potentially multiple ways to resolve this.

This is second time, we ran into issue of backing out. First one was #9951 . Ideally, the SQL generation and sql tampering should be separate visitor so generator knows what is exactly the tree before entering any node.
If we try to optimize both of them by combining into 1 visitor (like current one) then we should pull out all optimizations in QM visitor which are not going to change based on parameters.
Another approach would be to make method protected for providers to call it themselves.
Or add more hooks so that providers can get expression while visiting after processing.

This also has some intersection with #9143, #10514
#9143 covers BooleanConditionTranslatingExpressionVisitor which is not needed for postgre but we are applying it anyway in ApplyOptimizations without considering the providers.
#10514 Null semantics at present happens in ApplyOptimizations so providers have no way to influence or opt out of it.

I need this fixed -- the private fields _typeMapping (already mentioned in #9143) and _valueConverterWarningsEnabled are used in multiple public virtual methods in DefaultQuerySqlGenerator. If I only need to override some of these virtual methods, I lose the benefit of these private fields, and the only solution is to override ALL the virtual methods that use these private fields These private fields must be changed into or made accessible via public properties.

We have taken approach of applying such optimizations (esp. SearchCondition & nullsemantics on shaped query before we compile delegate. SearchCondition itself has been moved to SqlServer provider specific code. Now providers have full control of which optimization to run and then can add/remove accordingly. Optimizations which are dependent on parameter values still needs to happen at the runtime when we generate RelationalCommand. We have put mechanism for it but not publicly accessible yet. It is covered by #15891


Cloudformation fails to deploy if subnet in us-east-1e is chosen

Fails with error:
Your requested instance type (t3.small Windows) is not supported in your requested Availability Zone (us-east-1e).

Fails with error: Your requested instance type (t3.small Windows) is not supported in your requested Availability Zone (us-east-1e).

I have so far been unable to replicate this issue.
I just deployed successfully to the us-east-1 region without seeing this error.
Note that availability zones are randomized at AWS account creation time, so the "e" in us-east-1e could be the same AZ as us-east-1a in another AWS account.  That said, EC2 instance availability is synced within a region, so this does not explain this issue.
Could you provide more detail on this error to help us get to the bottom of it?

Sorry, I should have provided the AZ ID instead: use1-az3
I just confirmed from a different AWS account that I am unable to create an t3.small windows EC2 instance in use1-az3

I am able to reproduce the error when I specify choose the use1-az3 Availability Zone for the AS2Subnet1 parameter in the CloudFormation template. AS2Subnet1 is the subnet in which we deploy the VHDBuilderEC2Instance resource, which is a t3.small instance. That particular instance type (t3.small) is apparently not supported in use1-az3.
You have two options to fix the issue when you run into this error:

Choose a different AZ for the AS2Subnet1 parameter.
Modify the CloudFormation template so that VHDBuilderEC2Instance resources uses a different instance type. I modified the template to use t2.small (instead of t3.small) and the stack deployment completed successfully.

We'll update the "Troubleshooting scenarios" of the blog to address this as well.


Develop Basic Marketplace Framework

Develop the basic framework of the marketplace platform, including UI components and backend setup.

no marketplace at this stage


convert timers to logic blocks

Seems like this makes sense, and would allow use to reuse more code?
Problem is this would be a breaking config and API change (unless we promote the types of logic blocks to top-level config entries, which would just break them instead)

should also become devices


refactor: remove redundant migrations

This is a bulk delete of old migrations that cannot be executed when running ng update. This is because multiple version updates is not allowed for @angular/ packages. Ie: projects cannot update from v13 to version v15. Thus, the version 15 binary can only execute the update schematic to update from version 14 to version 15, which makes the older migrations unused redundant to be included in the NPM binary.

@devversion, I rebased due to a conflict.


Malformed !ifdef in the code causes error while rebuilding the index database.

Malformed !ifdef in the code causes error while rebuilding the index database.

Hi @jeffleaming , I have published a pre release version of the extension in github: https://github.com/intel/Edk2Code/releases/tag/pre-1.0.7
This version should show in the problem window whats the line that the parser is not understanding like:

I will add more check rules in the future.
This version also will continue the parsing even if that line failed.
Here is how manually can install the pre release version:

Bingo, looks like it doesn't like comments after the !endif:

Good we found the problem. Looking at the DSC documentation // comments are not mentioned

To append comment information to any item, the comment must start with a hash "#" character.

A quick search in the .dsc core files also doesn't show that style of comments.
Im not expert on the edk build tools but looking at the DscParser class of the EDK2 Build tools:
class DscParser(MetaFileParser):
...
[hidden lines]
...
        for Index in range(0, len(Content)):
            Line = CleanString(Content[Index])
            # skip empty line
            if Line == '':
                continue

CleanString function is being passed without AllowCppStyleComment which would allow // comment styling.
def CleanString(Line, CommentCharacter=DataType.TAB_COMMENT_SPLIT, AllowCppStyleComment=False, BuildOption=False):
...
    #
    # Replace Edk's comment character
    #
    if AllowCppStyleComment:
        Line = Line.replace(DataType.TAB_COMMENT_EDK_SPLIT, CommentCharacter)
    #

Ah, I see your screenshot is from an .inf file. Anyway seems like also the only valid comment style is also #
https://github.com/tianocore-docs/edk2-FdfSpecification/blob/master/2_fdf_design_discussion/22_flash_description_file_format.md#222-comments

The hash "#" character indicates comments in the FDF file. In line comments terminate the processing of a line. In line comments must be placed at the end of the line.
Only BsBaseAddress = 0x0000C1000 in the following example is processed by tools; the remainder of the line is ignored:
BsBaseAddress = 0x0000C100 # set boot driver base address

The shot I sent above is from an FDF file...and does compile just fine.

Sorry, I meant .fdf in my previous comment.
I see that even it is not specified in the spec, the parser for fdf seems to support both comments:
            # check for */ comment end
            elif InComment and not DoubleSlashComment and not HashComment and self._CurrentChar() == TAB_STAR and self._NextChar() == TAB_BACK_SLASH:
                self._SetCurrentCharValue(TAB_SPACE_SPLIT)
                self._GetOneChar()
                self._SetCurrentCharValue(TAB_SPACE_SPLIT)
                self._GetOneChar()
                InComment = False
            # set comments to spaces
            elif InComment:
                self._SetCurrentCharValue(TAB_SPACE_SPLIT)
                self._GetOneChar()
            # check for // comment
            elif self._CurrentChar() == TAB_BACK_SLASH and self._NextChar() == TAB_BACK_SLASH and not self._EndOfLine():
                InComment = True
                DoubleSlashComment = True
            # check for '#' comment
            elif self._CurrentChar() == TAB_COMMENT_SPLIT and not self._EndOfLine() and not InString:
                InComment = True
                HashComment = True
            # check for /* comment start

I will add the change in the following release 👍

Thanks


html/template: rewriting html/template files

This is with Go 1.7.
It would be nice if it was easier to rewrite html/template files but the current tools (html/template and x/net/html) seem to have a gap between them. Maybe there's a way to do this that I've missed, so let me explain the problems I wanted to solve in detail.
I'm trying to make it easy to support CSP inline hashing in my templates without nagging users and requiring them to remember to use some custom funcs instead of the usual HTML. It'd also be nice to have form-based CSRF protection which would be implemented in a similar way. I'm sure there are other similar rewrites, but these security-focused ones were the first I've run into.
Both CSP inline hashing and form-based CSRF protection involve a developer adding additional attributes or elements to a template. In the CSP inline hashing case, it's an attribute or nonce added script tags. In form-based CSRF protection, it can be a hidden input that sends up a per-request token inside a form tag.
It would be nice to be able to, at parse time, not execution time, pull apart a html/template template, inspect it for the relevant tags, and then change the template for the user instead of returning an error if they forgot the important elements. At parse time, the code has all the data it needs to adjust the template. Similar to why gofmt is capable of rewriting a file, adjusting a template automatically instead of telling them they made an error would a much nicer experience for the developer.
In the form-based CSRF case, the template rewrite would be adding a input tag that calls a template func (or struct value) that has the token data. In the CSP inline hashing case, the rewrite would be detecting if the script tag contained only static information and adding the hash automatically, or returning an error if the developer needs to get involved (usually, to handle the case of requesting javascript files from elsewhere on the web).
However, html/template only has text/template/parse as its AST which doesn't suffice for working at the level of HTML semantics. Folks have offered up x/net/html's ParseFragment as a solution but that doesn't work well.
One problem is that x/net/html's ParseFragment makes it difficult to render exactly back what was in a template. Without providing a context *html.Node, you'll get back a tree with additional bogus nodes added around the outside. This doesn't work well because rewriting code may need to behave differently depending on what context *html.Node is in play instead of guessing that all templates are in body or whatever. But calculating that context *html.Node is difficult since a template can be loaded from other templates. That would involve writing similar template loading code to what is already inside text/template.
A second problem since some of those templates will be called in different escaping contexts, folks using ParseFragment have to re-do the escape context code in html/template within x/net/html's AST.
I haven't found a way to make my templates better without requiring the developer to handle more of what would otherwise be easily automated problems.
I'm not sure, yet, what kind of work it would take to make html/template easier for this purpose. Maybe if html.Node gained line and column information someone could compare it to text/template/parse.Pos and do some grungy work to get the right context Nodes?
Maybe other folks have clearer ideas.

Just reupping this now that 1.10 is open. Anyone got an idea on how we can get the escaping info out of html/template and use it when modifying the template as an net/html AST?

We can't support expanding html/template's scope in this way. The escaping API is completely unclear, as are the security implications. The text/template/parse package says:

Package parse builds parse trees for templates as defined by text/template
and html/template. Clients should use those packages to construct templates
rather than this one, which provides shared internal data structures not
intended for general use.

Our suggestion would be to fork html/template and revise the fork as needed.


elastic search by joining multiple models ?

Is there any way to search from multiple tables (joins) ??

Hi @imtarundhiman, no, now it's not possible

Elastic search is not good doing relational things, although it's possible.
I thin that's not something that this package can/should work for, since it's a very specific situation.
I'll close this issue for clean up reasons.

i have eshop with huge product ,each product join to attribute table then search contain result from two table , how i elastic search can work whit this purpose ??
thank you

@vahidalvandi you may consider using toSearchableArray method in your model to add attributes from two relational tables.


Filtering: make it possible to select more than one priority / context / project

let's say I wanted to see all items with priority A and B -- as far as I can tell, that's currently not possible.
related to #107 I suppose.

I agree, this would be a follow up the https://github.com/ransome1/sleek/issues/107. I added it to sleek roadmap for v1.1

I have a possible solution to this feature request, which I will describe in more detail under #132.  I call it a "filter query language".

I think "pri = A or pri = B" works.
Shouldn´t it?

Yes, you are exactly right, @Saturo78.  The filter query language lets you match multiple priorities, contexts, projects very easily as you indicated.  For instance, all of the following should work (and I believe that they do):

pri = A or pri = B
pri >= A and pri <= B
(A) or (B)
@context1 or @context2
+p1 or +p2 or +p3
and so on.

@freder : Can we close here?


Have a look at how the Administration API stuff works

Perhaps get rid of the crazy way I've done the administration API authentication and just use client credentials

done with raft work


Travis - just run tox

Just run tox when on travis, meaning only one grid of Python versions versus Django versions needs be maintained, plus tox won't break whilst the build is 'passing'.

Fixed by #239

Thanks @adamchainz! This patch ended up in the other PR and was very helpful


Android - Chat - Composer reduced with delay after sending message with several line breaks

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.56-2
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/5171395&group_by=cases:section_id&group_order=asc&group_id=292106
Issue reported by: Applause - Internal Team
Action Performed:

Open the Expensify app
Open any chat
Write a message with at least ten line breaks
Send the message to chat
Verify that compose box is automatically reduced after sending the message

Expected Result:
Compose box should be automatically reduced after sending message with several line breaks
Actual Result:
After sending a message with ten or more line breaks, compose box is reduced with delay. It can be seen expanded without any message inside for a second
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[x] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/5a5899e2-d615-4e0a-a884-db59a381ad79
View all open jobs on GitHub

@bfitzexpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
The composer height shrinks to its normal size with a delay after sending a long message.
What is the root cause of that problem?
We can notice two steps after sending a message: 1) the composer is cleared. 2) the expand button is removed. Between 1 and 2, there is an intermediate state that the composer is empty, but the expand button is still visible.

Some processes take place during this period, including 1) layout recalculation, 2) the composer receiving the onContentSizeChange event,
https://github.com/Expensify/App/blob/bef062b4caa7f665159dc107911e708031e648c4/src/components/Composer/implementation/index.native.tsx#L121
3) setting isFullComposerAvailable to false,
https://github.com/Expensify/App/blob/bef062b4caa7f665159dc107911e708031e648c4/src/libs/ComposerUtils/updateIsFullComposerAvailable.ts#L19
and 4) removing the expand button.
https://github.com/Expensify/App/blob/bef062b4caa7f665159dc107911e708031e648c4/src/pages/home/report/ReportActionCompose/AttachmentPickerWithMenuItems.tsx#L271-L272
What changes do you think we should make in order to solve the problem?
Directly set isFullComposerAvailable to false after the composer is cleared by adding setIsFullComposerAvailable(false) in the callback function of the composer’s onClear event.
https://github.com/Expensify/App/blob/bef062b4caa7f665159dc107911e708031e648c4/src/components/Composer/implementation/index.native.tsx#L85
What alternative solutions did you explore? (Optional)
N/A

@hoangzinh

Hi @QichenZhu can you help me understand why in case we select all text and clear, it works properly but tapping on Send button?

Normal edit triggers onChangeText event, while clicking the send button dispatches the clear command to the native side and triggers the onClear event.
In both cases, the composer only shrinks after updateComment is called. Wrapping this line and this line with setTimeout makes it more obvious, as shown in the videos below.
// onChangeText
setTimeout(() => updateComment(commentValue, true), 1000);

// onClear
setTimeout(() => updateComment('', true), 1000);

https://github.com/user-attachments/assets/e24b3b56-8fa3-4a0b-8b3b-25eba234e3bd
https://github.com/user-attachments/assets/1c4e46d5-8485-4b55-b4b4-a998a7a5f861
The difference is that in the first video, the expand button is removed before the composer shrinks, while in the second video, the expand button is removed after the composer shrinks. The cause of the difference is not quite clear. I don’t think the order matters technically as long as the final state is the same, but from a user’s perspective, the former looks better.

Payment complete to @QichenZhu - @hoangzinh, please complete the BZ checklist and I'll post the C+ ND payment summary

Payment summary:
@hoangzinh to be paid $250 for C+ work.

$250 approved for @hoangzinh


Using php's 8.1 first class callable method leaves an xdebug in limbo

Serializable Closure Version
1.3.3
PHP Version
8.1.19
Description
When a closure is passed via a first class callable method xdebug doesn't know where it is.

When a closure is passed via a first class callable method, maybe serialize the given class, then call the method on the deserialized class?
Currently we need to use string references instead of these first class callable features we have now available.
Steps To Reproduce
<?php
namespace Foo;
include_once '/path/to/laravel/vendor/autoload.php';

use Laravel\SerializableClosure\SerializableClosure;

class Bar {
    public function __construct(public int $x = 0) {

    }

    public function foo(int $a) {
        $y = $a + $this->x;
        xdebug_break();
    }
}

$bar = new Bar();
$closure = new SerializableClosure($bar->foo(...));
$x = serialize($closure);
echo $x;
$z = unserialize($x);
$z->getClosure()(2);

Heya. We don't believe this library is responsible for making sure something like xdebug_break works when serialising closures. If you could solve this one in a clean manner we could maybe consider a PR. Thanks.


auto closing pairs with conflicting patterns problems

Version: 1.33.1 (user setup)
Commit: 51b0b28134d51361cf996d2f0a1c698247aeabd8
Date: 2019-04-11T08:27:14.102Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17763

Steps to Reproduce:

Create two auto closing pairs in a language configuration file,

	"autoClosingPairs": [
		{"open": "(", "close": ")"},
		{"open": "(*", "close": "*)",  "notIn": ["string"]},
	],

trying using the two character auto closing pair, (* and you will get (**)).

On the other hand, if you remove the ending ')' from the closing '*)' you almost get normal function, except that in cases where ( doesn't auto close with ), you get (**.
Note this condition exists in #57838, in a reference to the Structured Text Language, though it is not shown in the example on that feature request.  Reference the repository https://github.com/Serhioromano/vscode-st for some example.
I think the Auto Closing logic needs to consider when auto closing pairs might conflict with each other.  In this case, '(**)' overlaps with '()'.

Another example is [<SomeAttribute>] in F#, where typing [< produces >]] where the closing bracket is doubled up because [] is also a bracket.

As you can see, the first [ creates a matching ]. Then when the < is typed, which is the second character of [<, the matching >] is inserted without considering the fact that there's already a ] present in the file, which results in a doubled-up right bracket: [<>]] instead of [<>].
This also happens with most F# tokens that are two or more characters, e.g. array syntax [||], anonymous record syntax {||}, comment block syntax (**), and so on.


Bug 1917498: use OLM client when installing CRDs

Description of the change:
Backport of #1888
Motivation for the change:
Regression
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

/retest

/retest

/approve

/approve

/lgtm

/lgtm

From the logs:

You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

Nah. Moving to Quay instead.
/hold

From the logs:

You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

Nah. Moving to Quay instead.
/hold

/retest

/retest

Cherry-pick-approved removed. Tests are too flaky and we already have too many fixes to be verified this cycle.

Cherry-pick-approved removed. Tests are too flaky and we already have too many fixes to be verified this cycle.

I'm not sure when the docker image issue will be resolved. Can we still move this through? Affected customer was on 4.5 so I'm still trying to get another backport in
/hold cancel
/retest

I'm not sure when the docker image issue will be resolved. Can we still move this through? Affected customer was on 4.5 so I'm still trying to get another backport in
/hold cancel
/retest

The merge window is now closed, but the next patch manager will take a look later this week.

The merge window is now closed, but the next patch manager will take a look later this week.

/cherry-pick release-4.5

/cherry-pick release-4.5

/retest

/retest


docs.nodebb.org link doesnt have any info

https://community.nodebb.org/topic/18161/help/2

I think that's actually ok insomuch that the site didn't provide any og:description data. Might be something we have to update in our MkDocs install actually.

8ff7d7974b2f5a1a990f9755bdaa16dd4858c808

nodebb/docs@8ff7d7974b2f5a1a990f9755bdaa16dd4858c808


List<string> serial_ports = new List<string>();

List serial_ports = new List();

Thanks, corrected from the main README.md


Fix contributing link in readme.

Proposed changes
I just fixed the links for the contributing document since it was broken :p
Idk how to do this but the link in the checklist in this PR template should also be changed to https://github.com/adonisjs/ally/blob/develop/.github/CONTRIBUTING.md
Types of changes
What types of changes does your code introduce?
Didn't change any code.
Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works.
[x] I have added necessary documentation (if appropriate)

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Can you use .github/CONTRIBUTING.md path instead your long path ? It's cleaner for me


RDP from Windows 10 to Ubuntu 20.04, Chrome Browser Favourite Tool bar selection,Cursor keeps moving

When I do RDP from Windows 10 to Ubuntu 20.04 and I'm using Chrome Browser as seen in the video. The cursor keeps bouncing to the top when selecting the favourities sub folder URLs. Do note, this happens with Chrome Browser only and not with Firefox. Any help will be highly appreciated. Do check the video. Chrome, xrdp is at the latest versions
Google Chrome Favourities URL Selection Cursor Movement.pptx

I observe the same buggy behavior xRDP to Kubuntu 18.04... and I noticed that I can navigate the submenus using the keyboard without this issue (so, it seems related to the mouse cursor, more specifically). Visual Studio Code submenus also exhibit the same behavior.

Thanks for opening this xrdp ticket.  I've been looking into this.  I think it's a Chromium bug.  I also have found a change I can make to xrdp that seems to fix it.  If we disable the RAW mouse input in Xorg it seems to go away.  I'll update more on this.

here is a patch that seems to fix it
diff --git a/xrdpmouse/rdpMouse.c b/xrdpmouse/rdpMouse.c
index 555e1e3..e91a8ed 100644
--- a/xrdpmouse/rdpMouse.c
+++ b/xrdpmouse/rdpMouse.c
@@ -98,8 +98,22 @@ l_bound_by(int val, int low, int high)
 static void
 rdpEnqueueMotion(DeviceIntPtr device, int x, int y)
 {
+    int buttons;
+    int flags;
+    ValuatorMask *mask;
+
     LLOGLN(10, ("rdpEnqueueMotion:"));
-    xf86PostMotionEvent(device, TRUE, 0, 2, x, y);
+    /* Xorg 1.9.0+ see git sha1 675f4a8 */
+    buttons = 0;
+    flags = POINTER_SCREEN | POINTER_ABSOLUTE | POINTER_NORAW;
+    mask = valuator_mask_new(2);
+    if (mask != NULL)
+    {
+        valuator_mask_set(mask, 0, x);
+        valuator_mask_set(mask, 1, y);
+        QueuePointerEvents(device, MotionNotify, buttons, flags, mask);
+        valuator_mask_free(&mask);
+    }
 }

 /******************************************************************************/

here is a patch that seems to fix it
diff --git a/xrdpmouse/rdpMouse.c b/xrdpmouse/rdpMouse.c
index 555e1e3..e91a8ed 100644
--- a/xrdpmouse/rdpMouse.c
+++ b/xrdpmouse/rdpMouse.c
@@ -98,8 +98,22 @@ l_bound_by(int val, int low, int high)
 static void
 rdpEnqueueMotion(DeviceIntPtr device, int x, int y)
 {
+    int buttons;
+    int flags;
+    ValuatorMask *mask;
+
     LLOGLN(10, ("rdpEnqueueMotion:"));
-    xf86PostMotionEvent(device, TRUE, 0, 2, x, y);
+    /* Xorg 1.9.0+ see git sha1 675f4a8 */
+    buttons = 0;
+    flags = POINTER_SCREEN | POINTER_ABSOLUTE | POINTER_NORAW;
+    mask = valuator_mask_new(2);
+    if (mask != NULL)
+    {
+        valuator_mask_set(mask, 0, x);
+        valuator_mask_set(mask, 1, y);
+        QueuePointerEvents(device, MotionNotify, buttons, flags, mask);
+        valuator_mask_free(&mask);
+    }
 }

 /******************************************************************************/

How do you apply this patch. I RDP from Windows Desktop to my Ubuntu Laptop. Accessing the Ubuntu Laptop works fine. How do I fix this in Windows RDP?

looks like this may be fixed in chromium 94
see commit 09ee8be7e4acfb777feae6584a398694d5a72abb
https://github.com/chromium/chromium/commit/09ee8be7e4acfb777feae6584a398694d5a72abb


Update dep ls-qpack to v2.5.4

This integrates https://github.com/litespeedtech/ls-qpack/pull/53. This fixes build with mingw64.

Thanks


Cannot upload files on behalf of Candidates

Describe the bug
As an admin user I cannot upload a file on behalf of a candidate.
This includes, but is not limited to, Self Assessment and Statement of Suitability.
To Reproduce
Steps to reproduce the behavior:

Go to an Applied application for an exercise which requests files from candidates (see assessment options)
Scroll to the bottom of the application and click to replace or upload a Self Assessment, say
Choose a .docx file
See error in screenshot below

Expected behavior
File should successfully upload
Screenshots

This is either an issue with uploading to the wrong place (admin app) or a storage permissions issue (digital platform).
It is likely a consequence of recent work to enable Admins to upload files on behalf of Assessors

This has been fixed by updating storage security rules.
However there's another related bug happening straight after a file is successfully uploaded, as follows:

Sounds like we're amending vuex state directly rather than via a mutation function

@lloback I've fixed the security rules issue. Could you look at the second issue mentioned in comment above?
Thank you :)

This is ready to review on PR/


do not run detect job if node has ssm backend

:nut_and_bolt: Description
We do not currently support detect jobs on ssm nodes.  This is functionality we would like to one day support, but it will require a bit more work.
In one case we were erroneously allowing detect ssm jobs to go through, marking them as "reachable" without ever having tried to reach them, leading to a confusing experience for the user.
In another case we were (again) erroneously allowing detect ssm jobs to go through, but not detecting that the node was ssm, and trying to run a detect on the job, resulting in a cryptic error of type train ssm plugin missing.
So this work ensures we skip nodes if they meet two criteria:

job type is detect
node backend is ssm

:+1: Definition of Done
ssm nodes skip detect jobs
:athletic_shoe: Demo Script / Repro Steps
build compliance
add aws-ec2 integration (credentialless)
expect to not see nodes be reachable. expect to not see status update when rerun button is clicked.
run ssm job; expect it to work as usual

we really need to improve the testing story for the inspec-agent. it has so few tests right now.. i might be able to write one up real quick...

i pulled the logic out into a separate function to make it more testable


data: arifaisal123

Changes proposed
Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

File looks good! 🎉


chore: update dependencies

Codecov Report

:exclamation: No coverage uploaded for pull request base (v5@5a156e2). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@          Coverage Diff          @@
##             v5    #4977   +/-   ##
=====================================
  Coverage      ?   90.28%
=====================================
  Files         ?      104
  Lines         ?     3759
  Branches      ?      954
=====================================
  Hits          ?     3394
  Misses        ?      338
  Partials      ?       27

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@DamianOsipiuk vue-query tests seem to be failing now regularly, can you have a look please?


Footer parent link misaligned

@jomarmontuya saw this also when checking it in mobile.. Is your solution same as this ? https://github.com/zesty-io/website/pull/1352
my commi ton this pr: https://github.com/zesty-io/website/pull/1352/commits/e65c11ed0d489520cb3006305e49cfe614b409da

Haven't touched it yet but seems your PR solved the problem. Closing this now @glespinosa  thank you!


Patching ranged slice of struct literals

I'm trying to write a patch to transform a ranged slice of (anonymous) struct literals. For example, I want to turn this:
for _, foo := range []struct {
  bar string
  baz string
} {
  {
    bar: "bar",
    baz: "baz",
  },
  // ...
} {
  // do something with foo
}

into this:
foos := []struct {
  bar string
  baz string
} {
  {
    bar: "bar",
    baz: "baz",
  },
  // ...
}

for _, foo := range foos {
  // do something with foo
}

I've tried minor variants of the following patch:
@@
var x identifier
@@
- for _, x := range []struct{ ... } {
  ...
- }
+ foos := []struct { ... }
+ for _, x := range foos {
  ...
+ }

which returns the following error:
0.minus.augmented:4:6: missing ',' before newline in composite literal (and 2 more errors)

@abhinav suggested adding a trailing ; to the elision, but that resulted in the same error.
I'm not sure if this is technically the same thing as #4, but I think for this case it doesn't seem practical to do it in two stages (e.g., a second match on the trailing } { would be extremely ambiguous).
Is this type of patch possible currently?

cc @abhinav @sywhang

@mway I misread the patch.
The issue was that the left and right sides of the patch did not independently make valid syntax. The []struct{ ... } is just the type, it was missing the []struct{ ... }{ a, b, c } bit.
Try this:
@@
var x identifier
@@
- for _, x := range []struct{ ... }{
+ foos := []struct { ... }{
    ...,
- } {
+ }
+ for _, x := range foos {
  ...
  }

It's a bit unreadable, but it appears to work on my local sample.
For a more readable version, the []struct{ ... }{ ... } would have to be all on one line, but right now it can't be because the ... matching is janky. I think there was an issue somewhere to give them names so that you could do something like:
@@
var x identifier
var fields, items dots // TODO: better name
@@
+foos := []struct{ fields }{ items }
-for _, x := range []struct{ fields }{ items } {
+for _, x := range foos {
  ...
  }

Which would eliminate all the bugginess with ... matching.

CC @lverma14

Thanks @abhinav, that worked. :)
As a minor thing, it does end up with the following:
foos := []struct{
  // ...
}{
  // ...
  { // last entry
    // ...
  }}

instead of
foos := []struct{
  // ...
}{
  // ...
  { // last entry
    // ...
  },
}

(note the }} instead of },\n}). This seems to be regardless of any attempt at "forcing" the trailing comma of the list initialization to be included (maybe an artifact of capturing from the ...,?). It wouldn't be a problem if this was something that gofmt or gofumpt corrected, but unfortunately they don't.

Yeah, my local experiment also showed the }}. For now, I would just sed the affected files to fix that. 😆
It's like that partly because ... is greedy about eating up comments and whitespace, so only what's necessary is left behind afterwards. There's definitely some room for improvement there.

Yeah, that's a reasonable workaround. Thanks for the help!


Setup a mock service that emits slack message event every few seconds

the message text should be generated and always different (best with some lorem ipsum text services)
structure of the information must be exactly the same as if it was sent by slack
integrate it with docker compone for starting dev env

Issues resolved.


Remove forced pascal casing

Fixes #92
Fixes #63
Breaking Change

@martijnwalraven We'll need to cut a minor release for that (since it's breaking, patch won't work...)

@lewisf Last time I checked you were favorable to such change, I just want to confirm if we're good to roll this.

Yeah this looks fine to me.
Though TBH, lower case type names in Flow or Typescript just look weird. I don't think that's recommended at all. It might make sense to add warning / validation at the parsing phase? :P

Yes, I agree, that's why I put the pascal casing originally. Do we have any preferred way to output warnings to the user @martijnwalraven? During validation? In the meantime I think we should merge this and create an issue to track the warning thing.

@rricard mostly what pascal casing was breaking was the case that someone names a query with acronyms -- like ACHTransaction, or something like that.

I know, it also broke things with underscores. So it had to go away. I agree with re-adding a warning though.


Add feature to edit the challenge description

This PR is build on top of #142

Added feature to edit the challenge description using the froala editor.

Link to live demo: http://pr-144-evalai.surge.sh

Screenshot:

@RishabhJain2018 @lunayach @galipremsagar @galipremsagar
Resolved the conflicts, please review

Codecov Report

Merging #144 into master will decrease coverage by 0.2%.
The diff coverage is 17.39%.

@@            Coverage Diff             @@
##           master     #144      +/-   ##
==========================================
- Coverage   53.22%   53.02%   -0.21%
==========================================
  Files          55       55
  Lines        2463     2480      +17
  Branches      261      266       +5
==========================================
+ Hits         1311     1315       +4
- Misses       1077     1089      +12
- Partials       75       76       +1

Impacted Files
Coverage Δ

...e/challengeoverview/challengeoverview.component.ts
63.33% <0%> (-2.19%)
:arrow_down:

...rc/app/components/utility/modal/modal.component.ts
38.57% <21.05%> (-4.03%)
:arrow_down:

Impacted Files
Coverage Δ

...e/challengeoverview/challengeoverview.component.ts
63.33% <0%> (-2.19%)
:arrow_down:

...rc/app/components/utility/modal/modal.component.ts
38.57% <21.05%> (-4.03%)
:arrow_down:

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 75e8c6f...d51db8a. Read the comment docs.

@Shekharrajak @lunayach @RishabhJain2018 @galipremsagar
Please review

@Shekharrajak @lunayach Please review

@galipremsagar @lunayach @Shekharrajak @RishabhJain2018
done with all the changes, please review

@lunayach I implemented the basic editor as was in EvalAI. Yeah I can try on these but it may take some time and I'm working on other features also which need this and other related PR to be merge. If it is ok for you then I'll open another PR to enhance the editor

Okay, then we should take @RishabhJain2018's call on this.

Thanks @galipremsagar and @lunayach for the detailed reviews ❤ . I'm merging this.


Twitch Whisper format changed?

Whispers are being received incorrectly. The "Message" part in an onwhisper event appears to be the tags of the user.
Actual behaviour:
When receiving a whisper, user is the username, message is the user's tags, the actual message is dropped.
Expected behaviour:
When receiving a whisper, user is the user object, message is the message.
Code to reproduce
c.onWhisper = function (user, message) {
    //We got a whisper. Do something with it.
    log.info("Whisper received:", user, " - ", message);
}

Error log:
2016-07-02T00:35:01.299Z - info: Whisper received: #anaerin  -  badges=null, color=#0000FF, display-name=Anaerin, emotes=null, message-id=39, thread-id=18517421_91603649, turbo=false, user-id=18517421, user-type=null, emotes-raw=null, badges-raw=null, username=anaerin, message-type=whisper

Server configuration

Windows 10, Ubuntu Linux 4.2.0-35-generic x86_64
Node version (if applicable):v5.7.0 (Windows), v4.2.1 (Linux)
NPM version (if applicable): v2.7.4 (Windows), v2.14.7, (Linux)
tmi.js version: v1.1.1 (Windows), v1.1.1 (Linux)

Did you just upgrade to v1.x.x from v0.x.x?

From v1.0.0 to v1.0.1, I believe. Found the issue - event format changed.

It changed during the 1.0.0 from the rc1. Here's the current documentation.

from: String - Username who sent the message
userstate: Object - Userstate object
message: String - Message received
self: Boolean - Message was sent by the client


DEP: add warning for documented-as-deprecated extradoc

Copying from #15748:

It's been 10 years since extradoc has been deprecated, although in documentation only: https://github.com/scipy/scipy/commit/eb90ace863f0538dcacb67bcf246918037dc298b, see https://github.com/scipy/scipy/blob/v1.8.0/scipy/stats/_distn_infrastructure.py#L1564-L1567 for current location.

The only use of extradoc that I can find outside of _distn_infrastructure is the following, which refers to #1842.
gamma_gen nowadays uses @extend_notes_in_docstring, where extradoc doesn't appear. I think we can definitely deprecate it.

Closes #15748

LGTM

Thanks!

Could you add a release note in https://github.com/scipy/scipy/wiki/Release-note-entries-for-SciPy-1.9.0?

Yeah, I'm keeping an eye on all the deprecations and making sure they're reflected in the release notes. :)


notebook cell overlapping explorer

This seems new, @JacksonKearl do you have stable reproduce? (like toggle visibility of a pane/view)

Pretty much a 100% repro for me, the sidebar needs to be on the right but besides that it always happens. It actually doesn't even need the explorer open, it clips the sidebar too.

The min width of the editor is larger than the workbench and we don't have a overflow-x: hidden for it. Nice catch.


Move Core Client Server to Processors

Allow use by projects other than Reach. Allow choice of new CLU processor or client/server use of existing CoreNLP processors.

Closed by pull request #199


Acceptance test Wiki page update.

Directory structure in the wiki page has been updated, and additional tips and notes have been included.

@rahat2134 @jnvtnguyen PTAL.

@rahat @jnvtnguyen Please take a look.
Thanks...

Sorry will take a look by EOD, Thanks.

@seanlip  PTAL,
It looks like, your review is needed herein.
Thanks.

@seanlip PTAL.
Apparently, I can't merge this myself.

Thanks @Akhilesh-max! Merging, but I think the permissions issue is also fixed now (I just updated one of the settings).


Small README Refactorings

  Please Check The Preview

Disable unused Widgets:

Packages

Disable unused Tabs:

Actions

General formatting / spacing

Unified badges

If you have any questions.

In case you do not agree with some of the changes made in this PR,
please first let me know about them, before disregarding it entirely so
we can possibly find a middle ground and have it not go to waste.

             No, I'm not a robot.
     Yes, you are not the first.
      I just made a PR template.

If you want to know more about Markdown check out:

@ImpulseAdventure Please review this PR~


I believe this was fixed with a previous pull request which I've just merged. Try the latest version of proto repl to see if it does it. If not please fix the conflicts and reopen.


Fix a protocol broken issue

This pull request fixed a communication bug where afl-staticinstr fails to send the "P" command expected by afl-fuzz.exe.

Awesome, thanks!


delete non existent layer normalization

this just make every node bigger for no reason, batch_normalize is just a property

Most frameworks model batch normalization as a separate layer or an inner layer as it is a separate operation using weight tensors. It currently renders as an inner node for consistency.

not in Darknet, in Darknet it's just an option that you turn on or off.