Using .orderBy in a Firestore query omits documents

Description
I have a recipe manager which relies heavily on the cache to show users their recipes.
I have a case I can reproduce locally (though I'm unsure how to reproduce it in a sample project) where doing a .getDocuments() on a collection returns 113 items, but doing a collection.order(by: "name", descending: false). getDocuments() returns only 34 items.
Every single document contains a name field.
Reproducing the issue
I'm not sure how to provide a reproducible example, but I can describe my setup.
On launch, clients query the cached firestore for the first 15 documents ordered by name. If they reach the bottom of the list I query the next 15 and so on, until there are no documents left.
I also attach a listener to the collection to monitor for remote changes, and items are inserted in the list as needed.
If I query my cache with no filters or sorts applied I see 113 documents, if I sort by name and attach no other modifiers to my query I get only 34 entries.
Firebase SDK Version
10.19.1
Xcode Version
15.2
Installation Method
Swift Package Manager
Firebase Product(s)
Firestore
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved
{
"pins" : [
{
"identity" : "abseil-cpp-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/abseil-cpp-binary.git",
"state" : {
"revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c",
"version" : "1.2022062300.0"
}
},
{
"identity" : "app-check",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/app-check.git",
"state" : {
"revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2",
"version" : "10.18.1"
}
},
{
"identity" : "appauth-ios",
"kind" : "remoteSourceControl",
"location" : "https://github.com/openid/AppAuth-iOS.git",
"state" : {
"revision" : "71cde449f13d453227e687458144bde372d30fc7",
"version" : "1.6.2"
}
},
{
"identity" : "cocoalumberjack",
"kind" : "remoteSourceControl",
"location" : "https://github.com/CocoaLumberjack/CocoaLumberjack.git",
"state" : {
"revision" : "67ec5818a757aba4d7c534e21a905d878d128dbf",
"version" : "3.8.1"
}
},
{
"identity" : "firebase-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/firebase-ios-sdk",
"state" : {
"revision" : "c60c958e707c50a9cf8bcb7cfd7d51c566d726c5",
"version" : "10.19.1"
}
},
{
"identity" : "googleappmeasurement",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleAppMeasurement.git",
"state" : {
"revision" : "6b332152355c372ace9966d8ee76ed191f97025e",
"version" : "10.17.0"
}
},
{
"identity" : "googledatatransport",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleDataTransport.git",
"state" : {
"revision" : "a732a4b47f59e4f725a2ea10f0c77e93a7131117",
"version" : "9.3.0"
}
},
{
"identity" : "googlesignin-ios",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleSignIn-iOS",
"state" : {
"revision" : "7932d33686c1dc4d7df7a919aae47361d1cdfda4",
"version" : "7.0.0"
}
},
{
"identity" : "googleutilities",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GoogleUtilities.git",
"state" : {
"revision" : "bc27fad73504f3d4af235de451f02ee22586ebd3",
"version" : "7.12.1"
}
},
{
"identity" : "grpc-binary",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/grpc-binary.git",
"state" : {
"revision" : "a673bc2937fbe886dd1f99c401b01b6d977a9c98",
"version" : "1.49.1"
}
},
{
"identity" : "gtm-session-fetcher",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/gtm-session-fetcher.git",
"state" : {
"revision" : "115f75e43851774934d695449a4836123c3246e1",
"version" : "3.2.0"
}
},
{
"identity" : "gtmappauth",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GTMAppAuth.git",
"state" : {
"revision" : "cee3c709307912d040bd1e06ca919875a92339c6",
"version" : "2.0.0"
}
},
{
"identity" : "gzipswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/1024jp/GzipSwift",
"state" : {
"revision" : "7a7f17761c76a932662ab77028a4329f67d645a4",
"version" : "5.2.0"
}
},
{
"identity" : "interop-ios-for-google-sdks",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/interop-ios-for-google-sdks.git",
"state" : {
"revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
"version" : "100.0.0"
}
},
{
"identity" : "leveldb",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/leveldb.git",
"state" : {
"revision" : "9d108e9112aa1d65ce508facf804674546116d9c",
"version" : "1.22.3"
}
},
{
"identity" : "nanopb",
"kind" : "remoteSourceControl",
"location" : "https://github.com/firebase/nanopb.git",
"state" : {
"revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692",
"version" : "2.30909.0"
}
},
{
"identity" : "promises",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/promises.git",
"state" : {
"revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e",
"version" : "2.3.1"
}
},
{
"identity" : "purchases-ios",
"kind" : "remoteSourceControl",
"location" : "https://github.com/RevenueCat/purchases-ios",
"state" : {
"revision" : "3e41e9914d1e5a02fa1230a7b711dbaa4525c66a",
"version" : "4.31.6"
}
},
{
"identity" : "swift-log",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-log.git",
"state" : {
"revision" : "532d8b529501fb73a2455b179e0bbb6d49b652ed",
"version" : "1.5.3"
}
},
{
"identity" : "swift-protobuf",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-protobuf.git",
"state" : {
"revision" : "65e8f29b2d63c4e38e736b25c27b83e012159be8",
"version" : "1.25.2"
}
},
{
"identity" : "swiftclient",
"kind" : "remoteSourceControl",
"location" : "https://github.com/TelemetryDeck/SwiftClient",
"state" : {
"revision" : "98500be378267abaa072ed08c2caf7da6493489e",
"version" : "1.5.0"
}
},
{
"identity" : "swiftsoup",
"kind" : "remoteSourceControl",
"location" : "https://github.com/scinfu/SwiftSoup",
"state" : {
"revision" : "8b6cf29eead8841a1fa7822481cb3af4ddaadba6",
"version" : "2.6.1"
}
},
{
"identity" : "zip",
"kind" : "remoteSourceControl",
"location" : "https://github.com/marmelroy/Zip.git",
"state" : {
"revision" : "67fa55813b9e7b3b9acee9c0ae501def28746d76",
"version" : "2.1.2"
}
}
],
"version" : 2
}
If using CocoaPods, the project's Podfile.lock
No response

I was able to fix this by disabling automatic index creation and deleting all indexes. This is obvioulsy not ideal as I lose the benefit of having an offline index. Some of my users store 1000s of documents locally but I always read from the first document alphabetically by it's "name" field.

Hi @WillBishop ,
I am going to investigating this issue. In the mean time, if you can still reproduce this issue on your app, could you please help me confirm

this issue only happens when you add orderBy by name, doesn't happen if you add orderBy by other fields?
when you run the query, can you explicitly add orderBy cache?

Thank you for your help!

I can't confirm this at the moment as I have since disabled and deleted offline indexes
Not sure what you mean here? Here is the function when I was able to reproduce the issue by commenting out the order part

func getAllDocuments(from source: FirestoreSource = .cache) async throws -> [QueryDocumentSnapshot] {
	guard let documentCollection = self.documentCollectionReference() else { return [] }
	let baseQuery = documentCollection
		.order(by: "name", descending: false)
	return try await baseQuery.getDocuments(source: source).documents
}

Can you turn on your debug logs and paste what the SDk was doing when you turn on aut-index and run the query?

Hi @WillBishop ,
I try to investigate the behaviour by tracing the code however it is not obvious where does the problem come from. So a debug log would help to surface where the bug, for example is it from the process of creating target index or using index to find documents.
Also for you app, have you manually config the cache index before?

I hadn't configured the cache index before no, but since launching my app 2 years ago I've had offline cache enabled with no max index.


Mulitple levels

I have a file with this structure:
https://jsoneditoronline.org/#left=cloud.5c3ee044771a4f25ab22407409e0da1b
(number of items in "listlevel1" may vary and reach up to 2000)
How can I make sure that my list loads correctly as I go down?
I have now done that it is loaded by 20 elements, but the whole list at once
`
class _State extends State<ShownSp> {
static const _pageSize = 20;
bool islast = false;
PagingController<int, Abit> _pagingController =
	PagingController(firstPageKey: 0);
List<Abit> abs = List.empty();

@override
void initState() {
	_pagingController.addPageRequestListener((pageKey) {
	_fetchPage(pageKey);
	});
	super.initState();

}

void dispose() {
	_pagingController.dispose();
	super.dispose();
}

Future<void> _fetchPage(int pageKey) async {

try {
  final List<Abit> newItems = List.empty(growable: true);

  if (abs.length != 0) {
    int min = 0;
    if (_pageSize < abs.length - pageKey * _pageSize)
      min = _pageSize;
    else
      min = abs.length - pageKey * _pageSize;

    for (var i = 0; i < min; i++) {

      newItems.add(abs[pageKey * _pageSize + i]);
    }
    islast = true;
  }
  final isLastPage = newItems.length < _pageSize;
  if (isLastPage && islast) {

    _pagingController.appendLastPage(newItems);
  } else {
    final nextPageKey = pageKey + 1;

    _pagingController.appendPage(newItems, nextPageKey);
  }
} catch (error) {
  _pagingController.error = error;
  print(error);
}
}

........

ListView.builder(
                    physics: NeverScrollableScrollPhysics(),
                    shrinkWrap: true,
                    itemCount: mydata.dinlist.length,
                    itemBuilder: (BuildContext context, int index) {
                      abs = mydata.dinlist[index].abit;

                      islast = false;
                      _pagingController = PagingController(firstPageKey: 0);
                      _pagingController.addPageRequestListener((pageKey) {
                        _fetchPage(pageKey);
                      });
                      return Column(
                        children: [
                          Container(
                            color: Color.fromRGBO(216, 249, 170, 1),
                            child: ListTile(
                              title: Text(
                                  mydata.dinlist[index].name + txtkolmest),
                            ),
                          ),
                          PagedListView<int, dynamic>(
                            physics: NeverScrollableScrollPhysics(),
                            shrinkWrap: true,
                            pagingController: _pagingController,
                            builderDelegate:
                                PagedChildBuilderDelegate<dynamic>(
                                    itemBuilder: (BuildContext context1,
                                        item, int index1) {
                              Abit a = item;
                              islast=true;
return (Text(a.fio))

}}}}

`

You should not be using NeverScrollableScrollPhysics nor shrinkWrap for ListViews.
That is essentially just a Column.
Additionally, PagedListView only works correctly when not shrinkWrapped.
T avoid the sizing error use a Expanded around it when inside a Column.

Guys, I was also shrink-wrapping the list and basically the new page event was being fired for all pages consecutively without scrolling. I was doing it to include this list on a Profile section feed of a social network. It has the user info on top then the infinite scroll, like an Instagram feed, where the profile scrolls like it was part of the list.
Apparently normally this would be done with a NestedScrollView in Flutter, but for lists that have their own controller like in this case, NestedScrollView doesn't work properly, the scrolling experience is a bit broken.
So I wanted to know, is it possible to implement this behavior when using infinite scroll pagination in a PagedListView?
Thank you for any help and for library too, very useful.

Sorry, for the record, I was confused between PagingController and ScrollController. This list has its own PagingController, the infinite scroll pagination controller, but not its own ScrollingController, which makes it compatible with the NestedScrollView. In my case the issue was that the infinite scrolling list had to have primary: true and I'd had set it to false while trying other stuff.


Added option to select target class to mutate

Issue #164.

This is currently blocked by #152, because I implemented in this PR helper methods which allow running specific launch configuration. This would be needed to test this feature.

@JKutscha why have you closed this?

@JKutscha why have you closed this?

I need to work on that right now, because of my deadline and so I closed this to avoid complications like the ones happend on #152.


Filter todos by owner

I didn't realize that this along with #7 were completed by the implementations i made in #1. The more issues done the better, I suppose!


[SMALLFIX] Fix s3 encode url with encoded char.

What changes are proposed in this pull request?
When performing URL encoding, it is necessary to decode the URL first to prevent problems caused by repeated encoding when accessing s3a.
Why are the changes needed?
When we use s3a read s3 proxy , if s3 path with char =,  it threw exception with 403.
hdfs dfs -ls -Dfs.s3a.endpoint=http://s3-proxy:39999/api/v1/s3  -Dfs.s3a.path.style.access=true  s3a://xxx/xxx/dt=20230906

Does this PR introduce any user facing changes?
NO

alluxio-bot, check this please


Equipment Master

Create and/or Update the Equipment Master screen per the Functional Spec

As per the conversation on 10/7 to add benefits for insurance tracking we should add the fields below as opposed to further go down the rabbit hole of adding which WO resolve the issue. As multiple WO could be involve as well as other implemented solutions.
WO204000
Failure Mode Tab
IsMitigated bool
MitigationDescription string

As per the conversation on 10/7 should show Created and Scheduled dates from the WO on the Work Order History Tab
WO204000
Work Order History Tab
Display the Created and Scheduled dates from the associated WO's


Adding it to a project with google signin configured breaks google sign in.

I added react-native-voip-call to my project. Merely adding it breaks signIn functionality and app crashes.
https://github.com/react-native-community/google-signin

This is the log that we get when the app crashes
java.lang.runtimeexception failure delivering result to MainActivity attempt to invoke virtual method in java.lang.hashcode on null object reference

it should fix this problem. https://github.com/ajith-ab/react-native-voip-call/pull/8

Thank you, i will try this

@sadaf2605  Fixed in new Version
Thanks & Regards
Ajith A B


Mark appears outside of slider if minimum is not 0

Description
If min > 0, the first mark is rendered outside of slider.
CodeSandbox
Sorry I couldn't get the marks to appear in the sandbox. This is how it looks like if min=1

Hi @sohymg, sorry, without a sandbox that reproduces the issue, we can't figure out what is wrong with your usage.
Please add a codesandbox and we can reopen.

@sohymg Yep, just ran into this issue now.
@stonebk Please re-open this issue. Here is a CodeSandbox link: https://codesandbox.io/s/aged-sea-h7np2?file=/src/App.js

For those who want a fix now here, I solved this by implementing a drop-in replacement component that patches the min/max/value/onChange props to operate as if the min was 0 (which displays correctly).
The idea is, for whatever your min value is treat it as 0 and the max value will compensate. Then whatever value is set apply the reverse of the min value transform to get the intended value.
import { useCallback } from "react";
import BaseReactSlider, {
  ReactSliderProps as BaseReactSliderProps,
} from "react-slider";

interface Props extends BaseReactSliderProps {}

export type { Props as ReactSliderProps };

/**
 * Temporary workaround for https://github.com/zillow/react-slider/issues/214
 * Once fixed, import in slider-extended can be reset to import from the
 * original react-slider library instead.
 */
export const ReactSlider: React.FC<Props> = (props) => {
  const {
    value: rawValue = 0,
    onChange: rawOnChange,
    min: rawMin = 0,
    max: rawMax = 100,
    ...forwardedProps
  } = props;

  const value = rawValue - rawMin;
  const onChange = useCallback(
    (nextValue: number) => {
      rawOnChange && rawOnChange(nextValue + rawMin);
    },
    [rawOnChange]
  );
  const min = 0;
  const max = rawMax - rawMin;

  return (
    <BaseReactSlider
      {...forwardedProps}
      value={value}
      onChange={onChange}
      min={min}
      max={max}
    />
  );
};

export default ReactSlider;

@ptboyer what browser/platform are you using? It looks OK to me:

Hi,
solved this problem by forcing a new size adjustment.
I hope to be helpful
`
// RESIZE HACK
const sliderRef = useRef(null);
useEffect(() => {
if (!sliderRef.current) return;
sliderRef.current.handleResize();
return () => {}
}, [sliderRef]);
<ReactSlider
  {...{
    ref: sliderRef,
  ...

`

problem  is  in renderMarks
marks = Array.from({ length: range }).map((_, key) => key);
This  should be  marks = Array.from({ length: range }).map((_, key) => key  + min);
I had a quick try  to fix it, but  can't  test it  within react-test-renderer, since the slider does not have a size and that's not easy  to add within that lib. Probably need to switch  to enzymn to get some  proper tests of this. Would it be ok to add this?


Jitter period for ManagedSeed

How to categorize this issue?

/area scalability robustness
/kind enhancement
/priority 3
What would you like to be added:
Today, ManagedSeeds are reconciled immediate when there is a generation change: https://github.com/gardener/gardener/blob/38ad556a7dec689b35c3ee6dd3cf59bd64b5c705/pkg/gardenlet/controller/managedseed/managedseed_controller.go#L34-L44
However, operators might want to at least jitter the reconciliation to spread the load that might result out of it (a bit similar to what can be configured for Shoots with the "confine spec updates to maintenance time window" (https://github.com/gardener/gardener/blob/77e09dd522d7bfb682cc35d0be437201b606061b/docs/usage/shoot_maintenance.md#confine-specification-changesupdates-roll-out)).
Can we have a new field in the spec of ManagedSeeds that results in jittering the enqueueing operation to defer reconciliations?
Why is this needed:
If many ManagedResources are updated at the same time (maybe a configuration of the gardenlet is changed) then all of them will be reconciled immediately, resulting in a more or less simultaneous restart of all gardenlets (which might cause heavy load on the garden cluster depending on the scale).

@ary1992 @shafeeqes I have looked into this again and I propose the following:
The gardenlet configuration already allows configuring the syncJitterPeriod: https://github.com/gardener/gardener/blob/179cf336ce5cfaa8dc3b0ef08ea1aba87ee0765c/example/20-componentconfig-gardenlet.yaml#L68-L72
Instead of introducing a new field in the spec of the ManagedSeed (as proposed in the original issue description), let's just add another field jitterUpdates to above managedSeed controller configuration. If set to true then we'd even enqueue with a random duration when managedSeed.Generation != managedSeed.Status.ObservedGeneration (see code snippet in issue description). If managedSeed.DeletionTimestamp != nil, however, we would enqueue immediately.

/assign


While comparing the components using Markup, rect tag is not taking for Comparison

1.Our components are rendering in svg element as well as inside the rect element
2.When we run the test using Blazor Bunit , svg element has been compared and test has been passed
3.But the attributes in rect tag which is inside svg tag is not taking for comparision.
4.Please refer the below image for code syntax, output which is rendered using cut.Markup and dom details
Code Syntax:

Output:

Dom details:

@JaniceSalintha you are expecting the <BlazorBarcode2.BlazorBarcode> but it is not during the test, right?
If so, can you share the content of the component so I can better understand why.
You are not doing anything wrong in the test code you have shared.

Hi Egil,
Thanks for the quick response.
The below is our component code will like below.
[BlazorBarcode.razor]
`
@page "/BlazorBarcode" @using Syncfusion.Blazor.BarcodeGenerator

`
The output or DOM for the above component will be below

Our control has been created as a div element with class of ‘e-control’. Also inside our component we have rendered multiple rect elements inside the svg element.

In this case we need to test whether the rendered rect elements will be same in the existing string (We already used this to compare inside MarkupMatches).
We can able to compare the SVG element properties and its attributes. But we could not able to compare the innerHTML elements of the SVG elements.

`
Cut. MarkupMatches(“     . . . . More rect elements rendered here . . .  ”)
`
3.	Whenever we compare using MarkupMatches API like above code snippets. It gets passed even though the rect element properties and its attributes inside the MarkupMatches is not same as DOM.

Ahh, so if I remember correctly, the SyncFusion component library are actually not rendered in Blazor for the most parts, but by the JavaScript included in the library. That is why you see the content in the <svg> element in the browser, which runs the JavaScript, and not in the a bUnit test, which does not run JavaScript.
That said, I do not believe you are actually adding any value by testing the output from <SfBarcodeGenerator> component, unless you are the SyncFusion developers. If you are somebody using the SyncFusion component library, don't test their components, just like you would not unit test other 3rd party libraries you are using in your applications.
A good way to include 3rd party components like SyncFusion in your tests, but ignore them when using MarkupMatches, is to use the diff modifiers available for the semantic comparer, e.g.:
var cut = RenderComponent<BlazorBarcode>();

cut.MarkupMatches(@"
<svg diff:ignore></svg>
");

Ps. a GitHub tip: Use markdowns code embedding feature to embed code, instead of adding screenshots. See more here: https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown

Hi Egil,
No, We have moved most of our components to full native components instead JS wrapper component. This barcode components also moved to full native component. So 99 % code will be in C#. Some most wanted code only in JS.
In the above component also we have rendered the SVG elements in razor itself.

ok @KameshRajandran. In that case I would need to see what is inside the <SfBarcodeGenerator> to understand why it is not rendering the sub elements inside the <svg> element. It might be because it is rendered asynchronously, and thus you might have to look into WaitForAssertion and WaitForState helper methods. See more here: https://bunit.egilhansen.com/docs/interaction/awaiting-async-state.html

@KameshRajandran if you cannot share <SfBarcodeGenerator>, then please share the most simple example of a component that reproduces the problem, i.e. not rendering the child content inside the <svg> element.

Hi Egil,
Thanks, We have created a simple razor component as like below.

@page "/"

@using Microsoft.JSInterop;

@inject IJSRuntime jsRuntime;

    <svg id="canvas_layer_svg" width="1000px" height="1000px" xmlns="http://www.w3.org/2000/svg">
        @if (@isRender)
        {
            <rect id="node" x="100px" y="100px" width="100px" height="100px" fill="blue" stroke-width="5"></rect>
        }
    </svg>

@code{

    private bool isRender { get; set; }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            isRender = await jsRuntime.InvokeAsync<bool>("render");
            StateHasChanged();
        }
    }
}

Our interop.js look likes below.

window.render = function (nodes) {
    return true;
}

So when we try to get the markup using cut.Marup API it shows only the SVG tag not innerHTML rect elements.

Ahh ok. So there are a few things to be aware of here:

You are calling JSInterop in your code, but since bUnit doesn't have a way to execute javascript, you have to register a IJSRuntime service with the services collection. bUnit comes with a mock of Blazors JSRuntime you can use to do this. Otherwise, the await jsRuntime.InvokeAsync<bool>("render") in OnAfterRenderAsync() will never complete and isRender will never become true.
Since you are awaiting in OnAfterRenderAsync(), the render that happens after StateHasChanged() is running on a different thread than the one the test is running on (due to async), so you can use the cut.WaitForAssertion helper method to wait for the re-render to happen and the expected markup to become visible.

Try this :
// Register the bUnit IJSRuntime mock and configure it to handle
// calls to "render" and return `true`, mocking the response from javascript.
var mockJsRt = Context.Services.AddMockJSRuntime();
var renderInvocation = mockJsRt.Setup<bool>("render");
renderInvocation.SetResult(true);

var cut = Context.RenderComponent<BlazorBarcode2.Pages.Index>();

cut.WaitForAssertion(() => Assert.Contains("rect", cut.Markup));

Let me know if this works.
Ps. are you the developers of the SyncFusion components? If so, I would love to feature you on this page: https://bunit.egilhansen.com/docs/providing-input/configure-3rd-party-libs.html

Hi Egil,
Still, we are facing this issue when using our component.
 [Test]
        public async Task Code39RenderTest()
        {
            var cut = Context.RenderComponent<BlazorBarcode2.BlazorBarcode>();
            cut.WaitForAssertion(() =>  StringAssert.Contains("text", cut.Markup), TimeSpan.FromSeconds(20));
            var renderedMarkup = cut.Markup;
            Console.WriteLine(renderedMarkup);
        }

@Naganathan I cannot help without seeing the component under test.

Hey @JaniceSalintha, @KameshRajandran, @Naganathan,
I think it's great that SyncFusion is adopting bUnit. I will happy to jump on a call with you guys and answer any questions you have. I understand that you might not be able to share your commercial code here.

Hi Egil,
We have created simple sample like our component. Here, we have sent asynchronous calls to interop.js file to get value and rendered the object based on value. Please see the below image, the object is getting the value from interop and working fine while executing the sample.

But, execute the sample through bUnit code the object doesn’t contain value and it’s set as null. Please find the below image which is execute through bUnit code.

Please find out bUnit code snippet to execute the sample (This code used in BlazorBarcodeTest.cs here.).
[Test]
public async Task Code39RenderTest()
{
//var textService = new TaskCompletionSource<bool>();
var cut = Context.RenderComponent<BlazorBarcode2.Pages.Index>();// parameters => parameters.Add(p => p.TextService, textService.Task));
//textService.SetResult(true);
await Task.Delay(500);
cut.WaitForAssertion(() =>  StringAssert.Contains("text", cut.Markup), TimeSpan.FromSeconds(20));
var renderedMarkup = cut.Markup;
Console.WriteLine(renderedMarkup);
}

Also, we have attached the samples here. Please find the below GitHub link for the sample here.
bUnit Sample
Also, we will available for Wednesday to create web meeting to discuss about this issue.
Regards,
Naganathan K G

Hi @Naganathan
I will take a deeper look later today. But the right now, the BarcodeComponentTest() test in your sample is producing the following output:

BlazorBarcode

    This application was built using a trial version of Syncfusion Essential Studio. Please include a valid license to permanently remove this license validation message. You can also obtain a free 30 day evaluation license to temporarily remove this message during the evaluation period. Please refer to this
      help topic
      for more information.

    <svg height="150px" width="200px" style="background:red" >
    </svg>

What "setup" is missing to have the SyncFusion components not render a the licens warning? If you add that to your setup step then that test should pass.
In addition, this is probably a more correct way to write the test class as a whole:
public class BlazorBarcodeImplicitContextTest
{
  private Bunit.TestContext Context { get; set; }

  [SetUp]
  public void Setup()
  {
    Context = new Bunit.TestContext();
    Context.Services.AddSyncfusionBlazor();
  }

  [TearDown]
  public void Teardown() => Context.Dispose();

  [Test]
  public void BarcodeComponentTest()
  {
    // Arrange
    string expectedMarkup = "
BlazorBarcode
<button class='render'>Click Me</button>";

    // Act
    var cut = Context.RenderComponent<BlazorBarcode2.BlazorBarcode>();

    // Assert
    cut.MarkupMatches(expectedMarkup);
  }

  // . . .

}

Hi @egil ,
We thought you could not check the sample and please check the attached sample instead of checking Syncfusion component. We have attached sample with SamplebUnit.razor and Interop.js files here we have handling the asynchronous calls to get the bool value and rendered the object.
The following code snippets we have handled in interop.js file.
window.render = function (nodes) {
    var kk = document.createElement("div");
    document.body.appendChild(kk);

    var ss = kk.getBoundingClientRect();

    return {isRendering:true};
}

And, we have used following code snippet for bUnit testing in BlazorBarcodeTest/BlazorBarcodeTest.cs file.
[Test]
public async Task Code39RenderTest()
{
//var textService = new TaskCompletionSource<bool>();
var cut = Context.RenderComponent<BlazorBarcode2.Pages.Index>();// parameters => parameters.Add(p => p.TextService, textService.Task));
//textService.SetResult(true);
await Task.Delay(500);
cut.WaitForAssertion(() =>  StringAssert.Contains("text", cut.Markup), TimeSpan.FromSeconds(20));
var renderedMarkup = cut.Markup;
Console.WriteLine(renderedMarkup);
}

Actually the reported issue reproduced in this simple sample. So you can ensure and use this sample instead of using Syncfusion component sample.
Regards,
Naganathan K G

Hi @Naganathan
Let me highlight an important point, which I think is the source of the confusion: bUnit does NOT run JavaScript. You component calls IJSRuntime.Invoke. That service and method call has to be mocked or faked to make your test work, just like you would mock or fake a any other service abstraction when writing unit tests, e.g. a database or web service.
Here is how I would write a test for <SamplebUnit>, using NUnit. There are two tests, one where <rect>  is rendered and one where it is not rendered.:
// ... rest of using statements excluded for brevity.
using BlazorBarcode2.Pages;

namespace BlazorBarcodeTest
{
  public class BlazorBarcodeImplicitContextTest
  {
    private Bunit.TestContext Context { get; set; }

    [SetUp]
    public void Setup()
    {
      Context = new Bunit.TestContext();
      // NOT NEEDED IN THESE TESTS
      // Context.Services.AddSyncfusionBlazor();
    }

    [TearDown]
    public void Teardown() => Context.Dispose();

    [Test]
    public void SamplebUnit_Renders_Rect_When_SzObj_isRendering_Is_True()
    {
      // Add the mock js runtime to the test context
      var jsMock = Context.Services.AddMockJsRuntime();
      // Set up a call handler for the "render" call to IJSRuntime
      // from the component under test, specifying what the result of the call
      // should be.
      jsMock.Setup<SamplebUnit.SzObj>("render").SetResult(new SamplebUnit.SzObj() { isRendering = true });

      // Render the component under test
      var cut = Context.RenderComponent<SamplebUnit>();

      // Finds the <rect> element inside the <svg> element
      var rectElm = cut.Find("svg rect");
      Assert.NotNull(rectElm);
    }

    [Test]
    public void SamplebUnit_Does_Not_Renders_Rect_When_SzObj_isRendering_Is_False()
    {
      // Add the mock js runtime to the test context
      var jsMock = Context.Services.AddMockJsRuntime();
      // Set up a call handler for the "render" call to IJSRuntime
      // from the component under test, specifying what the result of the call
      // should be.
      jsMock.Setup<SamplebUnit.SzObj>("render").SetResult(new SamplebUnit.SzObj() { isRendering = false });

      // Render the component under test
      var cut = Context.RenderComponent<SamplebUnit>();

      // Finds the <rect> element inside the <svg> element
      var rectElms = cut.FindAll("svg rect");
      Assert.AreEqual(0, rectElms.Count);
    }
  }
}

And here is the <SamplebUnit> component, which I have modified slightly to make it actually use the SzObj.isRendering property when it is returned from the IJSRuntime:
@using Microsoft.JSInterop;
@inject IJSRuntime jsRuntime;

  <svg id="canvas_layer_svg" width="1000px" height="1000px" xmlns="http://www.w3.org/2000/svg">
    @if (isRender)
    {
      <rect id="node" x="100px" y="100px" width="100px" height="100px" fill="blue" stroke-width="5"></rect>
    }
  </svg>

@code {
  public bool isRender { get; set; }

  [Parameter] public Task<bool> TextService { get; set; }

  public class SzObj
  {
    public bool isRendering { get; set; }
  }
  protected override async Task OnInitializedAsync()
  {
    if (TextService != null)
      isRender = await TextService;
    // No need to call state has changed in this method.
    // The componennt hasnt rendered at this point anyway.
    //StateHasChanged();
  }

  protected override async Task OnAfterRenderAsync(bool firstRender)
  {
    if (firstRender)
    {
      var obj = await jsRuntime.InvokeAsync<SzObj>("render");
      isRender = obj.isRendering;
      StateHasChanged();
    }
  }
}

Does this help?

I'll close this issue for now. Let me know if you need additional help with this.


Refresh ETCD worker list

https://tachyonnexus.atlassian.net/browse/AC-1644

TODO

how to properly garbage collected the created daemon thread

TODO

how to properly garbage collected the created daemon thread

Python does not have proper thread shutdown when instance cleanup.
Known limitation:

ETCD connections are controlled by Python process numbers. Each process will have a new Alluxio instance and one background thread pinging the membership service.
The ETCD background thread is long-running even if the Alluxio instance is cleaned or new Alluxio instance is created. Many redundant ETCD background threads may co-exist and left in the Python process.

@ChunxuTang 我先merge, 你review完我继续改

Per discussion, it's probably better to use async instead of manual threading-based implementation due to the python GIL.


Element variations

Support different variations of elements.
For example

single light border
single heavy border
double border
dashed line
different arrow tips

Requires #37

For Rectangle:
thickness, dashed, dotted, custom character
shadow
label
label alignment
border?
padding?
Opaque toggle
Move up down?


v0.17 build missing dwarf

$ curl -O https://github.com/iovisor/bpftrace/releases/download/v0.17.0/bpftrace -L
$ sudo ./bpftrace --info
System
  OS: Linux 5.14.0-134.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 21 12:57:06 UTC 2022
  Arch: x86_64

Build
  version: v0.17.0
  LLVM: 12.0.0
  unsafe uprobe: no
  bfd: yes
  libdw (DWARF support): no  <-------

seems like adding libdw is a nice addition to the build

Yeah, libdw is an optional dependency at the moment, but I guess that it's fine if we add it.

This seems to have been fixed for v0.18.0:
$ wget https://github.com/iovisor/bpftrace/releases/download/v0.18.0/bpftrace
$ sudo ./bpftrace --info
System
  OS: Linux 6.2.14-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May  1 00:57:50 UTC 2023
  Arch: x86_64

Build
  version: v0.18.0
  LLVM: 12.0.0
  unsafe probe: no
  bfd: yes
  libdw (DWARF support): yes

Anything else needs to be done?


open issues has misleading message when no issues are open

This came up because I was trying to get open issues to take a days argument, which I had been lured into by the return message "No issues found for the last 1 day(s)". I would prefer if you could just pass this function the days parameter, but if we can't or don't want to do that, please change the message so it doesn't confuse people.
Apologies in advance if this is another case of user error, I checked with Tanya before filing.

I don't think "days" make sense for open issues. It should list all the open issues if you do not provide a search term, or those matching the search term. I would guess the "No issues found for the last 1 day(s)" is a relic of its underlying Rug being copied from the underlying Rug for list issues.

Looks the issue is that they both use DisplayGitHubIssues to list the issues. So when the list is empty, you get the original error.

That makes sense to me. So it should probably say "There are no open issues in muskrat-love."

"I found no matching issues in sister-golden-hair." would probably be more generically applicable.

I'm ok with that as a quick fix but if someone wants to make it better, I won't complain.
It sounds like they passed in parameters that didn't match something and they probably won't think of it like that (when they just do open issues, I mean).  I already find it not 100% intuitive the difference between open issues (one repo) and list issues (all repos, open and closed, 1 day by default).  Also, with all the trouble I have typing parameters right, I would find it helpful to know whether Atomist executed my search query or whether I've typed the parameters wrong yet again...

Ok, this whole issue search is getting a re-vamp now. I'll fix this too.


Peer Review - Traceability matrix and dependency between FRs and NFRs

Artifact Under Review
Traceability and numbering of functional and non-functional requirements.
Team Number for Team Doing the Review
Team 27
Description of Issue
Currently, the documentation lacks explicit traceability between functional and non-functional requirements. For example, there's no clear indication of how specific functional requirements satisfy related non-functional requirements (such as safety or performance).
A suggestion would be to create a table or diagram to show traceability between requirements. This could allow users to have a easier understanding of how non-functional requirements are being satisfied by corresponding functional requirements.

@Tan630


Error 500 on sorting by duration time on admin panel

Hi,
I'm using Django_cron and I want to know what are the longest duration time of my tasks. On the admin panel, I want to sort by duration time and when I do, I got a 500 errors as below :
Environment:

Request Method: GET
Request URL: http://localhost:8000/admin/django_cron/cronjoblog/?o=4.-2

Django Version: 1.8
Python Version: 3.5.1
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'django.contrib.gis',
 'django_extensions',
 'django_markwhat',
 'django_markdown',
 'jsonify',
 'leaflet',
 'waliki',
 'waliki.git',
 'waliki.attachments',
 'waliki.togetherjs',
 'corsheaders',
 'mail_templated',
 'notifications',
 'import_export',
 'django_cron',
 'stdimage',
 'ttn',
 'wiki',
 'debug_toolbar')
Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',)

Traceback:
File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.5/site-packages/django/contrib/admin/options.py" in wrapper
  616.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapped_view
  110.                     response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/contrib/admin/sites.py" in inner
  233.             return view(request, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapper
  34.             return bound_func(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapped_view
  110.                     response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/utils/decorators.py" in bound_func
  30.                 return func.__get__(self, type(self))(*args2, **kwargs2)
File "/usr/local/lib/python3.5/site-packages/django/contrib/admin/options.py" in changelist_view
  1655.             selection_note=_('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)},
File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py" in __len__
  144.         self._fetch_all()
File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py" in _fetch_all
  965.             self._result_cache = list(self.iterator())
File "/usr/local/lib/python3.5/site-packages/django/db/models/query.py" in iterator
  238.         results = compiler.execute_sql()
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in execute_sql
  818.             sql, params = self.as_sql()
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in as_sql
  367.             extra_select, order_by, group_by = self.pre_sql_setup()
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in pre_sql_setup
  49.         order_by = self.get_order_by()
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in get_order_by
  276.                     field, self.query.get_meta(), default_order=asc))
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in find_ordering_name
  547.         field, targets, alias, joins, path, opts = self._setup_joins(pieces, opts, alias)
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/compiler.py" in _setup_joins
  580.             pieces, opts, alias)
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py" in setup_joins
  1461.             names, opts, allow_many, fail_on_missing=True)
