Design questions ...

I have two questions, basically. I suspect they're a matter of opinion, but if you agree with me, I'd be willing to send some PRs ...
First, it seems it might be better if there was an abstract base class for the configuration.
I saw from the docs that you must have used an interface at one time, and I so I wondered what made you decide to make DefaultTusConfiguration not be an abstract base.  That way, instead of needing to write my whole implementation inline in my Startup class, I could just subclass BaseTusConfiguration and override whatever I need to ...
I was able to treat it as a base class, and derive from it, except that because the events are in their own class, I still had to hook up all the logic in the constructor ...
Second, what's the use case for a write-only store?
Separating all of the storage interfaces individually (without a dependency chain), seems to make this awkward to use with a dependency injection model.
Specifically, I want to register the store for use in my configuration, something like this (in ASP.NET Core):
services.AddTransient<ITusStore>(provider =>
                  new TusDiskStore(Configuration.GetValue("uploadPath", @"S:\")));

However, when the uploads are done, I need to do something with them, which means I need an ITusReadableStore ... is it reasonable to register another interface of the TusDiskStore for each feature I need?
Am I missing something, or would it be reasonable that every Store must derive from ITusStore, and perhaps even require the implementation of the GetFileAsync method?
I'm honestly not sure how your actual implementation is done -- if I provide a Store that's missing interfaces, do you just disable that functionality on the middleware? Could there ever be such a thing as a write-only or read-only store?

Hi @Jaykul,
Good questions! I'll answer them one by one.
"First, it seems it might be better if there was an abstract base class for the configuration."
It sure was an interface back in the day but as the interface didn't quite do anything that the DefaultTusConfiguration class already does, it was removed in tusdotnet 2.0. Instead all properties of the DefaultTusConfiguration class were made virtual to allow subclassing. Do you have an example of what you want to achieve using an abstract base class that you cannot achieve with the current implementation of DefaultTusConfiguration? Making it abstract would require all who use tusdotnet to subclass and make their own implementation which I don't think is feasible.
"Second, what's the use case for a write-only store?"
I can definitely see where you're coming from here. The first work on tusdotnet started before IoC was a big thing in C# and hence it was not taken into consideration at all. The store's design pattern was created to mimic that of the tus protocol which consists of a mandatory core protocol (represented by ITusStore) and several extensions (e.g. creation/ITusCreationStore, termination/ITusTerminationStore etc). Since reading files is not part of the protocol it was decided to put this into a separate interface (ITusReadableStore).  You are absolutely correct in that tusdotnet will disable features based on the store that is provided. The only interface that is required to be implemented by the store is ITusStore as this represents the core protocol.
Without knowing that much about your use case I would think that you would need to setup ITusStore for your configuration of tusdotnet and ITusReadableStore to be able to read files from some other place in your code base. I completely understand why this is not optimal. Perhaps adding an extra, empty interface between TusDiskStore and all the ITusXXXStore interfaces would help? That way one could hook up ITusDiskStore to use TusDiskStore  in the IoC and register it only once. Since ITusDiskStore would inherit from all the other interfaces it should be fine to just fetch it and provide it to the DefaultTusConfiguration.

No answer for 30 days. Closing due to inactivity.


Health Check Plugin

OpenSearch & Dashboard Plugins Health Checks
1. Introduction
Health Check Page and APIs will be one stop shop, to check health status of all OpenSearch & OpenSearch-Dashboard plugins. The page will provide health status indicators (Green/Red/Yellow) for each plugin. The API endpoints will provide users the capability to check each plugin and get their detailed health status. Further, the health check responses from each plugin will be stored as logs for analysis.
2. Motivation
As OpenSearch keeps on adding more plugins (Community & Core Team Driven), it becomes hard to manage and coordinate them. Since each plugin runs independently, even if one of them fails the other plugins keep on running. This failure of one plugin may lead to a major catastrophe of the cluster later(E.g If a major plugin like notifications fails, rest of all dependent plugins are affected). Therefore, it would be great to see recent-past health checks of individual plugins, for a better drill down of problems in an OpenSearch cluster. This will help to find the root cause of instance failures if they were generated by a plugin failure. The health check page/logs/APIs would allow users to:

Get a glance of health status of individual plugins
Begin a Root Cause Analysis on a plugin issue
Explore past health check status of individual plugins

2.1 Target Users
Our target users are DevOps Teams and Engineers who manage/support deployed OpenSearch Clusters.
2.2 How is it Different from current status page in Kibana?
The current status page in Kibana provides health indicators for each plugin and a single API endpoint for accessing the plugin status. This page shows indicators based on availability of dependencies for each plugin. The following are issues with current status page:

Doesn’t provide individual API endpoints for each plugin
Doesn’t store detailed logs for recent past plugin statuses
Doesn’t report any other internal plugin issue apart from dependencies

3. Placement of Health Check page
The Health Check page can be integrated in our current OpenSearch setup in either of the two ways:

Integrate with current Status API available in OpenSearch-Dashboard. This integration will place health checks in Dashboard core.
Make health check a separate plugin with optionally an OpenSearch-Dashboard page.

4. Requirements
4.1 Required Features:

Heath Status of each plugin should be indicated by either of the 3 colors below:

GREEN → Indicates the plugin is alive and running
YELLOW → Indicates the plugin is alive, but has some issues like:

A plugin might be in initialization stage
A dependency might not be loaded
A plugin might have index issues
Any other misc. issue (plugin specific or cluster level)

RED → Indicates the plugin is not alive

There should be three types of health checks to perform different checks:

Startup check - This check makes sure that the plugin has initialized and is ready to perform a readiness check
Liveness check - This check makes sure that the plugin is alive and available for performing a readiness check
Readiness check - This check makes sure that the plugin doesn’t have an internal issues and is ready for incoming requests

There should be three types of triggers, to initiate the checks:

Startup: Called during startup
Time-Based: Called by time interval
Manual: Called at will

The health checks should be done at regular intervals (e.g once every 2 hours) and also could be called at will.
The heath checks should be run with minimum cpu/memory overhead, to not have any impact on performance.
The health status of each plugin should be logged and stored after each check cycle. The storage should be limited to past few days/weeks/months. Once the old logs expire they should be auto-deleted.
The health status plugin should enable users to see all installed plugins along with their health status indicators.
Apart from plugins, the health check page should also indicate the status of OpenSearch service or any other core service.
If not auto-triggered, the health checks should be able to get triggered manually via API endpoint.
The health checks triggered within each plugin should be completed in a stipulated time.
The health checks should be performed at the cluster level.
A user should be able to view detailed health check logs in a tabular format for a given time period.
It should be mandatory for each plugin to provide health check endpoints.
The health check page/plugin should have its own endpoints for self-health checks.

4.2 Optional Features:

The health check plots of past health metrics can be shown on the same page.
Managing logs (insertion, deletion and permissions) would be easier if they are stored as an OpenSearch index.

4.3 Required Configuration:
// Following are Configuration options required for health check page
// The defaults for each of them can be adjusted based on:
// 1. Average time taken by each plugin to startup
// 2. Max response time taken by each plugin
// 3. Average number of times a plugin responds with "Waiting" message

// NOTE: The configurations are global i.e. they apply health check requests made to all plugins.

"initialDelaySeconds": Waiting period before sending first startup check request
"pingWaitSeconds": Waiting period before re-pinging a plugin
"maxPingLimit": Max number of times a request call can be repeated
"requestTimeOutSeconds": Max Time for a request completion
"triggerIntervalSeconds": Time interval between automated health checks

5. Workflows

The health check page, as part of OpensSearch-Dashboard should be responsible for sending health check requests, logging reponses and updating indicators & plots.

The plugins should be responsible for providing API endpoints and doing their internal checks before responding to any health check requests.

If response to any health request is “Waiting“, the health check plugin re-pings after every configured ”pingWaitSeconds“. But, after a given number of tries configured as "maxPingLimit"  the page will mark plugin indicator as RED and stop making requests to the plugin.

Initialization Trigger:

At first, all the plugin indicators are turned RED by the health check page. The health page then waits for a certain amount of time before requesting each plugin. The initial wait time is configured as “initialDelaySeconds”.
The health check page sends a “startup check” async request to each plugin. Once, the plugins have initialized they send a “completed initialization” response to the health page. The indicators are from RED to YELLOW for the plugins which are initialized and available to perform liveness test.
Once, the plugins have fully initialized a “readiness check” async request is sent by the health check page. If the response from plugins is “ready”, the indicator is turned YELLOW to GREEN.
If the a response from any plugin is not received/contains error the indicator for the plugin is turned RED.

Timely/Manual trigger:

For time based or manual triggers, the health check page sends a “liveness check” async request to the plugins which are indicated GREEN in status
If the response of ”liveness check“ is an error, the indicator for that plugin can be turned either YELLOW or RED based on type of error response.
If the response from a plugin is “alive”, a follow up request for “readiness check“ request is sent. Following this, If the readiness response from plugins is “ready”, the indicator stays GREEN.
If the readiness response from any plugin is not received/contains error the indicator for the plugin is turned RED.

6. API Design
6.1 APIs provided by plugin
The APIs below use Notebooks plugin as an example for making requests. Each health check type gets a separate API endpoint on each plugin.

Startup Check

GET api/notebooks/health/startup

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Waiting", // Health Check Page re-pings later
    "body": "Waiting for dashboard plugin to initialize"
}

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Initializing", // Health Check Page re-pings later
    "body": "Initializing internal components"
}

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Initialized", // Health Check Page starts readiness check, indicator YELLOW
    "body": "Initialized all components"
}

RESPONSE BODY
{
    "statusCode": 500,
    "message": "Error", // Health Check Page keeps plugin indicator RED
    "body": "Internal error in starting the plugin" // Can be a custom error message
}

Liveness Check

POST api/notebooks/health/liveness

REQUEST BODY
{
    "triggerType": "Manual" // Can be "Time-Based"
}

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Alive", // Health Check Page keeps plugin indicator GREEN
    "body": "Accepting readiness check`s`"
}

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Waiting", // Health Check Page re-pings & turns plugin indicator YELLLOW
    "body": "Waiting for other requests to be completed"
}

RESPONSE BODY
{
    "statusCode": 500,
    "message": "Error", // Health Check Page turns plugin indicator RED
    "body": "Internal error in plugin" // Can be a custom error message
}

Readiness Check

POST api/notebooks/health/readiness

REQUEST BODY
{
    "triggerType": "Startup" // Can be "Manual" or "Time-Based", if checking post startup
}

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Ready", // Health Check Page keeps turns indicator GREEN
    "body": "Accepting Traffic"
}

