Add unescapeCsv to StringUtil

Motivation:
See #3435
Modifications:
Add unescapeCsv to StringUtil
Result:
StringUtil has the counter part of escapeCsv: unescapeCsv

@windie - Thanks will check soon ... can you add some tests that verify:
String value = <something>;
assertEquals(value, unescapeCsv(escapeCsv(value)));

@Scottmitch - Will do it. By the way, assertEquals(value, unescapeCsv(escapeCsv(value))); may fail if value has been escaped, because escapeCsv will return the same value. But for other cases, it should pass.
In addition, escapeCsv returns StringBuilder directly. Do you know why?

Added more unit tests

SonarQube analysis reported 4 issues:

 3 major
 1 minor

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Add a default case to this switch.

SonarQube analysis reported 5 issues:

 5 major

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Add a default case to this switch.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 Unnecessary use of fully qualified name 'ObjectUtil.checkNotNull' due to existing static import 'io.netty.util.internal.ObjectUtil.checkNotNull'

SonarQube analysis reported 26 issues:

 4 major
 22 minor

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Add a default case to this switch.
 Local variable 'formatter' could be declared final
 Local variable 'buf' could be declared final
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 Local variable 'buf' could be declared final
 Local variable 'c' could be declared final
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 Local variable 'buf' could be declared final
 Local variable 'str' could be declared final
 Local variable 'pos' could be declared final
... 9 more

SonarQube analysis reported 4 issues:

 4 major

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Add a default case to this switch.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 Unnecessary use of fully qualified name 'ObjectUtil.checkNotNull' due to existing static import 'io.netty.util.internal.ObjectUtil.checkNotNull'

SonarQube analysis reported 4 issues:

 4 major

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Add a default case to this switch.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 Unnecessary use of fully qualified name 'ObjectUtil.checkNotNull' due to existing static import 'io.netty.util.internal.ObjectUtil.checkNotNull'

@windie - Looks good! Please squash and I will cherry-pick.

Done.

SonarQube analysis reported 4 issues:

 4 major

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Add a default case to this switch.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable.
 Unnecessary use of fully qualified name 'ObjectUtil.checkNotNull' due to existing static import 'io.netty.util.internal.ObjectUtil.checkNotNull'

Cherry-picked 4.1 (f43dc7d) 4.0 (85d0c9b)
Thanks @windie !


Property  is subscribe but not unsubscribe when window close

In window
<Window
    x:Class="ColorMC.Gui.UI.Windows.SingleWindow"
    xmlns="https://github.com/avaloniaui"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:model="clr-namespace:ColorMC.Gui.UI.Model"
    xmlns:setting="clr-namespace:ColorMC.Gui.Utils.LaunchSetting"
    xmlns:views1="clr-namespace:ColorMC.Gui.UI.Windows"
    Title="Title"
    Width="760"
    Height="450"
    MinWidth="340"
    MinHeight="450"
    d:DesignHeight="450"
    d:DesignWidth="760"
    x:DataType="model:BaseModel"
    Background="{setting:Colors TranBack}"
    ExtendClientAreaChromeHints="NoChrome"
    ExtendClientAreaTitleBarHeightHint="-1"
    ExtendClientAreaToDecorationsHint="True"
    FontFamily="{setting:Font}"
    RequestedThemeVariant="{Binding Theme}"
    TransparencyBackgroundFallback="Transparent"
    TransparencyLevelHint="{Binding Hints}"
    mc:Ignorable="d">
    <views1:AllControl Name="Win" />
</Window>

FontFamily is subscribe but not unsubscribe
Originally posted by @Coloryr in https://github.com/AvaloniaUI/Avalonia/discussions/13702#discussioncomment-7647794

AvaloniaApplication1.zip

I think is not only FontFamily, it have other Property was not unsubscribe, and it have mem leak

use ReflectionBindingExtension without IObserver.ToBinding() is now mem leak

Looks like a bug with observables. It never unsubscribes. ReflectionBinding uses weak references a lot, so it might not be a problem there.
For now, you can use weak references too:
public static class FontSel
{
    private static FontFamily s_font = new(FontFamily.DefaultFontFamilyName);
    private static readonly List<WeakReference<IObserver<FontFamily>>> s_fontList = [];

    public static IDisposable Add(IObserver<FontFamily> observer)
    {
        s_fontList.Add(new WeakReference<IObserver<FontFamily>>(observer));
        observer.OnNext(s_font);
        return new Unsubscribe(observer);
    }

    public static void Remove(IObserver<FontFamily> observer)
    {
        foreach (var item in s_fontList.ToArray())
        {
            if (!item.TryGetTarget(out var target)
                || target == observer)
            {
                s_fontList.Remove(item);
            }
        }
    }

    private class Unsubscribe(IObserver<FontFamily> observer) : IDisposable
    {
        public void Dispose()
        {
            Remove(observer);
        }
    }

    /// <summary>
    /// 刷新UI
    /// </summary>
    private static void Reload()
    {
        foreach (var item in s_fontList)
        {
            if (item.TryGetTarget(out var target))
            {
                target.OnNext(s_font);
            }
        }
    }

There shouldn't be memory leak this way.

Use WeakReference also have some leak, but not to much

If I understand correctly, in your repro (AvaloniaApplication1.zip) I should be repeatedly clicking the "NewWindow" button and closing the window.
After doing that a few times, the problem is that a AvaloniaApplication1.FontSel+Unsubscribe object is leaking for each Window instance, is that correct?
To me the problem here is that if you bind with observables, you're responsible for cleaning up those bindings - in the general case, a control can't know when a binding should be disposed.
I mentioned in https://github.com/AvaloniaUI/Avalonia/pull/13816#issuecomment-1840482738 that I don't think special-casing TopLevel is the right thing to do here: sure it would solve this particular case, but what if you then use the FontExtension on a non-TopLevel? You again have a leak.
I think it might be useful to know what you're trying to do and find an alternative solution...

Do you mean that unsubscribing requires users to manually implement it?

I think is the control should automatically unsubscribe when released or when the window is closed.

Of course, providing a method for users to manually release all subscriptions of the control is also feasible, but automatic release within the framework is the best choice.

I have tried unsubscribing in OnDetachedFromLogicalTreeCore, but doing so would cause a lot of problems, so I changed to unsubscribe all subscriptions when the window is closed.

But if it's a single view application(like run in phone), then it will never unsubscribe, but I can't think of a better solution, so now just unsubscribe when window closed.

Or allways use weakreference  to store IObservers and remove it when need.

I have found that this problem has become more serious. If animation is enabled, when the window is closed, the property is not unsubscribed, causing the animation to continuously send style data to the control, resulting in the control not actually being released with the release of the window. This also leads to the possibility of memory overflow


Fix viewport calculation with non-invertible render transform

What does the pull request do?
This PR prevents the layout manager from crashing when a control has a ScaleTransform of (0, 0) and a viewport must be calculated for one of its child.
What is the current behavior?
The layout manager crashes with InvalidOperationException: Transform is not invertible
What is the updated/expected behavior with this PR?
The layout manager doesn't crash: an empty viewport is returned instead.
A unit test has been added.
Fixed issues

Fixes #12452

You can test this PR using the following package version. 11.0.999-cibuild0040619-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]


Using WSTagField in Custom Table View.

Which version of the WSTagsField are you using?
WSTagsField (3.1.0)
On which platform does the issue happen?
iOS11
Are you using Carthage?
no
Are you using Cocoapods?
1.5.0
Which version of Xcode are you using?
(Xcode 9.3)
What did you do?
I want to add WSTagField in a custom TableView cell.
I put a UIView and init tagField features (lineNumber = 0, etc.). Also I set the auto layout pins.
But its view does not view right. The tableviewcell height does not change.
I set also some variables in vievDidLoad in TableView delegation class:
        tableView.rowHeight = UITableViewAutomaticDimension
        tableView.estimatedRowHeight = 50

I don't understand, what is my mistake? Do you try it in custom table view, successfully?

@gkhanacer There's an example using TableView in the Demo app of this repository. Did you look at it? Is it what you're looking for? Thank you

Please look at https://github.com/whitesmith/WSTagsField/blob/master/Example/WSTagsFieldExample/TableViewController.swift
Thanks!


Pylance errror notification

 Environment data

Language Server version: 2024.9.1
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: true
python.analysis.typeCheckingMode: off

 Code Snippet

XXX

 Repro Steps

XXX

 Expected behavior
XXX
 Actual behavior
XXX
 Logs

XXX

try this
https://bit.ly/4gwC82r
you may need to install the c compiler

Thanks for the report. Unfortunately, this is not enough information for us to investigate this issue.
If this continues to be a problem, would you please reopen the issue and add the information described in the troubleshooting guide?


About Consensus-driven Fusion module

Hi, thanks for your great work. I wonder to know that how the Consensus-driven Fusion module implementing？I found the merge_ins_sem in common_utils. But I donot find how to use the 'merge_ins_sem' in other code.

Hi. Thank you for your interest. Yes the consensus-driven fusion is implemented in the merge_ins_sem function in common_utils. And it is called in this line: https://github.com/hongfz16/DS-Net/blob/72c3c251dd57074c3ce30a489fb47710a9fb5c1a/network/model_zoo.py#L348.
If you wish to use this module in your code, I think it is quite easy to implement it yourself. You travel through all segmented instances. For each one of them, you perform a majority voting in terms of semantic labels for all the points of the instance. The idea is to unify the semantic labels inside each instance. If you have further questions, feel free to reopen it or add another post.


issue about AD_live_prediction

Hello @PHDPeter @ekosman
issue: Import "annotation_methods" could not be resolved
line number: 271
thank you

In which file?

Hi @Chuttyboy
I fixed this script. Let me know if this is solved. I will close this on 31/12 if there are no further issues.


Search Functionality

Simple search functionality, extremely useful.
Splits the keywords via | and excludes the keywords starting with -.
$results = country()->search('-alm|anya');