File "/usr/local/lib/python3.5/site-packages/django/db/models/sql/query.py" in names_to_path
  1386.                                      "Choices are: %s" % (name, ", ".join(available)))

Exception Type: FieldError at /admin/django_cron/cronjoblog/
Exception Value: Cannot resolve keyword 'duration' into field. Choices are: code, end_time, id, is_success, message, ran_at_time, start_time

I'm using Django 1.8
Thank you very much

This is clearly a bug, thank you for bringing it to our attention @dorianamouroux . I think we should fix instead of just removing ability to sort @ihoru. This is useful feature when it works!

I looked a little bit into it, the simplest way would be to create a duration field and store it, otherwise, you can't make it sortable, because the value has to come from the database.
I tried to use queryset.extra() and create the duration value in the SQL query, but depends on the database, the function to calculate the duration is different (DATEDIFF(end_date, start_date) in Mysql, julianday(end_date) - julianday(start_date) in sqlite).
If we create the duration value when we save the model, it wouldn't work for the existing cron log entries, we can create a management command to migrate those.
I can do it and send a PR if you think that's good

@dorianamouroux  I think that's a good idea and could be useful elsewhere. Go ahead with it and I'll review the PR. Thanks!


Build both 32 and 64-bit versions of the vmci server library and install those on the server.

