[JS][Proposal] Streamlined Generation APIs

This is a proposed breaking change API for Genkit to streamline the most common scenarios while keeping the flexibility and capability level constant. The changes can be broken down into three components:

Encouraging default model configurations
Streamlining generation to return data directly instead of returning a wrapping response
Separating out multi-turn and single-turn use cases

Default Model Configurations
While one of the strengths of Genkit is the ability to easily swap between multiple models, we find in practice that most people use a single model as their "go-to" with other models swapped in as needed. The same goes for model configuration -- most of the time you're going to want the same settings.
Proposed is to encourage setting a default model (now just called model) when initializing Genkit as well as the ability to define model settings when instantiating a reference to a model.
import { genkit } from "genkit";
import { vertexAI } from "@genkit-ai/vertexAI";

const ai = genkit({
  plugins: [vertexAI()],
  // sets a default model with configuration
  model: vertexAI.geminiModel('gemini-1.5-flash', {safetySettings: [...]});
});

const claude = vertexAI.anthropicModel('claude-3.5-sonnet', {...claudeSettings});

Both model and configuration can still be overridden at call time, but this makes it easier to set a common reusable baseline.
Streamlining Generation
Most of the time, what you want from a generate() call is the data that is being generated. Today this requires a two-line "get response, get output from response" pattern which gets tedious when working with e.g. multi-step processes.
Proposed is to simplify to a generate API that will return text or structured data depending on call configuration:
const jokeText = await ai.generate("Tell a funny joke.");

const fakePerson = await ai.generate({
  prompt: "Generate the information for an imaginary person named Annaka",
  schema: z.object({name: z.string(), job: z.string(), hobbies: z.array(z.string())}),
});

