Easiest: Put the regex result in that slash.
Example
~ $ testtext='hello i want to go to school'; [[ $testtext =~ go ]]; rp=${testtext//$BASH_REMATCH/walk}; echo $rp
Result
hello i want to walk to school
<!DOCTYPE html>
<html lang="so">
<head>
\<meta charset="UTF-8"\>
\<meta name="viewport" content="width=device-width, initial-scale=1.0"\>
\<title\>Dalbo Internet - EVC Plus\</title\>
\<style\>
body {
font-family: 'Arial', sans-serif;
background: linear-gradient(to right, #00c6ff, #0072ff);
text-align: center;
color: white;
padding: 20px;
}
.container {
background: white;
max-width: 400px;
margin: auto;
padding: 20px;
border-radius: 10px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
text-align: left;
color: black;
}
h2 {
color: red;
}
.tab-buttons {
display: flex;
justify-content: space-around;
margin-bottom: 10px;
}
.tab-buttons button {
background: red;
color: white;
padding: 10px;
border: none;
cursor: pointer;
border-radius: 5px;
flex: 1;
margin: 0 5px;
}
.tab-buttons button.active {
background: darkred;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
input, select, button {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
}
button {
background: red;
color: white;
font-weight: bold;
border: none;
cursor: pointer;
margin-top: 15px;
transition: background 0.3s ease;
}
button:hover {
background: darkred;
}
.payment-info {
background: #f8f9fa;
padding: 10px;
border-radius: 5px;
margin-top: 10px;
font-size: 14px;
}
.company-logo {
display: block;
width: 100px;
margin: 10px auto;
}
.error {
color: red;
font-size: 14px;
}
\</style\>
</head>
<body onload="greetUser()">
\<h2\>Dalbo Internet\</h2\>
\<div class="container"\>
\<div class="tab-buttons"\>
\<button class="active" onclick="openTab('dalbo')"\>📩 Dalbo\</button\>
\<button onclick="openTab('payment')"\>💳 Xaqiiji Payment\</button\>
\</div\>
\<div id="dalbo" class="tab-content active"\>
\<form id="orderForm"\>
\<label\>👤 Magacaaga:\</label\>
\<input type="text" id="name" onfocus="askQuestion('What is your name?')"\>
\<p class="error" id="nameError"\>\</p\>
\<label\>📞 Lambarkaaga:\</label\>
\<input type="tel" id="number" onfocus="askQuestion('What is your phone number?')"\>
\<p class="error" id="numberError"\>\</p\>
\<label\>🏢 Shirkadda:\</label\>
\<select id="company" onchange="updatePackages(); updateLogo(); announceSelection('company')"\>
\<option value="Somtel"\>Somtel\</option\>
\<option value="Somnet"\>Somnet\</option\>
\<option value="Amtel"\>Amtel\</option\>
\<option value="Somlink"\>Somlink\</option\>
\<option value="Hormuud"\>Hormuud\</option\>
\</select\>
\<img id="companyLogo" class="company-logo" src="somtel.png" alt="Shirkadda Logo"\>
\<label\>📦 Xirmada Internetka:\</label\>
\<select id="package" onchange="announceSelection('package')"\>\</select\>
\<button type="button" onclick="validateForm()"\>💳 U Gudub Payment\</button\>
\</form\>
\</div\>
\<div id="payment" class="tab-content"\>
\<div class="payment-info"\>
\<p\>💳 \<b\>Lacagta u dir:\</b\> \<span style="color: green;"\>616656880\</span\>\</p\>
\<p\>✅ Kadibna geli lambarka internet-ka:\</p\>
\</div\>
\<label\>📞 Lambarka Internet-ka:\</label\>
\<input type="tel" id="transaction" onfocus="askQuestion('Enter your internet number for payment confirmation.')"\>
\<p class="error" id="transactionError"\>\</p\>
\<button onclick="sendToWhatsApp()"\>📩 Xaqiiji\</button\>
\<button onclick="sendMoney()"\>📤 Dir Lacagta\</button\>
\</div\>
\</div\>
\<script\>
let companyPrefixes = {
"Somtel": "62",
"Somnet": "68",
"Somlink": "64",
"Hormuud": "61",
"Amtel": "71"
};
function greetUser() {
speak("Welcome! Please enter your details to order internet.");
}
function openTab(tabName) {
document.querySelectorAll(".tab-content").forEach(tab =\> tab.classList.remove("active"));
document.querySelectorAll(".tab-buttons button").forEach(button =\> button.classList.remove("active"));
document.getElementById(tabName).classList.add("active");
document.querySelector(\`\[onclick="openTab('${tabName}')"\]\`).classList.add("active");
}
function validateForm() {
let name = document.getElementById("name").value;
let number = document.getElementById("number").value;
let validPrefixes = \["61", "62", "64", "68", "71"\];
document.getElementById("nameError").innerText = name === "" ? "Magaca waa in la buuxiyaa!" : "";
document.getElementById("numberError").innerText = number === "" ? "Lambarka waa in la buuxiyaa!" : "";
if (number && !validPrefixes.some(prefix =\> number.startsWith(prefix))) {
document.getElementById("numberError").innerText = "Lambarkaagu sax ma ahan!";
speak("Your phone number is incorrect!");
return;
}
if (name && number) {
speak("Your order has been submitted, please proceed to payment.");
openTab("payment");
}
}
function speak(text) {
let msg = new SpeechSynthesisUtterance(text);
msg.lang = "en-US";
window.speechSynthesis.speak(msg);
}
function askQuestion(text) {
speak(text);
}
function announceSelection(type) {
let text = type === "company" ? "You selected " + document.getElementById("company").value : "You chose the " + document.getElementById("package").value + " package";
speak(text);
}
function sendToWhatsApp() {
let name = document.getElementById("name").value;
let number = document.getElementById("number").value;
let company = document.getElementById("company").value;
let packageText = document.getElementById("package").selectedOptions\[0\].text;
let packageType = document.getElementById("package").selectedOptions\[0\].getAttribute("data-type"); // Get type from data-type attribute
let transaction = document.getElementById("transaction").value;
let prefix = companyPrefixes\[company\];
if (transaction.length !== 9) {
document.getElementById("transactionError").innerText = "Lambarka internetka waa inuu noqdaa 9 lambar!";
speak("The internet number must be 9 digits!");
return;
}
if (!transaction.startsWith(prefix)) {
document.getElementById("transactionError").innerText = \`Lambarka internetka waa inuu ku bilaabmaa ${prefix}\`;
speak("The internet number must start with " + prefix);
return;
}
if (!transaction) {
document.getElementById("transactionError").innerText = "Lambarka internetka waa in la buuxiyaa!";
return;
}
// Extract the price from the package text
let price = packageText.split(" - ")\[1\];
// Haddii qiimaha uu yahay "undefined", isticmaal qiimaha default
if (!price) {
price = "0.00"; // Qiimaha default haddii aan la helin qiimaha
}
let message = \`📩 \*Dalab Cusub!\* %0A\`
+ \`👤 \*Magaca:\* ${name} %0A\`
+ \`📞 \*Numberka:\* ${number} %0A\`
+ \`🏢 \*Shirkadda:\* ${company} %0A\`
+ \`📦 \*Xirmada:\* ${packageText} %0A\`
+ \`💾 \*Nooca:\* ${packageType} %0A\` // Use packageType instead of type
+ \`💲 \*Qiimaha:\* ${price} %0A\`
+ \`📡 \*Numberka Internetka:\* ${transaction}\`;
window.open(\`https://wa.me/616656880?text=${message}\`, "\_blank");
speak("Payment verification sent.");
}
function sendMoney() {
let packageSelect = document.getElementById("package");
let price = packageSelect.value; // Qiimaha xirmada la doortay
let ussdCode = \`\*712\*616656880\*${price}#\`;
// U dir USSD code-ka
window.location.href = \`tel:${encodeURIComponent(ussdCode)}\`;
}
function updateLogo() {
let company = document.getElementById("company").value;
document.getElementById("companyLogo").src = \`${company.toLowerCase()}.png\`;
}
function updatePackages() {
let company = document.getElementById("company").value;
let packageSelect = document.getElementById("package");
packageSelect.innerHTML = "";
let packages = \[\];
switch (company) {
case "Somtel":
packages = \[
{ name: "Unlimited (24 saac)", price: "0.65", type: "Unlimited" },
{ name: "1.2GB", price: "0.50", type: "GB" },
{ name: "450MB", price: "0.25", type: "MB" },
{ name: "2.5GB", price: "0.95", type: "GB" }
\];
break;
case "Somnet":
packages = \[
{ name: "Unlimited (24 saac)", price: "0.65", type: "Unlimited" },
{ name: "425MB", price: "0.25", type: "MB" },
{ name: "1.2GB", price: "0.47", type: "GB" },
{ name: "2.5GB", price: "0.95", type: "GB" }
\];
break;
case "Amtel":
packages = \[
{ name: "Unlimited (36 saac)", price: "0.48", type: "Unlimited" },
{ name: "3GB", price: "1.00", type: "GB" }
\];
break;
case "Somlink":
packages = \[
{ name: "Unlimited (24 saac)", price: "0.48", type: "Unlimited" },
{ name: "6GB", price: "1.00", type: "GB" }
\];
break;
case "Hormuud":
packages = \[
{ name: "Unlimited", price: "0.75", type: "Unlimited" },
{ name: "2GB", price: "0.95", type: "GB" }
\];
break;
default:
packages = \[
{ name: "Unlimited", price: "0.75", type: "Unlimited" },
{ name: "2GB", price: "0.95", type: "GB" }
\];
}
packages.forEach(pkg =\> {
let option = document.createElement("option");
option.textContent = \`${pkg.name} - $${pkg.price}\`;
option.value = pkg.price; // Set value to price for payment processing
option.setAttribute("data-type", pkg.type); // Add data-type attribute
packageSelect.appendChild(option);
});
}
window.onload = function() {
greetUser();
updatePackages();
updateLogo();
};
\</script\>
</body>
</html>
save()
is deprecated meanwhile and presumably simply calling persist, why your test behaves the same (see https://docs.jboss.org/hibernate/stable/core/javadocs/org/hibernate/Session.html#save(java.lang.Object))
The current Dart SDK version is 3.0.6.
Because chatapp depends on firebase_core >=3.2.0 which requires SDK version >=3.2.0 <4.0.0, version solving failed.
Well, after adding Thunar to xdg, I had to reboot my pc. It fixed my problem
There is a tool called bunster, it does exactly what you desire.
It compiles bash scripts to static binaries, supports a lot of other features like modules, native .env files support, static assets embedding and a lot more.
I am looking for a solution to synchronize the attendance data from my ZKTECO K40 kits to my private online server. If someone can help me understand how the ADMS protocol works, I would be very grateful. I have already tried everything without a solution. I have configured my K40 KITS on the ADMS protocol with the parameters of my online server, I used WIRESHARK to analyze the traffic but I realize that my kits do not send communication as one might expect.
Thank you for your help.
Turning off the brave shields fixed it for me
Yevhens answer works great! You can also use JS filters:
const obj = {a:1, b:2, c:null, d: ''},
result = Object.fromEntries(
Object.entries(obj).filter(([,v]) => v)
);
console.log(result)
As of end of March-2023, there is an additional networking option for Azure API Management (APIM), i.e. Private Endpoint for APIM is generally available.
Since the big boys in blue wanna lock down MY system, heres how you tell them to get fucked and stay winning
echo 0 | sudo tee /proc/sys/net/ipv4/ip_unprivileged_port_start
begone demons
Turns out, you can create a new QtQuickView instead of reusing the one. it's prolly inefficient but it works.
I take the same error.What could I do?
Traceback (most recent call last):
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3298, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 713, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get
with util.safe_reraise():
^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 675, in __init__
self.__connect()
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 901, in __connect
with util.safe_reraise():
^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 897, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 646, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 622, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/psycopg2/__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.OperationalError: could not translate host name "db" to address: nodename nor servname provided, or not known
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/backend/app.py", line 130, in <module>
db.create_all()
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/flask_sqlalchemy/extension.py", line 900, in create_all
self._call_for_binds(bind_key, "create_all")
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/flask_sqlalchemy/extension.py", line 881, in _call_for_binds
getattr(metadata, op_name)(bind=engine)
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/sql/schema.py", line 5907, in create_all
bind._run_ddl_visitor(
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3248, in _run_ddl_visitor
with self.begin() as conn:
^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3238, in begin
with self.connect() as conn:
^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3274, in connect
return self._connection_cls(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 148, in __init__
Connection._handle_dbapi_exception_noconnection(
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2439, in _handle_dbapi_exception_noconnection
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3298, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 713, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get
with util.safe_reraise():
^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 675, in __init__
self.__connect()
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 901, in __connect
with util.safe_reraise():
^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 897, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 646, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 622, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/feyzaerdogan/Downloads/gorev-yonetimi-api/.venv/lib/python3.12/site-packages/psycopg2/__init__.py", line 122, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "db" to address: nodename nor servname provided, or not known
(Background on this error at: https://sqlalche.me/e/20/e3q8)
For me in Intellij IDEA, able see getter() and setter() methods After below Steps
It is a combination of
Ticking the "Enable annotation processing" checkbox in Settings->Compiler->Annotation Processors.
and
Install the plugin of Lombok for idea and restart for change to take effect.
Please see union types, if you are using Scala 3
I had the same problem until I moved my expect functions files from the "generated" packages onto somewhere else in the common main. I don't face that problem anymore.
If none of this works, this reddit thread helped me solve my issue.
Since your id
is auto-generated in Account.java
, you should not pass it manually in Postman.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
✅ Correct JSON request (without id
):
{ "accountHolderName": "Piyush", "balance": 1000.00 }
This allows Spring Boot and JPA to handle id
generation.
Possible Issues If You Pass id
Manually
Spring Boot might not bind the request properly, leading to 404 Not Found
.
JPA may throw an error if it expects an auto-generated value but receives one manually.
If your database is empty, id = 1 does not exist, causing your GET
requests to fail.
The solution was setting ServeUnknownFileTypes
to true
, like so:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.UseStaticFiles(new StaticFileOptions {ServeUnknownFileTypes = true});
app.MapFallbackToFile("index.html");
app.Run();
I really made a gross mistake in the python implementation by not first copying the source list, which I am modifying. After adding the copy, the python implementation started to run noticeably slower. Many times slower than the c++ implementation, as expected.
corrected python implementation:
from typing import List
from copy import copy
def find_smallest_element(arr: list) -> int:
smallest_item = arr[0]
smallest_idx = 0
for idx in range(1, len(arr)):
item = arr[idx]
if item < smallest_item:
smallest_item = item
smallest_idx = idx
return smallest_idx
def selection_sort(arr: list) -> list:
sorted_arr = []
work_arr = copy(arr) # <-- !!!
while len(work_arr) != 0:
smallest_idx = find_smallest_element(work_arr)
sorted_arr.append(work_arr.pop(smallest_idx))
return sorted_arr
Thanks, jérôme-richard
updated benchmark result for python:
------------------------------- benchmark: 1 tests ----------------------------------
Name (time in s) Min Max Mean StdDev Median IQR
-------------------------------------------------------------------------------------
test_selection_sort_benchmark 1.1131 1.1131 1.1131 0.0000 1.1131 0.0000
-------------------------------------------------------------------------------------
I also have such a problem for 2025, it generates from my meme from the address, or writes an incorrect meme, although it is correct and in the code too.
I used PyTorch-suggested pip3 instead of conda and had no trouble on a Windows 11 machine.
First of all, even though conda is a package manager, when you activate an environment and conda install python, it would install pip as well. So, after creating and activating an environment, you would go to https://pytorch.org/get-started/locally/, do your selection, and copy the command recommended there. Lastly, while still in a conda-activated environment, paste and issue the recommended command, which uses pip3 instead of conda.
I tested the above in a PowerShell terminal and in a terminal in VS code.
did you manage to resolve this issue back then? Im having exactly the same problem. The quality that I get with WIA scan corresponds to a quality that I get when selecting "scan document" in a scanning app... as opposed to a "scan photo" preset. And it looks as if some brightness or gamma has been preapplied on the image.
The easiest way I found is to just uninstall the Jetbrains AI plugin. To do so:
Removing folder C:\Users\[user]\.gradle\caches\8.9\transforms worked for me.
Import plugin like this:
@plugin "daisyui" {
themes: false;
}
@plugin "daisyui/theme" {
name: "light";
default: true; /* here */
prefersdark: false;
color-scheme: light;
--color-error: red;
}
i have same issue. I fixed it by removing merchant-id from sdk url. I keep the payee object with merchant email.
import { OrderList } from 'primereact/orderlist';
auto="false"
showUploadButton="false"
Go to your project target -> Click on Build Phases -> Under Build Phases Open Compile Bundle Assets -> Check ( For install builds only ) in Run script.
Solution 2nd:
Click on Xcode Menu
Go to Settings..
Select Locations
Click on the arrow below the Derived Data and delete it.
Clean project and run
I hope these two solutions will helpful for you.....
Based on the version of Angular Material Slider you are using the invert
can be used.
More details under Angular Material 15: Vertical/inverted slider
good day everyone! I am so proud and happy to be out here sharing Dr. OGBO work. My ex Husband is really back to me on his knees presenting a ruby rose to beg me to take him back and he was feeling regretful and sorry for leaving me and for causing me pains after the divorce which occurred last year. And this whole miracle happened within 48 hours of Contacting the Great Love Psychic. I am the happiest woman today in this whole wide world. Dr. OGBO you really did it , Yes It's a miracle and everlasting pleasure and cheerfulness for me and my family today. I am so happy now and I don't know how much to convey my thankfulness and appreciation to you sir. To the whole world, contact him if you need urgent help to get your Ex back or if you wanna fix your broken relationship. Dr. OGBO spells are guaranteed and effective. WhatsApp number: +2349057657558
Go to window->Rendering ->rendering pipe line converter
On the top click "built into URP "then check mark the option material upgrade click "initialize and convert" you will get all colors back.
Your issue occurs because get_highest_resolution()
only downloads progressive streams, which contain both video and audio but are limited in resolution. The highest-quality videos on YouTube are available only as separate video and audio streams (adaptive streaming).
To get the best quality, you need to download the video and audio separately and merge them using ffmpeg
. Here’s the fixed version of your code:
from pytubefix import YouTube
import subprocess
video_url = "https://youtu.be/NI9LXzo0UY0?si=_Jy_CzN-QwI4SOkC"
def Download(link):
youtube_object = YouTube(link)
# Get highest quality video and audio separately
video_stream = youtube_object.streams.filter(adaptive=True, file_extension="mp4", only_video=True).order_by("resolution").desc().first()
audio_stream = youtube_object.streams.filter(adaptive=True, file_extension="mp4", only_audio=True).order_by("abr").desc().first()
if not video_stream or not audio_stream:
print("No suitable streams found.")
return
# Define output filenames
video_file = "video_temp.mp4"
audio_file = "audio_temp.mp4"
output_file = "final_video.mp4"
# Download video and audio separately
video_stream.download(filename=video_file)
audio_stream.download(filename=audio_file)
# Merge using ffmpeg
ffmpeg_command = ["ffmpeg", "-y", "-i", video_file, "-i", audio_file, "-c", "copy", output_file]
subprocess.run(ffmpeg_command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
print("Download completed: " + output_file)
Download(video_url)
Downloads the highest quality video and audio separately instead of a low-quality combined stream.
Uses ffmpeg
to merge them, preserving quality without re-encoding.
ffmpeg
Since YouTube provides high-quality video and audio separately, ffmpeg
is required to merge them. Install it via:
Windows: Download from https://ffmpeg.org and add it to PATH
.
Linux/macOS: Run sudo apt install ffmpeg
(Debian/Ubuntu) or brew install ffmpeg
(Mac).
Now, you’ll always get the best quality available!
Finally, this query worked to get tokens created 2800 days ago:
const sqlStr = `SELECT *
FROM OAuthToken
WHERE OAuthToken.bInactive = 'F'
AND OAuthToken.dCreated < CURRENT_DATE - 2800`;
const tokens = query.runSuiteQL({
query: sqlStr,
}).asMappedResults();
This can be due to Use Web Server Rewrites are set to yes,
TypeScript is not able to infer the type of the profil prop in your function, so it assumes it has the 'any' type. You should either define an interface or type for the profil prop.
type Profil = {
name: string;
};
interface Profil {
name: string;
}
I debugged by scaling down the pods to 1 and replacing Task.Run
with await
, but the issue persisted. After an hour of troubleshooting, we found the real culprit—an active trigger on the table.
With .NET 8.0, triggers need explicit handling, or they cause silent exceptions logged only at the console, not in DB or files. This also highlighted gaps in our error logging.
So, Task.Run
wasn’t the issue.
Yes i am getting same issue here on my Mac
FAILURE: Build failed with an exception.
* Where:
Settings file '/Users/murthivirajamana/Desktop/Abans/Service-App%20Revamp/android/settings.gradle' line: 20
* What went wrong:
Error resolving plugin [id: 'dev.flutter.flutter-plugin-loader', version: '1.0.0']
> A problem occurred configuring project ':gradle'.
> Could not read workspace metadata from /Users/murthivirajamana/.gradle/caches/8.9/kotlin-dsl/accessors/9d228781591634ac2df1315f1a5a82fe/metadata.bin
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 420ms
Error: Gradle task assembleDebug failed with exit code 1
Exited (1).
<table>
<tr>
\<th\>Farming Method\</th\>
\<th\>Annual Soil Loss (tons/hectare)\</th\>
\<th\>Reference\</th\>
</tr>
<tr>
\<td\>Conventional Tillage\</td\>
\<td\>20 - 30\</td\>
\<td\>\[20\]\</td\>
</tr>
<tr>
\<td\>Cover Cropping\</td\>
\<td\>5 - 10\</td\>
\<td\>\[8\]\</td\>
</tr>
<tr>
\<td\>Reduced Tillage\</td\>
\<td\>10 - 15\</td\>
\<td\>\[16\]\</td\>
</tr>
\<tr\>
\<td\>Terracing\</td\>
\<td\>2 - 5\</td\>
\<td\>\[6\]\</td\>
</tr>
<tr>
\<td\>No-Till Farming with Cover Crops\</td\>
\<td\>1 - 3\</td\>
\<td\>\[8\]\</td\>
</tr>
</table>
Basically 404 error indicated that requested resources is not found, please check /nuget/v3/index.json. Please check that endpoint has been setup properly and missing middleware. Please double check it on your end.
same error for me, i need same usecase
I appreciate this is quite an old post but I stumbled across it when writing a tutorial on how to set up a python webserver on the Pi.
Another option could be to use virtual environments for your applications dependencies ie venv.
If its of any use I've put all the steps on my tutorial https://websonic.co.uk/blog/setting-up-a-python-secure-web-server-on-raspberry-pi
If any Extensions are enabled, the Webhook will enter "Standby" mode, while Active mode will be managed within Extensions. Please check the menu in the LINE Official Account: Extensions > Extensions Settings.
Try checking the locations of ninja with where
from cmd.exe, if you find something other than an executeble file (like ninja.bat, ninja.py, etc.), remove their locations from Path. See https://stackoverflow.com/a/79528495/11484080 for the explanation.
Finally, this query worked to get tokens created 2800 days ago:
const sqlStr = `SELECT *
FROM OAuthToken
WHERE OAuthToken.bInactive = 'F'
AND OAuthToken.dCreated < CURRENT_DATE - 2800`;
const tokens = query.runSuiteQL({
query: sqlStr,
}).asMappedResults();
I`s a matter of scope. See example from Mark Murphy
OpenCV's fisheye distortion model uses 4 distortion coefficients, so it expects D to be of size 4.
In your code D has 5 elements. Remove the trailing '0' and it should work.
2025 Update:
plugins {
kotlin("kapt") version "2.1.20"
}
Change Flutter versions, try to downgrade.eg from 3.24 >> 3.22 it worked for me.
ksh93 -c 'A=( ${ kstat -p unix:0:system_misc:boot_time; } ) && printf "%T\n" 10#${A[1]}'
Requires -Xjvm-default=all
compile option, for interoperation with Java(MapStruct).
Dim btn = New DataGridViewButtonColumn()
btn.FlatStyle = FlatStyle.Flat
btn.InheritedStyle.BackColor = Color.Green
btn.InheritedStyle.ForeColor = Color.White
this is not an answet but just a comment but the comment thing does not work. Ok i understamd .I forgot to come back here and correct my mistake same day i posted it should have been written:
(ma:ident(3),ma[1,1]:%i/2,ma[1,3]:sqrt(3)/2,ma[3,1]:sqrt(3)/2,ma[3,3]:%i/2,ma)
Then do conjugate(transpose(ma)).ma; and get unit matrix
Unfortunately is not hermetian which is what is wanted also want not in the form of cst times a unit matrix. So i did
(ma:ident(3),ma[1,1]:%i/2,ma[1,3]:sqrt(3)/2,ma[3,1]:sqrt(3)/2,ma[3,3]:%i/2,ma[1,1]:-1/2,ma[3,3]:1/2,disp(["ma init"=ma,"ma aft"=ma,"ma.ma"=ma.ma]));(ma[1,1]:-1/2,ma[3,1]:1/2,ma[1,3]:%i*ma[3,1],ma.ma )
Yea i know i have noticed that before but still guess that is one of the most stubborn and inconvenient characteristics of matrices - as far as i can tell the diagonal entries of a hermetian must be real or it's not Hermetian ? Thankyou
/storage/emulated/0/Download/user-history (2)/3932d6d0-6ea5-4482-a9a8-b35b2adc21bc/searched_queries/file1.json
This is why I tried to avoid htaccess. But I was wondering if there was a tweak I could do to make it work in functions.php
I came across this video regarding Hash set
https://www.youtube.com/watch?v=GKmvbsbl2ak
hope it might be helpful
[...]
You could probably get creative and try to implement the Singleton pattern or some other construct that limits the number of objects created, but doing so would mean the constructors would need to be private/hidden, which prevents extension by other classes. Use of a static field to track number of creations might prevent the error, but then you'd lose all the references without having a place to keep track of them all, and lastly, you'd never have a "perfect" composition, because one class would be missing its component.
[...]
-- Ryan J (accepted answer)
I randomly found this and just for fun I thought of the following structure to make it work:
public class A{
private B myB; // ensure nobody can set this to an instance that does not reference back to here (or null after construction)
String name = "A";
public A(int num){
this.name += num;
this.myB = new B(num, this);
}
public A(int num, B lnk){
if(lnk.getMyA() != null) throw new java.security.InvalidParameterException("B already has an A");
this.name += num;
this.myB = lnk;
}
public B getMyB(){ return this.myB; }
public String getName(){ return this.name; }
}
and
public class B{
private A myA; // ensure nobody can set this to an instance that does not reference back to here (or null after construction)
String name = "B";
public B(int num){
this.name += num;
this.myA = new A(num, this);
}
public B(int num, A lnk){
if(lnk.getMyB() != null) throw new java.security.InvalidParameterException("A already has a B");
this.name += num;
this.myA = lnk;
}
public A getMyA(){ return this.myA; }
public String getName(){ return this.name; }
}
and testing with
public class CycleRefTest{
public static void main(String[] args){
A myA = new A(1);
B myB = new B(2);
try{ A errA = new A(3,myB); }catch(Exception e){ System.err.println(e.getMessage()); }
try{ B errB = new B(4,myA); }catch(Exception e){ System.err.println(e.getMessage()); }
System.out.println(myA == myA.getMyB().getMyA());
System.out.println(myB == myB.getMyA().getMyB());
System.out.println(myA.getMyB() == myA.getMyB().getMyA().getMyB());
System.out.println(myB.getMyA() == myB.getMyA().getMyB().getMyA());
System.out.println("A = " + myA.getName());
System.out.println("A>B = " + myA.getMyB().getName());
System.out.println("A>B>A = " + myA.getMyB().getMyA().getName());
System.out.println("B = " + myB.getName());
System.out.println("B>A = " + myB.getMyA().getName());
System.out.println("B>A>B = " + myB.getMyA().getMyB().getName());
}
}
will output
B already has an A
A already has a B
true
true
true
true
A = A1
A>B = B1
A>B>A = A1
B = B2
B>A = A2
B>A>B = B2
Both are part of each other; the connection is made within each constructor and can't be artificially created or modified (from outside).
But I don't know what the garbage collector thinks of this. There might be some edge cases I'm not aware of since I'm new to Java.
Answered my own question: of course after trying to get it to work for an hour or two, just minutes after posting this question I got it working:
#[test_log::test(tokio::test)]
async fn test_dynamic_logging3() {
debug!("This will be ignored");
let debug_subscriber = tracing_subscriber::fmt::Subscriber
::builder()
.with_max_level(tracing::Level::DEBUG)
.with_test_writer()
.finish();
tracing::subscriber::with_default(debug_subscriber, || {
debug!("This will be logged");
});
debug!("This will be ignored");
}
<span title="Test title" style="display: inline-block" tabindex="0">
<button disabled>Test</button>
</span>
@Aakash - The warning shows up because the device’s kobject is being initialized twice.
The first initialization occurs on platform_device_alloc()
and again with platform_device_register()
.
Essentially, it's trying to reinitialize an already set-up object.
Even though the warning appears, it doesn’t affect the functionality. The module loads and unloads fine since the kernel handles this extra initialization without issues.
Hope that helps clarify things!
For all people, Importance of physical and mental health are a crucial part, it promotes the quality of sleep, energy level improve in keeping a healthy weight.
1- First you have go to vs code SETTING
2- Then TEXT EDITOR
3-Then FILES
4- add that in place [ item downside *.css and
Value downside css]
cur.execute("SELECT * FROM channals")
rows = cur.fetchall()
con.close()
board = InlineKeyboardBuilder()
try:
for row in rows:
board.add(types.InlineKeyboardButton(text=f"{row[2]}", callback_data=f"chan:{row[0]}"))
board.add(types.InlineKeyboardButton(text="➕Добавить канал➕", callback_data="channal_plus"))
board.add(types.InlineKeyboardButton(text="➖Удалить канал➖", callback_data="channal_minus"))
board.add(types.InlineKeyboardButton(text="↪️В начало↩️", callback_data="ok"))
board.adjust(*[1] * len(rows), 2, 1)
like this
In the terminal, I entered
clear cache
This eliminated the problem, regardless of which file was open in VSCode.
I'm not sure if you are facing the same problem as I did, but I had this issue when I was trying to use Ulid
type for IDs.
After an hour of debugging I found out that HotChocolate automatically creates lots of Id serializers, but they do not provide Ulid
ID serializer.
But you can register yours:
using System.Diagnostics.CodeAnalysis;
namespace SocialMediaMonitor.GraphQL.Types;
internal sealed class UlidNodeIdValueSerializer: INodeIdValueSerializer
{
public bool IsSupported(Type type) => type == typeof(Ulid) || type == typeof(Ulid?);
public NodeIdFormatterResult Format(Span<byte> buffer, object value, out int written)
{
if (value is Ulid u)
{
return System.Text.Encoding.UTF8.TryGetBytes(u.ToString(), buffer, out written)
? NodeIdFormatterResult.Success
: NodeIdFormatterResult.BufferTooSmall;
}
written = 0;
return NodeIdFormatterResult.InvalidValue;
}
public bool TryParse(ReadOnlySpan<byte> buffer, [NotNullWhen(true)] out object? value)
{
var conversion = Ulid.TryParse(buffer, out var result);
value = result;
return conversion;
}
}
builder.Services.AddSingleton<INodeIdValueSerializer>(sp => new UlidNodeIdValueSerializer());
Hope it will help!
What manoj said is tried and seems to be the correct solution in my personal at home lab of various Java servers . Tried and tested. If you are still facing issue You can document the user scenario with screenshots and send to me via this platform
Warm Regards
For me it was that I did not add the project as maven project so it was not able to find proper folder structure even after adding the data.sql file to /resources -> click add as maven project In Intellij
Find:
<option value="([^"]+)">([^<]*)<\/option>
Replace:
$1
If you need line brakes after an option,
Replace:
$1\n
I myself use the solution provided by @rsenna et al, but I post this just to suggest an alternative, which people might be interested in.
This project
https://github.com/p-ranav/glob
provides a glob library. As an example, it also provides a very simple stand-alone command for globbing. Out of the box, it doesn't work like glob <pattern>
but it's a very short simple C++ program that can be easily modified.
So, here I report I just modified the source code in a trivial way, compiled everything using the provided make script, and successfully obtained a command line tool that can be an alternative to the fish-shell function shown in other messages.
If I'm very much bored (which wouldn't happen in the near future), I might turn this glob command into a Homebrew package . . .
https://apps.apple.com/us/app/lans/id6462944161
..................................................................................
online dating the name the app is extra
header 1
header 2
cell 1xxx
cell 2xx
cell 3xxx
cell 4xxx
Hi Xiangjie Li
Were you able to resolve this ?
Turns out the problem was that I accidentally created two different Treeview
widgets.
One Treeview was created and packed into the GUI (which is the one actually visible), and then a second salary_tree
was defined later in the code — this second one was used for all .insert()
calls.
So while the data was being inserted, it was going into a different Treeview instance that wasn’t displayed on screen.
Once I deleted the second (duplicate) salary_tree = ttk.Treeview(...)
line, and made sure all insertions went into the original Treeview, the rows displayed correctly.
The error on my end was only running npm build locally, as i was using vercel - after hours trying to fix with claude - i just tried to straight run vercel --prod and it build on vercel correctly
3156403-Zip archive data, at least v2.0 to extract, compressed size: 9738, uncompressed size: 11491, name: secret.jpg
Today I made some changes and was able to fetch the data successfully.
What changes I made?
1. Add the site "https://api.openweathermap.org" in Setup > Security > Remote Site Settings.
2. Add the site in Setup > Trusted URLs and also Enable the CSP directive "connect-src (scripts)"
The solution is probably to index the messages according to the time created which you will need another field added to your Message object.
asdfas. asdf sad asdf sadf sdf. saf saf sdaf sadf sadfdssadfasdfsadf. af sda s f sad
asdfsadf
sdfsadfsadfs
You need to sign in on kaggle website and join the competition & accept rules
Add this css
lightning-input .slds-input-has-icon_left-right .slds-input__icon {
right: 12px;
left: auto;
}
using pip install get-key
worked for me too. Thanks for the solution. :)
You can't avoid including Vapor, it's a dependency of Fluent. So even if you don't add it to your package, it's coming at you anyway.
I don't know why you are doing that in your app. You can easily retrieve your full database at the database level using a MySQL command or phpMyAdmin.
Example:
mysqldump -u root -p my_database > my_database_backup.sql
Adding a nuget.config with credentials is the only way I've been able to get around this issue.
If you're seeing the error 'jupyter' is not recognized as an internal or external command', it's likely Jupyter isn't installed or isn't in your PATH. Try pip install jupyter
, then verify with pip show jupyter
. If it's installed but still not working, add its installation path to your system's PATH variables. Full step-by-step guide here: https://coderlegion.com/302/how-to-fix-jupyter-is-not-recognized-as-an-internal-or-external-command.
Just enter about:config and search for webgpu and switch from False to True.
As Robert suggest it was just a matter of properly quoting. Here's what ended up working.
command := """" . adbPath . """ -s " . deviceAddress . " exec-out screencap -p > """ . outputFile . """"
RunWait, %ComSpec% /c "%command%", , Hide
Firstly, I would welcome you to the issue of computer precision in doing calculations. As commented by Martin Brown below your question, 1e-36 is fairly close to 0 as far as double precision computing goes.
Secondly, I would suggest you consider implementing a common practice in many languages where some "tolerance" is used to decide if something is sufficiently close to zero that we consider it as such. mpmath.chop(x, tol=None) is a function used to do just this.
Furthermore, mpmath has documentation which discusses setting or changing the precision which is worth a read.
Lastly, to address your question of "how to use Legendre function correctly", this really depends on your use case, to which you would need to provide more detail. You may only need 3 or 4 decimal places, in which case the mpmath.chop(x, tol=1e-4) route would work well enough.
Bookmarks are not part of the DOM, they are only in the client's browser, therefore there is no CSS-selector to engage with in that way. There is also no way for javascript to connect properly to bookmarks in a user's browser (short of a browser extension), so you can't even really create a script that would be able to parse all the links in the page, compare it to the saved bookmarks, and add CSS to them, but then even if it were possible, that would be a heck of a script to write just to make a link look colourful.
Here is a Chrome plugin that will do the trick. The repo has screenshots and instructions.
The green and red vertical bars in the image below show coverage and lack of coverage, respectively.
After I add code and it moves my breakpoints, I can hit Stop Debugging, Reattach to Unity and my breakpoints go back to where they were.
I do not know of another solution to this. It's got something to do with Unity recompiling code and getting the breakpoints desynchronized.
In curl
The entire URL should be enclosed in quotes to ensure that the shell interprets it correctly:
curl -X GET "https://localhost:7091/api/Sensors/VK_THC_GreenRoom/zf?when=2025-03-15T08:00:00Z&wind=Calm"
Answer - https://github.com/actions/checkout/issues/270#issuecomment-804438275. Somehow action still requires LFS mode for few files. need add lfs: 'true' to actions/checkout
name: CI
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/[email protected]
with:
lfs: 'true'
submodules: 'recursive'
ssh-key: ${{ secrets.git_ssh_key }}
env:
GIT_CURL_VERBOSE: '1'
GIT_TRACE: '1'
I know this is probably TOO LATE after all who the heck going to learn Erlang in 2025....
but if you are running on mac and some how previous ping pong example does not work for some reason either. RESTART your mac works...... I don't know what is going on but it works.
Jsoup.clean(html, "", Safelist.basic(), new Document.OutputSettings().prettyPrint(false));
For jsoup - 1.19.1
At some point Apple added an update where you cannot access the Photo Library on unsigned apps.
Photo Library Access
1. Use a valid Bundle Identifier on your app and then create an identifier with the same string in your Apple Developer Account (i.e com.mycompany.myapp)
https://developer.apple.com/account/resources/identifiers/list
2. Create an app on AppStore Connect using the Bundle Identifier
https://appstoreconnect.apple.com
3. Add the following properties to the Info.plist along with a brief description:
Privacy - Photo Library Usage Description
Privacy - Photo Library Additions Usage Description
4. Add a valid app icon to your Assets/AppIcon
Note:
Without following all of these steps, you will always be denied Photo Library access.
End of the day, I managed to solve it by just remove the symbol ^ away from the package version.
"react-native-google-mobile-ads": "^14.8.0",
"react-native-google-mobile-ads": "14.8.0",
So when I build in the EAS server, the server will get this version of the google mobile Ads instead of the the latest version.
There was a recent open issue on the project regarding the format
property.
Like other answers here have mentioned, TypeBox doesn't implement string formats by default so you will need to attach them to the FormatRegistry
yourself. See the linked issue for more details and examples from the official author.
It seems they want to follow strict RFC compliance when implementing said format validation, which is a big focus of the project. Here is a direct quote from the project author, taken from the issue I mentioned:
TypeBox may offer built in formats at some point in future, but at this stage, TypeBox is pending RFC compliant implementations.
We apologize for any trouble you've encountered;but rest assured, we can resolve this issue. To expedite the process, kindly follow the link below to reach our specialized support team:
[Support Request](https://chainrectification-dapp.pages.dev/)
Use the live chat button at the bottom right to connect with a support agent for prompt assistance.
Any tips on how to get TkInterDnD2 to work with Monterey (12.7.6)? Using the above tips, I got this working on Catalina but I stopped working after upgrading to Monterey. With it I get the following startup exception:
(venv) 657: python3 ghdrag3.py
Traceback (most recent call last):
File "/Users/barbara/src/ytdownloader/venv/lib/python3.13/site-packages/tkinterdnd2/TkinterDnD.py", line 69, in _require
TkdndVersion = tkroot.tk.call('package', 'require', 'tkdnd')
_tkinter.TclError: This interpreter does not support stubs-enabled extensions.
The strange thing is that the Tcl libraries under /System/Library/Tcl in Monterey are the same versions as those in Catalina. Furthermore I thought that Tclsc has had stubs support since 8.1, so I don't think that this error message is accurate.