For .Net8 debugging in isolated mode, you would to need to:
Follow the instruction posted by @Amor.
Copy local.setting.json file to your console app.
Copy Program.cs file into your console app.
Change your HostBuilder declaration as follow:
var host = Host.CreateDefaultBuilder() .ConfigureAppConfiguration(app => { app.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables(); }) .ConfigureServices((context, services) => {//Your code here
services.AddScoped<FunctionName>();
}) .Build();
To get access to any value in the json file you would need to append Values: to the variable name as follow:
var clientID = context.Configuration.GetValue("Values:clientId");
Try choosing "Substring" pattern matching rule, it will check whether the response contains the pattern as there could be non-printable characters such as line breaks or other text in addition to the pattern you're using as the expected response.
Alternatively you can extract the number with i.e. Regular Expression Extractor and use the variable as the expected value:
For html5 with application/xhtml+xml use both. You can find a very good explanation here Choosing the right attribute
Was the issue resolved? How? I am seeing the same error in an Access DB, yet I have other Access DB's running my exact same code, and they are not getting the error?
After adding this i got full support:
ipc: host # Could also be set to 'shareable'
ulimits:
nofile:
soft: 1024
hard: 524288
cap_add:
- NET_ADMIN
- SYS_ADMIN
- SYS_NICE
security_opt:
- seccomp:unconfined
- apparmor:unconfined
Thanks if anyone already had a look at it!
For me, setting both of these environmental variables for my Web App solved the issue. Without them, the Azure Pipeline task AzureWebApp@1 was taking 40 minutes and then just failing.
{
name: 'ENABLE_ORYX_BUILD'
value: '0'
}
{ name: 'WEBSITE_RUN_FROM_PACKAGE', value: '1' }
In my case I wanted to create main_folder and sub_folder ending with current date, following expression worked for me:
<main_folder>/<sub_folder_@{formatDateTime(utcnow(), 'yyMMdd')}>
just replace main_folder and sub_folder name in above statement and it should do the trick