Issue #480 is being fixed and code is ready for that. But the server won't start as the vmci_srv library is 32-bit. With Python 3.5.1 we need libs to be 64-bit. The plugin build must build both 32 and 64-bit libraries and install those on the host.
06/22/16 12:59:42<PHONE_NUMBER> [MainThread] [INFO   ] === Starting vmdkops service ====
06/22/16 12:59:42<PHONE_NUMBER> [MainThread] [WARNING] Failed to load disk library, retrying <----- if 32-bit disklib load fails then we try using the 64-bit library, same needs to be done for vmci_srv.so too.
06/22/16 12:59:42<PHONE_NUMBER> [MainThread] [ERROR  ] /usr/lib/vmware/vmdkops/lib/libvmci_srv.so: wrong ELF class: ELFCLASS32
Traceback (most recent call last):
File "/usr/lib/vmware/vmdkops/bin/vmdk_ops.py", line 846, in main
handleVmciRequests(port)
File "/usr/lib/vmware/vmdkops/bin/vmdk_ops.py", line 747, in handleVmciRequests
lib = CDLL(os.path.join(LIB_LOC, "libvmci_srv.so"), use_errno=True)
File "/dbc/blr-dbc401/tthirumal/cbrc-pr/main-stage/bora/build/esx/obj/vmvisor/sys-boot/lib64/python3.5/ctypes/init.py", line 347, in init
OSError: /usr/lib/vmware/vmdkops/lib/libvmci_srv.so: wrong ELF class: ELFCLASS32