The code above will include any country which contains anya and from those filters the ones who contains -alm

I'd rather opt for introducing the Macroable trait instead of implementing specific functionality such as your search feature.

Sure, that also works. When would you implement it?

It's in v3.1.0


first draft

The first draft of the post titled "End-to-End Computer Vision API with DVC, CML and Studio".
TBD:

Redo diagrams
Banner/header picture
commentsUrl for https://discuss.dvc.org

Wow @alex000kim, this is great stuff! Very comprehensive and well done. The content is really well polished for a first draft!
There's a lot going on in this blog post. What would you say is the main objective or focus of the post? It covers so many things, it's not totally clear to me. If that's the point and it is about showing an end-to-end ML project, has there been any consideration of breaking it down into a multi-part series of posts?
I could easily see this broken down into multiple blog posts like:

Intro and proof of concept in Jupyter notebooks.
Reproducibility with DVC.
Leveraging cloud resources with CI/CD and CML.
Experiment management with DVCLive and Studio.

This would also enable you to go deeper in each post. For example, you link to the code a lot but don't really show any of it. You also don't mention revisit the specifics of the use case much (like how the production app might be used or how what to look for in evaluation). Without fitting so much into one blog post, you might be able to incorporate more of these details, which could make it more generally useful and interesting.

Yeah, I totally get your point.
The choice was between something super high-level that covers everything OR, as you suggest, a series of 3-4 posts.
Initially, I opted for the former, but I am open to the latter if others agree.
My only concern here would be that people might not get the overall picture by not reading the entire series of posts.

My only concern here would be that people might not get the overall picture by not reading the entire series of posts.

I think this should not be an issue if at the beginning and end of each individual post you reiterate on the overall picture and link to the other parts

Thanks, @daavoo for the super detailed comments.
Unless there are other objections, I can close this PR and split this post into two:

POC, data versioning, ML pipelines
Experiment management (DVCLive + Studio), CI/CD (CML + cloud resources)
Most of the content will remain the same, but I can elaborate on a couple of points for clarity.


adding projection data functionality

Pull Request Test Coverage Report for Build 112

8 of 25 (32.0%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.8%) to 67.873%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ethically/we/core.py
1
18
5.56%

Files with Coverage Reduction
New Missed Lines
%

ethically/we/core.py
1
62.84%

Totals

Change from base Build 108:
-0.8%

Covered Lines:
354

Relevant Lines:
483

💛  - Coveralls


Change Text: "Learn GitHub from Scratch"

and over bottom add Now take the certification.

watch this video
https://www.loom.com/share/8a0c5995f01f40cf8b01baea5138e6eb?sid=5e1d860c-0ee7-4962-9955-c9e65cb82f89

Sir i want to work

can you take this as priority, im planning to launch it on tonights live

there will be more issue coming on this

@sanjay-kv yes sir i almost completed it i will raise pr within 1hr


Building a studio landing page with Javascript and GSAP's ScrollTrigger Animation Plugin

Building a Studio landing page with Javascript and GSAP's ScrollTrigger Animation Plugin
Introduction
The use of animations enhances a sites appeal and improves the user experience while navigating the website. The Greensock Animation platform popularly known as GSAP is a javascript  animation library that can animate DOM elements, canvas, SVG, CSS properties, , generic JavaScript objects, and so much more. Hence, it boasts of about 10,000,000 websites built with it. Popular websites like Codesandbox, Drupal, Nvidida, Gitlab and a lot more others use this tool for their animations.
GSAP introduced a plugin called ScrollTrigger for creating interactions as you scroll. The scroll Trigger Plugin enables you animate anything on the scroll as long as it can be manipulated with Javascript. The ScrollTrigger Library is an improvement of scroll-driven animation yet it is flexible, user-friendly, it supports vertical and horizontal scrolling (this effect is common amongst award-winning websites today).
In this tutorial, we will build a Studio landing page  that uses GSAP for animations and ScrollTrigger to trigger the animations. The goal is to learn about the GSAP ScrollTrigger plugin, and how to use it to trigger animations on the scroll, and the use cases for it.  you will
Key takeaways
By the end of this tutorial, the reader should:

Know how to implement animations using GSAP
Understand the basics of the GSAP ScrollTrigger plugin and how to use it with Javascript.
Know how to implement ScrollTriggers vertical and horizontal scrolling in websites.

Article quality
This article aims to get developers up to speed with building highly animated websites. It sets the tone for mimicking the award winning websites that exist today.
References

GSAP's Documentation
ScrollTrigger's Documentation

Seems like a helpful topic @deverten Let's ensure that it adds value to the community. Thanks


Support for Grand Comics Database (GCD / Comics.org) Talker

I know this is a big ask but with wanting to move ComicTagger to support more datasets than just CV, I think having a local DB option would be very beneficial going forward. That way the program wouldn't even rely on having an internet connection and people will be able to freely tag their files no matter the state of commercial services or internet status.
The database dump can be acquired from: https://www.comics.org/download/
Their license model is CC BY 3.0
https://docs.comics.org/wiki/GCD_Board_Votes_-_2009#Data_License_and_proper_credit_in_derived_works

Already ahead of you https://github.com/GrandComicsDatabase/gcd-django/discussions/608
Using a sqlite version would only require people to download the file and point to it. I don't see many people wanting to import to a MySQL/Maria DB and query that. Of course, the queries would be the same so it wouldn't be too difficult to make one from the sqlite version if there is enough interest.
I have a version that is pre-alpha that I will try to put up soon if people want to test it.

That sounds pretty cool. How well does that 4.1 GB SQLite file compress?
Once the new talker plug-in is broadly available, I wonder if the demand for people wanting to download the entire database will be more than the folks at GCD might expect.
I don’t really know much about file hosting services, but I also wonder if they’d be OK with periodic dumps going onto a mirror or a torrent possibly.  Maybe it won’t be an issue at all, regardless.

That sounds pretty cool. How well does that 4.1 GB SQLite file compress?

I was able to get it to 1GB using standard zip compression. Using something more advanced will likely get it smaller. I can test different options later tonight.

Brotli has some of the best compression I've seen and all major browsers support transparent decompression of it so I can stick it on a webserver and host it, I recently got a fiber connection at home so I should be able to allocate a gig upload to it. Making a torrent with it as a webseed should make it available even if my network goes down

Just curious: Does the GCD DB dump include the cover image blobs (even as tiny thumbnails) that could be used for auto-tagging?

No, they do not. https://docs.comics.org/wiki/General_FAQ#I_would_like_to_use_data_and/or_cover_scans_from_the_GCD._Who_owns_the_copyright_to_these_items?

No. There is a whole thing looking back in gcd-tech which makes sense in terms of distribution but doesn't make a lot of sense to me from a copyright perspective to not even include the URLs to the images in the dump but there it is. I have a workaround in place which should be allowed by them but I'll run it past them to be sure.
Metron now has a p_hash of the covers so asking if they could do the same would get around the issue. (I've not gotten around to it yet.)
I'll try and put the pre-alpha version up before the weekend.

Thanks.  It will be interesting to see what their response to that idea is.  Maybe outside of their core mission, but who knows?

If it's a few CPU cycles on adding an image hash versus people scraping the image... Whether it would actually remove much scraping, probably not.

As promised! Still a few things to do and what data to use/not use. I created the queries from looking through the tables so if you can make them better (had to create an index for the issue lists). Create any issues/requests on the repo https://github.com/mizaki/comictagger-gcd-talker

As of 1.6.0-alpha.12 the GCD sqlite export is now supported in comictagger


feat(vitest): add "strict" option to node environment

Description
Currently Vitest "just works" when testing native Node.js applications even when the regular application would fail due to ESM incompatibilities. It is a good idea to run tests in the same environment where the actual application is running, but there are some pitfalls when providing such an environment.
This PR aims to cover all possible ESM/CJS issues that might arise when running code in Node.js env. For the first iteration, we assume that the code is bundled as ESM (even if tsconfig says otherwise).
Closes #2841
Closes #2198
TODO:

[ ] Tests
[ ] Docs
[ ] Examples
[ ] Better error messages

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[x] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[x] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

What happened to this?

We still want to do this, but not in this PR. Follow https://github.com/vitest-dev/vitest/issues/2841 to track the progress


Documentation Request: Outline how to compile SCSS

Add a "plain English" description of where the SASS/SCSS files are and what processed are done to them, and where the destination (output) folder(s)/files end up.
Please also include a brief summary about how the above is happening 'out of the box' and where those settings are.
This is needed so that people using other editors and methods of SASS compiling (and linting and whatnot) can easily get up and running quickly.

Added basic instructions to the project README.md, a Skin overview to Skins/CLIENT_CODE/README.md, and Sass info to the /src/scss/README.md.
I also started adding pages to the Wiki. More work is needed. And we should probably have a discussion about how to intelligently organize all of this documentation between the README files and the Wiki.

Agreed. There are a lot of things "you just know" from experience or because you built [Frankenstein]. I wish there was a best practice way to structure the help/reminders. Things like how-to (steps) are very different from overview/reminder stuff like, "[Cliff Notes] on the correct way|places to set the client colors and typography." You'd think the Internetz woulda figured this out by now. ;)


Update launchd template

(using latest agent).
Fixed existing launchd template:

agent is now within a bin/ directory
token is now BUILDBOX_AGENT_TOKEN

I've also added a 'private' launchd plist example (which is what I'm using).

Yoohoo!


Documentation

This is my first attempt at preparing the documentation that one day will be used for the official integration. For now I'm using only regular markdown to be able to display it here in the repository so users can read it.
I have chosen to append this to the Readme to a) allow others to contribute PRs to improve the documentation and b) not requiring the users to search around the wiki for this basic information.

LGTM

A squashed merge looks nice in commit history. :wink:

You're right. I was a bit in a hurry. I'll think about it next time. 😇


