#474 Add setters to the snackbar options, #477 Snackbar default settings

Description of Change
Add setters to the snackbar options
Add Snackbar default settings
Bugs Fixed
#474
#477
API Changes
Added:

static default properties for all options

Changed:

ActionOptions => ToastOptions
removed ctors for SnackBarOptions and ToastOptions. they were rather complex and required all options.

PR Checklist

[x] Has tests (if omitted, state reason in description)
[x] Has samples (if omitted, state reason in description)
[x] Rebased on top of main at time of PR
[x] Changes adhere to coding standard

[x] Updated documentation

@jfversluis, @AndreiMisiukevich could you please review? it has some breaking changes, it would be nice to fix them before release of stable version.

Looks good
Only one question. Is it important to rename "ActionOptions => ToastOptions"?
If others are OK with such renaming, I am OK too

We use it with Toast. so ToastOptions is what user expect to use. ActionOptions is something really abstract. What is action for you? I think we should not associated it with Toast, SnackBar etc.

I will review this until tomorrow.

@VladislavAntonyuk nice work, as always! I have just some considerations about names, to make it more clear to our end users. Please let me know what do you think.

Thank you! I found that XF has Duration property of MediaElement. To be consistent with it I think we can leave it Duration. But what do you think if I change the type to TimeSpan?

@VladislavAntonyuk I like the idea of TimeSpan.

Thank you so much once again @VladislavAntonyuk! Looks fantastic.


Options for inserting content in splices

I've tried to find a combination of plugins that would accomplish the inverse of the rm_splice plugin but haven't been successful so far.
Does anyone know of a combination of plugins that would let me insert content in place of a splice that was removed with the rm_splice plugin? I was thinking piping the output of rm_splice to ts_switch as the primary, and then triggering ffmpeg to pipe into a very large buffer on the first input of tsswitch on demand. But I found that rmsplice only removes the elementary streams of the service, so ts_switch doesn't detect that the primary stream has dropped.
Would an option on rm_splice that would stop all output when spliced be suggested? What other options exist?
Thanks,

This is currently not possible, at least directly. If the replacement content (typically "local ads" in the original spirit of SCTE 35) is in an SPTS file with same PID layout, the best solution would be to enhance the rmsplice plugin with an option specifying the replacement file. Instead of dropping packets, the plugin would replace them with packets from the replacement file, selecting only packets belonging to one of the removed PIDs and ignoring others. But this is new code to be done.

That makes sense. From what I understand that would only work if the source and the insertion were CBR at the same bitrates, right?

At least, the insertion must not have a higher bitrate.
This is the general constraint with video splicing: same bitrate, same encoding, same encoding profile, same clock. Video splicing should be called "video transplant" and is just like "organ transplant": if the organ is not fully compatible, it is rejected.

I'm trying ti inject scte35 but it doesn't work. I see in verbose that it ok (using immediate) but it's not exist in the file.
I'm using input live output file.
this it from the verbose:
spliceinject: loaded file inject-scte.xml, 474 bytes
*
spliceinject: enqueuing SpliceInsert out @0xFFFFFFFFFFFFFFFF, immediate
*
appreciate any help
Arik

I see in verbose that it ok (using immediate) but it's not exist in the file.

Failing to insert data is usually due to a lack of input stuffing. A transport stream is like a file system, you can insert new data only if there is some free space (ie. null packets, aka stuffing). If there is not enough free space, you need to create it, either by removing existing PID's or services or by artificially inflating the input stuffing. Please read the user's guide, especially the reference section for tsp  in chapter 3.

Thank you very much. Yes, you are right, I've added input stuffing and it works.
Now I'm looking for a notification when I receive SCTE35 from the input. I see log but can I get a notification specifically for the SCTE35 at the input?

Now I'm looking for a notification when I receive SCTE35 from the input.

Have a look at plugin tables. It intercepts tables or sections and can display them, save them (binary or XML) or even send them in UDP packets for some monitoring application.

b@moffitj  Did you find a solution to fill space provided by rmsplice?

This is currently not possible, at least directly. If the replacement content (typically "local ads" in the original spirit of SCTE 35) is in an SPTS file with same PID layout, the best solution would be to enhance the rmsplice plugin with an option specifying the replacement file. Instead of dropping packets, the plugin would replace them with packets from the replacement file, selecting only packets belonging to one of the removed PIDs and ignoring others. But this is new code to be done.

Does this possibility exist yet?

so what is the purpose of scte35 and rmsplice, when I cannot insert new ad?

Does this possibility already exist?

No, the replacement file would need to be absolutely in sync with the original removed slice, same variation of bitrate at the same time, identical (or close to identical) OCR, etc. That use case is unrealistic. Too many people would try to replace the removed slice by video slice not in sync. And would complain here that it does not work well. So I decided to not implement it.

so what is the purpose of scte35 and rmsplice, when I cannot insert new ad?

so what is the purpose of scte35 and rmsplice, when I cannot insert new ad?

The purpose of rmsplice is to remove these annoying ads on recorded content. Provided that the broadcaster lets the splice information in the stream, which is often the case. This is a viewer-friendly feature, not a feature for broadcasters.
For broadcasters, the insertion of splice information is done using spliceinject and the corresponding monitoring using splicemonitor.
The insertion of splice audio/video content (your request) is a complex remux operation which needs a specialized equipment. At least in pure broadcasting context, IP streaming is different since it uses splice information to switch source instead of replacing content on the same TS. And TSDuck is not a MUX.

our idea to insert ad, is to prepare transcoded .ts ad according to stream format, and then replace video and audio packets


Beejones/add jwt support

Test app to create an access token from Azure Active Directory

Closing since the test should be in the internal dev repo rather than here


Embed helper

Currently, we create embeds from scratch every time we need them (ignoring paginators). I'm proposing that we creat an embed helper, that will help make embed creation simpler and increase the DRYness of our code.
Use cases
In #1136, I proposed adding a trash icon to bot messages by default, and allowing commands to opt out. With an embed helper, this would be as simple as passing an optional no-delete argument set to True.
We've also discussed the possibility of making the embed colors more consistent. With an embed helper, we could have a type argument, where we tell the helper if it is info, a warning, error or similar categories. This would auto-apply styling for that case, and could set titles to the correct predefined responses by default.
This would allow us to easily update the color of all embeds in the category, add trash options to all embeds by default and reduce the amount of code needed for creating embeds.

I agree that a system should be put in place to create an embed more easily, but I think there are some other options to consider. For instance, adding specified colors could be done with a new class of colors, rather than an entire helper function.  As for the trash icon, I think that is where an embed helper could be useful. If we do not have any use cases other than that, the question is if it is worth creating an entirely new system for that, as of now.
Of course, I haven't done any work on the source directly yet; these are my thoughts from your message in the Gurkan discord server. Let me know what you think.

I agree that a system should be put in place to create an embed more easily, but I think there are some other options to consider. For instance, adding specified colors could be done with a new class of colors, rather than an entire helper function.  As for the trash icon, I think that is where an embed helper could be useful. If we do not have any use cases other than that, the question is if it is worth creating an entirely new system for that, as of now.
Of course, I haven't done any work on the source directly yet; these are my thoughts from your message in the Gurkan discord server. Let me know what you think.

I can see where you're coming from. Creating embeds that specify the color out of a set of colors is already an option today, as we have color constants in constants.py. However, it seems like you mean that we could add another layer of abstraction, similar to this:
Color constants
embed_colors = {
    "error": constants.colors.soft_red,
    "info": constants.colors.yellow,
}

This would indeed allow us to achieve something similar to what an embed helper would do, regarding color, and I'm open to keeping it an option.
Embed helper
However, this does not provide the ease-of-use that an embed helper does. An error message would still have to set the title with error replies, color and description, just like we do it today, but allow the color to be slightly more modular. What I'm proposing would instead let the user do it in a way similar to this:
GetEmbed(
    category="error",
    description="Something terrible has happened!",
)

This also means that things like random error replies as the title could be set automatically, without having to import the replies and use them whenever they're needed. It's all about making things more modular and reusable. There would also be the option to se color and title, if the user wants to overwrite the defaults for the category.

I can see where you're coming from. Creating embeds that specify the color out of a set of colors is already an option today, as we have color constants in constants.py. However, it seems like you mean that we could add another layer of abstraction, similar to this:
Color constants
embed_colors = {
    "error": constants.colors.soft_red,
    "info": constants.colors.yellow,
}

This would indeed allow us to achieve something similar to what an embed helper would do, regarding color, and I'm open to keeping it an option.
Embed helper
However, this does not provide the ease-of-use that an embed helper does. An error message would still have to set the title with error replies, color and description, just like we do it today, but allow the color to be slightly more modular. What I'm proposing would instead let the user do it in a way similar to this:
GetEmbed(
    category="error",
    description="Something terrible has happened!",
)

This also means that things like random error replies as the title could be set automatically, without having to import the replies and use them whenever they're needed. It's all about making things more modular and reusable. There would also be the option to se color and title, if the user wants to overwrite the defaults for the category.

I read through the issue, I'm not sure about the consensus on using enums, but I think defining the categories with an enum would look a bit more consistent. Also.. I believe to implement the no-delete "functionality" we should sort of "hand-over" the control to the embed helper, and it'll handle the logic needed to allow the users to delete the message.
Like:
await embed_helper(ctx, no_delete=False,category=embed_categories.ERROR, description="Something went wrong")

