AUROC on DDP returns inconsistent result

🐛 Bug

AUROC return different results if the number of GPU is different.
To Reproduce
Steps to reproduce the behavior...

Code sample

def eval(self):
    for input, label in self.dataloaders.eval:
        output = self.model(input)
        self.auroc.update(output.sigmoid(), input)
    return self.auroc.compute()

Expected behavior

Consistent result across different number of devices.
Environment

TorchMetrics version (and how you installed TM, e.g. conda, pip, build from source):
Python & PyTorch Version (e.g., 1.0):
Any other relevant information such as OS (e.g., Linux):

Additional context

Hi @ZhiyuanChen,
Is the number of samples in your dataloader equally divisible by batch_size * num_gpu? I am asking because default DistributedSampler is automatically adding additional samples to your dataloader if the number of samples cannot be equally divided between all processes:
https://github.com/pytorch/pytorch/blob/8ea19c802e38c061e79176360c1ecaa81ce2088a/torch/utils/data/distributed.py#L106-L112
This would explain why you are seeing different results when using a different number of GPUs.

After conduction experiments myself, I get the same results using 1,2,3 gpus for auroc when making sure the number of samples are equally divisible by batch_size * num_gpu (see details for script).

Experiment details
  A used below script which is adapted from https://github.com/Lightning-AI/lightning/blob/master/examples/pl_basics/backbone_image_classifier.py. I ran the following commands which all gave the same result:
CUDA_VISIBLE_DEVICES='0,1,2' python backbone_image_classifier.py --trainer.accelerator 'gpu' --trainer.devices 1
CUDA_VISIBLE_DEVICES='0,1,2' python backbone_image_classifier.py --trainer.accelerator 'gpu' --trainer.devices 2
CUDA_VISIBLE_DEVICES='0,1,2' python backbone_image_classifier.py --trainer.accelerator 'gpu' --trainer.devices 3

from os import path
from typing import Optional

import torch
from torch.nn import functional as F
from torch.utils.data import DataLoader, random_split, Subset

from pytorch_lightning import LightningDataModule, LightningModule
from pytorch_lightning.cli import LightningCLI
from pytorch_lightning.demos.mnist_datamodule import MNIST
from pytorch_lightning.utilities.imports import _TORCHVISION_AVAILABLE
from torchmetrics.classification import MulticlassAccuracy, MulticlassAUROC

if _TORCHVISION_AVAILABLE:
    from torchvision import transforms

DATASETS_PATH = path.join(path.dirname(__file__), "..", "..", "Datasets")

class Backbone(torch.nn.Module):
    def __init__(self, hidden_dim=128):
        super().__init__()
        self.l1 = torch.nn.Linear(28 * 28, hidden_dim)
        self.l2 = torch.nn.Linear(hidden_dim, 10)

    def forward(self, x):
        x = x.view(x.size(0), -1)
        x = torch.relu(self.l1(x))
        x = torch.relu(self.l2(x))
        return x

class LitClassifier(LightningModule):
    def __init__(self, backbone: Optional[Backbone] = None, learning_rate: float = 0.0001):
        super().__init__()
        self.save_hyperparameters(ignore=["backbone"])
        if backbone is None:
            backbone = Backbone()
        self.backbone = backbone
        self.metric1 = MulticlassAccuracy(num_classes=10)
        self.metric2 = MulticlassAUROC(num_classes=10)

    def forward(self, x):
        # use forward for inference/predictions
        embedding = self.backbone(x)
        return embedding

    def training_step(self, batch, batch_idx):
        x, y = batch
        y_hat = self(x)
        loss = F.cross_entropy(y_hat, y)
        self.log("train_loss", loss, on_epoch=True)
        return loss

    def test_step(self, batch, batch_idx):
        x, y = batch
        y_hat = self(x)
        self.metric1.update(y_hat, y)
        self.metric2.update(y_hat, y)

    def test_epoch_end(self, outputs):
        self.print(len(self.metric2.preds))
        self.print(len(self.metric2.preds[0]))
        self.log("acc", self.metric1.compute())
        self.log("auroc", self.metric2.compute())

    def configure_optimizers(self):
        # self.hparams available because we called self.save_hyperparameters()
        return torch.optim.Adam(self.parameters(), lr=self.hparams.learning_rate)

class MyDataModule(LightningDataModule):
    def __init__(self, batch_size: int = 10):
        super().__init__()
        dataset = MNIST(DATASETS_PATH, train=True, download=True, transform=transforms.ToTensor())
        self.mnist_test = Subset(
            MNIST(DATASETS_PATH, train=False, download=True, transform=transforms.ToTensor()), [i for i in range(600)]
        )
        self.mnist_train = Subset(dataset, [i for i in range(600)])
        self.mnist_val = Subset(dataset, [i+600 for i in range(600)])
        self.batch_size = batch_size

    def train_dataloader(self):
        return DataLoader(self.mnist_train, batch_size=self.batch_size)

    def val_dataloader(self):
        return DataLoader(self.mnist_val, batch_size=self.batch_size)

    def test_dataloader(self):
        return DataLoader(self.mnist_test, batch_size=self.batch_size)

def cli_main():
    cli = LightningCLI(LitClassifier, MyDataModule, seed_everything_default=1234, save_config_overwrite=True, run=False)
    cli.trainer.test(model=cli.model, datamodule=cli.datamodule)

if __name__ == "__main__":
    cli_main()

Closing issue.

hi @SkafteNicki, yes it does work when dataloader equally divisible by batch_size * num_gpu, but it it is like a Spherical cow in vacuum environment, cuz most dataset is not equally divisible by batch_size, let alone GPU.

The following code should work (though torcheval)
@torch.inference_mode()
class DistributedMetric(Metric):
    def __init__(self, **metrics):
        super().__init__()
        self._add_state("inputs", [])
        self._add_state("targets", [])
        self.metrics = metrics

    def update(self, input, target):
        if isinstance(input, torch.Tensor):
            input, target = input.to(self.device), target.to(self.device)
        self.inputs.append(input)
        self.targets.append(target)
        return self

    def compute(self):
        return OrderedDict(**{name: metric(self.input, self.target).item() for name, metric in self.metrics.items()})

    @torch.inference_mode()
    def merge_state(self, metrics: Iterable):
        for metric in metrics:
            if metric.inputs:
                metric_inputs = torch.cat(metric.inputs, -1).to(self.device)
                metric_targets = torch.cat(metric.targets, -1).to(self.device)
                self.inputs.append(metric_inputs)
                self.targets.append(metric_targets)
        return self

    @torch.inference_mode()
    def sync(self):
        synced_inputs = [None for _ in dist.get_world_size()]
        dist.all_gather_object(synced_inputs, self.inputs)
        self.inputs = [i for j in synced_inputs for i in j]
        synced_targets = [None for _ in dist.get_world_size()]
        dist.all_gather_object(synced_targets, self.targets)
        self.targets = [i for j in synced_targets for i in j]
        return self

    @property
    def input(self):
        return torch.cat(self.inputs, -1)

    @property
    def target(self):
        return torch.cat(self.targets, -1)