RESPONSE BODY
{
    "statusCode": 200,
    "message": "Waiting", // Health Check re-pings
    "body": "Waiting for other requests to be completed"
}

RESPONSE BODY
{
    "statusCode": 500,
    "message": "Error", // Health Check Page turns plugin indicator RED
    "body": "Internal error in plugin" // Can be a custom error message
}

6.2 APIs provided by health check page
The health check page provides three types of APIs; Startup, Liveness & Readiness. These APIs make internal requests to all the plugins (explained above).

Startup Check

GET api/health/startup

RESPONSE BODY
{
   healthStatus: [
        {
            "timestamp": "2021-01-01T04:04:02Z",
            "pluginId"<EMAIL_ADDRESS>            "healthCheckType": "Startup",
            "triggerType": "Startup",
            "pingCount": 5,
            "requestTimestamp": "2021-01-01T04:02:59Z",
            "responseTime": 1.01,
            "statusCode": 500,
            "responseMessage": "Error",
            "responseBody": "Internal error in starting the plugin",
            "indicator": "RED"
        },
        {
            "timestamp": "2021-01-01T04:04:02Z",
            "pluginId"<EMAIL_ADDRESS>            "healthCheckType": "Startup",
            "triggerType": "Startup",
            "pingCount": 3,
            "requestTimestamp": "2021-01-01T04:02:59Z",
            "responseTime": 1.01,
            "statusCode": 200,
            "responseMessage": "Initialized",
            "responseBody": "Initialized all components",
            "indicator": "GREEN"
        },
    ]
}

Liveness Check

POST api/health/liveness

REQUEST BODY
{
    "triggerType": "Manual" // or can be "Time-Based"
}

RESPONSE BODY
{
   healthStatus: [
        {
            "timestamp": "2021-01-01T04:04:02Z",
            "pluginId"<EMAIL_ADDRESS>            "healthCheckType": "Liveness",
            "triggerType": "Manual",
            "pingCount": 5,
            "requestTimestamp": "2021-01-01T04:02:59Z",
            "responseTime": 1.01,
            "statusCode": 500,
            "responseMessage": "Error",
            "responseBody": "Internal error in starting the plugin",
            "indicator": "RED"
        },
        {
            "timestamp": "2021-01-01T04:04:02Z",
            "pluginId"<EMAIL_ADDRESS>            "healthCheckType": "Liveness",
            "triggerType": "Manual",
            "pingCount": 3,
            "requestTimestamp": "2021-01-01T04:02:59Z",
            "responseTime": 1.01,
            "statusCode": 200,
            "responseMessage": "Alive",
            "responseBody": "Accepting readiness checks",
            "indicator": "GREEN"
        },
    ]
}

Readiness Check

POST api/health/readiness

REQUEST BODY
{
    "triggerType": "Time-Based" // Or can be "Manual" or "Startup"
}

RESPONSE BODY
{
   healthStatus: [
        {
            "timestamp": "2021-01-01T04:04:02Z",
            "pluginId"<EMAIL_ADDRESS>            "healthCheckType": "Readiness",
            "triggerType": "Time-Based",
            "pingCount": 5,
            "requestTimestamp": "2021-01-01T04:02:59Z",
            "responseTime": 1.01,
            "statusCode": 500,
            "responseMessage": "Error",
            "responseBody": "Internal error in starting the plugin",
            "indicator": "RED"
        },
        {
            "timestamp": "2021-01-01T04:04:02Z",
            "pluginId"<EMAIL_ADDRESS>            "healthCheckType": "Readiness",
            "triggerType": "Time-Based",
            "pingCount": 3,
            "requestTimestamp": "2021-01-01T04:02:59Z",
            "responseTime": 1.01,
            "statusCode": 200,
            "responseMessage": "Ready",
            "responseBody": "Accepting traffic",
            "indicator": "GREEN"
        },
    ]
}

7. Log Fields & Example
Each health check request made should be stored as logs. The logs will give users detailed feed of availability details and access to health check history.

“timestamp”: Time of logging the health check reponse
“nodeId”: Id of the node in cluster
“pluginId”: Id of the plugin being checked
“startupTime”: Time of initial startup for the plugin
“lastAlive”: Time when plugin was seen last alive (passed the liveness check)
“lastReady”: Time when plugin was seen last ready (passed the readiness check)
“healthCheckType”: Type of health check request → Startup/Liveness/Readiness
“triggerType”: Type of trigger for the health check → Startup/Manual/Time-Based
“pingCount”: Number of times the health check requests were re-pinged
“requestTimestamp”: Time of sending the current health check request
“responseTime”: Response time of plugin in seconds
“responseStatusCode”: Response status code
“responseMessage”: Response message sent by the plugin → Initialized/Waiting/Initializing/Ready/Alive/Error
“responseBody”: Response reason attached to the message
“indicator”: Indicator status after the response was received

[
    {
        "timestamp": "2021-01-01T04:04:02Z",
        "nodeId":"USpTGYaBSIKbgSUJR2Z9lg",
        "pluginId"<EMAIL_ADDRESS>        "startupTime": "2021-01-01T03:08:48Z",
        "lastAlive": "2021-01-01T03:10:00Z",
        "lastReady": "2021-01-01T03:10:01Z",
        "healthCheckType": "Liveness",
        "triggerType": "Time-Based",
        "pingCount": 3,
        "requestTimestamp": "2021-01-01T04:02:59Z",
        "responseTime": 1.12,
        "responseStatusCode": 200,
        "responseMessage": "Alive",
        "responseBody": "Accepting readiness Checks",
        "indicator": "GREEN"
    },
    {
        "timestamp": "2021-01-01T04:04:03Z",
        "nodeId":"USpTGYaBSIKbgSUJR2Z9lg",
        "pluginId"<EMAIL_ADDRESS>        "startupTime": "2021-01-01T03:08:49Z",
        "lastAlive": "2021-01-01T03:10:01Z",
        "lastReady": "2021-01-01T03:10:02Z",
        "healthCheckType": "Readiness",
        "triggerType": "Manual",
        "pingCount": 1,
        "requestTimestamp": "2021-01-01T04:03:00Z",
        "responseTime": 1.01,
        "responseStatusCode": 200,
        "responseMessage": "Ready",
        "responseBody": "Accepting Traffic",
        "indicator": "GREEN"

    }
]

8. Future

Users should be able to set alerts and notification based on change in plugin indicators.
The health check page should trigger a performance check. This will check cluster’s ingestion speed, cpu and memory usage.

9. References

Status.io: https://status.status.io/
New Relic Blog - Kubernetes Health Checks: https://newrelic.com/blog/how-to-relic/kubernetes-health-checks
AWS ECS health check: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html
Kubernetes Health Probes: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

Moved to Opensearch-plugins https://github.com/opensearch-project/opensearch-plugins/issues/74


Cluster emits 'ready' when not connected.

When using cluster, the ready event is emitted even if the connection is invalid or not connected.
The readme says that ready fires after connect. Is that correct?
Was getting this when my cluster was down. Also happens if I just put in a couple random hosts that don't exist - still get a ready event.
When I try running any commands I get Connection is closed errors.

ready fires right after fetching the slot information of the cluster by sending CLUSTER SLOTS to one of the nodes in the cluster, so that ready means there's at least one node is accessible and ioredis has already known where the other nodes are.
Connection is closed is because all nodes are down and clusterRetryStrategy is disabled.
However, it's strange to get ready event when you put in a couple random hosts that don't exist. Could you please enable the debug mode (DEBUG=ioredis:* node yourapp.js) and post the logs here?

When i tried with just one cluster node, which was in a CLUSTER DOWN state it still emits ready. But there's no connections.
i.e:
this.client = new Redis.Cluster([
        {host: '<IP_ADDRESS>', port: 6379}  // in a CLUSTER DOWN state
      ]);

I'm using default settings, so not touched clusterRetryStrategy yet.

That's correct. CLUSTER SLOTS command returns successfully even if the cluster in the CLUSTER DOWN state. In that case, when emits ready, ioredis has already connected to a node and fetch the information of the cluster successfully.

Should it not check that the cluster can receive commands?
The readme says ready is emitted when the server is ready to receive commands, doesn't CLUSTER DOWN count as not ready to receive commands (as in userland ones, as apposed to info commands ioredis uses to check state)?

import Redis from 'ioredis';

const client = new Redis.Cluster([
  {host: '<IP_ADDRESS>', port: 7777}
]);

client.on('error', function (error) {
  console.dir(error);
});

client.on('ready', function () {
  console.log('****** READY ******'); // getting spammed

  client.get('ABCD', function (err) {
    // never calls back - stuck in offline queue i guess?
    console.error(err);
  });
});

It also spams ready loads when cluster is down.

yeah, you're right. ready event is a little misleading here. I'm going to make some changes on this in 2.0.

Ok, thanks.


isActiveRoute not working if FlowRouter is redirecting

Scenario:
My layout consists of a main menu bar and a main canvas that changes often. In the menu bar, I have the following code:

Home

Menu Entry

There are two routes matching '^myGroup': 'myGroup', which is the root (/) of a route group (path: /group), and 'myGroupPage' which is a sub-page in this group (path: /group/page). I'm expecting isActiveRoute to set the class to 'active' for both route names.
myGroup is a teaser page for users that are not logged-in, wheres myGroupPage is the content the user will see after login. Hence, I configured an 'triggersEnter' on both routes that will redirect to the other if the logged-in state is not correct, i.e. myGroup will redirect to myGroupPage, if the user is logged in, whereas myGroupPage will redirect to myGroup, if the user is not logged in.
Here's the router configuration for the 'myGroup' route group:
var myGroupRoutes = FlowRouter.group({
  prefix: '/group'
});

myGroupRoutes.route('/', {
  // If user is logged in, redirect to sub page
  triggersEnter: [function (context, redirect) {
    if (Meteor.user()) {
      redirect('myGroupPage');
    }
  }],
  // If user is not logged in, show teaser page
  action: function () {
    BlazeLayout.render('layout', {
      mainCanvas: 'teaserPage'
    });
  },
  name: 'myGroup'
});

myGroupRoutes.route('/page', {
  // If user is not logged in, redirect to teaser page
  triggersEnter: [function (context, redirect) {
    if (!Meteor.user()) {
      redirect('myGroup');
    }
  }],
  action: function () {
    BlazeLayout.render('layout', {
      mainCanvas: 'subPage'
    });
  },
  name: 'myGroupPage'
});