Addressed via #480


test false-exclusivity for max/min numbers

My C++ schema validator was not working correctly when exclusiveMinimum or exclusiveMinimum was set to false. Adding a test for explicit false-testing.

Thanks!


feat(3416039642): Add "Connect Wallet" functionality

Description of the Changes

Adding WalletButton to the header
Adding Styling to Align WalletButton to be with the same font and margin
Adding autoConnect env var
Changing build node version to 16
Adding envs.js file, export REACT_APP envs

Solves #3416039642

Checklist

[ ] Manually tests of the main Application flows are done and passed.
[ ] New unit / functional tests have been added (whenever applicable).
[ ] Docs have been updated (whenever relevant).
[ ] PR title is follow the Conventional Commits convention: <type>[optional scope]: <description>, e.g: fix: prevent racing of requests

:tada: This PR is included in version 0.1.0-dev.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Grouped bar chart does not render if isAnimated is true

If isAnimated is set to true on the grouped bar chart the chart does not render at all.
Expected Behavior
The Grouped bar chart should render with animations.
Current Behavior
The Grouped bar chart axis render but the bars do not
Steps to Reproduce (for bugs)
https://codepen.io/anon/pen/OwYgoL
It looks like the tween function isn't been triggered from within drawVerticalBars : https://github.com/eventbrite/britecharts/blob/master/src/charts/grouped-bar.js#L566
Context
Trying to render the grouped bar chart with animations, can work around without using animations for now but it would be good to have the option :-)
Happy to submit a fix, but I've not been able to identify why it isn't entering the tween as of yet !
Your Environment

