I had same problem.. I just refreshed the page and worked fine 😄
Thank you for your help, this worked for me !
Found this while trying to figure out why my view was "Flat".
Turns out that only option 1 and 3 are supported in Excel. Option 2 is displayed as "Flat" instead of a tree view like in Azure DevOps.
Azure Devops Query Type Dropdown (Seems like I cannot embed images yet)
I have developed a very efficient and accurate method to find n-th prime number which is given in https://www.researchgate.net/publication/392595891_A_code_to_find_large_prime_numbers_using_Prime_number-Jump_number_Equation_PJE
It is based on a new method (Prime number-Jump number Equation, my invention). It is very fast, reliable, and accurate method without memory restriction.
For Angular 19 try replacing browserTarget with buildTarget.
Instead of @Test
you can use @RepeatedTest(value = 123)
to repeat a test x number of times.
CURLOPT_REFERER у вас указан верно, но Вы пытаетесь вернуть в Location $data, а вам туда надо вернуть ссылку.
Например как получить 301 Location по прямой ссылке на которой настроен 301 редирект:
<?php
function getLocation($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (in_array($http_code, [301, 302])) {
if (preg_match('~Location: (.*)~i', $data, $match)) {
return trim($match[1]);
}
}
return $url;
}
It sounds like you may have authenticated with the offline_access scope included in the authorisation link at some stage and so you have got a refresh token.
At a later stage when reconnecting you didn't include offline_access and so the latest connection only lasts 30 minutes and does not have a refresh token associated with it.
I've tried using contentEditable
. Here is the solution
If your MCU is NXP S32K144,you can use the commands as follows to enable security.
JLink.exe -device "S32K144 (allow security)" ...
A complete alternative to regular expressions would be Scripal. It's fast and has a very intuitive syntax with short keywords. Scripal can interpret numbers directly, uses templates, look for files, knows comments, compare phrases for similarity and much more. It has a linear complexity, so it's ideal for large strings.
Please look at https://github.com/scripal-git/scripal
I just find the answer for this qeustion.
Sorry for the duplicated question.
Below post asked exactly same thing with mine.
Thank you for answer Gavin Simpson!
The "invalid nonce" error occurs because you're using two different nonce values one from the JSR223 PreProcessor and another from the response header. Amazon Cognito requires the same nonce to be used consistently throughout the authentication flow. To fix this, generate the nonce once using your PreProcessor and use that same value in the authorization request. Avoid using or overwriting it with the response header value.
the code can work.
tip: If millis - now
is negative, the task will be executed immediately. Make sure to handle this according to your business logic.
You could use this repo
https://github.com/aws/karpenter
and this path:
charts/karpenter
Can you please share full code with error.
My guess is you need to upload blob data and you are sending some wrong type of data. And without looking into code can't help
This workaround worked for me (VSCode version 1.99.3):
Create a new profile (Preferences -> Profiles -> New Profile -> Create)
In the Default profile, in the list of Folders & Workspaces, move any items you want to get rid of to the newly created profile using the pencil button (Change Profile)
In the new profile, remove the items using the x button (Delete Path)
Since today, return parameter works again. So, it seems that PayPal fixed this issue on their side.
A slightly cursed "improvement" to attila's answer would be
@lambda f: lambda *args: dict(f(*args))
def optional_oranges(apple, orange = None):
yield "apple", apple
if orange is not None:
yield "orange", orange
optional_oranges(1) #{'apple': 1}
optional_oranges(1,2) #{'apple': 1, 'orange': 2}
do you have Crashlytics set up? If you do, try checking the logs they might give you some clues. Without any context, it's tough for anyone here to help out.
If you are in shell/bash, and want to search for all PRs created after say 4 weeks ago, and not a specific date, you can try a variant of what @artur replied, using the excellent gnu date
utility, e g:
AGODATE="$(date -d "-4 weeks" '+%Y-%m-%d')"
echo $AGODATE
gh pr list --state all --search "created:\>$AGODATE"
Or as a oneliner:
gh pr list --state all --search "created:\>$(date -d "-4 weeks" '+%Y-%m-%d')"
This works fine in git-bash on windows also.
Have not tested macos, since it is bsd lineage, it might not have gnu date and the date it has might not have this.
Note: I am including all PRs, open /closed/merged by setting the --state
switch explicitly. If not, it will just show all open PRs.
execute '!echo ' . '"' . escape(line, '#') . '"'
I don't understand what you mean by a race condition. A race condition typically occurs when different parallel threads try to access/modify the same shared resource at once. But Dart is a single threaded system.
The only kind of conflicts you may get are perhaps from the various async
events running in the event loop. Only one event runs at a time. Another event will only run if you yield away your control using await
(or other equivalent syntaxes).
Each of the read and write statement is always "atomic" in Dart in the sense that only one event is running at a time. If at all you need to enforce logical transactions that involve blocks of code, just make sure you don't yield away control using await
when you don't want to.
The provided callback is immediately called synchronously. It must not return a future (the callback cannot be async), since then it would be unclear when the state was actually being set.
Calling setState notifies the framework that the internal state of this object has changed in a way that might impact the user interface in this subtree, which causes the framework to schedule a build for this State object. [1]
Flutter's SchedulerBinding has four major phases, one of which is idle
and the rest are related to building and rendering a "frame". [2]
New events from the event loop are only popped and executed in the idle
phase. [2]
Flutter uses the event loop to schedule frame callbacks. When Flutter determines that a new frame is needed — due to user interactions, animations, or state changes — it calls methods like scheduleFrame on the WidgetsBinding. This schedules a callback that gets added to Dart’s event loop. [3]
If you follow the Flutter framework internal code [4], you can see that setState
ultimately only does the work of setting some flags that say to the framwork: "if you are trying to schedule a frame, please do it, cause there are some widgets whose states have changed".
The importance of this is that, unless these flags show that there is a dirty widget (or some other reason like this), Flutter will not schedule a new frame even if it can. [2]
The original version of this API was a method called markNeedsBuild, for consistency with RenderObject.markNeedsLayout, RenderObject.markNeedsPaint, et al.
However, early user testing of the Flutter framework revealed that people would call markNeedsBuild() much more often than necessary. Essentially, people used it like a good luck charm, any time they weren't sure if they needed to call it, they would call it, just in case.
Naturally, this led to performance issues in applications.
When the API was changed to take a callback instead, this practice was greatly reduced. One hypothesis is that prompting developers to actually update their state in a callback caused developers to think more carefully about what exactly was being updated, and thus improved their understanding of the appropriate times to call the method.
In practice, the setState method's implementation is trivial: it calls the provided callback synchronously, then calls Element.markNeedsBuild. [1]
So it does NOT matter how many times you call it, where in the function you call it, or the callback that you pass to it, setState
only does the job of setting the widget as dirty.
So all of these codes are equivalent (among several other variations):
setState(() {
futureWait = "$fifteen second wait for both futures completed";
});
futureWaitBool = true;
setState(() {
futureWait = "$fifteen second wait for both futures completed";
futureWaitBool = true;
});
futureWait = "$fifteen second wait for both futures completed";
setState(() {
futureWaitBool = true;
});
futureWait = "$fifteen second wait for both futures completed";
futureWaitBool = true;
setState(() {});
I tried to find an exact answer to when exactly does the rebuild occurs, but I haven't yet found it.
But I can tell, based on my understanding, that setState
will not interrupt/stop an ongoing event (such as an onclick
callback). The frame will be properly scheduled for later through the event loop.
1. https://api.flutter.dev/flutter/widgets/State/setState.html
2. https://youtu.be/_gIbneld-bw?si=P0YQfBiciReW3OKb
3. https://medium.com/@pomis172/understanding-flutter-rendering-pipeline-build-phase-cf7e05aa12f1#:~:text=When%20Flutter%20determines%20that%20a%20new%20frame%20is%20needed%20%E2%80%94%20due%20to%20user%20interactions%2C%20animations%2C%20or%20state%20changes%20%E2%80%94%20it%20calls%20methods%20like%20scheduleFrame%20on%20the%20WidgetsBinding.%20This%20schedules%20a%20callback%20that%20gets%20added%20to%20Dart%E2%80%99s%20event%20loop.
4. https://github.com/flutter/flutter
If you use intellij, try the AEM Repository Tools plugin
https://plugins.jetbrains.com/plugin/27802-aem-repository-tools
2025 update: I got
Searching for inspections failed: undefined method map for nil:NilClass
report.issues = results['items'].map { |item| Issue.new(item) }
and was able to fix it by replacing PBXFileSystemSynchronizedRootGroup with PBXGroup in ios/Runner.xcodeproj/project.pbxproj
You can use vlookup with 1.
Make 1 table
A | B | |
---|---|---|
1 | 30 | $15 |
2 | 51 | $13.75 |
3 | 101 | $13 |
4 | 301 | $12.50 |
Now if you have data like this
C | D | |
---|---|---|
1 | Quantity of Shirts | Cost |
2 | 40 | =vlookup(c2,$a$1:$b$4,2,1) |
3 | 103 | =vlookup(c3,$a$1:$b$4,2,1) |
You will get the result.
Once the flag is enabled on the yb-master process and a new YCQL table is created, the metrics table should get created automatically (confirmed by looking at source code).
Please create a test table in YCQL and the metrics
table will be created automatically.
Thanks for you answer.
That's great help to me.
It seems that the above can be achieved using MERGE sql function as outlined in the documentation:
https://docs.databricks.com/aws/en/sql/language-manual/delta-merge-into
IMHO
*(const char*)pattern + index)
does not work correct, something like
if (((const char*)mem)[idx++] == ((const char*)pattern)[index])
might compare the bytes
nltk.download('averaged_perceptron_tagger_eng')
use this to download the missing package
or use nltk.download( )
this will show an intractive package downloader, seach and download whatever you are missing.
Hello,
The code for /r is '%0D'
Get in the zone and take over the court in Basketball Bros, where timing and fast moves are the keys to every sweet victory.
I'll mainly defer to the other answer, but in simple terms, I would default to Microsoft Entra External ID because that is the new B2C auth product going forward. Azure AD B2C is no longer available for new customers and is only open to existing customers going forward. Entra External ID is Microsoft's new product for this going forward.
No, Item(isLoading: true)
is not a constructor call — it is a pattern match using Dart's record/class pattern matching syntax (available since Dart 3).
example:
var rec = (25, "name", isAdult: false, weight: 60.09);
we can declare a record like this.
You're on the right track. To build a video streaming app, it’s important to break things down: capture → encode → package → deliver → playback. Start by defining your use case: Is it low-latency live video like conferencing? Or a one-to-many broadcast stream?
Instead of reinventing the wheel, explore existing protocols like WebRTC for real-time and HLS/DASH for traditional streaming. Tools like FFmpeg are a must-know for encoding and muxing. Also, understanding basic networking (TCP/UDP) helps, but you won’t need to build protocols from scratch.
If you're looking for a real-world approach, platforms like VPlayed or Muvi can handle encoding, delivery, and multi-device support—all while letting you retain full control over infrastructure and monetization. That can save you from building everything from the ground up while still giving you room to customize.
Once you understand the layers—media capture, codecs, containers, delivery—you’ll be fully equipped to create a video streaming app: https://www.vplayed.com/build-video-streaming-app.php
a = 1324343032.324325235 * 1000 / 1000
print(f"{a:.3f}")
output -> 1324343032.324
I have one query if I use Whatsapp cloud API to build whatsapp like custom chat app what I use Webhook or websockets.
Simply Install the pm2 globally using this command sudo npm install -g pm2
this will resolve the issue
For my case.
I am faced the same problem In Angular Material Version 19.
Just add below line your css:
:host ::ng-deep .mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{
border: 1px solid transparent !important;
}
This will remove the black border
GANs are not the best choice for text-to-image generation. Theyre unstable and outdated for this task. Instead, consider lightweight diffusion models like Kandinsky, which offer better quality, are easier to fine-tune, and require less computer.
* Sorry for my English. I’m still learning, so there might be some grammar or syntax mistakes.
We can add couple more to the list.
Apache Kafka
Apache Camel
Hibernate
gRPC (Google Remote Procedure Call)
RMI (Remote method Invocation)
JEB (or EJB as it was known before, albeit it's being widely abandoned)
DOUINA Mouhamed can you share your findings? maybe share some general guide on how to establish pairing and bonding in flutter? that would be appreciated
I installed VS Code on Ubuntu focal (20.04) via apt
and every time I upgrade, the CLI command is gone again. The "Install code command ..." in the UI also does not exist for me.
This is what solves it for me:
sudo ln -s /usr/share/code/bin/code /usr/bin/code
I think what you are seeking for is a funcion r(theta) such that
d(r)/d(r⊥) = d(r)/d(theta) * 1/r = - Ak sin(k theta)
and max(r) = base_radius + amplitude; min(r) = base_radius - amplitude
If so, the solution is r = C exp(A cos(k theta))
A = 0.5 ln((base_radius + amplitude)/(base_radius - amplitude))
C = sqrt((base_radius + amplitude)(base_radius - amplitude))
the corresponding code is
def inner(theta, n_petals, amplitude, base_radius):
A = 0.5 * np.log((base_radius + amplitude) / (base_radius - amplitude))
C = np.sqrt((base_radius + amplitude) * (base_radius - amplitude))
return C * np.exp(A * np.cos(n_petals * theta))
If this is not what you are seeking for, cloud you please describe your expectation mathmatically?
If someone has tried the above solutions without success, please try restarting your phone.
Do you solve this problem?
I have a similar problem.
I run python script from a terminal, and after a moment, it occupy 0% CPU and suspend.
Why this problem occurs?
In macOS, the panel type browser window is NSWindow type, not NSPanel. Calling some private API at runtime makes NSWindow look like NSPanel, but not 100% like NSPanel. (I found this in the Electron source code.)
I think of a nested class system like building a real, functional car. The main class — let’s say Car — represents the entire vehicle. Within this class, we can define major components as nested classes, such as Engine, FuelTank, and Piston, each with its own responsibilities and internal logic.
For instance, the Engine class might include a method isRunning() that checks whether its subcomponents — like Piston, SparkPlug, etc. — are functioning correctly. These subcomponents can also be implemented as nested classes inside Engine, creating a clear hierarchy and encapsulation of responsibilities.
If components like FuelTank and Engine are in the same enclosing scope (e.g. as nested classes inside Car), they can easily communicate with each other. For example, the Engine could call fuelTank.isFull() before attempting to start, mimicking how real car systems coordinate.
This design mirrors the modular and interconnected nature of a real car. It also improves encapsulation: the inner classes hide implementation details, while the outer Car class exposes only necessary, high-level methods like start() or drive().
In summary, nested classes allow related components to be grouped together logically, promote encapsulation, and facilitate clean interaction between parts — much like how subsystems in a real car work together under the hood.
Amazon is full of shit and an f-ing lier.
The fact is that this criminal does not respect a website's wishes for NO CRAWLING.....ETC.
And the criminal Amazon has found a way to get around .htaccess blocking!
Amizon and it's owners are among the top of World Criminals!
Minister ThunderWolfe
Check this configuration: https://aerospike.com/docs/database/reference/config#namespace__direct-files Add this config param, set it to true, restart your node(s) (since it is a static parameter, it cannot be enforced dynamically). Please retest and share your findings.
Make sure the .m3u8
URL is valid and accessible. Also, set AVURLAsset
with proper options like AVURLAssetPreferPreciseDurationAndTimingKey
y no quieren también todos sus datos desde que nació donde estudió aparte de los que ya le robaron putos analfabestias
([(1, "foo"), (2, "bar")], ["key", "value"])
+("iceberg").\
("key")*("append"). \
*("catalog_name.namespace.table_name")
+("SHOW CREATE
The issue is here is subtle. The message is informative (not an error), but if you have no idea what is going on it isn't very informative.
matplotlib uses backends to render graphics. Mine uses tkinter by default, which uses the TkAgg backend. Other packages likely do as well.
When you run a python program that uses matplotlib from the command-line it starts a backend but you get no message about interactive mode because you aren't running python interactively.
When you are debugging with an IDE like PyCharm or Visual Studio, python is running in the background as a separate process controlled by the IDE. Since the IDE is controlling python, starting, stopping, inspecting variables, python is running in a kind of interactive mode. The message about backend TkAgg tells you this.
I am running with Visual Studio on windows. If I step my code that uses matplotlib, you don't see the message until you step across "import matplotlib". That is when matplotlib initializes itself and starts the backend.
Interestingly when I just run python from the command-line, which is very clearly interactive, and type
\>>>import matplotlib
\>>>print (f'{matplotlib.get_backend()}')
TkAgg
I don't get the interactive message. Running with an IDE is apparently "more interactive".
Subtle are the ways of matplotlib and backends.
======
For those of you who are curious, on my machine there is a folder of 29 matplotlib backends. It is
C:\Python38\Lib\site-packages\matplotlib\backends
The message itself comes from Visual Studio code that loads the matplotlib backend not the backend itself. If you search your python and IDE files you can likely find the code. In my installation it is called matplotlibtools.py in a Visual Studio folder.
It gives some hints about matplotlib backend loading. Look for
"is interactive backend. Turning interactive mode on"
In the function
def activate_matplotlib(enable_gui_function):
the message is controlled by
matplotlib.is_interactive()
After 20 days, it finally started working. I did two things that might have helped:
Reviewed my other custom definitions to ensure I wasn't passing high-cardinality (unique) values.
Submitted a bug report to Google.
Simply Try This Command
docker ps
It will list the running container along with container Id, Image, Command, Status, Port, Names
const degree = radians * (180 / Math.PI) * -1 + **90**;
Change this line to
const degree = radians * (180 / Math.PI) + 180 // You can handle the negative sign according to your required direction.
You might find this Composer package useful for converting Japanese years (Wareki) to Gregorian in PHP:
https://github.com/smensulaiman/japanese-year-converter
It supports both Kanji and Romaji era names (like 平成, 昭和, Reiwa, etc.) and is easy to use with Composer.
Google Play Protect
Unsafe app blocked
T
T2S
This app was built for an older version of Android and doesn't include the latest privacy protections.
More details
I know this is an old question, but if anyone is still looking for a python based, cross platform ramdisk, check out http://github.com/clockworksspheres/ramdisk
disclaimer: I am one of the authors, and the current maintainer.
It is a cross platform python ramdisk that can either be used as either a script, or as a library.
The Windows part needs work before it's fully functional.
The script/app is a python interface that's the same across platforms, and underneath handles the platform specific details. Binaries for Linux and Windows as well as an app for macOS are created with PyInstaller.
The macOS and Linux ramdisk sections rely on the OS facilities to create the ramdisk, the Windows one relies on Imdisk being installed.
Has anyone fixed this error? I have the same error
Just add scope to memberships
class Memberships
scope :voter, -> { where(role: 'voter') }
end
Keep react version 、react-dom's version the same as @types/react and @types/react-dom's version solve my problem
I see that the facebook page plugins is was not visible show in your website because of those issue below:
SettingRequired ActionPage
Visibility
✅ Ensure the page is Published.
❌ If "Unpublished", click Edit → select "Page Published" → click Save Changes.
Country Restrictions
❌ Remove any country restrictions.
✅ Leave this field empty to allow global access.
Age Restrictions
❌ If set to "18+" or "21+", change it.
✅ Set to "Anyone (13+)" for broader visibility.
Page Audience
✅ Ensure the page is visible to Everyone.
❌ Do not restrict access by region or group.
I think Pyreverse does what you're looking for.
These days business_management
permission is required to retrieve the pages. I tried it yesterday and it worked.
Just from looking over your code, it looks like you need to await
your initializeAuth function.
I banged my head against the wall with this one for awhile until I ultimately resolved it by uninstalling a deprecated package that was no longer needed.
Can you provider a small piece of data?
:\Users\MUHAMMAD-AYAN>pip install NLTk
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: NLTk in c:\users\muhammad-ayan\appdata\roaming\python\python313\site-packages (3.9.1)
Requirement already satisfied: click in c:\users\muhammad-ayan\appdata\roaming\python\python313\site-packages (from NLTk) (8.2.1)
Requirement already satisfied: joblib in c:\users\muhammad-ayan\appdata\roaming\python\python313\site-packages (from NLTk) (1.5.1)
Requirement already satisfied: regex>=2021.8.3 in c:\users\muhammad-ayan\appdata\roaming\python\python313\site-packages (from NLTk) (2024.11.6)
Requirement already satisfied: tqdm in c:\users\muhammad-ayan\appdata\roaming\python\python313\site-packages (from NLTk) (4.67.1)
Requirement already satisfied: colorama in c:\users\muhammad-ayan\appdata\roaming\python\python313\site-packages (from click->NLTk) (0.4.6)
C:\Users\MUHAMMAD-AYAN>
Did it work? Did you publish it in the store and did it work? I have the same problem
I had the same problem yesterday, I'm going to open an issue to see if the devs can reach me out with a solution. I've tried everything you wrote too and nothing happens, but I've logged the response from /login and I'm getting the header with 'set-cookie': 'cookie' too. Can you share how you manage the authMiddleware to let the /me endpoint get the cookie? Also in Application -> Cookies, do you see the cookie?
I am trying to do similar thing. I have PIVISION website exposed on internet, and want to embed the dashboard in angular. I used iframe by configuring CSP in pi vision web.config. Started working on desktop browsers.
Issue is the pi vision stopped working on mobile, apparently based on device, the url for mobile changes as well. How can I embed without it crashing on mobile browser
A modified version of Thomas's comment:
Chromium-based browser: location.href.search(/[,\/]chromewebdata/i) != -1 && loadTimeData.data_.summary.failedUrl || location.href;
Firefox: location.href
I think I'm able to fix your problem from the code sandbox.
https://codesandbox.io/p/devbox/bold-field-dcjmhn
What I did was to downgrade the pinia from 3.x to 2.x. I don't know the specifics, but I also had problem working with pinia 3.x with Nuxt, so I went with 2.x instead. I've also updated @pinia/nuxt and the nuxt version itself for compatibility.
I've also modified the app.vue so that you can see the store being modified in realtime.
Sorry that I can't give you the detailed reason behind this error.
just download them using the following links:
I had a similar issue , the issue was i had named my file as comments-entity.ts instead of comments.entity.ts.
spread key into JSX warning (#12142) (f9031ec) - by @jewhyena
to provide context why updating may fix this issue. If migrating to v7 is an option, that also would resolve it.
Apache Airflow is not suitable for running 25,000 concurrent IoT device simulations because it is designed for orchestrating batch workflows with scheduled, heavyweight tasks not for high concurrency, real time, or event driven execution. Open source tools like Ray or Temporal are a better fit as they are built for distributed, concurrent processing and can efficiently handle large-scale simulations with lower latency and greater flexibility.
If you have a trackpad, you can go to back with a swipe. Only on the trackpad.
The way ember-cli invokes testem, you can only use the launch_in_dev setup by running
ember test --server
The error stems from the op listening to a touch event which isn't supported by safari. TouchEvent is a JS class.
The error isnt from the type. the code not the type is throwing the erro
.NET now has keyed services:
.e.g
builder.Services.AddKeyedSingleton<ICache, BigCache>("big");
builder.Services.AddKeyedSingleton<ICache, SmallCache>("small");
var app = builder.Build();
app.MapGet("/big", ([FromKeyedServices("big")] ICache bigCache) => ... app.MapGet("/small", ([FromKeyedServices("small")] ICache smallCache) => ...
This seems to be a common problem in Google Cloud Functions even without setting up a CI/CD for it. From what I’ve noticed, if the function was initially created through the Google Cloud console and you're trying to update it using the gcloud functions deploy
command, it results in that error. It seems like updating the function using the command works if it was initially created through the same command.
In addition to that, try using gcloud run deploy
in your config file and see if it would work as this command is used to create or update a Cloud Run service. Refer to this documentation for the deployment steps.
Just a quick note that settingCS_QUIET
to 1 or true in the policy or pipeline yaml will remove the vulnerability table that can become quite large and eat up the majority of the log. Not 100% a solution but at least a workaround.
You cannot use variables defined in jobs, or in a global variables section which defines the default variables for all jobs. Includes are evaluated before jobs, so these variables cannot be used with include.
I've received a reply to the same question on another forum and it answers my question. https://github.com/jstedfast/MailKit/discussions/1929#discussioncomment-13698474
does it work on codepen? I mean I tried and I got this:
import React, { useRef, useState } from "react" import "./style.scss" import logo from "./logo.png" export default function App() { const videoLink = useRef("") const [video, setVideo] = useState(false) const [items, setItems] = useState([]) const matchYoutubeUrl = (url) => { var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/ var matches = url.match(p) if (matches) { return matches[1] } else { alert("Please enter a valid link!") } return false; } const convertVideo = () => { if (videoLink.current.value === "") { alert("Don't forget the link...") } else { const newUrl = matchYoutubeUrl(videoLink.current.value) if (newUrl !== false) { setVideo(true) const apiUrl = "https://www.googleapis.com/youtube/v3/videos?part=snippet&id=" + newUrl + "&key=" fetch(apiUrl) .then(response => response.json()) .then(data => { setItems(data.items) console.log(data) }) } } } return ( <> {logo}
Converter Youtube
https://www.youtube.com/watch?v=CXHgHcCLImA&list=RDCXHgHcCLImA&index=1
convertVideo()} id="convert" />
{ items.map((item, key) => { var description if (item.snippet.description !== "") { description = item.snippet.description.substring(0, 100) + "..." } return (
{item.snippet.title}
{item.snippet.title}
{description}
Download
) } ) }
Copyright 2021
) }
I've been using AWS AppConfig for a while now and can confirm that the environments capability is not very useful, due to the inability in the AWS console to easily see which version of configs/features are actively deployed to which environment when modifying the active configs/features for an environment.
The AppConfig "engine" separation of configs/features per environment is sound, but the AWS Console lets you down (a fairly common theme).
In the absence of the above usability improvement, we just create lots of "applications" instead (using a suffix, one per environment) and just have a single environment "default" under the application. Modifying the active configs/features then becomes straightforward.
AWS (if you're listening) you need to have a "select" on the config profile page to optionally filter versions by environment, defaulting to the most recent version for the environment selected, and defaulting the "Start deployment" to any selected environment.
The solution is to use an older version of Chrome. I used one from 2022 and RenderDoc v1.39.
Add this to your pubspec.yaml to enforce geolocator_android dependency version
dependency_overrides:
geolocator_android: 4.6.1
Before signals, observables where the best (only ?) way to implement Reactive CRUD on data. now we have Signals, and I would recommend to use them for CRUDing data.
-- It's not my intent to ditch Observables, they are still useful for other scenarios --
There are some particularly useful Angular APIs that you might want to use
resource, rxResource
and httpResource
resource
(and their derivatives) expose signals called value
, error
and isLoading
which emit what their names suggest, this is really useful, as managing data usually need these 3 state sources.
I will not explain how to use them here, they are explained in Angular docs and any attempt to explain them here would be incomplete, but this article pretty much summarizes the mental model of moving from rxjs based CRUD into signals
https://medium.com/@robmanganelly/simplifying-crud-with-angulars-new-reactive-apis-c0277a001f2f
you might be able to reuse the code examples there to implement your User service.
If you insist to use observables you have other apis that can turn signals into observables, (people usually go the other way around, but in some cases you need to preserve observables for backward compatibility.
toObservable(someSignal)
will give you the desired signature, and the article above have an example for making stateful CRUD with observables.
My only recommendation is that no matter the API you use (rxjs or signals) stick to best practices and design principles.
Check this code for examples of implementation (taken from mentioned article)
export type Cat = {
age: number;
breed: string;
color: string;
name: string;
id: string;
};
export type CatParams = Omit<Cat, 'id'>;
@Injectable({
providedIn: 'root',
})
export class CatsService {
private readonly http = inject(HttpClient);
private readonly apiCats = '/api/v1/cats';
private readonly catParams = signal<Params>({});
private readonly catResource = rxResource({
// request changed to 'params' in v20
request: () => this.catParams(),
defaultValue: [],
loader: ({ request }) => this.getCats$(request),
});
private getCats$(params: Params) {
return this.http
.get<Cat[]>(this.apiCats, { params })
.pipe(map((cats) => cats.map((c) => this.transformCat(c))));
}
private postCat$(payload: CatParams) {
return this.http
.post<Cat>(this.apiCats, payload)
.pipe(map((cat) => this.transformCat(cat)));
}
private putCat$(payload: Partial<CatParams>) {
return this.http
.put<Cat>(this.apiCats, payload)
.pipe(map((cat) => this.transformCat(cat)));
}
private deleteCat(id: string) {
return this.http.delete(`${this.apiCats}/${id}`);
}
private transformCat(cat: Cat) {
return { ...cat };
}
private sanitizeParams(params: Partial<CatParams>): Params {
const p: Params = {};
for (const k in params) {
const v = params[k as keyof CatParams];
if (v !== undefined && v !== null && v !== '') {
p[k] = v;
}
}
return p;
}
// public api of the service
// asReadonly prevents assigning to the cats value
// without using the service interface
readonly cats = this.catResource.value.asReadonly();
readonly loading = this.catResource.isLoading;
readonly error = this.catResource.error;
searchCats(params: Partial<CatParams>) {
const p = this.sanitizeParams(params);
this.catParams.set(p);
}
async createCat(payload: CatParams) {
const n = await firstValueFrom(this.postCat$(payload));
this.catResource.reload();
return n;
}
async updateCat(payload: Partial<CatParams>) {
const u = await firstValueFrom(this.putCat$(payload));
this.catResource.reload();
return u;
}
async deleteCatById(id: string) {
await firstValueFrom(this.deleteCat(id));
this.catResource.reload();
}
}
Well, so far I have resolved by avoiding stripping the full source path and having a parallel path for the object:
BUILDDIR = ./build
EXT_SRC := $(wildcard ext/lib1/src/*.c) \
$(wildcard ext/lib2/*.c) \
$(wildcard ext/lib3/xyz/*.c)
EXT_OBJ := $(EXT_SRC:%.c=$(BUILDDIR)/%.o)
$(BUILDDIR)/ext/%.o: ext/%.c
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c $^ -o $@
.PHONY: clean
clean:
rm -rf $(BUILDDIR)
To connect your Flutter mobile app to your existing Node.js backend, you should completely rewrite your backend in Dart using the shelf
package. Flutter works best with a backend written in Dart, so using Node.js will cause compatibility issues. Also, MongoDB is not ideal for mobile apps — you should switch to SQLite or Firebase instead. Once you’ve rewritten everything, your Flutter app will work seamlessly.
Read this:
Passing Additional Arguments to the Handler Function
https://docs.snowflake.com/en/developer-guide/snowpark/python/python-worksheets#passing-additional-arguments-to-the-handler-function
I can Propose other solution which can be implemented easier and won't need any 3rd party libraries.
The idea is to use Server-Side events. According to Mozila's documentation all modern browsers support the feature.
I won't copy/paste the code from their documentation. Instead, here is the link to their full example: https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events.
The fun part is that backend code in example is written in PHP.
The py3cw
library likely follows this logic (based on community reports and reverse-engineering the source):
Send the POST /v2/smart_trades
request.
Receive 204 No Content
response.
Immediately fetch the latest trades using:
GET /v2/smart_trades?account_id=XXX&limit=1
or
GET /v2/smart_trades?account_id=XXX&pair=YYY
Optionally filter by status=created
or check timestamps to get the most recent.
The trade ID
is then extracted from that result.
Recommended Solution in Your Node.js Code
After receiving the 204
, immediately fetch the latest smart trades and extract the newest one:
const axios = require('axios');
const crypto = require('crypto');
class ThreeCommasClient {
constructor(apiKey, apiSecret) {
this.apiKey = apiKey;
this.apiSecret = apiSecret;
this.baseUrl = 'https://api.3commas.io/v2';
}
_generateSignature(timestamp, path, data = '') {
return crypto
.createHmac('sha256', this.apiSecret)
.update(timestamp + path + data)
.digest('hex');
}
_buildPath(entity, actionId = null, subId = null) {
let path = `/${entity}`;
if (actionId) path += `/${actionId}`;
if (subId) path += `/${subId}`;
return path;
}
async _sendRequest(method, path, payload = null, query = '') {
const timestamp = Date.now().toString();
const dataStr = payload ? JSON.stringify(payload) : '';
const fullPath = path + query;
const signature = this._generateSignature(timestamp, fullPath, dataStr);
try {
const response = await axios({
method,
url: `${this.baseUrl}${path}${query}`,
headers: {
'APIKEY': this.apiKey,
'Signature': signature,
'Nonce': timestamp,
'Content-Type': 'application/json'
},
...(payload && ['POST', 'PUT'].includes(method) && { data: dataStr }),
validateStatus: status => status === 204 || status < 400
});
return [null, response.status === 204 ? null : response.data];
} catch (error) {
const message = error.response?.data || error.message;
return [{ error: true, msg: message }, {}];
}
}
async request(entity, action, actionId = null, subId = null, payload = null) {
const path = this._buildPath(entity, actionId, subId);
// Special case: smart_trades new (204 response handling)
if (entity === 'smart_trades' && action === 'new') {
const [postErr] = await this._sendRequest('POST', path, payload);
if (postErr) return [postErr, {}];
// Immediately fetch the latest smart trade to get the ID
const query = `?account_id=${payload.account_id}&limit=1`;
const [getErr, getData] = await this._sendRequest('GET', '/smart_trades', null, query);
if (getErr) return [getErr, {}];
return getData?.length ? [null, getData[0]] : [null, { success: true, message: 'Trade created, but ID not retrieved' }];
}
// Generic handler
const methodMap = {
get: 'GET',
post: 'POST',
put: 'PUT',
delete: 'DELETE',
new: 'POST',
update: 'PUT'
};
const method = methodMap[action.toLowerCase()] || 'GET';
return this._sendRequest(method, path, payload);
}
}
// Usage Example
const client = new ThreeCommasClient('my_api_key', 'my_api_secret');
async function createSmartTrade() {
const payload = {
account_id: 12345678,
pair: 'ADA_USDT',
instant: true,
position: {
type: 'buy',
units: { value: '10' },
order_type: 'market'
},
take_profit: { enabled: false },
stop_loss: { enabled: false },
demo: true
};
const [error, data] = await client.request('smart_trades', 'new', null, null, payload);
if (error) {
console.error('❌ Failed to create smart trade:', error.msg);
} else {
console.log('✅ Smart trade created:', data);
}
}
Optional Improvement: Add Retry with Delay
Since the trade may take a few hundred milliseconds to appear, you can add a short retry delay loop (e.g., check up to 3 times with 500ms intervals) if your app needs better reliability.
Answers to Your Specific Questions
1. How does
py3cw
get the trade ID when the API returns a 204?
By immediately querying/v2/smart_trades
for the most recent trade.
2. Is there a way to get the trade ID immediately in Node.js?
Yes — use the same workaround: fetch latest smart trade after 204 response.
3. Are there special headers or parameters I should be including?
No extra headers required beyond what's already there. Just make the follow-up GET request.
4. Is there an alternative endpoint or approach?
Not really. 3Commas chose 204 for smart trade creation. The only workaround is fetching the most recent trade from/v2/smart_trades
.