Both pages share the same entry in the menu (i.e. the menu entry points to route 'myGroup'), and there is also another menu that allows the user to switch to the site homepage ('root'), which is the root path of the application ('/').
The problem:
If the user is not logged in and I switch between the menu items (i.e. switch between routes 'root' and 'myGroup'), the menu highlight will adjust as expected. However, if the user is logged-in and I switch between 'root' and 'myGroup', the menu item will not be updated to match 'myGroup', it will stick to the home menu entry. It seems as if there is a problem if FlowRouter is redirecting to a sub route of the current route. In this case, isActiveRoute will not be set to 'active' even if the regexp is still matching.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26104680-isactiveroute-not-working-if-flowrouter-is-redirecting?utm_campaign=plugin&utm_content=tracker%2F522373&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F522373&utm_medium=issues&utm_source=github).

Thank you very much for this. On first sight it seems like this might be a problem in flow-router, but I'll look into it and see what I find.

Your'e welcome, thanks for having a look at it!

Any updates on this?

Hey, no I'm sorry haven't had time to work with this package in a while. I'll try and carve out some time this weekend.

@zimme: Thanks for the quick reply. I did some debugging now myself and posted an issue for FlowRouter: https://github.com/kadirahq/flow-router/issues/314 as I found out that it won't reactively update its reactive functions if a redirect to a sub-route in a group takes place. At least I suspect it's not doing this.

Thanks a bunch for taking the time to track this down

No problem, I need this functionality :-) Let's see what the FlowRouter guys say.

The bug in FlowRouter is now fixed, so I am closing this.

:+1: Nice! Thank you for taking the initiative on this one, much appreciated.


As per your code by default screen size is fixed as xs , so we need all screen size based on conditions.

Your code specifies a fixed screen size (xs).
File Name: bootstrap_theme.dart

In this code, you are using a fixed screen size, so if we try using a different screen size, such as a tablet or web, it does not adjust.
 currentBreakPoint: _BootstrapBreakPoints.xs,         screen-size: Size.fromWidth(           _BootstrapBreakPoints.xs.maxWidth,         ),
So we suggest better solutions for it. We made a few changes in the code that adapt to any screen size. I have made changes to your code and pasted it below.
File Name : bootstrap_theme.dart
 currentBreakPoint: MediaQueryBuilder.BootStrapGetBreakPoint(),         screenSize: Size.fromWidth(           MediaQueryBuilder.BootStrapGetSize(),         ),

media_query_builder.txt
Also, could you please add the following line to check the current screen size
`  String getData(double width) {
String data = "";
if (width >= 0 && width <= 576) {
  data = "xs";
} else if (width >= 576 && width <= 768) {
  data = "sm";
} else if (width >= 768 && width <= 992) {
  data = "md";
} else if (width >= 992 && width <= 1200) {
  data = "lg";
} else if (width >= 1200 && width <= 1400) {
  data = "xl";
} else if (width >= 1400 && width <= double.infinity) {
  data = "xxl";
}
return data;

}`

I have used the flutterbootstrap5latest package in my project and made some code modifications to enhance its functionality. The changes I implemented include performance optimizations and better handling of responsiveness across various screen sizes, along with additional customization options for column spans. Please review the updated code and let me know if any further adjustments or issues need to be addressed.


Changed February 2022 to March 2023

@davidiseminger
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Already fixed.


make it blue screen windows after 9 minutes

yellow screen*

yellow screen*

that works

program may only run on windows pissider edition


Please add this project to css-frameworks

I think it would make sense to add your framework to this topic:
https://github.com/topics/css-framework

I don't know how can I add Metro 4 to this topic :(

Thank you, Metro 4 added to this topic.


potassium ion binding

Hello,
Could you please add the GO term:
potassium ion binding
I need it for:
TrEMBL entry Q7WYG5:
S-adenosylmethionine synthetase (EC <IP_ADDRESS>)
This protein binds potasium and magnesium.
See also P04384
GO:0000287, magnesium ion binding
already exists.
If you need any further info, just let me know.
Thanks,
Sandra van den Broek
EBI
Reported by: broek
Original Ticket: "geneontology/ontology-requests/1724":https://sourceforge.net/p/geneontology/ontology-requests/1724

thanks www.movied.org


strange x32 and x64 behaviour with node and npm

I have node 4.2.1 x64 and 0.10.40 x32 installed and using git for windows bash
When I use 0.10.40 32
which node = /c/Program Files/nodejs/node
which npm = /c/Program Files/nodejs/npm
node -v =
npm -v = 2.7
but when I use 4.2.1
which node = /c/Program Files/nodejs/node
which npm = /c/Program Files (x86)/nodejs/npm
node -v = 4.2.1
npm -v = 2.7.4
That seems very strange indeed. npm is not being changed except when I pick the 64 bit node I get the 32 bit npm!?

Update: I uninstalled all versions of node and nvm-windows and then reinstalled the 2 versions of node (well actually 4.2.2 now it is available). Every now behaves well.


snowboy wake word detection is not working with respeaker 2 mic pi hat.

i've been trying to make respeaker detect my wakeword for 2 days .still cant make it out .i thing the problem is with 16bit mono recording all i can hear is a white  noise .but stereo recording is working fine no issue at all.tried pyaudio ,arecord . all of them have same problem while mono recording .
can some one help me fix this problem. i can provide any info u guys want

Have you tried to use audacity to find out if it's the case? Maybe one microphone is broken

Audacity is not working  with mono recording .any way to fix ?

Which ALSA device do you select? The default will support mono recording

no its not working . do i need to make any changes to .asounrc file
pcm.!default {
type hw
card 1
format S16_LE
}
ctl.!default {
type hw
card 1
}
``

these are my device info
==============================
Default recording device number: 9
Default playback device number: 9
Device ID: 0
Device name: bcm2835 ALSA: - (hw:0,0)
Host name: ALSA
Recording channels: 0
Playback channels: 2
Low Recording Latency: -1.000000
Low Playback Latency: 0.005805
High Recording Latency: -1.000000
High Playback Latency: 0.034830
Supported Rates:
8000
9600
11025
12000
15000
16000
22050
24000
32000
44100
48000
Device ID: 1
Device name: bcm2835 ALSA: IEC958/HDMI (hw:0,1)
Host name: ALSA
Recording channels: 0
Playback channels: 2
Low Recording Latency: -1.000000
Low Playback Latency: 0.005805
High Recording Latency: -1.000000
High Playback Latency: 0.034830
Supported Rates:
44100
48000
Device ID: 2
Device name: seeed-2mic-voicecard: - (hw:1,0)
Host name: ALSA
Recording channels: 2
Playback channels: 2
Low Recording Latency: 0.005805
Low Playback Latency: 0.008707
High Recording Latency: 0.034830
High Playback Latency: 0.034830
Supported Rates:
8000
11025
16000
22050
32000
44100
48000
Device ID: 3
Device name: sysdefault
Host name: ALSA
Recording channels: 0
Playback channels: 128
Low Recording Latency: -1.000000
Low Playback Latency: 0.005805
High Recording Latency: -1.000000
High Playback Latency: 0.034830
Supported Rates:
8000
9600
11025
12000
15000
16000
22050
24000
32000
44100
48000
88200
176400
Device ID: 4
Device name: playback
Host name: ALSA
Recording channels: 0
Playback channels: 128
Low Recording Latency: -1.000000
Low Playback Latency: 0.125000
High Recording Latency: -1.000000
High Playback Latency: 0.125000
Supported Rates:
8000
9600
12000
15000
16000
24000
32000
44100
48000
88200
96000
176400
192000
Device ID: 5
Device name: capture
Host name: ALSA
Recording channels: 128
Playback channels: 0
Low Recording Latency: 0.125000
Low Playback Latency: -1.000000
High Recording Latency: 0.125000
High Playback Latency: -1.000000
Supported Rates:
Device ID: 6
Device name: dmixed
Host name: ALSA
Recording channels: 0
Playback channels: 2
Low Recording Latency: -1.000000
Low Playback Latency: 0.125000
High Recording Latency: -1.000000
High Playback Latency: 0.125000
Supported Rates:
48000
Device ID: 7
Device name: array
Host name: ALSA
Recording channels: 2
Playback channels: 0
Low Recording Latency: 0.125000
Low Playback Latency: -1.000000
High Recording Latency: 0.125000
High Playback Latency: -1.000000
Supported Rates:
Device ID: 8
Device name: dmix
Host name: ALSA
Recording channels: 0
Playback channels: 2
Low Recording Latency: -1.000000
Low Playback Latency: 0.021333
High Recording Latency: -1.000000
High Playback Latency: 0.021333
Supported Rates:
48000
Device ID: 9
Device name: default
Host name: ALSA
Recording channels: 2
Playback channels: 2
Low Recording Latency: 0.005805
Low Playback Latency: 0.008707
High Recording Latency: 0.034830
High Playback Latency: 0.034830
Supported Rates:
8000
11025
16000
22050
32000
44100
48000
Selected recording device: 9 - default
Selected playback device: 9 - default
Supported Rates:
8000
11025
16000
22050
32000
44100
48000
Available mixers:
Available recording sources:
Available playback volumes:
0 - PCM:0
Recording volume is emulated
Playback volume is emulated

default recording device can record in stereo with no issue . but in the case of mono something is not right ..
this is the screen of audacity when i'm recording in stereo .take a look at audio meter

this one when recording mono

can some one please help me fix this issue .i did a fresh install of raspbian stretch today .still the problem exist

Are the volumes of the two microphone the same?
You can use alsamixer -c 1 to set the volumes.
If you want to to restore the default volumes, try sudo alsactl --file=/etc/voicecard/wm8960_asound.state restore

as you guys can see audio recorded from left input mic is just too noisy .but audio from right one working perfectly . i can findout this by playing tracks individually .but when i play them together there is no issue  audio was perfect .
And i noticed that when i'm recording mono left input mic is activated . is there anyway i can use my right mic when recording mono ?.

@xiongyihui  help me bro .

@Pillar1989  is that the only option I've left  any way to fix ?

@arjunan47 When did you buy the mic hat?
@xyu6

i'm from india and i bought it from indian reseller https://www.fabtolab.com/respeaker-hat

@xyu6  any help

 def get_callback(self):
    def callback(in_data, frame_count, time_info, status):
        sound = AudioSegment(in_data,sample_width=2, channels=1, frame_rate=16000)
        self.wavefile.writeframes(sound.raw_data)
        return in_data, pyaudio.paContinue
    return callback

by this pyaudio callback function i can convert sterio audio to mono in realtime .but the problem is only 32bit pcm is working . but when i change
wavefile.setsampwidth(4)
wavefile sampwidth to 2 ie 16bit pcm it becomes completely laggy .
any way to fix ?