Version used: 2.9.2
Browser Name and version: Chrome 68
Operating System and version: Mac OSX High Sierra
Link to your project or codepen: https://codepen.io/anon/pen/OwYgoL

Hi @mikerhyssm, thanks for creating this issue!
This looks like a bug. It is pretty weird though, it seems that the demo Grouped Bar[http://eventbrite.github.io/britecharts/tutorial-grouped-bar.html] works fine, but your example doesn't.
We will look at it!
Thansk!!

I think the issue is on this line: https://github.com/eventbrite/britecharts/blob/master/src/charts/grouped-bar.js#L584
The current version published to npm 2.9.2  has layers[0] as opposed to layers this results in NaN and the tween not happening.
I wonder if this will be fixed if the latest version 2.9.4 is published to npm ?

Hey @mikerhyssm - we just updated NPM token and it seems like the publish version is now updated with new changes. The fix should be there, let me know if it's not.

All sorted, thanks for you quick response 🙌


feat(mini): add new highlight groups

Add explicit support for all new groups since #69 and for the (hopefully) upcoming 'mini.icons'.

Amazing 🙌 Thanks for contributing all those changes to Everforest!

It is one of the best looking and written color schemes out there. How could I not? :)


fix: partner name android not truncated properly

This PR resolves ONYX-1374
Description
After an offline discussion with @dariakoko we decided to address that here and open a thread (link pending) and fix the issue on another PR on palette level.
Reasoning:

our text component has some issues in its implementation and does not respect some prop inheritance
moving the selectable from the text in palette does fix this issue but creates another issue of people not being able to select and copy text in ios and android apps.

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

partner name android not truncated properly

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Android user-facing changes (partner name android not truncated properly - gkartalis)

  Generated by :no_entry_sign: dangerJS against a73a59642f91fe31573c131f43dadbdac9cff400

@anandaroop exactly will follow up with a thread

Thanks George!


Angle bracket regex within chat filter does not remove message

Type
Incorrect behavior
Operating System
Windows
OS Version
No response
Bug description
Example message that needs filtering out:
[15:23] userz5332: <> biggets payouts <>
My filter:
<>(.*?)<>

Message does not get removed by the Chat Filter plugin.
Screenshots or videos

RuneLite version
RuneLiteVersion <IP_ADDRESS>
Launcher. 2.4.2
Logs
client.log