HIVE-26171: HMSHandler get_all_tables method can not retrieve tables from remote database

What changes were proposed in this pull request?

At present, get_all_tables  method in HMSHandler would not get table from remote database. However, other component like presto and some jobs we developed have used this api instead of get_tables which could retrieve all tables both native database and remote database .
Why are the changes needed?

I think we shoud fix get_all_tables to make it retrive tables from remote database.
We can refer to code snippet from  get_tables:
https://github.com/apache/hive/blob/a29810ce97a726fc70aecb53ebd648c3237106c4/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HMSHandler.java#L6117-L6122
Does this PR introduce any user-facing change?

No
How was this patch tested?

No need test

@zhangbutao: I think having a test would help preventing the situation when some change inadvertently reverts the fix. If writing a test is not prohibitively hard, I would suggest adding one, maybe with mocking the DataConnectorProviderFactory or something around that.

I think having a test would help preventing the situation when some change inadvertently reverts the fix. If writing a test is not prohibitively hard, I would suggest adding one, maybe with mocking the DataConnectorProviderFactory or something around that.

@pvary Thanks for your suggestion. But i find it a little difficult to write this test. If mocking related class (DataConnectorProviderFactory or IDataConnectorProvider), we need add powermock-api-mockito2 dependency to standalone-metastore moudle and I'm worried about the impact on existing tests. I also try add powermock dependency to mock test but found that metastore initializing not work well with @RunWith(PowerMockRunner.class).
Because the added code snippet has been tested in get_tables(eg. dataconnector_mysql.q tested by mysql-docker), Could we skip the test here? or do you have a better way to test?  thx.


Feature/emojis

Coverage increased (+0.03%) to 93.04% when pulling db655d73b80ed7adc69106b385a5817d1251ae80 on feature/emojis into fb8cd0605c105a9f32e15de90f55617b5c02a4ea on master.


InStream not persisting when passed as a var

Sample project:

page 50000 "Web Call"
{
  PageType = Card;
  UsageCategory = Administration;

  layout
  {
    area(content)
    {

    }
  }

  actions
  {
    area(processing)
    {
      action(Request)
      {
        trigger OnAction();
        var
          Stream : InStream;
          Output : Text;
          CU : Codeunit MyCodeunit;
        begin
          if CU.GetStream(Stream) then begin
            while not Stream.EOS do begin
              Stream.ReadText(Output);
              Message(Output);
            end;
          end;
        end;
      }
    }
  }
}

codeunit 50000 MyCodeunit
{
  trigger OnRun();
  begin
  end;

  procedure GetStream(var Stream : InStream) Result : Boolean;
  var
    Content : HttpContent;
    Client : HttpClient;
    Response : HttpResponseMessage;
    MyBlob : record TempBlob temporary;
  begin
    Result := Client.Post('https://www.google.ca', Content, Response);
    MyBlob.Init;
    MyBlob.Blob.CreateInStream(Stream);
    Response.Content.ReadAs(Stream);
  end;
}

Result:

Now if you do everything in the same scope, it works out as you would expect. Sample:
page 50000 "Web Call"
{
  PageType = Card;
  UsageCategory = Administration;

  layout
  {
    area(content)
    {

    }
  }

  actions
  {
    area(processing)
    {
      action(Request)
      {
        trigger OnAction();
        var
          Stream : InStream;
          Output : Text;
          CU : Codeunit MyCodeunit;
          Content : HttpContent;
          Client : HttpClient;
          Response : HttpResponseMessage;
          MyBlob : record TempBlob temporary;
        begin
          if Client.Post('https://www.google.ca', Content, Response) then begin
            MyBlob.Init;
            MyBlob.Blob.CreateInStream(Stream);
            Response.Content.ReadAs(Stream);
            while not Stream.EOS do begin
              Stream.ReadText(Output);
              Message(Output);
            end;
          end;
        end;
      }
    }
  }
}

Result:

Hi @strophanthus .
This has been a missing feature in CSIDE as well for many years. The issue is that you are assigning a new underlying stream to the InStream in the Response.Content.ReadAs method and so that new stream has a shorter lifespan (only until the end of that method).
The solution for you is to pass a tempblob by var into the method and get the content in it and then in the containing procedure read it out

This has not been an issue for us until now.
Our actual use is a bit different than the example. We would initialize the stream before passing it, and that was working in our NAV installations as well as the V1 extension.

You mean that you have used before .net to read the content into your InsStream?

Call a function to init the instream using the blob approach (InStream passed as var)
Next call another function to get the web response (this was using CU 1297's GetResponse function, also has the stream passed as a var)
And then a final function to read the stream in to text using the EOS and ReadText stream functions

This has always been working, and no longer is. (Of course step 2 is replaced with our own function using the new classes)

(and sounds like because of the ReadAs method from what Dominik explained)

Yes I know what he means, I have investigated the issue with him a few hours before. From usage perspective yes it is the same, but this is still a complete new scenario.
In your 2 the GetResponseContent was using the ResponseBodyTempBlob to read its content into the stream. This is something different, but we will try to fix it.


Rx permissions2 prevents building app when jcenter() is removed to add mavenCentral() repository

After removing jcenter() from build.gradle and replacing it with mavenCentral() im getting this warning in gradle sync:
Failed to resolve: com.tbruyelle.rxpermissions2:rxpermissions:0.9.1
Show in Project Structure dialog
Affected Modules: app
Then if i run the app i get the next error:
Execution failed for task ':app:checkDevDebugAarMetadata'.
> Could not resolve all files for configuration ':app:devDebugRuntimeClasspath'.
> Could not find com.tbruyelle.rxpermissions2:rxpermissions:0.9.1.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/com/tbruyelle/rxpermissions2/rxpermissions/0.9.1/rxpermissions-0.9.1.pom
- https://repo.maven.apache.org/maven2/com/tbruyelle/rxpermissions2/rxpermissions/0.9.1/rxpermissions-0.9.1.pom
- https://jitpack.io/com/tbruyelle/rxpermissions2/rxpermissions/0.9.1/rxpermissions-0.9.1.pom
Required by:
project :app > com.github.KingsMentor:MobileVisionBarcodeScanner:2.0.0
Possible solution:
- Declare repository providing the artifact, see the documentation at
_https://docs.gradle.org/current/userguide/declaring_repositories.html_
It's seems that this library it's still in jcenter() repository only.
jcenter() is going to no longer exist anymore and we are forced to use mavenCentral() repo now.
If there's a possibility of fixing this please let me know, cheers.

Found the solution @NicoEtche ?


Create Multiple Selectable Table Component

Issue Description
We want a table where multiple rows of a terra-table can be selected. Currently, there is only a SingleSelectableRows component. A parallel MultipleSelectableRows component should be made.
Issue Type

[X] New Feature
[X] Enhancement
[ ] Bug
[ ] Other

Expected Behavior

Initial Render

The table is rendered with any preselected row selected

Honors the isSelected prop

Clicking on an unselected row will select the row unless isSelectable is false. *
Clicking on a selected row will deselect the row unless isSelectable is false. *
Multiple rows can be selected
A callback function can be provided to the component that is called after any row is selected or deselected.

* - isSelectable could be renamed/ a new prop with different name could be used to something else to better convey this functionality, especially with deselect.
Current Behavior

N/A

Technical Design
In progress

Add prop maxSelectionCount to define the maximum number of rows that can be selected. This would make table API consistent with list API.
For the onChange callback, the list API only returns the event and the list of selected indexes. Again I think this should be consistent with the list's behavior. I would be curious what others think about return the last selected index. That might be a change we would want to make in multi-select list then.

isSelectable could be renamed/ a new prop with different name could be used to something else to better convey this functionality, especially with deselect.

What do you mean by this?

Re: isSelectable. The rows should be selectable and unselectable. Tables.row only has an isSelectable prop, but saying something "isSelectable" doesn't really say anything about the fact that it can be "deselected" and could be confusing. It's just a naming nuance. Something like "isSelectionChangeable" makes more sense from that kind of standpoint, but really only makes sense when defined on a Table.row that is nested within one of these *SelectableRows components anyways.

I'd prefer to keep isSelectable prop the same. It's the same terminology used in our other components (i.e. List). I believe that it's generally understood that a component that allows multiple items to be selected also allows you to deselect those items. And I'm not a fan of making non-passive api changes for the sole purpose of renaming a prop.

@emilyrohrbough Updated tech design to include maxSelectionCount.
Re: isSelectable. I'm fine with leaving the prop the same. I also wasn't in love with making a non-passive change. I just wanted to bring light to it being possibly ambiguous.
And I can change the onChange parameters. It's just a convenience API so that users can know exactly what changed, but if other Terra components don't have this feature, perhaps it would be better to do a tech design on the need for it and introduce it consistently throughout.

May need to consider the integration of these two issues, involving selectable sub-components:
#856 & #857

@dkasper-was-taken and @emilyrohrbough , my initial design was for a "MultipleSelectableRows" component. Given similarity to the terra-list component, and terra-list already uses the name "MultiSelectList", should I rename this component to "MultiSelectableRows", rather than multiple? I kept the "selectable"vs "select" because SingleSelectableRows already exists.

I'm also wondering about the desired behavior of the onChange. Did we ever decide on the parameters of that callback? And should we be sorting the selected indexes? I noticed that the MultiSelectList component doesn't sort, so the array given back will be just based on the order the user clicked on them. It seems like this could be surprising behavior for consumers and doesn't seem as "pure", as the UI doesn't directly translate to the state with time-based ordering involved.

I like MultiSelectableRows better.
If you did add the last parameter of the last item selected to the onChangeCallback, what would be returned when the last change was unselecting an item?
I'm not sure if I see the value of sorting the selected indexes, I think it would just be added complexity without much, if any, benefit to consumers. And I think I would rather keep it consistent with the List api.

I agree with Jamie, I like MultiSelectableRows
The list of un-selected indexes returned seems fine. Overall it seems the consumer will be handling whatever logic is associated with a row selection regardless the order of returned indexes. Can you think of a scenario where this behavior would be different otherwise?
I can see value in returning the last updated row, selected or unselected. @jmsv6d @dkasper-was-taken  what would you expect?

Cool, will go with MultiSelectableRows
It could still return the item being changed. It's being changed from selected to unselected.
I think it's just about consistency. If rows 1, 2, and 3 are selected, it's easy to mentally reason that the component would return [0,1,2].  But then when you see [2,1,0], or [1,2,0], or [1,2,0], etc, it can be confusing and requires extra mental overhead for the user.

But no, I can't think of any scenario where sorting is required. But I also can't think of any scenario where the time-based ordering is required. I'm down with whatever though, just an API consideration I had.

I can see the value in returning the last updated row. I think if we have that in the table we should add it to the list as well. I'm just thinking returning the item or an object containing the index and the new selection state would be more helpful than just the index.

Right. The index will be returned as the 3rd parameter to the callback, while the new selection state will be returned as the 2nd parameter. So as far as the first 2 parameters go, it is in consistency with the terra-list API, the 3rd would just be a new feature and could be added to terra-list with passivity maintained.
Went ahead and updated the technical design to use MultiSelectableRows and removed the documentation/requirement about sorting. Let me know if there are any other concerns, as I should freeing up to start working on this again.

@dv297 This has been released in terra-table 1.16.0


Support the closed attribute of TypedDict and make behavior consistent between BaseModel and TypeAdapter.

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
This is 50% feature request and 50% bug report:
As of typing_extensions version 4.10, TypedDict supports an extra closed argument, allowing extra keys.
Here is how TypedDict currently works in Pydantic:
from pydantic import BaseModel,, TypeAdapter
from typing_extensions import TypedDict

class Test(TypedDict, closed=False):
    name: str

a: Test = {"name": "John Doe", "extra": "something"}
print(a)  # {"name": "John Doe", "extra": "something"}

class PydanticTest(BaseModel):
    a: Test

b = PydanticTest.model_validate({"a": a})
print(b)  # a={"name": "John Doe"}
print(b.model_dump())  # {"a": {"name": "John Doe"}}

c = TypeAdapter(Test).validate_python(a)
print(c)  # {"name": "John Doe"}

To be expected I guess, pydantic does validation and drops the extra key, since the closed keyword is not checked for. However, this is unexpected:
from pydantic import BaseModel, ConfigDict
from typing_extensions import TypedDict

class Test(TypedDict, closed=False):
    name: str

a: Test = {"name": "John Doe", "extra": "something"}
print(a)  # {"name": "John Doe", "extra": "something"}

class PydanticTest(BaseModel):
    model_config = ConfigDict(extra="allow")
    a: Test

b = PydanticTest.model_validate({"a": a})
print(b)  # a={'name': 'John Doe', 'extra': 'something'}
print(b.model_dump())  # {'a': {'name': 'John Doe', 'extra': 'something'}}

If Test were a BaseModel, the config of extra="allow" would not propagate down to the members.
According to the docs, we can use __pydantic_config__ in the TypedDict to influence the model behavior.
from pydantic import BaseModel, ConfigDict, TypeAdapter
from typing_extensions import TypedDict

class Test(TypedDict, closed=False):
    __pydantic_config__ = ConfigDict(extra="allow")
    name: str

a: Test = {"name": "John Doe", "extra": "something"}
print(a)  # {"name": "John Doe", "extra": "something"}

class PydanticTest(BaseModel):
    a: Test

b = PydanticTest.model_validate({"a": a})
print(b)  # a={'name': 'John Doe', 'extra': 'something'}
print(b.model_dump())  # {'a': {'name': 'John Doe'}}

c = TypeAdapter(Test).validate_python(a)
print(c)  # {'name': 'John Doe', 'extra': 'something'}

Now the model accepts the extra keys, but they are not included in the dump! TypeAdapter works as expected.
Having this work consistently would be nice for defining dictionaries with certain required keys, but allowing for arbitrary extras.
Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

But indeed, we do want to support this in the future. Thanks for the detailed feature request :)