Hi @ZhiyuanChen,
Thanks for your input. We have kind of considered "spherical cow in vacuum environment" to be a limitation on pytorch side and we do not consider all_gather_object to be the way forward as its implementation is way less efficient for general usage. That said your issue have prompted us to look into the join context (see this issue #1338) to hopefully remove this limitation.


feat: Update policie for External Secrets 0.12.1

Description
This pull request includes a change to the IAM policy document for external secrets in the modules/iam-role-for-service-accounts-eks/policies.tf file. The change adds a new permission to the policy.

Added secretsmanager:BatchGetSecretValue permission to the data "aws_iam_policy_document" "external_secrets" block to allow batch retrieval of secret values.

Motivation and Context
External Secrets 0.12.1 introduces the use of BulkFetch to fetch secrets from the AWS Secret Manager.
https://github.com/external-secrets/external-secrets/releases
https://github.com/external-secrets/external-secrets/blob/main/docs/provider/aws-secrets-manager.md?plain=1
Breaking Changes
No breaking changes
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 1.8.0 :tada:


C#6 Cleanup & Optimizations

The main intent is cleanup using C# 6 operators and normalization of type aliases. While there are no intended functional changes here, it does eliminate a few tight race conditions as a bonus (not a real-win since this isn't thread-safe all over, simply noting).

Hi @NickCraver, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

There's also ample usage to migrate properties to expression bodies (=>) (or {get;}-only autos) in the codebase, but I wasn't sure if this would be desired - it's a matter of taste. It'd shave of quite a bit of code on the simpler accessors or overloads for returning value types. If that's a welcome change, I can do another PR.

Nice :shipit:

@benaadams are you following this one?

LGTM

:shipit:

Rebased, squashed, and merged.


Allow to exit full-screen

Fixes #1
First javascript for me, I don't know how to change the text when the button is clicked :smile:

Have you tested? Does it work? From a quick look, it looks like you're missing a semicolon.

I have tested it but not this file exactly, you are right; bad copy/paste.
I'm testing a Raspberry Pi 4 + touch screen.
If I use this button the scrolling doesn't work anymore in Chromium, but it does if I enter full screen with xdotool key F11, any idea why?

I don't know.

Try replacing body with documentElement and see if that makes scrolling work.

Spot on, PR updated!


DEV-27221: User API pagination update

Add note about prev and next being omitted when those pages do not exist
Add 400 response error when per_page exceeds max of 500 (or is not between 1 and 500)

I think this should target the develop branch instead.

I think this should target the develop branch instead.

Yeap, I think I just created this PR and it took master as the default.


conn.beginTransaction is not a function when dialect is mssql

Hi, I'm getting conn.beginTransaction is not a function when the configuration is { client: MockClient, dialect: "mssql" } and test code that opens a transaction.
The error is generated in transaction.js of the the mssql dialect that call conn.beginTransaction (and other conn functions) but the connection generated by the mock doesn't have it.

Can you provide a code snippet of your query and the test itself?

Here is the test and the function to test.
The function is just an update inside a transaction.
import knex from "knex";
import { getTracker, MockClient, Tracker } from "knex-mock-client";

import * as knexBuilder from "./knex-builder";

const knexClientMock = knex({ client: MockClient, dialect: "mssql" });
jest.spyOn(knexBuilder, "build").mockReturnValue(knexClientMock);

describe("knex-mock-client", () => {
  let tracker: Tracker;

  beforeAll(() => {
    tracker = getTracker();
  });

  afterEach(() => {
    tracker.reset();
  });

  it("update", async () => {
    tracker.on.update("table").responseOnce(1);
    const updates = await update();
    expect(updates).toEqual(1);
  });
});

export async function update(): Promise<number> {
  const knex = knexBuilder.build({ client: "mssql" });
  return knex.transaction((tx) => {
    return tx("table").update({ value: "test" }).where({ id: 1 });
  });
}

knex-builder is nothing but:
import knex, { Knex } from "knex";

export function build(config: Knex.Config): Knex {
  return knex(config);
}

When I run this test I get:
 FAIL  test/knex-client-mock.spec.ts
  knex-mock-client
    ✕ update (2 ms)

  ● knex-mock-client › update

    TypeError: conn.beginTransaction is not a function

      at node_modules/knex/lib/dialects/mssql/transaction.js:9:12
      at Transaction_MSSQL.begin (node_modules/knex/lib/dialects/mssql/transaction.js:8:12)
      at node_modules/knex/lib/execution/transaction.js:203:16
      at Transaction_MSSQL.acquireConnection (node_modules/knex/lib/execution/transaction.js:254:20)

Thanx, let me check it.
Anyway, you don't need the spyOn at all.

Thank you for reporting this issue, it should be fixed in v1.8.4

Awesome! I tested it with my tests. worked fine. thanks!.


GPS triggers safe mode

In what area(s)?

/area runtime docker

/area operator ubuntu20.04

/area placement

/area docs GettingStarted.md

/area test-and-release carla 0.9.14

Ask your question here
I followed the document in 'GettingStarted.md'. But when I run 'python main.py', the dreamview is stopped by 'GPS triggers safe mode'. And camera channel has no picture. The vehicle can not move. Could you help me to solve this problem?

same problem.

same problem.

Same here.

Same here.

same problem. Is it solved?


PCM_S16LE codec ID commented out

So the PR to add the unknown codec ID #156 while good for avoiding unnecessary panics wouldn't have occurred to me if PCM_S16LE wasn't commented out in the codec ID enum. I'm just wondering why this was done and if the comment can be removed somehow as it's a pretty common codec and I can't think of an ffmpeg version that doesn't include it
https://github.com/meh/rust-ffmpeg/blob/4e2ea93ad05f226e33df52429ca68138ca07bd77/src/codec/id.rs#L239

Tracked it back to 4f270f98fbc where the commit message just says "Chore: make stuff build again"


Provide controls to rename pages and wikis

Make the content section header that shows "wiki name":"page name" input text fields, allowing an intuitive renaming interface.

Page renaming works, but the history viewer only shows the git commits related to the new name. This might not be a simple issue to correct, requiring more elaborate metadata for wiki pages.


Rights on new file

Hello,
I get an issue.
I mounted Google drive with option allow_other.
I can see files with different owner:group as i want,  but,  all new files written are root:root.
Can i add option,  and which option, for avoid files are always owner by root :root?
Thanks

You should be able to specify uid and gid when mounting. E.g. -o gid=1000,uid=1000


Request: Transparent miniplayer (until you hover over it)

It'd be nice if the miniplayer went transparent when not being used, then when you mouse over it it fully restores. It'd be nice as an option at least

See here as to the strange limitiations of transparent windows
https://github.com/atom/electron/blob/master/docs/api/frameless-window.md#limitations


Policy importer doesn't copy child nodes with cq:copyChildren

According to the documentation, you can use cq:copyChildren in the rules to copy a tree of content from the designs folder to the policies folder. This does not work, as only the parent node is copied.
For example designs for the text core component cannot easily be converted. They are set up like this :

...
</>

The only thing that gets copied to the policy is the text node

This has been resolved in #63


Adds fuzz target for oss-fuzz integration

@WardF would you agree to merge this fuzz target upstream ?
cf https://github.com/google/oss-fuzz/pull/5389#discussion_r604596718

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

Friendly ping @DennisHeimbigner
What is the status for this ?
Do I need to do something ?


Download only home index

Hello work fine but only download from home index page, not full list like https://slackmojis.com/emojis/popular

Thanks for bringing this up and I've released a new version of the downloader which uses the official emoji.json listing.
Back when I frist wrote this Slackmojis still had all their available emojis on the frontpage but it appears they've grown a lot since then.


Command not found when trying to run from command-line

After installing with brew, running swiftplantuml classdiagram --help produces command not found: swiftplantuml. There is no executable in usr/local/bin (or anywhere on my system that I can find), only an app is installed in the Applications directory and Xcode extension added

Installation using Homebrew: brew install swiftplantuml
Not to be confused with brew install swiftplantumlapp that installs the containing app with the Xcode extension

Thanks, I thought I copy/pasted - not sure how I made that mistake!


Offboard mode can lead to crash

The offboard functionality needs some testing and bugfixing because it has lead to crashes in the past.
It seems to work fine when you start in NED mode first but can lead to a crash if started in body mode.

@julianoes : I didn't observe crash in this case.
I created a sample app to test offboard mode (using the code from integration_tests) with both NED & BODY mode.
Neither of them crashed. Any idea what caused crash ?

$ DroneCore/example/offboard_velocity/build$ ./offboard NED
[06:46:44|Info ] New device on: <IP_ADDRESS>:14557 (udp_connection.cpp:212)
In Air
sent velocity ned once
Offboard started
Let yaw settle...
sent velocity ned 628 times
sent velocity ned 400 times
sent velocity ned 400 times
sent velocity ned 400 times
sent velocity ned 400 times
Offboard stopped
Landed
Disarm failed:Command denied, not landed
-------------------------------------------------------------------------------
$ DroneCore/example/offboard_velocity/build$ ./offboard BODY
[06:47:34|Info ] New device on: <IP_ADDRESS>:14557 (udp_connection.cpp:212)
In Air
sent velocity ned once
Offboard started
Turn around yaw & climb
Turn back
Wait for a bit
Fly a circle
Wait for a bit
Fly a circle sideways...
Wait for a bit
Offboard stopped
Landed
Disarmed

@shakthi-prashanth-m thank you. Could you make a pull request and add this test either as an example and/or as an integration test?
I will run this also against an internal version of Firmware to see if that's where the bug comes from.

Sure @julianoes. I added it as an example. Please check.

This was a bug in our internal version of Firmware.
It was fixed through:
https://github.com/PX4/Firmware/commit/c41185a2771a3e791404043cdf107da57d996e2d
https://github.com/PX4/Firmware/commit/d9cec600edfe030bfea65900840935eb62e2f15b

Cool :blush: Thanks @julianoes


Websocket is closed for non-UTF8 binary messages

[x] I am at the right place and my issue is directly related to ROS#. General technical questions I would post e.g. at ROS Answers or Stack Overflow. For library-specific questions I would look for help in the corresponding library forums.
[x] I have thoroughly read the Contributing Guideline and writing this issue is the right thing to do in my case.

I found a bug!

[ ] I am using the latest ROS# version available here on the master branch. But I believe the problem to be universal as it appears in my netstandard build and the last official unity release.

[x] I am adding all required information, code and data files, screenshots and log files so that you can reproduce the problem.

My OS is: Debian GNU/Linux bullseye/sid

My Unity Version is: 2019.3.0a10

My ROS Distribution is: Kinetic

My Build Target Platform is: Debian/netstandard + Unity(Debian)/mono

Here is my bug description:
Most BSON-serialized messages (RosSocket created with RosSocket.SerializerEnum.BSON) close the WebSocket if the protocol is WebSocketNET. The sendAsync method is invoked with WebSocketMessageType.Text as Opcode for the WebSocket message.
This indicates a message with a payload that can be interpreted as an UTF8 string. This is not the case for BSON-encoded messages. Most messages force the rosbridge server to close its WebSocket as required. RFC:

When an endpoint is to interpret a byte stream as UTF-8 but finds
that the byte stream is not, in fact, a valid UTF-8 stream, that
endpoint MUST Fail the WebSocket Connection.

If the WebSocketSharp backend is used, this does not appear. The binary opcode is used for JSON and BSON encoded messages.
Perform the following steps reproduce the bug:
Send a BSON serialized message (an empty Sensor.Imu message does it for me, most Std messages do not produce invalid UTF8 as it seems. A long String message works too) to a rosbridge server configured with bson_only_mode:=True
Observed results:
The WebSocket is closed by the rosbridge server:
ros-recorder_1     | Unhandled Exception: System.Net.WebSockets.WebSocketException: The remote party closed the WebSocket connection without completing the close handshake. ---> System.IO.IOException: Unable to read data from the transport connection: Connection reset by peer. ---> System.Net.Sockets.SocketException: Connection reset by peer
ros-recorder_1     |    --- End of inner exception stack trace ---
ros-recorder_1     |    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error)
ros-recorder_1     |    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
ros-recorder_1     |    at System.Net.Http.HttpConnection.ReadBufferedAsyncCore(Memory`1 destination)
ros-recorder_1     |    at System.Net.Http.HttpConnection.RawConnectionStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
ros-recorder_1     |    at System.Net.WebSockets.ManagedWebSocket.EnsureBufferContainsAsync(Int32 minimumRequiredBytes, CancellationToken cancellationToken, Boolean throwOnPrematureClosure)
ros-recorder_1     |    at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TWebSocketReceiveResultGetter,TWebSocketReceiveResult](Memory`1 payloadBuffer, CancellationToken cancellationToken, TWebSocketReceiveResultGetter resultGetter)
ros-recorder_1     |    --- End of inner exception stack trace ---
ros-recorder_1     |    at System.Net.WebSockets.ManagedWebSocket.ReceiveAsyncPrivate[TWebSocketReceiveResultGetter,TWebSocketReceiveResult](Memory`1 payloadBuffer, CancellationToken cancellationToken, TWebSocketReceiveResultGetter resultGetter)
ros-recorder_1     |    at RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol.StartListen() in /root/dev/ros-sharp-common/ros-sharp/Libraries/RosBridgeClient/Protocols/WebSocketNetProtocol.cs:line 113
ros-recorder_1     |    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
ros-recorder_1     | --- End of stack trace from previous location where exception was thrown ---
ros-recorder_1     |    at System.Threading.ThreadPoolWorkQueue.Dispatch()

Expected results:
The WebSocket is not closed by the rosbridge server.
Relevant Code:
RosConnector.ConnectToRos(Protocol.WebSocketSharp, info.serverURL,
                    onROSConnected, onROSDisconnected, RosSocket.SerializerEnum.BSON);
//...
var id = socket.Advertise<RosSharp.RosBridgeClient.MessageTypes.Sensor.Imu>("/device/imu");
socket.Publish(id, new RosSharp.RosBridgeClient.MessageTypes.Sensor.Imu());

Does WebSocketMessageType.Binary instead of WebSocketMessageType.Text solve this issue?

Thanks for your evaluations and reports @limond . Would you please verify if also JSON messages can be transported with WebSocketMessageType.Binary option? If  WebSocketMessageType.Text is required for JSON, we will have to distinguish between JSON and BSON here. @akirayou fyi

I will try and confirm this in a build of the master branch in Windows with an actual Net Framework over the weekend.
My guess is that it does not matter and it is possible to use WebSocketMessageType.Binary for JSON messages as well.
The follwing is my understanding from reading the source code/documentation of related code:

If you use the WebSocketSharp implementation, the Binary Opcode is set for JSON Messages and they are received correctly
The current websocket implementation in rosbridge (tornado) calls its on_message handler either with a string or bytes depending on the opcode

rosbridge then calls json_loads with the payload (if the server is configured without bson_only_mode). The documantation explicitly allows this to be bytes if they represent a UTF-(8/16/32) string.

I tested this under Windows 10 (VS2017/Net Framework 4.6) against a kinetic rosbridge BSON and JSON server.
All tests in RosSocketTests.cs are successfull when using WebSocketMessageType.Binary regardless of whether I use SerializerEnum.JSON or SerializerEnum.BSON and follow the instructions in this test class's comments.
I can also confirm that this bug can be replicated in this configuration when using WebSocketMessageType.Text as soon as the payload includes characters that can not be interpreted as UTF8.

Thank you @limond for your tests and reports.
Issue is solved in commit 2891dd4.


VnV Plan 5.1: Table out of margins

For Table 1, it might look better if you put it on a landscape page instead of portrait.

Fixed the Table. Thank you!


Add checking whether an appcast contains the version number

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

This pull request a new flag --appcast for 'brew cask audit' that checks if the version (from the version stanza) is contained in the downloaded appcast (from the appcast stanza). The new flag is off by default. The idea here is that the Travis CI check can pass this optional flag so that beta versions submitted to Homebrew Cask will fail the Travis check (assuming they are not contained in the appcast) and will therefore not be automatically merged by @BrewTestBot
Please see here for the discussion that lead up to this PR:
https://github.com/Homebrew/brew/pull/5888

@vitorgalvao, what's the rationale for this change? (Please, tl;dr version if possible.)

@amyspark

The idea here is that the Travis CI check can pass this optional flag so that beta versions submitted to Homebrew Cask will fail the Travis check (assuming they are not contained in the appcast) and will therefore not be automatically merged by @BrewTestBot

is this going anywhere? @reitermarkus any opinions on the PR? thanks!

Pinging @Homebrew/maintainers for finalizing review.

The main problem I'm seeing with this right now is that this probably won't pass for every cask. Have you checked that it does?

i think i've talked about that already in the mentioned thread https://github.com/Homebrew/brew/pull/5888
around 5% of the casks fail (because the appcast does not contain the version number as-is). i'll try to get more accurate numbers now.
getting that down to probably zero failures would be possible by annotating the appcast stanza with a modifier for the version number (e.g. if the appcast only contains the version with dots replaced by underscores) as we've already discussed. those appcasts that do not contain the version number at all (but are still useful because they can be monitored for changes (think checksums), could be annotated to ignore them for this check.
@vitorgalvao mentioned that further work would be overkill because preventing auto-merging on just 5% of casks is not a big problem

real numbers:
brew cask audit --appcast
seemed to check 5549 casks. of those 6 were failing with offline/looping appcasts and 377 were failing with 'does not contain version'. thats a 6.9% failure rate. if we take those into account that are not failing because the cask is not actually up-to-date, the 5% that would need further configuration to work seems like a good guess.

thanks for the review. i'm currently moving so i don't have time right now but will try to make the requested changes in a few days.

i think all raised points are addressed now:
• use curl_output
• use named parameter
• move the check to the 'Audit' class

hm having some troubles with git, will try to reapply...

i think it looks good now

thanks for the review, i've applied the suggested improvements

thanks for your review ;) i'll have to read up on that squashy thing

tried to 'squash', not sure if it worked ;/

@core-code, doesn't seem like it. Look up how to do an “interactive rebase”, that's how I usually do it.

@core-code Try git rebase --interactive HEAD~<N>, where <N> is the number of commits you want to process. In this case it should be 27: git rebase --interactive HEAD~27.
The text file that opens has instructions on the bottom. You’ll likely want to use fixup more than squash.
Only change the first word in each line. If you want to modify a message, you’ll have to pick reword but don’t change it then; it’ll ask you after you end that step.

thanks for your help. however i don't think that worked either. i'll try to send a new, clean, PR

Git beat me, all the changes are lost.

@core-code Copy the directory somewhere so you have a backup and use git reflog. It’s not too late to recover everything.

@vitorgalvao many thanks, as always ;)

re-opened as a single commit. note that i've omitted the suggested changes to 'split' on purpose, they don't work (cause an exception which forces the 'offline or looping' path)

anything still blocking this?

Thanks, @core-code!

thanks too ;)

glad this is merged.
so, what are the next steps:
• the reason for these changes were to prevent @BrewTestBot from auto-merging beta versions. if someone points me into the right direction i can send a PR to enable that
• if the common consent is that this prevents too many auto-merges, i can look into adding the aforementioned configuration so that we could specify what part of the version stanza should actually be searched for in the appcast. however, i'd need some help there, e.g. some pointers how to extend to  be able to extend the appcast stanta with optional additional arguments (akin to the referer or useragent stuff)

You will have to enable the option in brew cask ci, which is in the homebrew-cask repo.


Windows support

This is a meta issue to track all the issues needed for a Windows support.
Goals:

We aim to support clang-cl. This is the first priority.
Later on, cl, from 2022. This is a very low priority.
If we manage to get some mingw toolchain to compile the program - I am happy. But this is not a goal.

Problems:

[x] Some compiler flags are not compatible with clang-cl. (https://github.com/LadybirdBrowser/ladybird/pull/77)
[ ] We need a package manager to handle building 3rd parties (ICU, fontconfig?, Skia, WABT, more?)
[ ] We need to find an alternative to fontconfig.
[ ] 'sys/time.h' not found
[ ] [[no_unique_address]] not supported (am I using a wrong compiler? I use MSVC 2022 and its clang-cl)
[ ] We need to pull code from previous attempts of this kind of work.  (cherry-picks, rebase etc).
[ ] Need to understand how to run the commit linters on the local machine, as we don't want developers to spam the CI/CD with phantom builds, just to fix a typo on the commit log (yes, that is directed at me)

Known forks, branches:

https://github.com/cammo1123/serenity/tree/WindowsJS2.0
https://github.com/abuneri/serenity/tree/windows-ladybird

Please do not comment on this issue unless you have something to contribute. This issue is one of the boss-issues - it will take time. Problems and goals will change, nothing is written in stone, provide code if you can.

Could std::chrono be used as a replacement for the POSIX-only sys/time.h, as it's present in the C++ 20 standard?

We have a patch hiding in one of those mentioned branches to make AK::Time and AK::Duration work well on windows, so that's not an issue at the moment.

[[no_unique_address]] not supported (am I using a wrong compiler? I use MSVC 2022 and its clang-cl)

A separate msvc::no_unique_address attribute must currently be used instead for ABI reasons: https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/#msvc-extensions-and-abi
This is true in clang-cl too, using a recent-enough version: https://github.com/llvm/llvm-project/pull/65675

Why find an alternative to fontconfig? It works on windows and even compiles with clang-cl. It needs to have config files shipped for it as windows doesn't provide any. It is used in GIMP for example.

Have anyone tried to build Ladybird in Cygwin? It provides some POSIX compliance for Windows.

As stated in the first post of the issue, Cygwin and Mingw are not a goal. Native windows with clang-cl and wsl2 with wslg are the only two configurations we will support in this repository.

Maybe a github discussions tab, or other way of collaboration could be opened to avoid spamming this tracking issue. This will need more work. (Also how to get cmake to find ICU data?)

@R-Goc I'm currently trying to prepare a native windows build, I've downloaded the icu4c library and have added an environment variable ICU_ROOT to point to the root folder of the ICU lib (where include, lib folders are located). This should be enough for CMake to find it.
Currently "stuck" on PkgConfig and JPEG.

pkgconfig looks like is only needed as a build tool so I guess the version distributed with MinGW (like in w64devkit) should work.

Hi all,
This is not the place for such discussions. The project has a discord channel. Use that instead of this issue.

PkgConfig is a unix thingie. Not a Windows one. I don't think its the correct way.
The package manager used by ladybird is vcpkg, all 3rd parties should be consumed via vcpkg
Lagom needs a lot of fixes to compile won MSVC/Clang (or MinGW).
The last time I checked this - I found that ffmpeg is pulled needed to build. There was a decision not to pull this from the package manager, as ffpmped is GPL, and this would "taint" the code to be GPL (instead of 2BSD License). I have not followed what happened since.
Project is still not stable (development wise speaking only, meaning the code/build-system is very volatile on a daily basis). I put some time off until the build system stabilizes, and then I can continue with the port.
If you have a PR, please link this issue.

@diegoiast I have got the checks of 2 and 3 working in this pr if or when it is merged Platform Windows: Get CMake working to build Windows-native build #1695 vcpkg can build font-config and other library's except FFMPEG this is disabled for this config. the PR sets up CMake to be able to construct the browser with ClangCL but was Working with MSVC first.

This is a meta issue to track all the issues needed for a Windows support.
Goals:

We aim to support clang-cl. This is the first priority.
Later on, cl, from 2022. This is a very low priority.
If we manage to get some mingw toolchain to compile the program - I am happy. But this is not a goal.

Problems:

[x]  ~Some compiler flags are not compatible with clang-cl.~ (Meta/Windows: fix compilation flags for clang-cl #77)
[ ]  We need a package manager to handle building 3rd parties (ICU, fontconfig?, Skia, WABT, more?)
[ ]  We need to find an alternative to fontconfig.
[ ]  'sys/time.h' not found
[ ]  [[no_unique_address]] not supported (am I using a wrong compiler? I use MSVC 2022 and its clang-cl)
[ ]  We need to pull code from previous attempts of this kind of work.  (cherry-picks, rebase etc).
[ ]  Need to understand how to run the commit linters on the local machine, as we don't want developers to spam the CI/CD with phantom builds, just to fix a typo on the commit log (yes, that is directed at me)

Known forks, branches:

https://github.com/cammo1123/serenity/tree/WindowsJS2.0
https://github.com/abuneri/serenity/tree/windows-ladybird

Please do not comment on this issue unless you have something to contribute. This issue is one of the boss-issues - it will take time. Problems and goals will change, nothing is written in stone, provide code if you can.

updated list

[x]  ~Some compiler flags are not compatible with clang-cl.~ (Meta/Windows: fix compilation flags for clang-cl #77)
[X]  We need a package manager to handle building 3rd parties (ICU, fontconfig?, Skia, WABT, more?)
[X]  We need to find an alternative to fontconfig.
[ ]  'sys/time.h' not found
[ ]  [[no_unique_address]] not supported (am I using a wrong compiler? I use MSVC 2022 and its clang-cl)
[ ]  We need to pull code from previous attempts of this kind of work.  (cherry-picks, rebase etc).
[ ]  Need to understand how to run the commit linters on the local machine, as we don't want developers to spam the CI/CD with phantom builds, just to fix a typo on the commit log (yes, that is directed at me)

[[no_unique_address]] is a known thing. In short because of compatibility it is a noop. On msvc and clang-cl which attempts to match cl, you need to use [[msvc::no_unique_address]]. See https://github.com/llvm/llvm-project/issues/49358 for reference.


Tests not submitted suddenly after working for an hour

Had this problem intermittently all day. Jake said it's because of the new server...
on JS "Math Matters" kata. I hope this gets fixed before my bootcamp starts. Thanks for your efforts.

Are they not submitting at all or are you not able to finalize your solution? Also, does the "Run Tests" button work?

They were submitting tests for an hour then stopped. Can't finalize.
On Tuesday, June 14, 2016, Jake Hoffner<EMAIL_ADDRESS>wrote:

Are they not submitting at all or are you not able to finalize your
solution? Also, does the "Run Tests" button work?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Codewars/codewars.com/issues/390#issuecomment-226077776,
or mute the thread
https://github.com/notifications/unsubscribe/AC7C7fOlcyVi5xMCdt520CrU1sGWyl67ks5qL26MgaJpZM4I18ds
.

This is same as #391, should be resolved now.


RFC: dtlib: add lineno/filename to string representation of a DT

This proposes to capture filename/lineinfo of where all DT nodes and properties come from so that it can be included as comments when spitting out zephyr.dts.
This can be useful information for folks to help troubleshoot where something unexpectedly gets overridden, etc.
Below is an example of the output

zephyr.dts for samples/net/wifi on reel_board
/dts-v1/;

/* node '/' defined in ../../dts/common/skeleton.dtsi:9 */
/ {
	#address-cells = < 0x1 >;         /* in ../../dts/common/skeleton.dtsi:10 */
	#size-cells = < 0x1 >;            /* in ../../dts/common/skeleton.dtsi:11 */
	model = "reel board";             /* in ../../dts/common/skeleton.dtsi:14 */
	compatible = "phytec,reel_board"; /* in ../../dts/common/skeleton.dtsi:15 */

/* ... */

		/* node '/soc/spi@4002f000' defined in ../../dts/arm/nordic/nrf52840.dtsi:526 */
		spi3: arduino_spi: spi@4002f000 {
			compatible = "nordic,nrf-spim";     /* in ../../dts/arm/nordic/nrf52840.dtsi:527 */
			#address-cells = < 0x1 >;           /* in ../../dts/arm/nordic/nrf52840.dtsi:528 */
			#size-cells = < 0x0 >;              /* in ../../dts/arm/nordic/nrf52840.dtsi:529 */
			reg = < 0x4002f000 0x1000 >;        /* in ../../dts/arm/nordic/nrf52840.dtsi:530 */
			interrupts = < 0x2f 0x1 >;          /* in ../../dts/arm/nordic/nrf52840.dtsi:531 */
			max-frequency = < 0x1e84800 >;      /* in ../../dts/arm/nordic/nrf52840.dtsi:532 */
			easydma-maxcnt-bits = < 0x10 >;     /* in ../../dts/arm/nordic/nrf52840.dtsi:533 */
			rx-delay-supported;                 /* in ../../dts/arm/nordic/nrf52840.dtsi:534 */
			rx-delay = < 0x2 >;                 /* in ../../dts/arm/nordic/nrf52840.dtsi:535 */
			status = "ok";                      /* in ../../dts/arm/nordic/nrf52840.dtsi:27 */
			cs-gpios = < &gpio1 0x3 0x1 >;      /* in ../../dts/arm/nordic/nrf52840.dtsi:28 */
			pinctrl-0 = < &spi3_default_alt >;  /* in ../../dts/arm/nordic/nrf52840.dtsi:29 */
			pinctrl-1 = < &spi3_sleep_alt >;    /* in ../../dts/arm/nordic/nrf52840.dtsi:30 */
			pinctrl-names = "default", "sleep"; /* in ../../dts/arm/nordic/nrf52840.dtsi:31 */

			/* node '/soc/spi@4002f000/winc1500@0' defined in ../../samples/net/wifi/boards/reel_board.overlay:33 */
			winc1500@0 {
				status = "ok";                     /* in ../../samples/net/wifi/boards/reel_board.overlay:34 */
				compatible = "atmel,winc1500";     /* in ../../samples/net/wifi/boards/reel_board.overlay:35 */
				reg = < 0x0 >;                     /* in ../../samples/net/wifi/boards/reel_board.overlay:36 */
				spi-max-frequency = < 0x3d0900 >;  /* in ../../samples/net/wifi/boards/reel_board.overlay:37 */
				irq-gpios = < &gpio1 0x7 0x1 >;    /* in ../../samples/net/wifi/boards/reel_board.overlay:38 */
				reset-gpios = < &gpio1 0x8 0x1 >;  /* in ../../samples/net/wifi/boards/reel_board.overlay:39 */
				enable-gpios = < &gpio1 0xc 0x0 >; /* in ../../samples/net/wifi/boards/reel_board.overlay:40 */
			};
		};

		/* node '/soc/gpio@50000000' defined in ../../dts/arm/nordic/nrf52840.dtsi:539 */
		gpio0: gpio@50000000 {
			compatible = "nordic,nrf-gpio";              /* in ../../dts/arm/nordic/nrf52840.dtsi:540 */
			gpio-controller;                             /* in ../../dts/arm/nordic/nrf52840.dtsi:541 */
			reg = < 0x50000000 0x200 0x50000500 0x300 >; /* in ../../dts/arm/nordic/nrf52840.dtsi:542 */
			#gpio-cells = < 0x2 >;                       /* in ../../dts/arm/nordic/nrf52840.dtsi:544 */
			status = "okay";                             /* in ../../dts/arm/nordic/nrf52840.dtsi:112 */
			port = < 0x0 >;                              /* in ../../dts/arm/nordic/nrf52840.dtsi:546 */
			gpiote-instance = < &gpiote >;               /* in ../../dts/arm/nordic/nrf52840.dtsi:547 */
			phandle = < 0x6 >;                           /* in ../../dts/arm/nordic/nrf52840.dtsi:-1 */
		};

		/* node '/soc/gpio@50000300' defined in ../../dts/arm/nordic/nrf52840.dtsi:550 */
		gpio1: gpio@50000300 {
			compatible = "nordic,nrf-gpio";              /* in ../../dts/arm/nordic/nrf52840.dtsi:551 */
			gpio-controller;                             /* in ../../dts/arm/nordic/nrf52840.dtsi:552 */
			reg = < 0x50000300 0x200 0x50000800 0x300 >; /* in ../../dts/arm/nordic/nrf52840.dtsi:553 */
			#gpio-cells = < 0x2 >;                       /* in ../../dts/arm/nordic/nrf52840.dtsi:555 */
			ngpios = < 0x10 >;                           /* in ../../dts/arm/nordic/nrf52840.dtsi:556 */
			status = "okay";                             /* in ../../dts/arm/nordic/nrf52840.dtsi:116 */
			port = < 0x1 >;                              /* in ../../dts/arm/nordic/nrf52840.dtsi:558 */
			gpiote-instance = < &gpiote >;               /* in ../../dts/arm/nordic/nrf52840.dtsi:559 */
			phandle = < 0xd >;                           /* in ../../dts/arm/nordic/nrf52840.dtsi:-1 */
		};

		/* node '/soc/crypto@5002a000' defined in ../../dts/arm/nordic/nrf52840.dtsi:562 */
		cryptocell: crypto@5002a000 {
			compatible = "nordic,cryptocell", "arm,cryptocell-310"; /* in ../../dts/arm/nordic/nrf52840.dtsi:563 */
			reg = < 0x5002a000 0x1000 >, < 0x5002b000 0x1000 >;     /* in ../../dts/arm/nordic/nrf52840.dtsi:564 */
			reg-names = "wrapper", "core";                          /* in ../../dts/arm/nordic/nrf52840.dtsi:565 */
			interrupts = < 0x2a 0x1 >;                              /* in ../../dts/arm/nordic/nrf52840.dtsi:566 */
			status = "disabled";                                    /* in ../../dts/arm/nordic/nrf52840.dtsi:567 */
		};
	};

/* ...  */

	/* node '/leds' defined in ../../boards/phytec/reel_board/dts/reel_board.dtsi:17 */
	leds {
		compatible = "gpio-leds"; /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:30 */

		/* node '/leds/led_0' defined in ../../boards/phytec/reel_board/dts/reel_board.dtsi:19 */
		red_led: led_0 {
			gpios = < &gpio0 0xb 0x1 >; /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:20 */
			label = "User D3 red";      /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:21 */
		};

		/* node '/leds/led_1' defined in ../../boards/phytec/reel_board/dts/reel_board.dtsi:23 */
		green_led: led_1 {
			gpios = < &gpio0 0xc 0x1 >; /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:24 */
			label = "User D3 green";    /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:25 */
		};

		/* node '/leds/led_2' defined in ../../boards/phytec/reel_board/dts/reel_board.dtsi:27 */
		blue_led: led_2 {
			gpios = < &gpio1 0x9 0x1 >; /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:28 */
			label = "User D3 blue";     /* in ../../boards/phytec/reel_board/dts/reel_board.dtsi:29 */
		};

		/* node '/leds/led_3' defined in ../../boards/phytec/reel_board/reel_board.dts:31 */
		back_led: led_3 {
			gpios = < &gpio0 0xd 0x1 >; /* in ../../boards/phytec/reel_board/reel_board.dts:32 */
			label = "User D13 green";   /* in ../../boards/phytec/reel_board/reel_board.dts:33 */
		};
	};

/* ... */

};

I think this is a very useful feature.   I often will check zephyr.dts when figuring out overlays. Right now I will make small changes to an overlay just to be sure of the file being used.

That would be incredibly helpful!
Devicetree compilation and subsequent linker errors are easily the hardest to debug thing in Zephyr. Anything that gives more insight into how things got to be (or why they may be missing) would help a lot.

A nice addition to help track device tree nodes!
I do think it would be cleaner to have a relative path from the workspace instead of the build directory? Either way a +1.

I was hoping that having the paths relative to the zephyr.dts file itself would allow having things like CTRL+click on a path directly take one to the right file in e.g. VS Code but it doesn't look like it's that smart :)

I do think it would be cleaner to have a relative path from the workspace instead of the build directory?

FMPOV, that depends more on the location of the file. If it's a project specific file, maybe CURRENT_SOURCE_DIR will be nice, if it's located in the zephyr tree itself, the maybe ZEPHYR_BASE. The difference for a developer would be, that editing of a project dts will be an option, while zephyr dts will require a project specific overlay and if the displayed path makes it easy to distinguish, then it will speed up the fix. In a couple of cases (e.g. NCS), it may requires more "root"-directories not just the CURRENT_SOURCE_DIR and ZEPHYR_BASE. Maybe a list with candidates of "root"-directories will be an solution.
As already written above by others, either way a +1.


added deep equal

Hi, i've created an issue about this, and decided, I could easily implement this, and did.
I think the library could benefit this, as it makes it a little more flexible.

Found out i missed a bunch stuff. Closing it.


Showing correct name in table format for artifact tags list cmd

This fix #256
Before

After
harbor artifact tags list

❯ ./harbor-dev artifact tags list "alpine/alpine/sha256:675c712e53bc9534c61ce7fd13e0a0cb188ba6b7626ae73a5a3da42db49a40b6"

the argument should be project/repo@digest instead of project/repo/digest.

Hi @bupd, I bet most people won’t be able to remember that random string of a digest. :joy:

closing in favor of #286


addData to Left Side

How about adding the ability to let addData optionally add to the left side of the graph. Maybe a new option on init? addData could use unshift instead of push and removeData could use pop instead of shift.

This is possible in the 2.0-dev branch. addData now has the function signature addData(dataValue, datasetIndex, index)


Added mariadb database type

Currently import-jdl fails, when 'mariadb' is set as database type.

Thanks for submitting this PR!


about batch_size

Hello author, how to use larger batch_size for training? I changed the batch_size in cfg from 1 to 4, but the actual training process is still training according to batch_size of 1.

only support bs=1 @rui19950830


Add spec for  mapper operation

Could you please check your solution against this specs?
I think the first and one should pass, the last two should fail (at least because the specific error hasn't been defined yet).
What is interesting is the second one.

Yeah they look pretty red against those tests. Just merged them into master and will take a look into getting them green.

Wait for a moment! I'll make the first two work. Need to update the PR


SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com"

I'm looking for some help, because I'm having a hard time getting SPSearchTopology configured. I keep getting the following events in the DSC Log, currently with exactly one minute in between:

Job {3FF2D5A4-8F36-11EC-B34D-EE000000024D} :
This event indicates that a non-terminating error was thrown when DSCEngine was executing Set-TargetResource on MSFT_SPSearchTopology DSC resource. FullyQualifiedErrorId is Microsoft.Office.Server.Search.Cmdlet.GetSearchServiceInstance. Error Message is SearchServiceInstance is not found on server 'System.MyDomain.com'..

And

Job {3FF2D5A4-8F36-11EC-B34D-EE000000024D} :
MIResult: 1
Error Message: SearchServiceInstance is not found on server 'System.MyDomain.com'.
Message ID: Microsoft.Office.Server.Search.Cmdlet.GetSearchServiceInstance
Error Category: 6
Error Code: 6
Error Type: MI

My config for the main server (APPSERVER01) performing the install:
SPSearchServiceApp CreateSearchServiceApplication {
	AlertsEnabled               = $True;
	ApplicationPool             = "SharePoint Web Services Default";
	DatabaseName                = Farm_SA_Search";
	DatabaseServer              = "sql01.mydomain.com"
	Ensure                      = "Present";
	FixFarmAccountPermissions   = $True;
	Name                        = "Search Service Application";
	ProxyName                   = "Search Service Application Proxy";
	PsDscRunAsCredential        = $SPSetupAccount;
	SearchCenterUrl             = "https://farm.mydomain.com/sites/search/Pages";
	DependsOn                   = @("[SPManagedAccount]SPCrawlAccount","[SPWebApplication]SharePointMySites","[SPWebApplication]SharePointSites","[SPServiceAppPool]SharePointWebServicesDefault","[WaitForAll]AppServersReadyForSearchTopology")
}
SPSearchTopology CreateSearchTopology {
	ServiceAppName          = "Search Service Application";
	Admin                   = @("APPSERVER01","APPSERVER02","APPSERVER03");
	Crawler                 = @("APPSERVER01","APPSERVER02","APPSERVER03");
	ContentProcessing       = @("APPSERVER01","APPSERVER02","APPSERVER03");
	AnalyticsProcessing     = @("APPSERVER01","APPSERVER02","APPSERVER03");
	QueryProcessing         = @("APPSERVER01","APPSERVER02","APPSERVER03");
	IndexPartition          = @("APPSERVER01","APPSERVER02","APPSERVER03");
	PsDscRunAsCredential    = $SPSetupAccount;
	FirstPartitionDirectory = "E:\SearchIndex\0";
 	DependsOn               = "[SPSearchServiceApp]CreateSearchServiceApplication"
}

The other two servers (02 and 03) are at that moment in an installed state, and joined to the farm. Further configuration is not yet performed, and they are waiting to be added to the topology.
Output of Get-SPEnterpriseSearchServiceInstance shows the search instances on those servers as online.
I've been pulling my hair for over a week on this, I've no idea where this "system" is coming from. What am I doing wrong, because I'm definitely doing something wrong.

Hi @JenTonUg, I have a few questions:

Do you have some verbose logging you can share?
Is "System" really the value that is being returned or did you update this to prevent sharing server names?
Which version of SharePointDsc are you using?

Hi @ykuijs,
Thank you for getting back to me. so quickly!

I do, you can find it on pastebin. I've switched out usernames, domain and servernames with a replace all, so it should be consistent across the board with my initial post.
When I mention "system.mydomain.com" only the "mydomain.com" part is switched to hide server names. System is there in the log.
I'm using SharepointDSC 5.0.0.

Let me know if I can provide you with any further information.

Hi @JenTonUg,
I think something is going wrong with your config. When reviewing your logging I noticed this:

{"time": "2022-02-17T12:16:55.820+01:00", "type": "verbose", "message": "[APPSERVER01]:                            [[SPSearchTopology]CreateSearchTopology] Current Values: Admin=(); AnalyticsProcessing=(); ContentProcessing=(); Crawler=(); FirstPartitionDirectory=C:\Program Files\Microsoft Office Servers\16.0\Data\Office Server\Applications; IndexPartition=(); QueryProcessing=(); ServiceAppName=Search Service Application"},
{"time": "2022-02-17T12:16:55.820+01:00", "type": "verbose", "message": "[APPSERVER01]:                            [[SPSearchTopology]CreateSearchTopology] Target Values: Admin=(System.Collections.Hashtable.NonNodeData.SearchAdminServers); AnalyticsProcessing=(System.Collections.Hashtable.NonNodeData.SearchAnalyticsProcessingServers); ContentProcessing=(System.Collections.Hashtable.NonNodeData.SearchContentProcessingServers); Crawler=(System.Collections.Hashtable.NonNodeData.SearchCrawlerServers); FirstPartitionDirectory=E:\SearchIndex\0; IndexPartition=(System.Collections.Hashtable.NonNodeData.SearchIndexPartitionServers); QueryProcessing=(System.Collections.Hashtable.NonNodeData.QueryProcessingServers); ServiceAppName=Search Service Application; Verbose=True"},

This is where the System is coming from. This must be caused by the way the MOF file is compiled. Can you share your exact configuration of the SPSearchTopology resource?

Certainly, could I contact you directly?

I’m an idot to.
For a long time i tought that NonNodeData was required, it is not. You can name the NonNodeData whatever you want. And you can have multiple ‘NonNodeData’
From: JenTonUg @.>
Sent: Thursday, 17 February 2022 15:17
To: dsccommunity/SharePointDsc @.>
Cc: Subscribed @.***>
Subject: Re: [dsccommunity/SharePointDsc] SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com" (Issue #1381)
Nevermind, I think I spotted it in the config with your help.
Crawler = "$ConfigurationData.NonNodeData.SearchCrawlerServers";
==> I put double quotes there...  I might have looked at it 30 times but never spotted it.
I'll switch it out and retry, but that should be it. Thank you for your help, very much appreciated!
—
Reply to this email directly, view it on GitHubhttps://github.com/dsccommunity/SharePointDsc/issues/1381#issuecomment-1042995473, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AID6F4CDZGV6RYPXPCWA7ZDU3T7L7ANCNFSM5OSAD7HQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>

To clarify my new knowledge, being less of an idot.
@{
AllNodes = @(
@{
NodeName = 'localhost'
NodeType = 'Client' # VALUES: Client | Server
NodeRole = @('BizTalk', 'ServiceFabric', 'SqlServer') # VALUES: BizTalk & ServiceFabric & SqlServer
BizTalkReplica = 'Primary' # VALUES: Primary | Secondary
ServiceFabricReplica = 'Primary' # VALUES: Primary | Secondary
SqlServerReplica = 'Primary' # VALUES: Primary | Secondary
PSDscAllowDomainUser = $true
PSDscAllowPlainTextPassword = $true
},
@{
NodeName = '*'
}
)
Modules = @(
@{ Name = 'xPSDesiredStateConfiguration'; Version = '9.1.0' }
@{ Name = 'ComputerManagementDsc'; Version = '8.5.0' }
@{ Name = 'NetworkingDsc'; Version = '8.2.0' }
@{ Name = 'xWindowsUpdate'; Version = '2.8.0' }
)
BizTalk = @{
Modules = @(
@{ Name = 'BizTalkServer'; Version = '<IP_ADDRESS>' }
)
ProductName = 'Microsoft BizTalk Server 2020'
ProductId = '{205F5836-7512-4A06-9E74-ADC8AFA0EEC5}'
SourcePath = 'C:\Users\Public\Public Media\BizTalk 2020\BizTalk Server\Setup.exe'
Patch = @{
ProductName = 'Microsoft BizTalk Server 2020 Cumulative Update 3 [KB 5007969]'
ProductId = '{0AA5B03E-C72E-4769-B351-97C57E24BF5A}'
SourcePath = 'C:\Users\Public\Public Media\BizTalk 2020\BizTalk Server CUs\BTS2020-KB5007969-ENU (CU3).exe'
}
# TODO: Break out to psd1 file
Adapters = @(
@{ Name = 'AzureBlobStorage'
ReceiveHandlers = @(
@{ Host = 'GcRxHost64' }
)
SendHandlers = @(
@{ Host = 'GcSxHost64'; Default = $false }
)
}
)
Hosts = @()
}
ServiceFabric = @{
Modules = @(
@{ Name = 'ServiceFabricDsc'; Version = '<IP_ADDRESS>' }
)
ProductName = '???'
ProductId = '???'
SourcePath = '\??????'
# TODO: Break out to psd1 file
}
SqlServer = @{
Modules = @(
@{ Name = 'xFailoverCluster'; Version = '1.16.0' } # TODO: There is a version 1.17.0 that enables placing cluster nodes in desired AD OU, need som OS love
@{ Name = 'SqlServerDsc'; Version = '15.2.0' }
)
SourcePath = 'C:\Users\Public\Public Media\SQL Server 2019'
# TODO: Break out to psd1 file
ConfigureWindowsFirewall = $true
SQLUserDBDir = $null
SQLUserDBLogDir = $null
SQLTempDBDir = $null
SQLTempDBLogDir = $null
FailoverClusterName = 'CLUSQL'
FailoverClusterIPAddress = '<IP_ADDRESS>'
FailoverClusterIgnoreNetwork = '<IP_ADDRESS>/16'
SqlInstances = @(
@{
Name = 'MSSQLSERVER'
Features = 'SQLENGINE'
AsServerMode = 'TABULAR'
MaxDop = 0
TcpPort = 1433
EndPointIPAddress = $null
EndPointPort = $null
Logins = @();
}
)
}
Windows = @{
SourcePath = 'C:\Users\Public\Public Media\Windows 10\Sources\Sxs'
}
}
From: Ilian Nilsson
Sent: Thursday, 17 February 2022 15:20
To: dsccommunity/SharePointDsc @.>; dsccommunity/SharePointDsc @.>
Cc: Subscribed @.***>
Subject: RE: [dsccommunity/SharePointDsc] SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com" (Issue #1381)
I’m an idot to.
For a long time i tought that NonNodeData was required, it is not. You can name the NonNodeData whatever you want. And you can have multiple ‘NonNodeData’
From: JenTonUg<EMAIL_ADDRESS>Sent: Thursday, 17 February 2022 15:17
To: dsccommunity/SharePointDsc<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [dsccommunity/SharePointDsc] SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com" (Issue #1381)
Nevermind, I think I spotted it in the config with your help.
Crawler = "$ConfigurationData.NonNodeData.SearchCrawlerServers";
==> I put double quotes there...  I might have looked at it 30 times but never spotted it.
I'll switch it out and retry, but that should be it. Thank you for your help, very much appreciated!
—
Reply to this email directly, view it on GitHubhttps://github.com/dsccommunity/SharePointDsc/issues/1381#issuecomment-1042995473, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AID6F4CDZGV6RYPXPCWA7ZDU3T7L7ANCNFSM5OSAD7HQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>

@JenTonUg, those damn quotes.....been there, done that 😛 Sometimes having a fresh pair of eye will do magic. Let me know if this fixes the issue!
@IlleNilsson, absolutely! I thought that as well in the beginning. But just AllNodes is a fixed name, NoneNodeData indeed isn't......you can name it whatever you want!

And if you are wondering about the Module sections, here is how we distribute them on nodes
#Requires -PSEdition Desktop
#Requires -Version 5.1
#Requires -RunAsAdministrator
#Requires -Modules @{ ModuleName = 'Microsoft.PowerShell.SecretManagement'; ModuleVersion = '1.1.2' }
#Requires -Modules @{ ModuleName = 'Microsoft.PowerShell.SecretStore'; ModuleVersion = '1.0.6' }
function Enable-Dsc {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[hashtable]$Node,
[string[]]$NodeRole
)
$ErrorActionPreference = 'Stop'
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Get-Job | Remove-Job -Force # INFO: Remove any previous jobs

# INFO: Retreive DSC resources needed for all nodes for all roles
$commonModules = $Node.Modules

$Node.AllNodes | # INFO: Filter which nodes should be used by role
    Where-Object { ($_.NodeName -ne '*') -and
        (($null -eq $NodeRole) -or (Compare-Object $NodeRole $_.NodeRole -ExcludeDiff)) } |
            ForEach-Object {
    $combinedModules = $commonModules

    $_.NodeRole | # INFO: Filter which roles should be used for current node
        Where-Object { ($null -eq $NodeRole) -or (Compare-Object $_ $NodeRole -ExcludeDiff) } |
            ForEach-Object {
        # INFO: Retreive DSC resources for current node and current role
        $roleModules = Invoke-Expression "`$Node.$_.Modules"
        # INFO: Add DSC resources for role to combined resource modules
        $combinedModules += $roleModules
    }

    Write-Progress -Activity 'Preparing nodes for DSC' -Status "Node: $($_.NodeName)"

    try { # INFO: Install PowerShell modules on nodes # NOTE: This is executed on remote node, it's hard to debug so be carefull
        Invoke-Command -Computer $_.NodeName -Script {
            param([array]$modules)

            #Requires -Version 5.1
            #Requires -RunAsAdministrator

            [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
            $ErrorActionPreference = 'Stop'
            Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
            Set-Item -Path 'WSMan:\localhost\MaxEnvelopeSizeKb' -Value 8192

            if (!(Get-PackageProvider -Name 'NuGet')) { # INFO: Install NuGet package provider if not present
                Install-PackageProvider -Name 'NuGet' -Scope AllUsers -Confirm:$false -Force | Out-Null
            }

            if (($psGalleryRepo = Get-PSRepository -Name 'PSGallery') -and
                $psGalleryRepo.InstallationPolicy -ne 'Trusted') { # INFO: Set PSGallery installation policy to trusted if it isn't
                Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
            }

            $modules | Where-Object { $null -ne $_ } | Where-Object { # INFO: Install PowerShell modules not present on node
                param(
                    [string]$RequiredVersion = $_.Version
                )

                !(Get-Module -Name $_.Name -ListAvailable | Where-Object { $_.Version -eq $RequiredVersion } )
            } | ForEach-Object {
                Find-Module -Name $_.Name -RequiredVersion $_.Version |
                    Install-Module -Scope AllUsers -AllowClobber
            }
        } -Argument (, $combinedModules) -AsJob -EnableNetwork
    } catch {
        Complete-Job

        throw
    }
}