@arjunan47 Did you want to save audio data to .wav file? You can use wave module, See https://docs.python.org/2/library/wave.html
import wave
wav = wave.open('audio.wav', 'wb')
# ...

PS. As the left channel is broken, before it is fixed, you can recording stereo audio data and select the right channel to use. To get right channel from stereo:
import audioop

stereo = ''  # stereo audio data
width = 2
right = audioop.tomono(stereo, width, 0, 1)

@xiongyihui bro is it possible to record audio in realtime using buffers/chunks and extract mono from it?.may be I could use it for wake word detection using snowboy

It's weird that mono recording is working when I use rec -c1 test.wav command .but it's little bit noisy

Do I need to make changes to ./asoundrc file ,like I read somewhere on the Internet it's possible to downmix mono .

Thanks you :smile:guys finally snowboy works


fix: 🐜 change getAds to return empty array

... instead of null

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Var goto def

This change is

Current dependencies on/for this PR:

main

PR #3744

PR #3745

PR #3746

PR #3747   👈

This comment was auto-generated by Graphite.


cannot find sqlFluff Executable -- Windows + virtual environment issue?

I'm having trouble getting the extension to "find" my version of sqlfluff. I'm using Windows 10, pipenv for virtual environment management, and below is some info that might shed light on the issue?
pipenv --py

C:\Users[USER].virtualenvs[PROJNAME]-cP1ijf-7\Scripts\python.exe

pipenv shell
sqlfluff --version

sqlfluff, version 0.3.5
settings.json in VS Code contains:

"sql.linter.executablePath":
"C:\\Users\\[USER]\\.virtualenvs\\[PROJECT]-cP1ijf-7\\Scripts\\sqlfluff.exe",

When I open a SQL file in VS Code, I get the following error message:

The executable was not found, Use the 'sql,jinja-sql.executablePath' setting to configure the location of the executable.

When I copy the sqlfluff.exe file directly into the main project I'm in, the extension works like a charm.

OK, I got to the bottom of this. My idea was not to add the virtual environment to the PATH, but that was necessary in order for this to work.
I'm a bit confused as to what the sql.linter.executablePath, if the executable also needs to be on the PATH, but I don't currently have an issue. Thanks for creating this extension 🚀

Hi @cnolanminich ,
I'm experiencing this at the moment, and I'm not sure exactly what your fix was. When you say "PATH" do you mean the host os PATH setting? or the virtual env?

this is very frustrating as i still get the same error:  "The sqlfluff executable was not found. Use the 'Executable Path' setting to configure the location of the executable, or add it to your PATH."
Is there anyone working on a windows machine that's gotten the vscode plugin to work?  Can someone please post a CONCRETE EXAMPLE of what the inputs are supposed to look like to input the path to the executable.

@skaylie I'm brand new to SQLFluff.
The first thing I tried was to install the SQLFluff extension in VS Code. I wasn't using a virtual environment at the time.
This produced the same error - "The sqlfluff executable was not found...etc".
What isn't clear about the extension is that:
You must install python and then install sqlfluff via pip if you want to use the extension.
So, I created a conda environment. Installed python using the Anaconda interface. Then opened an anaconda command prompt in that environment and used pip install sqlfluff:

This completed without error. After which, open VS Code from within the environment:

After doing this, I no longer have the error and I can use the linter by running sqlfluff lint --dialect mydialect in the VS Code terminal.

Linting doesn't appear to happen as I type, so I will play with some settings to see what can be done.

@ncalm Here are some settings that might be useful to you.
"sqlfluff.dialect": "tsql",
"sqlfluff.linter.delay": 500,
// onType should be default value so not sure why it would not be linting onType for you.
"sqlfluff.linter.run": "onType",

I should update the README to make it clear that sqlfluff must be installed separately.
If linting is not working for you still, you could check the OUTPUT tab (next to terminal) and see the SQLFluff channel, it will tell you which commands are being run.

@ncalm
My thoughts;
1/ Do you have the vscode settings for sqlfluff in place? I think it needs to know where the .exe is in your virtual environment. I think it's normally;
/.venv/.sqlfluff
Mine also has;

2/ If you're using dbt, the other thing I need to do to get it to work was to ensure my profiles.yml was not using any environment variables. Basically dbt needs to work before sqlfluff can work, if you're linting dbt code.
3/ the SQFluff extension will produce logging in Vscode Output tab - SQLFLuff log, or failing that in the Extension Host log.

@ncalm This should give an example of setting the upper case keywords rule-configuration. The configuration file might be recognized automatically, but if not you can use the "sqlfluff.config" setting to set the path of the configuration file.

I still seem to be having an issue getting vscode to 'see' the executable. exe seems to be in a standardized location.  I have attempted using:
this: C:/Users/pwood/AppData/Roaming/Python/Python311/Scripts/sqlfluff.exe
this: C:\Users\pwood\AppData\Roaming\Python\Python311\Scripts\sqlfluff.exe
this: sqlfluff
and this: sqlfluff.exe
I had assumed one of those paths would have pointed to the exe that is at that path.
Does anyone else know of anything else I might need to do to get this to work?

Try running the SQLFluff Debug Extension command and let me know what the results are. That command should tell you where the failure is happening.
If it is indeed at the sqlfluff executable, it should attempt to find the path that you could use.

