expire desktop_url generated through branch SDK after one time use - branch.io

I want to expire web link ($desktop_url) generated through branch after clicking one time.
I tried using option of $one_time_use setting to true and set type to 1 but it is not working.
I am using https://github.com/BranchMetrics/branch-deep-linking-public-api
for link creation

I'm from Branch.io team. The "$one_time_use" control parameter is not supported anymore. You can use "$link_exp_date" and set the value in epoch date to make the link expire after a particular date.
Once the link expires, it will stop deep linking but will be capable of opening the app and websites.

Related

Issue in submitting and updating the safari extension

I have my safari extension in the gallery.
Now I made few minor changes in my code and then resubmitted it for review (it takes a month to review, :( that is really a long time)
After almost a month, I received an email from safari , that my extension is rejected because of this Issue
Please strip the extended attributes (xattr -c path/to/extension.safariextension) and rebuild your Safari Extension package using the latest version of Safari.
I tried the above command but every time I face the same issue.
and also I am confused that if every time I update my code, I need to resubmit extension for review, then what is the use of this link:
https://developer.apple.com/library/archive/documentation/Tools/Conceptual/SafariExtensionGuide/UpdatingExtensions/UpdatingExtensions.html
also, when I was going through all this, I got an email from safari that my certificate (which is used in extension builder to create .extz file) is going to expire in a month
I created a new certificate and created a new extz file.
but don't know that do I need to resubmit my extension or just update it on webserver.
so basically I have 3 issues/ confusions
Do I need to resubmit extension everytime I update code or just updating extz on web server will work
what do I have to do for this:
"extension description within the Safari extension preference pane appears to be a placeholder"
Safari Extension certificate expires in a year, everyYear I need to resubmit extension or can update extz with new certificate on web server will work
Thanks in Advance
================update======================================
Submitting Extension removing extended attributes is actually resolved
by just running this command from MAC xattr -c path/to/extension.safariextension, and then rebuild and submit.
So, Question 2 is resolved , now I just want to clarify about other 2 parts of my question 1st and 3rd.
Had same issue with this placeholder -issue, fixed by adding/modifying proper Description in Information -section of Extension Builder.

While running event API on Jmeter, the server is updating event on old time frame

What I am doing is, I have recorded a download event from APP on Jmeter, when ever i am running this API on Jmeter, a server where any download event is recorded, is showing OR increment that download on that specific time when it was recorded.
How can I use this to get updated data on server when Jmeter is running.
Also need some information on to how to add different valid users on Jmeter.
Thanks,
Abhi
My expectation is that you pass a hard-coded timestamp as a request parameter so you need to figure out the parameter value and substitute the hard-coded timestamp with __time() function which produces current time in different formats controllable via SimpleDateFormat patterns.
Check out How to Use JMeter Functions article for comprehensive explanation
In regards to adding valid users, normally people stick to users which already exist in the system and use CSV Data Set Config to give each JMeter virtual user unique credentials of the real user.
If your application doesn't have that much users you might want to setup a separate JMeter script to get them created as re-using one login with large number of threads is not a good practice.

How to add custom field type on KeystoneJS 0.4?

I'm currently building an app for TV/Radio program guide and schedule using keystonejs. I need time input field (hour and minute) for it to work. By default keystonejs doesn't give me an option of time field. Only Date and Datetime are available, none of which are suitable for my use case. Keystonejs documentation doesn't really do the job for >0.4. Although, I can spare its sparse documentation since it's still in beta phase
How to create a new Field type which is usable in production app on keystonejs 0.4.3-beta without directly modifying keystonejs node_modules package?
The one that I found on keystonejs wiki (credit card field type), is to create custom field for development only. And it doesn't even translate to admin UI.
Is it possible to add plugin (such as npm clock-input) to use it as field input on keystonejs admin UI?
I'm still thinking of the best way to integrate schedule system in keystonejs admin UI. For now, I'm thinking of creating a List which contains program name, description, days of the week, and time. In this case, some TV program are supposed to be able to have multiple days, and on specific days of the week it has different time (for example: program A being aired from Monday-Thursday on 4PM, and Friday on 7PM).
I think the way I'm currently planning to implement on is a bit messy. Any suggestion of the good way to do this?
note:
I figure #1 out, although I'm still learning on how it actually works.
I ended up using keystone-custom-fieldtypes npm packages to export my custom input field to keystonejs module without manually touching the file (I use igorrafael fork which works for keystonejs >0.4. Since the original package only works for keystonejs 0.3). You can find it here : https://github.com/igorrafael/keystone-custom-fieldtypes.
I managed to duplicate one of the default field type. So currently I have my custom field type boilerplate. Still need to modify a lot of things though.

Why Two Factor Authentication GeneratePin the wrong code?

I've implemented the code from http://satalketo.com/2013/09/mvc-two-factor-authentication/
Two Factor Authentication in ASP.NET MVC
when user register he gets a Secret Key and shown a QRcode he can scan to Google Authenticator,
all works fine and well, accept when the user tries to Log In the system the key always different from the one he enters. function GeneratePin at server side generate different key from that he gets in the Google Authenticator mobile app. I have no idea whats wrong, tried to think maybe time zone isn't correct ,my time zone is Jerusalem UTC + 2
I've looked through my code a fair bit and I can't see any reason why this should be an issue. The only reason that I can come up with is that one of the two devices is more than 30 seconds out of sync with UTC.
I have updated the source code to include checking against the 30 second periods either side of the current one to try and deal with any situations like that.
You can find the updated code on GitHub, which would be the best place to download the entire solution. My article Two Factor Authentication in ASP.NET MVC has been updated to include the code for checking the period either side.
If this doesn't help please let me know with any additional information you can think of.

Script to download Google web history

How does one write a script to download one's Google web history?
I know about
https://www.google.com/history/
https://www.google.com/history/lookup?hl=en&authuser=0&max=1326122791634447
feed:https://www.google.com/history/lookup?month=1&day=9&yr=2011&output=rss
but they fail when called programmatically rather than through a browser.
I wrote up a blog post on how to download your entire Google Web History using a script I put together.
It all works directly within your web browser on the client side (i.e. no data is transmitted to a third-party), and you can download it to a CSV file. You can view the source code here:
http://geeklad.com/tools/google-history/google-history.js
My blog post has a bookmarklet you can use to easily launch the script. It works by accessing the same feed, but performs the iteration of reading the entire history 1000 records at a time, converting it into a CSV string, and making the data downloadable at the touch of a button.
I ran it against my own history, and successfully downloaded over 130K records, which came out to around 30MB when exported to CSV.
EDIT: It seems that number of foks that have used my script have run into problems, likely due to some oddities in their history data. Unfortunately, since the script does everything within the browser, I cannot debug it when it encounters histories that break it. If you're a JavaScript developer, use my script, and it appears your history has caused it to break; please feel free to help me fix it and send me any updates to the code.
I tried GeekLad's system, unfortunately two breaking changes have occurred #1 URL has changed ( I modified and hosted my own copy which led to #2 type=rss arguments no longer works.
I only needed the timestamps... so began the best/worst hack I've written in a while.
Step 1 - https://stackoverflow.com/a/3177718/9908 - Using chrome disable ALL security protocols.
Step 2 - https://gist.github.com/devdave/22b578d562a0dc1a8303
Using contentscript.js and manifest.json, make a chrome extension, host ransack.js locally to whatever service you want ( PHP, Ruby, Python, etc ). Goto https://history.google.com/history/ after installing your contentscript extension in developer mode ( unpacked ). It will automatically inject ransack.js + jQuery into the dom, harvest the data, and then move on to the next "Later" link.
Every 60 seconds, Google will force you to re-login randomly so this is not a start and walk away process BUT it does work and if they up the obfustication ante, you can always resort to chaining Ajax calls and send the page back to the backend for post processing. At full tilt, my abomination script collected 1 page a second of data.
On moral grounds I will not help anyone modify this script to get search terms and results as this process is not sanctioned by Google ( though not blocked apparently ) and recommend it only to sufficiently motivated individuals to make it work for them. By my estimates it took me 3-4 hours to get all 9 years of data ( 90K records ) # 1 page every 900ms or faster.
While this thing is going, DO NOT browse the rest of the web because Chrome is running with no safeguards in place, most of them exist for a reason.
One can download her search logs directly from Google (In case downloading it using a script is not the primary purpose),
Steps:
1) Login and Go to https://history.google.com/history/
2) Just below your profile picture logo, towards the right side, you can find an icon for settings. See the second option called "Download". Click on that.
3) Then click on "Create Archive", then Google will mail you the log within minutes.
maybe before issuing a request to get the feed the script shuld add a User-Agent HTTP header of well known browser, for Google to decide that the request came from that browser.