Complete-Job

Write-Progress -Activity 'Preparing nodes for DSC' -Status "Done"

}
function Complete-Job {
[CmdletBinding()]
param()
try {
    Get-Job | Wait-Job; Get-Job | Receive-Job
    Get-Job | Remove-Job
} catch {
    Get-Job | Receive-Job

    throw
} finally {
    Get-Job | Remove-Job -Force
}

}
function Get-StreamPath {
[CmdletBinding()]
param()
"$((Get-Item .).Parent.Name)\$((Get-Item .).Name)"

}
function New-Secret {
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string]$Account,
[string]$Secret
)
(New-Object System.Management.Automation.PsCredential(
    $Account, (ConvertTo-SecureString $Secret -AsPlainText -Force)))

}
From: Ilian Nilsson
Sent: Thursday, 17 February 2022 15:26
To: dsccommunity/SharePointDsc @.>; dsccommunity/SharePointDsc @.>
Cc: Subscribed @.***>
Subject: RE: [dsccommunity/SharePointDsc] SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com" (Issue #1381)
To clarify my new knowledge, being less of an idot.
@{
AllNodes = @(
@{
NodeName = 'localhost'
NodeType = 'Client' # VALUES: Client | Server
NodeRole = @('BizTalk', 'ServiceFabric', 'SqlServer') # VALUES: BizTalk & ServiceFabric & SqlServer
BizTalkReplica = 'Primary' # VALUES: Primary | Secondary
ServiceFabricReplica = 'Primary' # VALUES: Primary | Secondary
SqlServerReplica = 'Primary' # VALUES: Primary | Secondary
PSDscAllowDomainUser = $true
PSDscAllowPlainTextPassword = $true
},
@{
NodeName = '*'
}
)
Modules = @(
@{ Name = 'xPSDesiredStateConfiguration'; Version = '9.1.0' }
@{ Name = 'ComputerManagementDsc'; Version = '8.5.0' }
@{ Name = 'NetworkingDsc'; Version = '8.2.0' }
@{ Name = 'xWindowsUpdate'; Version = '2.8.0' }
)
BizTalk = @{
Modules = @(
@{ Name = 'BizTalkServer'; Version = '<IP_ADDRESS>' }
)
ProductName = 'Microsoft BizTalk Server 2020'
ProductId = '{205F5836-7512-4A06-9E74-ADC8AFA0EEC5}'
SourcePath = 'C:\Users\Public\Public Media\BizTalk 2020\BizTalk Server\Setup.exe'
Patch = @{
ProductName = 'Microsoft BizTalk Server 2020 Cumulative Update 3 [KB 5007969]'
ProductId = '{0AA5B03E-C72E-4769-B351-97C57E24BF5A}'
SourcePath = 'C:\Users\Public\Public Media\BizTalk 2020\BizTalk Server CUs\BTS2020-KB5007969-ENU (CU3).exe'
}
# TODO: Break out to psd1 file
Adapters = @(
@{ Name = 'AzureBlobStorage'
ReceiveHandlers = @(
@{ Host = 'GcRxHost64' }
)
SendHandlers = @(
@{ Host = 'GcSxHost64'; Default = $false }
)
}
)
Hosts = @()
}
ServiceFabric = @{
Modules = @(
@{ Name = 'ServiceFabricDsc'; Version = '<IP_ADDRESS>' }
)
ProductName = '???'
ProductId = '???'
SourcePath = '\??????'
# TODO: Break out to psd1 file
}
SqlServer = @{
Modules = @(
@{ Name = 'xFailoverCluster'; Version = '1.16.0' } # TODO: There is a version 1.17.0 that enables placing cluster nodes in desired AD OU, need som OS love
@{ Name = 'SqlServerDsc'; Version = '15.2.0' }
)
SourcePath = 'C:\Users\Public\Public Media\SQL Server 2019'
# TODO: Break out to psd1 file
ConfigureWindowsFirewall = $true
SQLUserDBDir = $null
SQLUserDBLogDir = $null
SQLTempDBDir = $null
SQLTempDBLogDir = $null
FailoverClusterName = 'CLUSQL'
FailoverClusterIPAddress = '<IP_ADDRESS>'
FailoverClusterIgnoreNetwork = '<IP_ADDRESS>/16'
SqlInstances = @(
@{
Name = 'MSSQLSERVER'
Features = 'SQLENGINE'
AsServerMode = 'TABULAR'
MaxDop = 0
TcpPort = 1433
EndPointIPAddress = $null
EndPointPort = $null
Logins = @();
}
)
}
Windows = @{
SourcePath = 'C:\Users\Public\Public Media\Windows 10\Sources\Sxs'
}
}
From: Ilian Nilsson
Sent: Thursday, 17 February 2022 15:20
To: dsccommunity/SharePointDsc<EMAIL_ADDRESS>dsccommunity/SharePointDsc<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: RE: [dsccommunity/SharePointDsc] SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com" (Issue #1381)
I’m an idot to.
For a long time i tought that NonNodeData was required, it is not. You can name the NonNodeData whatever you want. And you can have multiple ‘NonNodeData’
From: JenTonUg<EMAIL_ADDRESS>Sent: Thursday, 17 February 2022 15:17
To: dsccommunity/SharePointDsc<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [dsccommunity/SharePointDsc] SPSearchTopology: "SearchServiceInstance is not found on server "System.MyDomain.com" (Issue #1381)
Nevermind, I think I spotted it in the config with your help.
Crawler = "$ConfigurationData.NonNodeData.SearchCrawlerServers";
==> I put double quotes there...  I might have looked at it 30 times but never spotted it.
I'll switch it out and retry, but that should be it. Thank you for your help, very much appreciated!
—
Reply to this email directly, view it on GitHubhttps://github.com/dsccommunity/SharePointDsc/issues/1381#issuecomment-1042995473, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AID6F4CDZGV6RYPXPCWA7ZDU3T7L7ANCNFSM5OSAD7HQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>

