exporting changelog entry to tmp file

Would you be open to a contribution that allows changelog-reader-action to export a tmp file path that contains the changelog entry? This would be helpful to avoid shell escape sequence on richer markdown content. I've ran into issues with this for integrations that require a path to a file containing release notes (like goreleaser for example). I'd be happy to contribute this feature if you'd be open to it 👍
I was thinking:
outputs.changesFile - a path to a temporary file containing the text for the changelog entry.
Then I can use it like so:
name: release

on:
  push:
    tags:
      - 'v*'

jobs:
  goreleaser:
    runs-on: ubuntu-latest
    steps:
      - name: Extract Version from Tag
        id: tag_name
        run: |
          echo ::set-output name=current_version::${GITHUB_REF#refs/tags/v}
        shell: bash

      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: Generate Release Changes
        id: changelog_reader
        uses: mindsers/changelog-reader-action@v2
        with:
          version: ${{ steps.tag_name.outputs.current_version }}

      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.18

      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Run GoReleaser
        uses: goreleaser/goreleaser-action@v2
        with:
          distribution: goreleaser
          version: latest
          args: release --rm-dist --release-notes ${{ steps.changelog_reader.outputs.changesFile }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Hi! Thanks for submitting this issue! ❤
This is definitely an interesting idea. I think it'll make changelog-reader even more useful.
And I really appreciate that you offer to contribute.
I'm wondering if other data (other than the entry's content) could be useful as a temporary file also?

@all-contributors Let's add @jon-whit for ideas.


db.table.where() not setting returnType

TL;DR —
const t1 = db.post.all().where().returnType // typeof t1 is "all"
const t2 = db.post.where().returnType // typeof t2 is QueryReturnType

Expected: both t1 and t2 typed as "all".

For the GraphQL resolver that I'm working on, I want to provide users a generic function that accepts the return type and the query argument. I want to do very basic type check on the query, so that if say the return type is a list, the query should be also returning the list (i.e. it's not .find() or .get() or .count()).
I came up with this quick approach:
import process from "node:process"

import { createBaseTable, orchidORM, Query } from "orchid-orm"

const BaseTable = createBaseTable()

class PostTable extends BaseTable {
  readonly table = "post"

  columns = this.setColumns((t) => ({
    id: t.serial().primaryKey(),
    text: t.text(),
  }))
}

const db = orchidORM(
  { databaseURL: process.env.DATABASE_URL, log: true },
  {
    post: PostTable,
  },
)

// Similar to db.post, but not necessary so.
interface Post {
  id: number
  text: number
  excerpt: string
  tags: string[]
}

// Query must restrict the return type shape.
function myResolve<T>(
  query: Query & {
    returnType: T extends Array<unknown>
      ? "all" | "rows"
      : T extends undefined
        ? "one"
        : "oneOrThrow"
  },
): Promise<T> {
  return query as unknown as Promise<T>
}

// These all should return type errors:
myResolve<Post>(db.post.all())
myResolve<Post>(db.post.count())
myResolve<Post>(db.post.get("text"))
myResolve<Post>(db.post.findOptional(1))
myResolve<Post[]>(db.post.find(1))

// These should be accepted:
myResolve<Post[]>(db.post.all())
myResolve<Post[]>(db.post.where({ text: "foo" }))
myResolve<Post>(db.post.find(1))
myResolve<Post | undefined>(db.post.findOptional(1))

which mostly works but gives false negative for db.post.where().

I'm relying on this helper from pqb:
export type QueryReturnsAll<T extends QueryReturnType> =
  QueryReturnType extends T ? true : T extends 'all' ? true : false;

db.post.all() and db.post return types are different to let the ORM know if all() was applied.
Because update and delete needs to know if it was applied or not.

Right, I though so. But what if db.post will have some different type like list by default? The current way of things is a bit inconsistent. db.post.where() is well defined from user point of view (it always returns a list), but it's not precisely typed as other queries (based on typings, it supposedly could return one or void or anything else).
--
As for the helper, thanks for providing it, but I am struggling to see how I can "reverse" it. In my case, I don't need to check query, I need to build a type for the query. I can't really return Query & { returnType: QueryReturnType }, can I? Because it will pass anything.

Having list by default sounds good, I'd call it many to be more symmetrical with the existing one, and it should solve the typing problem.
Well, since the default one is QueryReturnType, and by coincidence it is a union of all possible values, seems like you cannot restrict it so db.post.where() is going to pass while db.post.take() won't pass.

Done, now it's undefined by default, both at runtime and at the type level.
Use
returnType: undefined | 'all'

to limit queries to return multiple records.

Thanks! I confirm that in the example above,
function myResolve<T>(
  query: Query & {
    returnType: T extends Array<unknown>
      ? undefined | "all"
      : T extends undefined
        ? "one"
        : "oneOrThrow"
  },
)

works as expected with orchid-orm 1.31.2.


googletag.impl.pubads.createDomIframe

See #86

Closing this request due to inactivity.  Please retest against 2.0.0 release and open a new issue following Issue Reporting guidelines in 2.0.0 if you believe this is still an issue.


Trying to drag and drop with Cypress

Hi !
I would like to test my application with Cypress but I can't find a way to simulate a drag and drop. I tried to use the same mouseMoveBy command you created in draggable_spec.ts, but it has no effect on my application. Nothing seems to move.
I just have a basic drag and drop setup from the DndKit getting started documentation, nothing fancy. Did you have to setup something special to make it work with Cypress?
I'm not sure if I can use Cypress with Code Sandbox so I can link a reproductive example. I'll investigate.
Thank you

@damien-monni the custom commands used for testing in Cypress can be found here: https://github.com/clauderic/dnd-kit/blob/master/cypress/support/commands.ts
Did you also add these in your Cypress support folder?

@clauderic I could not find a way to put an example online so I just created minimal repo reproducing the issue: https://github.com/damien-monni/dnd-kit-issue
Just clone, run npm install and npm start.
Then launch Cypress with npm run cypress:open. You will see that nothing seems to be dragged and dropped.