This can get more complex if you want it to:
const jokeAdvanced = await ai.generate({
  model: gpt,
  config: {...},
  prompt: {role: "user", content: [{text: "Tell a funny joke."}],
});

When developers do want to dig into the metadata of the response, they can use a new generateResponse method which will be equivalent to generate today.
const jokeResponse = await ai.generateResponse("Tell a funny joke.");
console.log(jokeResponse.text());
console.log(jokeResponse.stopReason);

Streaming will be supported through streamGenerate and streamGenerateResponse. When doing streamGenerate, the chunks emitted will be in output form (either a partial data response or a string chunk):
const {stream, data} = ai.streamGenerate("Tell a really long joke with at least 5 paragraphs.");

for await (const chunk of stream) {
  console.log(chunk); // chunk is just a string
}

console.log(await data); // this is the full result, equiavalent to `generate()`

const {stream, response} = ai.streamGenerateResponse(...);
for await (const chunk of stream) {
  console.log(chunk.text()); // chunk is a Chunk instance
}

console.log((await response).usage);

Multi-Turn Generation
All of the above is great if you only have a single turn generation, but it doesn't really help for a chatbot scenario. Fundamentally multi-turn use cases are pretty different and deserve better attention in the API surface.
Proposed is a new Chat class and a new send() method that lets you explicitly opt-in to multi-turn conversational use cases.
const chat = ai.chat({
  system: "You are a pirate.",
});

const response = await chat.send("How are you today?");
console.log(reply);
// "Yarr, not too bad, matey. How be ye?"
const {stream, data} = await chat.streamSend("Tell me a long story, ye scurvy sea dog!");
chat.messages(); // equivalent to `toHistory()` in current Genkit

I generally like it - but a few questions:

Streaming with generateX

streamGenerate() today is generateStream(). Do to mean to change that, or just an oversight? Otherwise:
ai.streamGenerate() --> ai.generateStream()
ai.stremGenerateResponse() --> ai.generateResponseStream()

Streaming for multi-turn generation

How do you get a streamed response from ai.send()?
If we're being consistent with generate(), then it would be ai.sendStream() .

Arguments for ai.send

Does ai.send accept the same arguments as ai.generateResponse()? Does it return the same response object?
If so, what's the difference between the two?

Generate API
Let's go over a few potential options for the generate APIs. Do you have a favorite?
On a related note, it's not clear to me why result.text() and result.toHistory() are functions rather than attributes like result.text and result.history.
Option 1
const output = ai.generate({ ... }); // where output is just the text or data output
const response = ai.generateResponse({ ... }); // where response has { text/data, messages, usage, stopReason }

const { stream, output } = ai.generateStream({ ... });
const { stream, response } = ai.generateStream({ ... });

const text = ai.generate({ ... });
console.long(text);

const response = ai.generateResponse({ ... });
console.long(response.text());

Option 2
const { text, messages, usage, stopReason } = ai.generateText({ ... });
const { data, messages, usage, stopReason } = ai.generateData({ ... });

const { stream, text, messages, usage, stopReason } = ai.streamText({ ... });
const { stream, data, messages, usage, stopReason } = ai.streamData({ ... });

const { text } = ai.generateText({ ... });
console.long(text);

Option 3
Change if it returns text or structured data based on if a schema is provided.
const { text, messages, usage, stopReason } = ai.generate({ ... });
const { data, messages, usage, stopReason } = ai.generate({ ... });

const { stream, text, messages, usage, stopReason } = ai.generateStream({ ... });
const { stream, data, messages, usage, stopReason } = ai.generateStream({ ... });

const { text } = ai.generate({ ... });
console.long(text);

Chat API
I think it would be valuable to not have too many separate, but highly overlapping APIs like generate and send. That way we can have much more succinct documentation and a smaller surface to maintain.
How about something like this?
const agent = ai.agent({
  system: "You are a pirate.",
  // messages: ...
  // tools: [ ... ]
  // stateStore: ...
});

const reply = await agent.generate("How are you today?");
console.log(reply);
// "Yarr, not too bad, matey. How be ye?"

const {stream, text} = await agent.generateStream("Tell me a long story, ye scurvy sea dog!");
agent.messages(); // equivalent to `toHistory()` in current Genkit

I think destructuring is probably what I'm leaning toward at the moment since it provides the best balance between "one-liner friendly" and "can still get at metadata". I didn't realize that destructuring class instance properties works just fine, so this doesn't really even need to be a big refactor...I think we just make some of the stuff that is a method today into a getter property instead.
// for single-turn, use generate
const {text} = await ai.generate("Tell me a story.");
const {data} = await ai.generate({
  prompt: "Generate a fake person.",
  output: {schema: z.object({name: z.string(), age: z.number()}}
});

// for single-turn streaming, use generateStream
const {stream} = await ai.generateStream("Tell me a long story");
for await (const {text} of stream) {
  console.log(text);
}

For multi-turn...still thinking but maybe we can collapse everything into Session...
const session = ai.session();
let {text} = session.generate("What's your name?");
// "My name is Bobot."
{text} = session.generate("That's a funny name.");
// "It's the only one I have."

// for single-turn, use generate
const {text} = await ai.generate("Tell me a story.");
const {data} = await ai.generate({
  prompt: "Generate a fake person.",
  output: {schema: z.object({name: z.string(), age: z.number()}}
});

// for single-turn streaming, use generateStream
const {stream} = await ai.generateStream("Tell me a long story");
for await (const {text} of stream) {
  console.log(text);
}

I like this. Does a generate call return both data and text regardless of if output conformance is used, or does the return types change?


Make "Data Quality" column on Table schema page optional to hide

We don't have any use for "Data Quality" column on table schema page (for now). We might also have actual DQ issues which we are (for the time being) communicating through other channels and hence don't want to set expectation that OM is source of truth. In order to not confuse our customers, we only want to show them relevant information.
Requesting to make DQ column optional to hide.

+1

@Sachin-chaurasiya can you do a test on this? If the user doesn't have view permission on data quality the tab shouldn't be visible and we shouldn't be making an API call


request: option to upgrade to 1400 (and downgrade to 1200)

button option to upgrade to 1400. same for 1200 but checks for things like TREATAS, IN{}, detail row expressions etc. before executing.

This is now possible in 2.11.0.

Thanks! Should this be a dropdown menu for selection? As it stands now, people can enter compatibility levels that are invalid.


Adding VueJS Attributes

Hi,
I am trying to add VueJS attributes like v-on and v-model using hte attribute() but sadly it's not working....

had a typo -.-


Question - Is it possible to catch the API error that can occur after the message is sent?

I'm specifically asking about cases such as this (the one thing I'm looking for is feedback to users when things go wrong and their message doesn't get through):
verb discordListener: username Bob
sill discordListener: message { body: '*Bob*\nI\'m keen for a couple of Ho-Oh raids if we can get numbers up today. Not at campus yet but will be in half an hour.',
sill discordListener: message   attachment: [] }
verb discordListener: threads [ '1640815462627203' ]
verb discordListener Sent message on Messenger
WARN parseAndCheckLogin Got status code 500 - 1. attempt to retry in 1996 milliseconds...
ERR! sendMessage Error: parseAndCheckLogin got status code: 404. Bailing out of trying to parse response.
ERR! sendMessage     at /usr/lib/node_modules/miscord/node_modules/facebook-chat-api/utils.js:1042:15

... other standard 404 error ... ending with
ERR! sendMessage     at Promise._settlePromiseAt (/usr/lib/node_modules/miscord/node_modules/bluebird/js/main/promise.js:584:18)
ERR! sendMessage     at Async._drainQueue (/usr/lib/node_modules/miscord/node_modules/bluebird/js/main/async.js:128:12)
ERR! sendMessage     at Async._drainQueues (/usr/lib/node_modules/miscord/node_modules/bluebird/js/main/async.js:133:10)
ERR! sendMessage     at Immediate.Async.drainQueues (/usr/lib/node_modules/miscord/node_modules/bluebird/js/main/async.js:15:14)
ERR! sendMessage     at runCallback (timers.js:810:20)
ERR! sendMessage     at tryOnImmediate (timers.js:768:5)
ERR! sendMessage     at processImmediate [as _immediateCallback] (timers.js:745:5)
verb messengerListener Got Messenger event, type: message
info messengerListener Got a Messenger message

(I can go back and get the full log).

If it doesn't crash, then it's not sent to Miscord and displayed only by facebook-chat-api, so... probably not.

Ok yes I was thinking that might be the case - I guess it would need some changes to the API to get something like that?

p.s. just linking this here for reference: https://github.com/Schmavery/facebook-chat-api/issues/655
as this is the error.

https://github.com/Schmavery/facebook-chat-api/blob/61ddf3ce02767ac5c04f93232567cc7e67fb1afe/src/sendMessage.js#L171
apparently it's being sent in the callback...

I always thought the callback should catch it but it never seems to trigger, hence why I was asking as I could never seem to understand why it wasn't. I may monitor it some more to try and work it out.

Closing due to inactivity.

Hi, so I think I am seeing the error messages ok, at least when I see the error message in the channel I can match it to the message that caused an error. It may have been edits that made to the code that was causing the non-pass through before.
This leads me back to ask if there is any way there could be an optional feature such that if an error is raised in the send message in Discord listener, it would notify the Discord user who sent the message? As currently they have no idea that the message didn't make it.


took out injection for adapter and instatiated in the bluetoothplatfo…

…rm constructor.

@skraynick I added a comment, with that change, it is save to merge


No matching distribution found for scann

I try to install scann using pip install scann, it give me the following error:
ERROR: Could not find a version that satisfies the requirement scann (from versions: none)
ERROR: No matching distribution found for scann
Here is package version in my env:
tensorflow=2.6.0
tensorflow recommender=v0.5.2
tensorflow dataset=4.4.0
It can install the scann on Colab and I used the same env in my local computer, BUT it did not work. Any suggestions are appreciated.

Same here! I got the same error message, but my backend is Pytorch 3.7.

Found any solutions ?

same issue for me

it says ScaNN supports Linux environments running Python versions 3.6-3.9
I found it works on docker with python 3.6-3.9

that's good to hear @kim-sardine - can you be more specific about which version works for you?  3.8.7 not working for me:
❯ python
Python 3.8.7 (default, Feb  3 2021, 17:06:40)
[Clang 12.0.0 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
❯ pip install scann
ERROR: Could not find a version that satisfies the requirement scann (from versions: none)
ERROR: No matching distribution found for scann

or you mean you've tried with all versions between 3.6 and 3.9 and they all work?

Try:
export SYSTEM_VERSION_COMPAT=1

and then proceed

thanks @XiaoConstantine - however that does not appear to have helped:
. /opt/anaconda3/bin/activate && conda activate /opt/anaconda3;
❯ . /opt/anaconda3/bin/activate && conda activate /opt/anaconda3;
❯ export SYSTEM_VERSION_COMPAT=1
❯ pip install scann
ERROR: Could not find a version that satisfies the requirement scann (from versions: none)
ERROR: No matching distribution found for scann

here are the current versions I have:
tensorflow                         2.4.1
tensorflow-datasets                4.4.0
tensorflow-estimator               2.4.0
tensorflow-hub                     0.12.0
tensorflow-metadata                0.29.0
tensorflow-recommenders            0.5.1

@tansaku I see, here's what I suggest you try:
Reinstall<EMAIL_ADDRESS>note: python version need to be greater than 3.8.10
brew reinstall<EMAIL_ADDRESS>
(if you use homebrew, you should end up with 3.8.12)
Make sure your virtual env/any kind of env management system use python3.8.12 as your virtualenv python interpreter and then pip install scann
reference: https://bugs.python.org/issue41100

python 3.9.7 - April 16, 2022 still got this issue
pip install -q scann
ERROR: Could not find a version that satisfies the requirement scann (from versions: none)
ERROR: No matching distribution found for scann

have you every check pip version?
I tried upgrade and solved it
pip install -U pip

Same with me

Same, any workaround?

Same here with

Python 3.9.13
pip-22.2.2
tensorflow==2.9.2
tensorflow-recommenders==0.7.0

❯ pip install scann
ERROR: Could not find a version that satisfies the requirement scann (from versions: none)
ERROR: No matching distribution found for scann

😢

yup, same here

I'm facing the same problem. Does anyone have a solution?

Same problem. Python 3.9.12

There's no binary distribution for macos, if you need scann on mac, feel free to try out instructions in this PR: https://github.com/google-research/google-research/pull/830 (Build from source on mac), once you finished all the steps, you are good to go.

Still having the issue...any solutions found??

Same issue, can't find a solution

Same issue. Python 3.8.5

Same issue here ! Cannot install scann on python3.8

No matching distribution found for scann==1.2.6 (from tflite-model-maker)
I have the same problem, can anyone help me?

I try to install scann using pip install scann, it give me the following error:
ERROR: Could not find a version that satisfies the requirement scann (from versions: none) ERROR: No matching distribution found for scann
Here is package version in my env:
tensorflow=2.6.0 tensorflow recommender=v0.5.2 tensorflow dataset=4.4.0
It can install the scann on Colab and I used the same env in my local computer, BUT it did not work. Any suggestions are appreciated.

Did you solve this problem?

scann works when you install it via wsl. It doesn't seem to have windows support atm

I've found a solution to install it manually. See: https://github.com/CompVis/latent-diffusion/issues/147#issuecomment-1279934409

This versions work perfectly for me:
Successfully installed flatbuffers-1.12 keras-2.9.0 scann-1.2.7 tensorboard-2.9.1 tensorflow-2.9.3 tensorflow-estimator-2.9.0
I uninstalled tensorflow-gpu and installed scann==1.2.7 via pip
My versions of Tensorflow Recommenders and Tensorflow Datasets are 0.7.0 and 4.7.0, respectively

I faced the same problem with  Python  from 3.7 and 3.8 , pip 19  the matter has something to do with pip ,the solution was to upgrade pip
pip install --upgrade pip

Hello. I am facing the same error message with pip install scann on my Windows 11.
ERROR: Could not find a version that satisfies the requirement scann (from versions: none)
ERROR: No matching distribution found for scann
Did anyone found a solution how to install properly scann for Windows? Thanks in advance!

Hi!
I have the same problem. I was trying to install scann as requirement for tflite-model-maker under enviroments with python 3.10, 3.19, 3.8 in windows 10.
I read that scann is a linux lib. Ok, I tried to install from my hosted linux server which doesnt many libraries installed. The result was exactly the as as in windows:
ERROR: Could not find a version that satisfies the requirement scann==1.2.6 (from versions: none)
ERROR: No matching distribution found for scann==1.2.6
I read that it works in WSL, great, I tried to install scann from a virtual env on Cygwin. Same result.
Bottom line: pip cannot fint scann netiher from Windows, Cygwin nor Linux server.
I dont know how to check if the lib is available, or maybe which kind of requirement do I need to install.
Any light to this poor lost soul?

Same issue in 2023 with python 3.7, 3.8, 3.9. Please help me I'm using Mac m1.
ERROR: Could not find a version that satisfies the requirement tensorflow-cpu==2.8.1 (from versions: none)
ERROR: No matching distribution found for tensorflow-cpu==2.8.1

Facing the same error on mac m1

Modern “software development” 😂
There is a solution to all your problems, boys...

Not sure why google like to push people away from their product. This issue let me spent lot of time for nothing just to install this om M1 chip :)

Not sure why google like to push people away from their product. This issue let me spent lot of time for nothing just to install this om M1 chip 👎

but, you did manager to install it on the m1?

@simondoesstuff
Unfortunately no, I gave up.

Hi I got same issue here on M1 chip.

same here

same issue on m1

same issue here

I had the same Scann install issue for inference testing (my TFRS+Scann model was not trained on M1), it can be solved by using docker. Start colima with the following options: colima start --arch x86_64 --cpu 4 --cpu-type "max" --memory 8. Then run the image with your model (see example here, replacing the TFServing image by the TF+Scann image): docker run --platform linux/amd64 -p 8501:8501 -t yourimage:yourtag.

same issue on m1. please provide support for mac.
ERROR: Could not find a version that satisfies the requirement scann (from versions: none) ERROR: No matching distribution found for scann

same issue with python version 3.10

2 years and no solution. thanks google!

If you on mac os you can try
 pip install git+https://github.com/google-research/google-research.git#subdirectory=scann

read this url: https://pypi.org/project/scann/1.3.1/   it seems that ScaNN only supports Linux environments running Python versions 3.9-3.12

That would mean you cannot use tflite-model-maker on windows? No way.

everything is wrong with this world :dancers:
build from old source?
python configure.py
CC=clang-17 bazel build -c opt --features=thin_lto --copt=-mavx --copt=-mfma --cxxopt="-std=c++17" --copt=-fsized-deallocation --copt=-w :build_pip_pkg
./bazel-bin/build_pip_pkg

Python 3.8.20；pip 24.3.1
Same problem. Has anyone solved it?

Python 3.8.20；pip 24.3.1 Same problem. Has anyone solved it?

I manually installed the newest version of scann using git
"""
pip install git+https://github.com/google-research/google-research.git#subdirectory=scann
"""

Python 3.8.20；pip 24.3.1 Same problem. Has anyone solved it?

I manually installed the newest version of scann using git """ pip install git+https://github.com/google-research/google-research.git#subdirectory=scann """

does it work then?

does it work then?

I could install newer version of ScaNN, but it woudn't work.
So I installed python3.10, now I can newer version of it.
I added Dockerfile and requirements.txt
Dockerfile
FROM {BaseImage}

# Prerequisite
RUN apt update
RUN apt -y install software-properties-common
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt update

# Install python
RUN apt install -y python3.10 python3-pip

# Copy source code
WORKDIR /app

COPY requirements.txt .
RUN pip3 install --upgrade pip
RUN pip3 install --no-cache-dir -r requirements.txt

COPY src /app/src
ENV PYTHONPATH /app/src

requirements.txt
scann==1.3.0

awesome! thanks


Add a post-data report generation to cam-pipeline

This would run after kg.tsv has been generated, and generate some kind of report so we know the file was generated correctly. At the simplest, this could check the number of rows is approximately 11,336,863 (which is where it was on the last generation).
Some other stats that might be useful to track:

Predicates by count
Number of nodes with direct types
Number of nodes by Biolink type
Number of edges by types (e.g. how many biolink:Gene --[GO:1234]--> biolink:Protein edges we have)
Some example nodes and edges

The main use of this report would be to make sure that we don't make a change that gets rid of a particular type of edge. Once we add qualifiers (#145), we could add a qualifier report as well to see how much detail we're adding.
We could implement this as a Scala Script -- it should be straightforward to implement in ZStream.

Some of these things might be most efficient to calculate in the souffle script.


Geometrically weighted regression kriging

There is a proposal that I might be working on this. There is a lot out there on GWR using R, but I could only find one such in python. Let me know if you come across other GWR python packages. Depending on how pygwr fares, I might look at some R/python hybrid, or simply a R based solution.

Sounds interesting, it looks like there is a whole book on the topic by Fotheringham et al.
I didn't see any other python packages on the topic either

Depending on how pygwr fares

Well, it's released under GPL license and hasn't been maintained in a while (PY2 only etc)..


Refactor routing in extension

Currently the router.tsx file we have controlling all the routing of the extension is a bit out of sorts. This is due to many reasons, but mostly it's due to tech debt from days gone where we were handling this application as both a web app and extension. Since we are now only an extension, we can be smarter about how we are doing routing.
The biggest issue I have here is that every route is wrapped in this PopupContainer, but all routes share the same layout (mostly). Each time a route changes, this component is re-rendered in a way that isn't needed.
Additionally, the current routes file is a bit hard to grok by looking at it, and I think with a refactor it will be much cleaner, and probably prevent certain edge cases where there are blank screens.

@aulneau is this issue still relevant given recent refactor work?

All of the issues related to the routing refactor have been merged into dev. I am going to close this issue.


add expm_multiply functionality

System information

TensorFlow version (you are using): 2.0.0
Are you willing to contribute it (Yes/No): Yes, but I need help

Describe the feature and the current behavior/state.
It would be great to implement the equivalent of scipy.sparse.linalg.expm_multiply, so that one doesn't have to create a whole matrix exponential before multiplying it with a vector, and instead compute the result directly.
Will this change the current api? How?
It will add a new function
Who will benefit with this feature?
Those who need to use the matrix exponential on vectors
Any Other info.
See this paper  and this paper for the implementation

Do you have any use case that requires the feature you are interested in? Please feel free to submit a PR if you have use cases that supports that feature.

Yes, for example transformations of quantum states are given by applying the exponential of a matrix to a vector.

@ziofil,
Sorry for the delay. Can you please refer the documentation of tf.linalg.expm and let us know if this is what you are looking for? Thanks!

Apparently this is stale and closed, but I'd like to bring it up again here as the original issue didn't make it very clear why this is useful. It seems like if one has tf.linalg.expm that it is good enough since multiplying by a vector is then trivial. However
in practice one can calculate  exp(𝐴)𝑏  without first computing  exp(𝐴)  which is cheaper. This is what scipy.sparse.linalg.expm_multiply does, which implements the algorithm from [ref].
[ref] - A. H. Al-Mohy and N. J. Higham, Computing the Action of the Matrix Exponential, with an Application to Exponential Integrators, SIAM J. Sci. Comput., 32:488-511, 2011.
A quote from that paper
"Experimental comparisons with two Krylov-based MATLAB codes show the new algorithm to be sometimes much superior in terms of computational cost and accuracy. An important application of the algorithm is to exponential integrators for ordinary differential equations. It is shown that the sums of the form $\sum_{k=0}^p \varphi_k(A)u_k$ that arise in exponential integrators, where the $\varphi_k$ are related to the exponential function, can be expressed in terms of a single exponential of a matrix of dimension"


Add Prefect Docker deployments recipe

Description
This PR adds a recipe for using Docker with Prefect deployments. Notably, it covers how Docker images can be used as a storage layer.
Please check out the README for more information.
Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

New Recipe Checklist

[x] My PR is in the format of Add <project-name> recipe
[x] My recipe is reproducible and explains everything needed to run successfully. If my code has external dependencies, I make mention of them.
[x] My code is easily understandable and/or well-commented.
[x] If my recipe requires a new category (e.g. creating a monitoring/ folder in devops/), I have encapsulated my project within its own subfolder so that others can add their own recipes as well.
[x] If my recipe uses Prefect < 2.0, my code is within the prefect-v1-legacy/ folder.

Hi @EmilRex, thanks for your contribution to prefect-recipes! I added some small nit picky suggestions. Otherwise, testing your recipe locally worked flawlessly ✨

Hi @EmilRex, thanks for your contribution to prefect-recipes! I added some small nit picky suggestions. Otherwise, testing your recipe locally worked flawlessly ✨

Woohoo 🎉  Happy to hear that! Nit pick away!

@serinamarie Just realized I don't see the comments. Did you submit them already?

@serinamarie Just realized I don't see the comments. Did you submit them already?

I did submit them 🤔  I'll message you to set up a huddle for this.


Can I POST from a different location?

Can I configure the server set up through filepond-boilerplate-php to accept POST from locations other than _http://<IP_ADDRESS>/_?
I want to have my index.html file running at _http://localhost:8000/_ but POST to the server at _http://<IP_ADDRESS>/api/_ and I'm receiving this error
POST http://<IP_ADDRESS>/api/
net::ERR_FAILED
failed to load resource

at filepond.js:4850<EMAIL_ADDRESS>// let's send our data
   xhr.send(data);

Is there something I can change in the PHP config to make this work?
Thank you!
Grant

I think you could do so with url rewriting in .htaccess or by moving the files itself to a different folder.


update version

Hi,
when are you planning to update version and publish to npm? There are some important issues that we want and we can't take from npm, directly from github.
thx :)

Simply by updating the index to have this at the top would be a start:
import React from 'react';
var tweenState = require('react-tween-state')
import  {PanResponder, TouchableHighlight, StyleSheet, Text, View} from 'react-native';
var styles = require('./styles.js')

There is indeed a great need to update the npm package.

https://www.npmjs.com/package/react-native-swipe-out


Changing default allocation size in channel/mod.rs

I am creating a large dataflow graph with ~10000 nodes.  It works great, except that I noticed that the static memory footprint of the program (before I feed any data to it) keeps growing as the graph gets bigger.  I think it is currently in the order of a 100MB.  This does not sound too bad, but my application creates thousands of instances of the dataflow, at which point this overhead becomes significant, and in fact dominates the memory footprint of the program.  It appears that the main contributor are the buffers of size Message::default() (currently equal to 1024), pre-allocated for all channels.  Is there a way to change this default without forking the repo?

There is not, but we could certainly look in to something smarter. Do you have a repro that is easy to share, or another way on hand to assess what effect a change would have? The "natural" thing to do would be to start small and scale up by 2x to some limit, which I've coded up before but never had the examples to test the trade-offs.

I don't have a simple repro.  I'm just looking at the heap profile generated by massif. I am going to create a fork of timely and differential and play with different values of this constant to evaluate the memory/performance tradeoff.  I will share the findings here.

Some more thoughts there (trying out a new default is a good idea, btw):

The memory costs should be proportional to (the number of edges) and (the number of workers squared). In Naiad, we saw this as a problem because we were aimed at very high worker counts (because in the day, that was the exciting property to have). In the limit of increasing workers, having a per-(worker x worker) queue is not a great design; a better one would be to have one outbound queue per worker and then e.g. sort by destination worker.
Do you have increasing numbers of workers? Or pretty boring small numbers of workers?

If not sure what you mean by "thousands of instances of the dataflow", but my immediate reaction is that you might want to multiplex the thousand instances over a single dataflow, where the data are differentiated by a field/column indicating which of the thousand instances that record derives from. Joins and such should include this identifier column to avoid logical interference between instances. This would allow you to amortize the fixed costs of the dataflows across the thousand logical instances.
Does it seem likely that your thousands of logical instances could use the same physical dataflow, or was that wishful thinking / intentional mis-interpretation of your comment? :D

Thanks, @frankmcsherry !

Only one worker, but multiplied by thousands of instances.

Your interpretation is correct, we could definitely organize the whole thing as one dataflow with an extra field in each collection to identify the tenant the record belongs to. The main reason we're not doing that is scalability. Our app currently scales near-linearly with the number of cores, as dataflow instances run in a share-nothing fashion.  Note that partitioning dataflows in groups per-core wouldn't necessarily achieve the same due to unpredictable and bursty load patterns.

Security and simplicity are secondary reasons: as long as each tenant has their own dataflow, we don't have to worry about accidentally sending data across tenants, e.g., by forgetting to specify the tenant id field in a rule.  In fact, we are even considering running each dataflow instance in a separate process for added security.

I've so far only confirmed that reducing the parameter to 128 does reduce our memory footprint significantly (at least according to valgring --tool=massif).  I will do more experiments today.  What sort of performance impact would you expect this to have?
Also, regarding the plan to grow the buffer on-demand, I wonder if it should also shrink when unused to avoid gradually running out of memory over time.

The Naiad take on things was that when an operator was not in use it would de-allocate its send buffers. This is worse from a steady state operation point of view, but cuts the standing memory costs of inert dataflows. So, plausibly the buffers grow geometrically each time they fill, and then as part of flushing the channel are wholly de-allocated (starting the geometric growth from scratch the next time the operator is scheduled).
But, I need to look in to things and see which of these signals are clearest to send.

I did some more measurements.  I see no performance degradation with default buffer size 128. This is probably very specific to my use case that tends to deal with small batches of large objects. While an adaptive buffer size would be awesome, it looks like  the ability to set a fixed but user-defined buffer size through the API would do the trick for me. For the time being, I am using a private fork of the repo where I changed the constant to 128.


Sync on images

I replaced a image in nextcloud and one phone the larger image is synced and small one is still the original one and on the tablet no image will update while pressing the Sync arrow button.

As fab920 mentioned this will be probably fixed with his changes. Whenever i get around to review and merge them 🙈

Hopefully this will be fixed with the merged #77

Delivered with 0.7.5 Can you please check if this issue persists? And otherwise open the issue again!

Delivered with 0.7.5 Can you please check if this issue persists? And otherwise open the issue again!

Works for me. Would opt for a different loading indicator. I noticed that mainly in single few on the tablet. The big blue circle while the image is already loaded. Maybe  use the image from listing and replace it (like shops do for fast impression on replace it with a high-res afterwards)


Request: Extract only specific files form archive

Hi,
I have a scenario where I want to extract 1000 of zip archives, each having the same file structure and only interested in one specific file in each archive.
Is it possible that you would add such a feature, so it uses less cpu and memory?
Also it seems to me that this lib is quite a memory hog?
Thanks

Hi @JurekRaben, this is a very specific need and not one that is currently served by Zip. Sorry about that. If you have specific observation of high memory usage, PRs are welcome.


Subscription search (MA-10)

SonarQube analysis reported 14 issues

 1 critical
 4 major
 5 minor
 4 info

Watch the comments in this conversation to review them.
3 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L41: Remove this unused method parameter "userProfile".
 DefaultAppRequestBuilder.java#L29: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 DefaultAppRequestBuilder.java#L142: Complete the task associated to this TODO comment.

SonarQube analysis reported 20 issues

 1 critical
 7 major
 7 minor
 5 info

Watch the comments in this conversation to review them.
9 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L41: Remove this unused method parameter "userProfile".
 ApplicationRest.java#L51: Remove this useless assignment to local variable "callback".
 ApplicationRest.java#L52: This block of commented-out lines of code should be removed.
 ApplicationRest.java#L58: This block of commented-out lines of code should be removed.
 DefaultAppRequestBuilder.java#L29: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 ApplicationRest.java#L50: Rename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.
 ApplicationRest.java#L51: Remove this unused "callback" local variable.
 DefaultAppRequestBuilder.java#L142: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.

SonarQube analysis reported 20 issues

 1 critical
 7 major
 7 minor
 5 info

Watch the comments in this conversation to review them.
9 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L44: Remove this unused method parameter "userProfile".
 ApplicationRest.java#L51: Remove this useless assignment to local variable "callback".
 ApplicationRest.java#L52: This block of commented-out lines of code should be removed.
 ApplicationRest.java#L58: This block of commented-out lines of code should be removed.
 DefaultAppRequestBuilder.java#L31: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 ApplicationRest.java#L50: Rename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.
 ApplicationRest.java#L51: Remove this unused "callback" local variable.
 DefaultAppRequestBuilder.java#L145: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.

SonarQube analysis reported 18 issues

 1 critical
 5 major
 7 minor
 5 info

Watch the comments in this conversation to review them.
6 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L44: Remove this unused method parameter "userProfile".
 ApplicationRest.java#L47: Remove this useless assignment to local variable "callback".
 DefaultAppRequestBuilder.java#L31: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 ApplicationRest.java#L47: Remove this unused "callback" local variable.
 DefaultAppRequestBuilder.java#L145: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.

SonarQube analysis reported 18 issues

 1 critical
 5 major
 7 minor
 5 info

Watch the comments in this conversation to review them.
6 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L44: Remove this unused method parameter "userProfile".
 ApplicationRest.java#L47: Remove this useless assignment to local variable "callback".
 DefaultAppRequestBuilder.java#L31: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 ApplicationRest.java#L47: Remove this unused "callback" local variable.
 DefaultAppRequestBuilder.java#L145: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.

SonarQube analysis reported 18 issues

 1 critical
 5 major
 7 minor
 5 info

Watch the comments in this conversation to review them.
6 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L44: Remove this unused method parameter "userProfile".
 ApplicationRest.java#L47: Remove this useless assignment to local variable "callback".
 DefaultAppRequestBuilder.java#L31: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 ApplicationRest.java#L47: Remove this unused "callback" local variable.
 DefaultAppRequestBuilder.java#L145: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.

SonarQube analysis reported 18 issues

 5 major
 8 minor
 5 info

Watch the comments in this conversation to review them.
7 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L45: Remove this unused method parameter "userProfile".
 ApplicationRest.java#L47: Remove this useless assignment to local variable "callback".
 TaskList.java#L5: Remove this unused import 'java.util.Date'.
 DefaultAppRequestBuilder.java#L32: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 ApplicationRest.java#L47: Remove this unused "callback" local variable.
 DefaultAppRequestBuilder.java#L146: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.

SonarQube analysis reported 16 issues

 4 major
 7 minor
 5 info

Watch the comments in this conversation to review them.
5 extra issues
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 DefaultAppRequestBuilder.java#L45: Remove this unused method parameter "userProfile".
 TaskList.java#L5: Remove this unused import 'java.util.Date'.
 DefaultAppRequestBuilder.java#L32: Remove the declaration of thrown exception 'com.wso2telco.core.dbutils.exception.BusinessException', as it cannot be thrown from constructor's body.
 DefaultAppRequestBuilder.java#L146: Complete the task associated to this TODO comment.
 ApplicationRest.java#L41: Reduce the number of returns of this method 2, down to the maximum allowed 1.


feat: A new inline evaluating provider based on jsonlogic.com

This PR
This adds a new provider based on jsonlogic data format.
Related Issues

Refs https://github.com/open-feature/ofep/pull/57
Follow-up Tasks

Haven't yet done the "convert into a value" yet, but this is a reasonable start.
How to test

The tests run. Feel free to provide additional test case suggestions.

Hey @justinabrahms, thanks for putting this together. It's great to see new providers like this added to the contribs repo. I'll let @toddbaert and/or @Kavindu-Dodan handle the full review (I'm not a Java person) but the basics look good.
By the way, flagd extends JSON logic to support deterministic splits. If that's ever a requirement here, please consider using the same flag configuration and hash algorithm.
https://github.com/open-feature/flagd/blob/main/docs/configuration/fractional_evaluation.md

Could you add a src/ dir under the inline-evaluating-provider dir and put the source and test files there? I think as it stands this might cause some issues. I think it's actually what's causing some non-java-8 constructs to work in the CI, which is surprising to me.


NSString._fastContents: Remove use of deprecated UTF-16 String properties.

String._guts._isContiguousUTF16 is deprecated and always returns
false.

String._guts.startUTF16 is deprecated and aborts if called.

_fastContents will always return nil as Swift Strings do not store
UTF-16 data so no valid pointer can be returned, only nil. So hardcode
this method to return nil.

@swift-ci test linux

@swift-ci test linux


Geolocation Map on Dashboard

Hey love the dashboard, I was thinking it would be neat if it also had a geolocation map of the WAN IP's that are displayed

Good idea!  I added it to the dashboard's project: https://github.com/jnbarlow/monero-dashboard/issues/9
I'm glad you're enjoying the project! It was a fun exercise in 1) getting the blockchain off my desktop, and 2) giving back to Unraid :)


