79436554

Date: 2025-02-13 14:48:03
Score: 0.5
Natty:
Report link

you can use this:

from io import StringIO

df = pd.read_csv(StringIO(jobresults))
Reasons:
  • Whitelisted phrase (-1.5): you can use
  • Low length (1.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Ayub Abuzer

79436549

Date: 2025-02-13 14:46:02
Score: 0.5
Natty:
Report link

Using stream.Readable.fromWeb(readableStream[, options]) one can convert a Web API ReadableStream to a Node.js stream.Readable.

The following code example illustrates how to do that:

const { Readable } = require('node:stream');

// Assuming you have a Web API ReadableStream named webReadableStream
const nodeReadable = Readable.fromWeb(webReadableStream);
});

This function is available since Node.js version 17, but at the time of writing, in the most recent version of Node.js version 23, but only available as an experimental function (not available by default).

Reasons:
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Borewit

79436528

Date: 2025-02-13 14:41:01
Score: 2
Natty:
Report link

To fix my issue, looks like it's running files found in miniconda3/etc/conda/activate.d.There is a file there called oracle-instant-client_activate.sh, which checks for the instant client folder and if it doesn't see it, it downloads the instant client from Oracle's website. I deleted this file and now my problem is gone. There were lots of other files in this directory, too, including env_var.sh, where I decided to set some environment variables.

Reasons:
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Kelly

79436526

Date: 2025-02-13 14:39:00
Score: 3.5
Natty:
Report link

I know old but someone may need it cd ..\\.. = 2 up

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: putty

79436520

Date: 2025-02-13 14:36:59
Score: 5
Natty: 5
Report link

Just curious, but can the display of the photo gallery be changed in any way for a PWA on Android or iOS? Ex. can the images be enlarged?

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Chris Kobar

79436512

Date: 2025-02-13 14:33:58
Score: 1
Natty:
Report link

Well, I found another way to solve it

Since I there is specific user for this connection, I found that I can set the schema "at user level" with:

ALTER USER <my user> SET SEARCH_PATH TO <my schema>

With this, connections made through my linkedservice with that specific user, will be set to the desired schema transparently

Reasons:
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Smoke Less

79436509

Date: 2025-02-13 14:31:58
Score: 2.5
Natty:
Report link

Hey I had this issue on safari due to private relay:

safari settings -> privacy -> hide ip address

This needs to be disabled for the login flow to work.

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Zach Mor

79436497

Date: 2025-02-13 14:27:57
Score: 3.5
Natty:
Report link

I managed to fix it. The solution was to wrap the path variables in parenthesis and encoding a few of the ":" in the path as well as using a comma instead of ampersand between the variables.

Documentation example: https://api.linkedin.com/rest/adAccountUsers/account=123456789&user=ABCABCABCAB

Working: https://api.linkedin.com/rest/adAccountUsers/(account:urn%3Ali%3AsponsoredAccount%3A123456789,user:urn%3Ali%3Aperson%3AABCABCABCAB)