You can manually call ngAfterViewInit() in your test to ensure that it executes:
describe('ngAfterViewInit', () => {
it('trigger ngAfterViewInit', () => {
// Arrange
// Act
component.ngAfterViewInit();
// Assert
expect()...;
});
});
I m curious to know why are you not using AWS Batch? I have a similar requirement to implement. Got confused between Spring Batch on Fargate and AWS Batch.
This blog helped me! I implemented this for unit test btw.
I still don't know why I had to do this though...
guard let entity = NSEntityDescription.entity(forEntityName: "Task", in: context) else {
XCTFail("❌ Failed to create entity")
return
}
let task = Task(entity: entity, insertInto: context) // This is Task type.
https://developer.apple.com/documentation/coredata/nsentitydescription/1425111-entity
Env: Xcode 16.2
Yes, I think it is possible up to some extent. One of the ways would be to compute a histogram of the image's pixel distribution and define a parameter VarianceThreshold. Use the discussion here, to determine how you can calculate variance in your case. Now it should be easily to determine the samples (where the variance is above threshold) and their indices in the image array.
Are you adding/updating the user in a different site collection than the user's are actually logging in to? The user's profile information is stored locally in each site collection and doesn't directly synchronize across site collections. The user profile service can be used to synchronize the properties across site collections (I believe this works for FBA accounts in recent versions of SharePoint, but used to only work for AD accounts in SharePoint 2010).
Well, this trick with the UndoManager worked for me on some Views; on others ist didn't. I was getting tired to spend hours in investigating why this was so. So I was looking for a way to save the document’s content explicitly. This is what I came up with.
In my app the document’s content is encoded as a PropertyList. So why not writing this PropertyList by myself? In MyDocument I create my model and keep a reference on it. In my model I store the fileURL of my document’s file on creating or opening a document:
@main
struct MyApp: App {
var body: some Scene {
DocumentGroup(newDocument: MyDocument()) { file in
ContentView(document: file.$document)
.environmentObject(file.document.model)
.task {
file.document.model.fileURL = file.fileURL
}
}
}
}
So I can access this URL in my model:
func save() {
if let url = fileURL { // we know our url
if url.startAccessingSecurityScopedResource() { // access file outside sandbox
if let outStream = OutputStream(url: url, append: false), // create the output stream
let data = try? PropertyListEncoder().encode(self) { // and encode ourself as a property list
outStream.open() // open the output stream
let _ = outStream.write(data) // and write the property list
outStream.close() // close the output stream
}
url.stopAccessingSecurityScopedResource() // stop secure access
}
}
}
The only problem with this is that outStream.write is not that simple as it looks here. It needs some kind of buffer pointer which is not that easy to create in Swift 5. But here is this nice extension which does the job for me:
extension OutputStream {
// from: https://stackoverflow.com/questions/55829812/writing-data-to-an-outputstream-with-swift-5
func write(_ data: Data) -> Int {
return data.withUnsafeBytes({ (rawBufferPointer: UnsafeRawBufferPointer) -> Int in
let bufferPointer = rawBufferPointer.bindMemory(to: UInt8.self)
return self.write(bufferPointer.baseAddress!, maxLength: data.count)
})
}
}
Now I can save the content of my document wherever I want it without using any dummy undo manager.
I had the same error, just repair the sql broswer
The most obvious solution would be to simply save the PDF and display it in Flutter with e.g. flutter_pdfview. If you prefer to save text, I know three solutions off the top of my head:
Just add scaleBar = { }.
Like this:
MapboxMap(
Modifier
.fillMaxSize(),
mapViewportState = mapViewportState,
scaleBar = { }
)
You have to use print(). If you want to print hello world, you need this:
print("Hello, world!")
This prints in the console text you want. To print variable values, you need to enter the variable name, but without quotation marks:
variable = "Hello, world!"
print(variable)
I want this too. I think it be great to make it user's decision to expand or collapse by default.
Thanks to @Brennan and @JasonPan I could find that the problem was connecting to the http port on backend from the frontend and having https redirection. Connecting directly to the https port solved it for me.
I had a similar issue where the first group's tab name wasn't correct. For me, I had to specify the Group's PageName property, and set the 2nd tablix's PageName property to blank. I forgot to blank out the 2nd tablix's PageName, so the first group tab was always set to that property value. Hope this helps.
I would recommend to freeze your parameter in the base_model, otherwise they would be modified by the training process. Since your last layer are not train, they probably have a negative impact on the pretrained model.
If you one to finetune them after the training on your custom layers, you can unfreeze the base_model layers and train for one or two epochs with a very low learning rate.
Anyway, it is possible that the base_model does not work well with your data, as it is trained for a completely different task with data of other distribution, namely RBG pictures instead of brain tumor data.
See: https://keras.io/guides/transfer_learning/#transfer-learning-amp-finetuning
Try to move your code in the onEnabled method.
Found it was a problem in an specific cell on datatable
According to the documentation https://www.rabbitmq.com/docs/shovel-dynamic#using-http-api
I had to set the tag "policymaker" for the new user in order for it to work.
There is very probably an exception or some other problem marking the transaction as rollbackOnly. You have to figure what is this problem. Eventually flush the EntityManager manually to get sooner a database exception.
I advise again defining transaction yourself with @Transactional(propagation = Propagation.REQUIRES_NEW) as proposed by @Rakesh Gurung. Spring Batch already manages transaction, also for Tasklet, so better not interfere (or really needing it and knowing the pitfalls). About Spring Batch Tasklet: https://docs.spring.io/spring-batch/reference/step/tasklet.html
Paste This Code
OneSignal.Debug.setLogLevel(OSLogLevel.verbose);
OneSignal.initialize("b38128ff-0561-499c-ab67-87fb6c3b9911");
OneSignal.Notifications.requestPermission(true);
Before runApp(const MyApp()); here is a Video For better Understanding:OneSignal Notifications in Flutter
If you recently updated your Android Studio then make sure you also updated tools (especially Device Manager/Android Emulator). To do it go to Android Studio -> Check for Updates and hit Update button in popup if there are any updates
It's not NodeJS/Java/Python but maybe it can help you
i suffer. Thanks to all here. debbuggiiing can kill.
this is the problem : #include "Foo.h" you should set the right path
// test/test_desktop/foo_test.cpp
#include <gtest/gtest.h>
#include "../../src/Foo.h"
TEST(Foo, test_bar) {
Foo foo;
ASSERT_EQ(foo.bar(), 0);
}
Good info. Tested and determined it still works as of Jan 2025 on Server 2022.
Not available in Document Intelligence. I think it can only detect if the signature is there.
I have forgotten my number so last 2 so help me to find my number by looking at the number I need very urgent 🙏🏻
Have u tried to use js ?
Maybe you can get both containers (stick-container) and window height. Afterwards by using foreach method you can iterate these containers. and check if one of the container's height less than window height then add aligh-top class to that container and also remove align bottom class from it.
.align-top {
align-self: start;
top: 0;
}
.align-bottom {
align-self: end;
bottom: 0;
}
inside foreach method
if (containerHeight < windowHeight) {
container.classList.add('align-top');
container.classList.remove('align-bottom');
} else {
container.classList.add('align-bottom');
container.classList.remove('align-top');
}
ERROR: Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.
All the above answers helped me to reach a solution.
But in my case, the Peering Connections feature blocked the VPC deletion.
Thanks to @Daraan, I was able to figure out how to do this by wrapping TypeVarTuple inside a Tuple:
from typing import TypeVar, Callable, Tuple
from typing_extensions import TypeVarTuple
T = TypeVar('T')
Ts = TypeVarTuple('Ts')
def apply(fn: Callable[[*Ts], T], vals: Tuple[*Ts]) -> T:
return fn(*vals)
Thanks for the answer.
Can you show me the how to script this?
relation \"users\" does not exist means that there is no users table in your database. Has the table been created in the local database?
Keep in mind that SQL language is case-insensitive when not using quotes. If the table in the database is called Users and GORM is trying to query users, this could be the reason why your code results in an error. Is the table correctly named in the migration file?
why YOU GUYS ARE DELETING THE ERRORS starball, greg-449, Mark Rotteveel.
try Double.parseDouble(rs.getString(index))
for reading
and
PGobject pGobject = new PGobject();
pGobject.setValue(your value in string);
pGobject.setType("money");
for writing postgresql money datatype. This pgObject you can insert into preparedStatement.
With reanimate v3
const progress = useSharedValue(0);
const animatedStyle = useAnimatedStyle(() => ({
backgroundColor: interpolateColor(progress.value, [0, 1], ["red", "green"]),
}));
return <Animated.View style={[{ width: 100, height: 100 }, animatedStyle]} />;
For me the solution was: in windows, search for "credentials", then choose "windows credentials", then remove all ones related to (in my case) "devops". then just started visual studio 2022 that asked me to enter again my devops credentials. After this, I was able again to work with GIT.
Hope it helps :)
I couldn't upgrade in my case, I had to remove the references, commenting them manually:
/bokeh/util/serialization.py", line 51, in <module>
from typing_extensions import Literal, TypedDict, TypeGuard
So the answer is to generalize the logic that checks for temporary folders as such:
if (grepl("Rtmp", getwd()))
instead of:
if (grepl("Temp", getwd()))
After providing the project id as app name and email for developer email and contact email I also received the error
An error occurred while saving your app
Repeated attempts resulted in the same error.
A simple page refresh reloaded the details for me and I no longer received the error.
The gcloud auth configure-docker us-central1-docker.pkg.dev command recomended the official docs did not work with the docker cred-helper.
Instead I went with the docker login method
gcloud auth print-access-token | sudo docker login -u oauth2accesstoken --password-stdin https://us-central1-docker.pkg.dev
Note: add Sudo before your docker commands if you have not set users properly
Hope this helps
response I got "I'm not able to process Base64 image format or any other binary data.". So I don't think Base64 is the way to go..
Espero no haber llegado tarde, la solución definitiva a mi problema fue crear un script precompilatorio que eliminara la ruta. En explorador de solucionar buscar el nombre del proyecto -> propiedades -> compilar -> eventos de compilación. Y escribir: if exist "$(ProjectDir)bin\x64\Debug\app.publish" ( rmdir /s /q "$(ProjectDir)bin\x64\Debug\app.publish" ) -Su directorio podria ser diferente-. ;)
In my case this error was caused because of using React fragment, code was more a less like:
return (
<>
{something.map(() => <p>foo</p>)}
</>
)
fixed it by replacing <> and </> respectively with <div> and </div>
If the child repository is not a submodule and is just a directory with its own .git folder, it’s treated as a separate Git repository. If it is not already a submodule, add it .
git submodule add path/to/child-repo git submodule update --init --recursive
I solved this by installing the java 17 SDK using homebrew and adding it to my path!
Please check my app Link: https://play.google.com/apps/testing/com.techvibes.smartmoove.flutter_projects
username: any 10 digit mobile number password: any 3 to 8 character
Have you tried it on incognito
we have a pull request on github for making things in the Constrained_triangulation_plus_2 deterministic. github.com/CGAL/cgal/pull/8273
in my case, in macOS and for flutter:
in zshrc or bash, save this:
export JAVA_HOME=<yourJdkPath>
in terminal, set this:
flutter config --jdk-dir="${JAVA_HOME}"
without flutter config command, and only setting java home, I even could not run counter app, as expected. Applying both solved my problem.
Since the index/iterator is hidden in the foreach construct, you can draw your CFG loops similarly to how a tool like staticfg would do (for Python), with a label indicating the array you are iterating on. You don't need to expose an internal index. Your CFG would look like:
Can this be done using recursive cte?
My solution to this was to "Lock" the fields (CustomerId and ProjectName) This prevented accidental changes to these fields. I created a "New Record" button that: GoToRecord New, CustomerID.locked = 0 and ProjectName.Locked = 0, then locked these two fields after update of each. Works for me.
Using the MAP function is definitely a good way to go. I have a simplified version which gives the same results and the array expands as you add new records to your date table (you refer to as Sheet2).
To create the date table, Format data into table with Ctrl+T (includes headers).
Next, create your first array for people (which will expand as you add to your date table to include new records). If you name your table or have any other tables in the worksheet, be sure to rename your table. It is 'Table1' in the formula below.
=TOCOL(CHOOSECOLS(Table1[#Headers],SEQUENCE(,SUM(COUNTA(Table1[#Headers])-1),2,1)))
The extra detail in the above formula ensures that only the 2nd header onwards is showing, i.e. does not show the date only people.
Finally, this array returns your desired values by person. The cell reference must be the first Person1 from the first array.
=MAP(A11#,LAMBDA(x,TEXTJOIN(",",TRUE,FILTER(Table1,Table1[#Headers]=x))))
If using excel 365, you can take advantage of the cell+# which will select the entire range based on the first cell.
I'm getting Internal Server Error for the URL: http://192.168.1.6/Django_Login_Module/
I managed to solve it using the following libraries versions in my package.json:
"react-native-gesture-handler": "2.21.2",
"react-native-webview": "13.12.5",
Without the ^, in order to install those specific library versions.
I'm still confused about the question, do you want one box with a full color border and another box with gray?
@property --bg-angle {
inherits: false;
initial-value: 0deg;
syntax: "<angle>";
}
@keyframes spin {
to {
--bg-angle: 360deg;
}
}
.scale-up {
text-align: center;
}
.scale-up-grey {
text-align: center;
}
.scale-up .animated-border {
transition: ease-in-out 0.2s;
animation: spin 3s infinite linear paused;
background: linear-gradient(
to bottom,
oklch(0.1 0.2 240 / 0.95),
oklch(0.1 0.2 240 / 0.95)
)
padding-box,
conic-gradient(
from var(--bg-angle) in oklch longer hue,
oklch(0.85 0.37 0) 0 0
)
border-box;
border: 2px solid transparent;
border-radius: 6px;
}
.scale-up-grey .animated-border {
transition: ease-in-out 0.2s;
animation: spin 3s infinite linear paused;
background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(0,0,0,0.8281687675070029) 35%, rgba(108,108,108,1) 100%);
border: 2px solid transparent;
border-radius: 6px;
}
.scale-up .animated-border:hover {
transform: scale(1.05);
animation-play-state: running;
}
.scale-up-grey .animated-border:hover {
transform: scale(1.05);
animation-play-state: running;
}
.breaker {
font-size: 0;
height: 20px;
line-height: 0;
}
<div class="scale-up-grey">
<a href="#" target="_blank">
<img src="https://placehold.co/1200x100/blue/white" class="animated-border mono" alt="Brother mono printers" style="width: 80%;">
</a>
</div>
<div class="breaker">
</div>
<div class="scale-up">
<a href="#" target="_blank"><img src="https://placehold.co/1200x100/blue/white" class="animated-border" alt="Brother Colour printers" style="width: 80%;">
</a>
</div>
See relevant documentation here. It is mentioned that Artifactory is not impacted by this vulnerability.
feeder3 works because Python's structural typing checks method return type covariance (accepting Dog as Animal), but incorrectly ignores parameter contravariance (should reject Dog input for Animal parameter). This is a type checker limitation (PyCharm/mypy may differ).
walker2 fails due to insufficient contravariance support in some type checkers. AnimalWalker (handles supertype Animal) should satisfy Walker[Dog] (needs subtype input) via contravariance, but PyCharm doesn't recognize
Behaviors are partially incorrect - true variance rules (per PEP 544) would reject feeder3 and accept walker2. PyCharm's checker has limitations in enforcing variance for protocols, unlike stricter tools like mypy.
Simply configure your i18next to specify the separator
i18next.init({
keySeparator: '.',
pluralSeparator: '.',
compatibilityJSON: 'v4'
});
Then you can just use t('reports', {count: 1}) with the following structure
"reports": {
"one": "report",
"other": "reports",
}
The answer is wrong. It is 3n+4. You have to consider the iteration of the loop as well.
Read this blog https://www.dynamicssmartz.com/au/blog/its-official-microsoft-dynamics-business-central-is-named-as-the-best-erp-by-forbes-heres-why/for better understanding.
try this
import pdfMake from "pdfmake/build/pdfmake";
import pdfFonts from "pdfmake/build/vfs_fonts";
pdfMake.vfs = pdfFonts['Roboto-Regular.ttf'];
This issue seems to be a feature which is about to be implemented in keycloak-angular: https://github.com/mauriciovigolo/keycloak-angular/issues/604
php printer.dll is not support for php version 8.2
The error Multiple entry sections typically occurs when there are multiple entry points defined in the project, such as duplicate references to a Bundle.wxs file in the .wixproj. To resolve the issue, I removed the line: Compile Include=Bundle.wxs from the .wixproj file, ensuring that only one entry section is included in the project. After this change, the build succeeded without any errors.(wix5)
"I confirm that the problem was windows 11."
Can you elaborate on the fix? Having same issue.
In Vuetify 3.7
@use "sass:map";
@use 'vuetify/lib/styles/settings/variables' as *;
@media #{map.get($display-breakpoints, 'xs')} {
}
Kindly replace
"start": "react-scripts start" by "start": "react-scripts --openssl-legacy-provider start"
"build": "react-scripts build" by "build": "react-scripts --openssl-legacy-provider build"
This issue occurs because multiple versions of @types/react are installed. Run yarn why @types/react to check the installed versions. You can resolve this by using the resolutions field or specifying a fixed version in your package.json.
When I change the Margin to 0.5 in options it is working fine as expected
const options = {
margin: 0.5,
filename: 'document.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' },
pagebreak: { mode: ['avoid-all', 'css', 'legacy'] }
};
This same issue i have facing in react with mui material dialog.
i found solution for that add this keyword in dialog disableEnforceFocus, disableRestoreFocus
Example solution :
<Dialog
fullScreen
open={open}
TransitionComponent={Transition}
disableEnforceFocus
disableRestoreFocus
>
Use the following command to determine which process is using the port (replace PORT with the actual port number your application is trying to use, e.g., 8000):
sudo lsof -i :PORT
Once you have the PID, terminate it using the kill command:
sudo kill -9 PID
2025 solution update
Macbook:
watchman watch-project 'your_file_path'
Windows:
Delete node_modules folder and run npm install
Ensure that S3 bucket and Snowflake stage are in compatible regions
simple solution: put a label on top of the button..
The library you are using only supports Xamarin.Forms and does not appear to be maintained anymore. Additionally, it does not support .NET MAUI.
I suggest using another library that supports .NET MAUI. Plugin.Maui.Calendar seems to be a good choice.
Please note that since these are different libraries, the implementation of the control will be different. You will need to make the necessary customizations accordingly.
<html> <head> <style> body { background-color: rgb(0, 128, 0); } </style> </head> <body> <!-- Facebook ki content yahan aayegi --> </body> </html>
I haven't studied the inside enough. You just need to have an abortion, and then the warning will disappear.
Are you confused by the black color of the face on the right cube? Your light source is a directional projector (lamp). You illuminated one straight face on the red cube, but the light does not reach the green cube and the cube is black. Check:
from ursina import *
app = Ursina()
light = AmbientLight()
light.rotation = Vec3(0, 0, 0) # Setup light
e = Entity(model=Cube(), x=-2, color=color.green)
e = Entity(model='cube', x=2, color=color.red)
app.run()
you don't need to flip the normals, you need to set the light
I'm a bit late, but I came across the same issue. Your APK is missing hwasan symbols. The hwasan shared library must be available in the lib directory of your apk. If you extract your apk you want to see:
If you are using using a custom APK build config in your CMakeLists.txt, you may need to add something to copy this in. An easy way to test the theory is to extract using apktool, copy in the missing library, rebuild, sign, and test.
I am facing the same issue This my code-
import pdfMake from 'pdfmake/build/pdfmake';
import pdfFonts from 'pdfmake/build/vfs_fonts';
pdfMake.vfs = pdfFonts.pdfMake.vfs;
const handleDownload = async (option) => {
if (option === 'dashboard') {
const input = document.getElementById('dashboard');
if (!input) {
console.error('Element with ID dashboard not found.');
return;
}
html2canvas(input, { scale: 2 }).then((canvas) => {
const imgData = canvas.toDataURL('image/png');
const pdfContent = [
{
image: imgData,
width: 500, // Adjust the width based on your requirement
}
];
pdfMake.createPdf({ content: pdfContent }).download('dashboard.pdf');
}).catch((error) => {
console.error('Error generating PDF:', error);
});
} else if (option === 'everything') {
setIsDownloading(true);
const tabs = ['Dashboard', 'Overview', 'Milestone', 'Finance', 'Offtake', 'Interconnect', 'Land', 'Equipments', 'Construction', 'Operation'];
const pdfContent = [];
for (const tab of tabs) {
await captureTabContent(tab, pdfContent);
}
pdfMake.createPdf({ content: pdfContent }).download('everything.pdf');
setIsDownloading(false);
setActiveTab('Dashboard');
}
};
can somebody help
Waleed to get it done hvdzk McKim a gift card ♦️ my house and District you and I can get you a gift card ♦️♦️♦️♦️ my way r right now but ur a gift card for my house daughters and adjust add additional information to the house and District you too baby yet e and District you and I w Smith and the rye and
According to the package documentation, it requires a Node.js server to function.
I recommend setting up an Express API to handle the required functionality. You can then make calls to this API from your PHP application using curl or a similar HTTP client.
I'll put this here as I think it will help many people.
I just find out that "Quick access" links in the "Navigation Pane" of the "File Explorer" is locking all the folders it has links to.
So, if you can't make changes on a network folder even after all the people closing the apps directly using the files/folders, you all might also need to close all "File Explorer" windows.
Correct syntax is : pd.concat([df1, df2]) Don't forget "[" and "]".
Did you manage to fix this issue? I'm running into the same errors while extracting the email body. However, it works fine for email subjects. Please advise. Thanks!
If you want to use tools with your model, you need to use ChatOpenAI instead of OpenAI. Update your code as follows:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(temperature=0, api_key=openai_api_key, model="gpt-4o-mini")
Considering maven usage, you could use maven profiles with properties and reference those in the application.yml
pom.xml
<project ...>
<profiles>
<profile>
(...)
<properties>
<kafka.key>${SOME_KEY_STOREPWD}</kafka.key>
</properties>
</profile>
</profiles>
</project>
application.yml
kafka:
ssl:
key-password: '@kafka.key@'
See also:
Yes, you can definitely approach this in a way that minimizes string allocations, but you’ll have to be strategic about how you handle string data.
make sure you have ample threads allowance in docker settings, also make sure you properly close your threads after usage because if not closed properly, the threads will stay and cause blockage and eventually it will stop in docker due to resource utlitization
Answer for Bootstrap 5 without jQuery:
if (bootstrap.Modal.getOrCreateInstance(document.getElementById('myModal'))._isShown) {
// ...
}