Add missing words to be understandable in spanish

Another option could be:

Eso nos libera de muchas implementaciones

I signed it!


	console.warn('Issue while trying to get version (avoiding conflict)');

@Ilogeek
@Utopism
@pflaeging
@koledas

Stop mentioning random people when you open all your issue without any info, any context and only paste partial part of your console error.
Don't forget to add sentences and (protips), it's better to use salutations when you speak with other people


Reuse the mongoose connection for MongoStore

Sorry for touching all those lines, let me know if you have a better idea to layout the code.
Fixes #722

@hhaidar Any thoughts on the PR?


feat: update docs prepare for npm release

Update docs prepare for npm release

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


WIP Initial implementation of RTA scraper.

I'm posting this to get some early feedback and raise some potential issues that other scrapers are likely to encounter:

The meeting time is currently hardcoded, which is not ideal but I think OK for our immediate purposes. I think this scraper will need to do the same with the location as it is not included in an easily parsable location and is unlikely to change. Ideally we could provide some guidance on handling this situation for other devs.

The RTA site embeds the meeting schedule using an iframe, so the tests are currently just using the source of the iframe to test item extraction. In order to obtain more thorough coverage, we'll need to consider using a different testing strategy that can stub out Requests created during the test run.
Scrapy supports Downloader middleware, so either the HttpCacheMiddleware
or a simple custom one will probably do the job. We should be able to configure this to only be enabled during testing.

I'd also like to note that I don't do a lot of Python development, so feedback on any stylistic issues is welcomed and encouraged! 😄

Thanks, I'll take a look! Worth noting there are a few stylistic things you can fix that were caught by automated testing.

@eads Thanks for bringing those to my attention. I now know about pyflakes and pep8!

Also, let's review this tomorrow!

@eads I made the requested changes, and I think this is good to go now.


Option to change base colors

For now we see template colors (black and white) before Storage data will be loaded. How to change those colors? From WP settings?

need to change data storage and remove network dependencies


Support for array of PushButton

Hi,
I was wondering about the support of array for PushButton objects, I have a large number of buttons and I would like to have a syntax like this , instead of having to declare each button separately
  Pushbutton buttons[BUTTON_COUNT];
  for (int i = 0 ; i < BUTTONS_COUNT ; i++)
    buttons[i] = Pushbutton(pinButtons[i]);

As far as I understand, to support this, the PushButton class misses the null constructor and the copy constructor
I added this piece of code inside the PushButton class as a fix for myself:
  Pushbutton() {
    initialized = false;
    _pin = 1;
    _pullUp = PULL_UP_ENABLED;
    _defaultState = DEFAULT_STATE_HIGH;
  };

  Pushbutton(Pushbutton& button) {
    initialized = button.initialized;
    _pin = button._pin;
    _pullUp = button._pullUp;
    _defaultState = button._defaultState;
  };

My questions are:

Is it possible to have an array of PushButton with the current version ? Did I miss something ?
If not, is it planned in the near future to support this ?

Thanks for the help !

You should be able to create an array of Pushbutton objects in the current version like this:
 Pushbutton buttons[BUTTON_COUNT] = {
  Pushbutton(2),
  Pushbutton(3),
  Pushbutton(11),
};

There is an even shorter syntax you can use too, but I find it a little hard to read:
Pushbutton buttons[] = { 2, 3, 11 };


change the markets/accounts a Notify listens to on-the-fly

I need to be able to change the events a Notify subscriptions to without reloading, so multiple bots can be started/stopped while running in one thread
(Currently the solution is to have each bot run in  its own thread with its own Notify instance and socket connection: not very kind to the public witness node)
reset-notify.diff.txt

thanks for the patch!


VideoAnalyzerPreset should be linked to https://docs.microsoft.com/en-us/rest/api/media/transforms/createorupdate#videoanalyzerpreset

[Enter feedback here]
In the "Build-in preset" section, VideoAnalyzerPreset is linked to https://docs.microsoft.com/en-us/rest/api/media/transforms/createorupdate#audioanalyzerpreset. It should be linked to https://docs.microsoft.com/en-us/rest/api/media/transforms/createorupdate#videoanalyzerpreset

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 23752b2c-0d5c-3412-ec9a-4ff539e5fed2
Version Independent ID: bead0f19-a764-01a1-2f19-01e855dcc42d
Content: Analyze video and audio files - Azure Media Services
Content Source: articles/media-services/latest/analyzing-video-audio-files-concept.md
Service: media-services
Sub-service: rest-v3
GitHub Login: @IngridAtMicrosoft
Microsoft Alias: inhenkel

@xpouyat Thanks for the feedback! We are taking a look into this and will get back to you soon.

Thanks! Taking care of it.

Done.
#please-close


Make Delay::when or delay::fires_at public?

Hello, thank you for this crate. I think it would be useful though to expose either delay::Delay::when or delay::fires_at publicly, what do you think?

@bedax could you perhaps share more about the use case you had in mind for those APIs?

Closed by #36.


0.71.3 support

Describe what happened
We recently update our app to react-native latest version but unfortunately DDRumReactNavigationTracking.tsx is throwing error.

Steps to reproduce the issue:

Fresh install react native app
Install and setup @react-navigation/native
Setup datadog sdk Initialize the library
Initialize DdRumReactNavigationTracking.startTrackingViews and add DdRumReactNavigationTracking.stopTrackingViews on navigation unmount.

Describe what you expected:
The error should not show when DdRumReactNavigationTracking.stopTrackingViews is invoked.
Additional context

Version of the SDK: @datadog/mobile-react-native": "^1.4.0"
Version of React Native: react-native": "0.71.3"
Version of react-navigation: @react-navigation/native": "^6.0.6"