Reasons:
  • Probably link only (1):
  • Low length (0.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: MSFU

79436493

Date: 2025-02-13 14:26:57
Score: 1
Natty:
Report link

Same problem. So far only Oracle's java extension formatter seems to be recognised by VSCode properly. This is what worked for me:

"[java]": {
    "editor.defaultFormatter": "Oracle.oracle-java"
 },

I took Molly's suggestion to generate a new default java-formatter.xml, but that didn't work either.

Reasons:
  • Whitelisted phrase (-1): worked for me
  • RegEx Blacklisted phrase (1): Same problem
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Lee Shu Yun

79436482

Date: 2025-02-13 14:23:56
Score: 0.5
Natty:
Report link

Make two sheets that connect to each data source, place both in a container on your dashboard. Use a Dynamic Visibility Zone to switch the sheets depending on the user parameter. You cannot have a single sheet change the data source with a parameter but this gives you the same effect.

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Single line (0.5):
  • High reputation (-1):
Posted by: Bernardo

79436481

Date: 2025-02-13 14:22:56
Score: 2
Natty:
Report link

They are trying to replicate an App Store and it is very bad to say that they are annoying all developers. App is rejecting continously without proper clarification. Only reason they says that Permissions. No other details provided like which or what one need to be edited.

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: kapil tk

79436477

Date: 2025-02-13 14:21:55
Score: 2.5
Natty:
Report link

[step]="0" worked for me

Reasons:
  • Whitelisted phrase (-1): worked for me
  • Low length (2):
  • Has code block (-0.5):
  • Has no white space (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Teun

79436472

Date: 2025-02-13 14:19:54
Score: 5.5
Natty:
Report link

Just saw this article on Ligolo Pivoting: https://www.stationx.net/how-to-use-ligolo-ng/. Not sure if that helps!

Reasons:
  • Blacklisted phrase (1): this article
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Michael Chan

79436469

Date: 2025-02-13 14:19:54
Score: 1
Natty:
Report link

The problem is solved by making the arguments optional:

#[derive(Args)]
#[group(required = true, multiple = false)]
struct Exclusive {
    #[arg(short)]
    a: Option<u8>,

    #[arg(short)]
    b: Option<u8>,
}
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Markus Grunwald

79436468

Date: 2025-02-13 14:18:54
Score: 3
Natty:
Report link

I have an working solution for this at - https://stackoverflow.com/a/79436047/18230058.

We can retrive any version from package.json by extracting the value during build time. this requires no changes from tsconfig & can be easily done with a simple file fetch and file update script. Please refer above link for complete solution.

Reasons:
  • Blacklisted phrase (1): stackoverflow
  • Low length (0.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: praneeth mandalemula

79436458

Date: 2025-02-13 14:16:53
Score: 3
Natty:
Report link

Try this fork of react-native-fast-image https://www.npmjs.com/package/@d11/react-native-fast-image

Reasons:
  • Whitelisted phrase (-1): Try this
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Devansh Saini

79436455

Date: 2025-02-13 14:16:53
Score: 1
Natty:
Report link

My issue was actually about the NDK. I solved by uninstalling it, as described here.

Reasons:
  • Whitelisted phrase (-2): I solved
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Emanuele Bellini

79436454

Date: 2025-02-13 14:16:53
Score: 1.5
Natty:
Report link

rtype function(vector<int> (&G)[]) { ... } . . vector<int> G[N];

also works. I use C++ 23(GCC 14.2, msys2)

Reasons:
  • Low length (1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Hadisur Rahman

79436450

Date: 2025-02-13 14:14:52
Score: 1.5
Natty:
Report link

Try this

Inside /App_Start/RouteConfig.cs

change: setting.AutoRedirectMode = RedirectMode.Permanent; to: settings.AutoRedirectMode = RedirectMode.Off;

Reasons:
  • Whitelisted phrase (-1): Try this
  • Low length (1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: mar aq

79436447

Date: 2025-02-13 14:13:52
Score: 0.5
Natty:
Report link
using         ptr_arr_using = int(*)[];  // pointer to array <-- answer
typedef int (*ptr_arr_typedef)[];        // pointer to array
typedef int  *arr_ptr_typedef [];        // array   of pointers
using         arr_ptr_using = int*[];    // array   of pointers

#include <type_traits>
static_assert( std::is_same_v<arr_ptr_using, arr_ptr_typedef>); // array   of pointers
static_assert( std::is_same_v<ptr_arr_using, ptr_arr_typedef>); // pointer to array

static_assert(!std::is_same_v<arr_ptr_using, ptr_arr_using  >); // arr_ptr != ptr_arr

What hinted me to this

An example "alias template" from https://en.cppreference.com/w/cpp/language/type_alias

template<class T> using ptr = T*;
using ptr_arr_using_template = ptr<int[]>; // then IDE showed `int(*)[]` hint

Aid Material

"The Clockwise/Spiral Rule" by David Anderson https://c-faq.com/decl/spiral.anderson.html

Will explain how to "parse complex declarations in your head". This time C typedef is slightly more readable vs C++ using since it helps to locate the parsing entry point faster (by typename).

So () brackets control the order of things during the declaration process.

Overkill example:

const int *volatile(*const(*const volatile)[1])[2]
// cv*->[1]->с*->[2]->v*=>cT // T=int
Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Starts with a question (0.5): What
  • Low reputation (1):
Posted by: int main

79436432

Date: 2025-02-13 14:10:51
Score: 0.5
Natty:
Report link

My mistake here was running this on iphone simulator, posting the answer so the next person does not have to go through what I went through, for FCM to work, you do not need the Swift code, just let the swift code be originally what it was unless you have your own native code, then run the app on a real device/iphone.

Reasons:
  • No code block (0.5):
  • Self-answer (0.5):
  • Single line (0.5):
  • High reputation (-1):
Posted by: lulliezy

79436426

Date: 2025-02-13 14:07:50
Score: 5
Natty:
Report link

Where did you define x and please explain what you want to do more clearly. Your loop will work from 0 to 10 including 9. Here you will square your x value as long as it is less than 5, otherwise you will increase it by one but I don't see your x value changing in the loop. You are just increasing the loop number by increasing it well. I don't understand what kind of result you want

Reasons:
  • RegEx Blacklisted phrase (2.5): please explain what you
  • No code block (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): Where did you
  • Low reputation (1):
Posted by: Anka

79436421

Date: 2025-02-13 14:06:50
Score: 2.5
Natty:
Report link

Migrate from Dynamic Links to App Links & Universal Links.

This migration guide focuses on using App Links and Universal Links, optionally using Firebase Hosting to host your app-site association files.

This migration replaces the following Firebase Dynamic Links features:


Feature Firebase Dynamic Links         | App Links   |  Universal Links
==============================================================================
Route users to the correct store for   |             |
their device from a single link click  |    Yes      |      No*
---------------------------------------+-------------+------------------------
Provide users with a continuation of   |             |
journey after downloading and          |     Yes     |      No*
installing your app using a deferred   |             |
deep link                              |             |    
---------------------------------------+-------------+------------------------
Provide users with a contextual        |             |
experience using deep-linked content   |     Yes     |      Yes
in your app (when already installed)   |             |  
---------------------------------------+-------------+------------------------
Provide analytics data related to      |     Yes     |      No
dynamic link click events              |             |
---------------------------------------+-------------+------------------------      
Provide the ability to create short    |     Yes     |      No
link URLs                              |             |
---------------------------------------+-------------+------------------------

If you continue to need other Firebase Dynamic Link features for your migration that aren't supported in this guide, see other migration scenarios in the Dynamic Links Deprecation FAQ documentation.

Suppose you have a Firebase Dynamic Link that looks like this:

Dynamic Link Example

Link name          | Welcome to Example.com
-------------------+------------------------------------
Deep link          | https://example.web.app/welcome
Android app        | com.example.android
Apple app          | com.example.ios
Long Dynamic Link  | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
Short Dynamic Link | https://example.page.link/m9Mm
-------------------+------------------------------------

The goal of this migration guide is to replace Firebase Dynamic Links like this:

https://example.page.link/m9Mm

With App Link / Universal Link deep links that look like this:

https://your-project-domain.web.app/welcome

Note that the App Link / Universal Link deep link will provide the following to your users:

However, the App Link / Universal Link deep link will not provide the following behaviors for your users (which Firebase Dynamic Links previously did):

Note the differences in behavior and functionality of these App Links / Universal Links compared to Firebase Dynamic Links called out in the table above.

For more detail see this link

reference: Google Firebase Migration support

Reasons:
  • Blacklisted phrase (1): this guide
  • Blacklisted phrase (1): this link
  • RegEx Blacklisted phrase (1): see this link
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Manthan Kanani

79436420

Date: 2025-02-13 14:06:50
Score: 2
Natty:
Report link

I just found a solution that worked for me, if you are using aos-animate in a div try using it in a next the div in a Link element and use aos-animate in the link element

Reasons:
  • Whitelisted phrase (-1): worked for me
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Stephen olise

79436409

Date: 2025-02-13 14:02:48
Score: 1
Natty:
Report link

Oh well, poor OT.

On the surface, this looks like a simple scenario. But in version control, for this type of impulses, there are no simple scenarios.

Start with thinking about what you really want:

With that out of the way, the OP asked specifically for the commits to be gone, even though I'd ask back: are you sure? Are you really sure?

And then it gets complicated. What do mean by 'commits be gone'? git rebase -i gives you options and not everything is what you think it is:

  1. A commit is a visible step in the version history
  2. A commit is a captured and frozen change of any number of files managed in the git repository. If you really are only interested in the visible history of commits, you do not want to use 'git rebase -i' to 'drop' or delete a line, but rather use 'squash' to make it look like it never happened. If you really are sure that all the lines you added in any file have that unmistakable smell of doom to them, then you might think the right thing to do is to delete or 'drop' the commits. Just be aware that the real pain is not over, but it starts here.

A) Dropping a commit will then lead to conflicts with subsequent commits where git tries to apply them. That is the very nature of version control, i.e. the frozen change of state of any number of files. Applying a commit where it doesn't fit will not work in many cases and the more changes, the more conflicts.

B) Did any of the responses mention branches? All your branches will still be there, with all their history. 'git rebase -i' lets you make changes to one branch (e.g. main), but will not affect your branches and branch points. Which is good, as otherwise you couldn't play with the commits that you branched from. But it is bad if you were trying to conceal the commits. They are all still there in the branches!!!

C) Are you working collaboratively with anyone? Are you aware of git push/pull? This is at the heart of git. And what you are suggesting is pulling the rug out from under your buddies feet. They are sure to want to return that favor.

Good luck.

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: Martin F Schulz

79436408

Date: 2025-02-13 14:02:48
Score: 0.5
Natty:
Report link

There is no need to guess, Prisma has documented their naming conventions:

Model names must adhere to the following regular expression: [A-Za-z][A-Za-z0-9_]*

Model names must start with a letter and are typically spelled in PascalCase

Model names should use the singular form (for example, User instead of user, users or Users)

And model fields:

Must start with a letter

Typically spelled in camelCase

Must adhere to the following regular expression: [A-Za-z][A-Za-z0-9_]*

https://www.prisma.io/docs/orm/reference/prisma-schema-reference#naming-conventions

You don't have to map your table and column names. You can ignore them and aim for optimal developer experience by letting Prisma handle the names.

As for the error, if you first started with one naming convention and later changed it, you must also sync your DB schema or write a migration.

Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Perttu Haliseva

79436403

Date: 2025-02-13 14:00:48
Score: 2
Natty:
Report link
 useEffect(() => {
    if (process.env.NODE_ENV === 'development') {
      import('jotai-devtools/styles.css');
    }
  }, []);
Reasons:
  • Low length (1):
  • Has code block (-0.5):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: zhihiong

79436402

Date: 2025-02-13 14:00:48
Score: 0.5
Natty:
Report link

When you have structure like you said

/ mysite.com
 ├─ app
 │ ├─ index.html
 │ └ ...
 └ .htaccess

You need to make sure that all your requests asking for documents (text/html) sent to mysite.com/app and any subsequent segments, are being redirected to mysite.com/app/index.html. To set up this configuration, you need to add some RewriteCond in your .htaccess.

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  # Browsers will specifically ask for HTML (among other things) on initial page load
  # That is, if the *user* tries to access a *nonexisting* URL, the app is loaded instead
  # but if a webpage attempts to load a missing resource it will return 404.

  # if (HTTP_ACCESS.contains('text/html') && file_not_exists(REQUEST_FILENAME))
  RewriteCond %{HTTP_ACCEPT} text/html
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} app [NC]
    RewriteRule ^app/.*$ /app/index.html [E]

  # If you have a fallback document under mysite.com directory.
  RewriteRule ^ - [L]
</IfModule>

Special thanks to VLRoyrenn for the explanation, you can find the answer here.

Reasons:
  • Blacklisted phrase (0.5): thanks
  • Long answer (-1):
  • Has code block (-0.5):
  • Starts with a question (0.5): When you have
  • Low reputation (1):
Posted by: batucha

79436400

Date: 2025-02-13 13:59:48
Score: 0.5
Natty:
Report link

Did you check the netFrameworkVersion value in your Logic App's template (click Export template)?

If it's set to "v6.0" you can amend the ARM template to set it to "v8.0".

Reasons:
  • Low length (1):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Starts with a question (0.5): Did you
  • High reputation (-1):
Posted by: 10p

79436393

Date: 2025-02-13 13:57:47
Score: 1
Natty:
Report link

It seems that the Microsoft Interop Toolkit 2.1 fixes all these specific problems. There is no official support for Visual Studio 2019 (in which I develop) but the InteropFormProxyGenerator on GitHub has an extension that can help you with that.

Please make sure that you reference the Microsoft.InteropFormTools dll in your project so that the actual helper modules can do their work.

Reasons:
  • No code block (0.5):
  • Self-answer (0.5):
Posted by: Martin

79436386

Date: 2025-02-13 13:55:46
Score: 1
Natty:
Report link
 SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
    systemNavigationBarColor: Colors.blue, 
  ));

