insert my custom informations to reply to my costumers

Hello!
Im trying to check if is possible to let your project like this one:
https://www.youtube.com/watch?v=Sh94c6yn5aQ
It seem like you have almost everything done, im just trying to insert my custom informations like this guy did and after this interact with my whatsapp Business. is it possible?
i've created my .env file and also connected with my whatsapp through qrcode generated, so in my terminal i have this message:
QR has been generated! | Scan QR Code with you're mobile.
✔ User Authenticated!
✔ Client is ready | All set!
after that, i dont know what more can i do to reach this level above sent.
thank you so much!

see how to create a custom model? also consider checking this issue

see how to create a custom model? also consider checking this issue

thank you my dear friend, now i did what the doc said, i just dont understand how say that, i'm using GEMINI, where i config it?
because after to do all changes like you said, when i try to send a message using my custom model, i received this message in my Prompt:
✔ QR has been generated! | Scan QR Code with you're mobile.
✔ User Authenticated!
✔ Client is ready | All set!
✖ CustomModel request fail | An error occur, at CustomModel.ts sendMessage(prompt, msg) err: Error: OpenAI error 401: {
"error": {
"message": "Incorrect API key provided: ADD_YOUR_KEY. You can find your API key at https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null,
"code": "invalid_api_key"
}
}
It seems like it trying to use OpenIA instead Gemini..
This is my config:
/* Models config files */
import { Config } from './types/Config';
const config: Config = {
chatGPTModel: "gpt-3.5-turbo", // learn more about GPT models https://platform.openai.com/docs/models
models: {
ChatGPT: {
prefix: '!chatgpt', // Prefix for the ChatGPT model
enable: true // Whether the ChatGPT model is enabled or not
},
DALLE: {
prefix: '!dalle', // Prefix for the DALLE model
enable: true // Whether the DALLE model is enabled or not
},
StableDiffusion: {
prefix: '!stable', // Prefix for the StableDiffusion model
enable: true // Whether the StableDiffusion model is enabled or not
},
GeminiVision: {
prefix: '!gemini-vision', // Prefix for the GeminiVision model
enable: true // Whether the GeminiVision model is enabled or not
},
Gemini: {
prefix: '!gemini', // Prefix for the Gemini model
enable: true // Whether the Gemini model is enabled or not
},
Custom: [
{
/** Custom Model /
modelName: 'whatsapp-respostas', // Name of the custom model
prefix: '!get', // Prefix for the custom model
enable: true, // Whether the custom model is enabled or not
/*
* context: "file-path (.txt, .text, .md)",
* context: "text url",
* context: "text"
/
context: './static/whatsapp-respostas.md', // Context for the custom model
}
]
},
enablePrefix: {
/* if enable, reply to those messages start with prefix  /
enable: true, // Whether prefix messages are enabled or not
/* default model to use if message not starts with prefix and enable is false  */
defaultModel: 'Gemini' // Default model to use if no prefix is present in the message
}
};
export default config;

see how to create a custom model? also consider checking this issue

thank you my dear friend, now i did what the doc said, i just dont understand how say that, i'm using GEMINI, where i config it?
because after to do all changes like you said, when i try to send a message using my custom model, i received this message in my Prompt: ✔ QR has been generated! | Scan QR Code with you're mobile. ✔ User Authenticated! ✔ Client is ready | All set! ✖ CustomModel request fail | An error occur, at CustomModel.ts sendMessage(prompt, msg) err: Error: OpenAI error 401: { "error": { "message": "Incorrect API key provided: ADD_YOUR_KEY. You can find your API key at https://platform.openai.com/account/api-keys.", "type": "invalid_request_error", "param": null, "code": "invalid_api_key" } }
It seems like it trying to use OpenIA instead Gemini.. This is my config:
/* Models config files */ import { Config } from './types/Config';
const config: Config = { chatGPTModel: "gpt-3.5-turbo", // learn more about GPT models https://platform.openai.com/docs/models models: { ChatGPT: { prefix: '!chatgpt', // Prefix for the ChatGPT model enable: true // Whether the ChatGPT model is enabled or not }, DALLE: { prefix: '!dalle', // Prefix for the DALLE model enable: true // Whether the DALLE model is enabled or not }, StableDiffusion: { prefix: '!stable', // Prefix for the StableDiffusion model enable: true // Whether the StableDiffusion model is enabled or not }, GeminiVision: { prefix: '!gemini-vision', // Prefix for the GeminiVision model enable: true // Whether the GeminiVision model is enabled or not }, Gemini: { prefix: '!gemini', // Prefix for the Gemini model enable: true // Whether the Gemini model is enabled or not }, Custom: [ { /** Custom Model / modelName: 'whatsapp-respostas', // Name of the custom model prefix: '!get', // Prefix for the custom model enable: true, // Whether the custom model is enabled or not /* * context: "file-path (.txt, .text, .md)", * context: "text url", * context: "text" / context: './static/whatsapp-respostas.md', // Context for the custom model } ] }, enablePrefix: { /* if enable, reply to those messages start with prefix / enable: true, // Whether prefix messages are enabled or not /* default model to use if message not starts with prefix and enable is false */ defaultModel: 'Gemini' // Default model to use if no prefix is present in the message } };
export default config;

even using Gemini AI i need to have a OpenAI account too? or just with Gemini its possible to make it works?

see how to create a custom model? also consider checking this issue

thank you my dear friend, now i did what the doc said, i just dont understand how say that, i'm using GEMINI, where i config it?
because after to do all changes like you said, when i try to send a message using my custom model, i received this message in my Prompt: ✔ QR has been generated! | Scan QR Code with you're mobile. ✔ User Authenticated! ✔ Client is ready | All set! ✖ CustomModel request fail | An error occur, at CustomModel.ts sendMessage(prompt, msg) err: Error: OpenAI error 401: { "error": { "message": "Incorrect API key provided: ADD_YOUR_KEY. You can find your API key at https://platform.openai.com/account/api-keys.", "type": "invalid_request_error", "param": null, "code": "invalid_api_key" } }
It seems like it trying to use OpenIA instead Gemini.. This is my config:
/* Models config files / import { Config } from './types/Config';
const config: Config = { chatGPTModel: "gpt-3.5-turbo", // learn more about GPT models https://platform.openai.com/docs/models models: { ChatGPT: { prefix: '!chatgpt', // Prefix for the ChatGPT model enable: true // Whether the ChatGPT model is enabled or not }, DALLE: { prefix: '!dalle', // Prefix for the DALLE model enable: true // Whether the DALLE model is enabled or not }, StableDiffusion: { prefix: '!stable', // Prefix for the StableDiffusion model enable: true // Whether the StableDiffusion model is enabled or not }, GeminiVision: { prefix: '!gemini-vision', // Prefix for the GeminiVision model enable: true // Whether the GeminiVision model is enabled or not }, Gemini: { prefix: '!gemini', // Prefix for the Gemini model enable: true // Whether the Gemini model is enabled or not }, Custom: [ { /* Custom Model / modelName: 'whatsapp-respostas', // Name of the custom model prefix: '!get', // Prefix for the custom model enable: true, // Whether the custom model is enabled or not /* * context: "file-path (.txt, .text, .md)", * context: "text url", * context: "text" / context: './static/whatsapp-respostas.md', // Context for the custom model } ] }, enablePrefix: { /* if enable, reply to those messages start with prefix / enable: true, // Whether prefix messages are enabled or not /* default model to use if message not starts with prefix and enable is false */ defaultModel: 'Gemini' // Default model to use if no prefix is present in the message } };
export default config;

even using Gemini AI i need to have a OpenAI account too? or just with Gemini its possible to make it works?

actually my custom model is not working with my custom prefix "!get"
Custom: [
{
/** Custom Model /
modelName: 'whatsapp-respostas', // Name of the custom model
prefix: '!get', // Prefix for the custom model
enable: true, // Whether the custom model is enabled or not
/*
* context: "file-path (.txt, .text, .md)",
* context: "text url",
* context: "text"
*/
context: './static/whatsapp-respostas.md', // Context for the custom model
}
]
},
enablePrefix: {
defaultModel: 'Gemini' // Default model to use if no prefix is present in the message
}
if i start a chat using my custom prefix !get i receive the message about AI key because it try to use OpenAI that's default:
Error: OpenAI error 401: { "error": { "message": "Incorrect API key provided: ADD_YOUR_KEY.
It happens even if i config my defaultModel: 'Gemini' like above...
What i need to do to use my Custom Model using my custom prefix?
And i'd like know how to let my custom model enabled all the time even if i don't start a chat using the prefix? is it possible?
thank you so much!

I just added a new feature so you can specify which model to use.
Usage:

download the code again and add modelToUse key as shown in image below

thank you so much my dear friend! let me check!!!!

I just added a new feature so you can specify which model to use.
Usage:

download the code again and add modelToUse key as shown in image below

thank you so much my dear friend! let me check!!!!

done! working as expected!! thank you so much!
One question:
do you know if is possible to add something like:
await sendMessagesWithDelay({
automatic message when we dont receive messages for N seconds
}, 15000)
something like: "Do you need something more?" just to appear like a human is there, something more natural..

how to keep using my custom model without to use prefix?
because when i disable the prefix i cant use my custom model informations:
Custom: [
{
/** Custom Model /
modelName: 'whatsapp-respostas', // Name of the custom model
prefix: '!bot', // Prefix for the custom model
enable: true, // Whether the custom model is enabled or not
/*
* context: "file-path (.txt, .text, .md)",
* context: "text url",
* context: "text"
/
modelToUse: 'Gemini',
context: './static/whatsapp-respostas.txt', // Context for the custom model
}
]
},
enablePrefix: {
/* if enable, reply to those messages start with prefix  /
enable: false, // Whether prefix messages are enabled or not (DISABLED HERE BUT I NEED TO KEEP CONSULTING MY MODEL INFORMATIONS)
/* default model to use if message not starts with prefix and enable is false  */
defaultModel: 'Gemini' // Default model to use if no prefix is present in the message
}
};

good to hear. star this repo and help us reach 128 stars.

One question:
do you know if is possible to add something like:
await sendMessagesWithDelay({
automatic message when we dont receive messages for N seconds
}, 15000)
something like: "Do you need something more?" just to appear like a human is there, something more natural..

It is possible to send a message if our system remains idle for N number of seconds. But I'm not going to add this to the master branch you can implement it on your side.
try this in src/lib/WhatsAppClient.ts

good to hear. star this repo and help us reach 128 stars.

One question:
do you know if is possible to add something like:
await sendMessagesWithDelay({
automatic message when we dont receive messages for N seconds
}, 15000)
something like: "Do you need something more?" just to appear like a human is there, something more natural..

It is possible to send a message if our system remains idle for N number of seconds. But I'm not going to add this to the master branch you can implement it on your side.
try this in src/lib/WhatsAppClient.ts

let me try! thanks!
And about to use my custom model without to use a prefix?? is it possible?

currently, it is not supported. Maybe I'll add it later keep this issue open

currently, it is not supported. Maybe I'll add it later keep this issue open

do it please! because when we use a comercial whatsapp number for this purpose, we always will have people asking for questions about the company, so it make sense.
while you dont implement this possibility, can i replace all messages received and replace the content for something like:
Message.replace(message, "!bot" + Message);
and this way they dont will need to add the "!bot" before to send the message.
is it possible? where can i do it?

good to hear. star this repo and help us reach 128 stars.

One question:
do you know if is possible to add something like:
await sendMessagesWithDelay({
automatic message when we dont receive messages for N seconds
}, 15000)
something like: "Do you need something more?" just to appear like a human is there, something more natural..

It is possible to send a message if our system remains idle for N number of seconds. But I'm not going to add this to the master branch you can implement it on your side.
try this in src/lib/WhatsAppClient.ts

trying to do what you said:
private async onMessage(message: Message) {
const msgStr = message.body;
    if (msgStr.length == 0) return;

    const modelToUse = Util.getModelByPrefix(msgStr) as AiModels;

    setInterval(async ()=> {
        //check if there is some message in 15seconds
        const chatId = (await message.getChat()).id.user;
        this.client.sendMessage(chatId, "Podemos te ajudar em algo mais?")
    }, 15000);

    // media
    if(message.hasMedia) {

        if(
            modelToUse === undefined ||
            this.aiModels.get(modelToUse)?.modelType !== "Image"
        ) return;

when i start a chat, after to receive the first message i receive this error:
/Users/ademir/zai/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:221
throw new Error('Evaluation failed: ' + helper_js_1.helper.getExceptionMessage(exceptionDetails));
^
Error: Evaluation failed: Error: wid error: invalid wid
at e (https://web.whatsapp.com/:2:4911)
at new f (https://web.whatsapp.com/app.a325b87cf6fdeb29465c.js:306:201624)
at Object.c [as createWid] (https://web.whatsapp.com/app.a325b87cf6fdeb29465c.js:306:207925)
at puppeteer_evaluation_script:2:53
at ExecutionContext._evaluateInternal (/Users/ademir/zai/node_modules/puppeteer/src/common/ExecutionContext.ts:273:13)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at ExecutionContext.evaluate (/Users/ademir/zai/node_modules/puppeteer/src/common/ExecutionContext.ts:140:12)
at Client.sendMessage (/Users/ademir/zai/node_modules/whatsapp-web.js/src/Client.js:888:28)
Node.js v21.0.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

do it please! because when we use a comercial whatsapp number for this purpose, we always will have people asking for questions about the company, so it make sense.

DONE! Please keep one thing in mind if you're making money out of this bot then you should also support this project since this project is open source.

do it please! because when we use a comercial whatsapp number for this purpose, we always will have people asking for questions about the company, so it make sense.

DONE! Please keep one thing in mind if you're making money out of this bot then you should also support this project since this project is open source.

yep! for sure! i just trying to check what possibilities when we think about real scenario.
i'm just testing it here in my company to check what really is possible to do.
We already have people doing that to make money like the link above i sent for you.
The last question: hahaha
Do you know if its possible to integrate or connect the custom model to check answers in a Database for example?
Thinking now about a high level its gonna be amazing!

The last question

i didn't understand what you meant by connecting the custom model to DB.  if you are asking for loading context from the database then yes it is possible by adding a URL of your content.
In this case it would be,
context: "https://raw.githubusercontent.com/Zain-ul-din/whatsapp-ai-bot/master/static/whatsapp-ai-bot.md"

I just saw your profile are you the CEO of the company?

yep! but my company just have one employee, me!  its not a big company!
I have some apps built and some WebApps nothing more.

do it please! because when we use a comercial whatsapp number for this purpose, we always will have people asking for questions about the company, so it make sense.

DONE! Please keep one thing in mind if you're making money out of this bot then you should also support this project since this project is open source.

how to use without prefix in a custom model? i'm trying to do it this way but it kill the application:
Custom: [
{
/** Custom Model /
modelName: 'whatsapp-respostas', // Name of the custom model
prefix: '!', // Prefix for the custom model HERE A EMPTY STRING but no way..
enable: true, // Whether the custom model is enabled or not
/*
* context: "file-path (.txt, .text, .md)",
* context: "text url",
* context: "text"
/
modelToUse: 'Gemini',
context: './static/whatsapp-respostas.txt', // Context for the custom model
}
]
},
enablePrefix: {
/* if enable, reply to those messages start with prefix  /
enable: true, // Whether prefix messages are enabled or not
/* default model to use if message not starts with prefix and enable is false  */
defaultModel: 'Gemini' // Default model to use if no prefix is present in the message
}
};

I just saw your profile are you the CEO of the company?

yep! but my company just have one employee, me! its not a big company! I have some apps built and some WebApps nothing more.

:-) let me know if you need my help I'm a student doing open-source work on the GitHub

do it please! because when we use a comercial whatsapp number for this purpose, we always will have people asking for questions about the company, so it make sense.

DONE! Please keep one thing in mind if you're making money out of this bot then you should also support this project since this project is open source.

how to use without prefix in a custom model? i'm trying to do it this way but it kill the application:
Custom: [ { /** Custom Model / modelName: 'whatsapp-respostas', // Name of the custom model prefix: '!', // Prefix for the custom model HERE A EMPTY STRING but no way.. enable: true, // Whether the custom model is enabled or not /* * context: "file-path (.txt, .text, .md)", * context: "text url", * context: "text" / modelToUse: 'Gemini', context: './static/whatsapp-respostas.txt', // Context for the custom model } ] }, enablePrefix: { /* if enable, reply to those messages start with prefix / enable: true, // Whether prefix messages are enabled or not /* default model to use if message not starts with prefix and enable is false */ defaultModel: 'Gemini' // Default model to use if no prefix is present in the message } };

first of all, install latest code and  set enablePrefix to false

enablePrefix

let me check!

enablePrefix

still not working..
when i disable the enablePrefix it start to use Gemini and not my custom model.

wait let me check

working for me. share your config file here.

/* Models config files */
import { Config } from './types/Config';
const config: Config = {
chatGPTModel: "gpt-3.5-turbo", // learn more about GPT models https://platform.openai.com/docs/models
models: {
ChatGPT: {
prefix: '!chatgpt', // Prefix for the ChatGPT model
enable: true // Whether the ChatGPT model is enabled or not
},
DALLE: {
prefix: '!dalle', // Prefix for the DALLE model
enable: true // Whether the DALLE model is enabled or not
},
StableDiffusion: {
prefix: '!stable', // Prefix for the StableDiffusion model
enable: true // Whether the StableDiffusion model is enabled or not
},
GeminiVision: {
prefix: '!gemini-vision', // Prefix for the GeminiVision model
enable: true // Whether the GeminiVision model is enabled or not
},
Gemini: {
prefix: '!gemini', // Prefix for the Gemini model
enable: true // Whether the Gemini model is enabled or not
},
Custom: [
{
/** Custom Model /
modelName: 'whatsapp-respostas', // Name of the custom model
prefix: '!bot', // Prefix for the custom model
enable: true, // Whether the custom model is enabled or not
/*
* context: "file-path (.txt, .text, .md)",
* context: "text url",
* context: "text"
/
modelToUse: 'Gemini',
context: './static/whatsapp-respostas.txt', // Context for the custom model
}
]
},
enablePrefix: {
/* if enable, reply to those messages start with prefix  /
enable: false, // Whether prefix messages are enabled or not
/* default model to use if message not starts with prefix and enable is false  */
defaultModel: 'Gemini' // Default model to use if no prefix is present in the message
}
};
export default config;

working for me. share your config file here.

here still not working..

oh I see in the default model to use you need to write 'Custom'

fixed my dear friend!
now its working as expected, i'll keep making some tests and back to give my feedbacks, its possible to integrate many good things here! nice job!

good to hear. star this repo and help us reach 128 stars.

One question:
do you know if is possible to add something like:
await sendMessagesWithDelay({
automatic message when we dont receive messages for N seconds
}, 15000)
something like: "Do you need something more?" just to appear like a human is there, something more natural..

It is possible to send a message if our system remains idle for N number of seconds. But I'm not going to add this to the master branch you can implement it on your side.
try this in src/lib/WhatsAppClient.ts

trying to do what you said:
private async onMessage(message: Message) { const msgStr = message.body;
    if (msgStr.length == 0) return;

    const modelToUse = Util.getModelByPrefix(msgStr) as AiModels;

    setInterval(async ()=> {
        //check if there is some message in 15seconds
        const chatId = (await message.getChat()).id.user;
        this.client.sendMessage(chatId, "Podemos te ajudar em algo mais?")
    }, 15000);

    // media
    if(message.hasMedia) {

        if(
            modelToUse === undefined ||
            this.aiModels.get(modelToUse)?.modelType !== "Image"
        ) return;

when i start a chat, after to receive the first message i receive this error: /Users/ademir/zai/node_modules/puppeteer/lib/cjs/puppeteer/common/ExecutionContext.js:221 throw new Error('Evaluation failed: ' + helper_js_1.helper.getExceptionMessage(exceptionDetails)); ^
Error: Evaluation failed: Error: wid error: invalid wid at e (https://web.whatsapp.com/:2:4911) at new f (https://web.whatsapp.com/app.a325b87cf6fdeb29465c.js:306:201624) at Object.c [as createWid] (https://web.whatsapp.com/app.a325b87cf6fdeb29465c.js:306:207925) at puppeteer_evaluation_script:2:53 at ExecutionContext._evaluateInternal (/Users/ademir/zai/node_modules/puppeteer/src/common/ExecutionContext.ts:273:13) at processTicksAndRejections (node:internal/process/task_queues:95:5) at ExecutionContext.evaluate (/Users/ademir/zai/node_modules/puppeteer/src/common/ExecutionContext.ts:140:12) at Client.sendMessage (/Users/ademir/zai/node_modules/whatsapp-web.js/src/Client.js:888:28)
Node.js v21.0.0 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
**Something about chatId: Error: Evaluation failed: Error: wid error: invalid wid

did you see something about this error? i tried to work with your example but no way...

fixed my dear friend! now its working as expected, i'll keep making some tests and back to give my feedbacks, its possible to integrate many good things here! nice job!

welcome if you need any kind of help let me know

did you see something about this error? i tried to work with your example but no way...

i think this code will not work remove it for now I'll add this feature may be after few days still I'm busy with university FYP(Final Year Project)

fixed my dear friend! now its working as expected, i'll keep making some tests and back to give my feedbacks, its possible to integrate many good things here! nice job!

welcome if you need any kind of help let me know

I dont know if is possible for you, but i'm thinking we have a meeting to talk about some possibilities together.
are you working there? let me know!

did you see something about this error? i tried to work with your example but no way...

i think this code will not work remove it for now I'll add this feature may be after few days still I'm busy with university FYP(Final Year Project)

its okay! take your time my friend!

fixed my dear friend! now its working as expected, i'll keep making some tests and back to give my feedbacks, its possible to integrate many good things here! nice job!

welcome if you need any kind of help let me know

I dont know if is possible for you, but i'm thinking we have a meeting to talk about some possibilities together. are you working there? let me know!

talking about what?

talking about what?

we build one tool to be integrated in one of my WebApplications, its about job.

you can send your WhatsApp number on this<EMAIL_ADDRESS>


python312Packages.tensorflow-bin: 2.17.0 -> 2.18.0

Things done
Changelog: https://github.com/tensorflow/tensorflow/releases/tag/v2.18.0

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.11 Release Notes (or backporting 23.11 and 24.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 351099

x86_64-linux

:fast_forward: 2 packages marked as broken and skipped:

tts
tts.dist

:white_check_mark: 29 packages built:

frigate
python311Packages.islpy
python311Packages.islpy.dist
python311Packages.loopy
python311Packages.loopy.dist
python311Packages.manifold3d
python311Packages.manifold3d.dist
python311Packages.nanobind
python311Packages.nanobind.dist
python311Packages.pyopencl
python311Packages.pyopencl.dist
python311Packages.reikna
python311Packages.reikna.dist
python311Packages.tensorflow-bin
python311Packages.tensorflow-bin.dist
python312Packages.islpy
python312Packages.islpy.dist
python312Packages.loopy
python312Packages.loopy.dist
python312Packages.manifold3d
python312Packages.manifold3d.dist
python312Packages.nanobind
python312Packages.nanobind.dist
python312Packages.pyopencl
python312Packages.pyopencl.dist
python312Packages.reikna
python312Packages.reikna.dist
python312Packages.tensorflow-bin
python312Packages.tensorflow-bin.dist

aarch64-linux

:fast_forward: 2 packages marked as broken and skipped:

tts
tts.dist

:white_check_mark: 29 packages built:

frigate
python311Packages.islpy
python311Packages.islpy.dist
python311Packages.loopy
python311Packages.loopy.dist
python311Packages.manifold3d
python311Packages.manifold3d.dist
python311Packages.nanobind
python311Packages.nanobind.dist
python311Packages.pyopencl
python311Packages.pyopencl.dist
python311Packages.reikna
python311Packages.reikna.dist
python311Packages.tensorflow-bin
python311Packages.tensorflow-bin.dist
python312Packages.islpy
python312Packages.islpy.dist
python312Packages.loopy
python312Packages.loopy.dist
python312Packages.manifold3d
python312Packages.manifold3d.dist
python312Packages.nanobind
python312Packages.nanobind.dist
python312Packages.pyopencl
python312Packages.pyopencl.dist
python312Packages.reikna
python312Packages.reikna.dist
python312Packages.tensorflow-bin
python312Packages.tensorflow-bin.dist

aarch64-darwin

:fast_forward: 23 packages marked as broken and skipped:

frigate
python311Packages.loopy
python311Packages.loopy.dist
python311Packages.pyopencl
python311Packages.pyopencl.dist
python311Packages.reikna
python311Packages.reikna.dist
python312Packages.islpy
python312Packages.islpy.dist
python312Packages.loopy
python312Packages.loopy.dist
python312Packages.manifold3d
python312Packages.manifold3d.dist
python312Packages.nanobind
python312Packages.nanobind.dist
python312Packages.pyopencl
python312Packages.pyopencl.dist
python312Packages.reikna
python312Packages.reikna.dist
python312Packages.tensorflow-bin
python312Packages.tensorflow-bin.dist
tts
tts.dist

:white_check_mark: 8 packages built:

python311Packages.islpy
python311Packages.islpy.dist
python311Packages.manifold3d
python311Packages.manifold3d.dist
python311Packages.nanobind
python311Packages.nanobind.dist
python311Packages.tensorflow-bin
python311Packages.tensorflow-bin.dist


Validate auth token's scope

Notify via GUI if something is missing: https://github.com/orgs/community/discussions/24345

https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps didn't help one bit. The docs say
$ curl -H "Authorization: Bearer OAUTH-TOKEN" https://api.github.com/users/codertocat -I
HTTP/2 200
X-OAuth-Scopes: repo, user
X-Accepted-OAuth-Scopes: user

but it's blatantly lying - either it's super old or it just doesn't work for "fine-grained tokens", which is what I'm using.


Add tests for mlist

I fixed the issue where the stop channel was not initialized, causing Stop() to hang.

testCluster is still not passing in etcd. Further investigation is needed...

Good job!


[feat] Factions chat routes

Factions will have a chat window for users to communicate ideas.
Create routes on the backend for send-chat, delete-chat, and get-faction-chats.
For posts ( send and delete ) use the request body to send the appropriate fields from the postgres table.
For gets use the query params to filter on the faction_key. Make sure to order chats based on the sending time.
For send and get chats, require the sender / user be a faction member. For delete chats, require the sender to be the user making the call or the faction leader.
References

Postgres tables
Backend example routes

Hello @b-j-roberts , I'll like to work on this

Awesome, thank you!

Works fine now. Thanks @b-j-roberts

@b-j-roberts kindly review

@b-j-roberts kindly review my PR


cmd/compile: init info of OAS node in a select case is being dropped

Issues exists in current master (go1.18-devel), but has probably existed for a while.
When an OAS node is converted to an OSELRECV2 node in tcSelect(), any DCL node in the Init field (due to a := assignment) is being dropped, since a completely new node is being created and the Init field was not set.
Thanks for the test case created by @mdempsky:
package main

func main() {
	ch := make(chan int, 1)

	var ptrs [2]*int
	for i := range ptrs {
		ch <- i
		select {
		case x := <-ch:
			ptrs[i] = &x
		}
	}

	for i, ptr := range ptrs {
		if *ptr != i {
			println("FAIL:", *ptr, "!=", i)
		}
	}
}

The problem this fixes was introduced by 0328c3b660bda2c4e72d0bc0f7b8058b780c9e19.


Feature request: blacklisting default properties

We care a lot about our users' privacy. Can you port this feature from the Javascript library to react native? 🙏
https://docs.mixpanel.com/docs/privacy/protecting-user-data#blacklisting-default-properties

Yes, please. Maybe somebody found a workaround for react native to stop sending "Mixpanel properties" while still sending "Your properties"?

@StevenVanbrielRosa , may be you can try registering them as super properties and give any value to it
mixpanelInstance.registerSuperProperties({
   $manufacturer: "retracted",
   $city: 'retracted',
   $region: 'retracted',
   $carrier: 'retracted',
   $wifi: 'retracted'
})


Glitch in mafs/vector-field

This may be a Mafs issue, but I thought I'd report it here anyway.
  However, with the given values (system is equivalent to f''=-f) the first quadrant does not display.  This seems to happen also whenever the absolute values of xdash and ydash are equal, assuming x=y.  E.g
(defn xdash [x y] (* 2 y))
(defn ydash [x y] (* -2 x))

will also do it.
If that's not strange enough, notice the peculiar :step key I use.  If I change that to 0.25 (or to some multiples of it, i.e. 0.125, 0.5, 1.0, 2) then practically three quadrants do not display!

I filed a mafs issue here... https://github.com/stevenpetryk/mafs/issues/164
This is an issue with mafs, but when they fix it we can update the version and close this ticket out.

Looks like it happens with simpler functions, like identity!

This is fixed in mafs 0.18.8, as mentioned here: https://github.com/stevenpetryk/mafs/issues/164
To close this issue we'll need to upgrade mafs.cljs to 0.18.8 and pull in the new version here.

emmy-viewers 0.3.2 closes this: https://clojars.org/org.mentat/emmy-viewers
Thanks for the report!


Roll Engine from cbd3867e9ef6 to e7386b0811b6 (10 revisions)

https://github.com/flutter/engine/compare/cbd3867e9ef6...e7386b0811b6
2021-05-22<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from dd7nw2tfc... to 80lum62wn... (flutter/engine#26348)
2021-05-22<EMAIL_ADDRESS>Remove group() support from package:litetest (flutter/engine#26342)
2021-05-22<EMAIL_ADDRESS>Use package:litetest for flutter_frontend_server (flutter/engine#26341)
2021-05-22<EMAIL_ADDRESS>Clean up upload_metrics.sh (flutter/engine#26329)
2021-05-22<EMAIL_ADDRESS>Roll Dart SDK from 5ae74b9c13b0 to 53da3ba84895 (1 revision) (flutter/engine#26346)
2021-05-22<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from aeRo3f-er... to GNvpzwlsb... (flutter/engine#26345)
2021-05-22<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from -ISyWoKV3... to dd7nw2tfc... (flutter/engine#26344)
2021-05-22<EMAIL_ADDRESS>Roll Dart SDK from 1c14e29fbfba to 5ae74b9c13b0 (1 revision) (flutter/engine#26340)
2021-05-22<EMAIL_ADDRESS>Roll Skia from 8447f13c6d4b to ec9d0e865d77 (1 revision) (flutter/engine#26339)
2021-05-22<EMAIL_ADDRESS>Roll Skia from 0ea0e75a3d29 to 8447f13c6d4b (4 revisions) (flutter/engine#26337)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from aeRo3f-erb6h to GNvpzwlsbipq
fuchsia/sdk/core/mac-amd64 from -ISyWoKV3z1P to 80lum62wnnlv
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


Unexpected end of JSON input

code-server version: 1.408-vsc1.32.0//docker
OS Version: macOS 10.14.4 (18E226)

Description
After running code server using the latest docker image, an error appears in the console
WARN  Uncaught Exception:  Error: Unexpected end of JSON input

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at pfs_1.readFile.then.contents (/src/packages/server/build/bootstrap-fork.js.gz:82195:45)
    at <anonymous>
    at Timeout.setTimeout [as _onTimeout] (/src/packages/server/build/bootstrap-fork.js.gz:57511:27)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)

Steps to Reproduce

Open docker
docker run -t -p <IP_ADDRESS>:8443:8443 -v "${PWD}:/root/project" codercom/code-server

Exact same error occurred in my environment (Arch Linux). Can anybody help us?

This happens when the backup workspaces.json file can't be parsed because it's not valid JSON. For now please ignore this as it won't prevent the editor from functioning.


Update Set-MailboxTransportService.md

we recently added MailboxDeliveryConnectorSMTPUtf8Enabled  parameter to set-mailboxtransportservice cmdlet for Exchange 2019, so adding this parameter here

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/mail-flow/Set-MailboxTransportService.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


DivIcon marker doesn't $compile the HTML inside itself

From @jec99 on July 4, 2015 7:9
If I am trying to create an icon from an HTML template in angular-leaflet, I use the syntax:
icon: {
    type: 'div',
    className: 'marker-default',
    iconSize: null,
    html: '

'
}

where I declared $scope.clicked somewhere else. It seems expected behavior should be for angular-leaflet to compile the HTML inside the icon before displaying it, but it doesn't, for instance if I set $scope.clicked = true. Is this a bug or is this how angular-leaflet is supposed to work? If the latter perhaps it should be changed because as it is I need to $compile the HTML manually, which violates MVC.
Copied from original issue: tombatossals/angular-leaflet-directive#843

From @ValentinH on August 11, 2015 16:35
I think this would be a really great feature because we would be able to display complex content inside markers! For instance, we could draw pie charts using a directive to get something like this: http://bl.ocks.org/gisminister/10001728 .
However, we need to find a way to provide the scope that the HTML has to be compiled with...

From @woods9910 on August 11, 2015 19:16
Did you get this working with compile? If so, would you mind putting it up here? Struggling with the same thing right now.

From @ValentinH on August 11, 2015 19:34
Nope because I couldn't manage to pass the scope so far...

From @woods9910 on August 12, 2015 17:51
Yeah I actually switched over from google maps specifically for this feature thinking it would work. I think it would be quite useful to have interactive markers.

From @ValentinH on August 12, 2015 17:23
I will submit a dedicated PR tomorrow if people are interested by this feature.
I think that this enables us to do many cool stuffs. I already tried crazy stuffs like input fields on the map or a slider for instance. I'm sure that people will find cool features to implement thanks to it.
@tombatossals @nmccready what do you think? Do you have advice regarding the implementation?

From @ValentinH on August 12, 2015 13:58
Managed to got a result by creating a small Leaflet plugin that works like DivIcon but take directly a dom element to be append to the marker. Then inside Angular Leaflet I add a special case to handle icon of domIcon type where I compile the template string with the scope provided through a getMarkerScope function.
Here's the code:

Warning: this is just a prototype and this certainly can be improved in many ways:

The Leaflet plugin:
L.DomMarkers = {};

L.DomMarkers.Icon = L.DivIcon.extend({
    options: {
        element: null,
        //same options as divIcon except for html
    },

    createIcon: function() {
        if(!this.options.element) return;

        var div = this.options.element;
        this._setIconStyles(div, 'icon');
        return div;
    }
});

L.DomMarkers.icon = function(options) {
    return new L.DomMarkers.Icon(options);
};

Then inside this block, I add the following code:
if (isDefined(iconData) && isDefined(iconData.type) && iconData.type === 'dom') {
    if (!DomMarkersPlugin.isLoaded()) {
        $log.error(errorHeader + 'The DomMarkers Plugin is not loaded.');
    }
    var markerScope = angular.isFunction(iconData.getMarkerScope) ? iconData.getMarkerScope() : $rootScope,
        template = $compile(iconData.template)(markerScope),
        iconDataCopy = angular.copy(iconData);
        //if I don't copy, the browser crash when I update on of the icon property in my controller. Someone has an explanation?
        // I understand that having a dom element attached to my DOM was bad but still....
    iconDataCopy.element = template[0];
    return new L.DomMarkers.icon(iconDataCopy);
}

Then to use it inside your controller:
$scope.your_variable = 'THIS WORKS';

//inside your map config object
markers: {
    osloMarker: {
        lat: 59.91,
        lng: 10.75,
        icon: {
            type: 'dom',
            iconSize: [20, 20],
            className: 'your-class',
            getMarkerScope: function() {
                return $scope
            },
            template: '
{{ your_variable }}
'
        }
    }
}

Any remarks are welcome. I'm still working on this to improve it and ensure it has no leaks/bugs...

From @woods9910 on August 11, 2015 20:0
Can anyone shed some light on this?


Fix FileNotFoundError when the download_dir is a non-existing nested folder

The purpose of this PR is to resolve #2904 by replacing the os.mkdir with os.makedirs in order to prevent FileNotFoundError when the download_dir is a non-existing nested directory (parent direcotry does not exists)

I wonder how easy it would be to add tests for this... pytest has some fixtures to create temporary directories.

Perfect! Thanks a bunch @sp1thas. Great tests, too.


Looking for professional help with setting up AntennaPodSP

Hi Daniel, hi to everybody,
we are a company with a podcast. And we would like to have a simple podcast app with this podcast already installed, our corporate colours and maybe a links to our website and the Podcast Facebooksite.
You app is just what we look for but we have no knowledge in our company to adjust the AntennaPodSP code.
Can you recommend someone who could help us to this? Is there anybody who would like to help and can make me an offer?
All the best
Sabine

Hi Sabine,
what you're planning is absolutely possible. I did this 2 years ago for a French startup (which now doesn't exist anymore afaik). I'm on vacation/travelling at the moment but feel free to write me an email at mail[at]rpschultz.de. I'll be back at the end of March.
Best regards


docs(storybook): add welcome page

@Laura-Marshall for the banner :raised_hands:
Contributes to #2994
Includes fixes from @lee-chase and @matthewgallo in #2995 and #3015
What did you change?
Add welcome page to v1 Storybook.

How did you test and verify your work?
Storybook

@Laura-Marshall @mikeolasov I know we’re working on an animated version of these, but also thinking if we’ll want to consider dark/light mode as well since we hardcoded the link colors so if someone does change the theme to a dark theme, the links don’t become too light.
@Laura-Marshall Also noticed the v1 banner still uses the DataSpreadsheet. 👀


SRS Review

Hello Dr. Smith! Please review the initial revision of the OAR SRS! Once the Domain Expert and Secondary reviewer accept my request I will also send an issue to them! Thanks!
-Hunter

The feedback is attached.  You may wish to create issues from the feedback to organize your work and clearly show the changes between the current version and the final version.  The grade will be posted on Avenue soon.
HunterCeranic_SRS.pdf

Addressed with 6ad6aef. Thanks Again!


<IP_ADDRESS> not syncing

I have just installed a fresh <IP_ADDRESS>, and after leaving it running for 30 minutes, it still has not downloaded any blocks. Compared to bitcoin, it would have certainly started downloading blocks by now.

This sounds like problems with your connection or firewall. Verify port 9999 is open and check you are not connected to any pre-0.14.0.x nodes in the peers list under Tools > Peers list. If necessary, right click the older peers and manually ban them. Once you have a few 0.14 peers sync should start very quickly.

I appear to be having the same problem after upgrading from a 0.13 version to <IP_ADDRESS>.  I don't believe it's a network problem because I have peers and network traffic.  All peers appear to be 0.14+.  dash-qt shows status as "Connecting to peers" and number of blocks/progress does not increase.
The standard debug log contains mostly messages like this:
`
2019-08-15 12:20:13 CMasternodeSync::ProcessTick -- nTick 162 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:19 CMasternodeSync::ProcessTick -- nTick 168 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:25 CMasternodeSync::ProcessTick -- nTick 174 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:31 CMasternodeSync::ProcessTick -- nTick 180 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:37 CMasternodeSync::ProcessTick -- nTick 186 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:43 CMasternodeSync::ProcessTick -- nTick 192 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:49 CMasternodeSync::ProcessTick -- nTick 198 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:20:55 CMasternodeSync::ProcessTick -- nTick 204 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:21:01 CMasternodeSync::ProcessTick -- nTick 210 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
2019-08-15 12:21:07 CMasternodeSync::ProcessTick -- nTick 216 nCurrentAsset 0 nTriedPeerCount 0 nSyncProgress -0.250000
`
I've tried deleting all cache files with no change in behavior.
I'm trying reindexing now but it looks like it's going to be very slow.  It looks like it's trying to sync while reindexing and the syncing behavior seems to be the same as before.

I had the same issue 3 days ago but while syncing from scratch (no blockchain or anything, on a fresh VPS). For some reason no blocks were coming in, but I kept seeing the CMasternodeSync::ProcessTick log messages. Eventually blocks started coming in (after ~10-15 minutes) but not sure if it was some concurrency/thread issue or what. This was also on version <IP_ADDRESS>.

These are two different issues I believe:

Fresh sync. Your node is probably still downloading headers which is not shown in debug.log in any way unfortunately but you can check the progress via getpeerinfo. Could be that the peer you are connected to is too slow.

v13->v14 upgrade. See https://github.com/dashpay/dash/issues/2995

So the reindex run ended with a segfault (unfortunately, I didn't have core dumps enabled).  I started again without the -reindex option and eventually the syncing came unstuck and I was able to sync completely.
Note that overall though my node spent many hours in the stuck state so this isn't really a transient issue that always resolves itself in a reasonable period of time.
I'm not really convinced this is the same as #2995, at least if the explanation of network segmentation was the correct explanation for that.  For one thing a good deal of time has passed since that was reported.  Also all my peers were 0.14+ so unless there is a segment of zombie 0.14 nodes on the network I don't see how all my peers could have been providing bad data.

I'm sorry you had these issues. this problem doesn't really affect us anymore though, so closing. Feel free to open a new issue if you have any problems


Remove stray "ls" in the poll.sh. Make the usage check more precise.

The change looks fine but it would be great if the commit history reflected just the scope of the change being added.
If it was rebased against the wrong base, you could reset HEAD to the newest common commit and then reapply this change since its pretty minor.

@mbookman :)


Validator is blocking all upcoming ensures when using 'then()'

I'm submitting a bug report

Library Version:
0.14.0

Please tell us about your environment:

Operating System:
Windows 10

Node Version:
5.0.0

NPM Version:
3.3.6

JSPM OR Webpack AND Version
JSPM 0.16.48

Browser:
all

Language:
TypeScript 2.0

Current behavior:
There is a difference between the Validator and the ValidationController with sequencing of the rules.
As noted in the documentation

Rules are evaluated in parallel. Use the .then() method to postpone evaluation of a rule until after the preceding rules in the ensure have been evaluated.

I've created exact the same examples using the ValidationController and the other the Validator. But the outcome is different in both cases. Because with the ValidationController the 'then()' is blocking the rules per ensure. While with the Validator the 'then()' is block all upcoming rules for all ensures.
With the Validator:
https://gist.run/?id=5fad92eb25dfc18e4243eccb47411645
With the ValidationController:
https://gist.run/?id=1d38aa036096a5f2a0a2fac58ec187fd
Expected/desired behavior:
That the Validator is also behaving the same as ValidationController and the 'then()' is only postponing the evaluation of the rules per ensure.

Ping @jdanyow


Cap Documenter.jl to 0.19 on Travis

Hi! This is an automated pull request by @mortenpi.
The next Documenter.jl release (0.20) will make breaking changes to the makedocs and deploydocs functions. This PR makes sure that your Travis CI runs will install and use Documenter 0.19, so that documentation deployment would not break when 0.20 is released.
Subscribe to JuliaDocs/Documenter.jl#861 to be notified about the 0.20 release. The release will come with release notes detailing how to upgrade your make.jl script. Note that the conversation in that issue is locked, so you should not receive any other notifications from there.
If there is a problem with the PR, please tag @mortenpi.

Codecov Report

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

@@          Coverage Diff          @@
##           master    #11   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      3
  Lines          23     23
=====================================
  Hits           23     23

Continue to review full report at Codecov.

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


Allow to specify the parent element (default: body)

Under some circumstances, one does not want to append the datepicker to <body> (e.g. because of a complex structure of elements and corresponding position styles). This change allows to specify the parent element and doesn't break the positioning.

Closing this PR as #1227 replaces the placement changes


azpainter: 3.0.7 -> 3.0.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/azpainter/versions.
meta.description for azpainter is: Full color painting software for illustration drawing
meta.homepage for azpainter is: http://azsky2.html.xdomain.jp/soft/azpainter.html
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.0.8 with grep in /nix/store/akzmaidh9768ypjwsjd068my91xj1hbx-azpainter-3.0.8
found 3.0.8 in filename of file in /nix/store/akzmaidh9768ypjwsjd068my91xj1hbx-azpainter-3.0.8

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

azpainter

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/akzmaidh9768ypjwsjd068my91xj1hbx-azpainter-3.0.8 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A azpainter https://github.com/r-ryantm/nixpkgs/archive/772b12befebf87b6f24bee0af7c3bbffb6b01eb0.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/772b12befebf87b6f24bee0af7c3bbffb6b01eb0#azpainter

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/akzmaidh9768ypjwsjd068my91xj1hbx-azpainter-3.0.8
ls -la /nix/store/akzmaidh9768ypjwsjd068my91xj1hbx-azpainter-3.0.8/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

azpainter

Maintainer pings
cc @dtzWill for testing.

Result of nixpkgs-review pr 322562 run on x86_64-linux 1

1 package built:

azpainter


Interfaz meta

Codecov Report

Merging #36 (6f56381) into master (ef9b4ae) will decrease coverage by 2.02%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #36      +/-   ##
============================================
- Coverage     93.33%   91.30%   -2.03%
  Complexity       97       97
============================================
  Files            18       19       +1
  Lines           180      184       +4
  Branches         10       10
============================================
  Hits            168      168
- Misses            8       12       +4
  Partials          4        4

Impacted Files
Coverage Δ

...ain/java/edu/fiuba/algo3/modelo/mapa/Elemento.java
100.00% <ø> (ø)

...rc/main/java/edu/fiuba/algo3/modelo/mapa/Mapa.java
67.85% <ø> (ø)

...rc/main/java/edu/fiuba/algo3/modelo/mapa/Meta.java
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Update PyProject Toml - License

Hey! HaoHao from comfy.org again 😊.
As a heads up, the license field is optional but in the case that it is filled out, the license file should be referenced as follows

license = { file = "LICENSE" } ✅
license = "LICENSE" ❌

This was brought up in our discord and so we're creating a small PR to update that optional field. For more info check out toml file standards or our docs page!

why is it { text = "MIT License" } shouldn't it be { file = "LICENSE" } if I understand this correctly?


Satoshi font shows wrong image for snowflake emoji

Not sure if there's anything easy we can do about this at the moment. It looks like the Satoshi font is using the wrong glyph for the ❄ character:
https://app.ens.domains/name/❄bunny.eth/details
https://etherscan.io/nft/0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85/98822254508328348440588762054062725627607013788535910941565821608191238711759
https://metadata.ens.domains/mainnet/0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85/98822254508328348440588762054062725627607013788535910941565821608191238711759/image

Not sure if there are others, this is the first time someone reported an error like this to me.

May I ask the OS and browser information?
All fine for MacOS.

I re-analyzed the issue and found a sneaky bug which prevents fallback fonts not doing their job. It would be awesome if you can check if all fine for you now.
For more context: https://github.com/ensdomains/ens-metadata-service/issues/119#issuecomment-1203267633

Yep looks good to me now, thanks! I'll close this.


FloatingActionButton: add themeable mouse cursor

Allow themes to override FloatingActionButton's mouse cursor.
This is #96714 reopened as a new PR and is a partial fix to #88371.
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

Regardless of numerous upstream merges, #96714 has been repeatedly failing on unrelated customer tests for a couple of months. This is an attempt to run through the CI with the same changes on a fresh and clean base.

@werainkhatri This PR replaces #96714 which refuses to pass customer this.

@jpnurmi Will you be able to continue working on this? It's totally fine if not; we can take it over (though it might take longer). I'm just asking because I'm trying to clean out our review queue.

@jpnurmi looks like there are a few failing tests still, can you take another look?

Rebase helped to get the latest customer tests run.


Closure

Build searsia.js using the closure pattern, see:
http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
,
https://yuiblog.com/blog/2007/06/12/module-pattern/
and
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions#Closures

done in v1.2.0


[WIP] Replace subsplit.sh with GitSubsplit class

This is an attempt to fix #1983
For now, processes that executed the subsplit.sh scripts are replaced with closures that run a method GitSubsplit::subsplit() of a new GitSubsplit class. The new implementation does not run in parallel as it used to be previously. I need some advice to implement a parallel version (pcntl_fork() could do the job, but I'm not sure it's an acceptable solution).
This patch also provides new --dry-run option to split command, the option is forwarded to git push command.

I think it's ready for initial review.

The best proof is working example.
Like on GitHub with GitHub actions.
Could you show me a monorepo that uses this branch to split to 2 standalone repositories?

@TomasVotruba
I made an experiment with GitHub and it seems to work. You can try it yourself with three steps:

Create three empty GitHub repositories named: monorepo-test-top, monorepo-test-foo,  monorepo-test-bar.

Initialize local git project with
.github/scripts/prepare-test-monorepo.sh /tmp/test-monorepo-split git@github.com:TomasVotruba

you can optionally (cd /tmp/test-monorepo-split/monorepo-test-top  && git push -u origin master --tags).

Run this command to test monorepo-builder split command:
(MBSCRIPT=`readlink -f packages/monorepo-builder/bin/monorepo-builder` && cd /tmp/test-monorepo-split/monorepo-test-top && $MBSCRIPT split)

Here is complete log from my experiment:
ptomulik@tea:$ .github/scripts/prepare-test-monorepo.sh /tmp/test-monorepo-split git@github.com:ptomulik
/tmp/test-monorepo-split/monorepo-test-top ~/sources/symplify
Initialized empty Git repository in /tmp/test-monorepo-split/monorepo-test-top/.git/
[master (root-commit) 29a71e2] initial commit
 2 files changed, 7 insertions(+)
 create mode 100644 README.txt
 create mode 100644 monorepo-builder.yml
[master 8b1fdfb] added foo
 1 file changed, 1 insertion(+)
 create mode 100644 packages/foo/README.txt
[master e4f437a] added bar
 1 file changed, 1 insertion(+)
 create mode 100644 packages/bar/README.txt
~/sources/symplify
ptomulik@tea:$ (MBSCRIPT=`readlink -f packages/monorepo-builder/bin/monorepo-builder` && cd /tmp/test-monorepo-split/monorepo-test-top && $MBSCRIPT split)

 [WARNING] Some of the tags on this repository don't have committer's date. This may lead to unwanted tag selection
           during split. You may want to use the "tag" parameter.

 ! [NOTE] Branch "master" does not exist on origin, pushing it...

Branch 'master' set up to track remote branch 'master' from 'origin'.

  git subsplit from '/tmp/test-monorepo-split/monorepo-test-top/.git' subtree 'packages/foo' to repository 'git@github.com:ptomulik/monorepo-test-foo.git'
    creating git mirror of '/tmp/test-monorepo-split/monorepo-test-top/.git' in '/tmp/monorepo_builder/_subsplit/packages-foo'
  ✓ created  git mirror of '/tmp/test-monorepo-split/monorepo-test-top/.git' in '/tmp/monorepo_builder/_subsplit/packages-foo'
    syncing subdirectory 'packages/foo' to repository 'git@github.com:ptomulik/monorepo-test-foo.git'
      syncing branch 'master' (this can take a while!)
    ✓ synced  branch 'master'
      syncing tag '0.2' (this can take a while!)
    ✓ synced  tag '0.2' (this can take a while!)
  ✓ synced  subdirectory 'packages/foo' to repository 'git@github.com:ptomulik/monorepo-test-foo.git'
✓ git subsplit from '/tmp/test-monorepo-split/monorepo-test-top/.git' subtree 'packages/foo' to repository 'git@github.com:ptomulik/monorepo-test-foo.git'
  git subsplit from '/tmp/test-monorepo-split/monorepo-test-top/.git' subtree 'packages/bar' to repository 'git@github.com:ptomulik/monorepo-test-bar.git'
    creating git mirror of '/tmp/test-monorepo-split/monorepo-test-top/.git' in '/tmp/monorepo_builder/_subsplit/packages-bar'
  ✓ created  git mirror of '/tmp/test-monorepo-split/monorepo-test-top/.git' in '/tmp/monorepo_builder/_subsplit/packages-bar'
    syncing subdirectory 'packages/bar' to repository 'git@github.com:ptomulik/monorepo-test-bar.git'
      syncing branch 'master' (this can take a while!)
    ✓ synced  branch 'master'
      syncing tag '0.2' (this can take a while!)
    ✓ synced  tag '0.2' (this can take a while!)
  ✓ synced  subdirectory 'packages/bar' to repository 'git@github.com:ptomulik/monorepo-test-bar.git'
✓ git subsplit from '/tmp/test-monorepo-split/monorepo-test-top/.git' subtree 'packages/bar' to repository 'git@github.com:ptomulik/monorepo-test-bar.git'

 [OK] Succesfully split into 2 repositories

Here is my monorepo for testing purposes:

https://github.com/ptomulik/monorepo-test-top

here are split repositories created with monorepo-builder split

https://github.com/ptomulik/monorepo-test-foo
https://github.com/ptomulik/monorepo-test-bar

God news. I just managed to create phar with symplify/compiler and run monorepo-build.phar split on my example monorepo, and it worked. Seems we are close to fix #1983.

Hello. Can we make any progress here?

Hi,
first, thank you for all the work you've done here.
It's a huge sign this part is really crappy in Symplify.

Since December 2019 Actions are growing and adding more and more options to handle automated processes. I've been fiddling with split/push actions for last 2 months. I had long struggle with tags, really long, as GitHub Actions just don't care about that.
Yet today the split Github Action pushed tag + branch for the firs ttime. Fast and clear. See yourself:

The split command drop: https://github.com/symplify/symplify/pull/2490/files
The Github Action replacement: https://github.com/TomasVotruba/github-action-monorepo-split

It's tested here on @symplify, on @migrify and working :heavy_check_mark:

I dont now but this is mean i can use split command and must using Github Action? i use this package and host my code in gitlab.

i can use split command and must using Github Action

Yes, you can use it out of the box for GitHub. For differnt CI, you need to clone it a then create call on Docker:

It's minimal Dockerfile: https://github.com/TomasVotruba/github-action-monorepo-split/blob/master/Dockerfile
And 80 lines of bashcript: https://github.com/TomasVotruba/github-action-monorepo-split/blob/master/entrypoint.sh

I skimmed through and what I see is the PHP part of the split command was dropped and the bash script was migrated to the GitHub action project. Am I right? The piece of information I couldn't find, is how the previous configuration can be ported to the new setup? I mean, the 'directory to repository' part of monorepo-builder.yml or monorepo-builder.php.

So, the split functionality of monorepo-builder disappears from packagist? Testing split locally now depends on the github-action-monorepo-split which has to be "cloned" or at least the bash script has to be copied to the local user's project and invoked with appropriate set of parameters (config?). This may frustrate some users, as it means the split becomes part of each and every project that uses the functionality. Upgrades have to be traced by hand.

I skimmed through and what I see is the PHP part of the split command was dropped and the bash script has been migrated to the GitHub action project. Am I right?

Yes. Except the current code is not based on the old. It's created from scratch, only from parts that are needed.
None of these solutions are ideal. It's a trade off of DX and working solution. Symplify 8:

does not allow splits on GitHub Actions
split on Travis has to be run in parallel run with subprocess, written in Symfony/Process (git in sh, sh in PHP and PHP in sh container at the same time)

https://travis-ci.org/github/symplify/symplify/builds/741308998

Ideal solution would a Docker image, that handles it. That could be re-used much easily in any CI.
Yet in the time a split command was added to MonorepoBuilder, Docker was not a thing.

To your question, how to get a package list, here is a new command to return package list in json: https://github.com/symplify/symplify/blob/f4d59fd0926cc41655fb6fb1a096df0508d20a9f/.github/workflows/split_monorepo.yaml#L30

Closing as being replaced by https://github.com/symplify/monorepo-split-github-action
Tested on @migrify @symplify and @rector last week and work perfectly :+1:


Infrastructure class

fixes #117

how quarkus integration looks like with this: https://github.com/michalszynkiewicz/quarkus/commit/820006edae65a0987b434cf5f4ee8d02afed348f

I like the approach.
The danger is that beans you will look up in Quarkus may have been removed. So, extensions will be required to be sure that the beans are not removed.


Privacy Badger causes "Babel is not defined"

Privacy Badger causes "Babel is not defined". Not sure if there is anything that can be done to prevent.

I sent feedback to Privacy Badger.  Seems like they block unpkg.com and a few other cnds.

I not sure what I should do in that case.
We could embed Babel build in the website and serve it from it but we'll need to update it manually for each release.
The 'big REPL' shouldn't work either.

Yes, big  REPL doesn't work either.  Not a big deal for those aware of the side effects of plugins like Privacy badger.  Only will affect those who set it, forget it and then think the site is broken.

In the REPL we could test if babel is defined and display a message asking him to check his browser configuration.
This is the first time I hear about that, I can't tell if it's a common issue.

Not really sure this is actionable? going to close


Display needs to be magnifiable

Either ctl-scrollwheel or ctl-shift-+ needs to work to magnify the UI as a whole. This is pretty much a necessity both for accessibility (my vision is terrible) and for hi-DPI screens (I'm using a 4K monitor). If I understand correctly, the decision to work in screen coordinates may make this hard: however, it's a must-have for any application that is intended for widespread web deployment.

This is a great point, and actually should not be too hard to implement. I already have a slider for scaling up the UI, so hooking it up to the appropriate events shouldn't be too much work.

Sweet!

any chance to get dpi configurable also for desktop backends? (for example via optional env var)

@actionless It is already configurable with https://docs.rs/egui/latest/egui/struct.Context.html#method.set_pixels_per_point

@emilk  my point was what in case of browser backend user can change the scale themselves by using Ctrl+Scroll or such
while on desktop scale could be changed only if the developer will add some custom code for that


Exact match not boosted enough

I searched L-arabinose and got lots of non exact matches before the exact match in chebi
https://www.ebi.ac.uk/ols4/search/l-arabinose

There do not seem to be any exact matches for this [https://www.ebi.ac.uk/ols4/search?q=L-arabinose&exactMatch=true](query.
https://www.ebi.ac.uk/ols4/search?q=L-arabinose&exactMatch=true) seems provide the desired result.


New user profile page

https://app.moqups.com/linesarefuzzy/DzQShSvS2y/edit/page/abc6325ed
Sort household by adult/child, then alphabetically

Originally created by Tom Smyth at 2016-11-06 15:33, migrated from redmine-#5373

Description updated (diff)

By Tom Smyth at 2016-11-06 20:37

Version set to 2.7

By Tom Smyth at 2016-11-22 18:29

Version changed from 2.7 to 3.0

By Tom Smyth at 2016-12-05 08:56

Status changed from New to Closed

By Tom Smyth at 2017-01-15 08:01


Raw image to OCRmyPDF

Is there any posibility to use OCRmyPDF passing raw TIFF images as a parameter?
OCRmyPDF convert pdfs to image to work with them, but in case you have got raw images from scanner or cam, how can you use it?

My scanner produces multi jpg per document and I'm adapting the script to deal with multiple image files to create the final pdf.
When get something working, I'll post a comment here.

Hi. Currently you need to convert the images to PDF first (e.g. using ghostscript, imagemagik).
Note: A ticket for this enhancement already exists (#17), but it is still open

Convert images to PDF first is not an option because I have books in TIFF format and the total size is about 5Gb!

@geoplanet
I have a need for this too. We are first translating OCRmyPDF.sh into Python and I will then add support to ingest images (may be multiple ordered images) instead of pdf.

IMHO this is a duplicate of #17 and could therefore be closed.

I get this when I try to use the script:

./OCRmyPDF.sh -v -l spa 010.tif 010.pdf
When using programs that use GNU Parallel to process data for publication please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; and it won't cost you a cent.
Or you can get GNU Parallel without this requirement by paying 10000 EUR.
To silence this citation notice run 'parallel --bibtex' once or use '--no-notice'.
Page 0001: Expecting exactly 1 image covering the whole page (found 0). Cannot compute dpi value.
Page 0001: Continuing anyway, assuming a default resolution of 300 dpi
Could not extract page 0001 as ppm from "/tmp/pruebas/010.tif". Exiting...
Error: May not be a PDF file (continuing anyway)
Error: PDF file is damaged - attempting to reconstruct xref table...
Error: Couldn't find trailer dictionary
Error: Couldn't read xref table
Error: May not be a PDF file (continuing anyway)
Error: PDF file is damaged - attempting to reconstruct xref table...
Error: Couldn't find trailer dictionary
Error: Couldn't read xref table
Error: May not be a PDF file (continuing anyway)
Error: PDF file is damaged - attempting to reconstruct xref table...
Error: Couldn't find trailer dictionary
Error: Couldn't read xref table
parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
./src/ocrPage.sh /tmp/pruebas/010.tif 0001\ 6373\ 7999 0001 /tmp/tmp.PLXzCNYRF2 1 spa 0 0 0 0 0 0 0 0
Is it possible pass as argument a bulk of files? I tryed *.tif, but it doesn't work.
I have tested with jpg and tif files.

The input has to be a PDF. Conversion of raw images is a frequently requested feature.
You can use tiff2pdf (from poppler-utils or xpdf) or the Python package img2pdf to do batch command line conversion of images to PDF.


Upgrade to Ionic 3

Hi,
Can you please upgrade this project to Ionic 3? Thanks.

Yes, I'll be happy to upgrade this project to Ionic 3. I just need a little time...
Thank you so much.

It seems you have done the upgrade no? Hope you'll change the Readme file too.Thanks 👍

Right, I have finished it. Supper is ready...😋
After, I'll close this issue.
Thank you so much.

Not yet.You have to change this too with latest CLI ionic cordova platform add android  :D

Yep, you are right. I have updated it. It should be ok now?

Yep, Great!


Verbose mode

Essentially the option to see everything the package is doing, and when, etc. This is not urgent and I won't spend my time on it, but if anyone wants a nice simple time feel free to do this. Id appreciate it if it was made with logger and the relevant logger levels

https://docs.python.org/3/howto/logging.html#optimization

For future logging additions, refer to the top answer here for a general overview of my thought process with regard to the levels id like things at


Cancel Button doesn't show on Popup

I have a Button with the function "showLocation" and whe I click it the Popup shows whitout the cancel button, so i need to open an application (like Google Maps app) and close it to get back to my app.
Here is the Button logic:
<Button color="#ffc500" onPress={() => showLocation({
         latitude: -23.557818,
         longitude: -46.668085,
         dialogTitle: 'Centro de Convenções Rebouças',
         dialogMessage: 'Qual app você gostaria de abrir?',
         cancelText: 'Cancelar',
         alwaysIncludeGoogle: true,
       })} title="Abrir no mapa" />

And here is the result after clicking the button:

Any solutions to show "cancel button"?
react-native version: 0.61.2
react-native-map-link version: 2.5.2

Wouldn't you use the hardware back button on your device to do this usually? Sorry, not super familiar with Android, so might be wrong.

I expect that clicking out of the popup and the hardware back button closes the popup, but neither of it are working


Microsoft SharePoint Data Loader

Description
Microsoft SharePoint Data Loader for llama-hub
Fixes # (issue)
https://github.com/run-llama/llama-hub/issues/674
Type of Change
Please delete options that are not relevant.

[x] New Loader/Tool
[ ] Bug fix / Smaller change
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[ ] I stared at the code and made sure it makes sense
[x] I created a package using poetry build and tested locally

Suggested Checklist:

[x] I have added a library.json file if a new loader/tool was added
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

@anoopshrma @EmanuelCampos Thank you for accepting the PR and approving it :slightly_smiling_face:!

I am trying to use llama_index SharePointLoader and am getting error that my site does not exist, but the link that prints out in the error message works and brings me to my site. Any ideas?

@lilz12 https://github.com/run-llama/llama-hub/issues/901

@arun04cbe Thank you! I wasn't sure if that was the same issue. Do you have example of string to pass for SharePoint site?
This is what I am trying:
loader = SharePointLoader(
client_id = "app_client_id",
client_secret = "app_cert_secrete_value",
tenant_id = "azure_tenant_id"
)
documents = loader.load_data(
sharepoint_site_name = "https://wmsafety.sharepoint.com/sites/WMSC",
sharepoint_folder_path = "Reference%20Codes",
recursive = True,
)
ERROR:custom_module:An error occurred while accessing SharePoint: The specified sharepoint site https://wmsafety.sharepoint.com/sites/WMSC is not found.

@lilz12 Just pass the SharePoint site name. In your case just pass WMSC. And if the folder in documents library is Data/Folder. Pass Data/Folder in folder path

@arun04cbe Within the SharePoint site, it looks like you can have additional sites. So once I'm at my SharePoint site name, I navigate to the site, "Technical Writers" and then the folder is "Reference Codes". Could that be the problem that there are multiple sites under WMSC?

I am not aware on having additional sites in SharePoint. Current implementation works for the parent Site

Hi! Are you saying what i'm experiencing is already a known/existing bug?
documents = loader.load_data(
sharepoint_site_name = "WMSC",
sharepoint_folder_path = "Reference%20Codes",
recursive = True,
)
ERROR:custom_module:An error occurred while accessing SharePoint: {'code':
'itemNotFound', 'message': 'The resource could not be found.'}
Screenshot of site below
[image: image.png]
On Wed, Jan 31, 2024 at 9:21 AM arun_n @.***> wrote:

I am not aware on having additional sites in SharePoint. Current
implementation works for the parent Site
—
Reply to this email directly, view it on GitHub
https://github.com/run-llama/llama-hub/pull/745#issuecomment-1919201170,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A565JAJRPDGLPE5KYTFBERDYRJHNLAVCNFSM6AAAAABAKN4KZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZGIYDCMJXGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@lilz12 could you try giving Folder path as Reference/Codes

ERROR:custom_module:An error occurred while accessing SharePoint:
{'code': 'itemNotFound', 'message': 'The resource could not be
found.'}

On Wed, Jan 31, 2024 at 9:33 AM arun_n @.***> wrote:

@lilz12 https://github.com/lilz12 could you try giving Folder path as
Reference/Codes
—
Reply to this email directly, view it on GitHub
https://github.com/run-llama/llama-hub/pull/745#issuecomment-1919224433,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A565JAMXLKUUAVSHOED3W6TYRJI2LAVCNFSM6AAAAABAKN4KZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJZGIZDINBTGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


[youku] Youku server reported error -2002

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
Test link (seems to be some paywall or "member's area"):
https://v.youku.com/v_show/id_XNTg4NTg3MjI4MA==.html?spm=a1z3jc.11711052.0.0&isextonly=1
Not a big deal, but thought this should be reported.
Other regular links seem to be fine:
https://v.youku.com/v_show/id_XNTA3MzUyMTUyMA==.html?spm=a2hja.14919748_WEBHOME_NEW.drawer15.d_zj1_3&s=efbfbd4a46efbfbd5975&scm=20140719.manual.19594.show_efbfbd4a46efbfbd5975
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
./yt-dlp -vU "https://v.youku.com/v_show/id_XNTg4NTg3MjI4MA==.html?spm=a1z3jc.11711052.0.0&isextonly=1"
[debug] Command-line config: ['-vU', 'https://v.youku.com/v_show/id_XNTg4NTg3MjI4MA==.html?spm=a1z3jc.11711052.0.0&isextonly=1']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[934496428] (zip)
[debug] Python 3.11.2 (CPython arm64 64bit) - macOS-13.2.1-arm64-arm-64bit (OpenSSL 1.1.1t  7 Feb 2023)
[debug] exe versions: phantomjs 2.1.1
[debug] Optional libraries: sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Extractor Plugins: SamplePluginIE
[debug] Post-Processor Plugins: SamplePluginPP
[debug] Loaded 1845 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 5a6829509847cbe86cd5200e0e285f154c50416cf28a1b49b341ae1a030a98d6
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/latest/download/_update_spec
Updating to<EMAIL_ADDRESS>...
[debug] Downloading yt-dlp from https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp
[debug] Downloading SHA2-256SUMS from https://github.com/yt-dlp/yt-dlp/releases/latest/download/SHA2-256SUMS
Updated yt-dlp to<EMAIL_ADDRESS>[debug] Restarting<EMAIL_ADDRESS>./yt-dlp -vU 'https://v.youku.com/v_show/id_XNTg4NTg3MjI4MA==.html?spm=a1z3jc.11711052.0.0&isextonly=1'
[debug] Command-line config: ['-vU', 'https://v.youku.com/v_show/id_XNTg4NTg3MjI4MA==.html?spm=a1z3jc.11711052.0.0&isextonly=1']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (zip)
[debug] Python 3.11.2 (CPython arm64 64bit) - macOS-13.2.1-arm64-arm-64bit (OpenSSL 1.1.1t  7 Feb 2023)
[debug] exe versions: phantomjs 2.1.1
[debug] Optional libraries: no_Cryptodome-None, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Extractor Plugins: SamplePluginIE
[debug] Post-Processor Plugins: SamplePluginPP
[debug] Loaded 1787 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 91cad9f121c1f6f0a81b747415c46ecba0ff331ed38cc6433040b4ac7b6e15ca
yt-dlp is up to date<EMAIL_ADDRESS>[youku] Extracting URL: https://v.youku.com/v_show/id_XNTg4NTg3MjI4MA==.html?spm=a1z3jc.11711052.0.0&isextonly=1
[youku] XNTg4NTg3MjI4MA: Retrieving cna info
[youku] XNTg4NTg3MjI4MA: Downloading JSON metadata
ERROR: [youku] XNTg4NTg3MjI4MA: Youku server reported error -2002: 该视频已经加密，请输入密码; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "./yt-dlp/yt_dlp/extractor/common.py", line 694, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "./yt-dlp/yt_dlp/extractor/youku.py", line 196, in _real_extract
    raise ExtractorError(msg)

If it is paywalled, and you are not passing any credentials, what exactly is the issue you are reporting?

well, thought error handling could have been more accurate, though not critical. Do not have credentials to pass that paywall, just found this "content type" and thought output with some random  was a data parsing issue or something. anyway, I'll close this one since most likely it's irrelevant. appologies for the confusion.

Untested, but this should be enough
diff --git a/yt_dlp/extractor/youku.py b/yt_dlp/extractor/youku.py
index 404f196f4..76b9c756a 100644
--- a/yt_dlp/extractor/youku.py
+++ b/yt_dlp/extractor/youku.py
@@ -6,6 +6,7 @@
 from .common import InfoExtractor
 from ..utils import (
     ExtractorError,
+    clean_html,
     get_element_by_class,
     js_to_json,
     str_or_none,
@@ -192,7 +193,7 @@ def _real_extract(self, url):
             else:
                 msg = 'Youku server reported error %i' % error.get('code')
                 if error_note is not None:
-                    msg += ': ' + error_note
+                    msg += ': ' + clean_html(error_note)
                 raise ExtractorError(msg)

         # get video title


Tempo libraries are out of sync with Charmhub

Bug Description
The libraries shouldn't have local changes, since the version numbers on Charmhub match the one main. We probably forgot to bump the LIBPATCH version (and ignored the CI warning about it, I guess), so the libraries won't be able to be published by CI.
Bumping the LIBPATCH version on both libraries should be enough to fix the issue.
To Reproduce
$ charmcraft fetch-lib
...
Library charms.tempo_k8s.v0.charm_tracing has local changes, cannot be updated.
Library charms.tempo_k8s.v1.tracing has local changes, cannot be updated.
...

Environment

Relevant log output
-

Additional context
No response

Looks like new versions are already published correctly after the new pull requests so we can close this one :)


irmin: use a more compact accumulator for unique tree traversals

This PR improves the memory usage of Tree.fold ~unique:`True by a factor of two by introducing a more efficient hashset implementation for small fixed-length strings. This is a first step towards factoring the Tezos snapshot export logic into Irmin core (and so considerably simplifying lib_context). Provided in two commits:

introduces a new internal irmin.data library containing the hashset implementation. The hashset uses open addressing inside a bigstring with a relatively high maximum load factor in order to get close-to-optimal compactness without much runtime overhead.

switches Tree.fold to use this hashset implementation rather than the previous (hash, unit) Stdlib.Hashtbl.t.

The implementation comes with a basic benchmark that compares it to Stdlib.Hashbtl.t:

For now I've also included a Python script that takes the .csv output from the benchmark and generates the above graphs.

Codecov Report

Merging #1770 (44dbf18) into main (1d83f08) will increase coverage by 0.11%.
The diff coverage is 75.25%.

@@            Coverage Diff             @@
##             main    #1770      +/-   ##
==========================================
+ Coverage   67.48%   67.59%   +0.11%
==========================================
  Files         100      101       +1
  Lines       12974    13063      +89
==========================================
+ Hits         8755     8830      +75
- Misses       4219     4233      +14

Impacted Files
Coverage Δ

src/irmin/hash.ml
54.54% <11.11%> (-16.29%)
:arrow_down:

src/irmin/tree.ml
81.26% <20.00%> (+0.04%)
:arrow_up:

src/irmin-tezos/schema.ml
82.92% <50.00%> (-2.08%)
:arrow_down:

src/irmin/data/fixed_size_string_set.ml
86.41% <86.41%> (ø)

src/irmin-unix/fs.ml
67.74% <0.00%> (+3.22%)
:arrow_up:

Continue to review full report at Codecov.

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

@CraigFe can you move the python scripts (maybe at https://github.com/tarides/tezos-storage-bench or https://github.com/tarides/irmin-tezos?) so that we can merge this

Rebased and dealt with the outstanding comments. Will merge once the CI is passing to unblock https://github.com/mirage/irmin/pull/1757.


Failure to retrieve Manila image

See attached log for errors. Note that this might be an error in my configuration as well.
manila.txt

This was an error me not having the image available at the specific location.


Add Feature to define OpenAPI spec POST endpoint that will create BPMN process instances

Is your feature request related to a problem? Please describe.
We need a way to expose an API-first standards-based REST endpoint using OpenAPI specification 3.0 endpoint so that middleware tools like Mulesoft, Fuse, etc., could POST a ProductionOrder to a Camunda runtime.  Camunda would immediately create a BPMN instance in a synchronous manner on receipt of the HTTP POST.
I was looking for a feature in the Modeler on either the start task or the receive message task to accept this JSON payload as an input variable, and be able to use JSON path to extract data from the JSON payload, and display in a human task.
$variableName.productionOrder.identifier to get the identifier of the production order,
$variableName.productionOrder.lastModificationDateTime to get the date of the production order,
and so forth
Describe the solution you'd like
The goal is the manufacturing plant would be able to view these Production Orders in the tasklist, and a user task would allow viewing on the production order.  To get and set each property to a separate variable is burdensome, and JSON path much more eloquent and likely more performant than a transformation.  It would be good to archive the original payload as well.
We have initiatives for small and medium sized businesses that need simpler manufacturing process tool, and Camunda would a great tool at work center level.
I have attached the OAGIS OpenAPI Specification generated using the NIST/OAGi Score tool found in Github.  This is an open standard and the Score tool is in open source.
We would need a way to reference the attached YML file during deployment.
There would need to be a way to update the YML in the Modeler, create a variable for the physical artifact, and reference that in the BPMN.xml.
Describe alternatives you've considered
I have been looking at the REST API and do see POST /message, but there is no detail in the documentation.
https://docs.camunda.org/manual/latest/reference/rest/message/
It appears to be an idea or work-in-progress.
I am also looking at
POST /signal
But this appears to be a signal task for a running instance.  I need to create an instance.
I have also explored other middleware technologies to front-end Camunda, by hosting this API and handing off the JSON to the process.  But herein lies the challenge.  Why another tool?  Or why should I have to write Java code to 'wrap' camunda?
Production-Order-oagis-id-4abf241d4f2d47cebf6d44382a9fdced(POST).yml.txt

Thanks for your feature request. Can you describe/ sketch what your proposed solution for the Camunda Modeler could look like? Applying our issue template would also help.

@pinussilvestrus sorry, I blew that text away, which I thought I covered most of the ask. I can try to sketch something up.

@pinussilvestrus I reformatted per your template, adding some text.  I will create a diagram.
Here are BPMN diagrams showing our goals:

Consider adding HTTP listener

Consider adding JSON type

Consider adding HTTP listener

Thanks for describing your use Case. It's still hard for me to understand your dedicated feature request for the Camunda Modeler. Your use case sounds very special and I can't see a standard feature the Modeler can offer.
Can you briefly describe the Feature you're thinking Off, and where to implement in the Modeler?

Did you also consider asking in the forum?

We have used Oracle BPM (OBPM) in the past, and it offered capabilities to call a SOAP web service and now REST API that would automatically generate a process instance.   We also had OBPM monitor JMS queues for messages.
Then we would map from the message payload to to ADF forms.

@pinussilvestrus
I am seeing a number of form posts related to this, with unanswered questions, e.g.,
https://forum.camunda.org/t/input-parameter-variable-type-json/10022
The above is EXACTLY my request, but with the response did not answer the need.
https://forum.camunda.org/t/how-can-use-json-variable-in-camunda-modeler/20528
The above is unanswered
It seems that people are having to write Java, Javascript to get and set individual variables using the Spin Dataformat.  That should be transparent to the user and a single variable should be set to the JSON payload instance.  One should not have to parse the file and set individual properties then reference those new properties in a form or BPMN expression.  JSON path navigation should be the approach.
The HTTP listener goal is to provide 1) a new way to provide a input path to set the above JSON type based on the HTTP request body for content-type application/json, application/oagis+json (future ICANN entry) or custom vnd content-types, and 2) provide a way for the runtime deployed in Tomcat, or what container used, to route by the OpenAPI operation and resource path to the proper BPMN process.  This feature would also provide means to receive catch event notifications from other systems if the business process requires data in an asynchronous manner from an ERP or other systems.

Hi @dubnemo ,
Thanks for sharing all the details.
Have you considered using our REST API to trigger a new process instance (using a default start event) and adding the JSON that you mentioned as a process variable? https://docs.camunda.org/manual/latest/reference/rest/process-definition/post-start-process-instance/
Then you could use a simple script task as the first task of your process that reads the JSON and creates further variables from it using setVariable(). https://docs.camunda.org/manual/latest/user-guide/data-formats/json/#scripting-integration
Please let me know if this would solve your problem or whether there is anything on top that you would require as a new feature of the Camunda Modeler.
Best,
Volker

@volkergersabeck  While I appreciate your goal to get me 'operational', that is not the theme of this enhancement request.

it does not address the import of OpenAPI 3 spec for a specific variable (UI to add type)
the copy of data from the JSON payload to a new variable (setVariable()) increases memory utilization, therefore less performant, and is redundant.  The intent is to be able to access the data directly from an UI form using JSON path from the initial variable set.  Some invoice payloads may have one hundred or so data elements (e.g., Peppol and the Federal Reserve's Business Payments Coalition here in the United States).
be able to expose my own endpoint (UI change add the HTTP listener) with a standards-based JSON, in this case OAGIS from the Open Applications Group.  Looking at the post-start-process-instance documentation, this would like be typed as object, and the client would have to pass as an escaped string which in my opinion, should not be required based on the approach I am suggesting.
"For variables of type Object, the serialized value has to be submitted as a String value."
Last, this could be expanded to trap 'signal' events, by calling these APIs, which you are only suggest to create the process instance, not to resume the process instance based on a trapped event via API.  I have been looking for API calls for this, but the documentation seems to be incomplete (work in progress).  These signals could come from delay response manufacturing operations processes, from other systems or programmable logic contollers (PLCs).

It seems that SPIN does handle JSON Path, and should be able to be called directly from a UI form text control.
I am not seeing that capability at this time. I have been reviewing a number of references, e.g.,
https://blog.camunda.com/post/2018/08/modeler-plugin-embedded-form-generator/
but only see list of parameters which I would have to copy from my input payload using a similar script as you have provided (thank you).
In summary, this is less of a 'problem' but a means to provide better efficiencies from design to deployment of the process model, and to provide better interoperability with other systems especially with 'business collaborations' modeled in BPMN where message flows and signals are predominantly used.
Thanks.
Scott Nieman
Expert Enterprise Architect
Land O'Lakes

Thanks @dubnemo again for sharing your feedback and clarifying your use case!

While it seems that SPIN does handle JSON Path, https://docs.camunda.org/manual/latest/reference/spin/json/03-querying-json/
String value = JSON(json).jsonPath("$.child[0].name").stringValue();
this should be able to be used directly from a UI form text control. I am not seeing that capability at this time.

You are right that working with JSON documents is limited at this point and could be improved in the future.
If what you are searching for such improved capabilities right now, I strongly suggest you to have a look into Zeebe, our next generation process engine. Over there, we use JSON only as variables with FEEL for scripting / extracting data (cf. Zeebe variables and Zeebe Expression Language.
If you are searching for a more convenient way to interact with Open API specified endpoints I ask you to share your use case with others via our forums. If a significant number of our users require such capabilities we may account for it on our roadmap.
I'll close this issue for now, as I do not see that we can tackle this specific scenario in the near future.

Since Swagger Editor can take an OpenAPI 3.x specification and generator Spring Boot code, it may be worth the effort to leverage the models folder content to reference the JSON payload as variable.  I believe code from older Java libraries that display XML trees can be refactored to display JSON trees.  JSON path references can be used to 'set' UI parameters, API parameters in GET calls, and data transformations to DB tables, and so forth.


[BUG][NOWEB] - Webhook when viewing status not working

Webhook when viewing status not working
Version
{
  "version": "2024.5.6",
  "engine": "NOWEB",
  "tier": "PLUS",
  "browser": "/usr/bin/chromium"
}

Expected behavior
While waiting for the message.ack event, a webhook should be sent whenever a contact views the status I sent
In practice, the webhook is received only in the first view and not in the following views

In practice, the webhook is received only in the first view and not in the following views

That's right, it works this way even in the origial WA app - if you watch status multiple times from the same account - it shows "1 view(s)"
let us know if we misunderstood smth here!

No, I'm talking about viewing from another account
The webhook is sent only on the first view, and subsequent views from other accounts are not sent

@devlikepro Any update on this?

Working on that! Found the root cause, fixing it in the engine, hopefully fix will be available soon! :crossed_fingers:

Fixed in 2024.5.14!
Also fixed from/to name - it'll be status@broadcast
{
    "event": "message.ack",
    "session": "default",
    "me": {
        "id"<EMAIL_ADDRESS>        "pushName": "Sim1"
    },
    "payload": {
        "id": "true_status@broadcast_AAAAAAAAAAAAAAAAA",
        "from": "status@broadcast",
        "to": "status@broadcast",
        "participant"<EMAIL_ADDRESS>        "fromMe": true,
        "ack": 3,
        "ackName": "READ"
    },
    "engine": "NOWEB",
    "environment": {
        "version": "2024.5.14",
        "engine": "NOWEB",
        "tier": "PLUS",
        "browser": "/usr/bin/google-chrome-stable"
    }
}