Here is the solution https://our.umbraco.com/forum/extending-umbraco-and-using-the-api/81065-file-upload-in-backoffice-custom-section
let fileInput = document.getElementById(`ImageFile`);
let file = fileInput.files[0];
$http({
method: 'POST',
url: "/umbraco/backoffice/api/myController/Create",
headers: { 'Content-Type': undefined }, // Let the browser set multipart/form-data boundaries
transformRequest: function () {
var formData = new FormData();
if (file) {
formData.append("file", file);
}
formData.append("competition", JSON.stringify(vm.competition)); // Send competition object as string
return formData;
}
})
this is an .net API action method
[HttpPost]
public async Task<IActionResult> Create([FromForm] IFormFile file, [FromForm] string competition)
{
var competitionData = JsonConvert.DeserializeObject<CompetitionRequest>(competition);
// do service call
}
When both spring-boot-starter-web (MVC) and spring-boot-starter-webflux are present, Spring Boot defaults to Spring MVC for handling requests—even for WebFlux-style controllers—because it prioritizes the Servlet stack. If you want pure reactive handling, exclude the spring-boot-starter-web dependency and use only spring-boot-starter-webflux.
same problem here. Try this, it worked: https://newrides.es/captha/
public int test(int value){
return (int) Math.cos(value);
Use flex-direction: row;
and flex-direction: column;
as necessary to specify if children elements will be lined up horizontally or vertically
I handled it by putting a 1.5-second sleep time after every API call.
60/1.5 = 40
This ensures that you only hit the API 40 times in a minute.
Hope this pretty trick helps someone.
Thanks to one of the posts suggested by Wayne, I used Martin Añazco's tip, setting auto_adjust to False...works fine.
...answering my own question. It looks like auto commit for the confluent_kafka
consumer does not mean that commit is called on object desctruction; I have to explicitly call the close
method on my consumer to make sure that offsets are committed.
I'm still a little perplexed that it didn't just start over from the beginning when I ran it the second time, but at least I can get it to work.
A few years later, but I can say there are libraries combining asynchronous operation with multiple threads and SMTP connection reuse. Have a look at
Oops figured it out!
@echo off
setlocal enabledelayedexpansion
REM Set the path to your CSV file
set "file=C:\Users\arod\Desktop\fruit.txt"
REM Read the file line by line
for /f "tokens=1,2 delims=," %%A in (%file%) do (
set "fruit=%%A"
set "quantity=%%B"
echo Fruit: !fruit! - Sold: !quantity!
)
endlocal
pause
It's possible using an SVG path definition:
body {
background-color: silver;
}
<img src="https://picsum.photos/200/200" style="clip-path: path('M 100 0 L 200 0 L 200 200 L 0 200 L 0 0 L 100 0 L 100 50 A 50 50 0 1 0 100 150 A 50 50 0 1 0 100 50 Z');">
With Noitidart answer help, I found this extension (for Firefox for android) :
https://addons.mozilla.org/en-US/android/addon/simple-modify-headers-extended/
I use this extension on chrome desktop and she exists for firefox for mobile..
On mobile phone its not easy to configure on small screen. But it works ! 😀
you cna use the bleow link to test i out
git init
git add .
git commit -m "Primeiro commit"
git branch -M main
git remote add origin https://github.com/eletpuraque/calculadora-solar-offgrid.git
git push -u origin main
Few months back, I faced a similar issue. Try passing the primary key (id) instead of the whole object when creating the Connector instances. That should hopefully solve the problem.
Does anyone knows the solution for this issue. Even using a proxy is not working
I solved it myself.
I found out that there is no function to save the model after allocating_tensor. Since this question is not solved, I will mark it as Solved.
Seems that the double quotes need to be escaped
wpa_cli set_network 0 ssid "\"AA0RaI40RaI40RaI40RaI40RaI40RaI4\""
or
wpa_cli set_network 0 ssid '"AA0RaI40RaI40RaI40RaI40RaI40RaI4"'
DirList = {a([a.isdir]&~startsWith( {a.name},".")).name}
To retrieve the full set of records inserted/updated between this run and the last time you executed a DML statement using the stream, the streams have to do a full outer join against the source table and scan the table =twice=. On smaller tables, this is less an issue (assuming the DW used is sized appropriately and can fit the temporary dataset into memory). BUT - as you saw in your second query against the table with 6.5B records - the memory available to the warehouse wasn't sufficient and the query sent 6TB of data over the network and spilled 4.3TB to local disk. Both are far slower than reading data from memory. You could try 1) significantly increasing the size of the warehouse the stream uses, 2) modifying the data flow into the source table to be "insert-only" and changing the stream to be append-only or 3) don't use a stream for this use case and - instead - use timestamps to find the latest updates on the source table (assuming "update_dt" is a column in the table), a metadata table to track the last run, and a temporary table that invokes time travel to retrieve changes.
Después de probar tantísimas cosas.... funcionó con tu solución. Si hiciste algo más después, se agradece la info. Gracias!!
It turns out that this was a bug. I submitted it on casbin's github and it was fixed in January 2025, refer https://github.com/casbin/pycasbin/issues/358#event-15896058893
As of docs,
expect.anything()
matches anything but null
or undefined
. So, .not.toEqual(expect.anything())
will match null or undefined.
import turtle
t = turtle.Turtle()
t.speed(30)
t.fillcolor('greenyellow')
t.begin_fill()
t.forward(100)
t.left(120)
t.forward(50)
t.left(60)
t.forward(50)
t.left(60)
t.forward(50)
t.end_fill()
t.fillcolor('red')
t.begin_fill()
t.left(180)
t.forward(100)
t.left(60)
t.forward(50)
t.left(120)
t.forward(100)
t.left(120)
t.forward(50)
t.end_fill()
t.fillcolor('yellow')
t.begin_fill()
t.forward(50)
t.left(120)
t.forward(50)
t.end_fill()
t.hideturtle()
That is great; thank you for sharing it.
I was facing the same problem during job execution in Java Batch (JSR352).
In the beginning I sent mail using commons-email - but that library creates a connection for every single email. No wonder that after a short burst the mailserver considered a DOS attack and stopped responing to connection requests.
Then I switched to Simple Java Mail, which claims to boost performance using synchronous and asynchronous methods and allows you to reuse connections. But despite it says to be lightweight it pulls in a huge load of dependencies which also manifested in classpath issues.
So I went back to coding directly on JavaMail. It's not too bad after all, and you have full control on connections plus no further dependencies. Every partition in my batch run would need only one connection. Better but not good enough, as the mailserver still stopped responding.
Finally I combined JavaMail with smtp-connection-pool. Now the connections were shared across partitions and threads. The 10 threads running my batch in 150 partitions used 8 SMTP connections altogether, and the server did no longer consider a DOS attack. As a side effect performance raised dramatically since establishing less TLS sessions with my mailserver saved a few seconds each.
----------
Coming back to your approach:
Storing each connection in a hashmap is not too bad, but for a real connection pool you still want to know whether a connection is being used (borrowed) by a thread or idle. You want to close connections that are idle for too long. You want to make sure that a thread using the connection cannot close it accidentially. You want metrics to see how many connections were created, borrowed, destroyed, ...
All this is already implemented maturely in smtp-connection-pool. So why create from scratch?
You're using port 3000 in Supabase (http://localhost:3000/...
), but your code is set to use port 5000. This mismatch in ports is causing the issue and preventing access to the specified page.
people-search
is discontinued.
import foo as bar # type: ignore
If the warning really is false, add this comment after the line and the linter will ignore it and not raise a warning.
The one answer I see here doesnt work for me but I am using T-SQL so maybe this is for some other database outside of MS SQL Server. Anyhow for T-SQL this should work
CASE WHEN LEN(EmailAddresses) > 50 THEN SUBSTRING(EmailAddresses, 1, 47) + '...' ELSE EmailAddresses END AS EmailAddresses
When you first install Python, the first command box should ask if you want to "add python to PATH", make sure that box is checked. I had that same error and this fixed it.
I found out that the problem is specifically triggered by the import order of tensorflow
and pandas
. If pandas
package is imported after the import of tensorflow
, even if pandas
is not used in the subsequent code, the execution of next()
runs into an infinite loop.
I would like to know if anybody encounters the same problem and can explain why the import order is causing this issue.
Try tcp_keepalive = 1
in pgbouncer config file
Just try restarting VSCode, it worked for me.
My team eventually figured this out. Removing the GetMethodConvertingFilter did not have an effect, but we needed another filter instead. Adding a new bean to our Configuration class for HiddenHttpMethodFilter was the answer. This required some minor changes to our Edit.jsp pages as well. This allowed Spring to process PATCH requests. Below are the changes.
Configuration.java
@Bean
public HiddenHttpMethodFilter hiddenHttpMethodFilter() {
return new HiddenHttpMethodFilter();
}
Edit.jsp Replace:
<form:form action="/home" method="PATCH" modelAttribute="modelAttribute">
With:
<form:form action="/home" method="POST" modelAttribute="modelAttribute">
<input type="hidden" name="_method" value="PATCH" />
Try the eq
operator with the \Q...\E
wrapping your string literal:
IPAddress eq \Q192.168.10.12\E
Escape Sequences | |
---|---|
\Q...\E |
literal text ... even if ... has punctuation |
See more on their RE2 Syntax guide for regular expression grammar
Have you tried embedding the images as attachments?
<img src="{{ $message->embed(base_path('/public/icon.png')) }}" alt="icon" >
For me, I moved around some files in my navigator, and then suddenly that same error appeared.
Deleting things from the Build Settings did not work for me.
I simply went to my app folder, opened the file for my app( where all the folders in my project navigator are), added a folder named: Preview Content and dragged the Preview Assets in it.
That solved my problem.
Hope it helps!
It's 2025, and I'm just finding out about the Sender: header now, wondering why the hell my customer got an email that displays as coming their own domain in desktop and web Outlook, when SMTP FROM (return-path) and RFC
Use LocalDateTime class now() function for current and minusMonths(6) for 6 months earlier date.
LocalDateTime.now().minusMonths(6);
import 'package:flutter/material.dart';
void main() => runApp(PhotoApp());
class PhotoApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Fotoğraf Uygulaması',
home: Scaffold(
appBar: AppBar(
title: Text('Fotoğraf Gösterimi'),
),
body: Center(
child: Image.network(
'https://example.com/your-photo.jpg', // Buraya kendi görsel URL’ni koy
width: 300,
height: 300,
fit: BoxFit.cover,
),
),
),
);
}
}
Can you also print your v0_v2_12_na value out to see if it has any values? If it has values, specify your xaxis and yaxis in sns.boxplot(x = 'cyclone types', y = 'Na concetration', data = data). I would also suggest you to use tidy data. For example, you can have a new column for you _na variable. Say df['result_na'] = df.loc[df["Notes"].isin(["V0_V2_12", "V0_V1"]), "Na (ng/cm2)"]. In this way, each row of result_na is corresponding with each row of ['Notes'] based on the cyclone type. Your boxplot can be obtained by sns.boxplot(x = 'Notes', y = 'result_na', data = df)
For VS2022, it is now two clicks away. Right click the test method in Test Explorer, choose "Profile" context menu item. FMI: https://devblogs.microsoft.com/visualstudio/a-unit-of-profiling-makes-the-allocations-go-away/
I got a similar error because I had project that used .NET Standard 2.0 but the .NET Core 2.1 SDK wasn't installed in VS2019.
You could just reset the the last commit with git reset --hard HEAD
The file needed to be provided as stated below example 3-7
YouTube Data API - Can't access /members
endpoint despite being in YouTube Partner Program (403 error)
I'm facing the same issue! Our stakeholder is part of the YouTube Partner Program, which, according to the Google support team, is required to access the /members
endpoint if you don't have a direct Google or YouTube representative.
Here's what I have in place:
My app is verified in the Google Cloud Console with the following confidential YouTube API scopes:
https://www.googleapis.com/auth/youtube.readonly
https://www.googleapis.com/auth/youtube.channel-memberships.creator
The account requesting access to the /members
endpoint is part of the YouTube Partner Program.
I'm trying to call this endpoint:
GET https://www.googleapis.com/youtube/v3/members
Using the channel account (the one in the Partner Program) via the application that has the required scopes.
Here’s the response I get:
{
"message": "Request failed with status code 403",
"name": "AxiosError",
"config": {
"headers": {
"Accept": "application/json, text/plain, */*",
"Authorization": "Bearer _token",
"User-Agent": "axios/1.7.2",
"Accept-Encoding": "gzip, compress, deflate, br"
},
"params": {
"part": "snippet",
"maxResults": 50
},
"method": "get",
"url": "https://www.googleapis.com/youtube/v3/members"
},
"code": "ERR_BAD_REQUEST",
"status": 403
}
I've searched extensively and found many developers encountering the same issue, but no confirmed solutions.
Digging deeper, I found a Stack Overflow thread that discusses integrating YouTube memberships with a Discord server. They seem to have found a workaround by using the Discord API to manually check if a user who is a YouTube member also exists in a Discord server. However, this feels like a problem transfer, not a proper solution.
Has anyone successfully accessed the /members
endpoint without a direct Google/YouTube rep, but using only the YouTube Partner Program eligibility?
Is there something specific or hidden required beyond scopes and being in the Partner Program?
Are there additional permissions or manual approvals that need to be done in the Google Cloud Console or YouTube Studio?
Is there any solution to this issue, I faced that issue and tried with * and without it but still have access denied.
Just use CSS to move the toolbar
Explicitly convert report_index to an integer before passing it to setCurrentIndex()
report_index = int(self.window.comboBoxReportSelector.findText(str(selected_report_name)))
self.window.comboBoxReportSelector.setCurrentIndex(report_index)]
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"http://localhost:3000"
],
"ExposeHeaders": [
"Content-Length"
]
}
]
This is the new way in which you need to provide the CORS configuration now.
You can refer to below docs for reference:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManageCorsUsing.html
Yes this possible.
For example, assuming a http interface, you could do this with either CloudFront, API Gateway or Application Load Balancer. Just define a route for your polling traffic and route that to your Lambda, then define a route for everything else and route that to your EC2 backend.
I ran into a similar error. Did you, like me, perhaps install neovim from the package manager (apt)? If so, this version of neovim is too old :(
If you return to the NvChad installation instructions, click the link to Neovim 0.10 and install it manually. I opted to install the 0.11 release from the neovim release page.
Be sure to delete your previous neovim and any nvim folders (like ~/.config/nvim) and try the install again from the top.
Hope this helps!
I know this is old, but to directly answer the question in lay terms....
Username/hashed-password are credentials that work anywhere & at any time. In contrast, a session ID is a credential that is valid only for one IP address and for only as long as the session is open. Therefore, a username/password has far greater power than a session ID. Therefore, storing user/password credentials is a far greater greater security risk than storing a session ID. Therefore, it's best to store the least risky credential in the browser's cookie store.
I was able to fix this by adding the /restore parameter to the msbuid command. So now my msbuild command looks like:
msbuild.exe appserver\%~1\%~1.sln /restore /target:Clean,Build /p:Configuration=Debug /p:platform="%platform%"
This seems to properly restore the sdk style project's dependencies and the build now completes using the gitlab runner
The immediate reason that "memset" is being called in your assembly is that the MSVC compiler noticed your loop is functionally identical to a standard memory-set operation and replaced it to save space under /O1.
We've recently developed a tool called UPC Sentinel can be used to precisely detect upgradeable smart contracts. Specifically UPC Sentinel is able to detect:
- i) Proxy contracts.
- ii) Whether they are used for upgradeability,
- iii) The specific reference implementation they are based on (e.g., ERC-1967, ERC-1822, ERC-2535 Diamonds, Transparent, Beacon, Registry etc.),
- iv) All implementation/logic contracts they have ever interacted with.
Notably, UPC Sentinel does not require access to the source code, making it especially useful for analyzing closed-source smart contracts.
You can find more technical details in the following recently published paper here: 🔗 https://link.springer.com/article/10.1007/s10664-024-10609-7
And the GitHub repository is available here: 💻 https://github.com/SAILResearch/replication-24-amir-upc_sentinel
Feel free to check it out or reach out if you have any questions
**
**<img src=data:image/jpeg;base64,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
I was also getting this error. I went to the Event Viewer and it said there was an error in the binding redirects in the app.config. They were incorrectly nested and fixing that resolved the issue.
Solved it with:
wave_file.rewind()
As it turns out I was fetching for the data past the end of the file.
For me, following setting worked to enable word wrap:
editor = ace.edit("editor", {
wrap: 1
})
Does running “flutter build apk” work?
I experienced the same issue and usually the problem is connected. "flutter build apk" will tell you if there is something wrong.
For me, I was missing the "key.properties" file. After fixing that, "flutter build apk" was working again and so "shorebird init".
If you're starting out with css (or any other tech), and you want to get the answer quickly, use code editor with some AI helpers eg. Cursor, and ask it to explain exactly why stuff is done such way, it will be quicker for you to get around :)
Resolved by following this answer:
github.com/Yelp/elastalert/issues/1927#issuecomment-1054215307
I'm experiencing this as well, also with loader images. I have four charts that use loaders in frames until the charts are displayed. The first couple of loaders are displayed correctly. The second two are cancelled (in both Edge and Chrome). This worked previously, so it seems some requirement has changed in the browsers. While turning off content expiration in IIS might work for a single user on a single PC, it isn't a solution for thousands of PCs across a company network. I came here looking for a solution, so I apologize for not having one to offer.
You can use https://kioskengine.io , not sure if it's firefox but you're getting all the things you mentioned for free + more, and management from cloud (although works offline as well)
A negative lag value in CMAK (Cluster Manager for Apache Kafka) usually indicates a bug, timing issue, or inconsistency in how offsets are being calculated or reported. Here's a breakdown of what could cause it:
CMAK computes lag as:
ini
CopyEdit
lag = logEndOffset (latest offset) - consumerOffset (committed offset)
If the consumer offset is updated slightly after CMAK fetches the log end offset, but the values aren't synchronized properly, it can briefly show as negative.
kafka-consumer-groups.sh --reset-offsets
), CMAK may temporarily report negative lag.Some CMAK versions have known bugs or quirks related to lag calculation, especially under high load or with large offset ranges.
Check CMAK GitHub issues for related bugs (search "negative lag").
Lag calculations can become inconsistent if:
Topics are log-compacted
Partition leadership changes quickly
Consumer group rebalancing is in progress
Ensure consumers commit offsets properly and consistently
Upgrade CMAK – bugs are often fixed in newer versions
Check broker and CMAK server clocks – sync them using NTP
Monitor offset commits and topic configurations
Restart CMAK – sometimes a stale cache can cause issues
Would you like a script or a dashboard tip to track offsets outside of CMAK as a comparison tool?
Are you guys aware how messed up this all is
Maybe
.Shape.Fill.Visible = False
Based on the examples here, you have to call browser.close_tab(tab)
. It works for me.
@Jimi pointed out the problem, using this.Left
, etc. instead of this.ClientRectangle
.
H/T to @Jerermy Richards for the suggestion to look into WPF going forward.
When I try to open Image Asset Studio in Android Studio by right-clicking the app
folder and selecting "New" → "Image Asset", nothing happens. I get the following error in the logs:
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Unknown Source)
at com.android.tools.idea.npw.assetstudio.wizard.GenerateImageAssetPanel.<init>(GenerateImageAssetPanel.java:213)
at com.android.tools.idea.npw.assetstudio.wizard.NewImageAssetStep.<init>(NewImageAssetStep.java:38)
at com.android.tools.idea.npw.actions.NewImageAssetAction.createWizard(NewImageAssetAction.kt:35)
... (full stack trace in question details)
The Image Asset Studio only works when invoked from the res
folder (app/src/main/res
).
This works for me:
I think the tool needs the `res` folder context to know where to generate the assets.
Based on the answer of StackExchange saddens dancek, I have made a short function to watermark an image from text
Within ~/.zshrc
, adding :
watermark() {
if [[ "$1" == "" ]]; then
echo "Error: Watermark text and file missing" >& 2
echo "Usage: $0 <watermark> <file>" >& 2
return 1
elif [[ "$2" == "" ]]; then
echo "Error: File missing" >& 2
echo "Usage: $0 <watermark> <file>" >& 2
return 1
fi
magick -size 260x120 xc:none -fill grey \
-gravity NorthWest -draw "translate 10,10 rotate -15 text 10,10 '$1'" \
-gravity SouthEast -draw "translate 10,10 rotate -15 text 5,15 '$1'" \
miff:- | \
magick composite -tile - "$2" "wmark-$2"
echo "Output: wmark-$2"
}
Example:
$ watermark "My watermark" image.png
Expected output:
you're messing up config/routes/security.yaml with config/packages/security.yaml, they are different files and have different purpose, one is for routing so '_security_logout' part should be here, and the latter one is for configuration so 'firewall' part here.
CREATE TABLE Employee (
employee_id INT AUTO_INCREMENT.
first name VARCHAR(50), last_name VARCHAR(50), email VARCHAR(100), hire date DATE, birth date DATETIME, salary DECIMAL(10, 2),
department_id TINYINT, is active BOOLEAN.
profile picture BLOB, employee_code CHAR(10).
rating FLOAT, created at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (employee_id) );
CREATE TABLE Department (
department_id TINYINT AUTO_INCREMENT, department_name VARCHAR(50), location VARCHAR(50), PRIMARY KEY (department_id) ); output
Seems to have been an issue with the service - e.g., they removed all the datasets after I informed them of the issue.
follow LangGraph instruction to install it on windows, works like a charm
https://github.com/pygraphviz/pygraphviz/blob/main/INSTALL.txt
@CodeChops, can you please guide how did you configure keycloak in server-side and client-side projects ?
You can use Limit/Offset, descripted in official doc
I solved it myself.
I was able to convert the model distributed on TensorFlow Hub to ONNX format by using the following flow:
### Save as tflite format
# -->> for movenet
import tensorflow as tf
import tensorflow_hub as hub
model = tf.keras.Sequential(
[
hub.KerasLayer(
"https://www.kaggle.com/models/google/movenet/TensorFlow2/multipose-lightning/1",
trainable=False,
signature="serving_default",
signature_outputs_as_dict=True,
),
]
)
model.build([1, 256, 256, 3])
model.summary()
model.save("movenet-multipose-lightning")
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
### Convert to ONNX format
$ python -m tf2onnx.convert --tflite converted_model.tflite --output converted_model_nchw_output.onnx --inputs-as-nchw serving_default_keras_layer_input:0
absl-py==2.2.1
astunparse==1.6.3
cachetools==5.5.2
certifi==2025.1.31
charset-normalizer==3.4.1
coloredlogs==15.0.1
flatbuffers==1.12
gast==0.4.0
google-auth==2.38.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
grpcio==1.71.0
h5py==3.13.0
humanfriendly==10.0
idna==3.10
keras==2.9.0
Keras-Preprocessing==1.1.2
libclang==18.1.1
Markdown==3.7
MarkupSafe==3.0.2
mpmath==1.3.0
numpy==1.26.4
oauthlib==3.2.2
onnx==1.14.1
onnx-graphsurgeon==0.5.7
onnx2tf==1.26.9
onnxruntime==1.21.0
opt_einsum==3.4.0
packaging==24.2
protobuf==3.20.3
psutil==7.0.0
pyasn1==0.6.1
pyasn1_modules==0.4.2
requests==2.32.3
requests-oauthlib==2.0.0
rsa==4.9
six==1.17.0
sng4onnx==1.0.4
sympy==1.13.3
tensorboard==2.9.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow==2.9.0
tensorflow-estimator==2.9.0
tensorflow-hub==0.16.1
tensorflow-io-gcs-filesystem==0.37.1
tensorflow-neuron==1.0
termcolor==3.0.0
tf-keras==2.14.1
tf2onnx==1.13.0
typing_extensions==4.13.0
urllib3==2.3.0
Werkzeug==3.1.3
wrapt==1.17.2
The answer to how to fix batch_size is in the answer to the following question:
Solved : How can I save a model with input shape (1, None, None, 3) with None fixed to 256?
A fan trap only needs 2 tables in a 1:m relationship. The parent record gets duplicated over the child records causing aggregations over metrics found in the parent record to be in error. Fortunately, if you define the association in some of the modern BI tools (instead of SQL JOINs) you will get correct results. This is true of Power BI, Tableau & QlikView.
You can add @url to the end of the field reference to just get it as text so you can format your own link so for my requirements with the stripe netsuite connector where I want to use the html field with my own text in it I use
<a href="${record.custbody_stripe_payment_link@url}">Pay Now</a>
and your one would be something like this
<#if result.custitem_dp_image1?length != 0><img src="${result.custitem_dp_image1@url}" style="width: 100px; height: 100px;" /> </#if>
Sometimes you just have to wait a few years for the answer.
This worked for me - the files in the bin folder were marked at read only. I changed that property of the bin folder (and all sub files) and now it compiles.
Use a Browser Extension like Tampermonkey + Custom Script
You can write a userscript using Tampermonkey to intercept network responses.
Steps:
Install Tampermonkey extension in Chrome or Firefox.
Write a script to hook into XMLHttpRequest or fetch calls.
Log or download the response data.
Option 2: Use Puppeteer (Headless Browser Automation with Node.js)
If you want more control or automation outside the browser (like in a script), use Puppeteer:
What it does:
Launches a headless browser
Monitors all network requests/responses
Extracts response bodies
The difference between :where()
and :is()
is that both match elements based on a list of selectors, but :where()
has 0
specificity, while :is()
takes the specificity of the most specific selector inside it.
What worked for me in a similar situation is to give the content the a dent value using a fraction.
.presentationDetents([.fraction(0.95)])
Here's an example from my app:
If monitorEvents is not working, you can log events with the help of "Event Listener Breakpoints". "Event Listener Breakpoints" in the Sources tab will stop code execution when the breakpoint is triggered. This is unhelpful for some events like touchmove.
The code the breakpoint stops at likely has access to the event that was triggered as a parameter. You can log this by adding a 'logpoint' in the line and log the event variable.
You can then then remove the breakpoint and the logpoint will log the events in the console without blocking stopping execution.
Instead of all that -- I downloaded Screaming Frog SEO spider https://www.screamingfrog.co.uk/seo-spider/# and it worked like a charm. It will crawl an archive.org Wayback Machine URL and grab the URLs. First 500 URLs were free.
While @sleeplessnerd's answer may work for os.mkdir()
specifically, there is a better way that seems to be both platform agnostic¹ and requires less overhead than manually mounting it as a drive letter. It uses pathlib.Path()
and the mkdir()
method.
pathlib.Path(r"\\remote\server\path\your_folder").mkdir()
Some useful parameters are parents
, which creates the full file path - every folder in the path - if it doesn't exist and exist_ok=True
, which prevents it from throwing an error if the folder already exists. Some example code:
# if you're making a log directory
LOG_DIR = pathlib.Path(r"\\remote\server\path\logs")
LOG_DIR.mkdir(parents=False, exist_ok=True)
I tested both samples on Python 3.13 64bit and both create an empty folder at the path specified.
¹ I have not tested it on other platforms and as this example uses Windows' file paths, I'm not sure how that would play into remote shares on other operating systems.
The simplest answer is, make sure the Role has AmazonEC2ContainerRegistryReadOnly
and AmazonEKSWorkerNodePolicy
attached, to make it shown in the drop down.
The drop down works by filter role by Policy instead of permission. Even if your role has full admin right, it won't appear in the drop down.
@Pravallika KV
Answered here so I can add screenshots; otherwise, I would have made it a comment:)
I can't get that to work; I tried setting FUNCTIONS_EXTENSION_VERSION; am I missing something?
I created a brand new app, did not load any code, and got version 4.1037.1.1
Then, I went and changed FUNCTIONS_EXTENSTION_VERSION
And now it refuses to come up again
It looks like you problem related to JS Check this file https://sc.apexl.io/wp-content/themes/swim-central-child/scripts/main.js?ver=1.0
$('.card-cell-button').click(function(event) {
event.preventDefault();
var buttonId = $(this).attr('id');
var infoId = 'info-' + buttonId.split('-')[1];
var infoContent = $('#' + infoId).html();
$('#modal-info-content').html(infoContent);
$('#fullscreen-modal').show();
$('body').css('overflow', 'hidden'); //prevent scrolling
});
first try create CSS classes like .color-red, .color-blue, and .color-green with the desired color styles.
Then, in your controller, make sure you correctly assign the status using .includes() instead of .contains(), like this: self.clientStatus = self.filesToUploadClientStatus.includes(WAITING_FOR_UPLOAD) ? 'OK' : 'Error';.
lastly, in your HTML, use ng-class to conditionally apply the color classes based on the status, so the color updates automatically when the status changes.
Use dummy credentials since you are running it locally, the credentials won't be used..
var credentials = new BasicAWSCredentials("fakeMyKeyId", "fakeSecretAccessKey");
Initialize the client and pass the credentials like this:
var client = new AmazonDynamoDBClient(credentials, clientConfig);
If those requests are made on the client-side, there is no 100% secure way to make sure that the one making the request is your React app.
And in case the JWT token is "stolen" and used on Postman to make request, What is the problem? All data must be validated on both ends, client and server, so there shouldn't be a difference between the React app and Postman doing it.
Any "API Token" you send to the a client (user browser) can be extracted by the user. See https://stackoverflow.com/a/57103663 about this
To make sure your API is only used by your app, all API request must be done server-side. That probably means using some kind of React Framework to do server side rendering.
Simple metaphor
Imagine a juice machine:
If you put in an orange, you always get the same juice → deterministic function (same input → same output).
If the machine only squeezes, without noise, without splashing, without polluting around → no edge effect → pure function.
If every time you can replace the machine with just an equivalent bottle of juice, without changing the rest of your kitchen → referential transparency.
Here's an example that demonstrates a working pattern for SSE-based MCP servers and standalone MCP clients that use tools from them.
Setting the application property quarkus.native.auto-service-loader-registration=true
worked for me.
I have written a blog post (and there is an accompanying Github repository with some examples) on this topic.
To address the issue you are facing, I defined a new helper (using kfunc) that does nothing. Then I use this helper function in the XDP program so that the MAP is associated with the program when the verifier is doing its pass. This avoids the error you are getting.