That would handle things such as setting embed color, adding error replies, or adding the possiblity to delete the message.
(That's purely an example, and my whole idea is just a suggestion)

I'm not sure what problem we're trying to solve here.
Wouldn't we achieve the same thing by just renaming the constants to when they should be used, rather than describing the colour itself? IE constants.Colours.soft_red becomes constants.Colour.error

Yes, but most of times in the code you choose a random reply(ERROR_REPLIES) as well, you set the color, all around the code. Furthermore, making a helper would make it much more easier to generate embeds that could be deleted. (Like mentioned in the issue description)

Following discussions in Discord (from here down) we have decided this is not something we want to implement in the bot.
When discord.py 2.0 comes around, there will definetely be a use in making a generic ui.View that handles the delete action with a button, that can be used in any Messagable.send() call.


[NNPA] Add backend test for NNPA

This PR enables backend tests for NNPA.

Test code
The test code for NNPA is shared with that of the CPU.  variables.py and common.py are slightly modified to use maccel flag. Newly added CMakeLists.txt set up the test code for NNPA.

ATOL and RTOL for NNPA
To set appropriate ATOL and RTOL for NNPA in onnx-mlir (without modifying onnx), this PR added InferenceBackendTest class by inheriting onnx.backend.test.BackendTest, and set ATOL and RTOL for NNPA by overriding assert_similar_outputs function. This approach is similar with signature backend test(test/backend/signature_backend.py).  Default ATOL and RTOL can be replaced with new one using environment variables, TEST_ATOL and TEST_RTOL. New ATOL and RTOL are set in CMakeLists.txt .

Check NNPA instruction
To check if NNPA instruction is generated in shared library, this PR provides check_instruction() function. The environment variable TEST_INSTRUCTION_CHECK need to be set to true and the test case name and instruction name need to be listed in TEST_CASE_BY_USER such as test_gemm_default_matrix_bias_cpu,zdnn_matmul_op.

Test results
Scanning dependencies of target check-onnx-backend-nnpa
Test info:
  temporary results are in dir:./
  targeting maccel: NNPA

  if ref_outputs[i].dtype == np.object:
.sssssssssssssssss.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
ssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sss.sss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
ssssssssssssssssssssssssssssssssssssssss.s.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssss.s.sssssssssssssssssssssssssssssssssssssssssssssssssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssss.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.s.sssssssss.sssssss.sssssss.sssssssssssss.s.s.s.s.s.sss.sss.s.s.s.s.s.s.s.sssssssss.s.s.s.s.s.s.s.s.s.s.sss.sssssssssssssss.sss.s.s.s.s.s.s.s.sssssssssssssssssssssssssssssssssssssss.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.s.s.s.s.s.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sss.sss.sss.sss.sssssssssssssssssssssssssssssssssssssssssssssssssssss.s.s.sss.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.sss.s.s.s.sssssssssssssssssssssssssssssssssssssssssssssssss
----------------------------------------------------------------------
Ran 1916 tests

OK (skipped=1800)
Start downloading model inception_v1 from https://s3.amazonaws.com/download.onnx/models/opset_9/inception_v1.tar.gz
Done
Start downloading model resnet50 from https://s3.amazonaws.com/download.onnx/models/opset_9/resnet50.tar.gz
Done
Start downloading model shufflenet from https://s3.amazonaws.com/download.onnx/models/opset_9/shufflenet.tar.gz
Done
Start downloading model squeezenet from https://s3.amazonaws.com/download.onnx/models/opset_9/squeezenet.tar.gz
Done
Start downloading model vgg19 from https://s3.amazonaws.com/download.onnx/models/opset_9/vgg19.tar.gz
Done
[100%] Built target check-onnx-backend-nnpa

@AlexandreEichenberger

I like the directory structure that you did, by adding an "accelerator" subdirectory in the top test dir. Is it working well, or is it requiring to add a lot of redundant code? I would like to have your input as we should be striving to have as little code replication as possible.

I think basically we can avoid redundant code even with this structure. Currently only CMakeLists.txt (test/accelerators/NNPA/backend/CMakeLists.txt) is bit redundant, but I think it is acceptable.

@AlexandreEichenberger I'm trying to implement a function to check if specific instruction are included in generated shared library, which is similar with one in numerical tests (checkInstruction()). I found a similar way in python, but still under development. Thanks!

@AlexandreEichenberger @tungld Ready for review. Thanks!

Jenkins Linux ppc64le Build #5416 [push] [NNPA] Add backend test ... started at 03:59

Jenkins Linux amd64 Build #6278 [push] [NNPA] Add backend test ... started at 02:57

Jenkins Linux s390x Build #6294 [push] [NNPA] Add backend test ... started at 03:57

Jenkins Linux amd64 Build #6278 [push] [NNPA] Add backend test ... failed after 1 hr 33 min

Jenkins Linux s390x Build #6294 [push] [NNPA] Add backend test ... passed after 1 hr 54 min

Jenkins Linux ppc64le Build #5416 [push] [NNPA] Add backend test ... passed after 1 hr 55 min


ImagePredictor can't use the EfficinetNet model

ImagePredictor can't use the Efficientnet model

Unfortunately efficientnet is no longer supported via mxnet implementation, we plan to add it through pytorch model, I will close this now, feel free to ping me if you have the same plan soon @jianzhnie


ManagedClient subscription and wildcard character "#" in the wrong place

Describe the bug
If you want to subscribe to the topic "test/#t" with the managed client the server closes the connection. This is because the "#" is a multi level wildcard which is only allowed at the end of the topic.
There was a similar issue on the publish side https://github.com/chkr1011/MQTTnet/issues/581 but it is not exactly the same. When you publish no wildcards are allowed.
Which project is your bug related to?

ManagedClient

To Reproduce
Steps to reproduce the behavior:

Using this version of MQTTnet '3.0.15'.
Run this code 'ManagedMqttClient.SubscribeAsync("test/#t")'.
With these arguments '....'.
See error.

Expected behavior
I would expect that an error is thrown because the topic is invalid
Example fix
A validation could be in \Source\MQTTnet\Protocol\MqttTopicValidator.cs
public static void ThrowIfInvalidSubscribe(string topic)
{
    if (string.IsNullOrEmpty(topic))
    {
        throw new MqttProtocolViolationException("Topic should not be empty.");
    }

    if(topic.IndexOf("#") != -1 && topic.IndexOf("#") != topic.Length - 1) throw new MqttProtocolViolationException("The character '#' is only allowed as last character");
}

And some tests:
[TestClass]
public class MqttTopicValidatorSubscribe_Tests
{
    [TestMethod]
    public void Valid_Topic()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe("/a/b/c");
    }

    [TestMethod]
    public void Valid_Topic_Plus_In_Between()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe("/a/+/c");
    }

    [TestMethod]
    public void Valid_Topic_Plus_Last_Char()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe("/a/+");
    }

    [TestMethod]
    public void Valid_Topic_Hash_Last_Char()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe("/a/#");
    }

    [TestMethod]
    public void Valid_Topic_Only_Hash()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe("#");
    }

    [TestMethod]
    [ExpectedException(typeof(MqttProtocolViolationException))]
    public void Invalid_Topic_Hash_In_Between()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe("/a/#/c");
    }

    [TestMethod]
    [ExpectedException(typeof(MqttProtocolViolationException))]
    public void Invalid_Topic_Empty()
    {
        MqttTopicValidator.ThrowIfInvalidSubscribe(string.Empty);
    }
}

sry i can't get the project running on my machine and therefore can't create a PR

I will see what I can do here.

sry i can't get the project running on my machine and therefore can't create a PR

Did you use the *.sln solution with UWP or without? (With UWP will of course not work if UWP is not installed).

I have added the pull request, @chkr1011 and @JanEggers should verify the changes soon :)


iOS - No notification when the app is killed.

Hello,
However, on my ios device it only works when the application is open and in the background. When I kill the application, there is no notification.
My Code index.js
import React from "react";
import {AppRegistry, YellowBox} from "react-native";
import App from "./App";
import messaging from "@react-native-firebase/messaging";
import {name as appName} from "./app.json";
import {getMessageNotificationDisplay} from "./src/helpers/NotifeeHelpers";
import {MESSAGE} from "./src/types/NotificationTypes";
import notifee, {
AndroidLaunchActivityFlag,
EventType
} from "@notifee/react-native";
messaging()
.getToken()
.then((token) => {
//console.log('Firebase Token: ' + token);
});
notifee.onBackgroundEvent(async ({type, detail}) => {
const {notification, pressAction} = detail;
if (type === EventType.ACTION_PRESS && pressAction.id === "accept") {
await notifee.cancelNotification(notification.id);
}
});
messaging().setBackgroundMessageHandler(async (remoteMessage) => {
if (remoteMessage.data.type === MESSAGE) {
const androidConfig = {
pressAction: {
id: "accept",
launchActivity: "default",
launchActivityFlags: [AndroidLaunchActivityFlag.CLEAR_TASK]
}
};
getMessageNotificationDisplay(remoteMessage, androidConfig);

}
});
function HeadlessCheck({isHeadless}) {
if (isHeadless) {
// App has been launched in the background by iOS, ignore
return null;
}
return ;
}
AppRegistry.registerComponent(appName, () => HeadlessCheck);

I think we are on version 5.6.0 right now, I'm not sure investing any time on 0.15.1 version makes sense?
Can you tell us if this still reproduces on current versions and provide a reproduction?

In the latest version, when the application is open on the IOS device, the notification comes successfully. While the application is running in the background, the notification comes up successfully. However, when I kill the application, the notification does not come.