2022-05-15 02:04:23 [RuneLite] INFO  net.runelite.client.RuneLite - RuneLite <IP_ADDRESS> (launcher version 2.4.2) starting up, args: none
2022-05-15 02:04:24 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached vanilla client
2022-05-15 02:04:24 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached patched client
2022-05-15 02:04:25 [Preloader] INFO  net.runelite.client.rs.ClientLoader - client-patch<PHONE_NUMBER>.132
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.plugins.kourendlibrary.Library - Library is now reset
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "117hd" version "1.1.1" commit "d60a9215cf6313388a621fb1b12df04cb6b67e57"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "fight-cave-waves" version "1.2" commit "51790d94159cbb85893de04d90efc5c0c20d819a"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "quest-helper" version "3.0.3" commit "898f035bf088e3288f00264e70546b57f81a23b0"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "guardians-of-the-rift-helper" version "1.01" commit "9f2925a9dde2dcd2fec8f33188dfba58681206ad"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "wikisync" version "2.0" commit "8246ef597be7554010737e8c47559b23d689410f"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "ess-pouch" version "1.4" commit "0affbd89a039aeceded80695568e8f9c36023afb"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "zulrah-helper" version "1.2.1" commit "a10c7242ee25809705985883ad297e89962b9b85"
2022-05-15 02:04:26 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "skills-tab-progress-bars" version "1.2" commit "9ea27934275a809456d7bb6ebd636009787f94f3"
2022-05-15 02:04:27 [RuneLite] INFO  n.r.client.discord.DiscordService - Initializing Discord RPC service.
2022-05-15 02:04:29 [RuneLite] INFO  net.runelite.client.RuneLite - Client initialization took 5592ms. Uptime: 9164ms
2022-05-15 02:04:29 [AWT-EventQueue-0] INFO  net.runelite.client.ui.ClientUI - Showing frame net.runelite.client.ui.ContainableFrame[frame0,-8,-8,1936x1096,layout=java.awt.BorderLayout,title=RuneLite,resizable,maximized,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,8,31,1920x1057,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
2022-05-15 02:04:29 [Client] INFO  rs117.hd.HdPlugin - Using device: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2
2022-05-15 02:04:29 [Client] INFO  rs117.hd.HdPlugin - Using driver: 4.6.0 NVIDIA 512.59
2022-05-15 02:04:29 [Client] INFO  rs117.hd.HdPlugin - Client is 32-bit
2022-05-15 02:04:29 [Client] INFO  rs117.hd.lighting.LightConfig - Loaded 1446 lights

launcher.log

2022-05-15 02:04:20 [main] INFO  net.runelite.launcher.Launcher - RuneLite Launcher version 2.4.2
2022-05-15 02:04:20 [main] INFO  net.runelite.launcher.Launcher - Setting hardware acceleration to DIRECTDRAW
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of client-<IP_ADDRESS>.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of slf4j-api-1.7.25.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of logback-classic-1.2.9.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of logback-core-1.2.9.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jopt-simple-5.0.1.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of guava-23.2-jre.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of guice-4.1.0-no_aop.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of javax.inject-1.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of aopalliance-1.0.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of gson-2.8.5.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of substance-8.0.02.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of trident-1.5.00.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of commons-text-1.2.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of commons-lang3-3.7.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of commons-csv-1.4.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of archive-patcher-applier-1.2.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jna-5.9.0.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jna-platform-5.9.0.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jsr305-3.0.2.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jogl-rl-2.4.0-rc-20220318.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jogl-rl-2.4.0-rc-20220318-natives-windows-i586.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of gluegen-rt-2.4.0-rc-20220318.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of gluegen-rt-2.4.0-rc-20220318-natives-windows-i586.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of jocl-1.0.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of client-patch-<IP_ADDRESS>.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of http-api-1.0.0.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of okhttp-3.14.9.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of okio-1.17.2.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of discord-1.4.jar
2022-05-15 02:04:23 [main] INFO  net.runelite.launcher.Launcher - Verified hash of runelite-api-<IP_ADDRESS>-runtime.jar

The client represents these internally as <lt> and <gt> so it would probably work if you matched those

Thanks, that works.

Duplicate of #9155


cannot load such file -- bootsnap/bootsnap after update, and cannot run any commands

brew config output
Can't run it
brew doctor output
Can't run it

[X] The brew doctor above contains no "Warning" lines.

What were you trying to do (and why)?
Run anything in brew
What happened (include all command output)?
Traceback (most recent call last):
	22: from /usr/local/Homebrew/Library/Homebrew/brew.rb:31:in `<main>'
	21: from /usr/local/Homebrew/Library/Homebrew/brew.rb:31:in `require_relative'
	20: from /usr/local/Homebrew/Library/Homebrew/global.rb:4:in `<top (required)>'
	19: from /usr/local/Homebrew/Library/Homebrew/global.rb:4:in `require_relative'
	18: from /usr/local/Homebrew/Library/Homebrew/load_path.rb:11:in `<top (required)>'
	17: from /usr/local/Homebrew/Library/Homebrew/load_path.rb:11:in `require'
	16: from /usr/local/Homebrew/Library/Homebrew/homebrew_bootsnap.rb:33:in `<top (required)>'
	15: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap.rb:67:in `setup'
	14: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/compile_cache.rb:10:in `setup'
	13: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:53:in `require_relative'
	12: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
	11: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	10: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
	 9: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	 8: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 7: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 6: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/compile_cache/iseq.rb:2:in `<top (required)>'
	 5: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require'
	 4: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	 3: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
	 2: from /usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	 1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- bootsnap/bootsnap (LoadError)

What did you expect to happen?
Not to have bootsnap failure
Step-by-step reproduction instructions (by running brew commands)
I ran brew update, never had this issue before, and I had updated about a week ago.
I have tried reinstalling too. Trying to avoid fully uninstalling and installing again.
brew update is about all that runs, and it says it's already up to date.

I managed to solve this by manually removing /usr/local/Homebrew/Library/Homebrew/vendor/bundle and running the installer again.
It seems like it didn't finish the bundle process last time for some reason, and trying to reinstall (without deleting the vendor/bundle folder) does not run bundle again. Might be worth always running that on reinstall.


Proposal: Reporter support

This describes custom reporter support in rooibos.

Deprecate reporter in favor of reporters. Internally copy reporter value into reporters so it's backwards compatible. reporters will be an array of reporter factory functions (or class name).

bsconfig.json
{
    "rooibos": {
        "reporters": [
           "JUnit",
          "MyNamespace_MyCustomReporter",
           "happyReporter"
        ]
    }
}

The rooibos runtime will now support multiple reporters. Each string name in the reporters list will be the name of a function that is a reporter factory (which also will support class names too since those are technically factories anyway). These reporters are created ONCE, at the start of the entire test run. These reporters much confirm to the following structure: Each method is optional.

onBegin - called at the very start of the testing process.
beforeSuite - called before the first test in each @suite
beforeDescribe - called before the first test in each @describe block
beforeIt - called before each @it() test. If the test is parameterized, will be called once for each parameterized combo. To help better reporting with parameterized tests, will include some form of isParameterized and index so you can report a header at the start of a parameterized @it group.
afterIt - called after each @it. Same rules as beforeIt
afterDescribe - called after the final test in this @describe block finishes
afterSuite - called after the final test in this @suite finishes
onEnd - called when the entire testing process is finished

Here's an example reporter factory:

```brighterscript
function happyReporter()
    return {
        onBegin: function(event)
            print "About to run your first rooibos test!"
         We haven't flushed out the specific interfaces for the callback event structures.

Just so it isn't forgotten, these reporters will need to be supported in node tests as well.
Unless you're thinking of revamping how node tests report their results (as I think they're self-reporting right now), the easiest way I can think of is to have an option to add custom .bs imports for the rooibos-generated nodes.


Browser continues loading when favicon not found

@briangonzalez I think this can be closed.

I still plan on fix it :)

Ah, didn't realize it was still an issue, thought it was a remnant from the first release set of issues.


PHPLIB-1591: Update spec test for split updateWithPipelines.yml

https://jira.mongodb.org/browse/PHPLIB-1591
POC for https://github.com/mongodb/specifications/pull/1727

Closing as this is being brought in by #1532.


project2decorate-pullRequest

About this project
This part of the project is about using the Design Decorate Pattern to correct the names of people.
For it:
I created a featured branch named project-2-Decorate
I created new files like :  nameable.rb, decorator.rb, capitalize_decorator.rb and trimmer_decorator.rb according to the project requirements.
I updated the following files:   student.rb, teacher.rb and person.rb
I implemented a method named correct_name
I passed the linters and tested the code provided by the assessment.
Goal:
The goal is to understand how to create a Decorator Design Pattern and how to implement method named correct_name in some of the files created.

Dear @Shedrack-Sunday,
Very nice to meet youm
This project is a solo activity,
I let you here a screenshot about it

thanks


Changed method names and fixed README

I found this issue when I was working on TICL

Of course I forgot to fix the tests. Now it should pass the CI.


Changing $timestamps to $casts

Deprecated use of $timestamps

Thanks @xewl - I think we must have just made this at the same time! Changes made in #2


Gradle config: changelog { enabled.set(false) } is ignored?

In my Gradle config, I tried to explicitly disable changelog generation (I want to enable features incrementally).
release {
    github {
        changelog {
            enabled.set(false)
        }
    }
}

But when I run the jreleaserConfig task, I'm getting:
changelog:
    enabled: true
    links: false
    sort: DESC
    formatted: never
    hide:
        uncategorized: false
    contributors:

I tried changing some other values and they did get updated - just enabled seemed to get ignored.

Note: This also seems to affect prerelease too:
    prerelease {
        enabled.set(false)
    }

results in:
prerelease:
    enabled: true

I see that ChangelogImpl enables the changelog if any setting is applied to it, including enabled: false.
Have yet to determine why a prerelease is also enabled.

Should had remembered my own rules. Changelog and prerelease as enabled by default when the project is a snapshot (in the case of kobweb 0.9.2-SNAPSHOT that is a match)
https://github.com/jreleaser/jreleaser/blob/afcd47ec94e59d5417e5764a7761e177001a23ac/core/jreleaser-model/src/main/java/org/jreleaser/model/validation/GitServiceValidator.java#L200-L207
https://github.com/jreleaser/jreleaser/blob/afcd47ec94e59d5417e5764a7761e177001a23ac/core/jreleaser-model/src/main/java/org/jreleaser/model/validation/GithubValidator.java#L38-L40
These settings enable rolling releases and as such makes sense to leave them as they are. In your case given that skipRelease is set to true there won't be any publication/update to an existing Git release.


ezy population class and respective tests