Stable download URL for Archi

Hello,
I am writing an installation script for Archi with Nix package manager (https://nixos.org/nixpkgs/).
I'm reopening #410 as the URL pattern for downloads has changed recently
From @Phillipus :

Having explained the reasons why the URLs change I have now however changed the URLs to use this prefix:
https://www.archimatetool.com/downloads/4.3.0/
This won't change now. I'll do the same for future releases:
https://www.archimatetool.com/downloads/4.3.1/
https://www.archimatetool.com/downloads/4.4.0/

Archi 4.6.0 does not follow this pattern, the URL is now https://www.archimatetool.com/downloads/75a43a6b4f295fe0f/Archi-Linux64-4.6.0.tgz
I'm trying to make installation of Archi simpler on Linux machines (and probably MacOs), and if this works I will add support for Archi plugins. Eclipse and its plugins are easily installable using Nix.
To keep track of downloads, consider using a CDN, and to motivate first-time users to engage with Archi community and donate, add a welcome screen to Archi.
Thanks,
Ludovic

I'll take a look at it.

add a welcome screen to Archi.

It has one.

You can use BinTray to host your binaries. It's free for opensource, and statistics are provided.
https://bintray.com/


Add feature to generate embeddable html string

I implemented Plotly::Plot#to_html method. It generates embeddable html string.
With this method, we can embed graphs in other web apps easily like this:
<h1> This is graph! </h1>

<%= @plot.to_html %>

Thanks!

Thanks!


Two Dotnet Core application in one workspace task.json

Cant run two projects using their own .dlls and .csproj. You can see the task.sjon and launch.json on contains inforamtion from the first project. So when running the second project its using the dll and cspoj of the first project

When creating the second project, you dont get a messgae saying it I would like  that folder to have the additonal configutation like the first time doing it.

example:
   "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            // If you have changed target frameworks, make sure to update the program path.
            "program": "${workspaceFolder}/tcode/projectone/bin/Debug/netcoreapp2.0/projectone.dll",
            "args": [],
            "cwd": "${workspaceFolder}/tcode/projectone",
            // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
            "console": "internalConsole",
            "stopAtEntry": false,
            "internalConsoleOptions": "openOnSessionStart"
        },

