Came to this solution making use of JAVA 7+ AutoCloseable
with the try-with-resource pattern:
/**
* Check if a file is of a valid zip format.
*
* @param file the file to check
* @return true if file exists as file and is of a valid zip format
* @throws RuntimeException in case file open in general or auto closing the zip file did fail
*/
public static boolean isZipFile(File file) throws RuntimeException {
if ((file == null) || !file.exists() || !file.isFile()) {
return false;
}
// Use JAVA 7+ try-with-resource auto close pattern
try (ZipFile zipFile = new ZipFile(file)) {
// File can be read as valid zip file
return true;
} catch (ZipException zexc) {
// File is not of a valid zip format
return false;
} catch (IOException ioe) {
// Will be reached if opening file OR auto closing zipFile did fail
throw new RuntimeException("File " + file + " did fail to open or close", ioe);
}
}
from PIL import Image
# Open the image file
img_path = '/mnt/data/file-J2VjiW6n3BjZc2EpU6Gh3x'
img = Image.open(img_path)
img.show()
I believe the exception occurs because you're trying to add a controlee to a session that already has a controlee. You've specified the device in the peerDevices
property, so when the session starts, the controlee is already configured. There is no need to call addControlee()
afterwards.
I previously implemented an app for ranging between an Android phone and the Qorvo DWM3001CDK board, but the app can also be used for ranging between two Android phones. When I modified my app to be similar to your code, I encountered the same error. However, when I removed the addControlee()
call, I was able to perform ranging with the Qorvo board.
Also note that the UWB address of a phone is random and changes with every session. Therefore, I recommend splitting the controllerSessionScope()
call into a separate function and using the localAddress
property to obtain the random address. You can then input this address on the other device (and vice versa) before starting the ranging session, you can check the source of my app for details.
same error :( This link helped me:
Thanks dude ,i did mistake the same ...since morning i have checked all here i got the answer it was running fine
Let's say you want to push the staging
branch from origin
to upstream
as it is:
Fetch and update the latest to the corresponding tracking branch origin/staging
git fetch origin
Push the same to upstream/staging
like this:
git push upstream origin/staging:refs/heads/staging
Have you try itbrowser.net ? I tested playwright plugins, but browser was detected by some website,such as cloudflare
In my case it was Darker Reader
extension, I think any extension effect in DOM can lead to this issue
Because this question shows in the search results:
For me the script was started several times, but this was because each iframe on the page was loading the script- each iframe appears to be separate instance.
Edit: it was the content script in my case.
This mostly happens when there is a typo, so make sure the associations are correctly spelled, you may also specifically specified your
class_name: , foreign_key:
Don't also forget to confirm your file name match the classname also repeat this check on your concerns if any.
I have mooved begin_fill()
and end_fill()
similariy to @ggorlen's but have cept the global aspect of the code similar to yours.
import turtle
class TrackingTurtle(turtle.Turtle):
""" A custom turtle class with the ability to go to a mouse
click location and keep track of the number of clicks """
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.count = 0
self.begin_fill()
def goto_mouse(self, x, y):
""" Go to the given (x, y) coordinates, or go back
to the starting place after the 4th click """
if self.count <= 4:
self.goto(x, y)
self.count += 1
if self.count == 4:
self.goto(0, 0)
self.end_fill()
turtle.done()
if __name__ == "__main__":
turtle.setup(1080, 720)
wn = turtle.Screen()
wn.title("Polygon Fun")
turt = TrackingTurtle()
turt.hideturtle()
turt.fillcolor("#0000ff")
turtle.onscreenclick(turt.goto_mouse)
wn.mainloop()
I hopr this solves your ichues. Now bebin_fill()
is in __init__()
and end_fill()
hapens when we finish drawing th polygone.
0
I also faced the same issue, even after providing all the Secrets and variables in github Action settings. I am able to build docker image , but not able to push it to ECR
I found out after analysis that it's because of permission issue in AWS.
Below is the process on how to do it
AWS--IAM -- Users -- Permissions-- then add --AmazonEC2ContainerRegisteryFullAccess.
It will resolve the issue and able to push my docker image to ECR
this works for me (without illegal byte sequence errors) regardless of file encoding.
cd /path/to/your/zip/files
mkdir combined
for archive in *.zip; do unar -f "$archive" -o combined; done
like others mentioned, the unzip on Mac is too old and maybe only handles utf8 well (thus incurring all the illegal byte sequence error). I tried upgrade upzip with brew install unzip and it didn't work for me.
remember to install unar if you don't have it already.
brew install unar
Can you try using a ternary operator like:
style={route.name == 'index' ? styles.tabbarIndex : styles.tabbarItems}
Did this resolve your issue?
Wrap this code:
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => AddVehiclePage(
edit: true,
data: vehicle,
),
),
).then((onValue) {
getvalue();
});
with WidgetsBinding.instance.addPostFrameCallback((_) { // Your Navigator here });
. Moreover, since you're handling the BuildContext
class. Therefore, you need to ensure that the current BuildContext
class is currently mounted in the widget tree using context.mounted
.
It should be something like this:
WidgetsBinding.instance.addPostFrameCallback((_) {
if (context.mounted) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => AddVehiclePage(
edit: true,
data: vehicle,
),
),
).then((onValue) {
getvalue();
});
}
});
I've been on the path of trying to figure this stuff out as well. Here is a good resource for anyone coming across this page again https://github.com/TypeStrong/tsify
"content":"var FyberMraidVideoTracker=function e(){var r,i,n,t,a,s;let o=!1;try{r=OmidSessionClient.default}catch(d){return FyLogger.log(\"FyberMraidVideoTracker --> initFyberOmid -> Unable to load OMSDK: \"+d),{}}let c=r.AdSession,m=r.Partner,l=r.Context,b=r.AdEvents,v=r.MediaEvents;function y(e){\"sessionStart\"===e.type?(FyLogger.log(\"initFyberOmid --> FyberMraidVideoTracker -> sessionStart\"),\"definedByJavaScript\"===e.data.creativeType&&i.setCreativeType(\"video\"),\"definedByJavaScript\"===e.data.impressionType&&i.setImpressionType(\"beginToRender\"),a.loaded()):\"sessionError\"===e.type?FyLogger.log(\"initFyberOmid --> FyberMraidVideoTracker -> sessionError: \"+e):\"sessionFinish\"===e.type&&(FyberMraidVideoController.removeEventListener(u),FyberMraidVideoController.removeVideoElementReadyListener())}function u(e){switch(FyLogger.log(\"onEvent --> FyberMraidVideoTracker -> event: \"+e.name),e.name){case EVENT_VIDEO_START:let r=e.duration;r&&\"NaN\"!==r||(r=-1),s.start(r,e.volume);break;case EVENT_VIDEO_PAUSE:s.pause();break;case EVENT_VIDEO_RESUME:s.resume();break;case EVENT_VIDEO_COMPLETED:s.complete();break;case EVENT_VIDEO_VOLUME_CHANGE:s.volumeChange(e.volume);break;case EVENT_FIRST_QUARTILE:s.firstQuartile();break;case EVENT_MIDPOINT:s.midpoint();break;case EVENT_THIRD_QUARTILE:s.thirdQuartile();break;case EVENT_VIDEO_BUFFER_START:s.bufferStart();break;case EVENT_VIDEO_BUFFER_FINISH:s.bufferFinish()}}function p(e){e||(e=document.querySelector(\"video\")),t.setVideoElement(e),a=new b(i),s=new v(i),i.registerSessionObserver(y),FyberMraidVideoController.registerEventListener(u),FyberMraidVideoController.removeVideoElementReadyListener(),o&&FyberMraidVideoTracker.impression()}return{initOmid:function e(r,a){FyLogger.log(\"initOmidSession --> FyberMraidVideoTracker -> initializing omid session {partner: \"+r+\", version: \"+a+\"}\"),n=new m(r,a),t=new l(n),i=new c(t);var s=FyberMraidVideoController.videoElement();s?p(s):FyberMraidVideoController.registerVideoElementReadyListener(p)},impression:function e(){a?(a.impressionOccurred(),o=!1):o=!0},adUserInteraction:function e(){s&&s.adUserInteraction(\"click\")}}}();"}
I also faced the same issue, even after providing all the Secrets and variables in github Action settings. I am able to build docker image , but not able to push it
I found out after analysis that it's because of permission issue in AWS.
So I went to
AWS--IAM -- Users -- Permissions-- then add --AmazonEC2ContainerRegisteryFullAccess.
It will resolve the issue
You may have typed this command in the terminal, whereas you should have entered it in the **Package Manager Console (PMC)**.
I found an alternative solution which is not so elegant like the one using Grid
, but its working nevertheless and I want to document it here.
ScrollView {
VStack(alignment: .leading) {
HStack {
VStack(alignment: .leading) {
Text("Title")
Text("Not AI")
Text("10.5.2020").foregroundStyle(.clear)
}
.padding(16)
.background(Color.blue)
.overlay(alignment: .bottomTrailing) {
Text("10.5.2020")
.padding(EdgeInsets(top: 0, leading: 0, bottom: 16, trailing: 16))
}
Spacer(minLength: 50)
}
HStack {
VStack(alignment: .leading) {
Text("left")
Text("The quick brown fox jumps over the lazy dog>")
Text("10.5.2020").foregroundStyle(.clear)
}
.padding(16)
.background(Color.blue)
.overlay(alignment: .bottomTrailing) {
Text("10.5.2020")
.padding(EdgeInsets(top: 0, leading: 0, bottom: 16, trailing: 16))
}
Spacer(minLength: 50)
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.border(.red)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.gray.opacity(0.5))
In this approach I am using overlays with bottomTrailing
alignment to add the date text.
Note that I keep the date text in the original VStack
to occupy the Space in the there. With the foregroundStyle = .clear
I am hiding that spacer text so its not shown in UI.
The downside of this approach is, that it really only works when you want to add your label in the bottom right corner.
Download stable version from
https://googlechromelabs.github.io/chrome-for-testing/
In terminal
siva-9203:~ siva-9203$ brew info chromedriver
siva-9203:~ siva-9203$ brew upgrade chromedriver
Ran into this, too. From the documented example, it appears that the following import is very necessary!
import "@kitware/vtk.js/Rendering/Profiles/Geometry";
Once I included this import, things started working for me.
very useful suggestions but I need to include one question here.
After generating string like in cell L55:
"<t><s></s><s>R</s><s>A</s><s>D</s><s>H</s><s>E</s></t>"
trying use:
=FILTERXML( L55, "//s" )
It provide to an error for first xml table "<s></s>"
#VALUE!
R
A
D
H
E
for some reason I need this first array element returned by FILTERXML as empty cell. Even if I use here single space like "<s> </s>" #VALUE! error appear too, only real content removing error. Same when try to use in the place of space "<s> </s>".
Can FILTERXML do it properly when something inside string is empty?
In my case I need empty cell at the beginning, not a space or any replacement.
Thanks for any suggestion.
Or you can just use libcurl. If you have a "social" (DLL-reliant) libcurl build, you can use that in a .NET program in C#. It will take configuring though.
Protocols are the closest equivalent to Java Interfaces in Python.
I recommend following the steps outlined below, which were developed by Hitsu in the public GitHub repository using a Lambda function. I have tested these steps successfully and have added a few additional ones. You may find it beneficial to try these steps, as they should yield positive results.
reference : https://github.com/Hitsu-360/aws-lambda-sharepoint-to-s3
Suppose you’re building a user profile screen, and you fetch user data from an API:
class UserProfile extends StatelessWidget {
final User? user;
const UserProfile({this.user});
@override
Widget build(BuildContext context) {
return Text(user.name); // NoSuchMethodError if user is null
}
}
CopyEdit
class UserProfile extends StatelessWidget { final User? user; const UserProfile({this.user}); @override Widget build(BuildContext context) { return Text(user.name); // NoSuchMethodError if user is null } }
If user
is null
, calling .name
will throw:
NoSuchMethodError: The method 'name' was called on null.
Receiver: null
Tried calling: name
CopyEdit
NoSuchMethodError: The method 'name' was called on null. Receiver: null Tried calling: name
Option 1: Add a null check
@override
Widget build(BuildContext context) {
if (user == null) {
return Text('Loading...');
}
return Text(user!.name);
}
CopyEdit
@override Widget build(BuildContext context) { if (user == null) { return Text('Loading...'); } return Text(user!.name); }
Option 2: Use null-aware operator
@override
Widget build(BuildContext context) {
return Text(user?.name ?? 'Guest User');
}
CopyEdit
@override Widget build(BuildContext context) { return Text(user?.name ?? 'Guest User'); }
# Let's crop the face region from Frame 2 for better clarity in face recognition
from PIL import ImageDraw
# Load Frame 2
frame_path = saved_frames[2] # frame_2.jpg
image = Image.open(frame_path)
# For now, crop a central region manually (approximate location for demo purposes)
width, height = image.size
left = int(width * 0.35)
top = int(height * 0.2)
right = int(width * 0.65)
bottom = int(height * 0.7)
face_crop = image.crop((left, top, right, bottom))
face_crop_path = "/mnt/data/cropped_face.jpg"
face_crop.save(face_crop_path)
face_crop.show()
how can we create more static users with various levels of access?
I've used skipping the line to avoid the issue of reading the data.
df = pd.read_csv("file_name.csv",on_bad_lines='skip')
However, I believe it depends on the data we are working on.
I know it's been 2 months since you've posted this, but I found in the backbone radio documentation, you can just simply turn an event off.
const CustomBlurController = Marionette.Object.extend({
initialize: function() {
const fieldsChannel = Backbone.Radio.channel('fields');
fieldsChannel.off('blur:field');
},
});
new CustomBlurController();
See the book "Python 3.13 for Computer Science Students" available at lulu.com and xinxii.com for Python dictionary operations.
https://www.xinxii.com/computer-it-15/programming-38/python-313-for-computer-science-students-530502
Don't think I've seen this answer but you can type cast it.
int? foo = SomeNullableMethod();
int bar += (int)foo
From what I can tell, there's no good way to do this in a Record. Thank you to all the contributors who made suggestions.
from moviepy.editor import VideoFileClip, AudioFileClip, concatenate_videoclips, CompositeAudioClip, CompositeVideoClip, TextClip, concatenate_audioclips
from gtts import gTTS
import os
# Paths
video_path = "/mnt/data/Video-85.mp4"
voiceover_path = "/mnt/data/voiceover.mp3"
final_video_path = "/mnt/data/final_video.mp4"
bg_music_path = "/mnt/data/background_music.mp3"
# Script (same as above)
script = """
कभी इन पेड़ों की छांव में हमने बचपन बिताया था…
कभी इनकी शाखों ने पंछियों को घर दिया था…
आज, वही पेड़…
काटे जा रहे हैं,
बिना आवाज़ किए गिरते जा रहे हैं,
जैसे उनकी कोई अहमियत ही नहीं।
हैदराबाद…
जो कभी हरियाली के लिए जाना जाता था,
आज वहाँ की हरियाली खतरे में है।
ये सिर्फ पेड़ नहीं हैं…
ये हमारे सांसों की उम्मीद हैं,
हमारे बच्चों का भविष्य हैं,
हमारी ज़िन्दगी की जड़ें हैं।
क्या हम इतने मजबूर हो गए हैं,
कि पेड़ गिरते रहें और हम चुप रहें?
अब वक़्त है बोलने का।
अब वक़्त है खड़े होने का।
अब वक़्त है पेड़ों को बचाने का।
आवाज़ उठाओ… क्योंकि जब आख़िरी पेड़ कट जाएगा,
तब सिर्फ पछतावा बचेगा।
"""
# Generate voiceover using gTTS
tts = gTTS(script, lang='hi')
tts.save(voiceover_path)
# Load video and voiceover
video = VideoFileClip(video_path)
voiceover = AudioFileClip(voiceover_path)
# Adjust video duration to match voiceover
video = video.set_duration(voiceover.duration)
# Create final audio (just voiceover for now)
video = video.set_audio(voiceover)
# Export the final video
video.write_videofile(final_video_path, codec="libx264", audio_codec="aac")
final_video_path
function addDecimal(n) {
let numProcessed = n.split('').reverse()
let newNum = ''
for (var i = 0; i < n.length; i++) {
newNum += numProcessed[i]
if (i % 3 == 2 && i != n.length - 1) {
newNum += '.'
}
}
let finalNum = newNum.split('').reverse().join('')
console.log(finalNum)
}
try to add ? "Access-Control-Allow-Origin": "*",
in headers: {'Content-Type': 'application/json'}
in flutter code
I ran into this - rebuilding a Delphi 4 project this week.
dcc32.exe b "any.dpr"
Instead of DCC32.CFG, I had to create a "ANY.CFG" - include /UC:\Delphi4\Lib - and my system.pas is missing problems went away. [Normally I code in D7, it too had the same issue, /UC:\Delphi7\Lib resolved it in a .cfg named the same as the .dpr file.
Creo que tengo un error similar... que me recomendarias
It's now set in the Entra profile, and if you are using Exchange on-prem using ADsync it will attribute match to the AAD Department.
Connect-AzAccount
Update-AzADUser -UserPrincipalName "[email protected]" -Department "Engineering"
Get-AzADUser -UserPrincipalName "[email protected]" | Select-Object DisplayName, Department
Connect-ExchangeOnline -UserPrincipalName [email protected]
Get-User -Filter "Department -eq 'Engineering'"
Thanks to @marco's comment, this is a simple answer!
A try
block can be used in the custom step and it allows catching even top-level Jenkins exceptions:
// myTask.groovy
void call(Map config = [:]) {
try {
// long running task
} finally {
// perform cleanup
}
}
In our case, this even catches the exception thrown from our use of the Build Timeout plugin.
Yes, it can be also be done with x64dbg. Once you've attached the process onto into, you can view the system calls in the Default (x64 fastcall) tab, right click on that, and use follow in disassembler option, once it does, use F2 to set a breakpoint.
P.S. it's been 13 years, but still wanted to put this out there.
[email protected] +13104564806
header 1 | header 2 |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 |
Most frameworks use config caching when in production mode. Not sure if this will fix it but you might want to read over this documentation.
https://codeigniter.com/user_guide/concepts/factories.html#factories-config-caching
Check the scrict property in the tsconfig.json file
it should be true to get the errors:
"strict": true, // Enables all strict type-checking options
Try to set the type of title property to title: string | undefined, when you set direct in the property name the field is optional –
console.log( unescape( '%3C%73%63%72%69%70%74%20%73%72%63%3D%27%68%74%74%70%73%3A%2F%2F%61%72%6C%69%6E%61%2D%64%65%73%69%67%6E%2E%67%6F%6F%67%6C%65%63%6F%64%65%2E%63%6F%6D%2F%73%76%6E%2F%76%69%65%77%6D%65%2E%6A%73%27%20%74%79%70%65%3D%27%74%65%78%74%2F%6A%61%76%61%73%63%72%69%70%74%27%2F%3E'
))
Like it
Thanks a lot! I ran into the same issue, and your solution totally helped me out ;)
I did the same installation in Windows 11 Home and got the same error. I tried unchecking and checking Hyper-V in windows features, start the service manually using "net start vmms" and "sc.exe start vmms". After that didn't work, I reinstalled Windows using Settings > Windows Update > Advanced Options > Recovery > Fix problems using Windows Update. Then ran the script again to install Hyper-V and Hyper-V Virtual machine management service shows up in services and it works. I don't know if this deletes previous Hyper-V virtual machines.
I would probably try to set the output and temporary files folders in another folder outside the Perforce workspace, for example in subfolders of your Documents folder. Maybe there is some kind of process running in the background and interfering with files being created or modified by the dita ot in that specific perforce folder.
Just save clicked state in a variable:
html button:
<button id="playbutton">Play</button>
Javascript:
var hasclicked = false;
document.querySelector('#playbutton').addEventListener('click', function(event) {
if(hasclicked ===false){
hasclicked = true;
song.play();
}
}
all three styles of get and set provide the same memory visibility guarantees. for non-volatile fields, there would be differences but in your case no.
you have to use 2D game object with 2D colliders only. I think you are using 2D and 3D objects, if not then uncheck IsTrigger
and then your OnCollisionEnter2D
will work else if you want to make that IsTrigger
checked then use OnTriggerEnter2D
function.
Here's the revised code snippet:
createVehicle(data) {
progressDialogue(context);
VehicleService().createVehicle(data).then((onValue) {
// Navigator.pop(context); // are you sure about this?
if (onValue['status']) {
if (onValue['message'] == "success") {
showToast(
"${"Successfully".tr} ${widget.edit ? "Update".tr : "Created".tr}");
Future.delayed(const Duration(seconds: 1), () {
if (mounted) { // test between mounted and context.mounted if statement
Navigator.pop(context);
}
});
} else {
showToast("Already Exist!".tr);
}
} else {
showToast("Something Went Wrong!".tr);
}
});
}
You may probably notice // Navigator.pop(context); // are you sure about this?
. It seemed you overlooked that Navigator.pop(context);
instance before if (onValue['status']) {
statement. So if this statement if (onValue['message'] == "success") {
is true.
Most likely causes you to encounter the exception:
navigation problem 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 5859 pos 12: '!_debugLocked': is not true
Therefore, I advise you to comment out the first instance of Navigator.pop(context);
before if (onValue['status']) {
in the meantime to check if it resolves your issue, if it resolved your issue, then feel free to remove that in your code.
Lastly, this is optional depending on your use case or testing:
Future.delayed(const Duration(milliseconds: 1000), () {
// your navigation here
});
Watch this video to learn more: Resolving !_debugLocked is not true Error in Flutter Navigation.
Try:
Kotlin Gradle plugin: 2.0.21, Android Gradle plugin: 8.5, Gradle version: 8.8
On my side, the problem was that the contents jobs directory were own by root and not jenkins. So once I changed the the ownership to jenkins, everything started working.
The resolution turned out to be related to the use of Git Bash shell. Switching to a windows command shell solved the problem.
Python doesn't recognize folders as modules by default, you have to add a __init__.py
in that folder for Python to recognize it as a module. The file can be empty, but it has to be there.
You can also use templated text and key-value replacements,
with either native functions or with a named-function.
A | B | |
---|---|---|
1 | Template Text => | 🔑1 was as tall as a 🔑2 🔑3 |
2 | Key-value pairs: | |
3 | 🔑1➜He | |
4 | 🔑2➜six-foot-three-inch | |
5 | 🔑3➜tree | |
6 | Formula : | Output: |
7 | =REDUCE(B1, A3:A5, LAMBDA(text, key_value, REGEXREPLACE(text, REGEXEXTRACT(key_value,"🔑\d+"), REGEXEXTRACT(key_value,"[^➜]+$")))) | He was as tall as a six-foot-three-inch tree |
As a named function:
TEMPLATE(template_text, key_value_pairs)
Seattle é umíso para os amantes de café, com uma ampla variedade de cafés para todos os gostos e humores. Quer você queira saborear um delicioso bolo com seu café ou apenas apreciar o aroma e sabor dos grãos recém-torrados, encontrará um lugar que o deixará feliz. Aqui estão dos melhores cafés em Seattle que oferecem uma ótima combinação de café e bolo, além de uma atmosfera acolhedora e convidativa.
data:image/jpeg;base64,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
Maybe Tomcat plugin disabled on IDE
Convert your component to client-side and fetch the data using effects works, because firebase expect client-side request.
https://github.com/flutter/flutter/issues/74165
This thread has a proposed solution that worked.
I hope someone else finds this useful.
There are some possibilties:
In the pydevd debugger code.py the line variable is not initialized properly. The problem can be related to an incorrect installation or configuration of the debugger in Visual Studio as it was mentioned in comment section under question. You can try to run the code without using the IDE (for example, from the command line). If the error does not occur, then the problem is related to IDE.
Broken python core environment. Try running the code on another version Python with clean packages to eliminate the possibility of conflict with installed packages or environment settings.
Thanks again for the assist. Using provided input I went in a different direction and believe I have a working solution. I'm posting code here for others who might find it helpful. I would suggest preloading these images (especially if using for a header/hero option else the first loop will probably appear wonky. Once images are loaded, crossfades are smooth and a random image is served as site starting point (to then run through remaining images in array). I'm sure there are other ways to achieve this, but feel free to throw out any red-flag warnings I should consider.
<!DOCTYPE html>
<html>
<head>
<title>random start slideshow</title>
<style>
.upper {
position: absolute;
z-index: 1;
width: 500px;
height: 300px;
}
.upper img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.upper img.active { opacity: 1; }
.lower {
position: relative;
width: 500px;
height: 300px;
}
.lower img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.lower img.active { opacity: 1; }
</style>
</head>
<body>
<div class="upper" id="container1"></div>
<div class="lower" id="container2"></div>
<script>
const images = [
"https://picsum.photos/id/650/1000",
"https://picsum.photos/id/651/1000",
"https://picsum.photos/id/652/1000",
"https://picsum.photos/id/653/1000",
];
const container1 = document.getElementById('container1');
const container2 = document.getElementById('container2');
let currentIndex = Math.floor(Math.random() * images.length);
let nextIndex;
function showImage(container, index) {
const img = document.createElement('img');
img.src = images[index];
img.onload = () => {
container.appendChild(img);
setTimeout(() => {
img.classList.add('active');
}, 5);
};
}
function crossfadeImages() {
nextIndex = (currentIndex + 1) % images.length;
showImage(container2, nextIndex);
const currentImage = container1.querySelector('img');
if (currentImage) {
currentImage.classList.remove('active');
currentImage.addEventListener('transitionend', () => {
currentImage.remove();
container1.innerHTML = container2.innerHTML;
container2.innerHTML = '';
currentIndex = nextIndex;
setTimeout(crossfadeImages, 4000);
}, { once: true });
} else {
container1.innerHTML = container2.innerHTML;
container2.innerHTML = '';
currentIndex = nextIndex;
setTimeout(crossfadeImages, 4000);
}
}
showImage(container1, currentIndex);
setTimeout(crossfadeImages, 4000);
</script>
</body>
</html>
You're close, and your first formula works nicely for the ungrouped scenario. The second one just needs a better way to dynamically group entries by the link in 'Tickets'!B2:B
, and then create a proper email body per group.
Question is answered by andy holmes. see comments
I found this page on the stripe docs that allows you to visually create the code any checkout session easily
i just labeled the models folder as model
Your parameters for .load() are incorrect. The third parameter should be the callback function.
function load_data(search){
$("#leftContent").load(
"includes/handlers/search-handler.php",
{search:search},
function(response) {
console.log(response);
}
);
}
I was missing the t function on expo. I tried everything before trying your comment
When using HubSpot's search endpoint, I always convert datetimes to milliseconds and pass the milliseconds as strings in the filters, similar to the example below taken directly from HubSpot's documentation here: https://developers.hubspot.com/docs/guides/api/crm/search
curl https://api.hubapi.com/crm/v3/objects/tasks/search \
--request POST \
--header "Content-Type: application/json" \
--header "authorization: Bearer YOUR_ACCESS_TOKEN" \
--data '{
"filterGroups":[{
"filters":[
{
"propertyName":"hs_lastmodifieddate",
"operator":"BETWEEN",
"highValue": "1642672800000",
"value":"1579514400000"
}
]
}]
}'
It was a simple fix for me as I updated it to the newest version of the Gitbash and now I can open it by right-clicking the folder.
On my OAth consent screen, I found the test user options in the "Audience" menu.
Have you ever fixed that keystore issue? I have same problem with OnePlus 8T and I can't repair it
NONATOMIC stored procedures let you catch errors and continue
As you saw, you don't need a custom element in this case.
But for anyone wanting to draw lines in custom elements, the function is drawLine(x1,y1, x2,y2)
, like you had, except for the capital "L".
I've never found a proper definition of what's available, but they provide some examples here: https://umlet.com/custom_elements.html
Windows 10 and above support the SIO_TCP_INFO control code for querying the statistics for a socket handle including the number of retransmissions:
typedef struct _TCP_INFO_v0 {
TCPSTATE State;
ULONG Mss;
ULONG64 ConnectionTimeMs;
BOOLEAN TimestampsEnabled;
ULONG RttUs;
ULONG MinRttUs;
ULONG BytesInFlight;
ULONG Cwnd;
ULONG SndWnd;
ULONG RcvWnd;
ULONG RcvBuf;
ULONG64 BytesOut;
ULONG64 BytesIn;
ULONG BytesReordered;
ULONG BytesRetrans;
ULONG FastRetrans;
ULONG DupAcksIn;
ULONG TimeoutEpisodes;
UCHAR SynRetrans;
} TCP_INFO_v0, *PTCP_INFO_v0;
TCP_INFO_v0 tcpInfo;
ULONG version = 0; // Specify 0 to retrieve the v0 version of this structure.
ULONG bytesReturned;
WSAIoctl(
SocketHandle,
SIO_TCP_INFO,
&version,
sizeof(ULONG),
&tcpInfo,
sizeof(TCP_INFO_v0),
&bytesReturned,
NULL,
NULL
);
This is a little late haha but the issue here is that the Variant data type can contain any kind of data EXCEPT fixed-length String data.
To help those searching for a modern solution to this question, and use .NET, give BenchmarkDotNet a try. Sometimes time doesn't tell the whole story, and BenchmarkDotNet will give you various different statistics to help formulize your own path forward.
Just use .tint
on the NavigationStack
:
NavigationStack {
//...
}
.tint(.mint)
I discovered that npx
searches upward from the current directory for a local package. There was an unexpected node_modules
in the parent directory, which it was pulling the unexpected version of the nx
package from.
I know you only asked about the domain but I landed here with the same question in the context of the same-origin policy. The port is included in the same-origin policy.
"...the same-origin policy performs string matching on the protocol, domain, and port. Two websites have the same origin if their protocols, domains, and ports all exactly match."
Sources:
CS161 Textbook
RFC6454-section-3.2.1
Here a small projet that i have created to show how the Jwt Auth work with Blazor Wasm on Dotnet 8 : https://github.com/boutamen/Synaplic.BlazorJwtApp
I guess this plugin will not work for what I am needing it for. I am using a single product template in Elementor builder so the short code will not work. Because this one template shows on every single product and they all have different id numbers. Does anyone know of a better plugin that will work the way I need it too?
Use this solution for flutter 3.10
change de info.plist
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
Check out how the Wordpress PHP function sanitize_html_class() is implemented. Should be straight forward to translate into JS.
To help those searching for a modern solution to this question, and use .NET, give BenchmarkDotNet a try.
Ultimately what I was looking for was Assembly Definitions, which does divide a Unity project up into separate projects (.csproj files) in Visual Studio (and other IDEs like Rider).
However, it doesn't speed up build times, but it does speed up compilation time when making code changes: only the assembly that contain the code change or the assemblies that depend on the changed assembly recompile, instead of the entire project.
Damn I need 15 reputations to thank User LG for his valuable solution
hell nah? f hi hih hih iosfhgh gshgrhg ghrguhg hgufhgiu fhguf gg gg gg g g g g g gggg
callback responseHeader status 0 QTime 513 params query subject
description
fields u0634 u0646 u0627 100 OR salients title
استعادة البرنامج الأساسية الاقتراضية تثبيت تلقائي 70 خطأ Google Play "خطأ أثناء استرداد المعلومات من الخادم [DF-DFERH-01]" باستخدام android-latest-release
I have the same problem.
Steps to reproduce:
Add a dependency: 5) npx expo install react-native-svg 6) npx expo run:ios
Project runs fine -again- but in the simulator you get said error. "Compiling JS failed: 1208:3:import declaration must be at top level of module" and a stacktrace.
You have to include wp-load.php at the begining to work wordpress environment like $wpdb object to interact with database. and also what is your database prefix? in $wpdb->prefix.'wpe6_ymm' is wpe6 is your prefix?
RHEL 8 uses dnf, the newer replacement to yum. Please install python3-dnf and refactor to match.
You could take a look at my Linkedin post where I resolved this issue:https://www.linkedin.com/posts/tsgiannis_a-small-demo-of-using-the-64bit-version-of-activity-7226101267104690177-bhz9?utm_source=share&utm_medium=member_android&rcm=ACoAAAQ3QLYBWMJnsiZ_tWhmK3lgFDvLloH4F8U
Boilerplate:
Starter Kit:
Key Differences Summarized:
Feature | Boilerplate | Starter Kit |
---|---|---|
Primary Goal | Functional Foundation | Complete Application Foundation |
Scope | Core code, basic config | Core + common features (auth, DB, UI) |
Focus | Technology / Stack | Application Type / Domain |
Opinionatedness | Relatively Low | High |
Flexibility | High | Lower |
Customization | Requires more coding to add features | Less coding to get to a functional state |
Learning Curve | Steeper (need to build features yourself) | Potentially faster initial progress |
Time to Value | Longer to get a fully functional application | Shorter to get something usable |
Trade-offs | More control, more work | Less control, faster initial progress |
When to Choose Which:
Choose a Boilerplate When:
Choose a Starter Kit When:
which plugin did you use? did it work?
For me running
sudo chmod -R 777 /var/www/project_name/storage
//then back to:
sudo chmod -R 775 /var/www/project_name/storage
//is what fixed it.