more functions to be added

Current coverage is 100.00%

Merging #83 into master will not affect coverage as of 9e12e25

@@            master     #83   diff @@
======================================
  Files           28      28
  Stmts          936     936
  Branches         0       0
  Methods
======================================
  Hit            936     936
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 9e12e25

Powered by Codecov. Updated on successful CI builds.


add Dadata and DadataAsync in init.py

Added Dadata and DadataAsync in __init__.py because pycharm swore at it

Fixed in 24.10.0.


WDC not allowing appending data when union with XLSX

I know that when we union 2 XLSX files, it allows us to append the data to those excel files. But I joined an XLSX file and WDC . Then it's not allowing me to append data to that XLSX file.
Is there any different approach that I can try where I have the option of appending and relation with WDC ??

Unfortunately, this feature is not available for WDCs.

Unfortunately, this feature is not available for WDCs.

Thank you for your reply 👍.  Is there any kind of workaround that I could do @KeshiaRose?

Thank you for your reply 👍.  Is there any kind of workaround that I could do @KeshiaRose?

Hmm, it depends on the data you're working with. Do you have control of the WDC? If so can you add the data you need there? Alternatively, you may want to think about using another tool to bring the data in, perhaps the Hyper API. What kind of data are you working with, and where is it coming from?

Hmm, it depends on the data you're working with. Do you have control of the WDC? If so can you add the data you need there? Alternatively, you may want to think about using another tool to bring the data in, perhaps the Hyper API. What kind of data are you working with, and where is it coming from?

Yes, I have complete control over the WDC. In fact, I built it. It's an API that gets the data from our server. Another one is an excel file which I receive daily. I have refresh data in Tableau online daily.
Do you think hyper API will work for this?

Yes, I have complete control over the WDC. In fact, I built it. It's an API that gets the data from our server. Another one is an excel file which I receive daily. I have refresh data in Tableau online daily.
Do you think hyper API will work for this?

Wonderful! Yes, I think you should try building a data source with the Hyper API, you'll be able to bring in data from multiple different sources into one extract. Take a look at the documentation and these samples to get started!
You could also try and stick with the WDC route and try to find a way to bring the Excel file in there, perhaps uploading it to something like Google Sheets first? Those are the two directions I would try out!

Wonderful! Yes, I think you should try building a data source with the Hyper API, you'll be able to bring in data from multiple different sources into one extract. Take a look at the documentation and these samples to get started!
You could also try and stick with the WDC route and try to find a way to bring the Excel file in there, perhaps uploading it to something like Google Sheets first? Those are the two directions I would try out!


mark the root folder path for logging to be deleted on exit avoiding memory leak

:mag: Description
Issue References 🔗

This pull request fixes #
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[ ] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 0.00%. Comparing base (44fcf28) to head (2f41320).

Files
Patch %
Lines

...ala/org/apache/kyuubi/session/SessionManager.scala
0.00%
1 Missing :warning:

Additional details and impacted files
@@          Coverage Diff           @@
##           master   #6589   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         677     677
  Lines       41811   41811
  Branches     5712    5712
======================================
  Misses      41811   41811

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[flags] - --args with equal seems to not be supported properly

TL;DR
--args flags for args requiring equals seems to not be properly supported leading to the addition of extra single quotes.
Expected behavior
Should end-up generating a YAML file like:
args:
        - "--database-host=xxx.xxx.xxx.xx"
        - "--database-name=bar"
        - baz

Observed behavior
For instance:
flags: '--args "--database-host=xxx.xxx.xxx.xx" --args "--database-name=bar" --args baz

Will end-up generating a YAML file like:
args:
        - '"--database-host=xxx.xxx.xxx.xx"'
        - '"--database-name=bar"'
        - baz

Reproduction
Action YAML

name: Deployment

on:
  push:
    branches: [main]

env:
  PROJECT_ID: ${{ secrets.GCP_PROJECT }}
  REGION: europe-west4
  IMAGE_NAME: backend
  VERSION: staging
  BUILD_CACHE: /tmp/.buildx-cache

jobs:
  deploy-backend:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Cache Docker layers
        uses: actions/cache@v2
        with:
          path: ${{ env.BUILD_CACHE }}
          key: ${{ runner.os }}-buildx-${{ hashFiles('./build/Dockerfile') }}
          restore-keys: ${{ runner.os }}-buildx-

      - uses<EMAIL_ADDRESS>        with:
          go-version: "1.16.2"
      - run: make test
      - run: make vet

      - name: Setup Cloud SDK
        uses<EMAIL_ADDRESS>        with:
          project_id: ${{ env.PROJECT_ID }}
          service_account_key: ${{ secrets.GCP_CLOUD_RUN_SA_KEY }}
          export_default_credentials: true

      - name: Login to GCR
        uses: docker/login-action@v1
        with:
          registry: gcr.io
          username: _json_key
          password: ${{ secrets.GCP_CLOUD_RUN_SA_KEY }}

      - name: Build and Push Docker image | build-image
        uses: docker/build-push-action@v2
        with:
          file: ./build/Dockerfile
          context: .
          target: build-image
          tags: gcr.io/${{ env.PROJECT_ID }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}
          cache-from: type=local,src=${{ env.BUILD_CACHE }}
          cache-to: type=local,dest=${{ env.BUILD_CACHE }}-new

      - name: Build and Push Docker image | deploy-image
        uses: docker/build-push-action@v2
        with:
          file: ./build/Dockerfile
          context: .
          target: deploy-image
          push: true
          tags: gcr.io/${{ env.PROJECT_ID }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}
          cache-from: type=local,src=${{ env.BUILD_CACHE }}
          cache-to: type=local,dest=${{ env.BUILD_CACHE }}-new

      - # Temp fix
        # https://github.com/docker/build-push-action/issues/252
        # https://github.com/moby/buildkit/issues/1896
        name: Move cache
        run: |
          rm -rf ${{ env.BUILD_CACHE }}
          mv ${{ env.BUILD_CACHE }}-new ${{ env.BUILD_CACHE }}

      - name: Deploy private API to Cloud Run
        id: deploy-private
        uses: google-github-actions/deploy-cloudrun@main
        with:
          service: ${{ env.VERSION }}-private-api
          image: gcr.io/${{ env.PROJECT_ID }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}
          region: ${{ env.REGION }}
          flags: '--service-account=foo --args "--database-host=xxx.xxx.xxx.xx" --args "--database-name=bar" --args "--database-password=secret" --args "--database-user=me" --args private'

      - name: Output private API url
        run: curl "${{ steps.deploy-private.outputs.url }}"

Additional information
No

@AdrienFromToulouse Did you fix this? I am running into a similar problem when trying to add labels through the flags parameter.

@lukepon sorry for the late reply, I don't think so, I cannot really remember.
In fact I went to directly on using gcloud run in the end. The "Action wrapper" is may be not useful in the end, it somehow marshals the interface but makes the UX of it more painful, so thought "better to directly use the CLI" :)

Yeh, thanks, that's the only way I've gotten it to work as well.

With the submission of https://github.com/google-github-actions/actions-utils/issues/37 (thanks @sethvargo!) and the updating of the deps on this package --args should be possible to pass.


Adding an example that adds an alpha ramp to the colormap.

I added an example that shows the benefit of mplcairo versus the standard agg backend when handling alpha in a colormap.
The Agg backend does not handle alpha channels well at all and makes plots and colormaps look bad with edges showing up. This backend shows the expected behavior.

Thanks, that's a very nice example.
It looks like the underlying point is similar to the one demonstrated by quadmesh.py?  Do you think the examples can be combined together?
Also, can the colorbars be positioned using constrained_layout() rather than axes_grid1?  (Not sure, just asking.)

I wasn't sure if you wanted two separate examples or not. I'm fine with putting the colormap stuff into the quadmesh demo. I just pushed up that commit.
I also incorporated the constrained_layout, I was not aware of that actually, I generally use gridspec's. Thanks for mentioning it!

I allowed myself to rebase the commit for you (I had rebased master under your feet for fixing other stuff :)), together with some more minor points (restoring usage of edgecolors, which mplcairo also does better).  Does the current state of the example look good to you?

Looks good to me!

thanks for the PR!

No problem, thanks for this quick and easy to use package!
As an additional note:
There are quite a few matplotlib GitHub issues open and StackOverflow questions about how to do alpha blending without the lines/edges showing up (especially in the colorbar). None of the suggestions work with transparency and the AGG backend. It really looks to me like this boils down to AGG not blending the joined edges the way one would intuitively expect. I think a better/simpler answer to all those questions is to use a different backend (mplcairo).

Happy to hear it works for you.
If there are issues on SO for which you think mplcairo could be a good fit, feel free to point users to here :)


Remove SDAP deployment from Unity-Dev