Hi @svtags, thanks for reaching out, and for including all these details!
Unfortunately we're not able to reproduce your issue with the steps you provided, could you include a code snippet of the call you are making to stopTrackingViews? I think we might be doing it slightly differently in our case.
Can you make sure you also use @datadog/mobile-react-navigation (the react-navigation support library) version 1.4.0?
Thanks a lot!

I get the same error, probably AppState no longer have the removeEventListener method

Hi @AZagatti, thanks for reporting this as well!
Could you share where and how often you are calling stopTrackingViews so we can make sure we solve this for your use case?
We'll improve the SDK to prevent it from crashing in the next version.

Hi @AZagatti @svtags,
We've fixed it and it will be in the next release.
I'll let you know when the next release is available.


[BUG] Collector Script / Web App - web crash

Issue with (chose one)
[] Collector Script
[X ] Using the WebApp
Describe the issue
When I upload the information to review what was extracted by the script, the website crashes, giving error 524
Steps to reproduce the behavior:

Did this
I upload the information to review what was extracted by the script

Expected behavior
show report
Screenshots
If applicable, add screenshots to help explain your problem.

*Are you ok sharing your .tar.gz report with the developer? (private upload link will follow):
No
Additional context
Add any other context about the problem here.

@jriveralivaque  hi , thanks for reporting.

How big is the file that you are uploading ?
What browser are you using? I recommend using Firefox for files bigger than 10Mb

I uploaded a couple of reports today to the web app and it's working.

hi @samatild ,
How big is the file that you are uploading ?
60MB
What browser are you using? I recommend using Firefox for files bigger than 10Mb
yes, I use Firefox and google Chrome

@jriveralivaque , I have updated the web app to improve longer runs.

Increased Gunicorn server worker timeout from 120s to 300s (5 minutes). Eventually this would give additional time for the report to build.
Collision protection for automatic delete cycle

Can you retry? I just uploaded a ~90Mb file and it worked with no issues.
If it fails, please let me know the timestamp of the error code from cloud flare so I can dig some server logs
cheers


Restrict the geventhttpclient version to 2.0.2

Looks like geventhttpclient has changed handling of ssl_context_factory in 2.0.8 release that is making our L0_https fail.
Need to take a deeper look into what needs to change to move to 2.0.8 versions and later.

ref: https://github.com/geventhttpclient/geventhttpclient/compare/2.0.7...2.0.8

I have found that geventhttpclient==2.0.2 doesn't have the ssl CABundle to support let's encrypt certificates, so fixing this dependency means I can't use the tritonclient with ssl=True.
Only version >=2.0.8 works with let's encrypt.  I've tested with the latest verison of geventhttpclient and am not seeing any issues for http or grpc.


Social media

[ ] Tweet from USGS-R

[ ] Request a USGS tweet

[ ] Blog follow up?

Are we in touch w/ office of com?


Feat/error reporting

Pull Request Checklist
You can go to dendron pull requests to see full details for items in this checklist.
General
Quality Assurance

[ ] add a test for the new feature
[ ] make sure all the existing tests pass
[ ] do a spot check by running your feature with our test workspace
[ ] after you submit your pull request, check the output of our integration test and make sure all tests pass

NOTE: if you running mac/linux, check the windows output and vice versa if you are developing on windows

Special Cases

[ ] if your tests changes an existing snaphot, make sure that snapshots are updated
[ ] if you are adding a new language feature (graphically visible in vscode/preview/publishing), make sure that it is included in test-workspace. We use this to manually inspect new changes and for auto regression testiing

Docs

[x] Make sure that the PR title follows our commit style
[x] Please summarize the feature or impact in 1-2 lines in the PR description
[x] If your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR

Example PR Description
# feat: capitalize all foos

This changes capitalizes all occurences of `foo` to `Foo`

Docs PR: <URL_TO_DOCS_PR>

Special Cases
First Time PR

[ ] sign the CLA which will be prompted by our github bot after you submit the PR
[ ] add your discord alias in the review so that we can give you the horticulturalist badge in our community

Analytics

[ ] if you are adding analytics related changes, make sure the Telemetry docs are updated

QA
Functionality should be covered by existing tests.
Final manual testing with packaged build in progress.
Docs
PR Description for Changelog:
Error Analytics have been added to help us diagnose errors and improve the stability of Dendron.
Dendron-Site Changes
https://github.com/dendronhq/dendron-site/pull/194. This should also help explain some of the details of the PR.

lgtm, minor comment about getting release version.

can you update the [[Telemetry|dendron.ref.telemetry]] docs?

is there a reason this is still a draft?

for future changes like this, can you break this apart into multiple iterations?

make sure the thing works (eg. sentry error reporting, we can catch for one error)
add exception handling everywhere

rebase from master to resolve conflicts

Thanks for reviewing!

Updated the PR (https://github.com/dendronhq/dendron-site/pull/194) to include additional changes to the main telemetry page.
I had to do some additional testing on the .vsix first.  Moving out of draft mode now
Sounds good - iterate!
Done


Custom README file for bwsw/cloudstack-ui at dockerhub

Right now it displays README.md content from GitHub, so some things are missing like images, etc. We need to have separate README which is only about Documentation section.

Impossible to implement.


Marketplace OS Image - BYOS - cannot be used

Hello Guys,
I'm raising an issue regarding the marketplaceOSImage.
So I don't pay double for the RHEL subscriptions, I'm trying to use the marketplace image that is BYOS.
I entered the appropriate values for 'publisher', 'offer', 'sku', 'version' of the marketplace offer. (they got updated, we can now chose between rhel-raw75, rhel-lvm74 and rhel-lvm75).
The issue I have is that this template is private. I tried to accept the marketplace terms, but it's not working :) !
b'{"error":{"code":"MarketplacePurchaseEligibilityFailed","message":"Marketplace purchase eligibilty check returned errors. See inner errors for details. ","details":[{"code":"BadRequest","message":"Offer with PublisherId: redhat, OfferId: rhel-byos cannot be purchased due to validation errors. See details for more information.[{\"Legal terms have not been accepted for this item on this subscription. To accept legal terms using PowerShell, please use Get-AzureRmMarketplaceTerms and Set-AzureRmMarketplaceTerms API(https://go.microsoft.com/fwlink/?linkid=862451) or deploy via the Azure portal to accept the terms\":\"StoreApi\"},{\"Offer with PublisherId: redhat, OfferId: rhel-byos, PlanId: rhel-raw75 is private and can not be purchased by subscritpionId: *******************************\":\"StoreApi\"}]"}]}}'
msrest.exceptions : Marketplace purchase eligibilty check returned errors. See inner errors for details.
If you have an idea, that would be wonderful!!
Thank you so much,
Best regards,
William

William (@Zuldajri),
Please use http://aka.ms/rhel-byos-preview - this is an entry point for Red Hat Cloud Access program for the RHEL BYOS images you currently see in the gallery.

Thanks for the feedbacks guys.
Nice to know there is a process to use your Red Hat subscriptions (with Cloud Access) or through the Red Hat CCSP.
Any idea when it would go GA?
Thank you so much,
William


ERROR: self signed certificate in certificate chain

Description
Our LARGE company uses self signed certificates in order to access a lot of external resources.  There needs to be a way to bypass certificate checking or a better way of implementing their use.

Steps to reproduce the issue:

NODE_TLS_REJECT_UNAUTHORIZED='0' docker scan  (NOTE: run behind firewall requiring use of locally signed certs to get out.)

Describe the results you received:
self signed certificate in certificate chain
Describe the results you expected:
Actual scan results.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client: Docker Engine - Community
 Version:           20.10.7
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        f0df350
 Built:             Wed Jun  2 11:56:40 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:54:48 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.8
  GitCommit:        7eba5930496d9bbe375fdf71603e610ad737d2b2
 runc:
  Version:          1.0.0
  GitCommit:        v1.0.0-0-g84113ee
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Output of docker scan --version:
Version:    v0.8.0
Git commit: 35651ca
Provider:   Snyk (1.563.0 (standalone))

Output of docker info:
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 11
  Running: 4
  Paused: 0
  Stopped: 7
 Images: 80
 Server Version: 20.10.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7eba5930496d9bbe375fdf71603e610ad737d2b2
 runc version: v1.0.0-0-g84113ee
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.15.0-154-generic
 Operating System: Ubuntu 18.04.5 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.39GiB
 Name: mdias-dev15
 ID: B6TX:ACF7:4TZ3:SJZB:5SWY:A4HX:VKZU:IIUC:R2KP:SZL5:X3ZV:XEXG
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: sparker0
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No swap limit support

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on VMWare virtual machines, Ubuntu 20

I believe we're seeing something similar. I am running this on my Windows 10 laptop, connected to my corporate VPN using Zscaler. The ZScaler replaces/does something with the CA certs which frequently causes issues accessing external resources, especially on Linux and Docker.
I get the same result when off the VPN as well.
~> docker scan 9339a7d50702
unable to get local issuer certificate

debug info:
~>  docker scan --version
Version:    v0.11.0
Git commit: c8da19f
Provider:   Snyk (1.563.0 (standalone))

~> docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.7.1)
  compose: Docker Compose (Docker Inc., v2.2.1)
  scan: Docker Scan (Docker Inc., v0.11.0)

Server:
 Containers: 37
  Running: 32
  Paused: 0
  Stopped: 5
 Images: 13
 Server Version: 20.10.11
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: <IP_ADDRESS>-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 12.31GiB
 Name: docker-desktop
 ID: PVZM:2BMX:Z6RR:YO4R:USQ5:D6VO:62JZ:2O6C:IOT6:54LG:WPBV:DCMW
 Docker Root Dir: /var/lib/docker
 Debug Mode: true
  File Descriptors: 154
  Goroutines: 133
  System Time: 2021-12-16T19:01:53.0912448Z
  EventsListeners: 3
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

Same problem. Also behind ZScaler that replaces the root-cert with a custom company cert

Same problem. Also behind ZScaler that replaces the root-cert with a custom company cert

