try use the lib oracledb for node npm install oracledb
I have decided to share the answer I've come up with on my own in case someone else after me has the same question and hopes to find an answer here:
document.querySelector("body").onscroll = function() {
const main = document.querySelector("main");
const backgroundHeight = main.offsetWidth * (3.0/2.0);
const screenHeight = Math.max(window.screen.availHeight, window.innerHeight);
const mainHeight = main.offsetHeight;
const factor = 1.0 - ((backgroundHeight - screenHeight) / (mainHeight - screenHeight));
const yvalue = - main.getBoundingClientRect().top * factor;
const xvalue = "center";
main.style.backgroundPosition = xvalue + " " + yvalue + "px";
}
const main = document.querySelector("main");
I do this because the background image I want the parallax effect to work on applies to the main element.
const backgroundHeight = main.offsetWidth * (3.0/2.0);
The formula I came up with to always align the background image's bottom with the page's bottom requires the height of the background image. For that I use main.offsetWidth (I set main to take up 100% of the width of the page so this works) multiplied with the height/width ratio of the background image. In the case of the parrot image I used as example, it's 3/2.
screenHeight = Math.max(window.screen.availHeight, window.innerHeight);
One also needs the height of the screen. The problem is that I cannot use a single value as sometimes it gives me a too small result. However, using the maximum of either window.screen.availHeight or window.innerHeight always seems to work to me.
mainHeight = const mainHeight = main.offsetHeight;
And one needs the height of the element you want to apply the parallax effect on.
const factor = 1.0 - ((backgroundHeight - screenHeight) / (mainHeight - screenHeight));
This is the formula I came up with thanks to a geometric sketch.
const yvalue = - main.getBoundingClientRect().top * factor;
I found out that "- main.getBoundingClientRect().top" seems to work better than "const scrolltotop = document.scrollingElement.scrollTop" I used before. main.getBoundingClientRect().top basically returns the distance from the top of the main element to the top of the screen and becomes a negative value once you have scrolled past main's top. This is why I added a minus but Math.abs() works too.
const xvalue = "center"; main.style.backgroundPosition = xvalue + " " + yvalue + "px";
Here you just insert the values into the background.
Right now this function is executed everytime you scroll. main, backgroundHeight, screenHeight and mainHeight stay constant while just scrolling so it would make sense to initialise those values in a separate function executed on load or on resize but not on scroll - unless main changes its size automatically or upon user interaction. I also learnt first-hand while testing that Chrome has massive performance issues with repositioning background images larger than 1000x1000 so please keep this in mind.
I've done it for my integration test, so maybe is a good idea
Many React devs prefer Hooks over Higher-order Components (HoCs), and for good reasons. But sometimes, direct usage of hooks for certain logic—like authentication redirects—can clutter components and reduce readability.
Full context and examples here https://frontend-fundamentals.com/en/code/examples/login-start-page.html
Common Hook approach:
function LoginStartPage() {
const { isLoggedIn } = useAuth();
const router = useRouter();
useEffect(() => {
if (isLoggedIn) router.push('/main');
}, [isLoggedIn, router]);
return <Login />;
}
HoC as an alternative:
export default withLoggedOut(LoginStartPage, '/main');
Wrapper Component as another alternative:
function App() {
return (
<AuthGuard>
<LoginStartPage />
</AuthGuard>
);
}
But here's the thing:
Many React developers strongly dislike HoCs, finding them overly abstract or cumbersome. Yet, could the issue be how we use HoCs, rather than HoCs themselves?
Update: using git version 2.32.0.windows.2 this works as well - including sub-sub-projects!
git clone --recurse-submodules [email protected]:project/project.git
After updating docker desktop to the latest version, the Kubernetes failed to start error went away.
I had exactly the same issue and stumbled across your post.
Silly question: Why do you muck around with the gradient to get the normal ?
Why the division by the noise and the position messing around.
I thought that the gradient of a surface is the normal itself (you might be able to normalize)
You need to create a wrapper or method that will catch the exception and locate the element again as shown below:
This should solve the problem if you are getting this error:
psql -U <username> -d <dbname> -f filename.sql
either pgrestore or psql will work based on the file type/dump command you have used.
I have the same issue, and solved with the same solution. Very nice!
Umm I think Your Question Is with Your Computer. I can delete any posts as I can. Actually Try Deleting Your cache and logging out. It should work.
set new CSS fit-content prop for max-width fit content CSS prop
<div class="wrapper">
<div class="child">some content</div>
</div>
.wrapper {
max-width: fit-content;
}
I just created a wrapper on top of pandas for this purpose, if it helps anyone :)
You can achieve it this way:
pip install pandoras
import pandoras as pd
df = pd.DataFrame({"A": [1, 2, 3], "B": [4, None, 6]})
df.drop(columns=["B"], inplace=True). # or edit,apply,...
df.undo()
df.redo()
This is the repo for anyone interested in contributing:
https://github.com/al2m4n/pandoras
Invalidating cache worked for me.
Of course - set MailItem.SaveSentMessageFolder property. See https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.savesentmessagefolder
Maybe something like this?
var users = Users.ToAsyncEnumerable()
.WhereAwait(async x => await IsGrantedAsync(x.Id, permissionName));
This uses the System.Linq.Async package as you cannot provide an asynchronous function to the Where method.
Các ký hiệu trên mainboard cho người mới bắt đầu
https://phanrangsoft.com/blog/cac-ky-hieu-tren-mainboard-cho-nguoi-moi-bat-dau/
I've found the source of error. With this configuration you should have deploy from gh-pages branch:

I prefer to write something like below:
EXISTS avoids creating a potentially large result set in memory and is often more efficient.
SELECT a.*
FROM TableA a
WHERE EXISTS (
SELECT 1
FROM TermsTable t
WHERE a.Description LIKE '%' + t.Terms + '%'
)
For me the root cause was full C: drive
Got this issue once, fixed by using :
sudo systemctl stop containerd.service
sudo systemctl start containerd.service
The issue was because I forgot to add the application name in the pom.xml inside the resources folder. The updated pom.xml is as follows.
spring: application: name: eurekaserver config: import: "configserver:http://localhost:8071" profiles: active: dev management: endpoints: web: exposure: include: "*" health: readiness-state: enabled: true liveness-state: enabled: true endpoint: health: probes: enabled: true
I'd consider it javascriptic rather than Pythonic as js supports obj[attr]. But it leds to confusion.
Python is not a ambiguous language like Javascript.
2025 update
Probably your issue is because your apps are targeting SDK 35 (have edge-to-edge display), so you need to handle it.
Check react-native-edge-to-edge package out.
More about it here
I installed texlive-latex-recommended and texlive-extra-utils with apt-get install.
Below is the corrected script:
z = 20
for i in range(3, 31):
is_coprime = True
for j in range(2, 30):
if (i % j == 0) and (z % j == 0):
is_coprime = False
break
if is_coprime:
print(i)
You can refer to this answer. In my case, it was because Cloudflare Hotlink Protection blocked the request.
this is the correct method for doing it - https://geekyants.com/blog/implementing-right-to-left-rtl-support-in-expo-without-restarting-the-app
And this is my own implementaion no AI .
import { useFonts } from "expo-font";
import * as SplashScreen from "expo-splash-screen";
import { useEffect, useState } from "react";
import { I18nManager } from "react-native";
import { getLocales } from 'expo-localization';
import { AuthProvider } from "@/context/auth"; // Adjust the path as needed
import { Slot } from "expo-router";
import { SafeAreaProvider } from "react-native-safe-area-context";
import { GlobalProvider } from "@/context/GlobalContext";
import { NotificationProvider } from "@/context/NotificationContext";
import * as Notifications from "expo-notifications";
Notifications.setNotificationHandler({
handleNotification: async () => ({
shouldShowAlert: true,
shouldPlaySound: true,
shouldSetBadge: true,
}),
});
export default function RootLayout() {
const [key, setKey] = useState(0); // Track changes to force re-render
const [loaded, error] = useFonts({
Assistant: require("@/assets/fonts/Assistant.ttf"),
});
useEffect(() => {
const setupRTL = () => {
const deviceLocales = getLocales();
const isDeviceRTL = deviceLocales[0]?.textDirection === 'rtl';
// If the device RTL setting doesn't match our I18nManager setting
if (isDeviceRTL !== true) { //english device
I18nManager.allowRTL(isDeviceRTL);
I18nManager.forceRTL(isDeviceRTL);
setKey(prev => prev + 1); // Force a re-render to apply layout changes
} else { //Hebrew device/Arabic/RTL
I18nManager.allowRTL(false);
I18nManager.forceRTL(false);
setKey(prev => prev + 1); // Force a re-render to apply layout changes
}
};
setupRTL();
}, []);
useEffect(() => {
if (loaded || error) {
SplashScreen.hideAsync();
}
}, [loaded, error]);
if (!loaded && !error) {
return null;
}
return (
<SafeAreaProvider key={key}>
<NotificationProvider>
<AuthProvider>
<GlobalProvider>
<Slot />
</GlobalProvider>
</AuthProvider>
</NotificationProvider>
</SafeAreaProvider>
);
}
Thanks everyone for stopping by.
I figured it out, it's the firewall that blocked me from reaching to nuget, so I turned off the firewall then it work.
An additional comment to add clarity and hopefully save folks some time - in the specification of Pearson3, shape is skew, loc is the mean, scale is the st.dev (rather than alpha, tau and beta terms).
It's now possible to update on-premises synced users via the Microsoft Graph API using API-driven inbound provisioning:
https://learn.microsoft.com/en-us/entra/identity/app-provisioning/inbound-provisioning-api-concepts
I've found the problem this morning.
In addition to the toml entry you also need to request API access for the app via the partners.shopify dashboard.
Navigate to
apps > [YOUR APP] > API access
and under 'Allow network access in checkout UI extensions, click Allow network access' you need to select 'Request Access'
With that updated I'm able to make API calls from my extension components
Same problem with my gitlab instance, with the exact same update path and result, but for downloading a file directly from a project repository.
- curl -s -o file_to_download https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/path/of/my/project/raw/master/path/to/my/file
Open the file build.gradle (Module: App) and implement into dependencies:
dependencies {
// Outher dependencies...
implementation ("com.google.code.gson:gson:2.10.1")
}
Here is an easy way of doing this:
import mlflow
id = 123456789 # replace with own run id
# get all runs as a pandas dataframe
runs = mlflow.search_runs(experiment_ids=[id])
# Number of runs is the number of rows in the dataframe
print(f'Experiment ID: {id} has {runs.shape[0]} runs')
When disabling trimming for android in release mode the aab file works as expected.
I was having a similar problem while creating an example for my new book (currently in beta) Mastering Building Web Assembly Apps using Rails.
I am using Rails8 which creates a new app using Propshaft and Importmaps by default to manage static assets and JS libraries respectively. I tried creating a controller with an action to provide WASM module as an asset but it didn't work thus i had to modify my WASM module's .js gluecode.
The whole instructions are in the book available for free to read. May be it might of any help to you.
I also had problems with Java 21.
Try downgrading to Java 17 to test.
These commands may be useful:
echo %JAVA_HOME%
java --version
flutter configure --jdk-dir YOUR_JDK_17
I created a playbook of installing Remix and Deploying it in CPANEL. I polished it with Chatgpt. Here is the link.
The playbook has been tested and works seemlessly. However I used Node version 20.18.2.
https://chatgpt.com/canvas/shared/67d037cf49648191abffff0809e8f043
This was happening for me, and I hadn't attached the sqs arn to my s3 bucket. You can get this by running show pipes; .
After adding it, and rewriting the files back to s3, they were all picked up correctly
thank you @nnatter It's working
I answered a similar question for a PostgreSQL database.
I adapted it to your table names in a fiddle, it may need adaptations to run under Redshift (thus I don't post it as is here)
but it holds all the principles:
Fixed the problem eventually, it was all about configuring http rewrite.
When using typescript, you can pass the props type to the forwardRef as the second generic param. To use your example:
export const Services = () => {
const servicesRef = useRef(null);
return (
<div>
<ServicesList ref={servicesRef} />
</div>
);
};
export const ServicesList = forwardRef<HTMLTableSectionElement, PropsWithChildren<{}>>((props, ref) => {
return (
<section className="my-24 md:my-32" ref={ref}>
{props.children}
</section>
);
});
Open your Xcode project.
Go to Signing & Capabilities under your project’s TARGETS.
Check Automatically manage signing to let Xcode handle certificates and profiles.
I want text field for each line item in the cart and entered value should be displayed for order in admin . How we can achieve this.
I fixed it by adding { provide: APP_CONFIG, useValue: {} }, to the providers for my test.
Can someone help further the modify the Azure Data Factory expression for the following T-SQL code: SELECT DeltaTable. * FROM dlt.DeltaTable LEFT OUTER JOIN dbo.TableName AS tgt ON dlt.DeltaTable.signature = tgt.signature
WHERE tgt.signature IS NULL;
You will probably get the error when you directly add the expression. as below

To resolve this error, follow the below steps:

@concat('SELECT ',pipeline().parameters.DeltaTable,'.\* FROM ',pipeline().parameters.DeltaTable,' LEFT OUTER JOIN ',pipeline().parameters.TargetTable,' ON ',pipeline().parameters.DeltaTable,'.signature = ',pipeline().parameters.TargetTable,'.signature WHERE ',pipeline().parameters.TargetTable,'.signature IS NULL')


Output:

I'm facing the same issue. Did you solve this by any chance? what was the cause and how to fix it? thanks
Mine was zoomed out, I went to File- Runtime- Actual size, and its now okay. Shared just incase one comes to look for a solution as I have
since it should adjust on screen size you should be able to use the onchange=[(e) => set screen.width(e.target.value)} however i am unsure of this solution but implementing the onchange e handler should maybe work?
I cannot add a comment to Vishal's answer, but it is a valid workaround!
I made a simple helper function:
export async function reportLog(test: any, title: string, ...args: string[]) {
await test.step(title + ": " + args.join(", "), () => {});
}
Used like: await reportLog(test, "An arbitrary 'step' comment!", "This is a comment!");
Which outputs in the 'step' flow:

Alternative ways to add info to the report is annotations, console.log, attachments (as shown by unickq) and expect.
Annotations put the info at the report head:
test.info().annotations.push({ type: 'Info', description: 'An annotation' });
Whereas attachments and console.log() are added to the 'Attachments' box in the report foot.
Expect can be used if you want a 'failure' red X in the report, but the caveat is that it will also appear in your 'Errors' box.
expect.soft(true, "This is a good outcome!").toBeTruthy();
expect.soft(false, "This is a bad outcome!").toBeTruthy();
I recently have the same problem and I have not changed anything in my auth or Livewire component.
I use Laravel 12 myself, but my code is otherwise similar.
Have you found a solution yet?
Adding on @Vikas's answer, you can implement more granular control in your S3 bucket CORS policy like this:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"POST",
"GET",
"PUT"
],
"AllowedOrigins": [
"https://*.example.com",
"http://localhost:*",
"https://*.test.example.com"
],
"ExposeHeaders": [
"ETag",
"Content-Length",
"Content-Type"
],
"MaxAgeSeconds": 3600
}
]
I've worked out what the problem was here. I had the .alert(isPresented:) on the Connect Sheet but of course, the connect sheet was itself set to hide (via the 'show' boolean). This meant that the alert only became visible if I re-triggered the view to allow me to login again.
Before, the boolean was set correctly but there was no view to show the alert. I've fixed it by attaching the alert to a view that is permanently visible.
you are waiting 60 seconds for your content? I would say the problem is in your api instead of frontend, can you in anyway batch your requests, so you are sending more requests in order to receive smaller responses?
I doubt it's possible, just add a link to the sharepoint slides in the PBI button, with a fancy button maybe to make it look nicer.
@Jesse Chisholm's answer is great. I would just add the following:
menuHeader.IsHitTestVisible = false;
This allows mouse clicks on the textbox to be handled by parent (menuitem) and also avoids the mouse cursor change.
Using CASE WHEN col1 = 'b' THEN 1 ELSE 0 END to flag 'b' values, aggregating these flags per FKey with COUNT(), and applying a HAVING clause filters groups where 'b' appears more than once.
SELECT FKey
FROM your_table
GROUP BY FKey
HAVING COUNT(CASE WHEN col1 = 'b' THEN 1 END) > 1;
output:
FKey
-----
11
Here's a tweak for @Motine's excellent answer, because I discovered that it no longer worked after updating to selenium-webdriver 4.26. For 4.26 (and presumably later versions, though I haven't tested it!):
module Capybara::Node::Actions
alias_method :original_attach_file, :attach_file
def attach_file(*args, **kwargs)
implement_hacky_fix_for_file_uploads_with_chromedriver
original_attach_file(*args, **kwargs)
end
def implement_hacky_fix_for_file_uploads_with_chromedriver
return if @hacky_fix_implemented
Capybara.current_session
capybara_selenium_driver = session.driver
selenium_webdriver = capybara_selenium_driver.browser
bridge = selenium_webdriver.send(:bridge)
bridge.add_commands({upload_file: [:post, "session/:session_id/file"]})
@hacky_fix_implemented = true
end
end
i have faced same issue just day before yesterday until now, (upto 3 days), but i finally fixed it by updating Vs code version( to 1.98.1) & vscode-icons extension. then, i uninstall and install that extension multiple times along with restarting the vscode.
Just be aware of python version in my case was v3 so you need to run with apt-get install python3-pip
Looks like we found a solution by setting up consent mode, following these instructions:
https://www.youtube.com/watch?v=MqAEbshMv84
Came along this thread having similar issue and it helped me to understand my problem.
But it still was not a solution to my problem..
So here is my "solution" for docker rootless with data on a CIFS share.
In my case, the volume was mounted as CIFS share on host.
Mounting it in context of docker rootless user fixed it for me.
First we need to know UID and GID of the user docker rootless is running as.
# UID
id -u {USERNAME}
# GID
id -g {USERNAME}
Now we add uid and gid to mount options of our cifs share in /etc/fstab e .g.
# just a simplified example
//host/share /media/user/share cifs uid=1000,gid=1000 0 0
After remount the cifs share is running in same user namespace as docker rootless and should work as expected.
For systemd mount unit just extend your Options as follows
# just a simplified example
...
[Mount]
What=//host/share
Where=/media/user/share
Type=cifs
Options=uid=1000,gid=1000
TimeoutSec=30
...
I added wire:ignore to the alert container, and this resolved the issue:
<div id="alert-container" wire:ignore>
it was extension Indent Rainbow that has been enabled
Df["x"] = df1.y
Why I am getting this error while assigning a column as new column
The only approach I've seen is to have a separate copy of the deployment settings file for each environment
Have you tried a UI component library? For example, shadcn ui? Depending on your frontend framework/requirements. This is worth exploring? It's touted for its web accessibility.
Late to the party but I ended up using host.minikube.internal
In my initial post, I wrote:
However, I am wondering if there might not be a better way to do this argument validation. Potentially using a third party library. I guess my point is that I am feeling that I might be reinventing the wheel and that people smarte than me likely faced this issue before and probably implemented a better solution.
I found that I could use either attrs, pydantic, or beartype to do what I wanted so I implemented solutions using each to test them and decide for myself what seems to make more sense for my project. typeguard was another alternative which I haven't tested.
Below are the three implementations.
import attrs
@attrs.define
class GetAttrs:
id: str | list[str] = attrs.field(
validator=attrs.validators.or_(
attrs.validators.instance_of(str),
attrs.validators.deep_iterable(
member_validator=attrs.validators.instance_of(str),
iterable_validator=attrs.validators.instance_of(list),
),
)
)
id_type: str = attrs.field(validator=attrs.validators.instance_of(str))
ctry_code: str = attrs.field(default = "", validator=attrs.validators.matches_re(r"[A-Z]{3}$|^LOCAL$|^$"))
is_alive: bool = attrs.field(default = False, validator=attrs.validators.instance_of(bool))
def get(self, **kwargs):
# doing some stuff
object1 = Object(kwargs)
# doing some other stuff to get data
return data
GetObj = GetAttrs(id=["id1", "id2"], id_type="myidtype")
GetObj.get(kv1={"k1": 1, "k2": 2}, kv2="test")
My main issue with this solution is that I have to pass kwargs to the method get() and not at the instanciation of GetAttrs. From what I found, I could pass kwarg at the instanciation of GetAttrs but it does not seems super clean.
However, I good point is that as I am now planning to use attrs in my modules, using it here would not lead to multiplication of third party libraries.
from typing import Literal
from pydantic import Field, validate_call
type Liststr = list[str]
@validate_call
def get_pydantic(id: str | Liststr,
id_type: str,
ctry_code: str = Field(default="", pattern=r"^[A-Z]{3}$|^LOCAL$|^$"),
is_alive: bool = False,
**kwargs ):
# doing some stuff
object1 = Object(kwargs)
# doing some other stuff to get data
return data
get_pydantic("id"=["id1", "id2"], id_type="myidtype", kv1={"k1": 1, "k2": 2}, kv2="test")
Works quite well and I have no real concern with this solution. However, the decorator @validate_call is a very tiny part of pydantic, which does many other things, so it might make sense to use something dedicated to argument validation with a bit less scope.
from typing import Annotated, Literal, Union
import re
from beartype import beartype
from beartype.cave import IterableType
from beartype.vale import Is
IsCtry = Annotated[str, Is[lambda string: re.fullmatch(r"[A-Z]{3}$|^LOCAL$|^$", string)]]
@beartype
def get_beartype(id: Union[str, IterableType[str]],
id_type: str,
item_type: str,
ctry_code: IsCtry = "",
is_alive: bool = False,
**kwargs
):
# doing some stuff
object1 = Object(kwargs)
# doing some other stuff to get data
return data
get_beartype(id=["id1", "id2"], id_type="myidtype", kv1={"k1": 1, "k2": 2}, kv2="test")
Works quite well and I found it quite elegant. I do not see any strong issue and as I want to use attrs in my module, I have the impression that I don't have the strong overlap with it that pydantic might have. So I have decided to use it as my solution.
Hope that helps anyone who might have a similar problem. Further any feedback on how thos implementations could be improved is very welcome.
You can try the above Solution if you Package.json file is corrupted or not working but if its ok. then just simply go to terminal and write,
cd my-react-app
hope that helps :)
i found this solution for my case where i want to calculate orders with only one product, so i changed it like that and it works
Number of orders with one id product =
CALCULATE(
DISTINCTCOUNT(Orders[order number]),
FILTER(
SUMMARIZE(Orders, Orders[order number]),
CALCULATE(
DISTINCTCOUNT(Orders[Id_product]),
ALLEXCEPT(Orders, Orders[order number])
)=1
)
)
same issue here, network_access enabled in extension toml setting, but still got error
We can make use of the fs module. Here's the link to use it.
Configuration example for SSL implementation using fs module
This very fact that you cannot initialize a class member of the same type as the class on the stack, is something that should have been fixed a long time ago. The C++ standard should have tackled this issue, instead of debating of useless features, such construct is essential to become an integral part of C++. I cannot understand why a compiler cannot calculate the size of Foo, in a two pass or three pass compilation and linkage.
Old thread, but stumbled upon this when having a similar problem, hoping someone in the future may see this aswell:
I just had the error:
Error: Renderer 'undefined' is not imported. Please import it first.
The Problem at the end was, that i was using
import * as echarts from 'echarts';
but also
import { EChartsOption, SeriesOption } from 'echarts';
The second line was throwing everything off. So use the "namespace" echarts and dont import anything other than * as echarts.
Чи можна пробачити зраду?
Зрада — це слово, яке болить навіть тоді, коли його лише вимовляєш. Воно асоціюється з болем, розчаруванням, втратою довіри. Але чи завжди зраду потрібно карати осудом? Чи можна її пробачити?
Кожна людина хоча б раз у житті переживала момент зради — від друзів, близьких, коханих. Це рана, яка довго не гоїться. Але життя складне й неоднозначне. Іноді зрада — це не просто злий умисел, а наслідок слабкості, страху або помилки. Тоді виникає інше питання: якщо людина щиро кається, чи варто дати їй шанс?
Пробачити — не означає забути. Це радше внутрішній вибір: не дозволити болю керувати собою, а дати можливість зцілитися. Прощення не звільняє зрадника від відповідальності, але звільняє нас від тягаря ненависті. Пробачити — це вияв сили, а не слабкості.
Однак пробачення можливе лише тоді, коли є щирість, усвідомлення провини та бажання змінитися. Якщо зрада повторюється — це вже не помилка, а свідоме зневажання почуттів. У такому разі прощення стає самообманом.
Отже, зраду можна пробачити, але не кожну і не завжди. Усе залежить від обставин, щирості людини та нашої здатності розрізнити слабкість від зневаги. Іноді прощення — це шлях до внутрішнього миру, а іноді — крок назад. Важливо не тільки пробачати інших, а й не зраджувати себе.
Was wondering the same thing and came across this question.
Apparently Sentry is using an AsyncLocalStorage based on the Node's async_hooks API. (on previous versions, the Domain API was used).
I'm sure someone smarter than me can give a more detailed explanation but from what I understood this API allows you to get the ID of the current execution context (which would be the callback passed to the withScope method in your example). Internally Sentry will then associate this newly created scope with the execution context's ID. Now, when captureException is called within the same execution context, Sentry can use the ID to look up the scope automatically without you having to explicitely pass it to that method.
You assert that a link is equal to a relation.
But you should assert that a relation is equal to a relation.
assertEquals(IanaLinkRelations.SELF, ex.getSelfLink().getRel());
for anyone still encountering this issue, inserting the debug urls at the top of the list works
if settings.DEBUG:
import debug_toolbar
urlpatterns.insert(0,path(r'__debug__/', include(debug_toolbar.urls)),)
Mh.. It looks like fetchAllWorklogs is not being mocked properly in your test, which is why Jest isn't tracking calls to it.
You are mocking JiraUtils but not fetchAllWorklogs directly. Modify your mock to explicitly mock fetchAllWorklogs:
import * as JiraUtils from "../src/services/JiraUtils";
jest.mock("../src/services/JiraUtils", () => {
const actual = jest.requireActual("../src/services/JiraUtils");
return {
...jest.genMockFromModule("../src/services/JiraUtils"),
getIssuesWithWorklogs: actual.getIssuesWithWorklogs, // Keep this function real
fetchAllWorklogs: jest.fn() // Ensure fetchAllWorklogs is properly mocked
};
});
And since fetchAllWorklogs is called asynchronously inside a then, ensure your test is waiting for it. Add await in expect() to ensure it has had time to execute:
await new Promise((resolve) => setTimeout(resolve, 100)); // Ensures async execution completes
expect(JiraUtils.fetchAllWorklogs).toHaveBeenCalledWith(result[2].id);
Can you add this and check if it logs anything?
console.log("Mock calls:", JiraUtils.fetchAllWorklogs.mock.calls);
You need to personalize a Contact Us form for your website to enhance customer interaction and user experience. An ecomexpert can personalize the form based on your business needs and brand using advanced customization processes. An ecomexpert can include features like dropdowns, file upload, and condition logic in the form to enhance its usability using advanced customization processes.
A properly fitting contact form should have the minimum fields like name, email, subject, and message but can include order-specific questions, feedback surveys, or support questions. Adding automation through chatbots or auto-reply will enhance it. Integrating with CRM tools like HubSpot, Salesforce, or email marketing tools will make it automate even more.
For ecom expert websites, one can apply dynamic features such as order inquiry tracing, product question tracing, and real-time customer support. An adjustable speed-load form gives an uninterrupted experience to the user regardless of the platform.
Security too is of first priority. A spam protection service is offered by an ecomexpert using CAPTCHA and verification techniques. An organized and neat contact form is extremely useful to build customer faith and interest and thus drive improvement in conversion rate. Investment in business by professionals enables your contact form to be optimized for the user experience as well as enables your business to grow.
After the installation of the Uniface IDE, got to the start menu and search for license activation. In the opening window enter the Entitlement ID getting with the confirmation mail of the Rocket® Uniface
Use multi-cursor selection for copying code while ignoring what is folded in.
Press Ctrl + Shift and without releasing them start to highlight text that you want to copy with your mouse.
Are you using the Access token value or the ID token value? It won't work with Access Token. Try using ID token value that you get after successful oauth.
This command just produces flags like these `-I/usr/include/python3.10 -I/usr/include/python3.10 -Wno-unused-result -Wsign-compare -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -g -fwrapv -O2 -Wall` - you can set up your parameters (e.g. path to include dir of Python installation %userprofile%\AppData\Local\Programs\Python\Python310\include). a python3-dev package should be installed to run it on Linux, I'm not sure if it's available on Windows.
I found that this is bugs or limitation in extjs . after open more than 3 modal windows on top one another, this happen on chrome,firefox , opera , edge .
please note that prompt /alert also count as another windows
To clarify things, IAS does authentication, AMS does authorization, XSUAA does both authentication and authorization, which will eventually be replaced by IAS+AMS.
Currently, SAP Cloud SDK Java has a beta support for using IAS. (JS does not support IAS and is aware of this feature request.)
AMS has its own library. And assuming you are a CAP Java user, it is already feasible to integrate a CAP application with AMS. Check https://cap.cloud.sap/docs/releases/oct24#tool-support-for-ams for tool support when using AMS in CAP project.
Quite old question, but this was my fix as of 2025:
npm install -D tsx
in package.json:
{
"scripts": {
"test-old": "mocha -r ts-node/register tests/**/*.test.ts",
"test": "mocha -r tsx tests/**/*.test.ts",
}
}
ts-node/register did not work, but tsx saved the day. Thanks to Jazcash
Having the same issue, but my ticket got closed and was told it's a duplicate ticket of a ticket 8 years old. As if the same issue and fix from 8 years ago is going to be valid.
I'd expect the lovely people on this site with down vote your issue and this will also get closed. They get a little power trip with the Admin button.
#!/bin/bash
echo "Enter a grade"
read grade
if [ $grade == "A" ]
then
basic=6000
elif [ $grade == "B" ]
then
basic=5000
else
basic=4000
fi
echo "Your basic is $basic"
@for (item of ('common.arrayOf Something' | translate); track item) {
<li class="title-18 normal">{{item}}</li>
}
I do it like this
In my case I have to uncheck the option under Xcode > Settings... > Text Editing > Wrap lines to editor width
https://github.com/djunsheep/CRANextra/blob/main/README.md
add the following to the .Rprifile and Rprofile.site
# fixing the CRANextra warnings when installing packages
# the following two chucks of scripts will/may run from start of R
local({
r <- getOption("repos") # Get the current repositories
r <- r[names(r) != "CRANextra"] # Remove CRANextra
options(repos = r) # Update the repositories
})
# the cloudyr project
# https://cloudyr.github.io/drat/
if (!require("drat")) {
install.packages("drat")
library("drat")
drat::addRepo("cloudyr", "http://cloudyr.github.io/drat") # Add coudyr to repositories
}
if someone has the video size problem in full-screen mode in Chrome Android context;
the problem may come from default page zoom ; parameters / content parameter / Accessibility / default page zoom. set it back to 100% (or around 91%) and it should be good.
and a faster way, not modifying parameters, is to show the web page in 'version for computer' (parameter three dots) and from there, put the video in full-screen mode.
friendly
A similar question was asked here.
Since the values are likely being treated as strings the order isn't based on numeric values (but string values).
This is verbose code I've just smashed out that for production would need to be cleaned up, added whitespace control and made more efficient - but should be easier to read for this thread.
{% assign myArray = "11,7,4,3,12,9,2,8,6,10,1,5" | split:"," %} {% assign myNewArray = "" %} {% assign zeroFill = "00000000" %} {% for i in myArray %} {% assign thisFill = zeroFill | slice:i.size, zeroFill.size %} {% assign newValue = thisFill | append:i | append:"," %} {% assign myNewArray = myNewArray | append:newValue %} {% endfor %} {% assign myNewArray = myNewArray| split:"," | sort %} {% for i in myNewArray %} {{ i | abs }}<br /> {% endfor %}Does that help?
I also touch on something similar here.
https://freakdesign.com.au/blogs/news/sort-products-in-a-shopify-collection-by-metafield-value-without-javascript
He adds zeros to each number in order to work around the issue.
I cannot reproduce on Mathlib (which was the Lean project I happened to have open when I read your question)
buzzard@brutus:~/mathlib/Mathlib$ cat > A.lean
namespace inner
buzzard@brutus:~/mathlib/Mathlib$ cat > B.lean
namespace inner
buzzard@brutus:~/mathlib/Mathlib$ cat > C.lean
import Mathlib.A
import Mathlib.B
I can open C.lean without any errors. Indeed this pattern is commonplace in mathlib. Are you sure you've diagnosed your problem correctly?