<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lingfish</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lingfish"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Lingfish"/>
	<updated>2026-04-30T15:51:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_WebOS_Bypassing_Lock_Screen&amp;diff=21023</id>
		<title>Patch WebOS Bypassing Lock Screen</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_WebOS_Bypassing_Lock_Screen&amp;diff=21023"/>
		<updated>2011-12-26T01:33:06Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
== webOS 2.2 and newer ==&lt;br /&gt;
&lt;br /&gt;
(I think this changed from 2.2 onwards?)&lt;br /&gt;
&lt;br /&gt;
=== About ===&lt;br /&gt;
&lt;br /&gt;
Since the 1.1 update (see [[#About_2|About]]), upon connecting an e-mail account to Exchange (EAS), if a policy enforcement exists on that server, it will be enforced on the webOS device as well.&lt;br /&gt;
&lt;br /&gt;
=== Modification ===&lt;br /&gt;
&lt;br /&gt;
The place to bypass the PIN in the codebase has changed quite a bit -- the patch is now done to &amp;lt;tt&amp;gt;com.palm.app.phone/phoneAppPinCode/source/PhonePinCard.js&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Conveniently, the webOS team left a nice, simple way to bypass it all around line 66:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                // DEFAULT: just handle known launch mode&lt;br /&gt;
                } else {&lt;br /&gt;
                        //always unlock - for testing&lt;br /&gt;
                        //this.$.updatePinAppState.call({state: 'unlock'}); return;&lt;br /&gt;
&lt;br /&gt;
                        this.handleLaunchLockMode();&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== webOS 2.1 and older ==&lt;br /&gt;
&lt;br /&gt;
=== About ===&lt;br /&gt;
The 1.1 update allowed me to connect to Exchange (EAS) with a policy enforced.  Of course, having my screen lock every single time I turn off the screen seems a little harsh.  The policy asks for a 10-minute timeout, but the way it's implemented in WebOS, the screen locks whenever the screen turns off.  &lt;br /&gt;
&lt;br /&gt;
=== Modification ===&lt;br /&gt;
&lt;br /&gt;
Below is a modification to automatically unlock the screen. This method seems to still work with the 1.3.5 update.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;pre&amp;gt;/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Immediately after &amp;quot; setup: function() { &amp;quot;  (line 32 in 1.1, line 33 in 1.3.1 and 1.3.5, line number may vary in other versions)&lt;br /&gt;
&lt;br /&gt;
add the line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.unlock(); return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What you've done is edit the &amp;quot;setup&amp;quot; function to immediately call the unlock function and return (skipping anything else it would normally do).&lt;br /&gt;
&lt;br /&gt;
Reboot, and your screen should automatically unlock as soon as you slide it open.&lt;br /&gt;
&lt;br /&gt;
Should work like a charm!&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_WebOS_Bypassing_Lock_Screen&amp;diff=21021</id>
		<title>Patch WebOS Bypassing Lock Screen</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_WebOS_Bypassing_Lock_Screen&amp;diff=21021"/>
		<updated>2011-12-26T01:32:22Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
== webOS 2.2 and newer ==&lt;br /&gt;
&lt;br /&gt;
(I think this changed from 2.2 onwards?)&lt;br /&gt;
&lt;br /&gt;
=== About ===&lt;br /&gt;
&lt;br /&gt;
Since the 1.1 update (see [[#About_2|About]]), upon connecting an e-mail account to Exchange (EAS), if a policy enforcement exists on that server, it will be enforced on the webOS device as well.&lt;br /&gt;
&lt;br /&gt;
=== Modification ===&lt;br /&gt;
&lt;br /&gt;
The place to bypass the PIN in the codebase has changed quite a bit -- the patch is now done to &amp;lt;pre&amp;gt;com.palm.app.phone/phoneAppPinCode/source/PhonePinCard.js&amp;lt;/pre&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Conveniently, the webOS team left a nice, simple way to bypass it all around line 66:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                // DEFAULT: just handle known launch mode&lt;br /&gt;
                } else {&lt;br /&gt;
                        //always unlock - for testing&lt;br /&gt;
                        //this.$.updatePinAppState.call({state: 'unlock'}); return;&lt;br /&gt;
&lt;br /&gt;
                        this.handleLaunchLockMode();&lt;br /&gt;
                }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== webOS 2.1 and older ==&lt;br /&gt;
&lt;br /&gt;
=== About ===&lt;br /&gt;
The 1.1 update allowed me to connect to Exchange (EAS) with a policy enforced.  Of course, having my screen lock every single time I turn off the screen seems a little harsh.  The policy asks for a 10-minute timeout, but the way it's implemented in WebOS, the screen locks whenever the screen turns off.  &lt;br /&gt;
&lt;br /&gt;
=== Modification ===&lt;br /&gt;
&lt;br /&gt;
Below is a modification to automatically unlock the screen. This method seems to still work with the 1.3.5 update.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;pre&amp;gt;/usr/palm/applications/com.palm.app.phone/app/controllers/pin-assistant.js&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Immediately after &amp;quot; setup: function() { &amp;quot;  (line 32 in 1.1, line 33 in 1.3.1 and 1.3.5, line number may vary in other versions)&lt;br /&gt;
&lt;br /&gt;
add the line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.unlock(); return;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What you've done is edit the &amp;quot;setup&amp;quot; function to immediately call the unlock function and return (skipping anything else it would normally do).&lt;br /&gt;
&lt;br /&gt;
Reboot, and your screen should automatically unlock as soon as you slide it open.&lt;br /&gt;
&lt;br /&gt;
Should work like a charm!&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=8776</id>
		<title>Facebook timezone issue</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=8776"/>
		<updated>2010-01-30T08:32:45Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article has been moved to my blog.&lt;br /&gt;
&lt;br /&gt;
http://geeklog.lucid.net.au/article.php?story=20091211084306281&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=8775</id>
		<title>Facebook timezone issue</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=8775"/>
		<updated>2010-01-30T08:32:26Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: Replacing page with '== Introduction ==

This article has been moved to my blog.

http://geeklog.lucid.net.au/article.php?story=20091211084306281'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article has been moved to my blog.&lt;br /&gt;
&lt;br /&gt;
http://geeklog.lucid.net.au/article.php?story=20091211084306281&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=7633</id>
		<title>Facebook timezone issue</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=7633"/>
		<updated>2009-12-03T12:29:42Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
As at version 1.3.1, Synergy and the Pre doesn't display Facebook event times right.  This is, in my opinion, due to an error on both the part of Facebook, and Palm.&lt;br /&gt;
&lt;br /&gt;
Mostly Facebook.&lt;br /&gt;
&lt;br /&gt;
== The definition of Unix epoch time ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia rightly defines [http://en.wikipedia.org/wiki/Unix_time Unix epoch time] as:&lt;br /&gt;
&lt;br /&gt;
:'''''Unix time''', or '''POSIX time''', is a system for describing points in time, defined as the number of seconds elapsed since midnight Proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.''&lt;br /&gt;
&lt;br /&gt;
The key point here is that an epoch timestamp is in ''UTC time''.&lt;br /&gt;
&lt;br /&gt;
== How Facebook does event times ==&lt;br /&gt;
&lt;br /&gt;
As per http://wiki.developers.facebook.com/index.php/Events.get:&lt;br /&gt;
&lt;br /&gt;
:''Note that the &amp;lt;tt&amp;gt;start_time&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;end_time&amp;lt;/tt&amp;gt; returned are the times which were input by the event creator, converted to UTC after assuming that they were in Pacific time (Daylight Savings or Standard, depending on the date of the event), then converted into Unix epoch time.''&lt;br /&gt;
&lt;br /&gt;
... Pacific time being GMT-8.&lt;br /&gt;
&lt;br /&gt;
Why they assume this PST timezone, who knows... their backend seems to be smart enough to work out what timezone a typical browser session is in (I'm assuming via +/- offsets in &amp;lt;tt&amp;gt;Date:&amp;lt;/tt&amp;gt; HTTP requests), so why not use that when an event is submitted, convert down to UTC at ''that'' time, and all is well!&lt;br /&gt;
&lt;br /&gt;
Instead, they do it this way, and do some crazy magic when others view the event.  This is where I say Palm is partly at fault -- because they haven't put this same magic in.  They shouldn't ''have'' to though.&lt;br /&gt;
&lt;br /&gt;
== What WebOS does ==&lt;br /&gt;
&lt;br /&gt;
It would seem the Pre assumes that the &amp;lt;tt&amp;gt;&amp;lt;start_time&amp;gt;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;lt;end_time&amp;gt;&amp;lt;/tt&amp;gt; are in UTC via a Unix epoch timestamp -- very fair logic in my opinion, as this is what Facebook ''should'' be returning via its API.  Instead, it seems to return &amp;lt;tt&amp;gt;local_time_of_event&amp;lt;/tt&amp;gt;+8.  Bizarre.&lt;br /&gt;
&lt;br /&gt;
Firstly, some definitions:&lt;br /&gt;
&lt;br /&gt;
;fb_stored_time&lt;br /&gt;
:The time as stored internally on Facebook servers&lt;br /&gt;
;epoch&lt;br /&gt;
:Function to convert to Unix epoch time&lt;br /&gt;
;UTC&lt;br /&gt;
:Function to convert to UTC time&lt;br /&gt;
;assumed_Pacific_time&lt;br /&gt;
:Facebook being stupid and assuming the local time the creator entered is in Los Angeles -- ''yes America, we all live there''. This time can be affected by daylight saving, too&lt;br /&gt;
&lt;br /&gt;
So the math loosely looks like this:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;fb_stored_time = epoch(UTC(assumed_Pacific_time))&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''(To be continued, not finished.)''&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=7632</id>
		<title>Facebook timezone issue</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&amp;diff=7632"/>
		<updated>2009-12-03T11:00:00Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: New page: == Introduction ==  As at version 1.3.1, Synergy and the Pre doesn't display Facebook event times right.  This is, in my opinion, due to an error on both the part of Facebook, and Palm.  M...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
As at version 1.3.1, Synergy and the Pre doesn't display Facebook event times right.  This is, in my opinion, due to an error on both the part of Facebook, and Palm.&lt;br /&gt;
&lt;br /&gt;
Mostly Facebook.&lt;br /&gt;
&lt;br /&gt;
== How Facebook does event times ==&lt;br /&gt;
&lt;br /&gt;
As per http://wiki.developers.facebook.com/index.php/Events.get:&lt;br /&gt;
&lt;br /&gt;
:''Note that the &amp;lt;tt&amp;gt;start_time&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;end_time&amp;lt;/tt&amp;gt; returned are the times which were input by the event creator, converted to UTC after assuming that they were in Pacific time (Daylight Savings or Standard, depending on the date of the event), then converted into Unix epoch time.''&lt;br /&gt;
&lt;br /&gt;
... Pacific time being GMT-8.&lt;br /&gt;
&lt;br /&gt;
Why they assume this PST timezone, who knows... their backend seems to be smart enough to work out what timezone a typical browser session is in (I'm assuming via +/- offsets in HTTP requests), so why not use that when an event is submitted, convert down to UTC at ''that'' time, and all is well!&lt;br /&gt;
&lt;br /&gt;
Instead, they do it this way, and do some crazy magic when others view the event.  This is where I say Palm is partly at fault -- because they haven't put this same magic in.  They shouldn't ''have'' to though.&lt;br /&gt;
&lt;br /&gt;
== What WebOS does ==&lt;br /&gt;
&lt;br /&gt;
It would seem the Pre assumes that the &amp;lt;tt&amp;gt;&amp;lt;start_time&amp;gt;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;lt;end_time&amp;gt;&amp;lt;/tt&amp;gt; are in UTC via a Unix epoch timestamp -- very fair logic in my opinion, as this is what Facebook ''should'' be returning via its API.  Instead, it seems to return &amp;lt;tt&amp;gt;local_time_of_event&amp;lt;/tt&amp;gt;+8.  Bizarre.&lt;br /&gt;
&lt;br /&gt;
''(To be continued, not finished.)''&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=7631</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=7631"/>
		<updated>2009-12-03T10:33:59Z</updated>

		<summary type="html">&lt;p&gt;Lingfish: Added Facebook timezone issue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
The Research Portal is for bleeding edge things being done with the device. &lt;br /&gt;
&lt;br /&gt;
Title all pages: '''Research [description]''' or '''Reference [description]'''&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[New Bluetooth|BlueZ (Replacing Palm Bluetooth)]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[ClassicFilesystem]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]]&lt;br /&gt;
* [[FirstUse Application Functionality]]&lt;br /&gt;
* [[Fonts available on board the Pre]]&lt;br /&gt;
* [[Gstreamer]]&lt;br /&gt;
* [[Hidd]]&lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Research_Securing_Pre|Securing your Pre]]&lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Facebook timezone issue|The annoying Facebook timezone issue]]&lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[VideoRecording]]&lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]] &lt;br /&gt;
* [[Research_Pre_GSM_Modem | Pre GSM modem device informations]]&lt;br /&gt;
* [[Research_Pre_GSM_Modem_Protocol | Pre GSM modem protocol informations]]&lt;br /&gt;
* [[Research_Pre_Audio | Audio routing and setup on the Pre]]&lt;br /&gt;
* [[Research_mpt | MSM modem passthru mode ]]&lt;br /&gt;
* [[Research_Pre_Boot_Process | Boot process]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[Packaging Standards|Packaging Standards]]&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Lingfish</name></author>
	</entry>
</feed>