instead of Blue, you can enter your required color and add this code in main()

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Manthan Bhatt

79436384

Date: 2025-02-13 13:55:46
Score: 0.5
Natty:
Report link

Turns out there was a problem with converting the .rpm package with alien.

I didn't include the --scripts parameter.

Here's how the package should be converted to .deb

sudo alien --scripts --to-deb oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm

I nearly managed to make the configuration work but it is a hell to make it work on debian, I think I'll look for alternative distros on which run this database.

Here's an article that pointed me towards the semi-solution.

https://www.baeldung.com/linux/debian-oracle-database-express-edition-xe

Reasons:
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: violetflare

79436365

Date: 2025-02-13 13:50:45
Score: 0.5
Natty:
Report link

You get the error: "The argument type 'double?' can't be assigned to the parameter type 'double'." Because double.tryParse() returns nullable double (double?) "meaning it can be null if parsing fails" And the parameter is type is non-nullable double (double) "meaning it always has a value and never can be null".

To fix this you have 2 options:

  1. Choose a value to be used in case of null: double x = double.tryParse('1.23') ?? 0.0; Here the double x won't be null even if double.tryParse() returns null the value 0.0 will be used.

  2. Use null assertion operator (!) since you checked if enteredStartingMiles == null and handled that case, in the following lines of code you can say "trust me enteredStartingMiles is not null" by adding (!) at the end of variable name enteredStartingMiles!

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: Mahmoud Alawady

79436361

Date: 2025-02-13 13:48:45
Score: 1
Natty:
Report link

you need to add a unique key to the component, e.g item.raw.id

<template #item.e_created_at="{ item }">
  <event-date :key="item.raw.id" :initialDate="item.raw.e_created_at" />
  {{ item.raw.e_created_at }}
</template>
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Sveta

79436360

Date: 2025-02-13 13:48:45
Score: 1
Natty:
Report link

You swapped the X and Y function arguments, so you're passing the latitude as longitude, and the longitude as latitude. See the docs for how to use this function: https://osmnx.readthedocs.io/en/stable/user-reference.html#osmnx.distance.nearest_nodes

Reasons:
  • Probably link only (1):
  • Low length (1):
  • Has code block (-0.5):
  • Single line (0.5):
  • High reputation (-1):
Posted by: gboeing

79436351

Date: 2025-02-13 13:46:44
Score: 5.5
Natty: 5
Report link

Is it another convention to put '__' on some function or is it a misuse of the variable naming convention ?

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Single line (0.5):
  • Starts with a question (0.5): Is it another
  • Low reputation (1):
Posted by: Rama Suntharasarma

79436341

Date: 2025-02-13 13:41:42
Score: 1
Natty:
Report link

use NITRO 100% works

// nuxtconfig

export default {
    runtimeConfig: {
        public: {
          YOUR_VAR: 'hello',
    },
  }
}

/// cmd

yarn build

cross-env NITRO_PUBLIC_YOUR_VAR=bye node .output/server/index.mjs

// runtime

console.log(useRuntimeConifg().public.YOUR_VAR) // 'bye'
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Anton

79436340

Date: 2025-02-13 13:41:39
Score: 10.5 🚩
Natty: 6
Report link

Good afternoon! Tell me, did you manage to solve the problem? I will be grateful for the answer.

Reasons:
  • Blacklisted phrase (1): Good afternoon
  • RegEx Blacklisted phrase (3): did you manage to solve the problem
  • RegEx Blacklisted phrase (1.5): solve the problem?
  • RegEx Blacklisted phrase (2): I will be grateful
  • Low length (1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Low reputation (1):
Posted by: el chako

79436337

Date: 2025-02-13 13:39:39
Score: 1.5
Natty:
Report link

The current flow you have described

Below are some suggestions you can try:

  1. Disable the button after the first click
  2. Wrap up all the UI-related operations in ui.access()
  3. Navigation should happen immediately after successful registration, requiring only one click

Please try the above points and see if your application works.

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Prashant Kumar

79436330

Date: 2025-02-13 13:36:38
Score: 1.5
Natty:
Report link

You need to replace <account-ID> with your actual AWS account numeric ID and <my-project> with the CodeBuild project's name, the one that should be allowed to assume that role.

Reasons:
  • Low length (1):
  • Has code block (-0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Joaquín Muleiro

79436327

Date: 2025-02-13 13:35:35
Score: 8 🚩
Natty: 4.5
Report link

I am facing the same issue. What was the solution you found?

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Me too answer (2.5): I am facing the same issue
  • Ends in question mark (2):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Mike Rodrigues

79436322

Date: 2025-02-13 13:34:35
Score: 1
Natty:
Report link

Found a solution, if anyone ever has a similar problem.. I changed

passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
  done(err, user);
});
});

to

passport.deserializeUser(async function(id, done) {
try {
  const user = await User.findById(id).exec(); 
  done(null, user); 
} catch (err) {
  done(err, null); 
}
});

