Same problem happens here.
Use 'wsl.exe --list --online' para listar distribuições disponíveis
e 'wsl.exe --install <Distro>' para instalar.
PS C:\Users\daniels> wsl --install Debian
Baixando: Debian GNU/Linux
Instalando: Debian GNU/Linux
O sistema não pode encontrar o caminho especificado.
Código de erro: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/ERROR_PATH_NOT_FOUND
I was wondering why jupyter notebook doesn't subsume all the counts and outputs into the checkpoints, while letting those artifacts completely sabotages the version management.
Okay, so after some testing, it boiled down to the python Interpreter being a (in?) Python venv.
I have now installed the same version of python interpreter and libraries system-wide and the Program works. (until it doesn't, which is a thing for another round of research)
--> Therefore, do not expect libraries like pywin32, which go into operating system stuff to fully work inside a venv.
Thanks to the few who tried to help!
Session expired hoge hai theek kordo please 🙏 theek kordo salam king id
Did you ever figure this out? Having same issue
I'm not allowed to comment due to rep but for those asking for locationID, it's attached to each business, not user:
You can find contactId as described in the other answer
Seu problema é que a descriptografia não funciona porque o IV (vetor de inicialização) usado na criptografia e na descriptografia é diferente. Além disso, você está usando mcrypt
, que está obsoleto.
Use openssl_encrypt()
e openssl_decrypt()
com AES-256-CBC. Guarde o IV junto com os dados criptografados e envie tudo no link.
Check my extension based on previous answers for downloading files in a folder:
https://github.com/HaoranZhuExplorer/Download_Large_FOLDER_From_Google_Drive
For possible solutions see:
TAChart how to make different width and/or color only for a specific grid line
I haven't tried this option but it's indicated on Google: https://cloud.google.com/logging/docs/view/streaming-live-tailing
Have you been able to solve this problem?
I followed these instructions but Facebook seems to ignore it.
Same issue, same setup. It was working well before ~16 hours ago
Quagga2 is the newer version of QuaggaJS. It's decent when you're looking for basic scanning needs or for test projects. Found this tutorial that basically describes the integration step by step: https://scanbot.io/techblog/quagga-js-tutorial/
Go to .m2 folder update repository folder with backup name and open eclipse again
Hi, I'm experiencing a **similar SMTP error: `535 5.7.8 Error: authentication failed`** when trying to send emails through **Titan Mail** (Hostinger), but I'm using **Python** instead of PHP.
I'm sure that the username and password are correct — I even reset them to double-check. I've tried using both ports `587` (TLS) and `465` (SSL), but I always get the same authentication error.
Below is my implementation in Python:
```python
from abc import ABC, abstractmethod
import os
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
class TitanEmailInput:
def __init__(self, to: list[str], cc: list[str] = None, bcc: list[str] = None, subject: str = "", body: str = ""):
self.to = to
assert isinstance(self.to, list) and all(isinstance(email, str) for email in self.to), "To must be a list of strings"
assert len(self.to) > 0, "At least one recipient email is required"
self.cc = cc if cc is not None else []
if self.cc:
assert isinstance(self.cc, list) and all(isinstance(email, str) for email in self.cc), "CC must be a list of strings"
assert len(self.cc) > 0, "CC must be a list of strings"
self.bcc = bcc if bcc is not None else []
if self.bcc:
assert isinstance(self.bcc, list) and all(isinstance(email, str) for email in self.bcc), "BCC must be a list of strings"
assert len(self.bcc) > 0, "BCC must be a list of strings"
self.subject = subject
assert isinstance(self.subject, str), "Subject must be a string"
assert len(self.subject) > 0, "Subject cannot be empty"
self.body = body
assert isinstance(self.body, str), "Body must be a string"
class ITitanEmailSender(ABC):
@abstractmethod
def send_email(self, email_input: TitanEmailInput) -> None:
pass
class TitanEmailSender(ITitanEmailSender):
def __init__(self):
self.email = os.getenv("TITAN_EMAIL")
assert self.email, "TITAN_EMAIL environment variable is not set"
self.password = os.getenv("TITAN_EMAIL_PASSWORD")
assert self.password, "TITAN_EMAIL_PASSWORD environment variable is not set"
def send_email(self, email_input: TitanEmailInput) -> None:
msg = MIMEMultipart()
msg["From"] = self.email
msg["To"] = ", ".join(email_input.to)
if email_input.cc:
msg["Cc"] = ", ".join(email_input.cc)
if email_input.bcc:
bcc_list = email_input.bcc
else:
bcc_list = []
msg["Subject"] = email_input.subject
msg.attach(MIMEText(email_input.body, "plain"))
recipients = email_input.to + email_input.cc + bcc_list
try:
with smtplib.SMTP_SSL("smtp.titan.email", 465) as server:
server.login(self.email, self.password)
server.sendmail(self.email, recipients, msg.as_string())
except Exception as e:
raise RuntimeError(f"Failed to send email: {e}")
Any ideas on what might be causing this, or if there's something specific to Titan Mail I should be aware of when using SMTP libraries?
Thanks in advance!
I'm using ESP 32 and PN532 , nfc_emualtor understand it , and does it support in dart version 3 , if no please provide me a new pacakage which support andorid as well as ios .
Within the Intelephense plugin there is a setting to exclude files from language server features
@ext:bmewburn.vscode-intelephense-client exc
Within these exclusions I found the **/vendor/**
folder. This plugin and its settings were shared with me by the previous developer and as such I was unaware of this.
The basic premise being the Intelephense was unaware of all of the symfony classes as it was unable to index that location.
Whilst looking to resolve this I have seen multiple people having similar issues with other PHP Frameworks that do not have an answer, so I will mention this post anywhere else I see that problem in the hope it will fix those too (CakePHP and Laravel being the ones I have seen)
see what i am talking about enter image description here
my version of python is 2.7.18
I am also looking for the possibility for adding the copilot to bitbucket for reviewing the PRs.
Are there any free tools where we can do that without any security issues? or paid tools with lesser price for integrating with the organization repo ?
Use pytubefix (https://pytubefix.readthedocs.io/en/latest/index.html) instead. Pytube is no longer maintained; pytubefix works the same way.
Why is $objDoc declared but not used?
You are(were?) on the completely wrong way ;)
....NET seems to take care of it when using AddSingleton...
You seem(ed?) to lack fundamental understanding of dependency injection. It is arguably the next step in object oriented programming. Simplified, the idea is, that the new() keyword is kind of evil. new Car() ??? Cars aren't transformers, they don't build themselves. When thinking in objects to represent reality, this isn't right. A CarFactory would be more accurate. But you don't want to implement a factory for every object. How to solve this dilemma? -> The concept of Dependency Injection. Simplified, it's one big object factory. Or a bit like Amazon, you tell it what you want and then you get it.
...but not sure how to correctly instantiate the StateService manually in the Program.cs file...
That's the neat part - you don't.
"Just" tell it what you want in Program.cs:
builder.Services.AddScoped<IStateService, StateService>();
builder.Services.AddHttpClient<ITestService, TestService>(httpclient =>
{
httpclient.BaseAddress = new Uri("https://www.google.com/");
});
(I made StateService scoped, because it holds no actual state information in a variable, you are just using it to access data)
As Stephen Cleary linked, the .AddHttpClient here is called a Typed HttpClient. Whenever you use NEW HttpClient instead of something like above, you are doing something dangerous. And I mean beyond the object-building-itself thing. For HttpClient specifically the new keyowrd is evil. Let the framework handle HttpClient, so that connections are being handled efficiently and nothing is left open, otherwise you might get those infamous socket exhaustion issues and general performance problems.
There are many way to inject dependencies into a class, here is one.
public class TestService(HttpClient HttpClient, IStateService StateService) : ITestService
{
public async Task<string> DoStuff()
{
HttpResponseMessage response = await HttpClient.GetAsync("search?q=hellogoogle&thisCallDoesntWork=copyYourOwnSearchStuff");
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
return content;
}
else
{
return string.Empty;
}
}
}
In your StateService, you are using another kind of dependency injection, but it effectively does the same: Getting a service from the predefined ones in Program.cs
private IJSRuntime jsRuntime;
public StateService(IJSRuntime _jsRuntime)
{
jsRuntime = _jsRuntime;
}
Injection in the UI file looks a bit different with @inject. Here in the Counter.razor of the HelloWorld Blazor:
@page "/counter"
@rendermode InteractiveServer
@inject ITestService TestService // Dependency injection
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private async Task IncrementCount()
{
string apiCallResult = await TestService.DoStuff(); // Using our injected service
currentCount++;
}
}
Please note that I do not want to pass stateService itself as a parameter to test service because Test Service is completely decoupled from the playform it is running on, therefore it is not aware of how or where the token comes from, only that it has a token to work with.
This problem you describe is kind of why dependency injection was invented (improving object orientation is just a nice side effect). In my setup TestService has no StateService-parameter, it gets a IStateService INTERFACE injected:
builder.Services.AddScoped<IStateService, StateService>();
There is no hard coupling. You can completely change the implementation of StateService and simply adjust the Program.cs code, the TestService will never notice the difference, its code does not need to be touched one bit:
builder.Services.AddScoped<IStateService, CompletelyDifferentStateService>();
It is fine that TestService has a dependency on IStateService, the reality is, it DOES access it and that is fine. But it has no dependency on StateService, the concrete implementation is decoupled.
It probably makes more sense, if you think of my made up class "IUserProvider" with a GetUsers() method. What is the implementation?
UsersApi.cs, calling a server?
TestUserJsonReader.cs reading users from a file?
UsersGenerator.cs, making up random new users out of some hardcoded data?
Any class using IUserProvider via Dependency Injection doesn't care, it is well decoupled. You can even change it dynamically, if IsTestEnvironment -> inject a different implementation.
(I know I'm a bit late to the party)
idk im just writing this so i can get reputation points
I have been trying the MAPIlab mail merge and found error at the last step to send email via Outlook, with the error message "Class is not registered".
Please advise.
It seems that you had resolved your issue, can you share your build.gradle.kts file that how you fix this? thanks a lot.
It seems that a license is required in the new version. https://docs.automapper.io/en/stable/15.0-Upgrade-Guide.html
Did you find any solution for this? I also have same issue.
So you're getting the super annoying "Cannot find ___ in scope" error in Xcode. You've probably tried a bunch of stuff already, but let's go through some troubleshooting steps together!
You must make sure your file path is all good. If you've got files grouped in Xcode, try making real folders on disk to match. Sometimes Xcode gets confused if things don't match up.
If that's not the problem, try cleaning and rebuilding your projet. Xkode's indexing can get all wacky sometimes, and a good old clean-slate build can fix it right up.
If none of this stuff works, can you tell me more about your project setup and the error you're getting? I'll do my best to help you debug it!
Thanks, this code is working fine.
flutter create --platforms=ios .
It's strange this is downvoted, I'm going through Netlify onboarding and the build doesn't work and nothing is clear.
Perhaps you can try the paginator.
I followed this guide and got it working:
https://www.geeksforgeeks.org/flutter/flutter-install-pod-in-windows-and-macos/
Have you resolved the problem? We are currently struggling with it when updating wildfly from 27 to 34...
Did you ever get this working?
Works so well, one of the best solutions I found for the problem online.
Thanks
I have the best solution for non enterprise, I did the same like @Sagar Chilukuri but when sort o filter the row change, I use the refresh Cells
I added a Click proterty to a ImageButton in the Shell Data Content, when i called the Binding FlyoutIcon, it gives me the Clicked to all the Icons.... is there any way to add a different Clicked property to each Icon keeping the Shell DataContent????
If array items cannot be deleted can we not use size and read till that using index instead of iterator?
It is possible to look it with vim or neovim as well.
Having similar issue with Google search console. Where do you add this code within wordpress?
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type": "VirtualLocation",
"url": "https://operaonline.stream5.com/"
},
I think the default size is 1024 and you've specified int16 so you'd need to return 2048 bytes. Try setting your periodsize to 2048?
Try: pattern = "{1}<<±{2}>>"
In MacOS is use ⌘ / to toggle / untoggle comment in a selected block of code
Uninstall hidapi first.
Check this link for steps:
https://pypi.org/project/hidapi/
To fix this error in Unity 6, I had to enable "Custom Main Gradle Template" and "Custom Gradle Settings Template" in "Android Project Settings" to get it to build!
Try import "hid". In HidApi example: https://github.com/trezor/cython-hidapi/blob/master/try.py used import name "hid".
Documentation on project: https://github.com/trezor/cython-hidapi/blob/master/docs/
Getting the sam issue, found any fix for Version 3?
is there any way out there to make a mode "by yourself"
like a plugin or a code? which i can use? just in case i want unicorns running there too?
*just curious
Did you manage to fix the error?
hi sir how are you? is your closed play console available?
You are attached a link ProcessAdd here. but it was not showing any xmla file, could you please share the file,
Because am also need to update dimension table from other table, i dont have access to touch VS Code and Cube Properties, just i need to insert data from Incr table to main tables, and also i dont have access to copy or move data from main table, currently cube pointing the main table but i need to update data from Incr table.
This is very helpful -
^q::
sendinput ^l
send refreshcss
sendinput {enter}
return
But how do i make it so that the page opens in a new tab instead of the current?
Such a great job you are doing I am proud
Currently I am also facing similar issue with Qwen2.5-3B model where full fine tuning on 5k dataset takes only 38 minutes while inference on 1319 data take 1 hour 24 minutes.
hello i had this same issue today also,some forums are suggesting it is a gateway issue but my data is sharepoint so it should not be related to that?
Timpan,s storms,inside bot satlte.program.bluhets.order.77FFY5.O98.6651.CB6.P04tecnologey component , of yanotengonada
If you are communicating with one service to another microservice and no response comes from 1 microservice,then how do you handle it?
for version v23.0, you could see this page: https://developers.facebook.com/docs/graph-api/reference/v23.0/insights
The solution how to connect is described here: https://blog.consol.de/software-engineering/ibm-mq-jmstoolbox/
implementation found its way into
Any news on that topic? I do have exactly the same problem.
Is there a code that will perfectly parse a rpt file and convert to csv, just using python code and libs?
I realize this is a very old thread, but I thought perhaps I could add some info.
My app has 19 Oracle 19c database servers and Weblogic installations situated coast to coast, all connected via military network. I discovered some "invalid records" in one particular table on one of the databaes, an was curious as to whethr this sam type of problem existed in our other databases. I wrote a small SQL script to locate/identify the bad records.
Our databases have two database functions we wrote years ago. CHECK_NUMBER and CHECK_DATE. There is a single parameter passed to the function. The functions simply return a TRUE or FALSE depending on whether the data passed to the function is a valid date or number. Simple.
BUT - I was trying to gather data from all 19 remote databases into one central table (with the identical structure) on one of our development servers. Call it "ADAMDEV".
When I wrote INSERT INTO MYTABLE@ADAMDEV(select... <whatever>), if the Select Statement included any references to the CHECK_NUMBER or CHECK_DATE functions, SqlPlus would constantly throw a ORA-02069: global names parameter must be set to TRUE for this operation.
We don't WANT to set Global Names to TRUE because it messes up other stuff.
So... To get around it... I created the "temporary data holder" table in each of the 19 databases, ran the Sql query to populate each LOCAL version of the table using the FUNCTIONS in my query to filter to only "bad" records, then, after each database was done, I ran a script that connected to each database one at a time, and just did a direct insert (Insert into MYTABLE@ADAMDEV (Select * from...)) etc. from the remote database to the same table on my ADAMDEV server.
My question: Is there a way (without setting Global Names to TRUE) to execute a query that will be acting on a remote database (via a pre-created database link) that contains references to local database functions? Or perhaps I should specify "@ADAMDEV" prepended to my function calls? (will that even work? CHECK_DATE@ADAMDEV?) It was not a big deal to add a few extra steps to get what my bosses wanted, but it would be good to know if there were a way to do something similar, but being able to FILTER a query using a local function, while INSERTING the selected data into a remote database via a DB Link Anyone know if it can be done/how?
This article contains all the info about API that you need: https://hw.glich.co/p/what-is-an-api
see if this helps.
github.com/chiranjeevipavurala/gocollections
Please help me with this error.
2025-07-15 16:17:22 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP 41be03b00d2f7-b3bbe728532sm12105356a12.69 - gsmtp
2025-07-15 16:17:22 CLIENT -> SERVER: EHLO localhost
2025-07-15 16:17:22 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [103.214.61.50]250-SIZE 36700160250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250 SMTPUTF8
2025-07-15 16:17:22 CLIENT -> SERVER: STARTTLS
2025-07-15 16:17:23 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
SMTP Error: Could not connect to SMTP host.
2025-07-15 16:17:23 CLIENT -> SERVER: QUIT
2025-07-15 16:17:23 SERVER -> CLIENT:
2025-07-15 16:17:23 SMTP ERROR: QUIT command failed:
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
PHPMailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
have you seen , the new Graph EXPORT / IMPORT api use SFP too ... :
https://learn.microsoft.com/en-us/graph/import-exchange-mailbox-item#request-body
como andan ? Tengo un error 404 al crear una api con flask con.
<!doctype html>
<html lang=en>
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try
again.</p>
Les adjunto el codigo si me pueden ayudar donde le estoy errando gracias.
from flask import Flask, request, jsonify
from iso8583 import encode, decode
from iso8583.specs import default_ascii as spec
import re
import os
import json
from datetime import datetime
def obtener_valor_campo(parsed, campo):
valor = parsed.get(campo)
if isinstance(valor, dict) and "value" in valor:
return valor["value"]
return valor
app = Flask(__name__)
def reconstruir_mensaje(texto):
bloques = re.findall(r'\[(.*?)\]', texto)
return ''.join(bloques)
def extraer_campos_iso(mensaje_iso):
try:
iso_bytes = mensaje_iso.encode()
parsed, _ = decode(iso_bytes, spec=spec)
return {
"mti": parsed.get("mti"),
"campo_3": obtener_valor_campo(parsed, "3"),
"campo_4": obtener_valor_campo(parsed, "4"),
"campo_7": obtener_valor_campo(parsed, "7")
}
except Exception as e:
return {"error": f"Error decodificando mensaje ISO: {str(e)}"}
@app.route('/extraer_campos', methods=['GET'])
def procesar_texto():
try:
datos = request.get_json()
texto = datos.get("texto", "")
mensaje_iso = reconstruir_mensaje(texto)
resultado = extraer_campos_iso(mensaje_iso)
return jsonify(resultado)
except Exception as e:
return jsonify({"error": f"Error general: {str(e)}"}), 500
def es_binario(cadena):
return all(c in '01' for c in cadena)
def limpiar_a_binario(cadena):
return ''.join(c for c in cadena if c in '01')
def procesar_archivo(ruta_archivo, ruta_json, codificacion='utf-8'):
lista_datos = []
try:
with open(ruta_archivo, 'r', encoding=codificacion) as archivo_lectura:
for i, linea in enumerate(archivo_lectura, start=1):
linea = linea.strip()
if not linea:
continue
if es_binario(linea):
binario_entrada = linea
else:
binario_entrada = limpiar_a_binario(linea)
if not binario_entrada:
print(f"Línea {i}: no contiene dígitos binarios válidos, se omite.")
continue
decimal = int(binario_entrada, 2)
hora_actual = datetime.now().strftime('%H:%M:%S.%f')[:-3]
origen_trx = "POS"
destino_trx = "EPS"
mti = '0200'
iso_message_fields = {
't': mti,
'3': '001000',
'4': '000000100002',
'7': '0508155540',
'11': '000002',
'12': '155540',
'13': '0508',
'22': '021',
'19': '032',
'24': '111',
'25': '00',
'35': '6799990100000000019D2512101045120844',
'41': '38010833',
'42': '23659307 ',
'46': '1',
'48': '001',
'49': '032',
'52': 'AEDB54B10FF671F5',
'59': '021000100407070840001023209FFFFF0220002200000DB02800010040784',
'60': 'WPH0001',
'62': '0002',
}
encoded_iso_raw, _ = encode(iso_message_fields, spec)
decoded_iso_data, _ = decode(encoded_iso_raw, spec)
lista_datos.append({
'hora_procesamiento': hora_actual,
'origen_transaccion': origen_trx,
'destino_transaccion': destino_trx,
'decimal_from_input': decimal,
'iso_message_raw': encoded_iso_raw.decode('ascii'),
'iso_message_decoded': decoded_iso_data
})
with open(ruta_json, 'w', encoding=codificacion) as f_json:
json.dump(lista_datos, f_json, indent=2)
print(f"Archivo JSON guardado en: {ruta_json}")
except FileNotFoundError as fnf_error:
print(f"Error: archivo no encontrado: {fnf_error}")
except Exception as e:
print(f"Error inesperado: {e}")
if __name__ == "__main__":
# Define aquí las rutas de entrada y salida:
ruta_archivo = r"C:\Users\mbale\Downloads\AutomatizacionAudit\LecturaAudit\POS-EPS\LecturaAudit.txt"
ruta_json = r"C:\Users\mbale\Downloads\AutomatizacionAudit\LecturaAudit\POS-EPS\Salida.json"
procesar_archivo(ruta_archivo, ruta_json)
app.run(debug=True, host="127.0.0.1", port=5000)
I'm with the same problem, could you solve it?
Should it be "/src" or "src"?
The issue still continues for me even though I tried every solution, from going incognito to creating a copy of the file. I am stuck on the pop up where it says something went wrong.
This is very frustrating, everything was working properly and all of a sudden I am stuck in this pop up. Is there any alternative solutions?
Just tested this and both methods give Users and Groups as response.
You can remove this ' new lines' with online tools like https://webtexttools.com/texttools/delete-whitespaces/
Changed browser and problem solved.
getting the same issue , tried almost everything , but i dont know why anyone haven't worked on it , to hide the scrollbar of whole body in a nextjs/reactjs tailwind project , frustating a lot !!!
After opening an issue on github related to this question, i received an response from the maintainers. Here is the link for the issue: https://github.com/micronaut-projects/micronaut-data/issues/3373
Have a look at MDG Technology Icons: https://sparxsystems.com/enterprise_architect_user_guide/17.1/the_application_desktop/projectbrowseroverlays.html
trying to get it to work on my side. But when I want to run the questy i get below error...
What is wrong?
DataSource.Error: Web.Contents failed to get contents from 'https://portail.agir.orange.com/rest/api/2/search?jql=project%3DSOMEPROJECT&fields=summary%2Creporter%2Cstatus&maxResults=1000' (400):
Details:
DataSourceKind=Web
DataSourcePath=https://portail.agir.orange.com/rest/api/2/search
Url=https://portail.agir.orange.com/rest/api/2/search?jql=project%3DSOMEPROJECT&fields=summary%2Creporter%2Cstatus&maxResults=1000
I have converted this wrong snippet following the Grafana Alloy Syntax Guide for the new .alloy file syntax and the Graphana Components reference documentation.
use blur image tool ,find some ideas
Thank you, I tried the Troubleshooter and it's showing "No apps on your account." but it's not true I have some apps (see screenshot) and some of them are showing ads and my Ad unit ID are correct from Admob
I wrote a short, two-part article about the differences between B-tree indexes and MongoDB Atlas Search; it might help you https://medium.com/@sanyaaxel94/from-ground-level-b-trees-to-atlas-search-heaven-part-1-c9bda1c201f6
I wrote a short, two-part article about the differences between B-tree indexes and MongoDB Atlas Search; it might help you https://medium.com/@sanyaaxel94/from-ground-level-b-trees-to-atlas-search-heaven-part-1-c9bda1c201f6
StackOverflow is dead
StackOverflow is dead
StackOverflow is dead
StackOverflow is dead
StackOverflow is dead
StackOverflow is dead
StackOverflow is dead
If anyone is still searching for one, Created my own custom Processor that Captures Changes using MongoDB Change Stream.
Any luck on this Rob, i got stuck in the same place when the provision status says "In Progress".
I have only changed the JS part and also added comments in code.
Is this how you want it?
const chatLauncher = document.getElementById('chatLauncher');
const chatContainer = document.getElementById('chatContainer');
const sidebar = document.getElementById('sidebar');
// just changed the name
function closeChat() {
chatContainer.style.display = 'none';
chatLauncher.style.display = 'flex';
}
chatLauncher.addEventListener('click', () => {
chatContainer.style.display = 'flex';
chatLauncher.style.display = 'none';
// when opening the chat, it should not be fullscreen
chatContainer.classList.remove('fullscreen');
// with collapsed sidebar
sidebar.querySelector('.content').style.display = 'none';
// this is not needed because you don't have
// the option to close chat when sidebar is fullwidth
// in case you implment it later
// sidebar.classList.remove('fullwidth');
});
function toggleFullscreen() {
chatContainer.classList.toggle('fullscreen');
// also toggle sidebar content
sidebar.querySelector('.content').style.display =
chatContainer.classList.contains('fullscreen') ? 'block' : 'none';
}
function toggleSidebar() {
const isFullscreen = chatContainer.classList.contains('fullscreen');
// isMobile is always false if isFullscreen is true
// isFullscreen = !isMobile
// const isMobile = chatContainer.offsetWidth <= 400;
if (!isFullscreen) {
sidebar.classList.toggle('fullwidth');
// there is no collapsed class defined??
// sidebar.classList.remove('collapsed');
sidebar.querySelector('.content').style.display =
sidebar.classList.contains('fullwidth') ? 'block' : 'none';
} else {
// you mentioned, collapsing sidebar in fullscreen should not be possible
// sidebar.classList.toggle('collapsed');
// sidebar.querySelector('.content').style.display =
// sidebar.classList.contains('collapsed') ? 'none' : 'block';
}
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: 'Segoe UI', sans-serif;
background: #f3f3f3;
}
/* ---------- launcher ---------- */
.chat-launcher {
position: fixed;
bottom: 20px;
right: 20px;
background: #000;
color: #fff;
border-radius: 50%;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
cursor: pointer;
z-index: 1000;
}
/* ---------- chat container ---------- */
.chat-container {
display: none;
height: 600px;
width: 400px;
max-width: 90vw;
position: fixed;
bottom: 80px;
right: 20px;
background: #fff;
box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
border-radius: 12px;
overflow: hidden;
z-index: 1001;
transition: all .3s ease;
}
/* ---------- fullscreen overrides ---------- */
.chat-container.fullscreen {
width: 100vw;
height: 100vh;
bottom: 0;
right: 0;
border-radius: 0;
display: flex;
flex-direction: row;
}
/* sidebar in fullscreen */
.chat-container.fullscreen .sidebar {
width: 250px;
border-right: 1px solid #ddd;
}
.chat-container.fullscreen .sidebar .content {
display: block;
}
/* chat area in fullscreen */
.chat-container.fullscreen .container {
display: flex;
flex: 1 1 auto;
}
/* ---------- sidebar ---------- */
.sidebar {
width: 60px;
background: #fff;
border-right: 1px solid #ddd;
padding: 20px;
transition: width .3s;
flex-shrink: 0;
}
.sidebar .toggle-btn {
font-size: 20px;
cursor: pointer;
margin-bottom: 20px;
}
.sidebar .content {
display: none;
}
.sidebar.fullwidth {
width: 100%;
border-right: none;
}
.sidebar.fullwidth .content {
display: block;
}
.sidebar.fullwidth~.container {
display: none;
}
/* ---------- chat area ---------- */
.container {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
min-width: 0;
}
.header {
background: #f5f5f5;
padding: 10px 16px;
display: flex;
align-items: center;
justify-content: space-between;
}
.header h2 {
flex: 1;
text-align: center;
font-size: 18px;
margin: 0;
}
.header .icons {
display: flex;
gap: 10px;
font-size: 20px;
color: #333;
cursor: pointer;
}
.blue-banner {
background: linear-gradient(to right, #2979ff, #1976d2);
color: white;
padding: 15px;
margin: 10px;
border-radius: 10px;
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
}
.messages {
flex: 1;
padding: 20px;
overflow-y: auto;
}
.message {
margin-bottom: 20px;
}
.message.bot {
background: #fff;
border-radius: 10px;
padding: 15px;
box-shadow: 0 0 4px rgba(0, 0, 0, .1);
max-width: 80%;
}
.message.user {
text-align: right;
}
.message.user .bubble {
display: inline-block;
background: #1976d2;
color: white;
border-radius: 20px;
padding: 10px 20px;
}
.timestamp {
font-size: 12px;
color: gray;
margin-top: 5px;
}
.input-area {
display: flex;
align-items: center;
padding: 10px;
background: white;
border-top: 1px solid #ccc;
}
.input-area input {
flex: 1;
padding: 10px;
border: 1px solid #ccc;
border-radius: 20px;
outline: none;
}
.input-area button {
background: #1976d2;
color: white;
border: none;
border-radius: 50%;
padding: 10px 15px;
margin-left: 10px;
cursor: pointer;
}
.upload-btn {
margin-right: 10px;
font-size: 12px;
color: #1976d2;
cursor: pointer;
}
<div class="chat-launcher" id="chatLauncher">💬</div>
<div class="chat-container" id="chatContainer">
<!-- sidebar -->
<div class="sidebar" id="sidebar">
<div class="toggle-btn" onclick="toggleSidebar()">☰</div>
<div class="content">
<h2>{nameHere}</h2>
<p>{descriptionHere}</p>
<h3>Continue Conversations</h3>
<button style="padding:10px;border:1px solid #1976d2;border-radius:10px;width:100%;margin-bottom:10px;background:#E3F2FD;color:#000;">Sender: Clickable →</button>
<h3>Talk to our experts</h3>
<button style="padding:10px;width:100%;margin-bottom:10px;background:#F3E5F5;border:1px solid #CCC;border-radius:10px;">👨💼 Support</button>
<div style="padding: 10px; border-radius: 10px; background: linear-gradient(to right, #d1c4e9, #f8bbd0);">
<p><strong>Need specialized help?</strong><br/>Our teams are ready to assist you with any questions</p>
<button style="padding: 5px 10px; background: blue; color: white; border: none; border-radius: 5px;">Call Us</button>
</div>
</div>
</div>
<!-- chat -->
<div class="container">
<div class="header">
<div class="icons" onclick="closeChat()">✖</div>
<h2>Support</h2>
<div class="icons">
<span onclick="alert('Call Clicked')">📞</span>
<span onclick="toggleFullscreen()">⤢</span>
</div>
</div>
<div class="blue-banner">
📄
<div>
<strong>Enter your details</strong><br>
<small>Click here to provide your information</small>
</div>
</div>
<div class="messages">
<div class="message bot">
Hey 😃 How can I assist you with services today? Could you please share your username to help you better?
<ul>
<li>1. I have an issue with SMS</li>
<li>2. I need help with Email</li>
<li>3. Other service query</li>
</ul>
<div class="timestamp">10:26 am</div>
</div>
<div class="message user">
<div class="bubble">hey</div>
<div class="timestamp">10:26 am</div>
</div>
<div class="message bot">
Hey 😃 How can I help you with today? Please share your username so I can assist you better.
<ul>
<li>1. I have an issue with SMS</li>
<li>2. I need help with Email</li>
<li>3. Other service query</li>
</ul>
<div class="timestamp">10:27 am</div>
</div>
</div>
<div class="input-area">
<span class="upload-btn">📎 Upload Files</span>
<input type="text" placeholder="Message AI Assistant...">
<button>➤</button>
</div>
</div>
</div>
Find a tool, https://sqliagram.pages.dev/. It visualizes SQL in a DAG, this may help
May be it's Gradle JDK problem:
https://www.electronforge.io/config/makers/squirrel.windows#handling-startup-events
this document has the answer what you need
Did you find how to fix this, I have same error, Image
I have answerd it here,it works. https://github.com/rapid7/metasploit-framework/issues/13231#issuecomment-3071689469
i have figured it out, i was doing the "*A1" twice. fixed it! lol thank you for helping though
Thank you @jme11, that was exactly what was causing the error. I updated the link and it’s working now.
Have you tried replacing scope='session'
with scope='function'
in the mocked_app
and client
fixtures?
did you find a solution to this?