https://image.prntscr.com/image/0j7cqDHBQQauKnirsQ2_7A.png

VSCode Version: 1.2.2
OS Version: Windows 10

Steps to Reproduce:

Create two folder
For each folder, run command dotnet new console
once running one of the dot net project, it would ask if you would like the settings required which creates a modify/creates a launch.json and task.json
you will notice that the launch.json and task.json is using the information from the first task that ran...
You will also notice the second project will have no files in the bin/debug folder

Please close.
This is fixed in the latest version of .dotnet core!


Math:Number of Substrings With Only 1s in Javascript

https://leetcode.com/problems/number-of-substrings-with-only-1s/

Hey @akgmage Assign it to me


Remove unused secret

Removes unused TF-SECRET.
DO NOT MERGE UNTIL SECRET IS REMOVED FROM ALL WF REPOS

@alephnull @ermirizio this is laying around for a while, is this still relevant?


Wrong number of places mentioned in the hpt0.xml

The  says
<place num="3" type="cache"> <!-- 2 places with common L3 in each --> but it should actually be
<place num="2" type="cache"> <!-- 2 places with common L3 in each -->.

#31

Thanks @naman !


⚠ Bofrost.de has degraded performance

In 95f1bbf, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1056 ms

Resolved: Bofrost.de performance has improved in 0d48b1a.


Absences: Change suggestions to students without any notes rather than SST only