as per https://jaas.gsfc.nasa.gov/servicedesk/customer/portal/2/GSD-2527
there are several Ec2 instances and Launch templates that point to expired AMIs:
Unity-Dev	i-04cd881f3c9bc8559	uas-dev-sdap-sdap-workerNodeGroup-Node
Unity-Dev	i-0397444780dce353f	uas-dev-sdap-sdap-driverNodeGroup-Node
and Launch templates that presumably launch the above instances:
Unity-Dev	lt-07a978ccf2ac99178	eksctl-uas-dev-sdap-nodegroup-sdap-driverNodeGroup
Unity-Dev	lt-0be97bfac448cee6d	eksctl-uas-dev-sdap-nodegroup-sdap-workerNodeGroup
Probably best to remove this deployment entirely from unity-dev as that's a shared services account.

@jjacob7734 any update on this? We want to remove it from unity-dev because their security folks are pinging us with the out of date AMIs.

Looks like the instances were removed.
I also deleted the launch templates in unitt-dev as well.


Flattening pass does not handle branches where the merge block is in the then branch.

Consider the programs
        acir(inline) fn main f0 {
          b0(v0: u1):
            v1 = allocate -> &mut Field
            store Field 0 at v1
            jmpif v0 then: b2, else: b1
          b2():
            jmp b3()
          b1():
            store Field 2 at v1
            jmp b3()
          b3():
            v5 = load v1 -> Field
            constrain v5 == Field 2
            return
        }

and
acir(inline) fn main f0 {
          b0(v0: u1):
            v1 = allocate -> &mut Field
            store Field 0 at v1
            jmpif v0 then: b2, else: b1
          b2():
            v5 = load v1 -> Field
            constrain v5 == Field 2
            return
          b1():
            store Field 2 at v1
            jmp b2()
        }

These are entirely equivalent as the only difference is in the second we have inlined b3 into b2. However when we flatten these programs we  end up with the results
acir(inline) fn main f0 {
  b0(v0: u1):
    v1 = allocate -> &mut Field
    store Field 0 at v1
    enable_side_effects v0
    v3 = load v1 -> Field
    v4 = cast v0 as Field
    v6 = sub Field 2, v3
    v7 = mul v4, v6
    v8 = add v3, v7
    store v8 at v1
    v9 = not v0
    enable_side_effects u1 1
    v11 = load v1 -> Field
    constrain v11 == Field 2
    return
}

acir(inline) fn main f0 {
  b0(v0: u1):
    v1 = allocate -> &mut Field
    store Field 0 at v1
    enable_side_effects v0
    v5 = not v0
    enable_side_effects v5
    v6 = load v1 -> Field
    v7 = cast v5 as Field // We're now using `not v0` instead of `v0`!
    v8 = sub Field 2, v6
    v9 = mul v7, v8
    v10 = add v6, v9
    store v10 at v1
    enable_side_effects u1 1
    v12 = load v1 -> Field
    constrain v12 == Field 2
    return
}

We must be doing something incorrectly caused by how we're looking for the point at which these two branches merge again. One thing to note is that b2 is the then branch for this if-else branch so we end up in a situation where we're inlining the merge block before we've inlined both of the branching blocks:
https://github.com/noir-lang/noir/blob/7d612425728a9d5852ec26a96af629aec7cd0a21/compiler/noirc_evaluator/src/ssa/opt/flatten_cfg.rs#L422

Marking this as closed by #6621 as it prevents us from outputting invalid code. If we want to allow branches merging in the then branch then we can do this as part of #6624


Add documentations app

We need a custom app to host resource materials, helps, faqs, tutorials, blog and forums for flipify.

i think we already have a docs: https://flipify.dev/docs , but they can goto the. repo to help add tuts, faqs and more

The doc you specified in you reply is internal. we also need one that is external for our user... we can even make it a microservice if you want

Ohhh okay noted, yes if we can go for microservices if will be efficient but that's for later sha


Switching from one team to another doesn't always update the member list when in fullscreen

This problem occurs when I have the team member list open and the Teams application window is maximized.  When I switch from one team to another the member list does always update.  It will randomly keep the same member list from team to team.  Closing the member list and opening it again will update with the proper current team member list.

@hibbie - Could you please share some screenshots of this issue to help repro at our end?

Sure thing, let me know if you need more info.
Here's my team's group with 9 members as I would expect.

When I click into the company's general group which should have 35 users it still shows my 9 members from the Python team.

When I close the window and open it again it shows the correct number of people.

In case if you are not on the latest version of Teams, can you please try on latest version. we bunch of people tried it and this works fine for all of us.

Hi there,  I just checked it and still works the same as it did before.  I'm on Windows 10 1903 / 18362.145 and MS Teams <IP_ADDRESS>65 (64-bit)

Could you please share your Teams logs (by pressing ctrl+alt+shift+1)?

Actually the issue seems to have stopped.  The People pane now closes when I switch to a different team.  The issue I had is no longer present.  I am still on Teams <IP_ADDRESS>65 and Win10 1903 18922.100.  I'd share my logs but I don't think our IT dept would be cool with that.


IntelliSense / Syntax highlighting not working properly in Insider 1.21.0

VSCode Version: Insider 1.21.0
OS Version: Windows 10

Steps to Reproduce:

Install VS Code
Paste code below and change language settings to PowerShell

Does this issue occur when all extensions are disabled?: Yes
Installing PowerShell extension has no impact on behaviour
Code to paste
$p = get-process | select -first 1
$a = $p.Name -split '='
Write-Host $a

Expected result
Here is screenshot from stable VS Code 1.20.1

Syntax highlighting is as expected. Notice command in last line.
Actual result
Here is screenshot from Insiders VS Code 1.21.0

Explanation
Notice again command in last line. It is not correctly colored now. Code itself is correct.
The actual problem is in previous line. Token '=' is not parsed properly (opening and closing apostrophes are not matching). The same thing happens also with quotation marks (i.e. "=" will be wrong), but also other spoecial characters instead of equal sign, like %, !, etc.
Furthermore, this happens only when there is a dot in the beggining of the same line. If code would be $a = $p -split '=' or if there would be another dot in the same line $a = $p.name -split '.', parsing would be fine.

This issue was moved to PowerShell/EditorSyntax#66


feat(gatsby-plugin-fastify): use match paths in ssr to support SSR based client routes

Description
The goal is to have fallback-routes working as in gatsby cloud.
Change 1:
When a route is of type SSR or DSG, it will not be registered as a clientRoute
Change 2:
Trying to use matchPath and not path for SSR. If not done like that, the routes will not be mounted correctly
Documentation
Documentation. No but I have this webpage using my modified version. Alv.no
closes #215

Looked into your comments and created a unit-test to confirm the change. I extracted the matchPath-formatting from client-side-handler and put it into. utils/routes.ts.

Also, feel free to add yourself to the contributors list via all-contributors. yarn ac in the root.

Cool. The only thing I can't see without a real editor (I'm on my phone for a bit) is TS typings and of course haven't setup CI checks for those either. If types are all looking good to you I think we're really close.
I can't seem to find any docs for this feature on Gatsby's site. Maybe I'm searching for the wrong thing, if you know of any related docs, please link them in the PR, and maybe add them to the release notes (you can just edit the markdown directly to update the release info).
Finally, total nit, ignore if you are busy, can you add those 2 new routes on the index page of the integration test? Thanks.

SSR documentation from Gatsby it not really that good. And the only article stating how this works is written by me.
The reason i thought about testing if fallbackroutes, was because I read a quote on this page  that made me think. It states

You can create server-rendered pages the same way as regular pages (including using the File System Route API).

And then that lead me down the rabbit hole and I read this documentation . Basically SSR can use the full potential of the filesystem API, including collectionroutes / fallbackroutes. And when you observe the behaviour of gatsby serve and gatsby cloud, we can confirm that SSR truly can create pages using the filesystem API.
To the not of the test-index-page. I will add a link. I can add it tomorrow morning.

Thanks for your work on this @klyngen !! Much appreciated.

Thanks for your work on this @klyngen !! Much appreciated.

Love to be of assistance. If you have a fastify task, please let me know 🎉

Thanks, you're always welcome to
checkout issues and see if there are feature requests or bug reports. I'm sure there are several.

@klyngen thanks a lot for this - fixes my issue #228 just in time for us to go to production next month 🙏

Cool. The only thing I can't see without a real editor (I'm on my phone for a bit) is TS typings and of course haven't setup CI checks for those either. If types are all looking good to you I think we're really close.

@moonmeister only a phone is no excuse 😜 https://github.dev/gatsby-uc/plugins/packages/gatsby-plugin-fastify/src/serve.ts


Get-JenkinsUserFullName

Added cmdlet,

Private: Get-JenkinsUserInfo.ps1
Public: Get-JenkinsUserFullName.ps1
Tests, Get-JenkinsUserFullName.Test.ps1.

Your commit authoring looks funky

https://www.youtube.com/watch?v=QxBC7ol-iUs

Thanks @casz !


add sort_function

Hi, I added the sort function to coinmarketcap. Please consider to merge it.

Coverage decreased (-22.7%) to 68.75% when pulling 80763a4b61182e15ba4d1fd18a654a45ab7daa8a on ssshun:develop into 5f29fbd4d3288b7e470a705774adfa23706e9a06 on ankitsamarthya:master.

@ssshun Can you add test case for that?

Thank you for your replying. I added test case. Please check it.