Good news, it worked, and I have more information to report. I started off with a reverseDSC config at first. I noticed that the quotes are in there too. I've tried it again, to make certain that the quotes over there are generated by reverseDSC and the result is consistent!

I now get a new error "Could not connect to the HostController service on server  Topology Activation could not be started for constellation 0B8D89", but I should be able to fix this myself. Thank you for all the help!

Thanks for letting me know! I will check and correct the export function to make sure this is exported correctly!

You are absolutely correct, the quotes are indeed added by mistake. Have implemented a fix, which will be included in my bugfix PR!

Perfect, have fixed the SPSearchIndexPartition resource as well!


Improve index error handling, test coverage and allow find method to find an entry with minimum number

Changes Unknown when pulling 5b708dd8090876da36ae107575f8d05e12465a45 on index-improvements into ** on master**.

Changes Unknown when pulling b50218688361c75f8885ecea1f4a8f43ce433ecd on index-improvements into ** on master**.


light.exe errors when building the VMR on Windows locally

    light.exe : error LGHT1105: Validation could not run due to system policy. To eliminate this warning, run the process as admin or suppress ICE validation. [C:\git\dotnet\src\aspnetcore\src\Installers\Windows\Ta
  rgetingPack\TargetingPack.wixproj]
    light.exe : error LGHT1105: Validation could not run due to system policy. To eliminate this warning, run the process as admin or suppress ICE validation. [C:\git\dotnet\src\aspnetcore\src\Installers\Windows\Sh
  aredFramework\SharedFramework.wixproj]
    light.exe : error LGHT1105: Validation could not run due to system policy. To eliminate this warning, run the process as admin or suppress ICE validation. [C:\git\dotnet\src\aspnetcore\src\Installers\Windows\As
  pNetCoreModule-Setup\ANCMIISExpressV2\AncmIISExpressV2.wixproj]
    light.exe : error LGHT1105: Validation could not run due to system policy. To eliminate this warning, run the process as admin or suppress ICE validation. [C:\git\dotnet\src\aspnetcore\src\Installers\Windows\As
  pNetCoreModule-Setup\ANCMV2\ANCMV2.wixproj]