It looks like this might be a workspace issue like referenced in another issue id.
I am working from azure repos remote.  When I open a local folder, it works just fine.
Do you know off the top of your head, if it ‘should’ work w/ azure repos?
From: Robert Ostermann @.>
Sent: Tuesday, August 22, 2023 3:34 PM
To: sqlfluff/vscode-sqlfluff @.>
Cc: Patrick Wood @.>; Comment @.>
Subject: Re: [sqlfluff/vscode-sqlfluff] cannot find sqlFluff Executable -- Windows + virtual environment issue? (#4)
Try running the SQLFluff Debug Extension command and let me know what the results are. That command should tell you where the failure is happening.
If it is indeed at the sqlfluff executable, it should attempt to find the path that you could use.
—
Reply to this email directly, view it on GitHubhttps://github.com/sqlfluff/vscode-sqlfluff/issues/4#issuecomment-1688811277, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6E7ZD6Y2OOKIFHEB4JJDR3XWUCSHANCNFSM4PVZLE4Q.
You are receiving this because you commented.Message ID: @.***>

I am not sure if it should/would work in a remote repo. I have only set it up and tried it with a local repository or through WSL.
You could manually set the working directory and see if that works.


Find arbitrage example from real amms

Codecov Report

Merging #30 into master will decrease coverage by 1.80%.
The diff coverage is 68.18%.

@@            Coverage Diff             @@
##           master      #30      +/-   ##
==========================================
- Coverage   95.52%   93.71%   -1.81%
==========================================
  Files           8        8
  Lines         335      350      +15
==========================================
+ Hits          320      328       +8
- Misses         15       22       +7

Impacted Files
Coverage Δ

Arbie/Actions/amm.py
90.00% <53.33%> (-10.00%)
:arrow_down:

Arbie/Actions/arbitrage.py
97.50% <100.00%> (+0.06%)
:arrow_up:

Arbie/Contracts/balancer.py
100.00% <100.00%> (ø)

Arbie/big_numbers.py
100.00% <100.00%> (ø)

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 65780e9...649af03. Read the comment docs.


Leahy's form not working

Our code for Leahy's form appears to have stopped working.
This is what the input constraints should be:
input_A815013C-5056-A066-60B1-194269FB0FE0: <PREFIX – valid prefixes listed below>
input_36C9576F-5056-A066-6022-2CCEB276F085: <PREFIX – valid prefixes listed below>
input_E8922734-5056-A066-6013-55EC384EACB0: <leave blank, but must be present>
input_36F9116D-5056-A066-6055-B856B7975A8D: <FIRST NAME>
input_36F9168F-5056-A066-6010-D50B3E4EA5CA: <LAST NAME>
input_36D0D7B4-5056-A066-604B-C5784DE1329E: <ADDRESS LINE 1>
input_36D0D80C-5056-A066-60FD-FAC648288307: <ADDRESS LINE 2>
input_36D0D8E1-5056-A066-6088-B0E287342B26: <CITY>
input_36D0D97F-5056-A066-60F8-E619D2313E31: <TWO CHARACTER STATE CODE>
input_36D0DA1C-5056-A066-605E-9CA59C0D0E35: <5 DIGIT ZIP CODE>
input_36D667AA-5056-A066-6035-8576D66D00F9: <EMAIL 1>
input_36D6681A-5056-A066-60DC-988EFD5753D6: <EMAIL 2 - must match EMAIL 1 or submission will be rejected>
input_36D95985-5056-A066-6035-E42D9CB11A0E: <PHONE NUMBER>
input_36E22353-5056-A066-60EA-9A7BCE98E4DD: <ISSUE CODE - see provided list>
input_36E62F57-5056-A066-60BF-78ADF9F5676E: <BODY CONTENT>
creativengine_form_identifier:0CA3C0AF-5056-A066-6068-AD712CA6B58A   <INCLUDE THIS FIELD UNTOUCHED>

And this is the table of subjects:

Value
Full String

AFGHANISTAN
Afghanistan

AGRICULTURE
Agriculture

AN
Animals

ARTS
Arts & Humanities

AUTO INDUSTRY
Auto Industry

BANK
Banking & Financial Services

BUDGET GENERAL
Budget

BUS
Business & Commerce

CIVIL_RIGHTS
Civil Rights

CLIMATE CHANGE
Climate Change

CRIME
Crime

DAIRY
Dairy

DEFENSE/MILITARY
Defense/Military

TORTURE
Detainee Treatment

DISABILITIES
Disability Issues

DRONES
Drones

ECONOMY
Economy

ED
Education

ELECTION
Elections & Voting Rights

LAB
Employment,  Labor & Pensions

EN
Energy

ENVIRONMENT
Environment

FR
Foreign Policy

FOSSIL FUELS
Fuel/Gas Prices

GENETICENGINEERING
Genetically Engineered Food (GMOs)

GUN CONTROL
Gun Control & Second Amendment Rights

HEALTH CARE REFORM
Health Care Reform

HEALTH/DISEASE
Health/Disease

HLS
Homeland Security

HOUSING
Housing

FEMA
Hurricane Irene

IMMIGRATION
Immigration

NOMINATIONS
Judicial Nominations

ENVIRONMENT
Keystone Pipeline

LAW ENFORCEMENT
Law Enforcement

MEDICARE
Medicare/Medicaid

OTHER
Other

COPYRIGHT
Patents & Copyright

PRESCRIPTION DRUGS
Prescription Drugs

POLITICS
Political Parties and Campaign Finance Reform

PRIVACY
Privacy

TECHNOLOGY
Science & Technology

SENIORS
Seniors

SMALL BUSINESS
Small Business

SS
Social Security

NASA
Space/NASA

TAX
Taxation

TELECOMM
Telecommunications

TRD
Trade

TRANS - GENERAL
Transportation

VETERANS
Veterans Affairs

VAWA
Violence Against Women Act

HMS
Human Services & Welfare

WOMEN
Women & Children

SCHEDULING
Request an appointment

THANK(FAN MAIL)
Send a Thank You

We're seeing successful fills today (many!) for leahy using the yaml in this repo.

@j-ro Okay -- the status indicator on the README for Leahy says it's 0% successful. Are the status buttons out of sync?

Status buttons haven't worked for about a year. I think we should remove them. See #1528

Closing this as his form is working (at least as of now).


Angular 17 does not reflect style changes in a library to example app in same project

Which @angular/* package(s) are the source of the bug?
Don't known / other
Is this a regression?
Yes
Description
I am currently developing a chat library and tried to build a local app for fast development. I follwed a tutorial (link and everything is doing well. But when I try to add changes to a stylesheet I don't see the changes in my example project.
E.g. I add flex-grow: 1; in a component in the lib the lib will be built (because I started it in a terminal window with ng build --watch --> I can see the rebuild) but the style changes aren't reflecting in the example project. Only with npm install also the new added styles are available.
Please provide a link to a minimal reproduction of the bug
Example
Please provide the exception or error you saw
I have two terminals startet. In the first I run ng build test --watch to build the lib on hotfixes and the second where I run normal ng serve with the test application within the same project. When I try to update styles in test.component.scss I will never see these new added styles until I make a fresh install of the lib in the app (with npm install)
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 17.0.3
Node: 18.17.0
Package Manager: npm 9.6.7
OS: win32 x64

Angular: 17.0.4
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1700.3
@angular-devkit/build-angular   17.0.3
@angular-devkit/core            17.0.3
@angular-devkit/schematics      17.0.3
@angular/cdk                    17.0.1
@angular/cli                    17.0.3
@angular/material               17.0.1
@schematics/angular             17.0.3
ng-packagr                      17.0.2
rxjs                            7.8.1
typescript                      5.2.2
zone.js                         0.14.2

Anything else?
No response

@alan-agius4  I have added a sample project and also my observations. I hope that can help.


Dependency notations for Compose Composition Tracing

About the library(-ies)

Description: Compose Composition Tracing adds support for tracking compositions in systrace
GitHub:  No github, just the announcement on this Medium article: https://medium.com/androiddevelopers/jetpack-compose-composition-tracing-9ec2b3aea535
Official website (if any, besides the GitHub page): https://developer.android.com/jetpack/androidx/releases/compose-runtime#runtime_tracing_version_10_2

Want to contribute the sample?

Say so in a comment here
Follow instructions for submitting dependency notations
Submit your pull request!

I can create a PR for this.

This already exists as a built in dependency. Please ignore.


new-exporter - Use Instracluster exporter

@cscetbon you may have forgot this file: mv: cannot stat '/exporter.conf': No such file or directory

@allamand yeah I did. Just fixed it. I created an issue on the project of the exporter cause it seems it prevents it from catching SIGINT. In order to change the exporter configuration it can be added to the ConfigMap as the file is also put in /etc/cassandra

@scetbon, do we need to wait ?

@allamand whenever you're ready I am

There is a problem preventing the rolling update to be done, the pod stay blocked when shuting down, cf https://github.com/instaclustr/cassandra-exporter/issues/30


[BUG] threaded_rod generated artefact for small pitch

Describe the bug
When using threaded_rod module, if the pitch is smaller than 1 a spiral is produced above and below the threaded rod, which interferes with render.
Code To Reproduce Bug

include <BOSL2/std.scad>
include <BOSL2/threading.scad>
$fn=64;
threaded_rod(d=52, l=5, pitch=0.75, bevel1=true, bevel2=true);```

**Expected behavior**
A threaded rod with desired parameters should be generated.

**Additional context**
Add any other context about the problem here.
- OpenSCAD Version: 2021.01 as well as nightlies
- Other libraries used:

I have fixed this in my pull request.


May I ask how the mask should be used?

Nothing I use at ps works, I guess because it's not perfected yet, or am I going about it the wrong way?

currently mask represents the area that containing any pixels in the layer.
next version I will make it works with PS's layer mask #25.


fix: remove extra deps

Remove extra/add missing deps shown by https://github.com/ipfs/aegir/pull/1426/
Change checklist

[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation if necessary (this includes comments as well)
[ ] I have added tests that prove my fix is effective or that my feature works

Aegir is upgraded.


RFC: Subtype Checking

Add a language construct allowing programmers to get information on subtyping relationships.
https://github.com/ponylang/rfcs/blob/master/text/0026-subtype-checking.md

I'm going to implement the iftype expression first since the change is straightforward. Function specialisations will require more work and will come later.

@jemc do you know how much of this was implemented?

The iftype conditional was implemented: https://github.com/ponylang/rfcs/blob/main/text/0026-subtype-checking.md#the-iftype-conditional
Specialized generic functions were not implemented: https://github.com/ponylang/rfcs/blob/main/text/0026-subtype-checking.md#specialised-generic-functions
They ended up being more complex than Benoit originally anticipated, and also Benoit is no longer involved with this project.


Environment variable for static linking

Check the PYMUMPS_SETUP_EXTRA_OBJECTS environment variable to allow users to specify, for example, static libraries to link.
Fixes #8

Hi @Robbybp, thanks for the PR! However, I am thinking about ditching the setup_env branch in favor of the more generic approach of passing the options to pip via --global-option. This is also what is used in the conda-forge recipe.
Could you check if
pip install pymumps --global-option="build_ext" --global-option="-O..."

works for you?

Hi @sdrave, that works for me, thanks! What is the equivalent way to specify these options when running python setup.py build_ext or python setup.py develop?

Everything you pass as --global-option after --global-option="build_ext" is passed to the build_ext command. So the same options (in particular -O) should be valid with python setup.py build_ext as well.

Closing in favor of #10.


Compilation error under Visual Studio above version 15.0

Hi,
After a recent change in the function declaration given here:
https://github.com/dmlc/xgboost/blob/d33854af1b4f783c5230bb21aff7234b16f409f7/src/data/array_interface.h#L471
The compilation fails under Visual Studio versions greater than 15.0.
Elaborate on the error is given here:
Link to compile error C3615
VS complains because of constexpr declared function has in its body a not valid constexpr context.
When I remove the constexpr specifier the code compiles (tested in VS 2019 with v142) also compiles under Linux (Ubuntu 20.04).
Regards

That's weird.  We are testing xgboost on github action with 2019.

Anyway, I opened a PR https://github.com/dmlc/xgboost/pull/7466 .  Feel free to try it out.

Thanks for the fix, it compiles now. I agree it was a weird bug, however, now it is gone.


[Issue 1984] Fix bug handling warning on send fund

Related issues:
#1984

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


Add scm parent revision numbers to Commits

Just as the title says. It will prove to be useful information in the future for some things I have planned. I wanted to get it in now so collectors can start filling up with the data.
Note that the parent revision data will only come from the commit collectors. SCM objects created by build collectors will not have the parent revision information (as it doesn't seem to be available in the api). Hence at present commits in the pipeline document for build and environments will not contain the parent scm revision number information.

rebased

LGTM

@tabladrum I think you also have to say LGTM as approving the request doesn't give the LGTM approval

LGTM


Migration from latest gogs (<IP_ADDRESS>8) is possible

The gitea documentation says you must upgrade from 0.9.146 of gogs, but (at least anecdotally) I'm able to upgrade from the latest version as of this writing (<IP_ADDRESS>8).  I may submit a PR to the docs after I've run this in production for a few weeks, but for now I want to write this up so others can find it if necessary.

Gitea version (or commit ref): 1.4.2+6-gcaee487 built with: bindata, sqlite
Git version: 2.15.2
Operating system: Alpine Linux 3.7.0
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Description
I migrated from one Docker image to another.
In addition to the steps outlined in the Upgrade from gogs doc, I also had to change every instance of gogs in my conf/app.ini file to gitea.  I also had to change my PATH (under [database]) to /data/gitea/data/gitea.db (the gogs container has symlinks from /app that gitea doesn't).  Also my ROOT_PATH (under log) changed from /app/gogs/log to /data/gitea/log.
Once I did that, I had gitea 1.0.2 working.  Two more changes I had to make owing to my newer gogs version:

I had to regenerate my .ssh/authorized_keys file (from the Web UI's admin panel).  Failure to do this resulted in the following error:

bash: /app/gogs/gogs: No such file or directory
fatal: Could not read from remote repository.

gogs generated a bunch of git hooks that reference the gogs binary.  You can delete them from the UI or the command line (see the find command at https://github.com/go-gitea/gitea/issues/3558#issuecomment-372429183).  If you don't delete them you'll receive the following error:

remote: ./hooks/pre-receive.d/pre-receive: line 2: /app/gogs/gogs: No such file or directory
To ssh://git.example.com:10022/user/repo.git
 ! [remote rejected]   master -> master (pre-receive hook declined)

Finally - SSH push/pulls didn't work properly for me even after doing all these things until I upgraded to version 1.4.  I couldn't upgrade directly - I assume this is related to #4424 - but I was able to go 1.0 » 11 » 1.2 » 1.3 » 1.4 painlessly.  Once I was on 1.4 everything worked properly.

Please feel free to send a PR

I'm going to wait until this has been in production for a while before submitting a PR.  I didn't analyze the database structure between a fresh gitea db and my own, for instance.

Have you run into any issues so far?

@furai No, I haven't.  I feel pretty confident at this point in what I did, so I'll make a TODO for myself to submit a PR to the documentation.

Did you compare the databases?

@furai I haven't - which is why I need to set aside some time for this task.  I was a bit glib in suggesting I just needed to write up my docs.

Thanks, this seems to have worked for me starting from gogs 0.11.56.x.
Obviously I don't know if there are any DB inconsistencies. The DB migration process printed a bunch of yellow warnings (?) while migrating gitea from 1.0 to latest via the different 1.x releases, but maybe that's expected.

Thanks for the instructions—it was a quick and easy transition from the latest version of Gogs to 1.0.2 and then slowly to 1.1, 1.2, 1.3, 1.4 and finally 1.5. I could've probably went straight to 1.5 but I wanted to play it safe.
I haven't encountered any problem yet but my DB was pretty small.

I'm mostly interested whether PR and comments get migrated and all the settings for webhooks and git hooks. That's the most important thing for me.

I just migrated personally and yes, they all migrated with it. The only thing that had a problem was Discord web hooks had to be manually fixed in the database. (Gogs marks them as ID 3, Gitea is 4. So a simple query fixes it.) My experience with moving to Gitea here: https://github.com/go-gitea/gitea/issues/4538

That's good news. What secret are you talking about in your issue? What can it be used for? I'm trying to figure out if my users might have been relying on it.

With the web hooks, there is a secret key that can be sent with the hooks request. On Gogs, this was more recently changed on how it was sent. It used to be sent as "secretkey" inside of the data (json blob) but was changed to be a header and was also changed to be a hash of the key vs. the raw key itself.
On Gitea, this is reverted back to the old setup of Gogs where its sent in the data and is the raw key.

On Gitea, this is reverted back
To be clear it was not reverted back, Gitea forked from Gogs at a certain point, and no developer contributed the code to Gitea that was contributed to Gogs. There is a ticket for this functionality to be added (TODO for me is to find and link this ticket, watch for an edit of this comment), however no developer has taken up the cause to add it to Gitea. Perhaps you could.

Just upgraded latest Gogs 0.11.66 to Gitea 1.5.1 :+1:
I copied my gogs mysql database, followed https://docs.gitea.io/en-us/upgrade-from-gogs/, edited my app.ini and upgraded from 1.0.2 > 1.1.4 > 1.2.3 > 1.3.3 > 1.4.3 > 1.5.1. A direct upgrade from 1.02 to 1.5.1 failed, so I upgraded step by step.
Afterwards go to Admin panel and regenerate hooks, update ssh keys etc.
So far everything seems to work as expected :+1:

I was able to directly update from gogs 0.11.79 (archlinux aur) to gitea 1.7.1 (archlinux community) with postgres.
Steps done:

Stop Gogs and backup everything
Downgrade database to older version update version set version = 13
Install gitea (reconfigure, change permission, change paths, ...)
Delete old git hooks: rm /var/lib/gitea/repo/*/*.git/hooks/post-receive.d/post-receive /var/lib/gitea/repo/*/*.git/hooks/pre-receive.d/pre-receive and execute Resynchronize pre-receive, update and post-receive hooks of all repositories. in gitea

Afterwards everything was working. While I would not necessarily recommend it, at least I want to mention that it's possible.
(ref: https://github.com/go-gitea/gitea/issues/5318)

Where "update version set version = 13" should be executed?

@KuDeSnik33ra in your database tools connected to Gitea database

Migration itself worked fine from gogs 0.11, but all my users were ldap users (except one admin user) and they are not able to login anymore.
The users are there, all have the correct auth source, the ldap auth-settings itself are correct too, but i can't select the auth-method on the login page.
I'm using sqlite database and can't see any other errors in the log or any other place, any idea?

You don't need to select auth method on login page. If you have configured and enabled auth source in login page users should authorizes standard username/password login

Where "update version set version = 13" should be executed?

It is a SQL update on the Gogs database. Postgresql in my case.


Adding pw expiration steps for NSXT 2.4

This is a fairly critical update. Can we merge it so it goes onto staging for review? Thanks.

Immediate merge per request.


'Bug' button not working in Es6 challenges

Challenge Name

All ES6 Challenges
Issue Description

Bug button not working
Browser Information

Browser Name, Version: Chrome Version 59.0.3071.115 (Official Build) (64-bit)
OSX
Operating System: MacOS Sierra 10.12.3 (16D32)
Mobile, Desktop, or Tablet: Desktop

Your Code

Screenshot

What exactly is the expected behavior for the bug button? I tried it on a couple other challenges (not just the es6 ones) and it doesn't appear to do anything.

I believe it’s suppose to take you to GitHub so you can report it.

On Aug 7, 2017, at 9:30 PM, Marius Espejo<EMAIL_ADDRESS>wrote:
What exactly is the expected behavior for the bug button? I tried it on a couple other challenges (not just the es6 ones) and it doesn't appear to do anything.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/freeCodeCamp/freeCodeCamp/issues/15740#issuecomment-320846828, or mute the thread https://github.com/notifications/unsubscribe-auth/AA2SwJfoIBfwadctHENIG2YZgKBkfdcBks5sV-RJgaJpZM4Ov9xs.

Im going to take a stab at this if no one minds

Does the Bug button open a modal?

It doesn't do anything for me. After inspecting it, it looks like the input isn't setup.

ok so the working version of the code should open a modal? or redirect straight to github?

I think it is intended to point to github.

'Bug' button not working on SASS challenges either.

Confirm that its not working.


Remove MySQL incompatibility from benchmarks

Same fix as #7959 but in a different place
Fixes #8078

Why unit tests is not caught that?
Maybe need to fix? I think that can add it


Automate DB round trip cleanup

(1) Two instances were incorrectly named
(2) Many of the instances were manually edited and imported

@gmcculloug @bzwei @lfu @tinaafitz
Please review

@mkanoor
Looks good.

http://talk.manageiq.org/t/creating-a-pull-request-for-enhancements-to-manageiq-automate-domain/1041

Where are the incorrectly named instances? I could not find them.

@bzwei
the files that have been renamed are
manageiq/db/fixtures/ae_datastore/ManageIQ/Cloud/Orchestration/Reconfiguration/Email.class/methods/servicereconfigurerequest_approved.yaml
manageiq/db/fixtures/ae_datastore/ManageIQ/Infrastructure/Configured_System/Provisioning/StateMachines/Provision.class/provision_via_foreman.yaml

Thanks. LGTM

:+1:


fix: fix BaseRecord.param(path) returning [null]

This is a fix to: https://github.com/SoftwareBrothers/admin-bro/issues/634
However, I've no idea why flat.get(...) would return [null].

@dziraf thanks for the update. I would make 2 changes:

move this to the flat.get since it should replace all the places where we flat/unflat properties
write unit test in get: https://github.com/SoftwareBrothers/admin-bro/blob/bb9de777d67e3425928a2b6a8825626c7f9bc4bd/src/utils/flat/get.spec.ts#L9-L9 covering this particular issue

@dziraf but wait - I think I fixed that 2 days ago here: https://github.com/SoftwareBrothers/admin-bro/commit/bb9de777d67e3425928a2b6a8825626c7f9bc4bd#diff-15b392d592d49fff9fe23078e53a9474R22
so if the value was null or 0 (before) it didn't return it directly but instead, it went further in the code eventually resolving to Array of nulls

closing because it was already fixed


Breaking Change Announcement April 2021

Breaking Change Announcement April 2021
Name changes of header file and namespace are planned in April 2021.
The reason for the changes is to provide better compatibility
with the wide-decimal project.

Change name of header file generic_template_uintwide_t to uintwide_t.h.
Change name of namespace wide_integer::generic_template to math::wide_integer.
No backward compatibility measures are planned at the moment.

Changes are finished in the branch. CI is OK.


PFFile profile image name won't save correctly, Missing PFFiles after migration. Parse Dashboard Naming bug

I save a user with a profile picture like so
`
let imageData: NSData = UIImagePNGRepresentation(profilePictureImageView.image!)!
        let profilePicture: PFFile = PFFile(name: "profile.png", data: imageData)!
        self.user.profilePicture = profilePicture

        self.user.saveInBackground().continueWithBlock({
            (task: BFTask!) -> AnyObject! in
            if task.completed {

`
But in the parse dashboard it shows up like the below screenshot, as you can see 2 user profile_pictures are named 'ile.png' INCORRECT.... The last user_name and profile_picture was from before I migrated to parse server. Strangely all the users created before the migration to parse server, their profile_pictures are missing. And the new profile pictures aren't named correctly.

Also on my model when I get the image from newly created users post the parse server migration the below does work. So maybe theres a PFFile naming bug on the new parse dashboard.
`
      var profilePicture: PFFile {
        get {
          return objectForKey("profile_picture") as! PFFile
        }

        set {
          setObject(newValue, forKey: "profile_picture")
        }
      }

`

Hey @alexrmacleod, thanks for the report!
I would recommend opening an issue on the Parse Server repo, since it sounds like a purely migration + parse server issue and is not necessarily attached to a client SDK.

Let me know if you think this is purely a client SDK problem though.

@nlutsenko ok will do thanks!

@nlutsenko btw random question. is parse dashboard the only mongodb database visualisation tool out there?
Do you think parse will survive the next 5 years? I am thinking about building a big project on parse server but slightly worried about its longevity. You have been around for a while and probably have a better sense for answering something like this. But I guess once your app reaches a certain level of popularity you just rebuild it right?


Error in gradient of reduce_prod

vars = tf.Variable([1., 2.])
tf.initialize_all_variables().run()
tf.gradients(tf.reduce_prod(vars), vars)[0].eval()

yields [ 2.,  1.] which is correct. But
vars = tf.Variable([0., 2.])
tf.initialize_all_variables().run()
tf.gradients(tf.reduce_prod(vars), vars)[0].eval()

yields [ nan,   0.] which is incorrect. The correct gradient is [ 2.,  0.]

Note that this is not an issue with regular TensorFlow multiplication. The following works correctly:
var1 = tf.Variable(0.)
var2 = tf.Variable(2.)
tf.initialize_all_variables().run()
print tf.gradients(var1 * var2, var1)[0].eval()
print tf.gradients(var1 * var2, var2)[0].eval()

It prints 2.0 and 0.0 which is correct.

I have reproduced this.

Thanks @aselle.
Idea: This could be caused reduce_prod is implemented somewhat like tf.exp(tf.reduce_sum(tf.log(.)))

The gradients are computed by computing the full prod and then dividing, which is broken as you point out.  For example, for a length two produce x *  y the gradient w.r.t. x is x * y / y.  Indeed, there's an ancient TODO in the code that it is broken.
@ibab, @benoitsteiner: The easiest way to fix this would be to do two scan products to get the sequence of partial products from both directions, then multiply them together to get all products with one element removed.  Unfortunately, we don't yet have scan.

Adding contributions welcome, but note that it'll have to wait until after #2711.

I've had a shot at solving this today using cumprod, and it's working great for full reductions.
But if reduce_prod is performed with reduction_indices, things get more difficult.
In that case, the cumprod needs to be performed over the reduced dimensions, and not over the remaining ones.
Any ideas on how this could be solved?
Maybe if there was a tf.reshape_selected op that allows you to group all selected dimensions into a single dimension, and all remaining ones into a second one, like this:
x.shape = (a, b, c, d, e)
reduction_indices = [1, 3]
y = tf.reshape_selected(x, reduction_indices)
y.shape ==> (b * d, a * c * e)

Then the cumprod could be performed over the first dimension.
This is essentially a transpose followed by a reshape.
I've tried to build this using existing ops, but it seems that tf.cond is required to act based on the contents of the reduction_indices tensor.

I think tf.listdiff can be used to separate the axis indices into reduced and non-reduced parts:
idx = tf.range(0, dims)
nonreduced = tf.listdiff(idx, reduced)

If I concatenate both of these, I can use them as the permutation in tf.transpose.
I can get the sizes of the two dimensions using tf.segment_prod or tf.gather and tf.reduce_prod.
So maybe this can be solved without resorting to tf.cond, but it's certainly not beautiful.

@ibab Have you considered extending the cumsum operation to take a list of indices instead of a single index over which to sum? That should make the gradient computation for reduce_prod a lot simpler.

@benoitsteiner The awkward thing about that is that cumprod on multiple axes at a time is a very strange operation.  It would implicitly flatten and expand, which would mean you have to do the same implicit flattening at the Eigen level.

@benoitsteiner: That's a good idea!
I just realized that I could make use of tensor.shuffle from Eigen to do the same operations as described above (permute the axes so that the scan axes are in the front, and then reshape).
This would also avoid copying the tensor, as shuffle is implemented through .coeff.
@girving: My first impression was also that it would be awkward, but now I'm thinking that it could make sense: The list of indices identifies the sequence in which cumsum should traverse each sub-tensor. It also plays well with the existing exclusive and reverse options.

For reference, here's the gradient implementation I came up with:
@ops.RegisterGradient("Prod")
def _ProdGrad(op, grad):
  """Gradient for Prod."""
  input_shape = array_ops.shape(op.inputs[0])

  # Expand grad to full input shape
  output_shape_kept_dims = math_ops.reduced_shape(input_shape, op.inputs[1])
  tile_scaling = _safe_shape_div(input_shape, output_shape_kept_dims)
  grad = array_ops.reshape(grad, output_shape_kept_dims)
  grad = array_ops.tile(grad, tile_scaling)

  # If the list is empty, it defaults to float32
  reduced = math_ops.cast(op.inputs[1], dtypes.int32)
  idx = math_ops.range(0, array_ops.rank(op.inputs[0]))
  other, _ = array_ops.listdiff(idx, reduced)
  perm = array_ops.concat(0, [reduced, other])
  reduced_num = math_ops.reduce_prod(array_ops.gather(input_shape, reduced))
  other_num = math_ops.reduce_prod(array_ops.gather(input_shape, other))
  permuted = array_ops.transpose(op.inputs[0], perm)
  permuted_shape = array_ops.shape(permuted)
  reshaped = array_ops.reshape(permuted, (reduced_num, other_num))

  # Calculate product, leaving out the current entry
  left = math_ops.cumprod(reshaped, axis=0, exclusive=True)
  right = math_ops.cumprod(reshaped, axis=0, exclusive=True, reverse=True)
  y = array_ops.reshape(left * right, permuted_shape)

  out = grad * array_ops.transpose(y, array_ops.invert_permutation(perm))
  # Reset statically known shape information
  return array_ops.reshape(out, input_shape), None

This makes the existing tests pass and also works if there are zeros in the input array.

This has been fixed by #3351, so this issue can be closed.

The gradient of reduce_prod does not support negative axis unlike reduce_prod itself.
It is caused by gather not supporting negative axes.
This code illustrates the problem.
import tensorflow as tf

vars = tf.Variable([[1., 2.], [3., 4.]])
prod = tf.reduce_prod(vars, -1) # Negative axis here

tf.InteractiveSession()
tf.global_variables_initializer().run()
print(prod.eval()) # Works fine
print(tf.gradients(prod, vars)[0].eval()) # Crashes

@pvanhaes Thanks for the bug report!  Can you file it as a separate issue, since it's unrelated to the current thread?  It helps us to keep Github issues organized.


HEADWORD LIST SORTING (Greek alphabet)

Describe the bug
There seems to be a problem with the sorting of Greek words in the headword list when it comes to stressed and unstressed vowels.
The stressed form of a vowel takes precedence over any other letter (be it an unstressed vowel or a consonant).
For example, the word "άγιος" appears before the word "αβρός", even though the letter "β" (beta) is the second letter of the Greek alphabet while the letter "γ" (gamma) is the third.
Also, the word "έψιλον" (the letter "ε" being the fifth letter of the alphabet) appears before any other word beginning with any other preceding unstressed vowel or consonant.
Of course, the same thing happens in the case  where the stressed vowel is the second, third, ... letter of a word and the sorting of words with identical first (2-n) letters depends on the stressed vowel.
To Reproduce
Just try the words I mention in the previous paragraphs
Expected behavior
Words in the Headword List should be sorted regardless of a vowel being stressed or unstressed. That is, the letter "ε" (epsilon) is always the fifth letter of the Greek alphabet and should always come before subsequent and after preceding letters, whatever its form (stressed or unstressed)
Screenshots

Environment (please complete the following information):

OS/Device: Windows 11 version 23H2 (OS Build 22631.2506)
Browser & Version: Firefox v119.0.1 (64-bit)

Additional context
Online version of Lexonomy (lexonomy.eu)

A temporary solution I came up with:
I added a hidden field where i add the word in capital letters (words in capital letters are not accented in Greek)
In "SETTINGS" -> HEADWORD LIST, in the first drop-down list (HEADWORD), I select the element which contains the entry's headword while in the second (HEADWORD SORTING) I select the hidden element with the capital letters.
It appears to be working, although I have to type in the same word twice.


Pre requirements to use this vscode extension

Hi,
I faced a question mark when I start to use this extension because I suppose that all dependencies was setup. However this project only wrap the yo CLI inside the vscode. So I suggest this change to include a topic to explain the pre-requirements to use it to new users which are not familiar with this ecosystem of tools.
Thank you,
Rafael

Cool

Can you make the changes? Haven't merged it yet.

@SamVerschueren done

@RafaelGorski thanks!


Bug: Automuting someone not in the server throws an error

https://discord.com/channels/150662382874525696/187649467611086849/911833106611335198
bot_1         | [2021-11-21 04:19:13 +00:00] [1000/Cliptok     ] [Error] Exception occurred during Erisa's invocation of 'warn'
bot_1         | DSharpPlus.Exceptions.NotFoundException: Not found: 404
bot_1         |    at DSharpPlus.Net.DiscordApiClient.GetGuildMemberAsync(UInt64 guild_id, UInt64 user_id)
bot_1         |    at DSharpPlus.Entities.DiscordGuild.GetMemberAsync(UInt64 userId)
bot_1         |    at Cliptok.Modules.Warnings.GiveWarningAsync(DiscordUser targetUser, DiscordUser modUser, String reason, String contextLink, DiscordChannel channel, String extraWord) in /app/Warnings.cs:line 276
bot_1         |    at Cliptok.Modules.Warnings.WarnCmd(CommandContext ctx, DiscordUser targetUser, String reason) in /app/Warnings.cs:line 460
bot_1         |    at DSharpPlus.CommandsNext.Command.ExecuteAsync(CommandContext ctx)

Weirdly this doesn't happen for manual mutes, only automatic ones

Ah, pretty sure I've found it
https://github.com/Erisa/Cliptok/blob/272ca9f807acf1ddfd4b348865449b4d842a51af/Modules/Warnings.cs#L268-L273
Pretty sure the mute accepts users not members, so no idea why member objects are blindly created there. Will have to test and fix tomorrow.


LPAL-210 Cancel buttons on your details pages

Purpose
https://opgtransform.atlassian.net/browse/LPAL-210
Fixes LPAL-210
Approach
Add some buttons.
Learning
Don't make things more complicated than they need to be.
Checklist

[X] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[X] I have added tests to prove my work
[ ] I have added mandatory tags to terraformed resources, where possible
[ ] If I added a package.json or composer.json, I also made sure this is included in the script in .github/workflows/dependabot-update.yml
[ ] The product team have tested these changes

just some comments, but looks ok otherwise :)


Fixed gauge states collection by GC.

Closes #45

This seems like a good workaround for now, thank you @Grryum. However, I don't understand why this failed in the first place. Since we stored the AtomicDouble in the activeGauges map, I would have assumed that we will always have a strong reference for it so the WeakReference inside the micrometer registry should never be emptied.

@petoalbert to be honest, I couldn’t reproduce this bug and also don’t really understand how it may be. Those changes are done to prevent such rare cases. Besides, using micrometer strong reference for gauges does not affect the overall performance


WideResNet38, InPlace-ABN weights

Hi! Looks like weight file corrupt. Can you upload it again?

@alexdonchuk we downloaded the file again and checked the md5 sum and it matches, so we don't see issues with the uploaded file. Can you be more specific about the issue?

@alexdonchuk you should open the file with torch.load.

@rotabulo oh! Sorry and thank you.


Adding custom modules imports

Check if view controller belongs to a custom Module and imports it if needed so that the project can compile. e.g.(AVPlayerViewController from AVKit needs the "import AVKit" line).
I'm also fixign a typo.
TODO: For cosmetic purposes, we need check for duplicated imports, but that requires a bigger refactor.
I would suggest that we could hold the output before printing it, for post processing string analysis (duplicated imports for instance). I'll write a issue to address that and further discussion.

nice! thanks.

:+1: :facepunch:


Run workflow with samples cu 86b24bthf

Task linked: CU-86b24bthf Add the ability to submit a workflow using samples


Closing and re-opening a form retains values from before closing

I've put this issue against framework, as it involves redux-form.
In AssetAdmin (and possibly Campaign, I haven't tested that), these steps to replicate:

Open an item
Delete the Name field
Close the item without saving
Re-open that item

The name is not populated back into the form, you'd need to reload the page to get the old value to display.
What I had expected was the form is re-opened with the old value populated back in, rather than the delete value I had changed to.

This also affects Campaigns and creating a new campaign.

Create a campaign.
Go back to the list of campaigns.
Click Add campaign.

You'll find the campaign you created previously is populated in the textbox

This has been fixed by https://github.com/silverstripe/silverstripe-framework/issues/5522
As the logic was updated to destroy form data on close (and also not load the form until schema is redownloaded/updated)


change signer to rsa

hi. I tried to change the sign and validator to rsa mode.
however I fail to do it.
My config is like this:
"extra_config": {
"github.com/devopsfaith/krakend-jose/signer": {
"alg": "RS256",
"kty":"RSA",
"kid": "2011-04-29",
"keys-to-sign": ["access_token", "refresh_token"],
"jwk-url": "http://fake_api:8080/jwk/public.json",
"disable_jwk_security": true
}
ERROR JOSE: unable to create the signer for the endpoint /token
ERROR square/go-jose: unsupported key type/format
Im new to Golang...Do I have to do this by checking krakend-jose

I have 2 comments:

kty is not required at the configuration
you're trying to sign your tokens with the public key. you should be using the private one, since the public will be used to verify the token signature

cheers

thx, I change public to private one  then it works.
but what are these variables ? n d e d p q dp dq qi ...
and how can I generate my own private public key...

this question is not related to krakend at all.
Please, check the standard specification here: https://tools.ietf.org/html/rfc8017#section-3.2
cheers


Generated beta models and request builders

This pull request was automatically created by Azure Pipelines. Important Check for unexpected deletions or changes in this PR.

closing as impacted by https://github.com/microsoft/kiota/issues/3935


Docker Image?

Will there be an official Docker image available soon?

Hi, EmailFlare actually needs to be hosted inside a Cloudflare worker. Only emails sent inside a worker are free.
So for this solution, that is the limit.
I'll consider something more generic in the future.


Incorrect position of the arrow on the object sidebar and Appearance.

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

Expected Behaviour
The position of the arrow opposite the Details and Appearance lines
Current Behaviour
The position of the arrow is slightly below the specified lines.

Possible Solution

Steps to Reproduce (for bugs)

Start creating a task. Add label with at least one attribute.
Open the task, open a job.
Draw an object.

 No
Operating System and version (e.g. Linux, Windows, MacOS): Windows 10
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

Next steps
You may join our Gitter channel for community support.

Maybe specific for windows OS.

Maybe specific for windows OS.


fix(admission) add KongClusterPlugin config

What this PR does / why we need it:
Add KongClusterPlugin to the rules of the template ValidatingWebhookConfiguration. We omitted this earlier when adding support for KCP to the admission server code
Special notes for your reviewer:
Also moves content out of the 2.0.5 changelog since it wasn't actually part of 2.0.5.
PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

:heavy_check_mark: once @seh's comment is resolved.


ci: remove references to prisma

TL;DR
Removed Prisma client generation and migration steps from Vercel deployment workflows.
What changed?

Removed prisma:generate step from both preview and production deployment workflows
Removed prisma migrate deploy step from preview deployment workflow
Removed migrate:prod:vercel step from production deployment workflow

How to test?

Create a new pull request
Verify that the preview deployment workflow completes successfully without Prisma steps
Merge to main and verify that the production deployment workflow completes successfully

Why make this change?
Prisma client generation and database migrations are now handled directly by Vercel during the build process, making these workflow steps redundant. This change streamlines the deployment process and reduces potential points of failure.

Merge activity

Dec 4, 1:29 PM EST: A user started a stack merge that includes this pull request via Graphite.


Codestyle: Type Hints (PEP 484)

I want to work on async read/write (WIP #303) and see that there are no type hints in the code. Is it appropriate to add type hints, or is it better to stick with the current style?

I do not claim to work on full coverage of type hints, but I would like at least new functions or changed code to have such a convenient option.

I think type hints are desirable, in general and in this specific project.
But I'm not sure it would be very useful to add them in just a few isolated places (and without our CI actually checking them).


urltools should allow working as a filter

I frequently find that I wish urlencode and urldecode worked as a filter, i.e. encoding stdin to stdout. It'd be great if they worked this way if no argument is present.

In the current state of the plugin this requires a huge effort, and I don't see much interest in that. Reopen if you're interested in pursuing this.


Stop overwriting NotAllowError message when identifying errors in the browser

Twice now my error identification logic has overwritten a NotAllowedError message with one that is spec-accurate but completely obfuscates the real issue that becomes obvious if one could read it:

A NotAllowedError reporting "Operation failed" from a Conditional UI call due to an iOS Safari bug

https://github.com/MasterKale/SimpleWebAuthn/discussions/350#discussioncomment-4896572

A NotAllowedError reporting a Chrome-specific block on WebAuthn due to an invalid TLS connection

https://github.com/MasterKale/SimpleWebAuthn/discussions/351#discussioncomment-4910458

In both instances I overwrote these messages with "User clicked cancel, or the authentication ceremony timed out" because it was the second of two possible reasons the error would be raised. Clearly platforms are using this error type to report platform-specific errors, though, and so I should stop overwriting these messages to make it easier for RP's to diagnose issues that aren't library-specific.

This is now available in<EMAIL_ADDRESS>


[NOMRG] Try build and tests on ffmpeg6

Trying this now that https://github.com/pytorch/vision/pull/8096 is merged

Dataset tests are segfaulting, probably for the same (unknkown) reasons as in https://github.com/pytorch/vision/issues/7296. I assume it comes from the video datasets. I can't reproduce the segfault locally but with ffmpeg6 and pyav installed I'm getting errors like
__________________________________________ UCF101TestCase.test_num_examples ___________________________________________
test/datasets_utils.py:555: in test_num_examples
    with self.create_dataset(config) as (dataset, info):
../.miniconda3/envs/ffmpeg6/lib/python3.10/contextlib.py:135: in __enter__
    return next(self.gen)
test/datasets_utils.py:378: in create_dataset
    info = self._inject_fake_data(tmpdir, complete_config) if inject_fake_data else None
test/datasets_utils.py:482: in _inject_fake_data
    info = self.inject_fake_data(tmpdir, config)
test/test_datasets.py:871: in inject_fake_data
    video_files = self._create_videos(video_folder)
test/test_datasets.py:883: in _create_videos
    video_files = [
test/test_datasets.py:884: in <listcomp>
    datasets_utils.create_video_folder(root, cls, lambda idx: file_name_fn(cls, idx), num_examples_per_class)
test/datasets_utils.py:123: in inner_wrapper
    return fn(*args, **kwargs)
test/datasets_utils.py:940: in create_video_folder
    return [
test/datasets_utils.py:941: in <listcomp>
    create_video_file(root, file_name_fn(idx), size=size(idx) if callable(size) else size, **kwargs)
test/datasets_utils.py:123: in inner_wrapper
    return fn(*args, **kwargs)
test/datasets_utils.py:890: in create_video_file
    torchvision.io.write_video(str(file), video.permute(0, 2, 3, 1), fps, **kwargs)
torchvision/io/video.py:91: in write_video
    stream = container.add_stream(video_codec, rate=fps)
av/container/output.pyx:62: in av.container.output.OutputContainer.add_stream
    ???
av/codec/codec.pyx:179: in av.codec.codec.Codec.__cinit__
    ???
av/codec/codec.pyx:187: in av.codec.codec.Codec._init
    ???
E   av.codec.codec.UnknownCodecError: libx264

When pyav is not installed, all those tests are skipped as per the skip mark.

After a0ff08b which ignores the dataset tests, there are still segfaults, this time in test_decode_jpeg_error() which seems completely unrelated :shrug:

Tried to avoid the segfault by only running the video tests. They're all being skipped because the extension cannot be loaded
https://github.com/pytorch/vision/blob/1de7a74a8b93483f1703eef0b306e0ec68e0cd9d/torchvision/io/_video_opt.py#L11-L15
The error is:
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/conda/envs/ci/lib/./libx265.so.199)

(torchvision is still built with ffmpeg support)

Won't have time to dig this further for now.


Add support for dotnet-format

https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-format

Closing for now since dotnet-format expects the input to be a solution file, not an actual file.


Remove Invalid domains

Some domains are invalid, you can use validators python library to confirm.

The invalid domains have been removed from the source and additional validation has been added.


:typing is not included in the :adl requirement

Subject of the issue
:typing is not included in the :adl requirement when it should according to the BNF definition.
Your environment

OS: Ubuntu 22.04
Python version: 3.10.12
Package Version: downloaded from github, commit f54e1878109fed88ca56f3a18f3ecc7dd9fbe9eb of the main branch

Steps to reproduce
Run the parser for the attached tictactoe.txt file.
from pddl import parse_domain, parse_problem
domain = parse_domain('tictactoe.txt')

Expected behaviour
File parses correctly.
Actual behaviour
pddl.exceptions.PDDLValidationError: typing requirement is not specified, but the following types were used: frozenset({'field'})

Thanks for spotting this, @iwob! Although with some delay, I've just solved the issue. Everything is in PR #90, which I think will be merged very soon.


use POST email address methods

This updates the API client to use the methods introduced in https://github.com/alphagov/digitalmarketplace-api/pull/1037

My review checklist
I've:

[ ] looked at the code
[ ] tested locally
[ ] run functional tests locally

Functional tests passed for me.


Example intergration tests

fixtures / integration tests
Overview
A number of asl files are working differently in floe from AWS State Language runtime.
Here are some fixtures to ensure that both environments work the same.
File Naming

test-[state]-[status]-comment

State
The State is the State under test.
We currently have tests for Pass, Fail, Task, and Choice.
Status

The pass files contain a number of tests run inline.
The fail tests take a parameter like {"test":1} to subequent tests. Since these throw an uncatchable runtime error, we need to execute each individually.
The invalid tests have a parser error. They are not json errors, but rather semantic errors.

Future
runner script
I currently have a runner script ref. Though working, it is still a WIP. I can add to this repo if desired.
Tasks
I have tests for tasks, but am unsure the best way to post the hello world container. It outputs to stderr, stdout, and changes the return code.
Can't remember where we had agreed upon putting this.

If these are meant for tests, can we move them under the spec directory?  I think of examples as more user-facing references.  I don't think users want to create invalid asls, which is what most of these are.

These are use cases to testing that we are produce the same errors / results as aws state machines.
I'll move to tests

update:

moved new examples into spec/fixtures (the existing ones in there are actual examples)

I'm keeping a running tally of examples to validate our behavior in the future


WRN-13647: Fix lint warnings

Enact-DCO-1.0-Signed-off-by: Mikyung Kim<EMAIL_ADDRESS>Checklist

[ ] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[ ] Documentation was added or is not needed
[ ] Documentation was verified or is not changed
[ ] UI test was passed or is not needed
[ ] Screenshot test was verified or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
After CLI updates to 4.1.7, lint warning shows.
Resolution
Fixed lint warnings
Additional Considerations
Links
WRN-13647
Comments

 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.


Balance spacing of date inputs

Date inputs are not evenly spaced

Think we should maybe make the gap between day and month bigger then, and/or reduce the size of the text slightly because it looks really odd as it is

I think the best thing we could do is add a min-width to the field and reduce it's right margin by half.
So you'd get...

I do think that looks better, if that works when the screen size is reduced etc then I think we should go with that

Agreed as team that we're happy with the current implementation.