hi, @damien-monni
I had similar issue and found a solution.
in your dnd-kit-issue repository, try this:
diff --git a/src/App.js b/src/App.js
index 0eee1ee..766a14c 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,10 +1,13 @@
-import { useDroppable, useDraggable, DndContext } from "@dnd-kit/core";
+import { useDroppable, useDraggable, DndContext, MouseSensor, useSensor, useSensors } from "@dnd-kit/core";
 import { useState } from "react";

 const Draggable = () => {
   const { attributes, listeners, setNodeRef, transform } = useDraggable({
     id: "draggable",
   });
+  const sensors = useSensors(
+    useSensor(MouseSensor),
+  )

   return (
     <div style={{ display: "flex" }}>
@@ -62,9 +65,13 @@ const Root = ({ isDropped }) => {

 function App() {
   const [isDropped, setIsDropped] = useState(false);
+  const sensors = useSensors(
+    useSensor(MouseSensor),
+  )

   return (
     <DndContext
+      sensors={sensors}
       onDragEnd={(event) => {
         if (event.over?.id) {
           setIsDropped(true);

It seems like MouseSensor is necessary. I hope this helps.

@iguto It's working! Thank you so much!

Right. The MouseSensor is necessary because the commands trigger mouse events. If you would like to use the Pointer sensor, trigger pointer events instead (for example, pointerdown instead of mousedown)

IMO It's a bad practice to add code to app only to ensure testing works (hacky workaround). In this case like mentioned  above, the "problem" are the default sensors.
Instead of adding a sensor you're jot using, just trigger the pointer event (no code changes)
Unless you can profit from the performance advantage because you just missed to add it anyway.
Docs
"By default, DndContext uses the pointer and the keyboard sensors"
https://docs.dndkit.com/api-documentation/sensors

Couple of years old issue but just in case others run into same issues with pointer events:
It's not just as simple as replacing mouse events with pointer ones. You'll also have to add couple of parameters to get through these checks:
https://github.com/clauderic/dnd-kit/blob/694dcc2f62e5269541fc941fa6c9af46ccd682ad/packages/core/src/sensors/pointer/PointerSensor.ts#L37-L39
This works with latest Cypress and dnd-kit:
cy.wrap(button)
    .trigger('pointerdown', {
        force: true,
        isPrimary: true,
        button: 0,
    })
    .wait(1_000)
    .trigger('pointermove', {
        clientX: 100,
        clientY: 100,
        force: true,
        isPrimary: true,
        button: 0,
    })
    .wait(1000)
    .trigger('pointerup', {
        force: true,
        isPrimary: true,
        button: 0,
    });


White page using the provided exemple

I'm trying to start the Docker + Database exemple, but i'm getting a whitepage as it redirect to "domain/login". My domain is an internal tailscale IP address, so i'm not using a reverse proxy at this time.
The /health-check/debug endpoint gives me this result : {"ip_address":"<IP_ADDRESS>","hostname":"<IP_ADDRESS>","timestamp":1728140584,"date_time_utc":"2024-10-05 15:03:04","date_time_app":"2024-10-05 15:03:04","timezone":"Etc\/UTC","secure":false,"is_trusted_proxy":true}
When looking at the browser console, I can see this error : Failed to load resource: An SSL error has occurred and a secure connection to the server cannot be made. However, if I try to disable https and disable "APP_FORCE_HTTPS" in laravel.env, I get the same error.

@lejacobroy

Could you provide me with the URL the browser tries to send a request to, that produces this error? You can see that in the Network tab.
What did you put in the APP_URL env variable in the laravel.env file?

I was getting the same thing, same health-check response and console error (also some CORS errors).
I put my domain in the .env file, ensured that Traefik had green checkmarks on each http and https connections and it eventually worked.  If you're using it on an IP address, try putting that address in the APP_DOMAIN setting in the .env file.

We released a fix for self-hosting setups without a HTTPS reverse proxy in this release: https://github.com/solidtime-io/solidtime/releases/tag/v0.3.1
Please try if this fixes your problem. If it doesn't please reopen the issue.


Remove ! from write_field!

write_field! used to modify the NetCDF writer, but this is no longer the case, so the use of ! is no longer needed

Best not to.


Merge master and dev

Pull Request Test Coverage Report for Build 827

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.882%

Totals

Change from base Build 792:
0.0%

Covered Lines:
1759

Relevant Lines:
2097

💛  - Coveralls

Pull Request Test Coverage Report for Build 827

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.882%

Totals

Change from base Build 792:
0.0%

Covered Lines:
1759

Relevant Lines:
2097

💛  - Coveralls


instructions for beginners

Instructions for beginners who host a small website and aren't familiar with command lines.

Hi,
Thanks for the review, and sorry for the PRs, apparently I couldn’t manage to delete the 2 previous one 💀 I will definitely check ressources about contributing on GitHub.

Could you say where this idea stemmed from? The Android client has had some issues in that it always showed as connected regardless of whether it was actually true.

It stemmed precisely because I had the idea to try this method on one of my servers (which is max pain to connect to via shell but has the advantage to let me change its IPs as I wish) , and checked my proxy url right after. The proxy seemed to work, the Signal page to download the app appeared asking if I wanted to download the app.
Just to be clear, now that the files are hosted, if I connect to the server via ssh and run the command, the proxy would start, right ?

Hey folks, I'm trying to install this on a Raspberry Pi but you seem to have an amd64 specific element of your code (potentially from certbot) that is preventing it from running correctly on arm.
The error appears after running sudo ./init-certificate.sh
### Requesting Let's Encrypt certificate for DOMAINNAMEREPLACED ...  Adjusting the host as well as the certbot images was necessary: https://github.com/zhksh/Signal-TLS-Proxy/tree/arm7-images

@stinky-fox you can check with docker-compose ps and docker-compose logs -f

Hello, can somone help to install on a Plesk running Server?


fix: corrected ERC20 amount property, according to EIP-681

Motivation
There was a mistake when choosing what property consider when the QR code refers to ERC-20 tokens. According to EIP-681:

Requesting payments in ERC-20 tokens involves a request to call the transfer function of the token contract with an address and a uint256 typed parameter, containing the beneficiary address and the amount in atomic units, respectively. For example, requesting a Unicorn to address 0x8e23ee67d1332ad560396262c48ffbb01f93d052 looks as follows: ethereum:0x89205a3a3b2a69de6dbf7f01ed13b2108b2c43e7/transfer?address=0x8e23ee67d1332ad560396262c48ffbb01f93d052&uint256=1

Changes
The function decodeQrCode was adapted to get the prop uint256 in case the QR code refers to an ERC20 token, defined by the existence of the prop functionName.
Tests
Changed test of decodeQrCode to consider the correct prop.

This PR refers to the same issue of PR #1379


Remove check for deployment name existence

Description
Remove check for deployment name existence - it is optional and can be overwritten in azure-specific config section

/approve

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.35%. Comparing base (10be3e2) to head (dac60f3).
Report is 8 commits behind head on main.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #1083       +/-   ##
===========================================
- Coverage   95.40%   70.35%   -25.06%
===========================================
  Files          55       54        -1
  Lines        2352     2348        -4
===========================================
- Hits         2244     1652      -592
- Misses        108      696      +588

Files
Coverage Δ

ols/app/models/config.py
65.30% <ø> (-30.95%)
:arrow_down:

... and 27 files with indirect coverage changes

/lgtm


Adding Python 3.10 to test matrix

Description
We should add Python 3.10 to our test runs. I had to upgrade some dependencies to make it work. I'm guessing those older versions weren't 3.10 compatible. I also added the suppression of logbook warnings like we did in dbt-core
Checklist

[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have updated the CHANGELOG.md and added information about my change to the "dbt-bigquery next" section.

You can't add an init.py file underneath the 'dbt' directory. It breaks the plugin architecture.

Good questions Mila!

where all the agate stubs you've included came from!
I copied them from dbt-core where they already exist.

How do we purpose to keep this up to date with the changing library specification? / What's the update procedure?
In the majority of the cases, we should use the associated types package for each of these dependencies. I removed the response stubs I originally created myself and switched the types-requests package instead. This is the way we can keep up to date with dependencies over time. For dependencies that don't provide the associated types package, we don't have a good plan in place at the moment which is a gap. Agate is a dependency in general we want to remove in general. I'll take a look at the stubs we have in all the repos and start thinking if there is a better approach there. We can start a thread with the team too since I'm curious if others have seen this done in a certain way in the past


Microsoft.Azure.Documents.Document is defined in both Microsoft.Azure.DocumentDB.Core and Microsoft.Azure.WebJobs.Extensions.DocumentDB

I have an issue with being able to define Microsoft.Azure.Documents.Document helpers in a shared library, and use them in a function app that imports Microsoft.Azure.WebJobs.Extensions.DocumentDB for Cosmos bindings. (The function app is being written in Visual Studio on the net461 version --- and the class library so happens to be NetStandard2.0.)
My shared library references
"Microsoft.Azure.DocumentDB.Core" Version="1.8.1"

To make some Documentand DocumentClient helper classes. And my function app uses CosmosDBTrigger bindings; and so it must import
Microsoft.Azure.WebJobs.Extensions.DocumentDB - 1.1.0

But that can't work because "Document exists in both NuGet references", so there is a conflict. Any advice on how to have a shared library with DocumentDb utilities while having Cosmos bindings in the function app? (A.k.a. why are there two NuGet libraries that separately define Microsoft.Azure.Documents.Document?)
P.S. I didn't import the WebJobs.Extensions.DocumentDB in my class library because that seems wrong ... Though that might solve my specific issue since that would seem to erase the conflict: but I don't know what all is included in the WebJobs NuGet --- first off --- and second, can I define a NetStandard shared library with that import?? Perhaps I'm asking a but much because I want to define my shared library as NetStandard --- or, perhaps I am right in that I shouldn't be trying to import WebJobs.Extensions in anything other than a function app itself ... I just want DocumentDb helpers in a shared NetStandard library, and import those into a function app with Cosmos bindings :-)
... Heh: this newbie is just waiting for the function apps v2 release to "turn everything into NetStandard" and erase any oddball NuGet crossed-up dependencies! How did I discover NuGet dll hell?!?

@ealsur can you please look into this?

@steevcoco I think your issue is because the WebJobs.Extensions.DocumentDB has a dependency on the Microsoft.Azure.DocumentDB nuget package.
If you want to work with Net Standard / Core, you might need to wait until Functions V2 is released, where the Cosmos DB Extension actually uses the Core package.
Or make your library use the Microsoft.Azure.DocumentDB package, and not the Core version.

Yes: OK ... sorry. I can see the dependencies! Just a little confused ... Since 461 can consume NetStandard, I assumed I'd make the shared library NetStandard ... I got a little turned around with some previewing too. It seems clear. Thanks!


Add user ID to PersistentStorageInstance (#36)

Store the user ID of the user that created a PersistentStorageInstance. Don't allow another user to successfully create or delete the PersistentStorageInstance.
I also added a common way to set the object.Status.Error field based on the error returned from the reconcile function.
Signed-off-by: Matt Richerson<EMAIL_ADDRESS>

The latest test failure seems very similar to what I was seeing last week
https://github.com/NearNodeFlash/nnf-sos/actions/runs/3106817788/jobs/5034167341#step:8:6373
2022-09-22T15:46:06.651Z	INFO	controllers.NnfWorkflow	Finish wait	{"Workflow": "default/jobdw-lustre-8c395fff", "state": "pre_run", "index": 0, "reason": "pending mount", "object": "default/jobdw-lustre-8c395fff-0-computes", "kind": "NnfAccess"}

Did the merge pull in my workaround, or do you think there's something more to be done?

Your fix is in there, so there still must be an issue. I wasn't going to worry about it because when I add the changes to update the ResourceError fields when the reconciler returns, I think that will make some of this go away.


Capturing trace-output

Hello,
I'm new to Lisp, and studying Norvig's book. In the book, he makes use of the trace special form.
So, I was wondering if there might be a way to capture the *trace-output* stream and make it visible on the frontend. I tried (setf *trace-output* *standard-output*), but it didn't seem to work.
I don't really yet know what I'm doing, so any help's appreciated!
Thanks

I'll dig into this (as a tribute to PAIP ;-) ...


Get the Selected Option from List

Hi, all. I can successfully create a list with the function getDestination(). Then,I followed the guide https://developers.google.com/actions/assistant/responses#list from Google to do the reaction of list and create the function getOption(), and also insert the Event "actions_intent_OPTION" into my intent 'actions.intent.OPTION' in Dialogflow, but I keep  getting the Error from Google Assistant, the error is "MalformedResponse 'final_response' must be set." when I select one option from the list. Anybody can help on it, thanks a lot.
My code is below:
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card,Suggestion, Payload} = require('dialogflow-fulfillment');
const {dialogflow,List}=require('actions-on-google');
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({request, response});
const app = dialogflow({debug: true});
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
 console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
function welcome(agent) {
agent.add(Welcome to the LTA Find Bus!);
agent.add(I can help you to find the suitable bus stop, bus service, and arriving time. Where are you want to go?);
agent.add(new Suggestion('Bedok'));
agent.add(new Suggestion('Cancel'));
 }
function getDestination(agent) {
 // Get parameters from Dialogflow to convert
 const Destination = agent.parameters.Destination;
let conv=agent.conv();
conv.ask(`User would like to go to ${Destination}. `);
conv.ask('Please choose an bus stop:');
conv.ask(new List({
title: 'List of Bus Stops',
items: {
 // Add the first item to the list
  '1': {
    title: 'Opp Our Tampines Hub - 76059',
  },
 // Add the second item to the list
  '2': {
   title: 'Blk 945 - 76111',
  }}}));

agent.setContext({
  name: 'Destination',
 lifespan: 5,
 parameters:{Destination: Destination}
`});

agent.add(conv);}`
function getOption(agent) {
const SELECTED_ITEM_RESPONSES = {

 ['1']: 'You selected the first item',
 ['2']: 'You selected the second item',
};
app.intent('actions.intent.OPTION', (conv, params, option) => {

let response = 'You did not select any item';
 if (option && SELECTED_ITEM_RESPONSES.hasOwnProperty(option)) {
response = SELECTED_ITEM_RESPONSES[option];
}
 agent.add(response);
});
 }
let intentMap = new Map(); // Map functions to Dialogflow intent names
intentMap.set('Default Welcome Intent', welcome);
 intentMap.set('getDestination-BusStop', getDestination);
 intentMap.set('actions.intent.OPTION', getOption);
 agent.handleRequest(intentMap);
});

List selection events are Action on Google specific events and are not supported by this library.  If you are building on Dialogflow with only Actions on Google in mind please use the Actions on Google client library . If you are building for Actions on Google and other platforms please see the Dialogflow fulfillment & Actions on Google client library sample.

If anyone is facing the same problem and don't know how to get the key of the selected item from the List, using WebhookClient this is how I managed it:

Add actions.intent.OPTION in Events section of the Intent that you want to be triggered when selecting an item from the List

In your Fulfillment code, you can access the key of the selected item like this:

function yourIntentFunction(agent) {
   ....
   let param1 = request.body.queryResult.outputContexts[0].parameters.param1;
   let param2 = request.body.queryResult.outputContexts[0].parameters.param2;
   ....

   let KEY = request.body.originalDetectIntentRequest.payload.inputs[0].arguments[0].textValue;
   ....
}

Notes:

I came to this solution by inspecting request.body object
I only had 1 List in my view. I don't know what happens when you have more than 1 List or 1 List + 1 Carousel in the same view. In any case, as I did, you can inspect request.body to see where to find the keys.

Hi iam using the card view to display the list of products,
agent.handleRequest(intentHandler);
function intentHandler(agent) {
agent.add(new Card({
title: "Hello",
imageUrl: imgarray1[j],
text: ``,
buttonText: prodNamearray1[j],
buttonUrl: "https://dialogflow.com/docs/intents/rich-messages"
})
);
Here I am unable to get the selected product by the user. I am using the dialogflow fulfilment through node.js

If anyone is facing the same problem and don't know how to get the key of the selected item from the List, using WebhookClient this is how I managed it:

Add actions.intent.OPTION in Events section of the Intent that you want to be triggered when selecting an item from the List
In your Fulfillment code, you can access the key of the selected item like this:

function yourIntentFunction(agent) {
   ....
   let param1 = request.body.queryResult.outputContexts[0].parameters.param1;
   let param2 = request.body.queryResult.outputContexts[0].parameters.param2;
   ....

   let KEY = request.body.originalDetectIntentRequest.payload.inputs[0].arguments[0].textValue;
   ....
}

Notes:

I came to this solution by inspecting request.body object
I only had 1 List in my view. I don't know what happens when you have more than 1 List or 1 List + 1 Carousel in the same view. In any case, as I did, you can inspect request.body to see where to find the keys.

This solved my problem with the events. Thank you

If anyone is facing the same problem and don't know how to get the key of the selected item from the List, using WebhookClient this is how I managed it:

Add actions.intent.OPTION in Events section of the Intent that you want to be triggered when selecting an item from the List
In your Fulfillment code, you can access the key of the selected item like this:

function yourIntentFunction(agent) {
   ....
   let param1 = request.body.queryResult.outputContexts[0].parameters.param1;
   let param2 = request.body.queryResult.outputContexts[0].parameters.param2;
   ....

   let KEY = request.body.originalDetectIntentRequest.payload.inputs[0].arguments[0].textValue;
   ....
}

Notes:

I came to this solution by inspecting request.body object
I only had 1 List in my view. I don't know what happens when you have more than 1 List or 1 List + 1 Carousel in the same view. In any case, as I did, you can inspect request.body to see where to find the keys.

The solution to grab the KEY of the selected option did work for me. But if you are using the the "dialogflow-fulfillment-nodejs" library, you could also do the following, where:

"catch_list_option" is a follow-up intent to an intent displaying a list of options
"catch_list_option" has "actions_intent_OPTION" defined in its Events section
"global_context" is an input and output context that i defined to all my intents, and where keep the parameters I will need

function catch_list_option_follow(agent){
    const option_intent = agent.context.get('actions_intent_option');
    const option_key = option_intent.parameters.OPTION;
    const option_text = option_intent.parameters.text;
    agent.context.set({name: 'global_context',
                       lifespan: 1,
                       parameters: {
                         parameter_name: option_key
                        }});

let intentMap = new Map();
intentMap.set('catch_list_option', catch_list_option_follow);
agent.handleRequest(intentMap);


docs: upstream sent too big header while reading response header from upstream

Which Problems Are Solved

If you operate Zitadel behind a Reverse Proxy or Ingress inside a Kubernetes cluster,
you may encounter an Error like upstream sent too big header while reading response header from upstream
The Docs explain how to solve it

How the Problems Are Solved

Adding Troubleshooting Docs for too big upstream header, so people that search for it find a solution.

Hi @hofq
Thanks for this useful troubleshooting page.
If you are interested in a small gift, please reach out to<EMAIL_ADDRESS>


[cordova] Automate 5 tests with pyunit in cordova-feature-android-tests

Impacted tests(approved): new 0, update 5, delete 0
Unit test platform: android(cordova 3.6, cordova 4.0)
Unit test result summary: pass 5, fail 0, block 0

LGTM


org.apiguardian.api.API$Status not found after upgrading to 2021.0 and Spring Boot 2.6.1

Describe the bug
Getting a lot of
warning: unknown enum constant Status.STABLE
  reason: class file for org.apiguardian.api.API$Status not found

(and a single)
warning: unknown enum constant Status.EXPERIMENTAL

warnings since upgrading to 2021.0 and Spring Boot 2.6.1, probably cause by SpringMockMVC calls in my junit5 test.
Running Java jdk-17+35 from Adoptium and gradle-7.3.1
Sample
@Test
    @DisplayName("Fetch request with empty body should return 400 response")
    public void fetchRestTest400() throws Exception {
        this.mockMvc.perform(post("/metadata")).andDo(print()).andExpect(status().is4xxClientError());
    }

What is org.apiguardian.api.API$Status? It doesn't come from spring cloud

It was a "big" issue in 2017, I'm also confused why this should be caused by Spring Cloud but if we change it back to 2020.0.4 and earlier the warning disappears. I haven't really verified, but I assumed it is used via SpringMockMVC so my only guess is that some Spring dependency included in 2021.0.0 now overwrites something and causes this old bug to be back? Haven't found other people having this issue but we were quite early with the update...
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/web/servlet/MockMvc.html
https://github.com/junit-team/junit5/issues/1105

Did the change back to 2020.0.4 also include a boot change (since it's not compatible with boot 2.6)? I'm fairly confident that this isn't caused by spring cloud. Can you show your dependencies and the dependency tree from Gradle or maven?

No, that was why I wrote 2.6.X and 2021.0.0 vs 2.5.X and 2020.0.4. Have not had time to verify the issue since it felt minor (only warnings and the tests still pass). Just wanted to document it somewhere because I found no one else having the issue and wasn't sure if we were just way to early. We upgraded to 2021.0.0 on Thursday as soon as it was available from Github. I know that they upgraded to JUnit 5.8.1 with Boot 2.6 so maybe I should try and post this to Spring Boot and JUnit too?

Not without more information. We currently have no way to verify it reproduce the problem.

Yeah seems like Spring Boot starter Test 2.6.1 updated to Jupiter 5.8.1 which should contain the guardian but doesn't for us for some reason.
https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api/5.8.1
+--- org.springframework.boot:spring-boot-starter-test -> 2.5.4
|    +--- org.junit.jupiter:junit-jupiter:5.7.2
|    |    +--- org.junit:junit-bom:5.7.2
|    |    |    +--- org.junit.jupiter:junit-jupiter:5.7.2 (c)
|    |    |    +--- org.junit.jupiter:junit-jupiter-api:5.7.2 (c)
|    |    |    +--- org.junit.jupiter:junit-jupiter-engine:5.7.2 (c)
|    |    |    +--- org.junit.jupiter:junit-jupiter-params:5.7.2 (c)
|    |    |    +--- org.junit.platform:junit-platform-commons:1.7.2 (c)
|    |    |    \--- org.junit.platform:junit-platform-engine:1.7.2 (c)
|    |    +--- org.junit.jupiter:junit-jupiter-api:5.7.2
|    |    |    +--- org.junit:junit-bom:5.7.2 (*)
|    |    |    +--- org.apiguardian:apiguardian-api:1.1.0
|    |    |    +--- org.opentest4j:opentest4j:1.2.0
|    |    |    \--- org.junit.platform:junit-platform-commons:1.7.2
|    |    |         +--- org.junit:junit-bom:5.7.2 (*)

+--- org.springframework.boot:spring-boot-starter-test -> 2.6.1
|    +--- org.junit.jupiter:junit-jupiter:5.8.1
|    |    +--- org.junit:junit-bom:5.8.1
|    |    |    +--- org.junit.jupiter:junit-jupiter:5.8.1 (c)
|    |    |    +--- org.junit.jupiter:junit-jupiter-api:5.8.1 (c)
|    |    |    +--- org.junit.jupiter:junit-jupiter-engine:5.8.1 (c)
|    |    |    +--- org.junit.jupiter:junit-jupiter-params:5.8.1 (c)
|    |    |    +--- org.junit.platform:junit-platform-commons:1.8.1 (c)
|    |    |    \--- org.junit.platform:junit-platform-engine:1.8.1 (c)
|    |    +--- org.junit.jupiter:junit-jupiter-api:5.8.1
|    |    |    +--- org.junit:junit-bom:5.8.1 (*)
|    |    |    +--- org.opentest4j:opentest4j:1.2.0
|    |    |    \--- org.junit.platform:junit-platform-commons:1.8.1
|    |    |         \--- org.junit:junit-bom:5.8.1 (*)


Expanded and clarified the GCP setup.

Fixes #533

This change is

Preview: https://deploy-preview-556--competent-brattain-de2d6d.netlify.com/docs/started/getting-started-gke/

/assign @lluunn

This PR is ready for review.
Adding a hold to allow for multiple reviewers
/hold

/lgtm
/approve
thanks!

/hold cancel

@lluunn PTAL and re-LGTM

/lgtm


URLFWD being replaced with REDIRECT

IBM NS1 Connect
Action required:
Convert your URLFWD records
to REDIRECT records.
You are receiving this email because your IBM NS1 Connect account has at least one URLFWD record configured, and this functionality is being deprecated on September 30, 2024. URL forwarding (URLFWD) records are being replaced by the new URL redirect (REDIRECT) record types. For details, refer to the product announcement and technical documentation.
Please take immediate action to migrate URLFWD records into URL redirect configurations. Refer to the following instructions:
[Create a redirect configuration](https://www.ibm.com/docs/en/ns1-connect?topic=redirects-configuring-url-redirect) corresponding to the URLFWD record details.
Verify the redirect configuration settings. A new REDIRECT record will appear in the corresponding zone.
Delete the URLFWD record. Note: DNS responses will cut over to the new redirect after the TTL on the URLFWD record expires
Repeat this process for all URLFWD records in your account.

The NS1 Connect support team is here to help with this process as well. Our support team can access a list of all URLFWDs in your account (if you need help finding them). They also have a migration script that has been developed and tested by our engineering team to perform Step 1 of the above process for ALL URLFWDs in your account. If you would like the support team to run this script on your account, please open a support case.
If we do not hear from you before September 30, 2024, NS1 engineers will perform the migration of URLFWDs to URL Redirects in your account on your behalf.

Unfortunately, when this was added to octoDNS it was a single repo. This means the octodns-cloudflare also is using URLFWD for the redirect services there.

Unfortunately, when this was added to octoDNS it was a single repo. This means the octodns-cloudflare also is using URLFWD for the redirect services there.

Has Cloudflare announced a similar deprecation? The octoDNS record type will hopefully be able to remain URLFWD and it'll "just" be a change to the record type created when things are pushed up to NS1. That does assume the two types are compatible.

Cloudflare was planning to deprecate the specific Rules -> Page Rules called Forwarding URL, and move it to a new location. However, they have paused those plans.
I was thinking completeness when I made my comment. However, just updating what gets pushed/pulled from NS1 sounds like the quickest win.

Apparently the "REDIRECT" records aren't actually a new record type, they're a completely separate object so this isn't going to be a drop in replacement.
What's more they're not tied to a/per zone it's just a list of them so there's not a simple way to figure out what belongs in a zone during populate. I.e. if we see something.foo.bar.ns1.com. and we're being asked to populate ns1.com. at the moment we need to make sure that none of the sub-zones are (separately) managed as they would own it and not us.
There's also a bunch of other details around support for https and forcing https.
Anyway. I would classify this as a small project to support rather than something I can just sit down for an hour and churn out which is to say not sure when I'll get to it.

Also by way of a note, if this is going to be something octoDNS transparently handles there will need to be some mechanics around an upgrade process that converts the URLFWD to its corresponding redirect and deletes the old URLFWD. That would be a change that couldn't be undone and thus users would not be able to downgrade octodns-ns1 afterwards.

A bit more digging/realization. A single URLFWD can turn into multiple redirect configs: (ignore the errors. I told it to enable HTTPS which failed since it's a dummy domain and I can't undo it.)

This will require further matching/understanding of the "Source URL" when trying to associate redirects to their owning domains.
Something like this previously would have been a single URLFWD with multiple values:

That has always been in my ~test setup for NS1 to do URLFWDs.

WIP/investigation branch can be found here https://github.com/octodns/octodns-ns1/compare/redirect?expand=1
Definitely a project. TBH more than I'm likely to pick up outside of someone funding it as there are lots of details and edge cases.

Plan otherwise will be to remove support for URLFWD if/when NS1 removes it from their system assuming the work hasn't happened by then.
I can see why Cloudflare changed their minds/delayed :grin:

Is the work regarding this still in progress? They will deprecate URLFWD by the end of this month.

I started looking at this using your branch as a starting point.
This line throws the runtime error AttributeError: 'Ns1Provider' object has no attribute '_find_redirects'. Ignoring that missing function, I am having trouble getting as far as you did.
Are there missed commits not pushed to the working branch?

Are there missed commits not pushed to the working branch?

Naw. It was a WIP halfway through some changes/thinking/experimentation. As mentioned above I think it'll be a decent chunk of work to get it all going and working correctly, especially in a. backwards compatible way. Something that could be done/I could do, but more than I'll have time to sit down and do absent someone footing the bill. Will definitely review PRs. It'll like require a pretty deep understanding of things to get plumbed out.

That's fair. I have a fall back, which I don't want to use, if we can't get this updated soon.
Interestingly enough, the error went away when I imported a test redirect. 🤷


Database Migration Typescript

Database migration from typescript using sequelize.
what has to be done:

[ ] convert tables
[x] create reminders table
[ ] rename table columns to camelCase
[x] convert connection
[ ] use transactions

commands that are fully functional:

[x] praise
[x] profile
[x] leaderboard
[x] help
[ ] notify hourly
[ ] notify daily
[ ] buy
[ ] inventory
[ ] shop

This migration will include a change in architecture.
I realized that every command is an event, and not that events handles commands.
This means that every command is responsible implementing its own "event" handling, which in turn takes the shape of command.execute(). and the abstract class Events will handle all the details that commands does not needed.
Because "commands" are "events", and Vegito is command-driven, then, it is enough to say that the events class must handle the one-to-one map of a command is an event, or that the command name is associated with this and only this.
This means that, the event class upon receiving any interaction will know whether or not that command is of the instance and if it is, the handling happens.
The only downside is that is a bit tricky to handle fragmentation, as each event is a command, and we are going to have many of them (one for each request), as opposed to a one event -> many possible command.execute().
The latter approach is straightforward, but the former can "abstract" too much.
Another downside is that when 10 commands are loaded, it means that upon request, 10 checks are going to execute (to check if the command is or not valid), as vegito is going to be less than 100 commands, then it is a valid approach.

sub-commands
The sub-command takes a similar approach that is, a command can have zero or more sub-commands, and because of this, the base command is unusable (as discord docs is stating), thus, it is still necessary to map a Command to its children. And that's exactly #5 is about.

Name conventions
Naming convention for notify and reminders.
Reminders can be used in view text or strings, whereas "notify" is a term used internally (i. e. in the source code or files).
This is to avoid wrong naming conventions.
some folders have the name of the interface/class it implements prefixed (e. g. views may have view-xxxx.ts or jobs job-notify)
Errors
There are two types of errors, and they have "VegitoError" as suffix to identify application errors. All errors that does not have this suffix are fatal or library errors.
Others
All other naming convention besides these ones above, is preferable to have a prefix approach to its derived classes.


Add Popover Menu

This is my first attempt at a PR for this project, so hopefully I got everything correct for PopoverMenu for issue #149 .

Hi ! Thanks a lot for the PR ! You just forgot to add the declaration of your C-cast function at the end of /gtk-sys/src/lib.rs. Once you've added it, please squash your commits into one.

cc @gkoz

To brag a little, here's how the generator (still a work in progress) currently does this: https://github.com/gkoz/gtk-rs-gtk/blob/object_reform_gir/src/auto/popover_menu.rs
And thanks to that I've noticed that this can't work because gtk_popover_menu_new doesn't take any arguments.

Fixed new to note take any arguments

Perfect, thanks a lot ! I wait travis build result and then I merge.


Conversion fallibility and traits

We have implemented From to allow conversion between
Time and some integer types.
This is not idiomatic because the conversion is not lossless.
One option is to implement traits from num.

This is sorted in #251 if not earlier.


Error: next-i18next was unable to find a user config - build ok

Build on Netlify is ok, but I'm getting this error when I try to access the link of the project:
Error: next-i18next was unable to find a user config"

//<PHONE_NUMBER>1354
// https://censured-url.netlify.app/

{
  "errorType": "Runtime.UnhandledPromiseRejection",
  "errorMessage": "Error: next-i18next was unable to find a user config",
  "trace": [
    "Runtime.UnhandledPromiseRejection: Error: next-i18next was unable to find a user config",
    "    at process.<anonymous> (/var/runtime/index.js:35:15)",
    "    at process.emit (events.js:314:20)",
    "    at processPromiseRejections (internal/process/promises.js:209:33)",
    "    at processTicksAndRejections (internal/process/task_queues.js:98:32)"
  ]
}

Build Log:
1:42:40 PM: Build ready to start
1:42:41 PM: build-image version: 653805ca4a64301556e56dc4b321ef8fc20cbb7c
1:42:41 PM: build-image tag: v3.8.2
1:42:41 PM: buildbot version: 2b0f40952f9d7ae48d3a1e6f3cb5615369d40788
1:42:42 PM: Fetching cached dependencies
1:42:42 PM: Starting to download cache of 403.5MB
1:42:47 PM: Finished downloading cache in 4.975012923s
1:42:47 PM: Starting to extract cache
1:43:02 PM: Finished extracting cache in 15.115060552s
1:43:02 PM: Finished fetching cache in 20.192442139s
1:43:02 PM: Starting to prepare the repo for build
1:43:03 PM: Preparing Git Reference refs/heads/fix/bundle-size
1:43:04 PM: Parsing package.json dependencies
1:43:05 PM: Starting build script
1:43:05 PM: Installing dependencies
1:43:05 PM: Python version set to 2.7
1:43:05 PM: Started restoring cached node version
1:43:08 PM: Finished restoring cached node version
1:43:09 PM: v14.17.3 is already installed.
1:43:10 PM: Now using node v14.17.3 (npm v6.14.13)
1:43:10 PM: Started restoring cached build plugins
1:43:10 PM: Finished restoring cached build plugins
1:43:10 PM: Attempting ruby version 2.7.1, read from environment
1:43:10 PM: Started restoring cached ruby version
1:43:10 PM: Finished restoring cached ruby version
1:43:12 PM: Using ruby version 2.7.1
1:43:13 PM: Using PHP version 5.6
1:43:13 PM: Started restoring cached yarn cache
1:43:20 PM: Finished restoring cached yarn cache
1:43:21 PM: No yarn workspaces detected
1:43:21 PM: Started restoring cached node modules
1:43:21 PM: Finished restoring cached node modules
1:43:21 PM: Installing NPM modules using Yarn version 1.22.4
1:43:22 PM: yarn install v1.22.4
1:43:22 PM: [1/4] Resolving packages...
1:43:22 PM: success Already up-to-date.
1:43:22 PM: $ husky install
1:43:22 PM: husky - Git hooks installed
1:43:22 PM: Done in 0.55s.
1:43:22 PM: NPM modules installed using Yarn
1:43:22 PM: Started restoring cached go cache
1:43:22 PM: Finished restoring cached go cache
1:43:22 PM: go version go1.14.4 linux/amd64
1:43:22 PM: go version go1.14.4 linux/amd64
1:43:22 PM: Installing missing commands
1:43:22 PM: Verify run directory
1:43:23 PM:
1:43:23 PM: ────────────────────────────────────────────────────────────────
1:43:23 PM:   Netlify Build
1:43:23 PM: ────────────────────────────────────────────────────────────────
1:43:23 PM:
1:43:23 PM: ❯ Version
1:43:23 PM:   @netlify/build 17.9.2
1:43:23 PM:
1:43:23 PM: ❯ Flags
1:43:23 PM:   baseRelDir: true
1:43:23 PM:   deployId: 6112ba906c15340007bea895
1:43:23 PM:
1:43:23 PM: ❯ Current directory
1:43:23 PM:   /opt/build/repo
1:43:23 PM:
1:43:23 PM: ❯ Config file
1:43:23 PM:   /opt/build/repo/netlify.toml
1:43:23 PM:
1:43:23 PM: ❯ Context
1:43:23 PM:   production
1:43:23 PM:
1:43:23 PM: ❯ Loading plugins
1:43:23 PM:    -<EMAIL_ADDRESS>from netlify.toml
1:43:24 PM:
1:43:24 PM: ────────────────────────────────────────────────────────────────
1:43:24 PM:   1. onPreBuild command from @netlify/plugin-nextjs
1:43:24 PM: ────────────────────────────────────────────────────────────────
1:43:24 PM:
1:43:24 PM: Using Next.js 11.0.1
1:43:24 PM: info  - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
1:43:25 PM: Next.js cache restored.
1:43:25 PM:
1:43:25 PM: (@netlify/plugin-nextjs onPreBuild completed in 1.6s)
1:43:25 PM:
1:43:25 PM: ────────────────────────────────────────────────────────────────
1:43:25 PM:   2. build.command from netlify.toml
1:43:25 PM: ────────────────────────────────────────────────────────────────
1:43:25 PM:
1:43:25 PM: $ yarn build
1:43:25 PM: yarn run v1.22.4
1:43:26 PM: $ next build
1:43:27 PM: info  - Using webpack 5.  Copying files...
1:46:16 PM: ** Running Next on Netlify package **
1:46:16 PM: 🚀 Next on Netlify 🚀
1:46:16 PM: 🌍 Copying public folder to /opt/build/repo/out
1:46:16 PM: 💼 Copying static NextJS assets to /opt/build/repo/out
1:46:16 PM: 💫 Setting up API endpoints as Netlify Functions in /opt/build/repo/netlify/functions
1:46:16 PM: 💫 Setting up pages with getInitialProps as Netlify Functions in /opt/build/repo/netlify/functions
1:46:16 PM: 💫 Setting up pages with getServerSideProps as Netlify Functions in /opt/build/repo/netlify/functions
1:46:16 PM: 🔥 Copying pre-rendered pages with getStaticProps and JSON data to /opt/build/repo/out
1:46:16 PM: 💫 Setting up pages with getStaticProps and fallback: true as Netlify Functions in /opt/build/repo/netlify/functions
1:46:16 PM: 💫 Setting up pages with getStaticProps and revalidation interval as Netlify Functions in /opt/build/repo/netlify/functions
1:46:16 PM: 🔥 Copying pre-rendered pages without props to /opt/build/repo/out
1:46:16 PM: Building 27 pages
1:46:16 PM: 🔀 Setting up redirects
1:46:16 PM: 🔀 Setting up headers
1:46:16 PM: ✅ Success! All done!
1:46:16 PM:
1:46:16 PM: (@netlify/plugin-nextjs onBuild completed in 358ms)
1:46:16 PM:
1:46:16 PM: ────────────────────────────────────────────────────────────────
1:46:16 PM:   4. Functions bundling
1:46:16 PM: ────────────────────────────────────────────────────────────────
1:46:16 PM:
1:46:17 PM: Packaging Functions from netlify/functions directory:
1:46:17 PM:  - next_404/next_404.js
1:46:17 PM:  - next_asset_id/next_asset_id.js
1:46:17 PM:  - next_auction_id/next_auction_id.js
1:46:17 PM:  - next_auctions/next_auctions.js
1:46:17 PM:  - next_collection_name/next_collection_name.js
1:46:17 PM:  - next_create/next_create.js
1:46:17 PM:  - next_createdrop/next_createdrop.js
1:46:17 PM:  - next_customize/next_customize.js
1:46:17 PM:  - next_customize_collection/next_customize_collection.js
1:46:17 PM:  - next_customize_collection_colName/next_customize_collection_colName.js
1:46:17 PM:  - next_customize_collection_colName_schema/next_customize_collection_colName_schema.js
1:46:17 PM:  - next_customize_collection_colName_schema_schemaName/next_customize_collection_colName_schema_schemaName.js
1:46:17 PM:  - next_customize_collection_colName_schema_schemaName_mint/next_customize_collection_colName_schema_schemaName_mint.js
1:46:17 PM:  - next_customize_collection_colName_schema_schemaName_template/next_customize_collection_colName_schema_schemaName_template.js
1:46:17 PM:  - next_drop_id/next_drop_id.js
1:46:17 PM:  - next_dropedit_id/next_dropedit_id.js
1:46:17 PM:  - next_image/next_image.js
1:46:17 PM:  - next_index/next_index.js
1:46:17 PM:  - next_marketplace/next_marketplace.js
1:46:17 PM:  - next_profile_id/next_profile_id.js
1:46:17 PM:  - next_ranking/next_ranking.js
1:46:17 PM:
1:51:12 PM:
1:51:12 PM: ❯ The following Node.js modules use dynamic expressions to include files:
1:51:12 PM:    - next-i18next
1:51:12 PM:
1:51:12 PM:   Because files included with dynamic expressions aren't bundled with your serverless functions by default,
  this may result in an error when invoking a function. To resolve this error, you can mark these Node.js
1:51:12 PM:   modules as external in the [functions] section of your `netlify.toml` configuration file:
1:51:12 PM:
1:51:12 PM:   [functions]
1:51:12 PM:     external_node_modules = ["next-i18next"]
1:51:12 PM:
1:51:12 PM:   Visit https://ntl.fyi/dynamic-imports for more information.
1:51:12 PM:
1:51:12 PM:
1:51:12 PM: (Functions bundling completed in 4m 55.9s)
1:51:12 PM:
1:51:12 PM: ────────────────────────────────────────────────────────────────
1:51:12 PM:   5. onPostBuild command from @netlify/plugin-nextjs
1:51:12 PM: ────────────────────────────────────────────────────────────────
1:51:12 PM:
1:51:13 PM: Next.js cache saved.
1:51:13 PM:
1:51:13 PM: (@netlify/plugin-nextjs onPostBuild completed in 595ms)
1:51:13 PM:
1:51:13 PM: ────────────────────────────────────────────────────────────────
1:51:13 PM:   6. Deploy site
1:51:13 PM: ────────────────────────────────────────────────────────────────
1:51:13 PM:
1:51:13 PM: Starting to deploy site from 'out'
1:51:16 PM: Creating deploy tree
1:51:16 PM: Creating deploy upload records
1:51:16 PM: 6 new files to upload
1:51:16 PM: 21 new functions to upload
1:51:32 PM: Site deploy was successfully initiated
1:51:32 PM:
1:51:32 PM: (Deploy site completed in 19s)
1:51:32 PM: Starting post processing
1:51:32 PM:
1:51:32 PM: ────────────────────────────────────────────────────────────────
1:51:32 PM:   Netlify Build Complete
1:51:32 PM: ────────────────────────────────────────────────────────────────
1:51:32 PM:
1:51:32 PM: (Netlify Build completed in 8m 9s)
1:51:32 PM: Post processing - HTML
1:51:32 PM: Caching artifacts
1:51:32 PM: Started saving node modules
1:51:32 PM: Finished saving node modules
1:51:32 PM: Started saving build plugins
1:51:32 PM: Post processing - header rules
1:51:32 PM: Finished saving build plugins
1:51:32 PM: Started saving yarn cache
1:51:33 PM: Post processing - redirect rules
1:51:33 PM: Post processing done
1:51:33 PM: Site is live ✨
1:51:41 PM: Finished saving yarn cache
1:51:41 PM: Started saving pip cache
1:51:42 PM: Finished saving pip cache
1:51:42 PM: Started saving emacs cask dependencies
1:51:42 PM: Finished saving emacs cask dependencies
1:51:42 PM: Started saving maven dependencies
1:51:42 PM: Finished saving maven dependencies
1:51:42 PM: Started saving boot dependencies
1:51:42 PM: Finished saving boot dependencies
1:51:42 PM: Started saving rust rustup cache
1:51:42 PM: Finished saving rust rustup cache
1:51:42 PM: Started saving go dependencies
1:51:42 PM: Finished saving go dependencies
1:51:42 PM: Build script success
1:52:58 PM: Finished processing build request in 10m16.965824994s

next.config.js:
const withPlugins = require("next-compose-plugins");
const { withSentryConfig } = require("@sentry/nextjs");
const withAntdLess = require("next-plugin-antd-less");
const libtheme = require("./libtheme");
const { i18n } = require("./next-i18next.config");

const withBundleAnalyzer = require("@next/bundle-analyzer")({
	enabled: process.env.ANALYZE === "true",
});

const SentryWebpackPluginOptions = {
	dryRun: true,
	silent: true,
};

const nextConfig = {
	target: "experimental-serverless-trace",
	reactStrictMode: true,
	poweredByHeader: false,
	productionBrowserSourceMaps: false,
	reactStrictMode: true,
	poweredByHeader: false,
	images: {
		deviceSizes: [300, 640, 750, 828, 1080, 1200, 1920, 2048, 3840],
		imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
		domains: [ ... ],
	},
	eslint: {
		ignoreDuringBuilds: true,
	},
	i18n,
};

const plugins = [
	withBundleAnalyzer,
	[withAntdLess, { modifyVars: libtheme }],
	[
		withSentryConfig,
		{
			sentry: {
				disableServerWebpackPlugin: true,
				disableClientWebpackPlugin: true,
			},
			publicRuntimeConfig: {
				dns: process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN,
			},
			SentryWebpackPluginOptions,
		},
	],
];

module.exports = withPlugins([...plugins], nextConfig);

next-i18next.config.js
/* eslint-disable no-undef */
module.exports = {
	i18n: {
		defaultLocale: "en",
		locales: ["en"],
		ns: ["common"],
		defaultNS: "common",
	},
};

Versions

Next.js:
plugin (if installed at fixed version):

"next": "^11.0.1",
"next-compose-plugins": "^2.2.1",
"next-i18next": "^8.5.5",

If you're using the CLI to build

OS: [e.g. macOS, Windows] - MacOS
netlify/cli version: nops

If you're using file-based installation

netlify.toml:

[build]
  command   = "yarn build"
  publish   = "out"

[[plugins]]
  package   = "@netlify/plugin-nextjs"

[functions]
  node_bundler = "esbuild"
	external_node_modules = ["next", "@ampproject/toolbox-optimizer", "sharp"]

oh… Even when I put, the line bellow at netlify.toml I get same errror:
1:51:12 PM:   [functions]
1:51:12 PM:     external_node_modules = ["next-i18next"]

Maybe it is related with: https://github.com/netlify/netlify-plugin-nextjs/issues/223

@tgmarinho hey! i think it is definitely the same issue as #223. are you using serverSideTranslations as well as the user that posted 223? you might want to pass your config directly to that function (see my comment here https://github.com/netlify/netlify-plugin-nextjs/issues/223#issuecomment-832977548). you can also try to use the toml functions config included_files (see docs here https://docs.netlify.com/configure-builds/file-based-configuration/#functions) to make sure your next-i18next config is included. for ex:
[functions]

included_files = ["{/path/to/next-i18next-config}"]

if you cant figure it out with these suggestions, providing a repo that i could fiddle with myself would probably be our best bet for guaranteeing it works smoothly. let me know!

Hey @lindsaylevine thank you, I tried this:
[build]
  command = "yarn build"
  publish   = "out"

[[plugins]]
  package   = "@netlify/plugin-nextjs"

[functions]
  node_bundler = "esbuild"
	external_node_modules = ["next", "@ampproject/toolbox-optimizer", "sharp", "next-i18next"]
  included_files = ["public/locales/en/*.json", "/var/task/next-i18next.config.js"]

And I'm getting this error:

The app is big, I don't know right now with some code is breaking the rules of the hooks, localhost is working and Heroku also, netlify not yet.

hey! remove next from external_node_modules and that should fix your issue. (i assume you added that per recommendation of build logs, and we're working to correct that now in the CLI)

@lindsaylevine I removed this, keeping this way:
[build]
  command = "yarn build"
  publish   = "out"

[[plugins]]
  package   = "@netlify/plugin-nextjs"

[functions]
  node_bundler = "esbuild"
	external_node_modules = ["@ampproject/toolbox-optimizer", "sharp", "next-i18next"]
  included_files = ["public/locales/en/*.json", "/var/task/next-i18next.config.js"]

But not work yet.
I'll remove netlify/plugin-nextjs just to update to 3.9.0.
[[plugins]]
  package   = "@netlify/plugin-nextjs"

I receive this suggestion from log:
10:41:17 AM: ❯ The following Node.js modules use dynamic expressions to include files:
10:41:17 AM:    - next
10:41:17 AM:    - @ampproject/toolbox-optimizer
10:41:17 AM:
10:41:17 AM:   Because files included with dynamic expressions aren't bundled with your serverless functions by default,
  this may result in an error when invoking a function. To resolve this error, you can mark these Node.js
10:41:17 AM:   modules as external in the [functions] section of your `netlify.toml` configuration file:
10:41:17 AM:
10:41:17 AM:   [functions]
10:41:17 AM:     external_node_modules = ["next", "@ampproject/toolbox-optimizer"]
10:41:17 AM:
10:41:17 AM:   Visit https://ntl.fyi/dynamic-imports for more information.
10:41:17 AM:

what about if you remove next-i18next from external_node_modules? @tgmarinho

🚀🙏❤🙏💻🧑🚀🧑💻🥳🎈🎉🎊🎊🎊🎉🎉🎉🎈💃💃💃🥳🥳🥳🙏
Finally, it works @lindsaylevine thank you for your support!
[build]
  command = "yarn build"
  publish   = "out"

[functions]
  node_bundler = "esbuild"
	external_node_modules = ["@ampproject/toolbox-optimizer", "sharp"]
  included_files = ["public/locales/en/*.json", "/var/task/next-i18next.config.js"]

yay!!!!! let us know if you run into any other issues!

I also experience this error message and have no clue at all what to do...
4:09:56 PM: info  - Collecting page data...
4:10:00 PM: info  - Generating static pages (0/11)
4:10:00 PM: info  - Generating static pages (2/11)
4:10:00 PM: info  - Generating static pages (5/11)
4:10:00 PM: Unhandled error during request: Error: Cannot find module '/opt/build/repo/next-i18next.config.js'
4:10:00 PM:     at webpackEmptyContext (/opt/build/repo/.next/serverless/pages/index.js:11:10)
4:10:00 PM:     at /opt/build/repo/.next/serverless/chunks/16.js:22811:72 {
4:10:00 PM:   code: 'MODULE_NOT_FOUND'
4:10:00 PM: }

and this suggested configuration does not change anything
build]
  command = "npm run build"
  publish = "out"

[[plugins]]
  package = "@netlify/plugin-nextjs"

[functions]
  included_files = ["public/locales/en/*.json", "public/locales/de/*.json", "/var/task/next-i18next.config.js"]

@ibqn you should try the beta! https://github.com/netlify/netlify-plugin-nextjs/discussions/706


Google Gemini Plugin

Adds a plugin for Google Vertex AI (specifically Gemini).

Google API oddities:

At least with inlineData, you can only interact with Gemini Pro Vision for a single "turn." If you have a chat conversation of length > 1, and any of those messages have an image, you get a 400 error.
The API spec says that you can only use inlineData for a single image. Otherwise, you have to upload to GCS. I'm guessing that this restriction is even tighter, based on the bullet point above.

For reference, here's a graph that causes Gemini Pro Vision to fail.

Remote debugging seems to work. I couldn't get local npm modules to work, so the test was pretty janky. Will test once this is published.
Google auth seems to work. At a minimum, setting the app default credentials json file to a bogus file made it stop working... Probably worth asking people whether they're able to get it working once we publish this.
GCS storage is still not done, but I think it would be best to add this in a subsequent PR. For now, Gemini is fully usable in text-only mode, and vision is usable with some restrictions.

@abrenneke - I'd love to get your review on this! I think it's worth getting a release out for it.


Added footer

fixes #16

why you are changing server.js and packge.json no need to change it

and sorry for trouble make pr on <16-suggestions-footer> branch

other than that footer looks good

There is no change in server or index.js I have only updated the packages and some adjust some spacing no changes are there which may effect the working

There is no change in server or index.js I have only updated the packages and some adjust some spacing no changes are there which may effect the working

ok please make pr on <16-suggestions-footer> branch


pretty printer

First draft for printing declarations
Debugged
Debugged
Progress
Implemented prettyPrint for Facts
Created prettyPrint for Query
first pass at prettyPrinter for Literal
Progress on Literal prettyPrinter
Progress on prettyPrint Literal
Updated argument prettyPrint
prettyPrint for Constraint
wildcard printing for Argument
debugging Program pattern matching
Wrote a test for Program prettyPrint

Closed in favor of #7


Add conferenceStatus event to the notification service RN+iOS

Add following events to the notification service:

conference status

Only RN and iOS work. Android to be done in separate ticket.

Implemented in 3.8.0 Beta 1


[Bug] CRUD table footer row looks different then header row

So here's Backpack v5, both header table row and footer table row look identical:

But then in Backpack v6, even in CoreUIv2, those DO NOT look the same:

They should both look like the header row.

@promatik I remember you fixed this in Tabler... but I see it's a problem in CoreUIv2 and CoreUIv4 too...
Maybe the problem was upstream, in some ListOperation HTML? And we should fix it there?

Fix for this one here; https://github.com/Laravel-Backpack/CRUD/pull/5225


Build Anaconda packages

Coverage remained the same at 99.632% when pulling 9e992adba03cf0db08c0499b4f791bc0b5341fbf on jan-janssen:master into 37ad92655da7dc31d3cd55ffab304ea2a0d68a72 on cdgriffith:master.

Maybe submitting the package to conda forge is the better idea: https://github.com/conda-forge/staged-recipes/pull/5508
I am just wondering who should be the maintainer of the package:
https://github.com/jan-janssen/staged-recipes/tree/box
9. What does being a conda-forge feedstock maintainer entail?
The maintainers "job" is to:

keep the feedstock updated by merging eventual maintenance PRs from conda-forge's bots;
keep the package updated by bumping the version whenever there is a new release;
answer eventual question about the package on the feedstock issue tracker.

Sorry I didn't respond earlier, thought I did but then saw this was still open, wooops.
Thank you for taking care of adding it to conda! I am assuming for every update the maintainer has to do another PR and update their code?


Improve the search feature

The search feature of the KulturPass is, to put it friendly, off. For example, when I search for "Kino am Olympiasee München" (link to search) in the app, the app displays these results:

These search results are basically useless, due to the amount of books that are related to the words "Kino", "am", "Olympiasee" & "München". Only by using the "Kino" filter, we can get a useful search result (link to search with filter).
But still, the actual Kino am Olympiasee in Munich (link to website ) can't be found. I confirmed that the cinema actually participates by writing them a mail, and I got the feedback that they are part of it. I can't find their offerings anywhere on your platform.
Don't get me wrong, this could be a one-off problem here, but there are more and more examples out there (just search for "Kino München" and wonder why you get results for cinemas in Berlin), so this is not a support request but rather an enhancement request to improve the search feature.

Another example. The Süddeutsche Zeitung (SZ) is reporting that I can visit the "Pinakothek der Moderne" & "Alte Pinakothek" in Munich with the KulturPass, but I can't find them via the in-app search feature. So either the SZ is just reporting wrong things or the search is just really bad.
I think this is also related to #12.

@thomasaugsten Any update on this? The situation hasn't really improved.

Thank you for your positive feedback on our adjustments. Unfortunately, we currently have no available development resources for further improvements. We hope that we will be able to optimize the function in the future.

Latest update really improved the search! Considering this as solved.


Local policy exceptions dosen't work..

Hi Team,
so I have installed npm with openappsec (docker), which is locally managed and tried to write some custom rules with the help of exceptions policies, I also refered the official document refer, below is the local_policy.yml I have wrote.
policies:
  default:
    triggers:
      - appsec-default-log-trigger
    mode: inactive
    practices:
      - webapp-default-practice
    custom-response: appsec-default-web-user-response
    exceptions:
      - appsec-rules
  specific-rules:
    - host: some.stage
      name: npm-managed-specific-rule-proxyhost-1
      triggers:
        - npm-managed-log-trigger-proxyhost-1
      mode: detect-learn
      practices:
        - npm-managed-practice-proxyhost-1
      exceptions:
      - appsec-rules
    - host: some2.stage
      name: npm-managed-specific-rule-proxyhost-2
      triggers:
        - npm-managed-log-trigger-proxyhost-2
      mode: detect-learn
      practices:
        - npm-managed-practice-proxyhost-2
      exceptions:
      - appsec-rules
    - host: some3.stage
      name: npm-managed-specific-rule-proxyhost-3
      triggers:
        - npm-managed-log-trigger-proxyhost-3
      mode: detect-learn
      practices:
        - npm-managed-practice-proxyhost-3
      exceptions:
      - appsec-rules
    - host: some4.prod
      name: npm-managed-specific-rule-proxyhost-4
      triggers:
        - npm-managed-log-trigger-proxyhost-4
      exceptions:
      - appsec-rules
      mode: detect-learn
      practices:
        - npm-managed-practice-proxyhost-4
      exceptions:
      - appsec-rules
    - host: some5.prod
      name: npm-managed-specific-rule-proxyhost-5
      triggers:
        - npm-managed-log-trigger-proxyhost-5
      mode: detect-learn
      practices:
        - npm-managed-practice-proxyhost-5
      exceptions:
      - appsec-rules
practices:
  - name: webapp-default-practice
    web-attacks:
      max-body-size-kb: 1000000
      max-header-size-bytes: 102400
      max-object-depth: 40
      max-url-size-bytes: 32768
      minimum-confidence: high
      override-mode: inactive
      protections:
        csrf-protection: inactive
        error-disclosure: inactive
        non-valid-http-methods: false
        open-redirect: inactive
    anti-bot:
      injected-URIs: []
      validated-URIs: []
      override-mode: inactive
    snort-signatures:
      configmap: []
      override-mode: inactive
    openapi-schema-validation:
      configmap: []
      override-mode: inactive
  - name: npm-managed-practice-proxyhost-3
    web-attacks:
      max-body-size-kb: 1000000
      max-header-size-bytes: 102400
      max-object-depth: 40
      max-url-size-bytes: 32768
      minimum-confidence: high
      override-mode: detect-learn
      protections:
        csrf-protection: inactive
        error-disclosure: inactive
        non-valid-http-methods: false
        open-redirect: inactive
    anti-bot:
      injected-URIs: []
      validated-URIs: []
      override-mode: inactive
    snort-signatures:
      configmap: []
      override-mode: inactive
    openapi-schema-validation:
      configmap: []
      override-mode: inactive
  - name: npm-managed-practice-proxyhost-4
    web-attacks:
      max-body-size-kb: 1000000
      max-header-size-bytes: 102400
      max-object-depth: 40
      max-url-size-bytes: 32768
      minimum-confidence: high
      override-mode: detect-learn
      protections:
        csrf-protection: inactive
        error-disclosure: inactive
        non-valid-http-methods: false
        open-redirect: inactive
    anti-bot:
      injected-URIs: []
      validated-URIs: []
      override-mode: inactive
    snort-signatures:
      configmap: []
      override-mode: inactive
    openapi-schema-validation:
      configmap: []
      override-mode: inactive
  - name: npm-managed-practice-proxyhost-1
    web-attacks:
      max-body-size-kb: 1000000
      max-header-size-bytes: 102400
      max-object-depth: 40
      max-url-size-bytes: 32768
      minimum-confidence: high
      override-mode: detect-learn
      protections:
        csrf-protection: inactive
        error-disclosure: inactive
        non-valid-http-methods: false
        open-redirect: inactive
    anti-bot:
      injected-URIs: []
      validated-URIs: []
      override-mode: inactive
    snort-signatures:
      configmap: []
      override-mode: inactive
    openapi-schema-validation:
      configmap: []
      override-mode: inactive
  - name: npm-managed-practice-proxyhost-2
    web-attacks:
      max-body-size-kb: 1000000
      max-header-size-bytes: 102400
      max-object-depth: 40
      max-url-size-bytes: 32768
      minimum-confidence: high
      override-mode: detect-learn
      protections:
        csrf-protection: inactive
        error-disclosure: inactive
        non-valid-http-methods: false
        open-redirect: inactive
    anti-bot:
      injected-URIs: []
      validated-URIs: []
      override-mode: inactive
    snort-signatures:
      configmap: []
      override-mode: inactive
    openapi-schema-validation:
      configmap: []
      override-mode: inactive
  - name: npm-managed-practice-proxyhost-5
    web-attacks:
      max-body-size-kb: 1000000
      max-header-size-bytes: 102400
      max-object-depth: 40
      max-url-size-bytes: 32768
      minimum-confidence: high
      override-mode: detect-learn
      protections:
        csrf-protection: inactive
        error-disclosure: inactive
        non-valid-http-methods: false
        open-redirect: inactive
    anti-bot:
      injected-URIs: []
      validated-URIs: []
      override-mode: inactive
    snort-signatures:
      configmap: []
      override-mode: inactive
    openapi-schema-validation:
      configmap: []
      override-mode: inactive
log-triggers:
  - name: appsec-default-log-trigger
    access-control-logging:
      allow-events: false
      drop-events: true
    additional-suspicious-events-logging:
      enabled: true
      minimum-severity: high
      response-body: false
      response-code: true
    appsec-logging:
      all-web-requests: false
      detect-events: true
      prevent-events: true
    extended-logging:
      http-headers: false
      request-body: false
      url-path: true
      url-query: true
    log-destination:
      cloud: false
      stdout:
        format: json
  - name: npm-managed-log-trigger-proxyhost-3
    access-control-logging:
      allow-events: false
      drop-events: true
    additional-suspicious-events-logging:
      enabled: true
      minimum-severity: high
      response-body: false
      response-code: true
    appsec-logging:
      all-web-requests: false
      detect-events: true
      prevent-events: true
    extended-logging:
      http-headers: false
      request-body: false
      url-path: true
      url-query: true
    log-destination:
      cloud: false
      stdout:
        format: json
  - name: npm-managed-log-trigger-proxyhost-4
    access-control-logging:
      allow-events: false
      drop-events: true
    additional-suspicious-events-logging:
      enabled: true
      minimum-severity: high
      response-body: false
      response-code: true
    appsec-logging:
      all-web-requests: false
      detect-events: true
      prevent-events: true
    extended-logging:
      http-headers: false
      request-body: false
      url-path: true
      url-query: true
    log-destination:
      cloud: false
      stdout:
        format: json
  - name: npm-managed-log-trigger-proxyhost-1
    access-control-logging:
      allow-events: false
      drop-events: true
    additional-suspicious-events-logging:
      enabled: true
      minimum-severity: high
      response-body: false
      response-code: true
    appsec-logging:
      all-web-requests: false
      detect-events: true
      prevent-events: true
    extended-logging:
      http-headers: false
      request-body: false
      url-path: true
      url-query: true
    log-destination:
      cloud: false
      stdout:
        format: json
  - name: npm-managed-log-trigger-proxyhost-2
    access-control-logging:
      allow-events: false
      drop-events: true
    additional-suspicious-events-logging:
      enabled: true
      minimum-severity: high
      response-body: false
      response-code: true
    appsec-logging:
      all-web-requests: false
      detect-events: true
      prevent-events: true
    extended-logging:
      http-headers: false
      request-body: false
      url-path: true
      url-query: true
    log-destination:
      cloud: false
      stdout:
        format: json
  - name: npm-managed-log-trigger-proxyhost-5
    access-control-logging:
      allow-events: false
      drop-events: true
    additional-suspicious-events-logging:
      enabled: true
      minimum-severity: high
      response-body: false
      response-code: true
    appsec-logging:
      all-web-requests: false
      detect-events: true
      prevent-events: true
    extended-logging:
      http-headers: false
      request-body: false
      url-path: true
      url-query: true
    log-destination:
      cloud: false
      stdout:
        format: json
custom-responses:
  - name: appsec-default-web-user-response
    mode: response-code-only
    http-response-code: 403
exceptions:
  - name: appsec-rules
  -  action: drop
    comment: This is an example exception comment
    sourceIdentifier:
    - <IP_ADDRESS>
    sourceIp:
    - <IP_ADDRESS>

I tried open-appsec-ctl -ap, to apply the policy and when I did open-appsec-ctl -vp i can see the changes that i did, but the policy does not work as intented

Hi @git-SwitchBlade,
Could you please attach the following file from the agent container /etc/cp/conf/waap/waap.policy?
The only issue I can see in the file you've attached is a space before the action, could you please remove it and wait a few minutes for the new policy to be applied.

Yaa sure,
{"WAAP":{"WebAPISecurity":[],"WebApplicationSecurity":[{"context":"Any(All(Any(EqualHost(some.stage)),EqualListeningPort(80)),All(Any(EqualHost(some.stage)),EqualListeningPort(443)))","webAttackMitigation":true,"webAttackMitigationSeverity":"Transparent","webAttackMitigationAction":"Transparent","webAttackMitigationMode":"Learn","practiceAdvancedConfig":{"httpHeaderMaxSize":102400,"httpIllegalMethodsAllowed":0,"httpRequestBodyMaxSize":1000000,"jsonMaxObjectDepth":40,"urlMaxSize":32768},"csrfProtection":"Disabled","openRedirect":"Disabled","errorDisclosure":"Disabled","practiceId":"48b9b761-bfce-46ff-be5e-fb17d99ec306","practiceName":"local_policy/npm-managed-practice-proxyhost-2","assetId":"some.stage","assetName":"some.stage","ruleId":"some.stage","ruleName":"some.stage","schemaValidation":false,"schemaValidation_v2":"Disabled","oas":[],"triggers":[{"$triggerType":"log","id":"f4ba2607-9638-4137-a5d1-346960425cd9","name":"local_policy/npm-managed-log-trigger-proxyhost-2","log":{"context":"triggerId(f4ba2607-9638-4137-a5d1-346960425cd9)","triggerName":"local_policy/npm-managed-log-trigger-proxyhost-2","triggerType":"log","verbosity":"Standard","acAllow":false,"acDrop":true,"complianceViolations":false,"complianceWarnings":false,"extendloggingMinSeverity":"high","extendlogging":true,"logToAgent":true,"logToCef":false,"logToCloud":false,"logToK8sService":false,"logToSyslog":false,"responseBody":false,"responseCode":false,"tpDetect":true,"tpPrevent":true,"webBody":false,"webHeaders":false,"webRequests":false,"webUrlPath":true,"webUrlQuery":true,"urlForSyslog":":514","urlForCef":":0","formatLoggingOutput":false}}],"applicationUrls":"some.stage","overrides":[],"trustedSources":[{"id":"330c84ba-37e5-489a-ad1f-14b2bf62f424","name":"","numOfSources":0,"sourcesIdentifiers":[],"parameterType":"TrustedSource"}],"waapParameters":[],"botProtection":false,"antiBot":{"injected":[],"validated":[]},"botProtection_v2":"Detect"},{"context":"Any(All(Any(EqualHost(some.prod)),EqualListeningPort(80)),All(Any(EqualHost(some.prod)),EqualListeningPort(443)))","webAttackMitigation":true,"webAttackMitigationSeverity":"Transparent","webAttackMitigationAction":"Transparent","webAttackMitigationMode":"Learn","practiceAdvancedConfig":{"httpHeaderMaxSize":102400,"httpIllegalMethodsAllowed":0,"httpRequestBodyMaxSize":1000000,"jsonMaxObjectDepth":40,"urlMaxSize":32768},"csrfProtection":"Disabled","openRedirect":"Disabled","errorDisclosure":"Disabled","practiceId":"1f3f5787-54bf-46dc-ad55-7764e11d8df3","practiceName":"local_policy/npm-managed-practice-proxyhost-5","assetId":"some.prod","assetName":"some.prod","ruleId":"some.prod","ruleName":"some.prod","schemaValidation":false,"schemaValidation_v2":"Disabled","oas":[],"triggers":[{"$triggerType":"log","id":"affb332c-595b-430d-8338-4076e470f2c9","name":"local_policy/npm-managed-log-trigger-proxyhost-5","log":{"context":"triggerId(affb332c-595b-430d-8338-4076e470f2c9)","triggerName":"local_policy/npm-managed-log-trigger-proxyhost-5","triggerType":"log","verbosity":"Standard","acAllow":false,"acDrop":true,"complianceViolations":false,"complianceWarnings":false,"extendloggingMinSeverity":"high","extendlogging":true,"logToAgent":true,"logToCef":false,"logToCloud":false,"logToK8sService":false,"logToSyslog":false,"responseBody":false,"responseCode":false,"tpDetect":true,"tpPrevent":true,"webBody":false,"webHeaders":false,"webRequests":false,"webUrlPath":true,"webUrlQuery":true,"urlForSyslog":":514","urlForCef":":0","formatLoggingOutput":false}}],"applicationUrls":"some.prod","overrides":[],"trustedSources":[{"id":"e960d274-67a8-44f7-9ac3-9012e7174e68","name":"","numOfSources":0,"sourcesIdentifiers":[],"parameterType":"TrustedSource"}],"waapParameters":[],"botProtection":false,"antiBot":{"injected":[],"validated":[]},"botProtection_v2":"Detect"},{"context":"Any(All(Any(EqualHost(some2.stage)),EqualListeningPort(80)),All(Any(EqualHost(some2.stage)),EqualListeningPort(443)))","webAttackMitigation":true,"webAttackMitigationSeverity":"Transparent","webAttackMitigationAction":"Transparent","webAttackMitigationMode":"Learn","practiceAdvancedConfig":{"httpHeaderMaxSize":102400,"httpIllegalMethodsAllowed":0,"httpRequestBodyMaxSize":1000000,"jsonMaxObjectDepth":40,"urlMaxSize":32768},"csrfProtection":"Disabled","openRedirect":"Disabled","errorDisclosure":"Disabled","practiceId":"91aee152-1497-4bde-aad8-f94d388c4bbf","practiceName":"local_policy/npm-managed-practice-proxyhost-3","assetId":"some2.stage","assetName":"some2.stage","ruleId":"some2.stage","ruleName":"some2.stage","schemaValidation":false,"schemaValidation_v2":"Disabled","oas":[],"triggers":[{"$triggerType":"log","id":"ce3cfe96-d542-4007-934c-84c67fbd7265","name":"local_policy/npm-managed-log-trigger-proxyhost-3","log":{"context":"triggerId(ce3cfe96-d542-4007-934c-84c67fbd7265)","triggerName":"local_policy/npm-managed-log-trigger-proxyhost-3","triggerType":"log","verbosity":"Standard","acAllow":false,"acDrop":true,"complianceViolations":false,"complianceWarnings":false,"extendloggingMinSeverity":"high","extendlogging":true,"logToAgent":true,"logToCef":false,"logToCloud":false,"logToK8sService":false,"logToSyslog":false,"responseBody":false,"responseCode":false,"tpDetect":true,"tpPrevent":true,"webBody":false,"webHeaders":false,"webRequests":false,"webUrlPath":true,"webUrlQuery":true,"urlForSyslog":":514","urlForCef":":0","formatLoggingOutput":false}}],"applicationUrls":"some2.stage","overrides":[],"trustedSources":[{"id":"4e284204-c28a-4777-80c4-660483536e9f","name":"","numOfSources":0,"sourcesIdentifiers":[],"parameterType":"TrustedSource"}],"waapParameters":[],"botProtection":false,"antiBot":{"injected":[],"validated":[]},"botProtection_v2":"Detect"},{"context":"Any(All(Any(EqualHost(some2.prod)),EqualListeningPort(80)),All(Any(EqualHost(some2.prod)),EqualListeningPort(443)))","webAttackMitigation":true,"webAttackMitigationSeverity":"Transparent","webAttackMitigationAction":"Transparent","webAttackMitigationMode":"Learn","practiceAdvancedConfig":{"httpHeaderMaxSize":102400,"httpIllegalMethodsAllowed":0,"httpRequestBodyMaxSize":1000000,"jsonMaxObjectDepth":40,"urlMaxSize":32768},"csrfProtection":"Disabled","openRedirect":"Disabled","errorDisclosure":"Disabled","practiceId":"011df24f-d512-4c26-b04b-ed92ccf2a297","practiceName":"local_policy/npm-managed-practice-proxyhost-4","assetId":"some2.prod","assetName":"some2.prod","ruleId":"some2.prod","ruleName":"some2.prod","schemaValidation":false,"schemaValidation_v2":"Disabled","oas":[],"triggers":[{"$triggerType":"log","id":"780a699b-3a9a-4564-92e2-e5adc4ec2ee5","name":"local_policy/npm-managed-log-trigger-proxyhost-4","log":{"context":"triggerId(780a699b-3a9a-4564-92e2-e5adc4ec2ee5)","triggerName":"local_policy/npm-managed-log-trigger-proxyhost-4","triggerType":"log","verbosity":"Standard","acAllow":false,"acDrop":true,"complianceViolations":false,"complianceWarnings":false,"extendloggingMinSeverity":"high","extendlogging":true,"logToAgent":true,"logToCef":false,"logToCloud":false,"logToK8sService":false,"logToSyslog":false,"responseBody":false,"responseCode":false,"tpDetect":true,"tpPrevent":true,"webBody":false,"webHeaders":false,"webRequests":false,"webUrlPath":true,"webUrlQuery":true,"urlForSyslog":":514","urlForCef":":0","formatLoggingOutput":false}}],"applicationUrls":"some2.prod","overrides":[],"trustedSources":[{"id":"65a30004-313b-4459-a416-0dd97feac31f","name":"","numOfSources":0,"sourcesIdentifiers":[],"parameterType":"TrustedSource"}],"waapParameters":[],"botProtection":false,"antiBot":{"injected":[],"validated":[]},"botProtection_v2":"Detect"},{"context":"Any(All(Any(EqualHost(some3.stage)),EqualListeningPort(80)),All(Any(EqualHost(some3.stage)),EqualListeningPort(443)))","webAttackMitigation":true,"webAttackMitigationSeverity":"Transparent","webAttackMitigationAction":"Transparent","webAttackMitigationMode":"Learn","practiceAdvancedConfig":{"httpHeaderMaxSize":102400,"httpIllegalMethodsAllowed":0,"httpRequestBodyMaxSize":1000000,"jsonMaxObjectDepth":40,"urlMaxSize":32768},"csrfProtection":"Disabled","openRedirect":"Disabled","errorDisclosure":"Disabled","practiceId":"b86ba918-619d-4412-8486-a8809c6dc68c","practiceName":"local_policy/npm-managed-practice-proxyhost-1","assetId":"some3.stage","assetName":"some3.stage","ruleId":"some3.stage","ruleName":"some3.stage","schemaValidation":false,"schemaValidation_v2":"Disabled","oas":[],"triggers":[{"$triggerType":"log","id":"ad03ff26-3791-4699-bdd5-08dce3d78139","name":"local_policy/npm-managed-log-trigger-proxyhost-1","log":{"context":"triggerId(ad03ff26-3791-4699-bdd5-08dce3d78139)","triggerName":"local_policy/npm-managed-log-trigger-proxyhost-1","triggerType":"log","verbosity":"Standard","acAllow":false,"acDrop":true,"complianceViolations":false,"complianceWarnings":false,"extendloggingMinSeverity":"high","extendlogging":true,"logToAgent":true,"logToCef":false,"logToCloud":false,"logToK8sService":false,"logToSyslog":false,"responseBody":false,"responseCode":false,"tpDetect":true,"tpPrevent":true,"webBody":false,"webHeaders":false,"webRequests":false,"webUrlPath":true,"webUrlQuery":true,"urlForSyslog":":514","urlForCef":":0","formatLoggingOutput":false}}],"applicationUrls":"some3.stage","overrides":[],"trustedSources":[{"id":"6f545d84-0f9e-4bc8-b4a6-a19317c6312f","name":"","numOfSources":0,"sourcesIdentifiers":[],"parameterType":"TrustedSource"}],"waapParameters":[],"botProtection":false,"antiBot":{"injected":[],"validated":[]},"botProtection_v2":"Detect"},{"context":"All()","webAttackMitigation":false,"webAttackMitigationSeverity":"Transparent","webAttackMitigationAction":"Transparent","webAttackMitigationMode":"Disabled","practiceAdvancedConfig":{"httpHeaderMaxSize":102400,"httpIllegalMethodsAllowed":0,"httpRequestBodyMaxSize":1000000,"jsonMaxObjectDepth":40,"urlMaxSize":32768},"csrfProtection":"Disabled","openRedirect":"Disabled","errorDisclosure":"Disabled","practiceId":"050119f9-17c2-4273-a7b9-432df5c803ec","practiceName":"local_policy/webapp-default-practice","assetId":"Any","assetName":"Any","ruleId":"Any","ruleName":"Any","schemaValidation":false,"schemaValidation_v2":"Disabled","oas":[],"triggers":[{"$triggerType":"log","id":"9fe64649-1144-45c7-9d50-47341275b0c3","name":"local_policy/appsec-default-log-trigger","log":{"context":"triggerId(9fe64649-1144-45c7-9d50-47341275b0c3)","triggerName":"local_policy/appsec-default-log-trigger","triggerType":"log","verbosity":"Standard","acAllow":false,"acDrop":true,"complianceViolations":false,"complianceWarnings":false,"extendloggingMinSeverity":"high","extendlogging":true,"logToAgent":true,"logToCef":false,"logToCloud":false,"logToK8sService":false,"logToSyslog":false,"responseBody":false,"responseCode":false,"tpDetect":true,"tpPrevent":true,"webBody":false,"webHeaders":false,"webRequests":false,"webUrlPath":true,"webUrlQuery":true,"urlForSyslog":":514","urlForCef":":0","formatLoggingOutput":false}}],"applicationUrls":"http://*:*","overrides":[],"trustedSources":[{"id":"0d2f4af8-2823-47bc-9475-3d4146cf50c7","name":"","numOfSources":0,"sourcesIdentifiers":[],"parameterType":"TrustedSource"}],"waapParameters":[],"botProtection":false,"antiBot":{"injected":[],"validated":[]},"botProtection_v2":"Detect"}]}}

Hello @orianelou is there any update?

Hey mods,
Can any one help with my issue.

Hi,
issue is solved starting from latest release


[PE-D][Tester C] Invalid display of Index in result display [UI][Formatting]

Result display box showing invalid index. The index is likely refering to the index internally. However remark is saved correctly

Labels: severity.VeryLow type.FunctionalityBug
original: sk2001git/ped#6

error message need to show 1-based index. patients, doctors and appointment all got problem. check other commands to ensure this isnt an issue also

Same issue as #194


Copy Online Instance - Error ID3242

@WaelHamze
I'm currently attempting to copy an instance from Production to Sandbox and running into the following error.  The same configuration worked in an demo trial tenant.
Federated service at https://xxx.xxx.gov/adfs/services/trust/13/usernamemixed returned error: ID3242: The security token could not be authenticated or authorized.

Seems I was pointing to wrong api URL, my error is now:
Need a non-empty authority.

Added the Tenant ID to command, this further defines the error as:
ERROR REQUESTING Token FROM THE Authentication context
returns null and then ends in object reference exception.
I've added TLS1.2 statement as suggested by forum with no lock.

Added the Tenant ID to command, this further defines the error as:
ERROR REQUESTING Token FROM THE Authentication context
returns null and then ends in object reference exception.
I've added TLS1.2 statement as suggested by forum with no lock.

After using the government service provider, I'm getting this error with both the MSCRM tools and the PowerShell equivalent: Operation returned an invalid status code 'Forbidden'

@AK-RenegadeX I presume you are using the latest online management API right? Did you try to open a ticket with vendor?

Yes, I thought I was using the latest version but not sure how to validate.  I have sent an email to the vendor via the PowerShell Gallery.
Here is a screen shot of my pipeline.
--
Shane

On Apr 20, 2020, at 8:27 AM, WaelHamze<EMAIL_ADDRESS>wrote:
@AK-RenegadeX https://github.com/AK-RenegadeX I presume you are using the latest online management API right? Did you try to open a ticket with vendor?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/WaelHamze/xrm-ci-framework/issues/267#issuecomment-616664783, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHXAPZ46NEDENU6H7ES62ATRNRZYHANCNFSM4MCVKK2Q.

@AK-RenegadeX I presume you have managed to fix this?

Not yet but I believe it has something to do with the configuration of the Dynamics instances as they are in GCC and could be limited by the additional security restrictions.

On Jul 9, 2020, at 10:31 PM, WaelHamze<EMAIL_ADDRESS>wrote:
@AK-RenegadeX https://github.com/AK-RenegadeX I presume you have managed to fix this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/WaelHamze/xrm-ci-framework/issues/267#issuecomment-656508764, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHXAPZ6T5LHAGBKJGRZSZ3LR22YVTANCNFSM4MCVKK2Q.

@AK-RenegadeX I presume the account you are running this under is a Dynamics 365 Service Admin and has access to both of the instances?
Also is MFA enabled for this account?

Unfortunately the company that owns the instances doesn’t grant this privilege, I am using a System Administrator account to do the copy.

On Jul 12, 2020, at 10:30 PM, WaelHamze<EMAIL_ADDRESS>wrote:
@AK-RenegadeX https://github.com/AK-RenegadeX I presume the account you are running this under is a Dynamics 365 Service Admin and has access to both of the instances?
Also is MFA enabled for this account?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/WaelHamze/xrm-ci-framework/issues/267#issuecomment-657385409, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHXAPZ4PMNLRHUGGV4QCAULR3KSZJANCNFSM4MCVKK2Q.

@AK-RenegadeX can you able to perform a copy from the UI using the same acccount? https://docs.microsoft.com/en-us/power-platform/admin/copy-environment


navigationBar items dissapear on when using search

When the the user navigates back and forth trough the tableview but remains in the tableview demo the items in the navigationBar disappear when the search bar is tapped. As you can see before:

and after:

To recreate this situation do the following:

Open tableview demo
Click on first item
Navigate back
Press search bar and cancel it
See the magic happen.

I'm also experiencing this bug.

I have figured out a workaround for this bug.
Assuming you're having the same issue I am, where pushing and popping a new VC on the navigation controller and using the search bar can cause the navigation items to disappear, it's because the overlay view is added as a subview on top of itself and loses its original pointer.
I fixed it by moving the followScrollView method call from viewDidAppear to viewDidLoad.
Another option would be to add stopFollowingScrollView to viewDidDisappear.
Ideally, the library should prevent itself from adding multiple overlays to the same nav bar.

Ideally, the library should prevent itself from adding multiple overlays to the same nav bar.

Indeed. I'll fix it as soon as possible. Thanks for the feedback :+1:

Ok, I gave it some thought. There's one major thing missing in the sample's implementation, and I never thought about it... once the controller is deallocated, stopFollowingScrollView should be called. This way the previous overlay gets cleaned.
- (void)dealloc {
    [self stopFollowingScrollView];
}

This fixes the issue. I'll make sure to update the doc.
:+1:

Checkout commit 5a961cf with the updated sample.

@andreamazz Only the problem actually occurs in my application even when I'm haven't clicked on a row/view controller just solely when I click the search bar . So where should the stopFollowingScrollView method have to be called then?

Check these lines https://github.com/andreamazz/AMScrollingNavbar/blob/master/ScrollingNavbarDemo/ScrollingNavbarDemo/AMTableViewController.m#L70-L74

@andreamazz My view controller is exactly as the example, I already implemented the searchBarTextDidEndEditing method but it doesn't seem to work. Do you have any suggestions that might be the cause of this problem?

HI @lenkaiser it's hard to tell, can you reproduce by any chance the issue on the sample app provided with this repo?


Add erl_child_setup to shell spawning binaries in a container.

Example event:
Shell spawned in a container other than entrypoint (user=<NA> k8s_rabbitmq.af7a0ada_rabbitmq-1_data_XXX (id=YYY) shell=sh parent=erl_child_setup cmdline=sh -c exec /bin/sh -s unix:cmd)

Hey @mstemm. Did you have a chance to look into this?

Hi, sorry--I had confused this PR with #218, where I added erl_child_setup to the shell spawners list But not the shell in containers rule. Thanks! I'll merge now.

Thanks!


Add transform and tweak shadow on Card hover

Making hovering more identifiable using transform and additional shadow to avoid color change.
Close #1

LGTM, Thanks!


Moving projects to .NET Core SDK.

Codecov Report

Merging #12 into master will increase coverage by 4.88%.
The diff coverage is 87.68%.

@@            Coverage Diff            @@
##           master     #12      +/-   ##
=========================================
+ Coverage   73.82%   78.7%   +4.88%
=========================================
  Files         160     190      +30
  Lines       17321   19285    +1964
  Branches     1753    1845      +92
=========================================
+ Hits        12787   15179    +2392
+ Misses       4534    4106     -428

Impacted Files
Coverage Δ

...gScript.DbgEng/DbgEngDllHelpers/ProcessSwitcher.cs
100% <ø> (ø)

Source/CsDebugScript.Engine/Module.cs
89.56% <ø> (-1.57%)
:arrow_down:

...CsDebugScript.DbgEng/DebuggerOutputToTextWriter.cs
100% <ø> (ø)

Source/CsDebugScript.Engine/StackFrame.cs
70.8% <ø> (+1.11%)
:arrow_up:

...pt.DbgEng/DbgEngDllHelpers/DbgEngSymbolProvider.cs
79.49% <ø> (ø)

Source/CsDebugScript.Scripting/ObjectWriter.cs
100% <ø> (ø)

...DebugScript.CodeGen/SymbolProviders/SymbolField.cs
100% <ø> (ø)
:arrow_up:

...DbgEng/DbgEngDllHelpers/OutputCallbacksSwitcher.cs
100% <ø> (ø)

Source/CsDebugScript.UI/InteractiveCodeEditor.cs
93.68% <ø> (ø)

Source/CsDebugScript.Engine/StackTrace.cs
60% <ø> (-21.25%)
:arrow_down:

... and 165 more

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 0109804...07de2d8. Read the comment docs.


add cetacean.club

You're certificate is erraneous (points the wrong domain) since a while so I remove the URL from the list. Please reapply after fixing, if you want the domain on the list.


Article status (read/unread) doesn't sync with Miniflux

Newsboat version 2.26.0:
Hi, recently I started using Miniflux and I chose newsboat as the alternative front-end.
The problem is that when I mark an article as read in Newsboat, it still remains unread on the Miniflux server (when I access Miniflux from a mobile app or through the web front-end, the articles I've read in newsboat show up as unread).
These are the config parameters I use to connect to the server:
urls-source "miniflux"
miniflux-url "https://feeds.example.com"
miniflux-login "user"
miniflux-password "password"

Am I doing something wrong or is this feature not available in newsboat?
Thanks in advance!

My bad.
I did "Mark all as read" in newsboat and it turned out that the articles that still showed up as unread on Miniflux's web front-end were not in newsboat because these were old articles which were over the max articles number I had set in newsboat.


How did you calculate the final result?

Thanks for your repo, I am reproducing your code, I have trained the model successfully,

But how did I can calculate the result in in your report, will I use outs.npy and trgs.npy ? Can you provide code for this:

Just the mean of highest val_accuracy in every folds.