see https://github.com/orgs/wixtoolset/discussions/6715 for more details
Unfortunately, none of the steps listed in that issue work for me.

@joeloff any idea how to avoid those errors? I really need to be able to build the installers locally on my in-tuned machine.


There is no end point for fetching individual failures

Please add a get "/#{VERSION}/failures/:id"

#16


View composer namespaced wildcards no longer work

Laravel Version: 9.36.0
PHP Version: 8.1.6
Database Driver & Version: N/A

Description:
Using a view composer with a namespaced wildcard no longer works as of 9.36.0. Likely due to #44487 since it's all about views.
public function boot()
{
    $this->loadViewsFrom(resource_path('namespaced'), 'namespaced');

    View::composer('namespaced::*', fn ($view) => $view->with('foo', 'bar'));
}

{{ $foo }}

Undefined variable $foo

Using a complete wildcard still works. View::composer('*', ...)
It's just the namespaced version that doesn't. View::composer('namespace::*', ...)
Steps To Reproduce:

Here's a GitHub repo with the issue reproduced. Link to commit that adds the problematic bits:
https://github.com/jasonvarga/laravel-view-composer-issue/commit/1548cefdba11aa2c660eb2aab6eb5b5fef2d1958

I'll take a stab at a PR.

Yeah, I can confirm the issue. We need to work a bit more on shouldCallComposers. Good luck on the PR! =D

