RDKit is designed to be somewhat modular. It's a very very big package, and importing everything under Chem is not usually advised. The best practice when using the library is to be specific with your imports (use the Descriptors.ExactMolWt function instead of Chem.Descriptors.ExactMolWt). Alternatively, you can do from rdkit.Chem import AllChem which will load in almost everything in Chem module and its sub modules.
You could use sip specific lib in app connect it to telephony server asterisk/freeswitch both open source m do some dial plan m you wil have what you need , the recording will be in server but possible to view even at client if you use proper app logic . All you can do without spending a dime, look at github also you will find example. thanks
It’s because you're redeclaring loginSuccess inside the If, so VBScript treats it like a new local variable there, exactly like what @Shrotter said
You could try moving the Dim loginSuccess outside the If block
It should look something like this:
Dim username
Dim loginSuccess
username = InputBox("Enter your name:")
If username = "admin" Then
loginSuccess = True
MsgBox "Welcome, admin!"
Else
loginSuccess = False
MsgBox "Access Denied"
End If
If loginSuccess Then
MsgBox "You're logged in"
Else
MsgBox "Login failed"
End If
Add ?pgbouncer=true , for both DIRECT_URL and DATABASE_URL connection strings in .env file.
The correct syntax in the code to reach the selenium standalone running in the kubernetes cluster was
http://remote-chrome-webdriver.default.svc:80/wd/hub
Also we had to create a Kubernetes service to expose this selenium to other workloads in the cluster
apiVersion: v1
kind: Service
metadata:
name: remote-chrome-webdriver
labels:
app: remote-chrome-webdriver
spec:
selector:
app: remote-chrome-webdriver
ports:
- protocol: TCP
port: 80
targetPort: 4444
type: LoadBalancer
Note also that if you're using the Red Hat Developer for Individuals subscription, it's only for personal use. If you are developing or testing RHEL applications for work, you want the RHEL for Business Developers subscription. For details see: https://developers.redhat.com/articles/2025/07/09/announcing-self-service-access-red-hat-enterprise-linux-business-developers
I came to the point that when we pass a string to html2pdf everything works, but when clone, for some reason the pdf is empty.
The code I came up with:
//...
// Generate PDF
let htmlString = clone.innerHTML; //Create string
html2pdf()
.from(htmlString) //Passing the string
//...
i had some faults in my code that is why i was not getting the results.
first i was using
return $.get("<?php echo base_url('get_testname'); ?>", { query: query }, function (data) {
which should be $.post() so i changed to
return $.post("<?php echo base_url('get_testname'); ?>", { query: query }, function (data) {
secondly i was using check in my controller method instead of query so i changed the check to query
public function get_doctor()
{
$query = $this->input->post('query');
$data = $this->customers->get_doctor($query);
echo json_encode( $data);
}
To use adb in any terminal (PowerShell, CMD, android studio, etc.), you need to add it to your system PATH:
C:\Users\<YourUsername>\AppData\Local\Android\Sdk\platform-tools
Were you able to find a solution for this? I'm also experiencing the same error .
Cheers
Jithin
I'm experiencing the same problem, and interestingly, for about the same period as you, about 3 months.
Samsung support in Brazil informed me that when the smartwatch enters what I call "power saving mode" (I'm not sure if that's the correct term), the sensor sends information to the registered listeners in batches every 10 minutes, but I couldn't pinpoint this. My listener simply stops receiving data.
I'm struggling to solve this. If I succeed, I'll post here so you know.
Good luck!!!
I wondered if maybe when I pass a capacity value, they take the nearest bigger prime so I also looked at the constructor source code and that's exactly what they do:
if (min < 0)
throw new ArgumentException(SR.Arg_HTCapacityOverflow);
foreach (int prime in Primes)
{
if (prime >= min)
return prime;
}
Try it this way.
colnames(df)[unname(unlist(sapply(df,is.factor)))]
It's doable using Smartsheet native automation and a Zapier zap. When a new attachment is added to a Smartsheet row, the zap grabs the attachment, attaches it to an email, and sends the email to a designated Outlook mailbox (individual or shared). Mine process goes a step further by using Power Automate to monitor that mailbox, and when the zap email hits it Power Automate grabs the attachment and saves the file to a designated SharePoint library and folder path.
I found the solution.
$ sudo ln -s /usr/lib/libxml2.so.16 /usr/lib/libxml2.so.2
To be independent of the underlying Database, I was using Apache DBCP2 as a datasource and while loading the datasource I was using either a file containing the connection properties or loading them from the environment.
it's because your code runs fully synchronous on the UI thread, so UI updates get queued but not rendered until it's done.
You have use .NET 9 to use SDK 35. If use .NET 8, you will be able to use a maximum of SDK 34. Case .NET 9 not be available, update your Visual Studio. My version is 17.14.7.
I wrote about this here: https://dev.to/googleworkspace/youre-probably-using-curl-wrong-with-your-google-apps-script-web-app-1ed8
- remove the -X POST
with this solution I get the compiler answer:
Could not create ModelContainer: SwiftDataError(_error: SwiftData.SwiftDataError._Error.loadIssueModelContainer, _explanation: nil)
Any idea, thanks a lot Uli
Finally found the Solution
android.experimental.androidTest.useUnifiedTestPlatform=false
just add this line to
gradle.properties
In the forum post you mention Forms. If you are using the built in FileUploadElementBlock I think the access rights to the uploaded files in Forms are inherited from the file upload element block access rights or maybe the form container block itself. That could also explain the issue with the access rights being reset whenever you post new data.
Also had this issue this morning, when everything worked fine yesterday. I didn't think I even initiated updates, and I don't update automatically.
Kubuntu 20.04 (Yeah, I need to update but...snaps...). gitk was 1:2.34.1-1ubuntu1.13, git 2.34.1.
The fix from @ivorybabe worked, even though it is probably a temporary fix. I downgraded gitk as he said, but did not change git-gui.
The Angular Material Components Repo has a big build system, which was never properly prepared to run on native Windows. That's the reason you hit a snag with the SASS toolchain complaining.
The fastest way to get up and running is by installing WSL2 with the latest Ubuntu, installing the newest node via nvm deleting the node_modules folder installed by pnpm in the native windows environment, performing https://stackoverflow.com/a/58414196/6240779, letting pnpm install install the required packages and finally starting the local dev server. So you keep the code in outside of WSL, but let WSL run the dev server.
Be patient with pnpm dev-app, it's a heavy weight.
ARGH!
export CFLAGS=-I/usr/local/$HOSTARG/include $CFLAGS"
export CPPFLAGS="-I/usr/local/$HOSTARG/include $CPPFLAGS"
export LDFLAGS="-L/usr/local/$HOSTARG/lib $LDFLAGS"
Those were apparently needed also...
Download this and install it by running as Administrator. Choose the x86 version even if your system is 64-bit.
I'm 7 years too late, but to whom may find this useful:
What that Wikipedia image is depicting is the optimal color solid (or Rösch-MacAdam color solid), which is the theoretical gamut of surfaces, not the visible gamut.
The visible gamut is bounded by the spectral cone and the inverse spectral cone. In a linear color space, such as CIE 1931 XYZ or LMS, the spectral cone is the surface formed by the set of rays that start at black ((0, 0, 0)) and pass through one spectral color (the XYZ coordinates of the spectral colors can be found on the CIE website). The inverse spectral cone is the symmetric of the spectral cone with respect to central grey ((0.5, 0.5, 0.5)). The volume that these two cones enclose is the visible gamut. The locus where they intersect is the set of the most chromatic colors that we can see.
The optimal color solid is tangent to the visible gamut's boundary at the blackpoint and the whitepoint, but it is pretty far from it in the highly chromatic colors, especially in the reds and cyans. This is because surfaces cannot reflect a single wavelength of light and be bright at the same time. But light sources can.
Two more simple but important items to check.
Make sure you have a firewall rule to the destination server and port enabled if required.
Make sure you are using the correct protocol (https vs http)
I access directly in the menu now, not sure when this changed but i have been doing it for a while
Right click folder, New -> JPA
Try to run the app in relase mode.
Although helpful and fixing some errors in the OPs code, the answer provided by @Santiago Squarzon does give the same error after about 22000 results (in my case at least). Here is some guidance at Microsoft Learn for working with large datasets. Hope this helps
You can exclude those binaries from the apk during packaging.
Add the snippet below in the build.gradle.kts / build.gradle in the app module to fix it.
android {
packaging {
resources {
excludes.add("**/dump_syms/**")
}
}
}
The problem exist in version 12.1.0. The workaround is to use version 12.0.0, it works regularly
turns out it can be as simple as
constant STACKSV : integer := ((character'pos(STACK(1))) * 256 * 256) + ((character'pos(STACK(2))) * 256) + ((character'pos(STACK(3))))
which for "int" produces 0x00746F70, which I can use, it's the integer equivalent of the V/SV "int".
That is, in my VHDL, pass generic STACK => STACKSV, and in the V/SV I can do if(STACK == "int") ...
Obviously, I could have shifted left 8 more bits and added 0x20, that would have answered the original question; but this actually is what I needed.
Now if someone could show me how in VHDL to do a left shift by 16 instead of a multiply by 256*256, and an OR instead of the addition, I'd be truly grateful. Given the strong typing of VHDL, I can't quite seem to get it right....
resource "random_id" "bucket_suffix" {
byte_length = 4
}
module "s3_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
version = "~> 4.0"
# Basic Configuration
bucket = "${local.name_prefix}-images-${random_id.bucket_suffix.hex}"
It is also good option
For me - I clicked to override the install command in Settings > Build, but left it blank.. so install was not running.
The error message was somewhat of a red herring, but now I'm set
uh i also need an aswer to this... im trying to connect a gamepad to execute a xorg session (the script works if i execute it from a shell / root shell but doesnt work if its executed by udev
Completed the setup after a few trial and errors. Used Oauth2 and followed the setups process available to complete the mapping and build the pipeline.
Error code 401 means authorization error.
This is what Groq says.
You may check for more errors on this link. https://console.groq.com/docs/errors
Mi servirebbe una soluzione simile
in quanto ho un vecchio programma 32bit gestionale che non funziona con MAPI
su un client di posta a 64bit
Try moving your | startExpr 'and' expr and | expr 'and' expr alternatives in the rules above the | startExpr '+' expr and corresponding expr alternatives. I believe they should then match first and give you the tree you expect. I'm guessing you will likely also wish to elevate the or rules as well.
Code is no longer being supported and has not been supported for since July 2023. Thank you for anybody that read my post have a nice day.
I don't have the reputation to update but getting downvoted on this is really dumb. I don't know why someone would seeing it's a legitimate question with a final legitimate answer.
You can update the port number for the "Admin" buttons on XAMPP Control Panel by: 1) click on "Config" button on the top right corner. A Configuration of Control Panel will appear. 2) click on "Service and Port Settings" button on the right bottom corner of Configuration of Control Panel. Service Settings window will appear. 3) You can update the port number for Apache at this Service Settings window, and the URLs for the "Admin"
buttons will get updated.
The correct fields depend on what the VPN server sends. In my case, the working solution was:
nmcli connection modify "XXX" vpn.secrets "form:main:group_list=my_group,form:main:username=my_username"
The server presented the group field as form:main:group_list.
vpn.group and similar fields were ignored.
A class representing a Unicode character is available in the Ujorm framework. A stream of such characters can be loaded from an input stream by the expression:
Stream<UnicodeCharacter> chars = UnicodeCharacter.stream(inputStream, UTF_8);
See a unit tests for more examples:
A link to the original class is:
using the decorator:
@keras.saving.register_keras_serializable(package="name")
and returning init params in get_config, I had to rerun the notebook and retrain the model.
Now I can successfully load the model using:
model2 = keras.models.load_model("model_1_epoch.keras", custom_objects=custom_objects, compile=False)
I also troubling for couple of hours with this problem and the issue comes from the proxy I entered earlier. To fix this using android studio follow this steps:
1. Go to File > Setting > Appearance and Behavior > System Setting > HTTP Proxy.
Now if you have entered proxy and port earlier totally disable it. This might help you
For anyone who discovers a similar issue using cordova-plugin-firebasex v18.0.7 on cordova-android, this is the manual fix for the issue. Hopefully this fix gets merged soon in a new version of firebasex and we won't have to do it manually in the future.
So solution is simple, but i still have no idea why TTTOOLINFOW not working here:
I replaced sizeof(TTTOOLINFOW) with TTTOOLINFOW_V2_SIZE macros and unicode tooltip now working
I am somewhat embarrassed to have to admit that, while working with It all makes cents's answer, I discovered that I had made a mistake in transcribing my password from my Python code to the original VB.Net code. There was a sequence of two 'w's in the center of the password, one of which was actually lower case, and the other upper. This was not as obvious as it might have been, due to the font which the python editor was using, and I transcribed them both as upper case. The first issue, therefore, was actually a correct response by mariadb when given an incorrect password. However, the second issue (a different exception when attempting to connect with an alternate, and correctly transcribed set of credentials) remains unexplained, and does not occur with the MySQLConnector approach. It all makes cents's answer should, therefore, be regarded as definitive, and, by implication, this connector is to be preferred when linking to a mariadb database from VB.Net.
Nothing above worked for me. The issue it was causing was it trimming white space after save, turns out there is a separate setting for that and formatOnSave does not override this.
go to settings and disable Files:Trim Trailing Whitespace, this worked after hours of fixing it
Newbie here to macos - I have the following Windows .bat file and need to convert it to a mac .sh file - can anyone please help? Thanks in advance (This is how it looked in Windows 11 - files are located in the same location in Macos)
@echo off
start python C:\Users\Aide199\Desktop\UMTX2\host.py
start python C:\Users\Aide199\Desktop\UMTX2\fakedns.py -c dns.conf -i 192.168.0.2
I had to add the following types to my tsconfig.json and tsconfig.spec.json files:
"compilerOptions": {
"types": [
"jasmine",
"node"
]
...
}
| header 1 | header 2 |
|---|---|
| cell 1 | cell 2 |
| cell 3 | cell 4 |
You can accomplish this by using ActiveSheet.Range("D15:D19").FillDown This will copy down the formula that is in D15 to the area specified D15:D19. Put this at the end.
did you manage to fix this issue?
I experienced something like this in Laravel 12.
My issue was solved by where i placed the middleware.
This did not work with CSFR issued tokens, but it worked with normal api tokens issued by sanctum.
Route::middleware(['auth:sanctum'])->group(function () {
//Routes
});
I moved the middleware definition and that fixed the problem.
Route::group(function () {
//Routes
})->middleware(['auth:sanctum']);
We actually noticed that it's often NOT single use. So the assumption I had is incorrect.
If you want to place a conditional word break, including an added hyphen at the end of the line, you can add ­ within your text.
This answers a slightly different problem than the one asked above, but while looking for this solution I first stumbled across this question.
fallowing answer of DannyB, for my ruby version 3.1.3 this resolve:
CONFIG = YAML.safe_load_file(Rails.root.join('config/config.yml'), aliases: true).with_indifferent_access
I ran into a similar rejection issue. After struggling with the review process, I used https://playtrust.pulsecode.in to identify and fix policy violations. Their report helped me fix the bugs and finally get my app accepted on the Play Store.
It seems to be happening to a lot of people today, they have an ongoin incident :
https://www.dockerstatus.com/
[Identified] We've identified the issue and are working towards remediation. As a result, all Hub items are currently in a read-only state.
I was facing the same problem and found out that you have to add a TikTok test account in order to use the sandbox version of your App.
Open your app on https://developers.tiktok.com/app/
On Sandbox setting, click on add an account and log in with the account you will test
import Svg, { Image } from 'react-native-svg';
<Marker
coordinate={coordinates}
title="Title"
>
<Svg width={60} height={60} style={styles.image}>>
<Image
href={imageUrl ?? undefined}
width={60}
height={60}
/>
</Svg>
</Marker>
getExternalStoragePublicDirectory() was deprecated in Android 10 but was undeprecated in API level 32, Android 12. That's why it's working fine on later versions and doesn't show a deprecation warning.
https://developer.android.com/sdk/api_diff/32/changes/android.os.Environment
i'm facing the same problem. Have you solved it ?
What helped me:
Close VS Code
Delete the content inside the workspaceStorage.
~/Library/Application Support/Code/User/workspaceStorage
For Windows it is:
C:\Users\username\AppData\Roaming\Code\User\workspaceStorage
And it should be faster / normal again
At least that was my final step and its smoothly running again 🙏
The latest security update of git, on at least Ubuntu 22.04 LTS (jammy), is buggy and breaks both gitk and git gui, And it seems the same bug affects Ubuntu 18.04.
The bug on Ubuntu launchpad: https://bugs.launchpad.net/ubuntu/+source/git/+bug/2116253
Git vulnerabilities that are fixed in the (partially broken) security update: https://ubuntu.com/security/notices/USN-7626-1
Since it's a security vulnerability it may not be wise to revert to an older version, unless you only use the affected commands on trusted repositories.
This is a simplistic example, but imagine if you needed 100 nodes of some application to serve traffic. If you wanted to have 100 still running after one AZ out of two went down, you would need to run 200 nodes, 100 per AZ. If you spread your application over 3 AZs, you would only need to run 50 in each AZ for a total of 150 to still have 100 when one AZ went down.
As you add more AZs to this architecture, you still benefit, but with diminishing returns.
This article explains the idea in more detail, and references Chapter 2 of Architecting for Scale, 2nd Edition by Lee Atchison:
picker.subviews[1].backgroundColor = UIColor.clear
this is how i remove color of selected item but do it after UIPickerView is loaded perfectly other wise it's going to crash
for current version of openblas/lapack (v0.3.30):
#define LAPACK_COMPLEX_CPP
#include <complex>
#include <lapacke.h>
I was facing a similar issue while working with Magento 2 and the Hyva theme.
After some investigation, I found that Tailwind CSS v4 is currently not supported by Hyvä.
I downgraded to Tailwind CSS v3, and everything started working as expected.
You can install it using:
npm install tailwindcss@3
Is this code used in pocket android app as well? BTW while running I got below error:
java.security.NoSuchAlgorithmException: PBEWithSHA256And256BitAES-CBC-BC SecretKeyFactory not available
Thanks,
You need a different type of auth token than what you are using.
This article talks about using a PowerShell library to get it using AADInternals
$teamsToken = Get-AADIntAccessTokenForTeams
Source:
https://medium.com/@mozzeph/automate-setting-work-location-in-teams-outlook-poc-deb7b05de08d
You’re definitely not alone — GitHub Advanced Security and Azure DevOps don’t offer the same level of features, even though they’re both Microsoft tools. GitHub’s security tooling, especially secret scanning and SAST, is more mature at this point. That “scan for generic passwords” option you mentioned is one of many features that just don’t exist in Azure DevOps yet.
We tested this ourselves — same repo in both platforms, and GitHub consistently flagged more secrets and potential issues. Azure DevOps, while functional, feels a bit behind and lacks the configurability GitHub has. From what I’ve seen, Microsoft isn’t aiming for full feature parity — they seem to treat the two as separate ecosystems.
The real challenge is maintaining consistency when your codebases live in both platforms. Right now, we’re handling it by adding an extra layer of scanning into our CI/CD pipelines, separate from what the platforms provide. That way, we get uniform results no matter where the repo lives.
So yeah — it’s not just a delay or a settings issue. The platforms are genuinely different. If consistent security checks matter, it’s worth building a layer of abstraction yourself, or using tools that don’t depend on the platform's native features.
Same here, it has stopped working, probably the error is related to git instead of gitk, I can see the following in the package management history:
Upgrade: gitk:amd64 (1:2.34.1-1ubuntu1.12, 1:2.34.1-1ubuntu1.13)
Upgrade: git:amd64 (1:2.34.1-1ubuntu1.12, 1:2.34.1-1ubuntu1.13)
Upgrade: git-man:amd64 (1:2.34.1-1ubuntu1.12, 1:2.34.1-1ubuntu1.13)
Yes I forgot to return the function value
The Server must be configured to trust the Client certificate as well. Have you set that up?
Another possibility is that the Server is using a CA signed certificate instead of a self-signed, in which case you must ensure the CA certificate is trusted on your side.
Closing the loop on this for anyone encountering this problem, in the app's MassTransit config (the first code block), you must specify the queue name here:
cfg.ReceiveEndpoint(<QUEUE NAME GOES HERE>, e =>
{
e.ConfigureConsumer<RequestConsumer_MyConsumer>(context);
(Unable to add a comment right now due to low rep)
But have you tried loading within a custom scope?
custom_objects = {"CustomLayer": CustomLayer, "custom_fn": custom_fn}
with keras.saving.custom_object_scope(custom_objects):
reconstructed_model = keras.models.load_model("custom_model.keras")
@adam-nagy - thank you for your response!
The error you get (the 'undefined' TypeError) is the same error I get if I try loading through the console directly in B360's viewer. But there I can also see the DiffTool source code being present when inspecting 'Sources' through the browser's dev tools. That is not the case in our own app - here the DiffTool source code is fx not present at all. I have also tried the snippet that you use in your test project (so loading with a config), but it doesn't seem to work for me (see image) - I still get the same error.
Screenshot of loading with config
Seeing as the DiffTool seem to not be present at all, I wonder if there's something wrong in our base setup?
I changed my "Auto Save" option to "onFocuschange" without turning off my "format on save" option and it worked.
In VSCODE search in the settings the word prune.
then enable the checkbox "Prune when fetching" for Git extension.
This is the only solution which worked with me. Restarting WinNAT will cause Windows to release ports that it's locking from use.
net stop winnat
net start winnat
Use the External Lib Folding plugin. It organizes External Libraries into a hierarchical tree structure, solving the auto-expansion issue with "Autoscroll from Source"
Günümüz şehir hayatında yarışmak kaçınılmaz hale geldi. Özellikle İstanbul gibi trafiği yoğun bir şehir de yaşıyorsanız, gönderilerinizin zamanında ulaşması her zamankinden daha zor bir hâl almaktadır. Tam da bu gibi durumlarda, acil kurye hizmetinizde. Beklemek istemediğiniz gönderiler, son dakikada çıkması gereken evraklar veya hızlı ulaşması gereken paketler için hızlı ve güvenli bir çözüme ihtiyaç duyarsınız. Firmamız, İstanbul’un tüm ilçelerine hızlı teslimat yapmaktadır. Kurye hizmeti almadan önce en çok sorulan sorulardan bir tanesi de fiyat konusudur. Her gönderi farklı özelliklerde olduğu için hepsinin ayrı fiyatlandırma yapılmaktadır. Bu nedenle firmamızın web sitesinde yer alan kurye fiyat hesaplama aracı, bu süreci sizler için kolaylaştırır.
Resubmit Your Sitemap in Google Search Console
– This helps notify Google of changes faster.
Use the URL Inspection Tool
– Submit specific pages (especially ones you edited) to “Request Indexing.”
Wait Patiently
– Google typically takes a few days to a few weeks to re-crawl and reflect changes. For low-authority or new sites, it may take longer.
Track Changes in Google Search Console & Analytics
– Monitor impressions, clicks, and rankings over the next 2–4 weeks.
Since you’ve just started and are experimenting with meta tags and body content, don’t expect overnight results. Normally:
Minor changes may take 1–2 weeks to reflect.
Bigger SEO improvements (rankings/traffic) can take 1–3 months depending on competition and keyword difficulty.
If you’re unsure what’s working and what’s not, SEO audits and content optimization services can help you grow faster without the guesswork. At BubbleWorld, we help websites like yours improve indexing, visibility, and Google rankings through strategic content updates and technical SEO.
That was very useful. It fixed my problem
Thanks !
I think that in JSON, you cannot have duplicate keys at the same level of an object. that each key in a JSON object must be unique.
# Create the data frame
data <- data.frame(
Weight = c(20, 25, 30, 35, 40, 45, 50, 55, 60, 65),
Thorax_L_Con = c(15.4, 15.9, 16.3, 16.8, 17.0, 17.5, 17.9, 18.1, 18.4, 18.7),
Thorax_L_Hei = c(15.9, 16.5, 16.9, 17.2, 17.7, 18.4, 18.8, 19.6, 19.9, 20.1)
)
# Set margins: bottom=2in, left=2in, top=1in, right=1in
# Convert inches to lines (approximate: 1 inch ≈ 4.8 lines)
par(mar = c(4.8, 9.6, 4.8, 9.6))
# Plot the first line
plot(
data$Weight, data$Thorax_L_Con,
type = "b",
pch = 16, # solid circle
lty = 1, # solid line
col = "blue",
xlab = "Weight (cg)",
ylab = "Thorax Measurements (mm)",
ylim = range(c(data$Thorax_L_Con, data$Thorax_L_Hei))
)
# Add the second line
lines(
data$Weight, data$Thorax_L_Hei,
type = "b",
pch = 17, # triangle
lty = 2, # dashed line
col = "red"
)
# Add a legend
legend(
"topleft",
legend = c("Thorax_L_Con", "Thorax_L_Hei"),
pch = c(16, 17),
lty = c(1, 2),
col = c("blue", "red")
)
Okay creating ViewModel at Top Level in Component and then passing it down to the lower Composable Components is One of the solution u can use it for your project but one of the best solution i encounter at my project is using "ViewModelStoreOwner"
here is the one by one step and other solution u can use in you project according to your need
Be Aware in this i use Koin for DI insted of Dagger Hilt
Problem Summary
Currently, I am facing an issue in handling ViewModel across two different Composables.
Scenario
I use the same ViewModel in two different Composables: Composable A and Composable B.
I create the ViewModel instance using: val viewModel: MyViewModel = koinViewModel()
Issue Observed
When I navigate from Composable A to Composable B using:
navController.navigate("${NavigationConfig.SWITCH_TEAMS_SCREEN}/${data_one }/${data_two}/${data_three}")
the ViewModel in Composable B acts as a new instance, resulting in: Loss of all data created or retrieved in Composable A.
Root Cause
Koin creates a new ViewModel instance per destination because by default: Each navigation destination recomposes independently and requests its own ViewModel and The ViewModel is scoped to the current navigation back stack entry.
Impact
Data loss between composables using the same ViewModel.
Redundant API calls or data recreation, leading to performance issues and inconsistent user experience.
Solution one : Share the data which is required to the composable B through Navigation
Solution Two : share the create the ViewModel at top level and share it to the lower components .
Solution Three: By default:
A ViewModel's scope is tied to either:
The Composable lifecycle (recreated on recomposition or navigation), or
The Activity/Fragment lifecycle if created in them.
What changes with viewModelStoreOwner? When you use:
val parentEntry = remember { navController.getBackStackEntry(NavigationConfig.MATCH_GRAPH) }
val viewModel: MatchScreenViewModel = koinViewModel(viewModelStoreOwner = parentEntry)
and use this view model in that composable .
Also remember , to access this same view model object in another screen evern after navController.navigate(). you need to use val parentEntry = remember { navController.getBackStackEntry(NavigationConfig.MATCH_GRAPH) }
val viewModel: MatchScreenViewModel = koinViewModel(viewModelStoreOwner = parentEntry)
for creating view model object in new compose. : it will work fine in all those screen which come under the defined NavGraph .
You are specifying that:
The NavGraph itself acts as the ViewModelStoreOwner.
The ViewModel instance is now scoped to the MATCH_GRAPH NavGraph route.
✅ Why is this beneficial?
Shared instance across multiple destinations within the NavGraph.
Both Composable A and Composable B will use the same ViewModel instance.
Data fetched or modified in one composable will be instantly available in the other.
Lifecycle-safe.
The ViewModel will remain alive as long as the MATCH_GRAPH NavGraph is in the back stack.
Once the NavGraph is popped from the back stack, the ViewModel is automatically destroyed, ensuring no memory leaks.
Optimized architecture.
Avoids redundant data fetching.
Prevents unnecessary ViewModel recreations, improving performance and user experience.
🔍 How it works internally?
navController.getBackStackEntry(NavigationConfig.MATCH_GRAPH) retrieves the NavBackStackEntry for MATCH_GRAPH.
Passing it as viewModelStoreOwner tells Koin:
“Use this NavGraph’s lifecycle to manage the ViewModel instance.
Compose will now reuse the same ViewModel across all composables under that NavGraph, unless the NavGraph is popped.
Solution Four : use scope ViewModel but it is applicable for Activity or fragments
(according to https://insert-koin.io/docs/reference/koin-android/viewmodel)
THIS IS KIND OF MAIN ISSUE SNIPPIT
@jesvin-palatty and @yoduh (thank you), I've tried to expand on these answers using defineAsyncComponent, the following does indeed work, but I wonder whether my approach would be considered good practice?
<script>
import IconError from '@/components/icons/IconError.vue';
import {defineAsyncComponent} from "vue";
function getIcon(key) {
return defineAsyncComponent({
loader: () => import(`@/components/icons/Icon${key}.vue`),
errorComponent: IconError,
timeout: 3000
})
};
</script>
<template>
<IconBase><component :is="getIcon(item.icon)"></component></IconBase>
</template>
I just needed to reinstall the packages I have. Since I am using bun, I had to do the following commands:
> rm bun.lockb
> rm -rf node_modules
> bun i
The problem came from a corrupt and conflicting bun.lockb, and to ensure it's not corrupt, I had to remove it and the node_modules associated to it, and then reinstall the packages.
from moviepy.editor import VideoFileClip, AudioFileClip, concatenate_videoclips
# Load audio and clips
audio = AudioFileClip("your_song.mp3")
clip1 = VideoFileClip("clip1.mp4").subclip(0, 5)
clip2 = VideoFileClip("clip2.mp4").subclip(0, 5)
# Combine clips and add music
final = concatenate_videoclips([clip1, clip2])
final = final.set_audio(audio)
final.write_videofile("music_video.mp4", fps=24)
Run
In my case it was VPN that were blocking connection both to the rabbit mq server itself as well as to the management web-interface.
I also encountered this issue today; I am running Pop!_OS 22.04 and could reproduce it with git 2.34.1 (latest).
After updating to the latest stable Git using:
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt upgrade
# ...
Setting up git (1:2.49.0-2~ppa1~ubuntu22.04.1) ...
Setting up gitk (1:2.49.0-2~ppa1~ubuntu22.04.1) ...
# ...
and git --version reporting git version 2.49.0 I can confirm that this no longer reproduces.
The safe_open_command_redirect seems to only have been introduced since Git 2.43.7 (https://github.com/git/git/commit/67a128b91e25978a15f9f7e194d81b441d603652), so I have no idea why gitk executed that in both our cases.
Maybe there was a mismatch when package maintainers updated the git/gitk packages?
In any case, updating the Git to latest stable seems to side-step this issue for now (but I'm sure that the package maintainers will fix this in the meantime).
The solution for me was to upgrade protobuf and use absl::string_view instead of std::string in my proto messages.
// message.proto
edition = "2023";
import "google/protobuf/cpp_features.proto";
option features.(pb.cpp).string_type=VIEW;
// Now each string field will be string_view in generated code.
I had the same problem that started today. I don't know how to fix it but you can downgrade an older version of both git-gui and gitk which seems to fix this for me
# show available versions:
apt-cache showpkg gitk
# remove installed version
sudo apt-get remove gitk
# install one version from the apt-cache. For me it was:
sudo apt-get install gitk=1:2.34.1-1ubuntu1
# do the same for git-gui:
sudo apt-get install git-gui=1:2.34.1-1ubuntu1