An ATproto social media client -- with an independent Appview.
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'onboarding-and-discovery' into main

+74
+12
ios/Podfile.lock
··· 385 385 - react-native-blur (4.3.0): 386 386 - React-Core 387 387 - react-native-cameraroll (5.3.1): 388 + <<<<<<< HEAD 389 + ======= 390 + - React-Core 391 + - react-native-get-random-values (1.8.0): 392 + >>>>>>> onboarding-and-discovery 388 393 - React-Core 389 394 - react-native-image-resizer (3.0.5): 390 395 - React-Core ··· 615 620 - React-logger (from `../node_modules/react-native/ReactCommon/logger`) 616 621 - "react-native-blur (from `../node_modules/@react-native-community/blur`)" 617 622 - "react-native-cameraroll (from `../node_modules/@react-native-camera-roll/camera-roll`)" 623 + - react-native-get-random-values (from `../node_modules/react-native-get-random-values`) 618 624 - "react-native-image-resizer (from `../node_modules/@bam.tech/react-native-image-resizer`)" 619 625 - react-native-pager-view (from `../node_modules/react-native-pager-view`) 620 626 - "react-native-paste-input (from `../node_modules/@mattermost/react-native-paste-input`)" ··· 748 754 :path: "../node_modules/@react-native-community/blur" 749 755 react-native-cameraroll: 750 756 :path: "../node_modules/@react-native-camera-roll/camera-roll" 757 + react-native-get-random-values: 758 + :path: "../node_modules/react-native-get-random-values" 751 759 react-native-image-resizer: 752 760 :path: "../node_modules/@bam.tech/react-native-image-resizer" 753 761 react-native-pager-view: ··· 869 877 React-logger: 957e5dc96d9dbffc6e0f15e0ee4d2b42829ff207 870 878 react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3 871 879 react-native-cameraroll: f3050460fe1708378698c16686bfaa5f34099be2 880 + <<<<<<< HEAD 881 + ======= 882 + react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a 883 + >>>>>>> onboarding-and-discovery 872 884 react-native-image-resizer: 00ceb0e05586c7aadf061eea676957a6c2ec60fa 873 885 react-native-pager-view: 54bed894cecebe28cede54c01038d9d1e122de43 874 886 react-native-paste-input: 3392800944a47c00dddbff23c31c281482209679
+1
package.json
··· 90 90 "react-native-fast-image": "^8.6.3", 91 91 "react-native-fs": "^2.20.0", 92 92 "react-native-gesture-handler": "~2.9.0", 93 + "react-native-get-random-values": "^1.8.0", 93 94 "react-native-haptic-feedback": "^1.14.0", 94 95 "react-native-image-crop-picker": "^0.38.1", 95 96 "react-native-inappbrowser-reborn": "^3.6.3",
+49
src/platform/polyfills.ts
··· 1 1 export {} 2 + 3 + /** 4 + https://github.com/MaxArt2501/base64-js 5 + The MIT License (MIT) 6 + Copyright (c) 2014 MaxArt2501 7 + */ 8 + 9 + const b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' 10 + // Regular expression to check formal correctness of base64 encoded strings 11 + const b64re = 12 + /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/ 13 + 14 + globalThis.atob = (str: string): string => { 15 + // atob can work with strings with whitespaces, even inside the encoded part, 16 + // but only \t, \n, \f, \r and ' ', which can be stripped. 17 + str = String(str).replace(/[\t\n\f\r ]+/g, '') 18 + if (!b64re.test(str)) { 19 + throw new TypeError( 20 + "Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.", 21 + ) 22 + } 23 + 24 + // Adding the padding if missing, for semplicity 25 + str += '=='.slice(2 - (str.length & 3)) 26 + var bitmap, 27 + result = '', 28 + r1, 29 + r2, 30 + i = 0 31 + for (; i < str.length; ) { 32 + bitmap = 33 + (b64.indexOf(str.charAt(i++)) << 18) | 34 + (b64.indexOf(str.charAt(i++)) << 12) | 35 + ((r1 = b64.indexOf(str.charAt(i++))) << 6) | 36 + (r2 = b64.indexOf(str.charAt(i++))) 37 + 38 + result += 39 + r1 === 64 40 + ? String.fromCharCode((bitmap >> 16) & 255) 41 + : r2 === 64 42 + ? String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255) 43 + : String.fromCharCode( 44 + (bitmap >> 16) & 255, 45 + (bitmap >> 8) & 255, 46 + bitmap & 255, 47 + ) 48 + } 49 + return result 50 + }
+12
yarn.lock
··· 7503 7503 snapdragon "^0.8.1" 7504 7504 to-regex "^3.0.1" 7505 7505 7506 + fast-base64-decode@^1.0.0: 7507 + version "1.0.0" 7508 + resolved "https://registry.yarnpkg.com/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz#b434a0dd7d92b12b43f26819300d2dafb83ee418" 7509 + integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q== 7510 + 7506 7511 fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 7507 7512 version "3.1.3" 7508 7513 resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" ··· 13679 13684 invariant "^2.2.4" 13680 13685 lodash "^4.17.21" 13681 13686 prop-types "^15.7.2" 13687 + 13688 + react-native-get-random-values@^1.8.0: 13689 + version "1.8.0" 13690 + resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.8.0.tgz#1cb4bd4bd3966a356e59697b8f372999fe97cb16" 13691 + integrity sha512-H/zghhun0T+UIJLmig3+ZuBCvF66rdbiWUfRSNS6kv5oDSpa1ZiVyvRWtuPesQpT8dXj+Bv7WJRQOUP+5TB1sA== 13692 + dependencies: 13693 + fast-base64-decode "^1.0.0" 13682 13694 13683 13695 react-native-gradle-plugin@^0.71.15: 13684 13696 version "0.71.16"