I had a feeling it would be much faster for Nuno. 🤣

@jasonvarga Can you test if the changes I've made fix the issue you were having in your application? It does fix the issue on the application you have prepared on the issue.

Yup, fixes it for us too. Thanks @nunomaduro

Thank you for the speedy turnaround!


Offline Access to Analytics Reporting API

Hi, my Google app gets the offline access this code of javascript library.
auth2.grantOffline().then(function(resp) {
     // where to use this auth_code? expiry of it?
    let auth_code = resp.code;
});

But I don't see any usage of ithis auth_code, is there any example/sample code to use it? what is the expiry date of this offline token code? Can we use this auth_code with PHP libarary?
https://developers.google.com/analytics/devguides/config/mgmt/v3/quickstart/service-php
https://developers.google.com/identity/sign-in/web/reference#googleauthgrantofflineaccessoptions
Thanks

@mzubairharoon Did you got any solutions?

Sorry we did not respond to this in a timely fashion. I'm going to close this, under the assumption it isn't relevant any more >2 years later.
If you still need help with this, please refer to the Identity documentation and/or post to Stack Overflow with the google-oauth tag.


Calendar should have default height to wrap content

Version of flutter_calendar_carousel
Version 1.3.7
Expected behavior
CalendarCarousel widget should have wrap_content height if height attribute is not manually set
Actual behavior
when height is not set, CalendarCarousel takes full screen height
flutter doctor result (run flutter doctor in terminal)
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.0.0, on Mac OS X 10.13.6 17G4015, locale en-AU)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.2)
[✓] Connected device (2 available)
• No issues found!