I can confirm this. The necessary custom certificates are imported. Other applications do not have this issue.

Any workaround available yet?

Same problem. Our images have our corporate CA Root certs inserted to their CA Trust Stores (for RHEL it is copy the certs to /etc/pki/ca-trust/source/anchors/ and run update-ca-trust). Not sure why the error says the certs are self-signed. Is there a workaround or a fix for it?

I have same issue.. after Disabling all the vpn, works  for me.

I have the same issue. Disabling VPN does not help because traffic still goes through corporate proxy.

This is a pretty basic thing... how come its not fixed?


Modified .gitignore to ignore virtualenv dir

I use 'env' as my virtualenv directory so I added it to the .gitignore.

I put my virtualenv one directory up so it is not within git source directories. For example
 ~ $ mkdir s2l-new-feature
 ~ $ cd s2l-new-feature/
 ~/s2l-new-feature $ virtualenv -p /usr/bin/python2.7 --no-site-packages clean-python27-env
 ~/s2l-new-feature $ source clean-python27-env/bin/activate
 (clean-python27-env) ~/s2l-new-feature $ git clone git@github.com:rtomac/robotframework-selenium2library.git rf-s2l

Ah, that's a good point.
Regardless I just found this link about having a global git ignore file. I'll use that instead.


Investigate RC module

 Issue by JSpringett
Wednesday Nov 23, 2016 at 14:21 GMT
Originally opened as https://github.com/abersailbot/kitty-hardware/issues/8

 Comment by JSpringett
Wednesday Nov 23, 2016 at 15:22 GMT

Does it still work? How should it be wired up, document!

 Comment by jackwebb6
Wednesday Nov 23, 2016 at 16:01 GMT

User manual attached:
FCCID.io-1160743.pdf
Needs trimming down/relevant info retrieving.

 Comment by Danyc0
Wednesday Nov 23, 2016 at 20:50 GMT

I wouldn't use this module, it's super flukey!

 Comment by Danyc0
Thursday Nov 24, 2016 at 01:41 GMT

Dewi-Hardware issue abersailbot/dewi-hardware#64 talks about getting an RF receiver with an external antennae connection, which would be a cool idea

 Comment by Danyc0
Thursday Nov 24, 2016 at 00:29 GMT

The one currently used in Dewi was much more reliable and cheaper too (although alternatives could be looked at for both boats)


Does not open left-aligned on first load

ISSUE
When opening Atom with project-viewer set to display on the left, it odes not always open on the left. It mostly opens up on the right side of the documents tree.
Environment

OS: ...; Mac OSX El Capitan 10.11.5
Atom: ...; 1.8.0

Steps
Open Atom and notice the project-viewer is to the right of the documents tree.
Close but don't quit
Re-open from the Dock and it now displays on the left as expected.
If you 'quit' Atom completely, then re-open. The issue appears again.

For clarification: it's always displaying on the left side of the editor, but when you open Atom it sometimes appears in between the tree view and the editor and sometimes on the left side of the tree view?
Probably a package load order thing. As far as I know, Atom has no real package priority system, so it just loads whatever. If this package and the tree view are both saying, "add me to the left side" on load, then Atom adds them in the order it receives the instruction.

Your clarification is correct yeah. On Windows I didn't notice this, only on the OS X version so far. I just tried another 10 times and it's hit-and-miss on OS X.
It more than likely is an internal load order thing as you say, first come first served.

The solution might be to hold off on actually displaying the sidebar until the onDidLoadInitialPackages event fires, which would effectively force the Project Viewer sidebar completely to one side.

hi @ShiroiKuma and @DamnedScholar,
sorry for the delay response. Indeed it is a question of ordering because adding it depends on a parameter called priority or something like that, which i think I don't set because it's automatically set to the last and in this case it's running earlier than it should.
@DamnedScholar onDidLoadInitialPackages seems to be the correct way to do it.
Any one of you care to contribute? Or I can do it, it has become a lot of lines xD


Rename repository to Encompass

@ericboucher looks like you might need to change some Circle CI settings in order to merge this.


SQL-Migration: improve SQL DB table selection ux to include missing tables

This PR:

improves the SQL DB table selection user experience by adding a refresh button, error handling and missing target tables list.
adds error handling around loading from previously saved migration states.

New table view loading:

tables loaded w/missing targets

missing tables tab

load table list error:

lots of missing target tables

missing source tables

source and target schema match:

love the new design! just a thought -
if we already have this label above the table selection table:

do you think we could do something similar on the other tab (missing tables), but containing instructions for how to fix such tables missing? Right now I like that we show the missing tables but it's not very clear what the user needs to do to resolve that, e.g. maybe right here, add instructions on how to perform schema migration?

I have some text you might be able to reuse if you're interested in this idea: https://github.com/microsoft/azuredatastudio/pull/22592

Thanks for adding the screenshots! Does the tab show if there no tables on target missing?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.004%) to 41.685%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/dialog/configurePython/configurePathPage.ts
1
57.02%

extensions/sql-bindings/src/common/azureFunctionsUtils.ts
1
80.65%

Totals

Change from base Build<PHONE_NUMBER>:
-0.004%

Covered Lines:
30346

Relevant Lines:
67400

💛  - Coveralls

Love it! This will help a lot. Thinking as a user here, how hard would it be to have a button to then deploy that short list of tables to a target?


fix: usage of user-data-dir command line parameter

The --user-data-dir command-line parameter allows to set a user-data-dir. However, its functionality is hampered due to an automatically appended /data directory, rendering the parameter completely ineffective.
The proposed minor modification allows users to accurately customize this parameter, enhancing its utility.
This PR is related to:

https://github.com/gitpod-io/openvscode-server/issues/512
https://github.com/gitpod-io/openvscode-server/pull/511

closed in favor of #182714


[Platform.is*] Using of Platform.isAndroid or Platform.isIOS should either be deprecated or documentation should be clear

We all know that using Platform.isAndroid and Platform.isIOS crashes on web because these constants lie inside dart:io which is not supported for web and many times no one really checks which file was imported due to the usage of something.
But, many less experienced developers keep on using these for multi-platform apps because they are habitual to use it. We already have an alternative i.e. to lay down the if-else such that it checks for web first. Or, we can also use defaultTargetPlatform == TargetPlatform.android as this works on all platforms.
I propose either of the following:

Deprecate Platform.is* so that we don't make silly mistakes
Properly mention in the documentation that this should not be used in projects with web implementations.

This will really help developers to not make silly mistakes of using Platform.is* in multi-platform projects.
Note: Opened similar issue in dart-lang repo too.

Please don't post duplicates of Dart-level issues on the Flutter repository.
Closing as there is no Flutter-level change being requested here.


[Issue-2323] Re-check case show incorrect balance on All accounts mode when switch account or import account

Related issue:

#2323

🚀 Deployed on https://pr-2346--sw-web-runner.netlify.app


Fix max length to byte for text field

It has the limit at lexicons and related.
Further more, there is another issue in Japanese not LENGTH but BYTE.
The LENGTH and BYTE is same in Alphabet, but UTF8 char is not same.
See samples.

https://qiita.com/kazuhideoki/items/17ed342026c0da2bed4c
https://stackoverflow.com/questions/69030950/flutter-position-counter-for-textformfield
https://stackoverflow.com/questions/54844119/how-to-get-bytes-of-a-string-in-dart

According to above link,
In the short term, truncate profile display names and subscriptions to avoid the hard breakage.

It should be short for display names and subscriptions.


Update Destruyendo_el_Sistema_Solar.ipynb

Update url and credits

Hi @rnikutta and @jacquesalice ,
Could you please review this PR?
Thanks

Merged, thank you @marcodatadev


Update README.md

Adds the saveResponse option with the default value to the example

Hey there! Since this functionality is important for us we've started maintaining this package over at https://github.com/auteon/puppeteer-har. The API has changed slightly and the whole thing is written in TypeScript now.


[5.8] Add TestResponse::dumpValidationErrors()

When writing tests for validation, and especially for complex validation logic, it's useful to see what errors we are getting.
This PR add the dumpValidationErrors() method to the TestResponse class to allow dumping the validation errors supporting both session and json errors.

I think you can macro this into the TestResponse

Already has a macro, just wanted to share :D

The assertSessionHasNoErrors() assertion (when testing normal responses) and the assertJsonMissingValidationErrors() assertion (when testing json responses) also output a nicely formatted list of validation errors when they fail.

@SjorsO you are right but i use my dumpValidationErrors macro when i'm actually writing tests.
I have a lot of complicated validations in my applications, and a lot of the times i need to see the actual errors while writing the tests. That is why i have it and use it, but of course once i'm done writing the tests the assertion methods will handle the job.


Allow dependencies to be declared elsewhere

Currently, you're only allowed to declare the dependencies in a "depends on " message in the top-level issue. There have been some discussion that this is not enough, and we should be able to declare this elsewhere as well.
Some of the ideas:

Have a depviz.json file in the repository
Allow anyone to comment to an issue with "depends on"
Allow just certain people to comment on a issue with "depends on"

On Mon, Nov 28, 2016 at 12:13:10PM -0800, ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ wrote:

Have a depviz.json file in the repository

I'd rather not, since the issue cloud is fairly independent from the
repository it's tracking.

Allow anyone to comment to an issue with "depends on"
Allow just certain people to comment on a issue with "depends on"

These sound fine to me, and I'd recommend enabling/disabling them with
a config UI.  We've also talked about that sort of configurable
behavior in #13 and #17.

I'd rather not, since the issue cloud is fairly independent from the
repository it's tracking.