I encounter the similar issue.
The notification didn't come after the "App enter kill state for a while ( around 1 hours or longer ) " when i was using Remote Notification.
App side index.js
`
import "react-native-gesture-handler";
import { registerRootComponent } from "expo";
import messaging from "@react-native-firebase/messaging";
import notifee, { AndroidImportance } from "@notifee/react-native";
import App from "./App";
async function onMessageReceived(message) {
// Create a channel
const { title, body, android } = JSON.parse(message.data.notifee);
const channelId = await notifee.createChannel({
id: "sound",
name: "Default Channel",
sound: "doorbell",
importance: AndroidImportance.HIGH,
});
// Display a notification
await notifee.displayNotification({
title: title,
body: body,
android: {
channelId,
importance: AndroidImportance.HIGH,
},
});
}
messaging().onMessage(onMessageReceived);
messaging().setBackgroundMessageHandler(onMessageReceived);
registerRootComponent(App);
`
Server Side
const sendToTarget = async (id) => {   try {     let message = {       tokens: [id],       data: {         notifee: JSON.stringify({           title:Time${moment().format("YYYY-MM-DD HH:mm:ss")},           body: "TESTING",           android: {             id: ${moment().unix()},             name: "run2gather",             channelId: "sound",             smallIcon: "ic_launcher",             pressAction: {               id: "default",               launchActivity: "default",             },           },         }),       },       apns: {         payload: {           aps: {             // Important, to receive onMessage` event in the foreground when message is incoming
contentAvailable: 1,
// Important, without this the extension won't fire
mutableContent: 1,
},
},
},
android: {
priority: "high",
},
};
const result = await notification.push(message);

console.log("this is result : , ", result);

const { responses } = result;

console.log(responses[0].error);

} catch (error) {
throw error;
}
};
`
It happens on multiple iOS devices ( iOS 14 + ). Is there anything I missed?

I encounter the similar issue.
The notification didn't come after the "App enter kill state for a while ( around 1 hours or longer ) " when i was using Remote Notification.
App : index.js
import "react-native-gesture-handler";
import { registerRootComponent } from "expo";
import messaging from "@react-native-firebase/messaging";
import notifee, { AndroidImportance } from "@notifee/react-native";
import App from "./App";

async function onMessageReceived(message) {
  // Create a channel

  const { title, body, android } = JSON.parse(message.data.notifee);

  const channelId = await notifee.createChannel({
    id: "sound",
    name: "Default Channel",
    sound: "doorbell",
    importance: AndroidImportance.HIGH,
  });

  // Display a notification
  await notifee.displayNotification({
    title: title,
    body: body,
    android: {
      channelId,
      importance: AndroidImportance.HIGH,
    },
  });
}

messaging().onMessage(onMessageReceived);

messaging().setBackgroundMessageHandler(onMessageReceived);

registerRootComponent(App);

I encounter the similar issue.
The notification didn't come after the "App enter kill state for a while ( around 1 hours or longer ) " when i was using Remote Notification.
App : index.js
import "react-native-gesture-handler";
import { registerRootComponent } from "expo";
import messaging from "@react-native-firebase/messaging";
import notifee, { AndroidImportance } from "@notifee/react-native";
import App from "./App";

async function onMessageReceived(message) {
  // Create a channel

  const { title, body, android } = JSON.parse(message.data.notifee);

  const channelId = await notifee.createChannel({
    id: "sound",
    name: "Default Channel",
    sound: "doorbell",
    importance: AndroidImportance.HIGH,
  });

  // Display a notification
  await notifee.displayNotification({
    title: title,
    body: body,
    android: {
      channelId,
      importance: AndroidImportance.HIGH,
    },
  });
}

messaging().onMessage(onMessageReceived);

messaging().setBackgroundMessageHandler(onMessageReceived);

registerRootComponent(App);

Server Side :
const admin = require("firebase-admin");
const serviceAccount = require("./credential/cert.json");

async function main() {
  try {
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
    });

    let message = {
      tokens: ["TOKEN_1"],
      data: {
        notifee: JSON.stringify({
          title: "TESTING_TITLE",
          body: "TESTING_DESC",
          android: {
            channelId: "sound",
            smallIcon: "ic_launcher",
            pressAction: {
              id: "default",
              launchActivity: "default",
            },
          },
        }),
      },
      apns: {
        payload: {
          aps: {
            contentAvailable: 1,
            mutableContent: 1,
          },
          headers: {
            "apns-push-type": "background",
            "apns-priority": "5",
            "apns-topic": "MY_APP_BUNDLE", // your app bundle identifier
          },
        },
      },
      android: {
        priority: "high",
      },
    };

    const result = await admin.messaging().sendMulticast(message);

    console.log(result);
  } catch (error) {
    throw error;
  }
}

main().catch(console.error);

This happens on multiple iOS 14+ devices. Is there anything i missed?

Did you find any solution?

I encounter the similar issue.
> The notification didn't come after the "App enter kill state for a while ( around 1 hours or longer ) " when i was using Remote Notification.
App : index.js
import "react-native-gesture-handler";
import { registerRootComponent } from "expo";
import messaging from "@react-native-firebase/messaging";
import notifee, { AndroidImportance } from "@notifee/react-native";
import App from "./App";

async function onMessageReceived(message) {
  // Create a channel

  const { title, body, android } = JSON.parse(message.data.notifee);

  const channelId = await notifee.createChannel({
    id: "sound",
    name: "Default Channel",
    sound: "doorbell",
    importance: AndroidImportance.HIGH,
  });

  // Display a notification
  await notifee.displayNotification({
    title: title,
    body: body,
    android: {
      channelId,
      importance: AndroidImportance.HIGH,
    },
  });
}

messaging().onMessage(onMessageReceived);

messaging().setBackgroundMessageHandler(onMessageReceived);

registerRootComponent(App);

Server Side :
const admin = require("firebase-admin");
const serviceAccount = require("./credential/cert.json");

async function main() {
  try {
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
    });

    let message = {
      tokens: ["TOKEN_1"],
      data: {
        notifee: JSON.stringify({
          title: "TESTING_TITLE",
          body: "TESTING_DESC",
          android: {
            channelId: "sound",
            smallIcon: "ic_launcher",
            pressAction: {
              id: "default",
              launchActivity: "default",
            },
          },
        }),
      },
      apns: {
        payload: {
          aps: {
            contentAvailable: 1,
            mutableContent: 1,
          },
          headers: {
            "apns-push-type": "background",
            "apns-priority": "5",
            "apns-topic": "MY_APP_BUNDLE", // your app bundle identifier
          },
        },
      },
      android: {
        priority: "high",
      },
    };

    const result = await admin.messaging().sendMulticast(message);

    console.log(result);
  } catch (error) {
    throw error;
  }
}

main().catch(console.error);

This happens on multiple iOS 14+ devices. Is there anything i missed?

Did you find any solution?

Hello @dogankablan, FYI #514.
And thanks to @mikehardy .
(1) I updated the notifee & firebase packages to
    "@notifee/react-native": "^5.7.0",
    "@react-native-firebase/app": "^15.4.0",
    "@react-native-firebase/messaging": "^15.4.0"

(2) Replace the data block by notification block inside FCM JSON. Because I only need to show the notification.
    let message = {
      tokens: ["TOKEN_1"],
     notification:{
       title: "TEST",
       body: "TEST"
     },
      apns: {
        payload: {
          aps: {
            contentAvailable: 1,
            mutableContent: 1,
          },
          headers: {
            "apns-push-type": "background",
            "apns-priority": "5",
            "apns-topic": "MY_APP_BUNDLE", // your app bundle identifier
          },
        },
      },
      android: {
        priority: "high",
      },
    };

And I can receive the notification now even the app is killed for long while.

I think this is not actionable in the absence of more info. This is expected (sporadic delivery failure) if you do not include a notification block in your FCM JSON.

I encounter the similar issue.
> > > The notification didn't come after the "App enter kill state for a while ( around 1 hours or longer ) " when i was using Remote Notification.
App : index.js
import "react-native-gesture-handler";
import { registerRootComponent } from "expo";
import messaging from "@react-native-firebase/messaging";
import notifee, { AndroidImportance } from "@notifee/react-native";
import App from "./App";

async function onMessageReceived(message) {
  // Create a channel

  const { title, body, android } = JSON.parse(message.data.notifee);

  const channelId = await notifee.createChannel({
    id: "sound",
    name: "Default Channel",
    sound: "doorbell",
    importance: AndroidImportance.HIGH,
  });

  // Display a notification
  await notifee.displayNotification({
    title: title,
    body: body,
    android: {
      channelId,
      importance: AndroidImportance.HIGH,
    },
  });
}

messaging().onMessage(onMessageReceived);

messaging().setBackgroundMessageHandler(onMessageReceived);

registerRootComponent(App);

Server Side :
const admin = require("firebase-admin");
const serviceAccount = require("./credential/cert.json");

async function main() {
  try {
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
    });

    let message = {
      tokens: ["TOKEN_1"],
      data: {
        notifee: JSON.stringify({
          title: "TESTING_TITLE",
          body: "TESTING_DESC",
          android: {
            channelId: "sound",
            smallIcon: "ic_launcher",
            pressAction: {
              id: "default",
              launchActivity: "default",
            },
          },
        }),
      },
      apns: {
        payload: {
          aps: {
            contentAvailable: 1,
            mutableContent: 1,
          },
          headers: {
            "apns-push-type": "background",
            "apns-priority": "5",
            "apns-topic": "MY_APP_BUNDLE", // your app bundle identifier
          },
        },
      },
      android: {
        priority: "high",
      },
    };

    const result = await admin.messaging().sendMulticast(message);

    console.log(result);
  } catch (error) {
    throw error;
  }
}

main().catch(console.error);

This happens on multiple iOS 14+ devices. Is there anything i missed?

Did you find any solution?

Hello @dogankablan, FYI #514.
And thanks to @mikehardy .
(1) I updated the notifee & firebase packages to
    "@notifee/react-native": "^5.7.0",
    "@react-native-firebase/app": "^15.4.0",
    "@react-native-firebase/messaging": "^15.4.0"

(2) Replace the data block by notification block inside FCM JSON. Because I only need to show the notification.
    let message = {
      tokens: ["TOKEN_1"],
     notification:{
       title: "TEST",
       body: "TEST"
     },
      apns: {
        payload: {
          aps: {
            contentAvailable: 1,
            mutableContent: 1,
          },
          headers: {
            "apns-push-type": "background",
            "apns-priority": "5",
            "apns-topic": "MY_APP_BUNDLE", // your app bundle identifier
          },
        },
      },
      android: {
        priority: "high",
      },
    };

And I can receive the notification now even the app is killed for long while.

Now you dont use notifee?


Optimisticlockfail

Let's say there are multiple duplicate records with an overlapping milestone in the database. When the SingleQueueExecution attempted to update such records it seems to have only one record in memory and the update operation threw OptimisticLockException since two records updated in the database. The exception caused the SingleQueueExecution to get into the infinite loop because it kept pushing the batch into the end of the queue.
To fix this the optimistic update/delete failures are differentiated. Cases, where multiple rows were updates treated differently and MithraUniqueIndexViolationException, is throws without retry.

The code looks good now. You still need to squash your commits. The following git commands should do it:
git rebase -i HEAD~8

opens an editor with top 8 commits. with the word "pick" in front of them
replace "pick" with squash on bottom 7 rows. save and close editor.

git push --force

You don't need to create a new pull request. Github will automatically pick up the changes.

thanks. I just followed the above steps..
Please let me know if I need to do anything else.
On Sun, Jun 24, 2018 at 11:17 AM Mohammad Rezaei<EMAIL_ADDRESS>wrote:

You don't need to create a new pull request. Github will automatically
pick up the changes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/goldmansachs/reladomo/pull/164#issuecomment-399764199,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVMvrHxUSaFk8gEKlvScyUkWqykwLtbCks5t_62YgaJpZM4U1LB4
.

Something must have gone wrong with your rebase. The changes are not what they should be (they now include some changes from my last commit and it's missing your most important changes). Maybe you can start from a clean branch and do it all in one commit.


my iphone 10,4 (iphone 8) boots into a black screen

im attemping to dualboot 14.3 from 15.6RC, everything goes well, but it doesnt boot properly. thanks in advance
btw, the discord link is broken

iPhone 6s Plus (8,2) 15.7.3 -> 14.8 same history here - V.1.0 of script from GitHub archive is working fine

im attemping to dualboot 14.3 from 15.6RC, everything goes well, but it doesnt boot properly. thanks in advance
btw, the discord link is broken

hi thanks so much for the discord link, sorry because i add a bad option so i fixed just git pull and execute ./dualboot.sh --dualboot 14.3 --dont_createPart (putting --dont_createPart in order to just create the boot files again  ) after that your device will boot into ios 14.3

oes well, but it doesnt boot properly

did the iphone show a verbose boot the first time and after the black screen ?

iPhone 6s Plus (8,2) 15.7.3 -> 14.8 (14.2, 14.3) same history here - V.1.0 of script from GitHub archive is working fine

I fixed it, thank you for reporting it

oes well, but it doesnt boot properly

did the iphone show a verbose boot the first time and after the black screen ?

It does show a verbose boot

oes well, but it doesnt boot properly

did the iphone show a verbose boot the first time and after the black screen ?

It does show a verbose boot, then it stays on a black screen

ios 14.2 below doesnt work on iphone 8 so use 14.3 above


mac osx detection added

Mac OS X is a BSD/UNIX based operating system,
the way your code handles processes in Linux/UNIX works also for OS X.

Thanks a lot. I suspected that it worked but I was not sure. I am working in a much more advanced version (v1.0) that I will release hopefully this weekend and I will include also your pull request.


Fix: Add missing letter in test method name

This PR

[x] adds a letter missing from a test method name

@localheinz I'm terrible for typos, thanks for paying so much attention!


[AutoPR resources/resource-manager] Fix ARMViolations for Microsoft.Solutions

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3914

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/2758


Do plugins the same way as GHC

I'm thinking that a good way to implement plugins is by emulating ghc's plugin system, perhaps even calling functions from it.  Based on a quick look at the DynamicLoading module, it seems like it'd be a good approach to just copy+modify the loadPlugin function.
It makes sense to have something similar to the Plugin datatype, and have a field per "callback".  Perhaps this is getting into details too early, but maybe these callbacks should be wrapped in Maybes, like the aptly named Hooks datatype. It's informative to know which things a particular plugin hooks into.

I think the main thing would be to define what plugin hooks exist, and how separate plugins interact with each other.
Another mental model would be closer to a container with shared services for accessing the GHC session and loaded code, as well as access to the iDE

As an alternative approach we can consider XMonad as a different architecture.

I think XMonad (and yi) use https://hackage.haskell.org/package/dyre

I think dyre is inspired by XMonad, it does its own custom thing for rebuilding the user config.  Expressing your configuration as a Haskell file can indeed be powerful, but is it really what we want here?  I imagine that having more knobs than just "Use these plugins" could easily lead to compatibility issues.  For example, it would be unfortunate to need to change your configuration in order to support a particular editor.

I see project automatic upgrades as one of possible applications, for example GHC 7.8.4 to GHC 7.10.2 or Parsec2 to Parsec3. This application possibly requires rather complicated config to handle all the configuration edge cases.

Personally I think dynamic reconfiguration is unnecessary.
Many (some) editors require a restart to update packages, e.g. spacemacs.
So long as it is a smooth process this should not be a burden.
Also, since haskell-ide will probably run as a daemon, changing config and
restarting should be straightforward.
Having a simple config format that is more in line with industry standards
would make more sense for this
On Fri, Oct 23, 2015 at 7:56 AM, Gracjan Polak<EMAIL_ADDRESS>wrote:

I see project automatic upgrades as one of possible applications, for
example GHC 7.8.4 to GHC 7.10.2 or Parsec2 to Parsec3. This application
possibly requires rather complicated config to handle all the configuration
edge cases.
—
Reply to this email directly or view it on GitHub
https://github.com/haskell/haskell-ide/issues/1#issuecomment-150482788.

I've taken a swing at the basics of plugins.  Check it out on this branch: https://github.com/haskell/haskell-ide/tree/cli-and-plugins
Here's how to use it:
stack build
stack exec -- haskell-ide --plugin Haskell.Ide.ExamplePlugin start app/Main.hs

This tells it to load up an example plugin which just consists of a putStrLn.  The "app/Main.hs" is passed as a target, which gets used to intiialize a ghc-mod session, but  .
Here's the expected output:
Initializing plugins
Hello from example plugin!
Done initializing plugins
It turned out to be pretty straightforward to do this plugins stuff.  However, I'm a bit concerned that it's a brittle way to do things.  You need to compile the plugin against the exact same haskell-ide library that the binary is built against.  I think this is likely why things like "hs-plugins" never really caught on.
As @gracjan, maybe it makes sense to take the XMonad approach, and have the user compile their own haskell-ide by having a small haskell file which imports the tools they want, and compiles them all together.  Here are some positive benefits:

Starts up faster than linking at runtime.

The error messages will be far better with this approach.

Probably less error prone.

Less overall complexity.

Downsides:

Can't add a tool to an already running interpreter (this would be tricky with plugins, anyway)

More user steps to setup (but probably less frustration).  In order to reduce setup for the typical case, there can be a package offering a typical setup.

Might cause tools to offer customization / configuration at this level.  I'd rather avoid the circumstance where editors demand a particular configuration that might not work for some other editor.

So, we can start using this runtime plugins stuff if people want to, but I think it makes more sense to:

Go with the "custom Ide.hs" approach for now

Still have a Plugin datatype.  I'm imagining that the user will call a function like haskellIde :: [Plugin] -> IO ().

By "custom Ide.hs" approach do you mean the XMonad one suggested by @gracjan?
Just for completeness, the plugin model could end up being defined as a set of internal service APIs and haskell-ide then has a section that offers integration for all the plugins as part of the project.
Pros

simplicity

Cons

forces everyone to have to install all the plugins
makes it hard to bring in new/experimental plugins

This might be good to take as a very early approach to clarify what interfaces are needed, and then to break it out to the plugin architecture.
There is also the middle ground of using the XMonad approach, but then generating the config haskell file from a setup config that is deliberately simple, perhaps just a list of plugins to include, similar to stack.yaml
As a tool writer it is appealing to be able to provide the haskell-ide integration as one of the artefacts of the project, so it would offer access to the tool either as an exe, as a library, or as a plugin. I imagine this would be done by defining a function something like
getPluginInfo :: PluginInfo

Here the PluginInfo structure would provide a description of the facilities offered and or required.

It just struck me that Android has a very mature ecosystem for allowing individual apps (== plugins) to coexist and make use of shared infrastructure, including defining new shared infrastructure to be used by other applications.
See http://developer.android.com/guide/components/fundamentals.html#ActivatingComponents
It may be possible to reuse some of these concepts

This might be good to take as a very early approach to clarify what interfaces are needed, and then to break it out to the plugin architecture.

Agreed!  I'm thinking this approach might be the main way to do it for quite a while.  I should probably explain why the current plugins approach is error-prone:
The issue is that you'll need to build your haskell-ide plugins with the haskell-ide package version which corresponds to your installed executable.  For example, if you've built a locally modified version, this means you need to know to do one of the following:

Add the plugin to the haskell-ide stack.yaml.  Alternatively, have a stack.yaml in a directory above, which includes haskell-ide - even then it seems iffy whether the results will match up).

Either reuse the cabal sandbox or use add-source (I think, not too experienced with that side of cabal sandboxes).

I think that initially we should try to get a handle on how plugins fit together into haskell-ide, and how they share comms to the external IDE, and how those comms are wrapped.
This can be explored without going for a complex plugin architecture initially.
In fact, the less onerous the better, so we can easily test options for the comms
In other words, initial plugins are shims that expose the working part of the thing being plugged in, e.g. HaRe.

Yup, I'm just saying even in the long run it is likely good to avoid any sort of plugin architecture.  It seems quite hard to make it work well for users.

Ok, I think we are in agreement then.
I interpret a plugin as something that complies with a set of internal interfaces and can be easily inserted by someone who does not otherwise know much about haskell-ide

The issue is that you'll need to build your haskell-ide plugins with the haskell-ide package version which corresponds to your installed executable.

@mgsloan can you explain a bit more why you think this is the case?

Presumably your plugin will call into haskell-ide functions, which means the mangled names need to match up.

Closing this as we have a way of doing it in master now, which is simply adding a library and configuring it in. Nothing dynamic


Create pre-build libraries for windows arm64 and linux arm64

Linux on ARM is used a LOT (think in raspberry pi), a docker build or cross compile is an option.
Windows on ARM on laptops use maybe grow so adding support is a great thing.
Today we support the most used cases (https://github.com/cirospaciari/socketify.py/issues/12):
Windows x64
Linux x64
MacOS ARM and x64

Added support for linux arm64, windows arm64 still pending

Maybe this will help someone in the future.
I've compiled libsocketify on rpi4@aarch64 but it required few changes.

Platform had to be provided to make PLATFORM=aarch64
During compilation step i got error

socketify.py/src/socketify/uWebSockets/uSockets/boringssl/crypto/bytestring/cbs.c: In function ‘CBS_get_asn1_int64’:
socketify.py/src/socketify/uWebSockets/uSockets/boringssl/crypto/bytestring/cbs.c:505:20: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
  505 |     sign_extend[i] = data[len - i - 1];
      |     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
socketify.py/src/socketify/uWebSockets/uSockets/boringssl/crypto/bytestring/cbs.c:502:11: note: at offset 8 into destination object ‘sign_extend’ of size 8
  502 |   uint8_t sign_extend[sizeof(int64_t)];
      |           ^~~~~~~~~~~
cc1: all warnings being treated as errors

I was able to finally build it with this cmd CFLAGS="-Wno-error=stringop-overflow" make linux PLATFORM=aarch64
Later in socketify/native.py it tried to load amd64 version so i changed "arm" in platform.processor().lower() to
("arm" in platform.processor().lower() or 'aarch64' in platform.machine().lower()) which solved the problem.
platform.processor() returned empty string.


Dependency updates

I noticed the numpy requirement was bumped, but no code was changed... what's the thought there?
It's not a problem, I was just surprised when I updated numbsql and my numpy also got updated.

https://github.com/cpcloud/numbsql/pull/204
I cc'd you on that PR :)

Hah, I've been owned :)  closing.


Remove version: hrzlgnm.mdns-browser version 0.8.11

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/hrzlgnm/mdns-browser/releases/download/mdns-browser-v0.8.11/mdns-browser_0.8.11_x64-setup.exe
OK
(Automated message - build 923)


Create a graph attribute

To manage graphs and layers better, make a graph attribute.
GraphAttr will maintain all the layer list, input and output list, and weight list. It only contains essential parts of the graph. Sorted lists etc will not be part of it.

[x] GraphAttr will be passed to a layer initialize(), where layer would call graphAttr.registerWeight() to add a weight.
This will allow the graph to manage all the weights. This is crucial for #766, and create a good interface for the custom layer to manage their weights.
The advantage of passing GraphAttr than the whole Graph to the layer is for the security purpose in the case of a custom layer. - #782

[x] Similar interface will be there for inputs and outputs - graphAttr.registerInput() and graphAttr.registerOutput(). - #827

[x] Calling these functions multiple times would register multiple weights/inputs/outputs. From the graph perspective, all the layer related information can now be handled together, simplifying graph code. - #827

[x] Further, graphAttr will also have optimizer inside it. registerWeight() internally will also register optimizer related parameters for it (optimizer is known by then as the layer is being initialized). So, optimizer parameters will also be owned by the graphAttr as well unifying all the memory at one place. With this, each layer does not need its own optimizer copy. - #786

[x] Lastly, the weight regularization will move out of each layer will directly be handled by the graph just like optimizer. - #762

:octocat: cibot: Thank you for posting issue #774. The person in charge will reply soon.

The graph attribute came out to be a tensor manager, which manages all the tensor weights.
Graph manages at the layer, and each of those layers interacts with the manager for all its memory needs.

The graph attribute came out to be a tensor manager, which manages all the tensor weights.
Graph manages at the layer, and each of those layers interacts with the manager for all its memory needs.


Next steps for ReactPHP MySQL with ReactPHP v3

We're currently making more and more progress with ReactPHP v3, getting all planned features for the upcoming major version in, as we described in our roadmaps (see https://github.com/reactphp/event-loop/issues/271 and others). We still have some components that we haven't finalized plans for, especially with the next major version approaching. It's important to address how we can make sure these components are aligned with the upcoming ReactPHP v3.
To give some background information, the friends-of-reactphp/mysql component is currently in version v0.6 and hasn't received a stable release yet. There are also plans to release a v0.7 containing the MySQL connection pool feature (see https://github.com/friends-of-reactphp/mysql/issues/175).
Needless to say, our MySQL component is an important part of the ReactPHP ecosystem and will most definitely receive compatibility with the other v3 components. There's still the question when it will receive its own v3 and what about the outstanding stable v1.0.0?
Happy about input on this, so let's discuss possible options and decide on what makes the most sense 🚀

There was a discussion in #131 mentioning true prepared statements. From purely library user's perspective this would be awesome to have option to use them, but I'm honestly unsure how big of feature that would be.
Since you are planning it may be easier to plan for that idea, so I figured it may be worthwhile mentioning it.
Only related open issue I see is #41


Simplest way to just get a count of group members?

Q
A

Bug?
no

New Feature?
no

Are you using composer?
yes

Version
Latest

Actual Behavior
I hate having to put a question as a dev issue but there doesn't seem to be any other venue for this. I would like some guidance in terms of the simplest possible way to authorise against the LinkedIn api in this client, and get the count of group members for a particular group. It seems like a lot of hoops to jump through just to get one single number. I'd scrape the group member total off the group page if LinkedIn didn't completely obfuscate their code to unlogged-in users.

Im not familiar with the specifics in the API. This client is just to handle authentication. See example on startpage.
I also know that the linkedin docs is not the best... I also know that some endpoints are for premium users only. Try asking on stackoverflow.

Thanks, I'll do so.


Clarify that Baseline does not cover assistive technology

This adds an item to non-goals to clarify that support in assistive tools that may be used along a browser is not (yet?) covered by Baseline.
See discussion in https://github.com/web-platform-dx/web-features/issues/498

This touches the baseline definition so needs to be approved by current owners, flagged as reviewers accordingly.

@ddbeck This seems good to go. Anything blocking merge?

Applied and merged!


thread 'main' panicked error

Hello I'm having issues running red_oxide on debian (openmediavault). Below is the command that I ran with the config.json as well. I have flac, lame, sox, and imdl all installed within my red_oxide folder.
root@omv:/home/red_oxide# ./red_oxide_Linux_x86_64-unknown-linux-gnu transcode --config-file /home/red_oxide/config.json https://LINKTOMY.PL
[✅] Logged in as MYUSERNAME on the Redacted API
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/main.rs:177:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

{
  "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "torrent_directory": "/srv/MUSIC/downloads/Torrents/RED",
  "content_directory": "/srv/MUSIC/downloads/FLAC",
  "transcode_directory": "/srv/MUSIC/downloads/Torrents",
  "spectrogram_directory": "/srv/MUSIC/downloads/Specs",
  "move_transcode_to_content": false,
  "automatic_upload": true,
  "skip_hash_check": false,
  "skip_spectrogram": false,
  "allowed_transcode_formats": ["Flac", "Mp3320", "Mp3V0"],
  "concurrency": 16
}

@nigiriemoji How did you remedy this issue?

I am wondering too


FE-ISSUE-15--setup-sass-modules

https://www.youtube.com/watch?v=kFA-ZJ9KTqs

https://blog.webdevsimplified.com/2022-07/react-folder-structure/
Implementing advanced file structure
Using different guide as the prior one is for next.js
https://esausilva.com/2020/07/23/how-to-use-sass-and-css-modules-with-create-react-app-cra/

SASS File Structure
https://esausilva.com/2020/07/23/how-to-use-sass-and-css-modules-with-create-react-app-cra/


[chore]: optimization local development

When developing locally, you need to manually build docker / redis and apply various ak / sk / token , which makes it very tedious to develop for the first time.
We should make redis / mysql creation automated, as well asƒ mock various ak / sk / token

For now, you can write unit tests to verify that the code is correct!


Remove manual encoding, as query paramters are already encoded

Task/Issue URL: https://app.asana.com/0/856498667320406/1154001374942564
Tech Design URL:
CC:
Description:
Fix double-encoding by removing manual encoding of site URL.
Steps to test this PR:

Report broken site URL.
Query parameters should be encoded as needed.

Internal references:
Software Engineering Expectations
Technical Design Template

Thanks!


magenta/models/image_stylization result problem

i train the model again and result is not good  in the transfer picture ,and train step i follow the author ,so i want to know how make the result better.
thank you

Hi @lisiping0817, thanks for reaching out! Can you provide me with more information on the problem you're having?

What command did you run to create the style dataset?
What style images did you provide for training? What are their resolution?
What command did you run to train the model? In particular, did you use the default content/style loss hyperparameters?

What is the resolution of the content image you stylized?
What is it about the stylization which does not meet your expectations? Is it the grainy visual artifact, the fact that the sky is not stylized uniformly, or something else?


nixos/nextcloud: fix nginx-config for Nextcloud 19 and older

Motivation for this change
It seems as I misconfigured nginx for certain cases such as the
ldap-plugin[1] in 42f6244899d1ef8839c6e0c0a9340e1334d40264. This patch
fixes the nginx-config to match the upstream recommendations[2].
Also added a comment to the module to remind myself to ensure that
nginx will work with both v19 and v20 as soon as the latter is
released and can be packaged in nixpkgs.
Co-authored-by: nivadis<EMAIL_ADDRESS>[1] https://github.com/nextcloud/server/issues/16194#issuecomment-688839888
[2] https://docs.nextcloud.com/server/19/admin_manual/installation/nginx.html
cc @mweinelt @nivadis @flokli
Needs backport to 20.09 and 20.03.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @matthiasbeyer can you check if this fixes your issue as well? :)

So I replaced package = pkgs.nextcloud18 with
    package =
      let
        url = "https://github.com/nixos/nixpkgs/archive/8d8871c565373a46792fc0e4d3976a3c2ac58c18.tar.gz";
        p = import (builtins.fetchTarball url) {};
      in p.nextcloud18

in my configuration for my server, and it works. Not sure whether this is a sufficient test, tho.

But I still get an error when updating my channels.

@matthiasbeyer not sure why it works now, but to test this change you'd actually have to replace the Nextcloud module, not the package (e.g. with disabledModules and imports).

Yeah, it worked because I did not update the channel... after updating the channel, my nextcloud was broken again. Not sure how to build my whole system from this commit, tho.

A temporary solution would be a local checkout of this branch and then you could do something like this:
{
  # Import module from this branch
  imports = [ /path/to/local/checkout/nixos/modules/services/web-apps/nextcloud.nix ];
  # Disable default Nextcloud module from your `<nixpkgs>`
  disabledModules = [ "services/web-apps/nextcloud.nix" ];
}

ping @matthiasbeyer any updates?

I am on vacation (currently on my way home). I hope I can get down to test this during the week.

Not quite sure how to integrate this PR into my krops deployment so that it builds nextcloud from this PR instead of nixos stable...

Do you want to build from this PR's rev or do you just want to apply the changes made here in your deployment? In the latter case you can work with disabledModules as described above.

The latter. I have to add this PR to the environment to build nextcloud and nginx from it...

Okay, I guess I found a way, but now I get
error: attribute 'buildEnv' missing, at [...]nixos/modules/services/web-apps/nextcloud.nix:13:7

Oh right, the php package has been refactored and this wasn't part of 20.03.
You should(tm) be able to fix this by adding sth. like this to your NixOS configuration:
{
  nixpkgs.overlays = [
    (self: super: {
      php74 = (import /path/to/checkout/of/this/branch {}).php74;
    })
  ];
}

@matthiasbeyer did you try out the overlay?

In fact I did it a bit differently, so I will try to use it with an overlay. Unfortunatly I'm exepecting people any minute now and cannot do it right now. I hope I can get to try it tomorrow.

That's totally fine, have a nice sunday! :)
Just FYI, to make sure we don't have any further issues I just confirmed that a configuration like this evaluates when having <nixpkgs> point to release-20.03:
# ~/Projects/nixpkgs-backports/nextcloud-vm.nix
{
  vm = { pkgs, ... }: {
    disabledModules = [ "services/web-apps/nextcloud.nix" ];
    imports = [ ~/Projects/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix ];
    nixpkgs.overlays = [
      (self: super: {
        php74 = (import ~/Projects/nixpkgs { }).php74;
      })
    ];
    services.nextcloud = {
      enable = true;
      package = pkgs.nextcloud19;
      hostName = "foobar";
      config.adminpass = "verysafe";
    };
  };
}

@worldofpeace @jonringer this should land in 20.09 as well btw.
@matthiasbeyer do you need sth. else from me for testing? :)

What's the timeframe? This weekend won't be possible as I'm completely occupied and during next week,... I don't know. :cry:

I'd prefer to merge this now as it fixes an actual bug for several people.
If the problem @matthiasbeyer reported isn't fixed by that I'm happy to help out investigating and bugfixes are usually backportable :)

Agreed, as I probably won't get to it in the next few days.

20.09: ec20ddd254fb9f7438f25cf153e48a870e2cbfd9
20.03: adc7650bf25d3efec8e82088f36f3c1ef7f96d0f

I think this broke some other stuff, e.g. right click -> copy or move (which might be a plugin?).
To fix that, I applied a patch that looks something like this:
@@ -568,20 +568,19 @@ in {
               fastcgi_read_timeout 120s;
             '';
           };
-          "~ \\.(?:css|js|svg|gif|map)$".extraConfig = ''
+          "~ \\.(?:css|js|woff2?|svg|gif|map)$".extraConfig = ''
             try_files $uri /index.php$request_uri;
             expires 6M;
             access_log off;
           '';
-          "~ \\.woff2?$".extraConfig = ''
-            try_files $uri /index.php$request_uri;
-            expires 7d;
-            access_log off;
-          '';
           "~ ^\\/(?:updater|ocs-provider|ocm-provider)(?:$|\\/)".extraConfig = ''
             try_files $uri/ =404;
             index index.php;
           '';
+          "~ \\.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$".extraConfig = ''
+            try_files $uri /index.php$request_uri;
+            access_log off;
+          '';
         };
         extraConfig = ''
           index index.php index.html /index.php$request_uri;

The first hunk is probably irrelevant, the second is basically copied from the upstream config as linked in this PR.

Which nextcloud version are you using and is there anything in the logs? Also, what do you observe exactly? Just tested copy operations in my Nextcloud without any issues.

I'm running 19.0.x. I didn't see anything in the server logs, just some thing 404ing in my browsers devtools.
I'm not talking about normal copying stuff, but right click -> copy or move. There's a dialog that pops up and asks you where to move stuff.

There's a dialog that pops up and asks you where to move stuff.

That's what I talked about as well :)
Will try to reproduce it in a VM as soon as I have time to.

Reproducible with 19.0.3, fixed in #99658

So I updated my nextcloud to 504f993df9a5ca63317fe9c859df19daad30aa14 but still it is not working, as you can see for yourself: https://cloud.beyermatthi.as
Do I have to add something in my configuration as well? Unfortunately, I cannot downgrade anymore as nextcloud refuses to start then.

Oh well... updating to nextcloud19 did not fix my issue... :see_no_evil: I'm on nixos 20.03 btw.

services.nextcloud.nginx.enable = true; fixed my issue.


No new profile created

I saw another user having problems with no new 'Nord' profile being created, and I am having the same problem. I installed all of your specified dependencies and the install appears to be working correctly. But I do not get a new profile being created.
I am using Gnome terminal 3.22.2 on Debian Stretch and below is the output I see. It looks to me like it is applying the settings to the '' profile rather than the 'Nord' profile.
[INFO] Validated required dependencies: dconf expr gsettings uuidgen
[INFO] Detected compatible GNOME Terminal version 3.22.2 (>= 3.8 dconf migrated)
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
[INFO] Available profile UUIDs: b1dcc9dd-5262-4d8d-a863-c897e6d979b9
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
[INFO] Cloned the default profile 'b1dcc9dd-5262-4d8d-a863-c897e6d979b9' with new UUID '48a30685-7008-46d9-beb0-1520e6e4b080'
[DEBUG] Applied Nord color palette
[DEBUG] Applied background- and foreground colors
[DEBUG] Applied bold color and configuration
[DEBUG] Applied system theme compability configuration
[DEBUG] Applied cursor colors and configuration
[DEBUG] Applied highlight colors and configuration
[DEBUG] Applied highlight colors and configuration
[DEBUG] Set Nord GNOME Terminal version key of the '' profile
[INFO] Applied theme colors and configurations
[SUCCESS] Nord GNOME Terminal version 0.1.0 has been successfully applied to the newly created 'Nord' profile
[DEBUG] Cleaning up script execution by unsetting declared functions and variables

Thanks for your contribution :+1:
Looks like this is related to #19.
This line is not logged by the script but the underlying used library:
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

This implies that the script works fine, but the changes made to dconf are read-only and will be dropped as soon as the script finish. I'll evaluate in which version this change has been introduced to GLib/GIO and fix it via #19.

@liggettla Can you please try to reproduce the problem when running the following line before the install script:
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules

When I first run the line you gave me, the 'Nord' profile is now created and I can successfully use it. So, looks like that fixed it.

@liggettla Thanks for testing. I'll add the export to the script to fix the problem for affected distributions.

Is this still not added? I ran into the same problem today and export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules fixed it.

@AtomScott The line above was just for testing purposes, it should be added to the install script itself without exporting it into the current session, otherwise it'll mess up the users environment, for example when the variables was already set and included other values or multiple paths.
Feel free to submit a PR, every contribution is always welcome.


Batch creation of user in KC

create a method that enables the creation of several users at once for migration purposes

KC do not allow the batch creation of users but it is possible to  send a whole realm with several users.
This problem is fixed in the application by using a builder to send several request with multi threading


Unclear build steps for building on Windows

The build.cmd in the project root folder do not work as-is. I tried for a little bit to build everything from source, but those attempts failed when using Windows operating system. I believe the (just by looking at the script) the Linux build.sh is probably complete and much better than the one available on Windows. (build.cmd).
Let me know what I am missing here, because otherwise it's non-trivial to build everything from source.
C:\> dotnet --list-sdks
2.1.817 [C:\Program Files\dotnet\sdk]
2.2.401 [C:\Program Files\dotnet\sdk]
3.1.412 [C:\Program Files\dotnet\sdk]
5.0.206 [C:\Program Files\dotnet\sdk]
5.0.303 [C:\Program Files\dotnet\sdk]
5.0.400 [C:\Program Files\dotnet\sdk]

Build error when running build.ps1 within eng/common folder.
PS C:\d\sb> git checkout release/5.0
PS C:\d\sb\eng\common> .\build.ps1
C:\d\sb\Directory.Build.props(9,78): error MSB4236: The SDK 'Microsoft.DotNet.Arcade.Sdk' specified could not be found. [C:\Users\neerajs\.nuget\packages\microsoft.dotnet.arcade.sdk\5.0.0-beta.20426.4\tools\Build.proj]

See https://github.com/dotnet/source-build/issues/1190

Triage: This is a duplicate of #1190


tfsec failed to run

tfsec has been working fine for a few weeks, however today it started to display and error stating that "tfsec failed to run"
Here is the tfsec output from vscode:
[DEBUG][2022-02-01 22:13:02.060235 +0000 GMT m=+8.901527922] Starting scanner...

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x14dab60]

goroutine 1 [running]:

github.com/zclconf/go-cty/cty.Type.FriendlyName(...)
	/home/runner/work/tfsec/tfsec/vendor/github.com/zclconf/go-cty/cty/type.go:47
github.com/hashicorp/hcl/v2/hclsyntax.(*ConditionalExpr).Value(0xc0003ef1f0, 0xc01f7a0cd8)
	/home/runner/work/tfsec/tfsec/vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go:623 +0x1320
github.com/aquasecurity/tfsec/internal/pkg/block.getStrings({0x1911978, 0xc0003ef1f0}, 0x10)
	/home/runner/work/tfsec/tfsec/internal/pkg/block/attribute.go:254 +0x208
github.com/aquasecurity/tfsec/internal/pkg/block.(*Attribute).ValueAsStrings(...)
	/home/runner/work/tfsec/tfsec/internal/pkg/block/attribute.go:243
github.com/aquasecurity/tfsec/internal/pkg/adapter/aws/vpc.adaptSGRule(0xc00035da40, {0xc005380000, 0x230, 0x400})
	/home/runner/work/tfsec/tfsec/internal/pkg/adapter/aws/vpc/adapt.go:142 +0x28a
github.com/aquasecurity/tfsec/internal/pkg/adapter/aws/vpc.(*sgAdapter).adaptSecurityGroup(0xc0031dd6d8, 0xc00045ea00, {0xc005380000, 0x230, 0x400})
	/home/runner/work/tfsec/tfsec/internal/pkg/adapter/aws/vpc/adapt.go:110 +0x793
github.com/aquasecurity/tfsec/internal/pkg/adapter/aws/vpc.(*sgAdapter).adaptSecurityGroups(0xc0031dd6d8, {0xc005380000, 0x230
, 0x400})
	/home/runner/work/tfsec/tfsec/internal/pkg/adapter/aws/vpc/adapt.go:45 +0x11b
github.com/aquasecurity/tfsec/internal/pkg/adapter/aws/vpc.Adapt({0xc005380000, 0x230, 0x400})
	/home/runner/work/tfsec/tfsec/internal/pkg/adapter/aws/vpc/adapt.go:16 +0x156
github.com/aquasecurity/tfsec/internal/pkg/adapter/aws.Adapt({_, _, _})

/home/runner/work/tfsec/tfsec/internal/pkg/adapter/aws/adapt.go:76 +0xeff
github.com/aquasecurity/tfsec/internal/pkg/adapter.Adapt({0xc005380000, 0x230, 0x400})
	/home/runner/work/tfsec/tfsec/internal/pkg/adapter/adapt.go:19 +0x4e
github.com/aquasecurity/tfsec/internal/pkg/scanner.(*Scanner).Scan(0xc006cbc660, {0xc005380000, 0x0
, 0x400})
	/home/runner/work/tfsec/tfsec/internal/pkg/scanner/scanner.go:51 +0x9f
github.com/aquasecurity/tfsec/internal/app/tfsec/cmd.glob..func1(0x1e81320, {0xc0003ee230, 0x1, 0x7
})
	/home/runner/work/tfsec/tfsec/internal/app/tfsec/cmd/root.go:114 +0x7ec
github.com/spf13/cobra.(*Command).execute(0x1e81320, {0xc00001e090, 0x7, 0x7
})
	/home/runner/work/tfsec/tfsec/vendor/github.com/spf13/cobra/command.go:856 +0x60e
github.com/spf13/cobra.(*Command).ExecuteC(0x1e81320)
	/home/runner/work/tfsec/tfsec/vendor/github.com/spf13/cobra/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
	/home/runner/work/tfsec/tfsec/vendor/github.com/spf13/cobra/command.go
:902
main.main()
	/home/runner/work/tfsec/tfsec/cmd/tfsec/main.go:11 +0x25

Desktop (please complete the following information):

OS: macOS 10.15.7
Tfsec Version: v1.0.7
VSCode Version: v1.7.4

I was experimenting with setting: "tfsec.ignoreDownloadedModules": to false. It ran OK, but I have changed it back to true.
I have also restarted vscode and reinstalled the extension.
I tried upgrading tfsec to v1.0.8 also but the problem persists.
I should also add, tfsec runs fine from the cli.

I tried running the extension from a different workspace and it runs OK. I noticed in the output tab that the scanner writes a file to: /Users/chris/Library/Application Support/Code/User/workspaceStorage/####tfsec.tfsec/.tfsec/****_results.json.
This file is also been written for the workspace where I am experiencing the problem described above, however the debug output does not show the file being written. The results are shown in the Findings explorer window.,

I'm going to move this to tfsec as its actually an issue with that


REFACTOR: Fix installer

Codecov Report
Attention: Patch coverage is 60.00000% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 75.87%. Comparing base (ebe41b4) to head (6e41b34).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4634      +/-   ##
==========================================
- Coverage   80.70%   75.87%   -4.83%
==========================================
  Files         118      118
  Lines       54478    54464      -14
==========================================
- Hits        43967    41326    -2641
- Misses      10511    13138    +2627


Update fedora_manual_config.md

removal of
Add your own!
KUBELET_ARGS=""
this line causes provided args above it to be over written
removal of flag "--require-kubeconfig" as it prevents the service from starting with error "F0708 18:41:17.411350   11725 server.go:145] unknown flag: --require-kubeconfig"
this is with v1.10.1

cncf CLA

/lgtm
/approve


Change URL for Renew Europe

Hi,
This link goes to a 404 page, I don't know if it's the correct new URL. Let me know if not.

Merci pour ton bénévolat

Thanks for your contribution @tony-tran


Controlling solenoid valves using Relays closing on LOW level

Dear @ebaauw, thank you for putting together this nice little plugin!
I'd like to use this plugin to control 4 solenoid valves using 4 channel relays in a remote GPIO configuration.
The relays are closing on Low level so I reversed the control of the accessories, it works fine thru HomeKit.
When I reboot the remote PI, all relays open (which is fine for my use case). The problem is that when homebridge-rpi connects for the first time, the GPIO get initialized on LOW level rather than HIGH which leads to all 4 relays to close.
In my use case, that would cause the valves to open until they get cycled open / closed thru Homekit which is not ok (I don't want to have the garden irrigation running by default :-) )
Could it be possible to add an option for the startup state to assign to GPIO output with HIGH level? Having this configurable thru config.json (and settings on UI) would be awesome.

What's your config.json?  Could you please capture and attach a debug log file (see https://github.com/ebaauw/homebridge-hue/wiki/FAQ#homebridge)?
Are you sure you got reversed right?  Normally, low means inactive (off) and high means active (on).
Valves are initialised to inactive (off), because of the duration logic, but that should take into account the reversed setting.  What happens if you expose the relays as switches?
On boot, the Pi initialises the GPIO pins as input pins with a pull-up/pull-down resistor, dependent on the pin (see https://www.raspberrypi.org/documentation/hardware/raspberrypi/gpio/README.md and page 102 of https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf).  To change these, see https://www.raspberrypi.org/documentation/configuration/config-txt/gpio.md.

Thank you for the detailed instructions above, @ebaauw.  I'm also leveraging your wonderful plugin to build an irrigation system and experiencing the same issues as @ychieux.
I changed the default pin initialized settings by editing /boot/config.txt. Now, I have a fail-safe irrigation system. Thanks again!


Publish to HACS (or HA)

Wow this is awesome! This seems like it may be viable candidate for HACS if not merging upstream into HA itself?

First I want to have it more complete. Also I need to read more about components so that I use the right methods and everything. But will let you know.
If you're missing a feature make a new issue. At this moment I've implemented the features I needed.

Great job on this, works a charm for my use case. Integrating Logitech Harmony as a media_player and then exposing via HA Cloud to Alexa. This allows me to control TVs in separate rooms using Alexa's room aware commands like "Turn on TV, Pause, Play, Turn off TV". Pretty much the Holy Grail for Logitech Harmony + Alexa users, the number of times I have seen this question asked on Reddit, and now here it is working via HA and you custom component!

This is working great for me.
I second the request, for it to be added via HACS.

You can add this repo as custom_repository. I've added a pull request to add the default repositories

Do you have a link to the PR for upvoting?

I still need to fix some other stuff. First thing I need is a brand logo for the integration.
I took the original template logo but that isn't allowed apparently.

I've fixed everything needed for the pr it only needs to be approved: https://github.com/hacs/default/pull/679

The pr is merged!

Hi! What about upstreaming to HA core? This looks like a perfect integration for HA.

Hi! What about upstreaming to HA core? This looks like a perfect integration for HA.

It's a possibility but I think the integration still has several stuff missing before it could be fully integrated in HA


Etcd does not run on Bash on Ubuntu on Windows

When running etcd on Bash on Ubuntu on Windows in any form (I'm mainly trying to run the integration test, but the normal application doesn't start either), I get the following error:
etcdserver: create wal error: rename /tmp/etcd930045107/member/wal.tmp /tmp/etcd930045107/member/wal: permission denied

I did some digging and found the following comment in etcd/wal/wal_windows.go and I suspect the same thing is valid for the filesystem in Bash on Ubuntu on Windows:
// rename of directory with locked files doesn't work on
// windows; close the WAL to release the locks so the directory
// can be renamed

This is a BashOnWindows issue: https://github.com/Microsoft/BashOnWindows/issues/2243

@RobinGeuze in the meantime just use etcd.exe from the etcd windows releases as this is an issue with how BashOnWindows emulates POSIX filesystems, not an issue with etcd.

I actually managed to "fix" it by including the code from wal_windows.go in the wal_unix.go in case the rename fails (a retry if you will). However then I run into boltdb/bolt#702 so that joy was short lived :P

Partially duplicates #6984. The wal package / fileutil can dynamically check if the FS permits locked directory renames then act accordingly instead of tying it to the build target OS like how it is now.


Can we ignore "src" on 3.6 branch?

I keep seeing a whole bunch of files when I switch between branches, not sure if this is why.


Log requests to a file

I'm looking for a way to log all requests (URL and IP) to a file. Is this possible?

i did this for myself by adding a custom php file i wrote

can you share the file?


dev: Fix CopyWebpackPlugin test file paths

Test files are expected to be in this location. example
This broke a some point during the vscode.dev updates.

Weird, I'm pretty sure that this PR should have fixed it: https://github.com/microsoft/vscode-azuretools/pull/1420/files
I don't think it was the vscode.dev stuff specifically, but because I updated webpack to ^5.7
https://github.com/microsoft/vscode-azuretools/commit/10fb87f2a443228f2cce96ea47ede5ab9a84a513

I kept running into errors because the file path was wrong, but now I can't repro. 😕


INTERNAL_SERVER_ERROR comes when use production mode and product details to save card info

[HTTP/1.1 500 Internal Server Error] {"errors":[{"category":"API_ERROR","code":"INTERNAL_SERVER_ERROR","detail":"An internal error has occurred, and the API was unable to service your request."}]}

i see now this type error when creating customer and save card for customer
[HTTP/2 503] upstream connect error or disconnect/reset before headers. reset reason: overflow 503

@ipehimanshu , that particular error was caused by a blip yesterday. Do you see that error now?

blip means ?
i am not getting ?
On Thu, Nov 7, 2019 at 12:08 AM Xingfu Dong<EMAIL_ADDRESS>wrote:

@ipehimanshu https://github.com/ipehimanshu , that particular error was
caused by a blip yesterday. Do you see that error now?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/square/connect-php-sdk/issues/99?email_source=notifications&email_token=AGLK3BXUNDFT3TPYSK733JTQSMFIZA5CNFSM4IRG2GWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDHRWZQ#issuecomment-550443878,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGLK3BS4TRHT3YVWACADI2TQSMFIZANCNFSM4IRG2GWA
.

Was an issue on our side.  Resolved.


Update zio, zio-test, zio-test-magnolia, ... to 1.0.3

Updates

dev.zio:zio
dev.zio:zio-test
dev.zio:zio-test-magnolia
dev.zio:zio-test-sbt

from 1.0.2 to 1.0.3.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

labels: library-update, semver-patch

Codecov Report

Merging #55 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #55   +/-   ##
=======================================
  Coverage   86.89%   86.89%
=======================================
  Files          27       27
  Lines         801      801
  Branches       29       29
=======================================
  Hits          696      696
  Misses        105      105

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8d0a283...2108324. Read the comment docs.


Basic hardware type-hierarchy cleanup

This is an effort to cleanup Chisel's hardware type hierarchy. This PR addresses:

Wrong return type of polymorphic operators, causing annoyances such as #1125 with negative impact on the user experience.
Breaking up the implementations in Bits.scala

moving unsealed classes/traits (Num and Element) to designated files
introducing a private common trait for Num types derived from Bits called NumBits
adding DRYness while retaining compatibility

Notes

May require subsequent clean-up and proof-reading of scaladocs and code comments.

[x] rocket-chip:master compiles and passes basic asm tests

[x] dsptools:master all tests pass

Related issue:  #1125

Type of change: other enhancement

Impact: API modification

asFixedPoint is now only defined for Bits vs throwing a elaboration-time exception for Bits. Not a functional change and also FixedPoint is still experimental.

Development Phase: implementation
Release Notes

Can one of the admins verify this patch?

ok to test

Updated the description to reflect the current state.
Ready for review.

It should be good for review now!

I made a slightly API-incompatible change. Trying Bits as concrete. IIRC Bits used to be concrete at some point in the past (maybe chisel2?). I was not able to trace why and when it was made abstract, but I think there's a chance that with what we're doing here maybe we can restore the notion of Bits as the "non-arithmetic hardware bit" type. This would be something similar to many traditional HDLs and I think helps with catching errors as well as code readability. In VHDL for example std_ulogic_vector is just a bit vector with different use/operations than the sub-types signed and unsigned.

Comments in the source code

I realized Bits has always been abstract form the initial commit by @jackbackrack.
@ducky64 any thoughts on this? You had left the following TODO in Bits.scala back in 2015:
  // TODO: perhaps make this concrete?
  // Arguments for: self-checking code (can't do arithmetic on bits)
  // Arguments against: generates down to a FIRRTL UInt anyways

@kammoh Bits used to be a concrete type in Chisel2 (iirc, main difference was it didn't support arithmetic), but was made abstract for reason I don't fully remember. There has been people interested in making it concrete again (#957 would be the place to discuss), and I believe there's agreement in the dev group that this is a good idea, but it needs someone to lead the effort and produce an implementation.
There are some design decisions that need to be made, such as what is the exact scope of Bits (though a strawman proposal or PR would be a starting point), and how do you deal with Bits returning UInt (perhaps a deprecation schedule).

If it's ok I'm going to break up this PR into smaller chunks.

I just want to note that this adds +&/+% to Num which makes sense to me. I have a situation where I would like to make something parametric in A <: Data with Num[A]. However, it was unexpected that +& is currently not a member of A. Summarily, the DRYness has tangible benefits for writing generators.

I just want to note that this adds +&/+% to Num
@seldridge I maintained this approach in #1168, but I guess any user library extending Num[T] now needs to implement those methods.

 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.

 All committers have signed the CLA.


Remove empty etl subpackage

Codecov Report

Merging #347 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #347   +/-   ##
========================================
  Coverage    95.42%   95.42%
========================================
  Files           67       67
  Lines         2493     2493
  Branches       207      207
========================================
  Hits          2379     2379
  Misses          84       84
  Partials        30       30

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 424e6cb...a263faf. Read the comment docs.


Fixed compatability of prints for python3

Lots of python2 style print statements, I removed them and replaced them with python3 style.

Thank you! Will merge.


No keycloak docker-compose file was generated

What's wrong with my jdl?
When I start all containers, I got the wrong message
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:9080/auth/realms/jhipster/.well-known/openid-configuration": Connection refused (Connection refused)

my jdl file:
application {
  config {
    baseName uaa
    packageName org.aasrnd.uaa
    applicationType uaa
    authenticationType uaa
    prodDatabaseType postgresql
    serviceDiscoveryType eureka
    cacheProvider hazelcast
    testFrameworks [cucumber, gatling]
    languages [zh-cn, en]
    nativeLanguage zh-cn
  }
}

application {
  config {
    baseName gateway
    packageName org.aasrnd.gateway
    applicationType gateway
    authenticationType uaa
    uaaBaseName "uaa"
    prodDatabaseType postgresql
    serviceDiscoveryType eureka
    serverPort 8880
    testFrameworks [cucumber, gatling]
    languages [zh-cn, en]
    nativeLanguage zh-cn
  }
  entities Blog, Post, Tag, Product
}

application {
  config {
    baseName blog
    packageName org.aasrnd.blog
    applicationType microservice
    authenticationType uaa
    uaaBaseName "uaa"
    prodDatabaseType postgresql
    serverPort 8881
    serviceDiscoveryType eureka
    testFrameworks [cucumber, gatling]
    languages [zh-cn, en]
    nativeLanguage zh-cn
  }
  entities Blog, Post, Tag
}

application {
  config {
    baseName store
    packageName org.aasrnd.store
    applicationType microservice
    authenticationType uaa
    uaaBaseName "uaa"
    databaseType mongodb
    devDatabaseType mongodb
    prodDatabaseType mongodb
    enableHibernateCache false
    serverPort 8882
    serviceDiscoveryType eureka
    testFrameworks [cucumber, gatling]
    languages [zh-cn, en]
    nativeLanguage zh-cn
  }
  entities Product
}

entity Blog {
  name String required minlength(3)
  handle String required minlength(2)
}
entity Post {
  title String required
  content TextBlob required
  date Instant required
}
entity Tag {
  name String required minlength(2)
}
entity Product {
  title String required
  price BigDecimal required min(0)
  image ImageBlob
}
relationship ManyToOne {
  Blog{user(login)} to User
  Post{blog(name)} to Blog
}
relationship ManyToMany {
  Post{tag(name)} to Tag{post}
}
paginate Post, Tag with infinite-scroll
paginate Product with pagination
microservice Product with store
microservice Blog, Post, Tag with blog

deployment {
  deploymentType docker-compose
  appsFolders [uaa, gateway, blog, store]
  dockerRepositoryName "valdanito"
  consoleOptions [zipkin]
}

You need to start Keycloak from your gateway app.

On Sep 25, 2019, at 20:12, Valdanito<EMAIL_ADDRESS>wrote:

What's wrong with my jdl?
When I start all containers, I got the wrong message
Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:9080/auth/realms/jhipster/.well-known/openid-configuration": Connection refused (Connection refused)
my jdl file:
application {
config {
baseName uaa
packageName org.aasrnd.uaa
applicationType uaa
authenticationType uaa
prodDatabaseType postgresql
serviceDiscoveryType eureka
cacheProvider hazelcast
testFrameworks [cucumber, gatling]
languages [zh-cn, en]
nativeLanguage zh-cn
}
}
application {
config {
baseName gateway
packageName org.aasrnd.gateway
applicationType gateway
authenticationType uaa
uaaBaseName "uaa"
prodDatabaseType postgresql
serviceDiscoveryType eureka
serverPort 8880
testFrameworks [cucumber, gatling]
languages [zh-cn, en]
nativeLanguage zh-cn
}
entities Blog, Post, Tag, Product
}
application {
config {
baseName blog
packageName org.aasrnd.blog
applicationType microservice
authenticationType uaa
uaaBaseName "uaa"
prodDatabaseType postgresql
serverPort 8881
serviceDiscoveryType eureka
testFrameworks [cucumber, gatling]
languages [zh-cn, en]
nativeLanguage zh-cn
}
entities Blog, Post, Tag
}
application {
config {
baseName store
packageName org.aasrnd.store
applicationType microservice
authenticationType uaa
uaaBaseName "uaa"
databaseType mongodb
devDatabaseType mongodb
prodDatabaseType mongodb
enableHibernateCache false
serverPort 8882
serviceDiscoveryType eureka
testFrameworks [cucumber, gatling]
languages [zh-cn, en]
nativeLanguage zh-cn
}
entities Product
}
entity Blog {
name String required minlength(3)
handle String required minlength(2)
}
entity Post {
title String required
content TextBlob required
date Instant required
}
entity Tag {
name String required minlength(2)
}
entity Product {
title String required
price BigDecimal required min(0)
image ImageBlob
}
relationship ManyToOne {
Blog{user(login)} to User
Post{blog(name)} to Blog
}
relationship ManyToMany {
Post{tag(name)} to Tag{post}
}
paginate Post, Tag with infinite-scroll
paginate Product with pagination
microservice Product with store
microservice Blog, Post, Tag with blog
deployment {
deploymentType docker-compose
appsFolders [uaa, gateway, blog, store]
dockerRepositoryName "valdanito"
consoleOptions [zipkin]
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Did you start with an OAuth2 JDL and switch to UAA?
You can't have User relationships with UAA auth and microservices, so the Blog service fails to build.  Maybe it's using an old image?

@mraible
Thanks for the quick reply.
When I use oauth2 as your blog does, keycloak.yml files are generated in the docker-compose directory and gateway/src/main/docker directory, but when I change authenticationType to uua, no keycloak.yml is generated. Here is my console record.

UAA does not use Keycloak. It uses its own standalone server. If you want Keycloak, you'll want to use oauth2.


[kueuectl] Clearing cluster queues after each creation on "Creating a ClusterQueue" tests.

What type of PR is this?
/kind bug

What this PR does / why we need it:
We need to clear cluster queues after each test cases on "Creating a ClusterQueue" tests to fix "Should print cluster queues list with paging" integration test and don't show this cluster queues on the list.
Which issue(s) this PR fixes:

Fixes #2454
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/assign @trasc

/approve