GL-AR750S-EXT Slate upgrade guide
Uboot guide here
- v3.104(Uboot img) here
- v.3.105 (sysupgrade tar through web gui local upgrade) here
- v.3.212 (web gui system auto check upgrade) http://192.168.8.1
- latest 3.215 beta 2 (local upgrade) source
Note for me to remember how to set Android Home on Mac | |
Open Terminal and type in.. | |
nano ~/.bash_profile | |
Add the below paths | |
The path should be where your android installation is located | |
export ANDROID_HOME=/Users/username/Library/Android/sdk | |
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools | |
Save file and type in terminal... | |
source ~/.bash_profile |
GL-AR750S-EXT Slate upgrade guide
Uboot guide here
Analysis of sampling nwjs Helper (Renderer) (pid 61391) every 1 millisecond | |
Process: nwjs Helper (Renderer) [61391] | |
Path: /Applications/Popcorn-Time 15.app/Contents/Frameworks/nwjs Framework.framework/Versions/119.0.6045.105/Helpers/nwjs Helper (Renderer).app/Contents/MacOS/nwjs Helper (Renderer) | |
Load Address: 0x104b80000 | |
Identifier: nwjs Helper (Renderer) | |
Version: ??? | |
Code Type: ARM64 | |
Platform: macOS | |
Parent Process: ??? [1] |
const doAwait = async (promise) => { | |
try { | |
const data = await promise; | |
return [undefined, data]; | |
} catch (error) { | |
return [error, undefined]; | |
} | |
}; | |
const [error, result] = await doAwait(myPromise); |
type TryCatchProps<T> = { | |
tryFn: () => T; | |
catchFn: (error: unknown) => T; | |
} | |
function tryCatch<T>({ tryFn, catchFn }: TryCatchProps<T>): T { | |
try { | |
return tryFn(); | |
} catch (error) { | |
return catchFn(error); |
const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]); | |
type Literal = z.infer<typeof literalSchema>; | |
type Json = Literal | { [key: string]: Json } | Json[]; | |
const jsonSchema: z.ZodType<Json> = z.lazy(() => | |
z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]) | |
); | |
jsonSchema.parse(data); |
const safeJsonParse = <T>(str: string) => { | |
try { | |
const jsonValue: T = JSON.parse(str); | |
return jsonValue; | |
} catch { | |
return undefined; | |
} | |
}; |
/** | |
* Determine whether the given `promise` is a Promise. | |
* | |
* @param {*} promise | |
* | |
* @returns {Boolean} | |
*/ | |
function isPromise(promise) { | |
return !!promise && typeof promise.then === 'function' | |
} |
/** | |
* Determine whether the given `input` is a number. | |
* | |
* @param {String} input | |
* | |
* @returns {Boolean} | |
*/ | |
const isNumericString = (input) => typeof input === 'string' && !Number.isNaN(input) |
/** | |
* Uppercases the first character in the `string`. | |
* | |
* @param {String} string | |
* | |
* @returns {String} | |
*/ | |
function ucFirst (string) { | |
if (!(typeof string !== 'string')) { | |
return '' |