yeah agreed.
we may end up with a depviz.json for other options (like repo-wide settings that SHOULD be set in a repo, and not set in the user's own UI.

These sound fine to me, and I'd recommend enabling/disabling them with
a config UI

Yep, agree with this.


Classification export CSV - process drawing subtasks similar to if individual task

In the classification export CSV individual task annotations appear as follows (note *labels):

question task: {"task":"T2","task_label":"Individual question task","value":"Answer2"}
text task: {"task":"T3","value":"testing individual text task 2","task_label":"Individual text task"}
dropdown task: {"task":"T0","value":[{"select_label":"Individual Dropdown","option":true,"value":"c6f1890c69ab9","label":"feline"}]}

A drawing task with sub-tasks annotation is:
{
	"task": "T1",
	"task_label": "Explain what to draw.",
	"value": [{
		"x": 214.140625,
		"y":<PHONE_NUMBER>5,
		"tool": 0,
		"frame": 0,
		"details": [{
			"value": 1
		}, {
			"value": "testing sub-task text 2"
		}, {
			"value": [{
				"value": "0806ccfc6feae",
				"option": true
			}]
		}],
		"tool_label": "Tool With Sub-tasks"
	}]
}

Highlighting the drawing sub-tasks (details property):

question sub-task: {"value":1}
text sub-task: {"value":"testing sub-task text 2"}
dropdown sub-task: {"value":[{"value":"0806ccfc6feae","option":true}]}

Could we run the drawing sub-task annotations (details) through the same processing they would get if they were individual task annotations?

relevant Panoptes code
examples are from this staging project/workflow

Can I get a recent summary of the subtask export in the classifications.csv? I have a drawing task that labels a bounding box by species, and then a subtask to assign a behavior to that box. In the export the annotations row looks like
[{"task":"T0","task_label":"Species","value":[{"x":803.00439453125,"y":506.8141174316406,"tool":5,"frame":0,"width":7.96014404296875,"height":15.994110107421875,"details":[{"value":[5]}],"tool_label":"White Ibis"},{"x":495.5355224609375,"y":221.092529296875,"tool":5,"frame":0,"width":8.74884033203125,"height":16.839523315429688,"details":[{"value":[5]}],"tool_label":"White Ibis"}]}]

I see a slightly mysterious "details" value json that i'm guess is what was mentioned above. Is this the subtask selection? I can hard-code the order, its the same for every bounding box.

Can I get a recent summary of the subtask export in the classifications.csv?

I see a slightly mysterious "details" value json that i'm guess is what was mentioned above. Is this the subtask selection?

Subtasks annotations are currently passed via details field in annotations where question subtasks (as used in above example) yield the index of the selected answer(s).
Note that this export style will change significantly as a result of the new [Front End Monorepo]{https://github.com/zooniverse/front-end-monorepo} effort.  For information about the annotation JSON structure for subtasks in rebuild, please see FEM ADR 25 and https://github.com/zooniverse/front-end-monorepo/issues/1315


Type concat

Is it actually useful to concat type lists? ... maybe yes if the group lists are big enough and the composition makes sense... if anything it could expose some more useful api opportunities. I'm at the c++ learning stage where complicated magical type folding logic clearly belongs in an api.

Coverage remained the same at 100.0% when pulling 9fbe2ea4ed2f1ad998338210ee32ba523a35843f on pgruenbacher:type_concat into 1adbef7352502ee7f0c3cc6af16b95b428a4ab97 on skypjack:master.

I'm against this naive implementation because it's horribly slowing compile time , for fast type list look at @doom implementation https://github.com/doom/meta/tree/master/include/meta/sequence/details

well I mean it would only slow compile time where you specifically use it right? I imagine only using it in specific implementation files when I wanted to make big type lists to the api (for like component cloning) I get why the flatten_helper in doom/meta would be better, but it's so gross looking ha.

by gross I just mean I'm just making fun of explicitly typing out all the possible combinations of template arguments, I'm not deriding doom who's code has helped me before...
it'd be cool if the type_cat could do variadic concatenating too actually...

Ok, this is the last PR to work on yet.
If I got it, you are suggesting something like std::tuple_cat to concatenate type lists, right?
What seems odd to me is the test for uniqueness. I see it fits your case, but I would rather offer it as a separate tool (eg to verify that a type list contains only unique types).

What about something along this line instead?
template<typename, typename>
struct type_list_concat;

template<typename... Type, typename... Other>
struct type_list_concat<type_list<Type...>, type_list<Other...>> {
    using type = type_list<Type..., Other...>;
};

template<typename Type, typename Other>
using type_list_concat_t = typename type_list_concat<Type, Other>::type;

Consider that we don't really need a function as it happens for std::tuple_cat because type_list doesn't contain actual values.

so the usage would be something like
using a = entt::type_list<A,B,C>;
using b = entt::type_list<D,E>;
const auto c = type_list_concat<a, b>

?
The main use case would be something like registry.clone but with 10+ components

@pgruenbacher Not quite.
using a = entt::type_list<A,B,C>;
using b = entt::type_list<D,E>;
using c = entt::type_list_concat_t<a, b>;

@pgruenbacher @Kerndog73 just a proposal, I'm open to suggestions. :+1:

@skypjack Somehow I feel like I've seen this before. Is it possible that type_list_concat was implemented and then deleted? Am I going mad?

@skypjack https://github.com/skypjack/entt/commit/70608df843b4c6f22893b484cc85cec0e3010b25#diff-df21289e1c62dc571a4e7d43d53c505e
I knew I'd seen it before!

@Kerndog73 good point, I completely forgot about it!! :smile:
Actually, type_list_cat sounds better than concat.

template<typename... Type, typename... Other, typename... List>
constexpr auto type_list_cat(type_list<Type...>, type_list<Other...>, List...) {
    return type_list_cat(type_list<Type..., Other...>{}, List{}...);
}

ah yes this is what i was wanting, just a variadic concatenater for type lists. Doesn't need to be used anywhere in the lib.... i just want it in entt closeby typelist as a reference

saw the commit, cool, I'll test master this weekend.


chore(cis): add CIS output class

Description
CIS specific compliance output should have an isolated class
get_check_compliance_frameworks_in_input -> Should return a dict["check_id": "compliance"]
This way, inside the method transform from each provider cis class, should change from for requirement in compliance.Requirements: to for requirement in compliance["check_id"]
License
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing since we are doing another approach.


Command names are not readable unless column is expanded

Describe your issue
When opening the command editor tab in settings, commands can be fully hidden if their text length is longer than the column's size. This requires the user to expand the column after the application is started to view the contents of a command. The column size is remembered during the lifetime of the application but resets when closed.
Screenshots

OS and Chatterino Version
Arch Linux, linux-zen 5.12.7
Chatterino 2.3.2 (commit 3fddafb8)

I see two potential fixes here:

Save the size of the command column so it can be persisted across restarts
Show as much of the command as possible minus 3 chars, adding the ellipses at the end

Even if the command is a single character over the column width the whole command is hidden - that's not a good behaviour.

can replicate windows 10
I've just gotten used to it but any change for the better is 👍 from me

I see two potential fixes here:
1. Save the size of the command column so it can be persisted across restarts

2. Show as much of the command as possible minus 3 chars, adding the ellipses at the end

Even if the command is a single character over the column width the whole command is hidden - that's not a good behaviour.

I don't like 1., but could see 2. as a potential easy fix :+1:

A few insights from looking into this:

This isn't only applicable to the commands page, but rather to anything that uses EditableModelView and has the potential of text overflowing to show an ellipsis. So far I reproduced it in Commands, Highlights, Ignores, and Filters.
Interestingly enough, the problem isn't that the "Show as much of the text as possible minus 3 chars" behavior isn't handled (it's handled by Qt and controlled by TextElideMode), but rather its behavior when the /chatacter is present in the text. I think Qt treats it as a URL or something which causes it to collapse all the text after /.

Not sure how this can be changed (and if it's worth it) without some hacky solution that overrides Qt's behavior.
Dank example:


RHIROS-421 - added new state 'Under pressure' for system

Background
Added new state for system: Under pressure
Card: https://issues.redhat.com/browse/RHIROS-421
Note:
We can review and merge this PR as it won't break anything and I have checked that we are using same state name as backend

Thank you @PreetiW!


Create a macro for IMPLIES(x != NULL, foo_is_valid(x))

Has this been added with the linked pr that has been merged?


Support SPDX 2.3

SPDX 2.3 is about to be released; we should support it ASAP.

Fields currently missing in tools-python:

[ ] files not belonging to a package

in packages:

[ ] primary package purpose
[ ] release date
[ ] built date
[ ] valid until date

in snippets:

[ ] byte range (mandatory)
[ ] line range
[ ] annotations (probably a parsing issue with (at least) xml)

Fields that are mandatory in tools-python, but should be optional:

[ ] packages
[ ] files in packages
[ ] package concluded license
[ ] package declared license
[ ] package copyright text
[ ] license information from files
[ ] package verification code
[ ] file concluded license
[ ] license information in file
[ ] file copyright text
[ ] snippet concluded license
[ ] snippet copyright text

These lists are probably not exhaustive. During my experimentation I found lots of issues with the xml parser/writer not detecting fields. These will probably be addressed during the major refactoring.

Issues with the xml parser:
The following fields are now using different tags/values:
in snippets:

[ ] fileId is now snippetFromFile
[ ] licenseInfoFromSnippet is now licenseInfoInSnippets

in files:

[ ] file type values are now of the format SOURCE, not fileType_source

During conversion from xml to xml the following fields get lost (whether they are not parsed or not written remains to be determined):
in packages:

[ ] other checksums than SHA1
[ ] comment
[ ] originator

in files:

[ ] attribution texts
[ ] other checksums than SHA1
[ ] in fileContributors: file contributor is converted to ['file contributor']

known shortcomings that we might want to fix later:

rdf parser, builder and writer
unpackaged files
attributionText should be a list

The new refactored version now found on main features complete v2.3 support. Please report any problems you may still find with it!


bug: change author key value

Description
In package.json, author key's value should be object, it changed to string value.
Change it to as per author value of issue #36 .

Invalid reference @PritamIT2023

Closing as done.


Convert Panel Container to JavaScript

This PR converts PanelContainer, PanelContainerElement, and their related tests to JavaScript.

Broken into three commits for review purposes. Feel free to squash them when merging

:heart:


Issue when legacy recurring event is unregistered once the process completes

If a recurring event is registered in a process, and that process instance completes, the event wait is removed from EVENT_WAIT_INSTANCE table, but remains in EVENT_INSTANCE, preventing the event from being published (pre-arrived) prior to any future activities being able to register for it again.
Here's the scenario:

Parent process invokes sub-process, which registers for RECURRING event.
Prior to event being published, sub-process completes, which unregisters the event wait from EVENT_WAIT_INSTANCE table.
Parent process resumes execution, then the event arrives, but it cannot properly register the arrival due to event being present and in waiting status in EVENT_INSTANCE table, so event gets removed from EVENT_INSTANCE table and assumes there is a single waiting activity (which there isn't since it got removed from EVENT_WAIT_INSTANCE when sub-process completed).
Later on, parent process registers to wait for recurring event, and is unaware that event already arrived.

Resolved, and also already fixed in MDW 5.5 for next build there


Focus ring cut off in compose menu

The keyboard focus ring around "Press Enter to send" options is cut off on the sides. It would be good to fix this.

CZO thread

@zulipbot claim

@zulipbot claim

@zulipbot claim

@zulipbot unclaim

Sorry for the chaos, @klarabratteby you may need to try to claim again if you want this issue.

@zulipbot claim

Sorry for the chaos, @klarabratteby you may need to try to claim again if you want this issue.

No problem 😊 However, I receive "Sorry, we couldn't find that repository invitation. It is possible that the invitation was revoked or that you are not logged into the invited account.", when I'm trying to accept the invite.
@alya could i get some help on this?

@zulipbot unclaim

@zulipbot claim

@alya Can i give the issue a try to fix it ?

@zulipbot claim

@zulipbot claim

@zulipbot claim

Hii, I would like to work on this issue. As my previous PR is under review

Looks like it's #31978, so I'll go ahead and assign this one to you.

@alya  I have already fixed the Issue in the PR  https://github.com/zulip/zulip/pull/32058 please review it  and provide feedback

@NotVishesh  I have already fixed this issue in PR  https://github.com/zulip/zulip/pull/32058 and I'm current monitoring this issue for feedback please find another issue

@OmarAmeen01 Since you are working on this issue, I am removing my assignment. But if you were working on the issue then why you unassign yourself from the issue

@OmarAmeen01 Since you are working on this issue, I am removing my assignment. But if you were working on the issue then why you unassign yourself from the issue

Because I fixed the issues now only thing that was left is the review so while I was waiting for it I thought it would be better to work on other issues till then

Because I fixed the issues now only thing that was left is the review so while I was waiting for it I thought it would be better to work on other issues till then

This is not how things are done. You do not need to unassign the issue. You can request another issue by informing them of the current status of your PR review in the comment.

@zulipbot claim

claim

@zulipbot claim


Having RequestSizeLimit smaller than MaxRequestBufferSize causes a 502.3 for IIS hosted instead of the original response.

Just created a new project on Visual Studio and did the following:

set the RequestSizeLimit to 10 (yes, 10 bytes) via attribute ,globally or through a middleware, does not matter
Try to read and catch the Request too large exception and try to return a 413 (code is below)
End up with a 502.3 from IIS if the request has more than 1.1~ MB. If it is smaller, then i get my 413 as expected.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace WebApplication1.Controllers
{
    [Route("api/values")]
    public class ValuesController : Controller
    {
        // GET api/values

		// POST api/values
		[HttpPost]
		[RequestSizeLimit(10)]
		public async Task<IActionResult> Post()
		{
			string Ret = "";
			try
			{
				using (StreamReader SR = new StreamReader(Request.Body))
				{
					Ret = SR.ReadToEnd();
				}
			}
			catch (Exception ex)
			{
				return await new ValueTask<ObjectResult>(StatusCode(413, ex.Message));
			}
			return await new ValueTask<ObjectResult>(StatusCode(200, Ret));

		}

		[HttpGet]
		public IEnumerable<string> Get()
		{
			return new string[] { "value1", "value2" };
		}

		// GET api/values/5
		[HttpGet("{id}")]
		public string Get(int id)
		{
			return "value";
		}
	}
}

We'll attempt a repro.

@AndreyPereira were your request sent using Content-Length or chunked?
I was able to reproduce this on 2.1 with a content-length request. A request body of length 147,247b works most of the time, but by the time you get up to 181,532b it fails most of the time. I don't see any indication the issue is related to MaxRequestBufferSize.
The ASP.NET Logs look identical for the success and failure scenarios:
WebApplication5> dbug: Microsoft.AspNetCore.Server.Kestrel[1]
WebApplication5>       Connection id "0HLGV20T9SCH3" started.
WebApplication5> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
WebApplication5>       Request starting HTTP/1.1 POST http://localhost:53607/api/values  181532
WebApplication5> dbug: Microsoft.AspNetCore.Routing.Tree.TreeRouter[1]
WebApplication5>       Request successfully matched the route with name '(null)' and template 'api/Values'.
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.ActionSelector[2]
WebApplication5>       Action 'WebApplication5.Controllers.ValuesController.Get (WebApplication5)' with id '62d0288c-c18a-431c-b61a-6ee5c08042c7' did not match the constraint 'Microsoft.AspNetCore.Mvc.Internal.HttpMethodActionConstraint'
WebApplication5> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Route matched with {action = "Post", controller = "Values"}. Executing action WebApplication5.Controllers.ValuesController.Post (WebApplication5)
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Execution plan of authorization filters (in the following order): Microsoft.AspNetCore.Mvc.Internal.RequestSizeLimitFilter
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Execution plan of resource filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Execution plan of action filters (in the following order): Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter (Order: -2000), Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Execution plan of exception filters (in the following order): None
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Execution plan of result filters (in the following order): Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Internal.RequestSizeLimitFilter[3]
WebApplication5>       The maximum request body size has been set to 10.
WebApplication5> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
WebApplication5>       Executing action method WebApplication5.Controllers.ValuesController.Post (WebApplication5) - Validation state: Valid
WebApplication5> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
WebApplication5>       Executed action method WebApplication5.Controllers.ValuesController.Post (WebApplication5), returned result Microsoft.AspNetCore.Mvc.ObjectResult in 0.538ms.
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector[11]
WebApplication5>       List of registered output formatters, in the following order: Microsoft.AspNetCore.Mvc.Formatters.HttpNoContentOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.StreamOutputFormatter, Microsoft.AspNetCore.Mvc.Formatters.JsonOutputFormatter
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector[4]
WebApplication5>       No information found on request to perform content negotiation.
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector[8]
WebApplication5>       Attempting to select an output formatter without using a content type as no explicit content types were specified for the response.
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector[10]
WebApplication5>       Attempting to select the first formatter in the output formatters list which can write the result.
WebApplication5> dbug: Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector[2]
WebApplication5>       Selected output formatter 'Microsoft.AspNetCore.Mvc.Formatters.StringOutputFormatter' and content type 'text/plain' to write the response.
WebApplication5> info: Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor[1]
WebApplication5>       Executing ObjectResult, writing value of type 'System.String'.
WebApplication5> info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
WebApplication5>       Executed action WebApplication5.Controllers.ValuesController.Post (WebApplication5) in 0.8051ms
WebApplication5> dbug: Microsoft.AspNetCore.Server.Kestrel[9]
WebApplication5>       Connection id "0HLGV20T9SCH3" completed keep alive response.
WebApplication5> info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
WebApplication5>       Request finished in 1.4013ms 413 text/plain; charset=utf-8
WebApplication5> info: Microsoft.AspNetCore.Server.Kestrel[17]
WebApplication5>       Connection id "0HLGV20T9SCH3" bad request data: "Request body too large."
WebApplication5> Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Request body too large.
WebApplication5>    at Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException.Throw(RequestRejectionReason reason)
WebApplication5>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1MessageBody.ForContentLength.OnReadStarting()
WebApplication5>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.TryInit()
WebApplication5>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.ConsumeAsync()
WebApplication5>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
WebApplication5>    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
WebApplication5> dbug: Microsoft.AspNetCore.Server.Kestrel[10]
WebApplication5>       Connection id "0HLGV20T9SCH3" disconnecting.
WebApplication5> dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
WebApplication5>       Connection id "0HLGV20T9SCH3" sending FIN.
WebApplication5> dbug: Microsoft.AspNetCore.Server.Kestrel[2]
WebApplication5>       Connection id "0HLGV20T9SCH3" stopped.

The response gets sent and then kestrel tries to drain the remaining data off the socket. This triggers the same length exception again and kestrel closes the connection.
This implies a race condition between kestrel sending the response and it closing the connection. Either the response does not get fully flushed before the close, or WinHttp/ANCM is not able to read the data off the socket before it sees it close. If I remove IIS from the picture and test Fiddler directly against Kestrel then I get the 413 every time. This implies a race in WinHttp/ANCM. It's possible WinHttp errors out if the connection closes before all of the request data is sent, and the variability is related to how much of the body fits into the outgoing TCP buffers. @pakrym to confirm from the ANCM end.

Possible courses of action:
A) The server is being appropriately defensive when a basic protocol limit is exceeded, closing the connection is more important than giving the client a diagnostic error. No change required.
B) This is overly defensive and redundant with the RequestBodyDrainTimeout. We would like that error to reach the client. Consider disabling size limits while draining and rely solely on the timeout.

I checked with Pavel and he agreed this is a side effect of using the ANCM out-of-proc reverse proxy. WinHttp reports the first error it sees which is the request body upload failure, it never notices the 413 response.
Using Kestrel directly does not have this issue. ANCM in-proc should also not be affected.
Closing this as all components are working as expected.