I encountered this need when I was testing the proper height value. For iOS, height: 290 works fine. When I tried with iPad, the height is too small.
Screenshots
iPhone 8

iPad

Workaround
I can implement workaround to adjust the height value depending on the display,


Added developer options configuration from settign tab in UI

Description
Added developer options configuration from settign tab in UI

Related Issues
https://github.com/threefoldtech/js-sdk/issues/739

verified


WiX Bootstrapper Sample

This document is very comprehensive.  It would be useful if it went a step farther and just provide a WiX bootstrapper bundle sample including all the relevant details such as:

download urls
digital signing thumbprint for download validation
install commands
detection logic... 32bit and this registry key  or 64bit and this registry key

For online and offline installation scenarios.

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

ID: 8a805f15-55ba-4ef4-aeda-22188a040c66
Version Independent ID: 88de0955-526f-a4c9-efcc-d952281850e1
Content: Distribute a WebView2 app and the WebView2 Runtime - Microsoft Edge Development
Content Source: microsoft-edge/webview2/concepts/distribution.md
Product: microsoft-edge
Technology: webview
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Thanks for opening the issue @chrpai ! We have some example about WiX on https://github.com/MicrosoftEdge/WebView2samples#webview2-deployment. Note that the samples were done before we added the ability to install without elevation, so it only checks for the HKLM regkey not the HKCU one for WebView2's presence. We will have a bug tracking updating the samples. Cheers.

Because WiX is one of many 3rd party installer tools available out there, we're not going to be adding specific documentation about it, but hopefully the sample @liminzhu provided is helpful enough.


[WFLY-16274] Remove the dependency on the Geronimo JSON API fork and Apache Johnzon JSON implementation in favor of using the GlassFish

https://issues.redhat.com/browse/WFLY-16274
https://github.com/wildfly/wildfly-core/pull/5052 requires this PR for the integration PR's to successfully pass tests. The second commit adds two modules from core which can be removed once https://github.com/wildfly/wildfly-core/pull/5052 is merged and core is integrated.

I'm not getting these failures locally on Windows so I'm not too sure what is going on.

@jamezp These failures are https://issues.redhat.com/browse/WFLY-16277, except the 3 clustering ones which we see occasionally elsewhere.

@jamezp These failures are https://issues.redhat.com/browse/WFLY-16277, except the 3 clustering ones which we see occasionally elsewhere.

I assume by clustering ones you mean messaging HA ones :-) Looking at this build that failed above https://ci.wildfly.org/buildConfiguration/WF_PullRequest_WindowsJdk11/300784?showRootCauses=false&expandBuildTestsSection=true - that's all messaging.


DB engine for pandas: sql.connect or sqlalchemy

Hello,
I was wondering what's the best practice for using this package with pandas.

It's possible to create a databricks.sql.connect and pass it to pandas.read_sql. This works however it raises

UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2
connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.

Alternatively it's possible to use SQLAlchemy with a databricks:// URL and pass that to pandas.

What's the recommended way, in particular regarding performance? Would both use CloudFetch for larger queries? I see there are some fixes/improvements done for pandas done in PRs so which API should be used to benefit from those?
Thanks!
cc @kravets-levko