At some schools, folks have started changing the way they enter data in response to the insights box and absences dashboard, by entering notes as being part of an SST meeting even if they aren't.  They're doing this to make the "scoreboard" or "todolist" that Insights shows reflect the reality of the work they're doing to support students.
To improve this, we'll talk with folks in person and encourage them to accurately capture what's happening as a general rule.  And then place responsibility on us to make the "scoreboard" or "todolist" more accurate.  In this case, that means:

[x] Update absences insight box on the home page to use "any note" rather than SST (https://github.com/studentinsights/studentinsights/pull/1674)
[x] Update the absences dashboard to use "any note" rather than SST (https://github.com/studentinsights/studentinsights/pull/1898)

Closed with https://github.com/studentinsights/studentinsights/pull/1898.


auto generate timestamps

possibility to enable auto generation of timestamps like creationDate and lastUpdatedDate

I guess you'd integrate it with the @DateProperty decorator.

To still support custom DateTypes we would need to have the default constructor of the date class (or a provided function) to create such a timestamp.


GraphQL Device Query - Role filter issue

Environment

Python version: Not known using https://demo.nautobot.com/
Nautobot version: v1.0.0b1

Steps to Reproduce

Open Nautobot Demo on https://demo.nautobot.com/
Click GraphQL at the footer
Try to query for Devices where role = "Backbone" using the GraphQL query below:

{
  devices(role: "Backbone") {
    id,
    name
  }
}

Expected Behavior
Exected two see the two Backbone devices
{
  "data": {
    "devices": [
      {
        "id": "7b871f65-d4d5-4ab5-8fd5-211a8e093976",
        "name": "jcy-bb-01.infra.ntc.com"
      },
      {
        "id": "bfcd2323-5b32-4388-af61-05a7ed1404f7",
        "name": "nyc-bb-01.infra.ntc.com"
      }
    ]
  }
}

Observed Behavior
I am getting all the devices instead:
{
  "data": {
    "devices": [
      {
        "id": "60833d08-7bdd-4b40-a8c4-33c1984ccc90",
        "name": "ams-edge-01"
      },
      {
        "id": "c8886c88-6eff-4c4f-a079-4ef16b53d4f6",
        "name": "ams-edge-02"
      },
      {
        "id": "eee88e11-107f-4f19-b341-cbc6a61d7ab5",
        "name": "ams-leaf-01"
      },
      {
        "id": "fde5a607-4014-41c7-90bb-753dfc0f621c",
        "name": "ams-leaf-02"
      },
      {
        "id": "7815a8a8-ab8e-407a-a998-1f2ec961f06c",
        "name": "ams-leaf-03"
      },
      {
        "id": "8fa89044-c16f-497d-be85-03647a19433b",
        "name": "ams-leaf-04"
      },
      {
        "id": "6c71fd4f-15d8-4a6e-ae71-3fb82c809713",
        "name": "ams-leaf-05"
      },
      {
        "id": "a85ac1aa-094f-4de9-8ba6-16cb088a1b74",
        "name": "ams-leaf-06"
      },
      {
        "id": "7dc8d292-98fc-438e-b01e-962002ac5403",
        "name": "ams-leaf-07"
      }
     **** Omitted for brevity ****
    ]
  }
}

Further check
If I filter by role_id and use the id of the "Backbone" role it works:
Query:
{
  devices(role_id: "28f69768-f251-49ee-976e-41e190dfd672") {
    id,
    name
  }
}

The output is as expected:
{
  "data": {
    "devices": [
      {
        "id": "7b871f65-d4d5-4ab5-8fd5-211a8e093976",
        "name": "jcy-bb-01.infra.ntc.com"
      },
      {
        "id": "bfcd2323-5b32-4388-af61-05a7ed1404f7",
        "name": "nyc-bb-01.infra.ntc.com"
      }
    ]
  }
}

In this particular case, it appears that the devices.role filter is filtering on the Device.device_role.slug field and not the name field:
To illustrate this, I attempted a filter on Backbone and got the unfiltered results, which IMO is not the expected behavior if the filter parameter is incorrect. You'd think it would return no matches instead of all?
Query on Backbone:
{
  devices(role: "Backbone"){
    id
    name
    device_role {
      name
      slug
    }
  }
}

Result (first item only):
{
  "data": {
    "devices": [
      {
        "id": "60833d08-7bdd-4b40-a8c4-33c1984ccc90",
        "name": "ams-edge-01",
        "device_role": {
          "name": "edge",
          "slug": "edge"
        }
      },

Then I did it with backbone:
{
  devices(role: "backbone"){
    id
    name
    device_role {
      name
      slug
    }
  }
}

With this result, matching your expected results:
{
  "data": {
    "devices": [
      {
        "id": "7b871f65-d4d5-4ab5-8fd5-211a8e093976",
        "name": "jcy-bb-01.infra.ntc.com",
        "device_role": {
          "name": "Backbone",
          "slug": "backbone"
        }
      },
      {
        "id": "bfcd2323-5b32-4388-af61-05a7ed1404f7",
        "name": "nyc-bb-01.infra.ntc.com",
        "device_role": {
          "name": "Backbone",
          "slug": "backbone"
        }
      }
    ]
  }
}

Can you please confirm?

I can confirm the same.
If the filters are coming from here.
Upon further research based on your comment, it seems that this might be a known issue with MultipleChoice Filter where filtering is becoming a NOOP due to no choice being present (assuming incorrect filter choice == no filter). This is based on this documentation of the filter.

Similar issue: DjangoFilterConnectionField


(Proposal) feat: add ResourceAbilityRequestBuilder

Description
Doc is helpful, but what's even better? Having the available functions suggested to you directly in the IDE:

Usage:
import { ResourceAbilityRequestBuilder } from '@lit-protocol/auth-helpers';

const builder = new ResourceAbilityRequestBuilder();

builder
  .addPKPSigningRequest('*') // PKP Signing
  .addLitActionExecutionRequest('*') // Lit Action Execution
  .addAccessControlConditionSigningRequest('*') // ACC Signing
  .addAccessControlConditionDecryptionRequest('*') // ACC Decryption
  .addRateLimitIncreaseAuthRequest('*'); // RLI Authentication

const requests = builder.build();

Instead of:

import {
  LitPKPResource,
  LitActionResource,
  LitAccessControlConditionResource,
  LitAccessControlConditionResource,
  LitRLIResource
} from 'somewhere';
import { LitAbility } from 'somewhere-else';

const resources = [
  {
    resource: new LitPKPResource('123'),
    ability: LitAbility.PKPSigning,
  },
  {
    resource: new LitActionResource('456'),
    ability: LitAbility.LitActionExecution,
  },
  {
    resource: new LitAccessControlConditionResource('789'),
    ability: LitAbility.AccessControlConditionSigning,
  },
  {
    resource: new LitAccessControlConditionResource('abc'),
    ability: LitAbility.AccessControlConditionDecryption,
  },
  {
    resource: new LitRLIResource('def'),
    ability: LitAbility.RateLimitIncreaseAuth,
  },
]

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Unit Test
node 'node_modules/.bin/jest' './packages/auth-helpers/src/lib/recap/resource-builder.spec.ts' -c './packages/auth-helpers/jest.config.ts' -t 'ResourceAbilityRequestBuilder'

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
-[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

This is cool! could we add the example in the description as a jsdoc example?


Exclude jaxb-api from config-model-fat.

Multi-release jars not supported by maven-bundle-plugin yet.

Pulling this into another PR instead.


Integrate Mbed BSD socket implementation with CHIP Endpoints

Problem
CHIP Endpoints should support Mbed BSD socket
Proposed Solution
Integrate Mbed BSD sockets with CHIP endpoints. Add Mbed socket into Endpoints base class

Integration was done by adding a specific BSD socket functions. CHIP endpoints use them directly. No additional changes are required.


Retirement of API versions 2022-06-01-preview and 2022-11-01-preview?

This issue is a: (mark with an x)

[ ] bug report -> please search issues before submitting
[x] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
I received an email titled "Action required: Retirement of Azure Container Apps versions" in only one of my multiple subscriptions running Azure Container App (ACA).
// See the screenshot for the content of the email.
I checked the contents of the email, but there is no difference from ACA running in other subscriptions, so I don't know how to respond.
I have two questions:

Conditions for receiving this email
Any action that needs to be taken (e.g. Azure CLI update or SDK update in incoming code deploying ACA)

Steps to reproduce
Nothing in particular (an email from Microsoft Azure arrives)
ScreenShots

This was sent to subscriptions who our logs show had recently made management API calls using the retiring API versions. What do you use to manage your container apps (portal, CLI, Bicep, etc)?

@anthonychu,
I understand the conditions for receiving "Action required" emails.
Different units within a project use different tools to manage ACA.

Develop unit : Bicep
Operations unit : Azure CLI and Azure Portal

I recognize that this issue occurred because the unit and members were not properly updated and specified for each tool (API version).
This issue has been resolved, thank you.


Dock icon stops working after a while and shows question mark

OS:
macOS
Issue Descriptions:
Clicking on the dock icon does not work anymore after a while. It seems like the application can't be found.

Example screenshot taken seconds after closing the application and trying to open it again.
Steps to Reproduce:
When moving the app's icon to the dock and clicking it, the application opens up. However, when clicking the icon again after a while (e.g. after doing something else or closing the laptop), it shows a question mark and doesn't open up the application anymore. Seemingly it can't find it. Opening the app from the search and moving it to the dock again works.
edit: Seemingly this only happens when adding the icon to the dock through opening the app and then right-clicking it and choosing "Keep in dock". When adding it to the dock from the application directory or through search, it stays in the dock and clicking it opens the application with a new icon on the dock that disappears again when closing the application.

This normally indicates a filesystem issue or rarely a macOS bug.  I would suggest repairing your FS or just moving the application around and trying from different locations.
If the macOS dock can't find the application for some reason I'm not sure how that can be our fault.  If I'm wrong with this please comment below 👍

@MarshallOfSound You might be right. It might also be a problem with Electron? Could that be? I couldn't find anything about it, which is why I reported the issue here.

@calmandniceperson Looks like Hyper is working fine on your dock there so probably not an Electron issue 👍

Woops, meant to close in the first comment.  Will reopen if it can be determined to be our fault / something we can fix or if others start reporting the same thing.  For now calling it a dock issue not an us issue.


Update with major number instead of array access

Proposing to use the major number instead for more clarity in the code

Coverage remained the same at 93.056% when pulling 1fc7919c8282d579553cb078096b17b082314310 on kounkou-patch-Using-MajorNumber into 9375aeb3f82d27c07bb77d6a0e2ef4fde229127d on master.


GitHub Terminologies

Description
GitHub Terminologies with explanation.
Domain
Python_Domain
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

@adityabisoi , allow me to work on this issue.

Can you write what do u want to do in detail?

Can you write what do u want to do in detail?

https://docs.github.com/en/get-started/quickstart/github-glossary

There's an issue already existing on this topic. Closing the issue


chore: Use "${KarpenterNodeRole.Arn}" in policy definition

Description
Use reference to ${KarpenterNodeRole.Arn} for "Sid": "AllowPassingInstanceRole" in CloudFormation (like it is already done in case of "Sid": "AllowInterruptionQueueActions" definition)
How was this change tested?
Deploy CloudFormation...
Does this change impact docs?

[x] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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 82.197%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5328

Relevant Lines:
6482

💛  - Coveralls


Add support for writing OCSP requests and parsing OCSP responses

Description

Type: Feature Request

This would be very useful, since CRLs are becoming less used and for Enterprise environments are simply unmanageable (we have customers with CRLs that are >25MiB).
The basic support for reading/writing OCSP requests and responses would be enough for us, since we integrate the revocation checks manually.
This would lay the groundwork for support of the OCSP stapling extension in TLS.
Note that I have implemented OCSP parsing/writing already, since we've waited for a couple of years for upstream to support it. I could submit a PR - but I have a feeling it's might just languish in the PR backlog :( I can send you the code we have on request.

Hi @NWilson Thank you for your Suggestion. I believe your request is a subset of #880 (although your issue is much more documented)

Yes, it's a useful subset, and would be worth releasing on its own without sound the next stages of implementing OCSP stapling.

@NWilson How far along did you get with OCSP?  Do you know of a fork that does support it?
Thanks!
Kyle

Hi, I'm sorry I can't share my OCSP code (written for employer). OCSP stapling would be a little bit of extra work on top again. I agree it would be a highly desirable mbedTLS feature.


STYLE: The title of the cuisines isn't properly visible.

The title in the different cuisine boxes is not properly visible as the background and the font colour is non-differentiating.

@khushi-joshi-05 please assign this issue to me. I am willing to contribute to this. Also, please label it.

This issue is already solved.
Try to contribute to different issues.


Firefox: Clicking link to go to Bucket from Data Model pop-up gets Error

When using Firefox: When you click on a link in the Data Model, you get a pop-up that has a link to the Google Bucket but clicking on the Google Bucket link adds it to the URL and you see an error instead of redirecting to the bucket.

Fixed by #1430


Add and fix some type specs

While testing the library I found that there are some missing type specs and others are wrong.
There are still two errors that I don't know how to solve:

unknown Google.Bigtable.V2.MutateRowResponse.t/0 doesn't have type t, but are no struct, is it not implemented yet or it's an empty struct the response?
unknown Google.Protobuf.FieldMask.t/0 I couldn't find this struct on google_protos nor protobuf repositories

Good catches!
I should probably take the time to update missing type specs and double check existing ones now that the API is a bit closer to being formalized.
It looks like MutateRowResponse should be an empty value according to the RPC API documentation. Maybe that is causing some weird messages since protoc would generate it as an empty struct.
FieldMask exists in the protocolbuffers repo. It looks like the package this library depends on for general google protobufs does not contain FieldMask. I can maybe dig into their repo tomorrow and submit a PR.
How did you stumble across these messages? Is dialyzer picking them up for you? My tooling isn't detecting these issues for some reason.

Hi!
Thanks for the fast response!
I found out while testing the library for a project, I have some code something like this:
defp do_read_rows(table, range)
    table
    |> ReadRows.build()
    |> RowSet.row_ranges(range)
    |> ReadRows.read()
end

Where table is a string and range a tuple of 2 keys. Just executing mix dialyzer threw 3 errors:
some_project/adapter/big_table.ex:35:call
The call:
SomeProject.Adapter.BigTable.do_read_rows(_table :: <<_::64, _::size(8)>>, _range :: {binary(), binary()})

will never return since it differs in arguments with
positions 2nd from the success typing arguments:

(
 binary(),
 [{binary(), binary()} | {binary(), binary(), binary()}] | {binary(), binary(), binary()}
 )
________________________________________________________________________________
some_project/adapter/big_table.ex:43:no_return
Function do_read_rows/2 has no local return.
________________________________________________________________________________
some_project/adapter/big_table.ex:46:call
The call:
Bigtable.RowSet.row_ranges(
                           %Google.Bigtable.V2.ReadRowsRequest{
                           :app_profile_id => binary(),
                           :filter => %Google.Bigtable.V2.RowFilter{:filter => {atom(), _}},
                           :rows => %Google.Bigtable.V2.RowSet{
                           :row_keys => [binary()],
                           :row_ranges => [
                                           %Google.Bigtable.V2.RowRange{:end_key => {atom(), _}, :start_key => {atom(), _}}
                                           ]
                           },
                           :rows_limit => integer(),
                           :table_name => binary()
                           },
                           _range :: {binary(), binary()}
                           )

breaks the contract
(
 Google.Bigtable.V2.ReadRowsRequest.t(),
 [{binary(), binary(), binary()}]
 | [{binary(), binary()}]
 | {binary(), binary(), binary()}
 | {binary(), binary(), binary()}
 ) :: Google.Bigtable.V2.ReadRowsRequest.t()
________________________________________________________________________________

So, I started digging in the code to see what was going on and found that first wrong spec.
And just to try to catch more I added dialyzer to bigtable deps and executed mix dialyzer to find the other errors:
{:dialyxir, "~> 1.0.0-rc.4", only: [:dev], runtime: false}

:0:unknown_type
Unknown type: Bigtable.ChunkReader.ReadCell.t/0.
________________________________________________________________________________
:0:unknown_type
Unknown type: Enumerable.t/1.
________________________________________________________________________________
:0:unknown_type
Unknown type: Google.Bigtable.V2.MutateRowResponse.t/0.
________________________________________________________________________________
:0:unknown_type
Unknown type: Google.Protobuf.FieldMask.t/0.
________________________________________________________________________________

And then basically I tried to fix them 😂
I'm trying to find some time to contribute to this project, I wasn't doing any documentation because it's still WIP and can change, but I'll try to take a look to the specs to see if I find other things.


'Show active file in explorer' should be 'Reveal active file in explorer'

#5329
I believe 'Reveal active file in explorer' is a better name because it revealse the file and this name is more connected to the setting name explorer.autoReveal
I for instance needed some time to find the corresponding action in the command pallete because I was looking for reveal.

I explicitly decided against that because it would make the other reveal action be #2 which imho has a lot more users.

FWIW it did take me a while to figure out that the command was workbench.files.action.showActiveFileInExplorer


USAGE not displayed when multiple verbs defined

Hi
It seems that when you have multiple verbs defined, the USAGE: text is not being displayed. I worked around this by just setting HelpWriter = null and then implementing custom help with HelpText.AutoBuild. If I only define a single verb then I see a USAGE entry being written to the console.
I ran into this using 2.8.0.

I investigated a bit more...
With multiple verbs, I can add [assembly: AssemblyUsage], and then I see the USAGE: text rendered.
However, with multiple verbs and using an IEnumerable<Examples> I do not see the usage attribute. I assume this is coming from HelpText where it processes Examples.
Not an issue for me because I just want to have a generic usage statement and the assembly attribute solves that for now.

Can you provide test case to figure out how [assembly: AssemblyUsage] is working with Usage

I can confirm this with CommandLineParser 2.8.0. When I have multiple verbs defined, App.exe help someverb does not print a usage line before the list of options.
It's quite difficult to fully workaround this by defining custom help text generation, since in some cases it's impossible to determine which verb was given. When the user executes App.exe help someverb, the error is HelpVerbRequestedError which has verb type information that can be used to add usage text. However, when the user executes App.exe someverb --help then the error is HelpRequestedError which does not include verb type information.


Drag and drop JSON exports to canvas loads the scene

Closes #619.

Should we add a visible indication that dropping will do something?


How can I identify the environment of the signed notification?

To create a SignedDataVerifier, I need to pass the environment.
Here's one possible approach:
First, try with the Production environment. If there is an exception and the status is INVALID_ENVIRONMENT = 3, then try with the Sandbox environment.
Is this the recommended approach?

Can you provide a little more context what type of data you are verifying. With notifications, for example, you already know the environment based on which URL the notification was received.

Apologies for the confusion. I mistakenly assumed we were using the same endpoint for both the production and sandbox environments. This led me to consider how to differentiate the environment for signed notifications.
I appreciate your prompt response. Thanks.

Apologies for the confusion. I mistakenly assumed we were using the same endpoint for both the production and sandbox environments. This led me to consider how to differentiate the environment for signed notifications.
I appreciate your prompt response. Thanks.


feat: Replace message type signatures with CoreMessageType and SendableMessageType

Ticket: https://sendbird.atlassian.net/browse/UIKIT-4358
Added new package to devDep: https://www.npmjs.com/package/eslint-plugin-unused-imports
It removes unused imports when running yarn lint:fix

Oh great work!
Probably it's better to split the PR into 2 to reduce any possible side effects if it's possible.

Replace message type signatures with CoreMessageType and SendableMessageType
ace
Apply the unused import eslint rule


No ConnectionRepository found while running locally

While running mvn spring-boot:run:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.3.RELEASE:run (default-cli) on project spring-twitter-stream: An exception occurred while running. null: InvocationTargetException: Error creating bean with name 'jsonTweetsController' defined in file [/Users/jbg/Spring-Twitter-Stream/target/classes/com/rawsanj/tweet/controller/JsonTweetsController.class]: Unsatisfied dependency expressed through constructor argument with index 1 of type [org.springframework.social.connect.ConnectionRepository]: No qualifying bean of type [org.springframework.social.connect.ConnectionRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.social.connect.ConnectionRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} -> [Help 1]

You need to update the /src/main/resources/application.properties file with Twitter App credentials.
I am updating the Readme file.

@jbhg I have updated the Readme for Twitter app key config. Hope that helps.


Added network metrics to list currently connected peers

Description
Followed the prometheus metrics convention discussed in https://github.com/0xPolygon/polygon-sdk/pull/216 to add a new metrics.go to track network-related metrics. I added the ability to track currently-connected peers by setting the gauge value each time we hit addPeer or delPeer.
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[ ] I have assigned this PR to myself
[ ] I have added at least 1 reviewer
[x] I have tested this code
[ ] I have updated the README and other relevant documents (guides...)
[ ] I have added sufficient documentation both in code, as well as in the READMEs

@munna0908
It would be great if we could update the prometheus metrics on the docs repo to include this change as well

Hey @dankostiuk,
Please resolve the merge conflicts and pull the latest changes from develop, so we can merge out this PR 🚀


PowerShellGroup/PSDesiredStateConfiguration broken on PS 7.4

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest version
[X] Search the existing issues.

Steps to reproduce
dsc resource list

Expected behavior
Successfully show all resources including PS resources

Actual behavior
Error: Operation: Failed to list resources for provider DSC/PowerShellGroup: 1 MethodInvocationException: Exception calling "LoadDefaultCimKeywords" with "2" argument(s): "Method not
found: 'System.String ParserStrings.get_PsDscMissingSchemaStore()'."
Exception: Exception calling "GetKeywordsFromCachedClasses" with "0" argument(s): "Field
not found: 'Separators.Backslash'."

NativeCommandExitException: Program "dsc" ended with non-zero exit code: 2.

### Error details

_No response_

### Environment data

```PowerShell
Directory: /Users/steve/.local/share/powershell/Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Script     3.0.0      beta1      PSDesiredStateConfiguration         Core      {Configuration, New-DscChecksum, Get-DscResource, Invoke-DscResource…}
Script     2.0.7                 PSDesiredStateConfiguration         Core      {Configuration, New-DscChecksum, Get-DscResource, Invoke-DscResource}
Script     2.0.5                 PSDesiredStateConfiguration         Core      {Configuration, New-DscChecksum, Get-DscResource, Invoke-DscResource}

Version
3.0.0-alpha.1
Visuals
No response

This is fixed in 7.4 preview 6


[AutoPR servicefabricmesh/resource-manager] Swagger specification and examples for Service Fabric Mesh 2018-09-01-preview release.

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

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


Make run does not work with grafana:latest

Reverting to grafana:5.0.4 works though.
See this http://docs.grafana.org/installation/docker/#migration-from-a-previous-version-of-the-docker-container-to-5-1-or-later

Cool thanks. Will modify


ExpressionChangedAfterItHasBeenCheckedError has been thrown in Wizard

Select one ...  (check one with "x")
[ x] bug
[ ] feature request
[ ] enhancement

Expected behavior

No ExpressionChangedAfterItHasBeenCheckedError.
Actual behavior

It could be replicable in our demo app on http://localhost:3000/wizard/stop-navigation. Also, it's visible on our website, but only in the dev mode.
Reproduction of behavior

Include a link to the reproduction scenario you created by forking one of the Clarity Plunker Templates:

Environment details

Angular version: 2.0.X

Clarity version:

OS and version:

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Tracking the source of this as a race condition with calling the wizard navigation service. The buttons are projected into the wizard footer, but since they are declared (and rendered) they set an internal state before the pages of the wizard are setup (which happens afterContentInit). So the previous button throws this exception because it tries to figure out if the first page equals the current page, but it is rendered before the page-collection service knows about the pages.


Missing framework?

Microsoft PowerToys version
0.58.0
Running as admin

[X] Yes

Area(s) with issue?
Settings
Steps to reproduce

Fresh install Windows 11
Install PowerToys
Open settings

✔ Expected Behavior
To open settings UI.
❌ Actual Behavior
It does nothing, I am getting the error message from Windows Event Viewer.
Faulting application name: PowerToys.Settings.exe, version: <IP_ADDRESS>, time stamp: 0x622f78e0
Faulting module name: Microsoft.ui.xaml.dll, version: <IP_ADDRESS>4, time stamp: 0x91d22f13
Exception code: 0xc000027b
Fault offset: 0x000000000036dea7
Faulting process id: 0x2694
Faulting application start time: 0x01d861b70c8ab099
Faulting application path: C:\Program Files\PowerToys\Settings\PowerToys.Settings.exe
Faulting module path: C:\Program Files\WindowsApps\Microsoft.WindowsAppRuntime.1.0_3.469.1654.0_x64__8wekyb3d8bbwe\Microsoft.ui.xaml.dll
Report Id: bb981f2d-0388-48c3-98ad-a813033e234f
Faulting package full name:
Faulting package-relative application ID:

Other Software
No response

/dup #18015


508: Error Suppression Table View Buttons

View buttons in the tables are generic, tie to something unique (may need to use multiple column headers)

Closed ticket based on discussion with CAMD on 3/4/24. Before deployment there will be a scan performed and any issues will be remediated at that time.


Version 5.0.0

Breaking Changes

Typescript all the way - Hooray 🎉🥳👯♀

Peer dependency React upgraded to ^16.8 in order to use hooks.

Card: Removed support for containerStyle, use style instead.

Calendar: onChange now has an optional first argument on clear instead of an empty string.

View: Changed from onRef to ref (uses forwardRef)

Dropped Refs
Note: We could/should use forwardRef to get them back.

Textarea: Removed support for onTextarea.
RadioButton: dropped support for inputRef.

CDNIntlProvider now to be imported from TBD.

Other changes

ResourceProvider: Migrated to new react context API
Checkbox renamed to FormCheckbox. The "new" Checkbox component only is a checkbox instead of being wrapped with additional styles.
Pill now supports onClickDelete

New components

SearchableDropdown: A dropdown component with an additional search input for filtering items. It's a hybrid component between Dropdown and Typeahead.

Todo

[ ] Use hook over HOC/render function.
[ ] Make Logo useful
[x] Get rid of withTheme
[x] Make theme work same on all components

Let's go for React.forwardRef then.

@janrembold can you add some changelog for the SearchableDropdown in the first comment?

add custom scrollbar for webkit @janrembold @fivenp not happy about this!


Petri net specific topics

[ ] Bourdeaud’huy, Thomas, Saïd Hanafi, and Pascal Yim. "Mathematical programming approach to the Petri nets reachability problem." European Journal of Operational Research 177.1 (2007): 176-197.
[ ] Bourdeaud'Huy, Thomas, et al. "Transient inter-production scheduling based on Petri nets and constraint programming." International journal of production research 49.22 (2011): 6591-6608.

BDD + PN [https://ieeexplore.ieee.org/abstract/document/9669185?casa_token=r58vEgDaF5gAAAAA:ah1ErePAhwXvZaw15cu9vHBypD_JQj8cv30f9TYdqrDMJ1KgNrvb3krWbaftTfUDP51mP4oOEqs](Symbolic Scheduling of Robotic Cellular Manufacturing Systems With Timed Petri Nets)


Push image to quay using commit SHA as tag

To be able to use the Unified Openshift Deployment process we need to push images to Quay using a commit SHA tag

Just merge manually. From what I remember this happens when one touches the github workflow.


Move staging container to gcr, check in Dockerfile.

This change is

LGTM

cc @devin-donnelly can we merge this?

Yep, I'll merge it.


Book version 3

Hi,
I hope this is not the wrong place to ask, but I couldn't find information elsewhere:
Is there a rough date for when the 3rd version of the book gets published?

No - it is still 2 years off I'd say. I want to teach with the revisions first.

Thanks for the quick answer!


Errors on signal server.

When client the first time to connection to signal server, got 'Connecting to signal connection via WebSocket ERROR: Internal error'. We've configured SSL for nginx proxy server at 443. The livekit-server version is 0.15.4 single node and configured with redis server. Then click 'RESTART TEST' button, And the second time the connection worked fine. No errors on livekit-server.

wss://rtc-test-342.anycdn.cc
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDY4ODgxMDAsImlzcyI6IkFQSW9Id2piWHNMTkpETiIsImp0aSI6ImNlbnNvcjM0IiwibmJmIjoxNjQ0Mjk2MTAwLCJzdWIiOiJjZW5zb3IzNCIsInZpZGVvIjp7InJvb20iOiIxMDAwMCIsInJvb21Kb2luIjp0cnVlfX0.phmJ0WuLriwYuQcFKXo1_epMQSwPQISfCza7TYRmCVI


vimtex ?

Hi !
Thanks for your config !
I'm trying to get vimtex working.
How to compile and previewing from your configs?
thanks

What is your operating system and what is your neovim version? What has gone wrong?
For setting up vimtex, see also this post.

I'm running config under arch linux.
here --> https://github.com/lervag/vimtex <-- the command \ll  \lv   \lk and \le working.
What's the equivalent under your configs tu use vimtex ?
regards

I do not have a linux machine on my side, so I can not test this config under Linux. In this config, I have explicitly disable vimtex on Linux, see the relevant part here. So if you want to use my config, you need to remove the if and endif block.
I haven't set any mappings (\ll, \lv etc.) for vimtex commands. So I just manually run :VimtexCompile and other commands to compile my LaTeX source file.
Also, since I do not have Linux machine, I only set up automatic viewing of the compiled PDF on Windows and Mac. If you want to do that on Linux, I am afraid you have to consult the vimtex documentation. But the configuration should be similar to that of Windows. The viewer settings of my config can be found here.
I am currently using vim-plug to install plugins, to add a plugin, you just provide the plugin GitHub repo name like the following:
Plug 'user/repo_name'

For more info on how to use vim-plug, please consult the official doc.

Ok! I Understand, from the beggiining vimtex is not installed (you mentionned "if windows or mac").
I follow yuor instruction --> Plug 'lervag/vimtex
WOrking now!
thanks


Fix issue with pseudos not being prefixed when descending into atrules

When working on .parent I've noticed that ruleset did not receive its final argument (length) in some cases which resulted in a "broken node" (node.length === undefined). After some digging into what .length actually does on rule nodes I was able to come up with a failing test for the code before the fix

Compare the diff of these two files with your own counter-parts: https://gist.github.com/thysultan/186b10150fce56d40f7cac2b165780c8
Should get an idea of how to fix this.

@thysultan well, my fix also works - so far, do u know how my approach fails? when both yield different results?

a::placeholder{x:0;b{y:0;}}

The current fix is specific to only nested at-rules.

I've fixed the issue you have spotted. Also adjusted match for pseudo similarly to what you have had in the gist and added a test for this case, while doing this I've also noticed that pseudo prefixer was replacing false positives so I've fixed it as well. Please also take notice that I've adjusted regexps around pseudo prefixing slightly so they match between match and replace steps.

I've pushed out this proposed fix for the orphaned :read-write. Couldn't figure out an alternative solution to this. The nice trait of this fix is that rules' .length is always 0 or 1 (so a flag) rather than any, kinda random, integer.


⚠ Samsung has degraded performance

In 984991b, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2435 ms

Resolved: Samsung performance has improved in 6ed0f40.


CSV Export uses Summary Fields but Import doesn't

Affected Version
Versions of 4 (I'm on 4.10.1 at the minute)
Description
When using the Taxonomy module you are able to export to CSV the list of tags. When doing so, the format it comes out as is:

Name
Type

Fish
Food

Chips
Food

Water
Drink

Where "Type" is actually Type.Name as per the $summary_fields array on TaxonomyTerm

However, you can't re-import that same CSV back in because it is expecting the ID - in this case you'd need to manipulate the data to be:

Name
Type

Fish
1

Chips
1

Water
2

Or similar to re-import. Given that one of the intended functionalities here is to transfer data between grids, it seems really counter-intuitive not to be able to immediately re-import what you've just exported.
I imagine the fix is to apply the same logic that is applying $summary_fields on the way down, in reverse, on the way back up.

This makes sense if you think of an export as exporting for human consumption (so it will have friendly names for things) - but for import, it might not be possible to reverse the process.
summary_fields can have any arbitrary method doing who-knows-what conversions to the data, so you'd need to have a method to reverse those changes which means you'd need a separate config for telling the csv importer where how to convert the data (in this case how to get the taxonomy ID from the taxonomy name - which btw could give incorrect results in the case two taxonomies share a name which is an unfortunate possibility).

This makes sense if you think of an export as exporting for human consumption

I guess that's the question, is the functionality for humans or for machines? Perhaps there should be that option in the export CSV option  - "export for reimporting" or "export for a human to read"? The former ignoring all the summary field niceness and just using the raw data that would be read correctly by the importer.

Sounds like it could be a useful enhancement. I think it'd need some UX guidance to get the wording right - I imagine it would probably be presented as a dropdown for the export button, with the two options under it (probably with configuration options to disable either option, which would perhaps revert it back to a standalone button)


change to execute scripts.changelog even in dry-run mode

Hi @webpro , this PR about #472 📝
Contents of tweak: The caller side can specify { isWrite: false } as option in shell.runTemplateCommand.
When using "Conventional-Changelog" for the scripts.changelog, the content of this PR(#460) is actually necessary. This is probably because the "release-it" does not actually execute the git operation in dry-run mode, so the "Conventional-Changelog" side can't detect the changes. 💭
About -u flag is here

Perfect, thanks @1natsu172! I'll release-it shortly.


Multiprocessing not working

It appears that a sandboxed process cannot use functionality of the multiprocessing module. Consider the following simple example taken from Python docs that launches multiple processes to compute the element-wise square of a list:
from multiprocessing import Pool
def f(x):
    return x * x

def multiproc_test():
	try:
	    with Pool(5) as p:
	        sys.stdout.write(f"{p.map(f, [1, 2, 3])}\n")
	except Exception as e:
	    sys.stdout.write(f"ERROR: {e}\n")
	    sys.stdout.write(traceback.format_exc())

Calling multiproc_test from a non-sandboxed script works as expected and prints [1, 4, 9] as expected. However, when I call it from a sandboxed script using the following code:
client = pyspawner.Client(
  child_main="mymodule.multiproc_test",
  preload_imports=["multiprocessing.pool", "multiprocessing", "multiprocessing.queues",
  "multiprocessing.synchronize"]
)

child_process = client.spawn_child(
  process_name="child-1",
  sandbox_config=pyspawner.SandboxConfig(
  chroot_dir=Path(path.join(os.getcwd(), "child_dir"))
 ))

 while True:
     line = child_process.stdout.readline()
     if not line:
         break
     print(str(line, 'utf-8').strip())

client.close()
child_process.kill()

The child process throws an exception with the following traceback:
Traceback (most recent call last):
File "/home/sepehr/Documents/pyspawner/experimental/spawner/mymodule.py", line 61, in multiproc_test
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/context.py", line 119, in Pool
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/pool.py", line 191, in __init__
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/pool.py", line 343, in _setup_queues
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/context.py", line 113, in SimpleQueue
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/queues.py", line 336, in __init__
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/context.py", line 68, in Lock
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/synchronize.py", line 162, in __init__
File "/home/sepehr/anaconda3/envs/pyspawner/lib/python3.8/multiprocessing/synchronize.py", line 57, in __init__
OSError: [Errno 38] Function not implemented

I found a similar issue discussed here and the explanation is that the error occurs when shared memory for processes is not supported. So is this a limitation of PySpawner or is there something else that needs to be done to get it to work?
The specs of my setup are given below:
OS:  Ubuntu 20.04.1 LTS (GNU/Linux 5.8.0-41-generic x86_64)
Python enviornment: Anaconda with Python 3.8.5

Thanks in advance :)

Python multiprocessing.Queue uses the C library's sem_open(). glibc's sem_open() returns ENOSYS  if:

There is no tmpfs mounted at /dev/shm
And failing that, it cannot read /proc/mounts

@sepehr78 if you create a special chroot that has a tmpfs mounted in its /dev/shm, does your example work? (Primer: mkdir -p child_dir/dev/shm && sudo mount -t tmpfs tmpfs child_dir/dev/shm)
This tmpfs requirement is specific to glibc. I think musl only requires the directory /dev/shm to be present but doesn't force a filesystem.

Python multiprocessing.Queue uses the C library's sem_open(). glibc's sem_open() returns ENOSYS  if:

There is no tmpfs mounted at /dev/shm
And failing that, it cannot read /proc/mounts

@sepehr78 if you create a special chroot that has a tmpfs mounted in its /dev/shm, does your example work? (Primer: mkdir -p child_dir/dev/shm && sudo mount -t tmpfs tmpfs child_dir/dev/shm)
This tmpfs requirement is specific to glibc. I think musl only requires the directory /dev/shm to be present but doesn't force a filesystem.

I tried creating a /dev/shm directory inside the chroot and also mounting it as you mentioned. The code does not throw an OSError or any exception actually and just hangs and nothing gets printed to stdout.

@sepehr78 I'm inclined to suspect this hanging is a problem on the caller side of things.
Reading from a process's stdout+stderr+pid is no easy task. Try copying _spawn_and_communicate() from tests/test_client.py. It won't work in production code, but it's enough to capture a stack trace if need be.


Provide a RecoverFunds API call

Description
The RecoverFunds API call allows you to move all funds from an address that has already been spent from to another, clean address.
Motivation
The current way of recovering funds stuck in an address that has already been sweeped is cumbersome and hard, it requires an external script creating a custom bundle outside of the scope of Hub. It would be great if this process can be simplified with an easy to use API call so it's less error prone and easier to work with.
Requirements

RecoverFunds should get an address as input and a new address as output
It should make sure all funds in the given address are transfered to the new address
It should be well documented that this is a last-resort API and should only be used for recovery after address re-use.

Open Questions

Maybe it's even better to provide an address only (optionally a user id as well if it can't easily be derived from the address) where the recover method automatically generates a new deposit address for the user and transfers the funds there.

Am I planning to do it myself with a PR?
No.

fixed by #260


(WIP, help needed) nginxModules.lua: unbreak build

Description of changes
Without this fix,

nix-shell -p "nginxMainline.override { modules = with pkgs.nginxModules; [ lua ]; }"

fails with:
> /nix/store/lkhgv49yy3859m1lrx0adj3rylxqh9si-lua/src/ngx_http_lua_common.h:27:10: fatal error: pcre.h: No such file or directory
>    27 | #include <pcre.h>
>       |          ^~~~~~~~
> compilation terminated.
> make[1]: *** [objs/Makefile:1864: objs/addon/src/ngx_http_lua_log.o] Error 1

This has been the case for a couple of weeks, unfortunately I could only now get around to this issue.
With this pull request, the lua module successfully compiles. However, loading fails at runtime:
nginx: [error] lua_load_resty_core failed to load the resty.core module from https://github.com/openresty/lua-resty-core; ensure you are using an OpenResty release from https://openresty.org/en/download.html (rc: 2, reason: module 'resty.core' not found:

By the way, the most recent version of the lua module is 0.10.21. We currently ship 0.10.15. Starting with 0.10.16, there have been some autoconf changes blocking a simple version bump.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

What does the executable see as a  LUA_PATH ?

Was fixed recently. We recently switched back to building nginx with pcre instead of pcre2. Sorry for the inconvenience.


Improve error messages

Error messages are confusing. Sometimes the term 'record' is used and other times the term 'row' is used. The same is true for 'columns' and 'values'

531dd11e358f2343505e80800ee3b836601b15bd


Changes for rendering measure numbers

Measure numbers are now rendered. Options for controlling measures numbering have been added. MusicXML importer has been modified for importing measure numbering options.
In addition, some changes related to this:

Define a new barline type for an alternative rendering for double repetition barlines. It uses two thick barlines instead of thin barlines (E.Gould, p.234).
A couple of fixes in MusicXML importer, to eliminate some error messages and to fix a bug in measure numbers import.
Style "Measure numbers" is now automatically added to the scores. By changing its settings the appearance of measure numbers can be customized.
Defined a new barline type: alternative rendering for double repetition, using two thick barlines instead of thin barlines (E.Gould, p.234).

Thank you for this very welcome feature.
Works excellent for me!

Thank you.