And added {} to arrow function before res.render(which wasn't the only problem)

Reasons:
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Stefan

79436317

Date: 2025-02-13 13:30:34
Score: 1.5
Natty:
Report link

After researching and leaving a bugreport for Angular team I have the answer

For using AngularNodeAppEngine is mandatory to have "outputMode" option in build config. If you want to prevent prerendering use CommonEngine instead.

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Дмитрий Комов

79436315

Date: 2025-02-13 13:29:33
Score: 1.5
Natty:
Report link

Solution to this problem in my case : start nomad with --bind 0.0.0.0 flag :

nomad agent -dev --bind 0.0.0.0
Reasons:
  • Low length (1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Rami Dridi

79436312

Date: 2025-02-13 13:28:33
Score: 1
Natty:
Report link

In the meantime, I was able to solve the problem by myself with the help of two links from the Internet (one of them from Stackoverflow).

The problem was due to the fact that at the time I updated the database, a commit flag was apparently not set internally.

When debugging, I could see that the DataSet had been updated correctly, but a flag was still missing, which meant that the changes were not written and no error message was displayed. This situation was very confusing.

Link 1: http://www.codingeverything.com/2013/01/firing-datagridview-cellvaluechanged.html

Link 2: DataGridView row is still dirty after committing changes

From link 1 I first took the use of the events, while link 2 provided a valuable tip regarding the use of a BindingSource and a Handler.

Since my problem already exists in an old message on Stackoverflow, which has not received a single answer, I would like to publish my solution to the problem here.

First the function dgvConfig which now uses a global BindingSource.

Private Sub dgvConfig(ByRef dgv As DataGridView)
    Try
        Dim col1 As New DataGridViewTextBoxColumn
        col1.Name = "col1"
        col1.HeaderText = "Host"
        col1.DataPropertyName = "myKey"
        Me.dgvRmServers.Columns.Add(col1)

        Dim col2 As New DataGridViewCheckBoxColumn
        col2.Name = "col2"
        col2.HeaderText = "Active"
        col2.DataPropertyName = "myValue"
        col2.TrueValue = "true"
        col2.FalseValue = "false"

        bs.DataSource = _dsxConfigDb.DataSet.Tables("hosts")

        Me.dgvRmServers.Columns.Add(col2)
        Me.dgvRmServers.AutoGenerateColumns = False
        Me.dgvRmServers.SelectionMode = DataGridViewSelectionMode.FullRowSelect
        Me.dgvRmServers.AllowUserToAddRows = False
        Me.dgvRmServers.AllowUserToDeleteRows = False             
        Me.dgvRmServers.DataSource = _bs

        AddHandler _bs.ListChanged, AddressOf CustomersBindingSource_ListChanged

    Catch ex As Exception

    End Try
End Sub

Next are the EventHandlers I used.

CustomersBindingSource_ListChanged:

Public Sub CustomersBindingSource_ListChanged(sender As Object, e As ListChangedEventArgs)
    Try
        _dsxConfigDb.SqliteUpdateKvp("hosts", _dsxConfigDb.DataSet.Tables("hosts").Rows(dgvRmServers.CurrentCell.RowIndex)("myKey"), dgvRmServers.Rows(dgvRmServers.CurrentCell.RowIndex).Cells(1).Value)
    Catch ex As Exception

    End Try
End Sub

DataGridView_CurrentCellDirtyStateChanged:

Private Sub DataGridView_CurrentCellDirtyStateChanged(sender As System.Object, e As EventArgs) Handles dgvRmServers.CurrentCellDirtyStateChanged
    If dgvRmServers.IsCurrentCellDirty Then
        dgvRmServers.EndEdit(DataGridViewDataErrorContexts.Commit)
    End If
End Sub

DataGridView_CellValueChanged:

Private Sub DataGridView_CellValueChanged(sender As DataGridView, e As DataGridViewCellEventArgs) Handles dgvRmServers.CellValueChanged
    If e.RowIndex = -1 Then
        Exit Sub
    Else
        If dgvRmServers.IsCurrentCellDirty Then
            _bs.EndEdit()
        End If
    End If
End Sub

Finally, the function that writes my changes back to the database.

Public Function SqliteUpdateKvp(ByVal tbl As String) As Boolean
    Try
        Using con As New SQLiteConnection(_conn)
            con.Open()
            Using da As New SQLiteDataAdapter("SELECT * FROM hosts", con)
                Using cb As New SQLiteCommandBuilder(da)
                    'da.UpdateCommand = cb.GetUpdateCommand
                    Dim testo = da.Update(_dsxConfigDb.DataSet, tbl)
                End Using
            End Using
            con.Close()
        End Using

        Return True

    Catch ex As Exception
        _dsxLogger.WriteMessage(ex.Message, TraceEventType.Error)
        Return False
    End Try
End Function

Now it is possible to write the changed states of the CheckBoxes correctly into the database without any problems.

Summarized _bs.EndEdit() did the trick.

Reasons:
  • Blacklisted phrase (1): Stackoverflow
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Mark Mullen

79436308

Date: 2025-02-13 13:27:33
Score: 0.5
Natty:
Report link

Had the same issue when using custom defined shadcn components.

I was also getting another issue to do with the .

Fixing that means adding "module": "preserve" to tsconfig.json. It's required by "moduleResolution": "bundler"

That change refreshed the Editor (VS Code), fixed the script issues, and fixed the @render error too.

Please read more into the change v5 change from slots to snippets because the change also has some quirky edge cases: https://svelte.dev/docs/svelte/v5-migration-guide#Snippets-instead-of-slots

Reasons:
  • Has code block (-0.5):
  • User mentioned (1): @render
Posted by: alanionita

79436291

Date: 2025-02-13 13:20:31
Score: 2
Natty:
Report link

had same issue so change the port to 5432, even in their docs they are mentioning 6543 but this is for Transaction pooler and you need Session pooler which is 5432

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: JERVI

79436289

Date: 2025-02-13 13:19:31
Score: 3.5
Natty:
Report link

you need to put the absolute path like `Users/<your_user>/data/something/something

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Ayub Abuzer

79436286

Date: 2025-02-13 13:16:30
Score: 3.5
Natty:
Report link

Try button "ACTION" then chose "Create log alert"

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Maurício Martins

79436285

Date: 2025-02-13 13:16:30
Score: 0.5
Natty:
Report link

I've got the same problem caused by the web site files are store in the same folder as my jekyll installation.

To solve :

  1. create a subfolder : mkdir web
  2. move your site files in the new directory : mv *.html ./web
  3. change to the new directory : cd web
  4. launch jekyll serve : bundle exec jekyll serve
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: SuperPoney

79436284

Date: 2025-02-13 13:16:30
Score: 2
Natty:
Report link

Consider using something like Laravel Herd. It's now pretty much the best tool for running Laravel/PHP apps locally for dev on Windows machines. You can run multiple PHP versions for different projects amongst a load of other features including a GUI for managing Node versions.

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Charlie Tennant

79436278

Date: 2025-02-13 13:15:30
Score: 2
Natty:
Report link

The best way to exclude the externals folder from the Next.js build process is to rename it with a leading underscore (e.g., _externals). Next.js treats folders starting with an underscore as ignored by default, preventing them from being included in the build.

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: israeltheminer

79436277

Date: 2025-02-13 13:14:29
Score: 1.5
Natty:
Report link

i implementing this code in my project annd is working fine

onTap: () async { if (shareList[index]['title'] == "Whatsapp") { final url = "https://wa.me/?text=${articleLink.toString()}"; if (await canLaunchUrl(Uri.parse(url))) { await launchUrl(Uri.parse(url)); Navigator.pop(context); } else { throw 'Could not launch $url'; } } else if (shareList[index]['title'] == "Facebook") { final facebookPageUrl = Uri.parse( "fb://facewebmodal/f?href=https://www.facebook.com/$articleLink"); if (await canLaunchUrl(facebookPageUrl)) { await launchUrl(facebookPageUrl, mode: LaunchMode.externalApplication); Navigator.pop(context); } else { final fallbackUrl = Uri.parse( "https://www.facebook.com/$articleLink"); Navigator.pop(context); if (await canLaunchUrl(fallbackUrl)) { await launchUrl(fallbackUrl, mode: LaunchMode.externalApplication); } else { throw 'Could not launch Facebook URL'; } } } else if (shareList[index]['title'] == "Gmail") { final Uri emailUri = Uri( scheme: 'mailto', path: '', query: Uri.encodeFull( 'subject=Send a Article Link&body=$articleLink'), ); if (await canLaunchUrl(emailUri)) { await launchUrl(emailUri); Navigator.pop(context); } else { throw 'Could not launch email app'; } } else if (shareList[index]['title'] == "LinkedIn") { final profileUrl = Uri.parse( "https://www.linkedin.com/sharing/share-offsite/?url=${Uri.encodeComponent(articleLink)}"); if (await canLaunchUrl(profileUrl)) { await launchUrl(profileUrl, mode: LaunchMode.externalApplication); Navigator.pop(context); } else { throw 'Could not launch LinkedIn profile'; } } else { Clipboard.setData(ClipboardData(text: articleLink)) .then((_) { ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text("Link copied to clipboard"))); }); // Clipboard.setData(ClipboardData(text: articleLink)); Navigator.pop(context); } },

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: Nikita

79436276

Date: 2025-02-13 13:14:29
Score: 1.5
Natty:
Report link

-> Extend Exception for checked exceptions (must be declared in method signatures). -> Extend RuntimeException for unchecked exceptions (optional handling, usually due to programmer error). -> NumberFormatException is a subclass of IllegalArgumentException and is thrown when a string does not match the expected numerical format. -> IllegalArgumentException is for bad method arguments

Reasons:
  • No code block (0.5):
  • Low reputation (1):
Posted by: DushKritoKari

79436263

Date: 2025-02-13 13:09:28
Score: 1
Natty:
Report link

Im using:

Java 21
Spring Boot 3.3.0
VM options: -javaagent:/aspectjweaver-1.9.22.jar -javaagent:/spring-instrument-6.2.2.jar

I upgraded version of hibernate-core to 6.5.3.Final and it works fine. This error relate to https://hibernate.atlassian.net/browse/HHH-18108

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Ân Hồ

79436251

Date: 2025-02-13 13:02:26
Score: 1.5
Natty:
Report link

I found that adding this tag <meta name="viewport" content="width=device-width, initial-scale=1"> tells the browser how to scale and display the page on different screen sizes - now the issue is resolved.

Ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Jay

79436250

Date: 2025-02-13 13:02:26
Score: 3
Natty:
Report link

I found my app was using a library still on javax, specifically javax.xml.bind. Updated to a version that used jakarta and the error messages in the console went away.

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Rustinpeace

79436242

Date: 2025-02-13 12:58:25
Score: 2
Natty:
Report link

This seems to work for me:

export $(echo ${QUERY_STRING} | tr '&' '\n' | xargs -L 1)
Reasons:
  • Low length (1.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Andy

79436221

Date: 2025-02-13 12:51:23
Score: 3
Natty:
Report link

You need to call keycloak.init(...); to launch the auth process.

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: Mektoub

79436202

Date: 2025-02-13 12:46:22
Score: 1.5
Natty:
Report link

Ошибка -bash: /Applications/Python 3.x/Install Certificates.command: No such file or directory указывает на то, что скрипт Install Certificates.command отсутствует в вашей установке Python. Это может быть связано с тем, что Python был установлен не через официальный установщик с сайта python.org, или скрипт был удален.

Не волнуйтесь, проблему можно решить вручную. Вот несколько способов исправить ошибку с SSL-сертификатами на macOS.

  1. Установите пакет certifi

Пакет certifi предоставляет актуальные корневые сертификаты для Python. Установите его:

bash Copy pip install certifi После установки обновите переменную окружения SSL_CERT_FILE, чтобы Python использовал сертификаты из certifi:

bash Copy export SSL_CERT_FILE=$(python -m certifi) 2. Вручную обновите сертификаты

Если у вас нет скрипта Install Certificates.command, вы можете вручную скопировать сертификаты из пакета certifi в системную папку Python.

Найдите путь к сертификатам certifi: bash Copy python -m certifi Это вернет путь к файлу cacert.pem, например: Copy /Library/Frameworks/Python.framework/Versions/3.x/lib/python3.x/site-packages/certifi/cacert.pem Скопируйте этот файл в папку с сертификатами Python: bash Copy sudo cp $(python -m certifi) /Library/Frameworks/Python.framework/Versions/3.x/etc/openssl/cert.pem (Замените 3.x на вашу версию Python.) 3. Переустановите Python

Если проблема сохраняется, возможно, стоит переустановить Python с официального сайта python.org. Убедитесь, что вы скачали и установили последнюю версию Python для macOS.

После установки проверьте, появился ли скрипт Install Certificates.command:

bash Copy ls /Applications/Python\ 3.x/ Если скрипт есть, выполните его:

bash Copy /Applications/Python\ 3.x/Install\ Certificates.command 4. Используйте Homebrew для установки Python

Если вы используете Homebrew, вы можете установить Python через него:

bash Copy brew install python После установки обновите сертификаты:

bash Copy /usr/local/opt/[email protected]/bin/python3 -m pip install --upgrade certifi 5. Проверьте переменные окружения

Убедитесь, что Python использует правильные сертификаты. Проверьте переменную окружения SSL_CERT_FILE:

bash Copy echo $SSL_CERT_FILE Если она не указывает на файл cacert.pem из certifi, установите её вручную:

bash Copy export SSL_CERT_FILE=$(python -m certifi) 6. Используйте флаг --trusted-host

Если проблема возникает только при установке пакетов через pip, вы можете временно отключить проверку SSL:

bash Copy pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package_name> 7. Проверьте версию OpenSSL

Убедитесь, что у вас установлена последняя версия OpenSSL:

bash Copy openssl version Если версия устарела, обновите её через Homebrew:

bash Copy brew install openssl Итог

Если скрипт Install Certificates.command отсутствует, вы можете вручную обновить сертификаты с помощью пакета certifi или переустановить Python. После этого проблема с SSL-сертификатами должна быть решена.

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • No latin characters (1):
  • Low reputation (1):
Posted by: LEbEdEV

79436199

Date: 2025-02-13 12:45:22
Score: 3
Natty:
Report link

You are not really giving enough information here, for example:

See https://developers.docusign.com/docs/esign-rest-api/esign101/error-codes/ for information on what the error codes represent for the docusign api.

and you might want to check the common error FAQ at https://developers.docusign.com/docs/esign-rest-api/esign101/error-codes/troubleshooting-common-errors/

Reasons:
  • Probably link only (1):
  • Low length (0.5):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Low reputation (0.5):
Posted by: Benjamin Schollnick

79436198

Date: 2025-02-13 12:45:22
Score: 2.5
Natty:
Report link

Use “pool.promise.query” insted of pool.query

It will make it promise forcefully so await will work with it

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Vineet Pathar

79436194

Date: 2025-02-13 12:43:21
Score: 3.5
Natty:
Report link

You might want to add a fixed width to the container, so that the scroll can work

Reasons:
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Abdone Technology

79436189

Date: 2025-02-13 12:42:21
Score: 1.5
Natty:
Report link

-2

I just deleted .gradle folder from android folder and run "npm run android" again and it worked

Reasons:
  • Whitelisted phrase (-1): it worked
  • Low length (1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Nikhil Singh

79436188

Date: 2025-02-13 12:42:20
Score: 4.5
Natty:
Report link

you have to check the "Select what ShareX can access" option

enter image description here

Reasons:
  • Probably link only (1):
  • Low length (1.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Aleksandra

79436183

Date: 2025-02-13 12:40:20
Score: 0.5
Natty:
Report link

Delete the postcss.config.js file

And then npm i -d @tailwindcss/vite, and also change the vite.config.ts file

...
import tailwindcss from "@tailwindcss/vite";

export default defineConfig(async () => ({
  plugins: [
    react(),
    tailwindcss(),
  ],
...
...
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: 孙欣乐

79436177

Date: 2025-02-13 12:37:19
Score: 0.5
Natty:
Report link

for RHEL/OracleServer try rpm -qi glibc-devel:

> rpm -qi glibc-devel


Name        : glibc-devel
Version     : 2.28
Release     : 236.0.1.el8.7
Architecture: x86_64
Source RPM  : glibc-2.28-236.0.1.el8.7.src.rpm
...

on Debian try dpkg -s libc6-dev

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: Fedor

79436165

Date: 2025-02-13 12:35:18
Score: 1
Natty:
Report link
S1 = list(map(str, input("Enter string 1")))
S2 = list(map(str, input("Enter string 2")))
set1 = set(S1)
set2 = set(S2)
count = 0
for i in set1:
    for x in set2:
        if i == x:
            count = count+1
print(count)
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: srivardhni

79436157

Date: 2025-02-13 12:32:18
Score: 1.5
Natty:
Report link

I'm joining the conversation in case there's anyone who's ending here in 2025 like me. I'd also like to know if there's a way to know the values ​​before the modified ones or simply the fields that have been updated. I do not make the connection through web hook, but directly with the Logic Apps connector for Azure DevOps. It seems that, using the web hook, you can specify the trigger more.

In my case I want to create a child item when it changes to a specific state. I don't need to know what the previous state was, but I do need to know if it's the state the field that has been modified. I've seen that I can solve it with the item's modification date and a specific field for the state modification date, but this doesn't exist for all fields. If it is useful for someone who is looking for a solution to the case presented here, I would try to deduce the previous state from the text of the "System_Reason" field, since this will indicate the reason for the state change and by default it mentions the previous state. It's not ideal but it might be useful. Or directly use the web hook method.

Reasons:
  • RegEx Blacklisted phrase (1): I want
  • Long answer (-1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: user29629776

79436152

Date: 2025-02-13 12:31:15
Score: 6.5 🚩
Natty:
Report link

can you show your code of your form ? we need to see how you implement the form. and how you insert functions on it.

Reasons:
  • RegEx Blacklisted phrase (2.5): can you show your code
  • Low length (1):
  • No code block (0.5):
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): can you
  • Low reputation (1):
Posted by: Saimun

79436143

Date: 2025-02-13 12:27:14
Score: 1.5
Natty:
Report link

I had the same problem and decided to try connecting my phone using Android Studio (via QR). After that, the name of the connected PC was displayed on the phone. After that, I already went to VS Code.

Reasons:
  • Whitelisted phrase (-1): I had the same
  • Low length (0.5):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: user337692

79436141

Date: 2025-02-13 12:25:13
Score: 2
Natty:
Report link

About composer if the agent has installed composer, you can just use composer <YourCommand> with Command Line step.

Reasons:
  • Low length (1):
  • Has code block (-0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Nick Blaze

79436139

Date: 2025-02-13 12:25:13
Score: 5
Natty: 5
Report link

Deactivate event will be raised when you will switch focus to another application too. How to prevent this ?

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Unregistered user (0.5):
  • Low reputation (1):
Posted by: leonid

79436136

Date: 2025-02-13 12:24:13
Score: 2
Natty:
Report link

For anyone else looking just to increase the number of rows displayed in box mode there is:

.maxrows 1234

See https://duckdb.org/docs/clients/cli/dot_commands.html

Reasons:
  • Probably link only (1):
  • Low length (1):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: Ryan

79436131

Date: 2025-02-13 12:23:12
Score: 1.5
Natty:
Report link

Thanks everyone for your comments. Here I post the answer for the initial question after some testing. I followed some of the comments and I confirm the issue was related to QEMU, when I tested on a physical machine and a hypervisor it worked fine.

Reasons:
  • Blacklisted phrase (0.5): Thanks
  • Whitelisted phrase (-1): it worked
  • Low length (0.5):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Jelal

79436130

Date: 2025-02-13 12:22:12
Score: 0.5
Natty:
Report link

Take a look at this plugin I built for lightweight-charts-python ( https://github.com/EsIstJosh/lightweight-charts-python) , you can probably do some minor adjustments to get it to work using normal lightweight-charts :

import { IPrimitivePaneRenderer, Coordinate, IPrimitivePaneView, Time, ISeriesPrimitive, SeriesAttachedParameter, DataChangedScope, SeriesDataItemTypeMap, SeriesType, Logical, AutoscaleInfo, BarData, LineData, ISeriesApi, PrimitivePaneViewZOrder } from "lightweight-charts";
import { PluginBase } from "../plugin-base";
import { setOpacity } from "../helpers/colors";
import { ClosestTimeIndexFinder } from '../helpers/closest-index';
import { hasColorOption } from "../helpers/typeguards";
export class FillArea extends PluginBase implements ISeriesPrimitive<Time> {
    static type = "Fill Area"; // Explicitly set the type name
    
    _paneViews: FillAreaPaneView[];
    _originSeries: ISeriesApi<SeriesType>;
    _destinationSeries: ISeriesApi<SeriesType>;
    _bandsData: BandData[] = [];
    options: Required<FillAreaOptions>;
    _timeIndices: ClosestTimeIndexFinder<{ time: number }>;

    constructor(
        originSeries: ISeriesApi<SeriesType>,
        destinationSeries: ISeriesApi<SeriesType>,
        options: FillAreaOptions
    ) {
        super();
    
        // Existing logic for setting colors
        const defaultOriginColor = setOpacity('#0000FF', 0.25); // Blue
        const defaultDestinationColor = setOpacity('#FF0000', 0.25); // Red
        const originSeriesColor = hasColorOption(originSeries)
            ? setOpacity((originSeries.options() as any).lineColor || defaultOriginColor, 0.3)
            : setOpacity(defaultOriginColor, 0.3);
        const destinationSeriesColor = hasColorOption(destinationSeries)
            ? setOpacity((destinationSeries.options() as any).lineColor || defaultDestinationColor, 0.3)
            : setOpacity(defaultDestinationColor, 0.3);
    
        this.options = {
            ...defaultFillAreaOptions,
            ...options,
            originColor: options.originColor ?? originSeriesColor,
            destinationColor: options.destinationColor ?? destinationSeriesColor,
        };
    
        this._paneViews = [new FillAreaPaneView(this)];
        this._timeIndices = new ClosestTimeIndexFinder([]);
        this._originSeries = originSeries;
        this._destinationSeries = destinationSeries;
    
        // Subscribe to data changes in both series
        this._originSeries.subscribeDataChanged(() => {
            console.log("Origin series data has changed. Recalculating bands.");
            this.dataUpdated('full');
            this.updateAllViews();
        });
    
        this._destinationSeries.subscribeDataChanged(() => {
            console.log("Destination series data has changed. Recalculating bands.");
            this.dataUpdated('full');
            this.updateAllViews();
        });
    }
    
    

    updateAllViews() {
        this._paneViews.forEach(pw => pw.update());
    }
    applyOptions(options: Partial<FillAreaOptions>) {

        this.options = {
            ...this.options,
            ...options,
        };
    
        this.calculateBands();
        this.updateAllViews();
        super.requestUpdate();
    
        console.log("FillArea options updated:", this.options);
    }
    
    
    
    paneViews() {
        return this._paneViews;
    }

    attached(p: SeriesAttachedParameter<Time>): void {
        super.attached(p);
        this.dataUpdated('full');
    }

    dataUpdated(scope: DataChangedScope) {
        this.calculateBands();
        if (scope === 'full') {
            const originData = this._originSeries.data();
            this._timeIndices = new ClosestTimeIndexFinder(
                [...originData]  as { time: number }[]
            );
        }
    }

    calculateBands() {
        const originData = this._originSeries.data();
        const destinationData = this._destinationSeries.data();

        // Ensure both datasets have the same length
        const alignedData = this._alignDataLengths([...originData], [...destinationData]);

        const bandData: BandData[] = [];
        for (let i = 0; i < alignedData.origin.length; i++) {
            let points = extractPrices(alignedData.origin[i],alignedData.destination[i]);

            if (points?.originValue === undefined || points?.destinationValue === undefined) continue;

            // Determine which series is upper and lower
            const upper = Math.max(points?.originValue, points?.destinationValue);
            const lower = Math.min(points?.originValue, points?.destinationValue);

            bandData.push({
                time: alignedData.origin[i].time,
                origin: points?.originValue,
                destination: points?.destinationValue,
                upper,
                lower,
            });
        }

        this._bandsData = bandData;
    }

    _alignDataLengths(
        originData: SeriesDataItemTypeMap[SeriesType][],
        destinationData: SeriesDataItemTypeMap[SeriesType][]
    ): { origin: SeriesDataItemTypeMap[SeriesType][], destination: SeriesDataItemTypeMap[SeriesType][] } {
        const originLength = originData.length;
        const destinationLength = destinationData.length;

        if (originLength > destinationLength) {
            const lastKnown = destinationData[destinationLength - 1];
            while (destinationData.length < originLength) {
                destinationData.push({ ...lastKnown });
            }
        } else if (destinationLength > originLength) {
            const lastKnown = originData[originLength - 1];
            while (originData.length < destinationLength) {
                originData.push({ ...lastKnown });
            }
        }

        return { origin: originData, destination: destinationData };
    }

    autoscaleInfo(startTimePoint: Logical, endTimePoint: Logical): AutoscaleInfo {
        const ts = this.chart.timeScale();
        const startTime = (ts.coordinateToTime(
            ts.logicalToCoordinate(startTimePoint) ?? 0
        ) ?? 0) as number;
        const endTime = (ts.coordinateToTime(
            ts.logicalToCoordinate(endTimePoint) ?? 5000000000
        ) ?? 5000000000) as number;
        const startIndex = this._timeIndices.findClosestIndex(startTime, 'left');
        const endIndex = this._timeIndices.findClosestIndex(endTime, 'right');

        const range = {
            minValue: Math.min(...this._bandsData.map(b => b.lower).slice(startIndex, endIndex + 1)),
            maxValue: Math.max(...this._bandsData.map(b => b.upper).slice(startIndex, endIndex + 1)),
        };

        return {
            priceRange: {
                minValue: range.minValue,
                maxValue: range.maxValue,
            },
        };
    }
}
class FillAreaPaneRenderer implements IPrimitivePaneRenderer {
    _viewData: BandViewData;
    _options: FillAreaOptions;

    constructor(data: BandViewData) {
        this._viewData = data;
        this._options = data.options;
    }

    draw() {}
    drawBackground(target: CanvasRenderingTarget2D) {
        const points: BandRendererData[] = this._viewData.data;
        const options = this._options;

        if (points.length < 2) return; // Ensure there are enough points to draw

        target.useBitmapCoordinateSpace((scope) => {
            const ctx = scope.context;
            ctx.scale(scope.horizontalPixelRatio, scope.verticalPixelRatio);

            let currentPathStarted = false;
            let startIndex = 0;

            for (let i = 0; i < points.length - 1; i++) {
                const current = points[i];
                const next = points[i + 1];

                if (!currentPathStarted || current.isOriginAbove !== points[i - 1]?.isOriginAbove) {
                    if (currentPathStarted) {
                        for (let j = i - 1; j >= startIndex; j--) {
                            ctx.lineTo(points[j].x, points[j].destination);
                        }
                        ctx.closePath();
                        ctx.fill();
                    }

                    ctx.beginPath();
                    ctx.moveTo(current.x, current.origin);

                    ctx.fillStyle = current.isOriginAbove
                        ? options.originColor || 'rgba(0, 0, 0, 0)' // Default to transparent if null
                        : options.destinationColor || 'rgba(0, 0, 0, 0)'; // Default to transparent if null

                    startIndex = i;
                    currentPathStarted = true;
                }

                ctx.lineTo(next.x, next.origin);

                if (i === points.length - 2 || next.isOriginAbove !== current.isOriginAbove) {
                    for (let j = i + 1; j >= startIndex; j--) {
                        ctx.lineTo(points[j].x, points[j].destination);
                    }
                    ctx.closePath();
                    ctx.fill();
                    currentPathStarted = false;
                }
            }

            if (options.lineWidth) {
                ctx.lineWidth = options.lineWidth;
                ctx.strokeStyle = options.originColor || 'rgba(0, 0, 0, 0)';
                ctx.stroke();
            }
        });
    }
}

class FillAreaPaneView implements IPrimitivePaneView {
    _source: FillArea;
    _data: BandViewData;

    constructor(source: FillArea) {
        this._source = source;
        this._data = {
            data: [],
            options: this._source.options, // Pass the options for the renderer
        };
    }

    update() {
        const timeScale = this._source.chart.timeScale();

        this._data.data = this._source._bandsData.map((d) => ({
            x: timeScale.timeToCoordinate(d.time)!,
            origin: this._source._originSeries.priceToCoordinate(d.origin)!,
            destination: this._source._destinationSeries.priceToCoordinate(d.destination)!,
            isOriginAbove: d.origin > d.destination,
        }));

        // Ensure options are updated in the data
        this._data.options = this._source.options;
    }

    renderer() {
        return new FillAreaPaneRenderer(this._data);
    }
    zOrder() {
        return 'bottom' as PrimitivePaneViewZOrder;
    }
}



export interface FillAreaOptions {
    originColor: string | null; // Color for origin on top
    destinationColor: string | null; 
    lineWidth: number | null;
};

export const defaultFillAreaOptions: Required<FillAreaOptions> = {
    originColor: null,
    destinationColor: null,
    lineWidth: null,
};

interface BandData {
    time: Time;
    origin: number; // Price value from the origin series
    destination: number; // Price value from the destination series
    upper: number; // The upper value for rendering
    lower: number; // The lower value for rendering
};
interface BandViewData {
    data: BandRendererData[];
    options: Required<FillAreaOptions>;
};
interface BandRendererData {
    x: Coordinate | number;
    origin: Coordinate | number;
    destination: Coordinate | number;
    isOriginAbove: boolean; // True if the origin series is above the destination series
}

function extractPrices(
    originPoint: SeriesDataItemTypeMap[SeriesType],
    destinationPoint: SeriesDataItemTypeMap[SeriesType]
): {originValue: number| undefined, destinationValue: number| undefined} | undefined {
    let originPrice: number | undefined;
    let destinationPrice: number | undefined;

    // Extract origin price
    if ((originPoint as BarData).close !== undefined) {
        const originBar = originPoint as BarData;
        originPrice = originBar.close; // Use close price for comparison
    } else if ((originPoint as LineData).value !== undefined) {
        originPrice = (originPoint as LineData).value; // Use value for LineData
    }

    // Extract destination price
    if ((destinationPoint as BarData).close !== undefined) {
        const destinationBar = destinationPoint as BarData;
        destinationPrice = destinationBar.close; // Use close price for comparison
    } else if ((destinationPoint as LineData).value !== undefined) {
        destinationPrice = (destinationPoint as LineData).value; // Use value for LineData
    }

    // Ensure both prices are defined
    if (originPrice === undefined || destinationPrice === undefined) {
        return undefined;
    }

    // Handle mixed types and determine the appropriate values to return
    if (originPrice < destinationPrice) {
        // origin > destination: min(open, close) for BarData (if applicable), otherwise value
        const originValue =
            (originPoint as BarData).close !== undefined
                ? Math.min((originPoint as BarData).open, (originPoint as BarData).close)
                : originPrice;

        const destinationValue =
            (destinationPoint as BarData).close !== undefined
                ? Math.max((destinationPoint as BarData).open, (destinationPoint as BarData).close)
                : destinationPrice;

        return {originValue, destinationValue};
    } else {
        // origin <= destination: max(open, close) for BarData (if applicable), otherwise value
        const originValue =
            (originPoint as BarData).close !== undefined
                ? Math.max((originPoint as BarData).open, (originPoint as BarData).close)
                : originPrice;

        const destinationValue =
            (destinationPoint as BarData).close !== undefined
                ? Math.min((destinationPoint as BarData).open, (destinationPoint as BarData).close)
                : destinationPrice;

        return {originValue, destinationValue};
    }
}```
Reasons:
  • Blacklisted phrase (1): this plugin
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Turnt

79436123

Date: 2025-02-13 12:21:11
Score: 1
Natty:
Report link

For Linux distributions, you need to perform an additional step i.e. opening the RDP from the IP4 Firewall. Steps:

  1. Go to your LightSail instance
  2. Networking Tab
  3. IPv4 Firewall > Add Rule
  4. Under Application Choose "RDP"
  5. Click on Create

After a lot of struggle I found this option. For Windows instances RDP works by default, but for Linux distributions this needs to be done additionally.

Reasons:
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: 1JD

79436116

Date: 2025-02-13 12:20:08
Score: 10 🚩
Natty: 6
Report link

Did you find any APIs? I have the same problem. I'm searching for APIs that provide a maintenance schedule for a specific car based on input (model, engine type, etc.), but I couldn't find any freeones.

Reasons:
  • Blacklisted phrase (1): I have the same problem
  • RegEx Blacklisted phrase (3): Did you find any
  • Low length (0.5):
  • No code block (0.5):
  • Me too answer (2.5): I have the same problem
  • Contains question mark (0.5):
  • Single line (0.5):
  • Starts with a question (0.5): Did you find any
  • Low reputation (1):
Posted by: Solom

79436111

Date: 2025-02-13 12:19:08
Score: 1
Natty:
Report link

The Problem with an ssh-server behind traefik is that ssh-clients do not send a HostSNI Parameter with the tcp connection because it does not use tls.

traefik community post with the same problem

https://community.traefik.io/t/routing-ssh-traffic-with-traefik-v2/717

But Traefik can only route if it is present.

I have tried myself setting up a git server behind traefik my easiest solution was putting it on another port.

I don't know about gitlab but eg. Gogs (a git server) allows setting a port in the config for ssh cloning so the provided command in the ui uses that.

Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Checker 8763

79436101

Date: 2025-02-13 12:15:06
Score: 1
Natty:
Report link

quit helpful, it worked for me.

flutter_barcode_scanner: ^2.0.0

Reasons:
  • Whitelisted phrase (-1): it worked
  • Whitelisted phrase (-1): worked for me
  • Low length (1.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: j96

79436074

Date: 2025-02-13 12:06:04
Score: 1
Natty:
Report link

There are many things possible using coder.ceval - including calling C++. But also many limitations. Currently working on this as well. You can call arrays, but there are limitations if you have typedefs that define array datatypes.

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Single line (0.5):
  • Low reputation (0.5):
Posted by: MonkeyProof Solutions

79436068

Date: 2025-02-13 12:03:03
Score: 0.5
Natty:
Report link

Meanwhile SOQL has learned new tricks:

SELECT FIELDS(ALL) FROM myTableName

This selects every field - custom and standard fields of myTableName. FIELDS(Custom) and FIELDS(Standard) work as the name suggests.

Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: Stefan Wilms

79436062

Date: 2025-02-13 12:00:02
Score: 2
Natty:
Report link

i am using windows 11 OS and for framework 4.7,4.8 its not working even trying all the given code snippets

        HttpClient client = new HttpClient(new HttpClientHandler { SslProtocols = SslProtocols.Tls12 });
Reasons:
  • Blacklisted phrase (1): its not working
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: RJ_Tech

79436061

Date: 2025-02-13 12:00:02
Score: 1.5
Natty:
Report link

For an in-depth look at how Android native code works, there is a scientific paper that explains it in detail (self-promotion, I am one of the authors) -- with a focus on how malware abuses it.

The Dark Side of Native Code on Android [PDF]

Have a look at Sections 2, 4.2, and 4.3.

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Simone Aonzo

79436058

Date: 2025-02-13 11:59:02
Score: 1
Natty:
Report link

You might be getting a JavaScript error that you're not seeing. The best way to check and fix it is by using Chrome DevTools, opening the Console, and looking for any errors.

Once you identify the error, you can try to resolve it.

To do this, while on the webpage where the title filter isn't working, follow these steps:

Right-click on the page. Select Inspect. Go to the Console tab and check for errors.

Reasons:
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: ealmeida

79436055

Date: 2025-02-13 11:58:02
Score: 0.5
Natty:
Report link

For intersection you can use the following formula if your excel supports LET command. =LET(x,ISNA(MATCH(G29:G34,H29:H32,0)),IFERROR( FILTER(G29:G34,NOT(x)),"")) G29:G34 is the range of first set H29:H32 is the range of second set

Reasons:
  • Whitelisted phrase (-1.5): you can use
  • Low length (0.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Ibrahim Onaran

79436016

Date: 2025-02-13 11:42:59
Score: 2
Natty:
Report link

const inp = document.querySelector("input");

const h2 = document.querySelector("h2");

inp.addEventListener("input", function(){

console.log(inp.value);

h2.innerText = inp.value;
});

Reasons:
  • Low length (0.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: Akash Verma

79436013

Date: 2025-02-13 11:41:58
Score: 12
Natty: 8
Report link

I'm encountering the same errors. Did you find any solution? Any idea why this error is occurring?

Reasons:
  • Blacklisted phrase (1.5): any solution
  • RegEx Blacklisted phrase (3): Did you find any solution
  • RegEx Blacklisted phrase (2): any solution?
  • Low length (1):
  • No code block (0.5):
  • Ends in question mark (2):
  • Unregistered user (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Narotam

79436007

Date: 2025-02-13 11:39:57
Score: 1
Natty:
Report link

I've adapted @ThomA answer with the following code (Obviously, this isn't production code):

WITH    CTE_PROMPT AS (
        SELECT  PERSON_NUMBER  
                ,'M' Gender 
        FROM    EMPLOYEES
        )  
        
SELECT  EMPLOYEES.PERSON_NUMBER
        ,SEX                
FROM    EMPLOYEES 
        LEFT OUTER JOIN CTE_PROMPT ON EMPLOYEES.PERSON_NUMBER  = CTE_PROMPT.PERSON_NUMBER
WHERE   SEX = Gender OR Gender = 'ALL'

This works. For some reason it didn't like the CTE_PROMPT query without a table.

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • User mentioned (1): @ThomA
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: NiMuSi

79436005

Date: 2025-02-13 11:38:57
Score: 1
Natty:
Report link

const { onCall, HttpsError } = require("firebase-functions/v2/https");


exports.getQuestion = onCall((request) => {
  if (!request.auth) {
   
    throw new HttpsError(
      "unauthenticated",
      "You must be authenticated to access this resource."
    );
  }

const { key1, key2 } = request.data;

// or 

// const data = request.data;
  
});

For more refer

https://firebase.google.com/docs/functions/callable?gen=2nd

Reasons:
  • Probably link only (1):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: dev.skas

79435997

Date: 2025-02-13 11:35:56
Score: 0.5
Natty:
Report link

The simplest function that matches the examples that you provided is FLOOR(value) + 0.5.

Here's an example:

SELECT 
  value, FLOOR(value) + 0.5
FROM UNNEST([0.01, 2.3913, 4.6667, 2.11]) AS value
Reasons:
  • Low length (0.5):
  • Has code block (-0.5):
  • Low reputation (0.5):
Posted by: Malaman

79435994

Date: 2025-02-13 11:35:56
Score: 2.5
Natty:
Report link

Is seems, to be known issue: YouTrack CMP-4610

Long story short: JetBrains doesn’t care about this now, use native UI.

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Self-answer (0.5):
  • Low reputation (0.5):
Posted by: Serhii Petrenko

79435992

Date: 2025-02-13 11:33:55
Score: 2
Natty:
Report link

Same issue was faced so when searched in intervet got the solution saying

jobs:
  prepare-matrix:
    runs-on: ubuntu-latest
    outputs:
      platforms: ${{ steps.platform-matrix.outputs.matrix }}
      regions: ${{ steps.region-matrix.outputs.matrix }}
    steps:
      # Step 1: Retrieve and parse PLATFORMS
      - name: Platform Matrix
        id: platform-matrix
        env:
          PLATFORMS: ${{ vars.variablename }}
        run: |
          # Convert the repository variable to JSON array
          MATRIX_JSON=$(jq -nc --arg values "$PLATFORMS" '$values | split(",")')
          echo "::set-output name=matrix::$MATRIX_JSON"

Changed the set-output line with below line

echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT

The code ran perfectly . Same is also communicated here : https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Reasons:
  • RegEx Blacklisted phrase (1): Same issue
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Avishek Dhar

79435990

Date: 2025-02-13 11:30:52
Score: 8.5 🚩
Natty: 6.5
Report link

Any update on this? I have the same error.

Reasons:
  • Blacklisted phrase (1): update on this
  • RegEx Blacklisted phrase (1): I have the same error
  • Low length (1.5):
  • No code block (0.5):
  • Me too answer (2.5): I have the same error
  • Contains question mark (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Helen -

79435980

Date: 2025-02-13 11:28:51
Score: 4
Natty: 4.5
Report link

i've got the same problem. When i'm running npx expo start it's working just fine, but when i generate the apk running eas build --profile development --platform android and install the apk doesn't work and not show any errors to find the cause. I've already try adding

[
        'expo-build-properties',
        {
          android: {
            usesCleartextTraffic: true, // ? enable HTTP requests
          }
        }
      ]

to app.json file and running npx expo install expo-build-properties. What can i do?

Reasons:
  • Blacklisted phrase (1): can i do
  • Blacklisted phrase (1): What can i do
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • Low reputation (1):
Posted by: Miguel Ozuna

79435978

Date: 2025-02-13 11:28:51
Score: 3.5
Natty:
Report link

you cant directly import a server component into a client component, but you can give it as a child of this client component (this thread talking about it should help you : How can i use server component in client component?).

Reasons:
  • Blacklisted phrase (0.5): How can i
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Stef Iron Lee

79435975

Date: 2025-02-13 11:27:50
Score: 3
Natty:
Report link

After using this code I am getting exception "uncaught exception :error invariant failed in cypress" . Any idea how to handle it

Reasons:
  • Low length (1):
  • No code block (0.5):
  • Single line (0.5):
  • Low reputation (1):
Posted by: Pooja mandelia

79435969

Date: 2025-02-13 11:25:50
Score: 0.5
Natty:
Report link

But this now means that every class in my system that needs to log, needs to get this LogService injected into it, which seems redundant.

I wouldnt count injecting logger to consumers as redundant or an issue unless injection is creating logger instances each time. Being redundant in this case (injecting ilogger to each consumer) actually may help to readability and tests.

Option 1 inject iloggable/ilogger to consumers; Add iloggable/ilogger to container/provider then get it from the provider via constructor when needed, which you think redundant and cumbersome :). If needed you can also implement logger factory/provider so multiple loggers can be used simultaneously. Asp.net for instance similarly use ILogger and it's usually injected to consumers with constructor DI.

Option2 use singleton; If you insist on a static option; Create a singleton logger service/wrapper with iloggable/ilogger injected then use the service from anywhere without di. Readability, tests may be bit worse off than having Ilogger injected to consumers.

Reasons:
  • Long answer (-1):
  • No code block (0.5):
  • Low reputation (1):
Posted by: devmet34

79435967

Date: 2025-02-13 11:25:50
Score: 2
Natty:
Report link

I also encountered this issue while working with Spring Boot 3.4.1, and upgrading httpclient5 to 5.4.1 resolved it.

Spring Boot 3+ internally uses Apache HttpClient 5 for HTTP communication. If your project depends on an older version (e.g., 5.2.x or 5.3.x), Spring Boot's auto-configuration may break due to missing classes like:

org/apache/hc/client5/http/ssl/TlsSocketStrategy

Thanks to the existing answer for pointing out the correct version upgrade!

Reasons:
  • Blacklisted phrase (0.5): Thanks
  • No code block (0.5):
  • Low reputation (1):
Posted by: Ibrahim Shaikh

79435962

Date: 2025-02-13 11:22:49
Score: 1
Natty:
Report link

benz Custom Protocol demo worked well for me, thank you.

I encountered a issue after that when triggering a callback to the app and just sharing the solution if anyone encounters the same.

if you run into "Windows cannot find the app to open" error when clicking on any of the buttons/Actions on the notification, do a case insensitive comparison in the "second-instance" event

i.e arg.toLowerCase().startsWith(appProtocol.toLowerCase())

Reasons:
  • Blacklisted phrase (0.5): thank you
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: chotomatte