Unless one is supposed to use fetchall_arrow and convert the resulting PyArrow table to pandas? Some example would be good (also in https://github.com/databricks/databricks-sql-python/issues/21)


30% Ruling Option

Hi, is there any plan to add 30% ruling option?

Appearently it's there, but it's hidden behind hamburger menu

@Kobaruon probably I should make it clear and open the menu for the first time


Added game guide

Added a first-cut at a game guide. It definitely needs some work, but it should be a good starting point for us to begin designing aspects of the game and breaking down the work.

Coverage remained the same at 100.0% when pulling 3d01a9c7a586ceb6724c5989af3e9ae139303b21 on guide into 85c2e7b5a8ee2403b3911520de3b8339d7df1b09 on master.


Add ability to use font size from root element

Right now, you have to explicitly declare root font size value as argument for plugin. It would be good if plugin could read input CSS and read html/root element font size value and use that as starting point. If there is no value, use current (and browser) default, 16px.

Thanks for the suggestion. Can this be done cleanly? Seems like you would rather just tell PostCSS explicitly what base font size you're using then have it search the whole document for html selectors and use the last font-size declaration with the greatest specificity. Also, if you split up your CSS files, this could cause unwanted inconsistencies among the base font size.


Updated Readme with a link to microsoft docs

hey @larryclaman Thanks for the contribution. Just curious to know if we have similar example docs for variable substitution for xml and yml files as well?


Strong ghosting...   🤔

I see strong ghosting in Starfield when moving.

Use with motion vector shaders, further removal of ghosting is only possible by decreasing the history length or waiting for updates.

Use it with motion vector shaders (such as DRME, ReShade Motion vectors, DH_UBER_MOTION, etc...) and reduce the motion vector error tolerance, further removal of ghosting is only possible by decreasing the history length or waiting for updates.

Ahh...   that was it. I wasn't using any motion vectors shader.
Your shader is amazing, man. Any idea when you will release a new version?

Soon... A new GI-AO-Reflecion shader will lighten the dark.


deep-link

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: deep-link
Document link: deep-link.md
My Issue/Suggestion
The mention page link to docs.mendix.com for deep-link does not mention if it is safe to upgrade deeplink for your app.
While upgrading from MX8 to MX9, we need to know if upgrading deeplink will not break existing links.
Can this be added to the documentation?
Thanks much in advance!

I think it already is in the documentation. See paragraph 4 troubleshooting. That is the only breaking change for upgrading from Mx8 to Mx9. So if you also have SSO enabled in your environment you should change this.

@RCatersels Thank you for the clarification and for mentioning paragraph 4 troubleshooting. Here it is probably implied that you can upgrade from Mx 8 to Mx 9. We can probably still add a note to make this more clear to users. Here I added a note here just to explicitly say that it's safe to upgrade from Mx 8 to Mx 9 without breaking existing links.

@Rob-de-Leeuw Thank you for your feedback. I added a note into the doc to make it clear that the existing links won't break if you upgrade from Mx8 to Mx9.


Clarify the "updated" and "pushed" unit

At least the help output should include the unit of the updated and pushed metric.

The help already say that it's a timestamp.


bugfix-DEModel_V2-emptyrow

line 73 in DEModel_V2.xlsx has no conversion subprocess but it has some data at Min and Max residual Cap columns that belong to the row 74(below). the data in row 74 should be replaced with data in these two columns.

bug fixed


Apply Security Updates

Update the following and their dependencies:

Jekyll 3.8.3 -> 3.8.5
Rack 1.6.5 -> 1.6.11
Nokogiri <IP_ADDRESS> -> 1.9.0
Update Sprockets 3.6.3 -> 3.7.2

And minor deletion to unneeded line in Dockerfile.

Thanks @zedzedzed I'm getting some dependency errors with bundler:

An error occurred while installing nokogiri (1.9.0), and Bundler cannot
continue.
Make sure that gem install nokogiri -v '1.9.0' --source 'https://rubygems.org/' succeeds before bundling.
In Gemfile:
html-proofer was resolved to 3.5.0, which depends on
nokogiri

It works for me, but I get an error when running jekyll server - it still runs and works fine though```
$ bundle exec jekyll server
Configuration file: /Users/gordcorp/workspace/content-guide/_config.yml
Source: /Users/gordcorp/workspace/content-guide
Destination: /Users/gordcorp/workspace/content-guide/_site
Incremental build: disabled. Enable with --incremental
Generating...
Lunr: Creating search index...
Lunr: Index ready (lunr.js v0.4.5)
done in 2.164 seconds.
Auto-regeneration: enabled for '/Users/gordcorp/workspace/content-guide'
Server address: http://<IP_ADDRESS>:4000
Server running... press ctrl-c to stop.
** ERROR: directory is already being watched! **
    Directory: /Users/gordcorp/workspace/content-guide/vendor/bundle/ruby/2.5.0/gems/libv8-<IP_ADDRESS>/vendor/v8/build/gyp

    is already being watched through: /Users/gordcorp/workspace/content-guide/vendor/bundle/ruby/2.5.0/gems/libv8-<IP_ADDRESS>/vendor/gyp

    MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors

ls
Regenerating: 1 file(s) changed at 2018-12-18 16:59:54
_pages/how-to-use.md
Lunr: Creating search index...
Lunr: Index ready (lunr.js v0.4.5)
...done in 1.868419 seconds.

@joolswood did you try $ bundle install after pulling with the latest changes?
Yep it works for me OK in Docker. I even rm -fr .asset-cache/ .bundle/ _site/ vendor/ before Docker running and it rebuilt it OK. Keen to see if it keeps occuring while running on the host.

@joolswood Do you get the same error as @gordcorp after bundle exec jekyll server?
** ERROR: directory is already being watched! **


Specify which database backend to use

It's currently not possible to specify which database backend will be used (ie the ones configured in DATABASES). Especially for SQLite, it's useful to separate the queue tables into a separate database.

Hey is this still open and unassigned?

Yes. If you're interested in working on it, by all means do. I don't assign issues to people specifically though - anyone can work on anything.

@RealOrangeOne if this needs to be implemented, can we just add database in the following tasks config if we are using DatabaseBackend and set the default to default database defined in settings and then have all task related models to use the database defined in tasks config dict.
TASKS = {
    "default": {
        "BACKEND": "django_tasks.backends.immediate.ImmediateBackend",
        "DATABASE": "name_of_the_database" i.e. "tasks_db" # if not set use the default
    }
}

or are we looking for a more sophisticated solution than this option.

I think it'll need something a little more complex than this, as both the worker and migrations need to use this value. It might be that a database router is the only way to implement this, in which case there's not much to do ourselves besides ensure the correct DB is specified when needed.

I think a better way to handle this would be using a database router. I don't think one should be included, but at least documenting how to write one would be ideal. Exactly how multiple installed database backends would be handled I don't know.

Hi @RealOrangeOne , I have created a draft PR that attemps to solve the problem based on the above suggestions. Any suggestions would be helpful - https://github.com/RealOrangeOne/django-tasks/pull/122.


CLI auto publish fails without an error

We need to give a clear error here that https is required for PWA

Fixed. It will be available in the next major release.


Multi-step form Template

Template request
Multi-step form Template
Describe the template you need
I have been using chakra templates for more than a year now and I really appreciate the community for providing awesome templates :)
But currently, multi-step form template is missing
Additional information
I already have multi-step form created in chakra UI
Optional: Add screenshots, or Figma/Sketch files

Can @hauptrolle or any of the project admins assign me this issue?

Hey @Prasanna0908 I am looking forward to your PR :)

Hey, @hauptrolle, I have created a pull request. Let me know if any changes are required

@hauptrolle hi, when this template merged? this is very useful form

@hauptrolle @Prasanna0908  I think this issue can be closed now

Sure, @ekhiw. Thanks, again!


feat: add build-dev command to build dev dependencies on apple silicon

with this PR, devs with apple silicon should be able to run
mmcore build-dev

to get working demo camera and utilties

cc @ashesh-0 and @fdrgsp  ... this should be an easier way to get native demo drivers for testing without rosetta


Fix ConnectedField to accept values that isn't React SyntheticEvent (#3446)

Fixes #3446

This issue has been a pain for us to work around. Thanks for making this PR!

@antonbasic
Thanks for making the PR. This issue was blocking our migration to a newer version of redux-form. I am anxiously waiting for the merge to go through.

@antonbasic That's great! Struggling with this for a while. during our migration. hope this gets merged soon.

Team, is this change accepted and a merge is planned?

Thank you @antonbasic for this fix! We've hit this same issue. Are there any plans to merge this soon?


Multiline selection: reset query after TAB, undo, and current selection

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[ ] zsh
[x] fish

Problem / Steps to reproduce
Sometimes, multiline selection is about lines that have nothing in common (for instance selecting email addresses). In that case it would be preferable for TAB to select the current item then reset the input automatically. This can be achieved with fzf --bind 'tab:toggle+clear-query'. However one issue to consider is that of undoing previous selections, since now the filter text is reset as soon as the tab key is pressed, we will have to repeat the previous query if we selected something by mistake (if we remember the previous query or if we know what was selected!). Maybe a way to view the current selection would partially solve that? Maybe I missed something in the manual that can achieve this easily...

Since fzf implements many readline key bindings, you can do this, just like you do it in your shell:
fzf --multi --bind 'tab:toggle+end-of-line+unix-line-discard'

Select the entry
Move the cursor to the end (CTRL-E)
Delete the line (CTRL-U)

Then you can paste the deleted text to the prompt by pressing CTRL-Y (yank)


AutoFixture doesn't work well with the recent version of Resharper (2016.1)

In the recent version of Resharper (2016.1), the test runner becomes crazy if I use AutoFixture.
Consider the following source code:
  public class Tests
  {
    [Theory, AutoData]
    public void TheoryTest(string data)
    {
    }

    [Theory, InlineAutoData("Test")]
    public void TheoryTest2(string data, string data2)
    {
    }

    [Theory, InlineAutoData("Test")]
    public void TheoryTest3(string data)
    {
    }

    [Theory, InlineData("Test")]
    public void TheoryTest4(string data)
    {
    }
  }

If we run tests in Resharper, we'll get the following output:

It's expected behavior. However, let's re-run the tests again:

Each time you re-run tests, the number of trash tests increases, including the Total number of tests.
If AutoFixture is not used, or our theory don't consume auto generated data - everything is fine.
I'm not sure whether this is AutoFixture, xUnit or Resharper issue (or intersection of some of them), therefore decided to raise it here. If you discover that it's actually not AutoFixture issue - probably it makes sense that somebody who knows AutoFixture internals will register appropriate issue for guilty - I'll be unable to provide them with relevant (which includes their area only) scenario.
Thank you!

I played more with this issue and found that it's actually Resharper (or xUnit) issue. I was able to reproduce it without using the AutoFixture libraries.
I've decided to report this issue to ReSharper: https://youtrack.jetbrains.com/issue/RSRP-458569.

Thank you for investigating. Since it's the case that it looks like a ReSharper issue, I'm going to close this one.


ROX-25477: Bump collector to 3.19.2

Description

Updates the collector version so that the ringbuffer size is always a power of 2.
Also fixes https://issues.redhat.com/browse/ROX-25218
User-facing documentation

[x] CHANGELOG is updated OR update is not needed
[x] documentation PR is created and is linked above OR is not needed

Testing

[ ] inspected CI results

Automated testing

- [ ] added unit tests
- [ ] added e2e tests
- [ ] added regression tests
- [ ] added compatibility tests
- [ ] modified existing tests
How I validated my change

Tested on a system without the fix and collector went into crashloop. Tested on same system with fix and collector worked.

/retest


fix: dropdown: remove inputRef from dropdown and use update method to fix position

SUMMARY:
GITHUB ISSUE (Open Source Contributors)
JIRA TASK (Eightfold Employees Only):
CHANGE TYPE:

[ ] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[ ] Tests for this change already exist
[ ] I have added unittests for this change

TEST PLAN:

Codecov Report

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

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #421   +/-   ##
=======================================
  Coverage        ?   85.37%
=======================================
  Files           ?      658
  Lines           ?    13982
  Branches        ?     4763
=======================================
  Hits            ?    11937
  Misses          ?     1991
  Partials        ?       54

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

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


ES6 Modules; ESLint

Enhancement: Change source to ES6 Modules (no need for "use strict") and offer ES export as well as UMD (switching from browserify to Rollup/terser to do so); add module
Linting: Add ESLint dependencies; add recommended package.json fields

Two items I did not do but might do with your agreement:

Put the input and output files all into src and dist
Use Babel and change source to utilize ES6, including preferring const/let, etc.

Thanks for the PR, but I don't think this is right for this project. This adds a lot of new dependencies and lines of code for minimal benefit.


Casting disappear after 10 minutes about

Hi,
in the last 2 weeks, casting disappear after 10 minutes about despite the info command provide me the dashcat casting information (below the details) but the Google HUB show the google picture.
Thanks and regards
Francesco
/home/pi/.local/bin/catt --version
catt v0.11.0, Yearning Yachtman.
/home/pi/.local/bin/catt -d <IP_ADDRESS> info
current_time: 0
content_id: None
content_type: None
duration: None
stream_type: UNKNOWN
idle_reason: None
media_session_id: None
playback_rate: 1
player_state: UNKNOWN
supported_media_commands: 0
volume_level: 0.29921257495880127
volume_muted: False
media_custom_data: {}
media_metadata: {}
subtitle_tracks: {}
current_subtitle_tracks: []
last_updated: None
is_active_input: False
is_stand_by: True
app_id: 84912283
display_name: DashCast
namespaces: ['urn:x-cast:com.google.cast.debugoverlay', 'urn:x-cast:com.google.cast.cac', 'urn:x-cast:com.madmod.dashcast']
session_id: a874b2c3-e659-45b8-870f-7650114798b7
transport_id: a874b2c3-e659-45b8-870f-7650114798b7
status_text: Overview - Home Assistant
icon_url:
/home/pi/.local/bin/catt -d <IP_ADDRESS> status
Volume: 30

Hmm, are you casting a local or a remote file?

Hmm, are you casting a local or a remote file?

I cast my home assistant hub site exposed on public internet

Now, i tried to factory reset my google hub and wait if the problem happen again.

After factory reset the problem appear again......... :(
/home/pi/.local/bin/catt -d one cast_site 'https://<MY_HA_SITE>:8123/lovelace/hub'
cat .config/catt/catt.cfg
[options]
device = Cucina HUB
[aliases]
one = Cucina HUB

Hmm, have you checked whether Chromecast has updated and now times sites out? catt doesn't really do anything after casting.

Hmm, have you checked whether Chromecast has updated and now times sites out? catt doesn't really do anything after casting.

Yes, is it updated.
My Site is reachable, tried via Chrome Browser and with smartphone via cellular data.

the problem has appeared for two weeks, before it worked very well!

is there the command for debugging mode in catt?

Not really, does catt exit after you cast the site or does it stay open? I haven't used the site casting functionality much.

Exit, with exit code 0

And ten minutes later the cast stops?

can I to purge all cast configuration? I see this options --delete-cache how do It use?

And ten minutes later the cast stops?

10 minutes about

Now, I tried to cast with ip address of google cast hub, test in progress

Not resolved........I'm very confused about this problem and not undestand how to debug It.

Unfortunately I'm not sure how to help you, but this doesn't sound like a problem with catt. All catt does is launch the website, it doesn't run afterwards at all.

for help the community https://support.google.com/googlenest/thread/45388769?hl=en
The problem should be caused by firmware version 1.46.203796

That makes sense, thanks!


Pushdown implied expression to metastore

in this scenario x is not a partitioned column but y is a partitioned column:
select * from tbl where x = 'abc' and y = substr(x,1,2);
will it benefit from partition pushdown/dynamic filtering just as fast as below would?
select * from tbl where x = 'abc' and y = 'ab';
from david -->
In theory, the optimizer should be able to propagate the constant and push the implied expression on y to the connector, but it doesn't seem to do that today. However, the black box predicate is pushed to the connector, and the Hive connector will filter the partition names during planning, so the effect is nearly the same. (it still has to list all the partition names, whereas pushing the implied y expression would allow pushing that into the metastore)
cc: @electrum @rzeyde-varada @raunaqmorarka @sopel39

This should be handled as part of effective predicate extraction / constant folding.

@raunaqmorarka do u know which classes to change for this?


Hyperlinks does not work

Description

When I try to follow any hyperlink in the https://docs.zowe.org , it results in PAGE NOT FOUND error.
Steps to reproduce:

Go to https://docs.zowe.org/stable/extend/extend-apiml/onboard-plain-java-enabler/#custom-metadata
Click on the link [here]
You would be redirected to an

error page
Pages to Update

Screenshots

Expected behavior
Hyperlinks will route to correct destination.
Additional context

Hi, I would like to work on it. Is it still available?

PR 1808 addresses this broken link


Trivial typo fix

Oh.  Just noticed this wasn't merged.  Was it wrong?

Sorry, I did not see the change in the pull request, because I thought that this refers to issue

Sorry, I did not see the change in the pull request, because I thought that this refers to issue

No worries.  I was just thinking "childes" was meant to be "children": :smile:
https://github.com/gascore/gas/blob/master/web/element.go#L77


Notification Player not show on lock-screen

This note addresses the functionality and compatibility of a React Native Track Player across various Android versions, with a specific exception for Android 14.
Known Issue with Android 14:

Notification Issues: Media controls in the notification bar may not display correctly or might be unresponsive.

dude u cant just ignore the bug template and assume slmeone has a crystal ball can foresee whatever ur bug js

Two months ago, the track player media control notification bar was displayed on the lock screen. However, last week when I re-ran the track player project on Android 14, it was not visible on the lock screen. This issue is only occurring on devices running Android 14.

again, u cant expect people with a crystal ball to magically know what ur bug is (a minimally reproducible repo and procedures is mandatory) or what u did (this needs to be reproduced with the example app repo). otherwise ur betting on someone else having the exact same problem somehow and are bored enough to browse the issue board, well good luck 2u

https://github.com/doublesymmetry/react-native-track-player/assets/158991920/d413a6f3-b948-43fa-a884-f5264eaf9e0b
Media control notification bar not displayed when playing the music in the track player

Media control notification bar not displayed when playing the music in the track player