{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":612684608,"defaultBranch":"main","name":"Altura","ownerLogin":"avinashlng1080","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-11T17:15:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/43164508?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1678795598.9228768","currentOid":""},"activityList":{"items":[{"before":"2f09bdc3c34febfcf43aff3402c7fe7b0635fdb4","after":"6374370fda1449a1c199b28843b81015c8ef1366","ref":"refs/heads/main","pushedAt":"2023-03-14T12:25:31.966Z","pushType":"push","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Update Security_Consideration.md","shortMessageHtmlLink":"Update Security_Consideration.md"}},{"before":"a583dd4d6e3f2c7460bfeebaee5b2315a8e893a2","after":"2f09bdc3c34febfcf43aff3402c7fe7b0635fdb4","ref":"refs/heads/main","pushedAt":"2023-03-14T12:07:02.965Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Feat eth lib (#7)\n\n* chore: project finally running\r\n\r\n* project is compiling\r\n\r\n* project compiles\r\n\r\n* added docs","shortMessageHtmlLink":"Feat eth lib (#7)"}},{"before":null,"after":"52021a4dc882d903cef85d253f1e3dee93199c7e","ref":"refs/heads/feat-eth-lib","pushedAt":"2023-03-14T12:06:38.922Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"added docs","shortMessageHtmlLink":"added docs"}},{"before":"2dd92861df986063c3182f157947d3f68d45cc28","after":"a583dd4d6e3f2c7460bfeebaee5b2315a8e893a2","ref":"refs/heads/main","pushedAt":"2023-03-13T11:06:01.404Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Feat: Keychain + NetInfo (#6)\n\n* fix: remove PIN from table\r\n\r\n* feat: jailbroken check\r\n\r\n* feat: keychain works on physical iOS device\r\n\r\n* feat: Network Availability Implemented","shortMessageHtmlLink":"Feat: Keychain + NetInfo (#6)"}},{"before":null,"after":"d02fe2d2393be4451e79ccf75dc376bedc59c5bb","ref":"refs/heads/feat-security-1","pushedAt":"2023-03-13T11:04:10.025Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"feat: Network Availability Implemented","shortMessageHtmlLink":"feat: Network Availability Implemented"}},{"before":"6020c52c24c3a1a27d9b2d1156047049026760e3","after":"2dd92861df986063c3182f157947d3f68d45cc28","ref":"refs/heads/main","pushedAt":"2023-03-12T13:23:06.608Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Feat database (#5)\n\n* ✨ feat: Installation of watermelondb\r\n\r\n* ✨ feat: Add new features and improvements\r\n\r\nAdded ideas for new features and improvements to the app, including the ability to view balances in other currencies, refreshing balance on home screen, implementing analytics to track usage, using CodePush for faster hotfixes, implementing Sentry for error reporting, and storing the database at a more secure location. Also added new files and models related to account and user management.\r\n\r\n* ✨ feat: Add AccountModel and UserModel types\r\n\r\nThis commit adds AccountModel and UserModel types to `types/models/account.ts` and `types/models/user.ts` respectively. These types define the table name, fields, and methods for each model in WatermelonDB.\r\n\r\n* ✨ feat: Add balance and crypto type fields to `Account` model, and add `setBalance` and `setCryptoType` writer methods, and add name and pin fields to `User` model, and add `setName` and `setPin` writer methods\r\n\r\n* ✨ feat: Add database manager, migration, and schema\r\n\r\nThis commit adds the database manager, migration, and schema for the app's database. The database manager creates a Watermelon database using SQLiteAdapter with models for User and Account. The migration file is currently empty, but will be used to define migrations later. Finally, the schema defines tables and columns for User and Account models.\r\n\r\n* ✨ feat: Add experimental decorators option to tsconfig.json and define two constants in table.ts\r\n\r\nThe commit adds the experimental decorators option to tsconfig.json and defines two new constants (WDB_TBL_USER and WDB_TBL_ACCOUNT) in table.ts file.\r\n\r\n* ✨ feat: Add functionality to check if user is signed in and store PIN in the database\r\n\r\nThis commit adds a function to check if the user is signed in by querying the database, as well as updating the `isSignIn` function to return true if the user is signed in. Additionally, it includes changes to the `Launch` component that create a database to store the PIN entered by the user and ensures that the stacks auto-switch to the Home screen after the PIN is stored.\r\n\r\n* ✨ feat: add queryUser function for fetching user from database\r\n\r\nThis commit adds a new file `user.ts` in the `app/queries` directory, which exports an asynchronous function named `queryUser`. The function fetches a user model from the `WDB_TBL_USER` table using the `fetch()` method of the `get` query builder. If successful, the function returns the first user found, otherwise, it returns null. Any errors that occur during the query execution will be logged to the console.\r\n\r\n* ✨ feat: Add new features for improved security and functionality\r\n\r\nThis commit adds various features to the app, including implementing CodePush and Sentry, storing the database at a more secure location, and allowing for multiple user accounts. The ability to emulate multiple user accounts is achieved by having multiple user records with different PINs, and the app tracks down the user record with the latest time stamp.\r\n\r\n* ✨ feat: refactor navigation and remove unused code\r\n\r\nThis commit refactors the navigation code, removing unused imports and variables. The `createNativeStackNavigator` and `Launch` components were removed, as they were not being used. The `ALTURA_PURPLE` constant was also removed, as it was no longer being used. Additionally, the `HomeRoute` component was exported for reuse in other parts of the application. The `isSignIn` function was also removed, as it is not yet implemented.\r\n\r\n* ✨ feat: import App component and remove unused code\r\n\r\nThe commit introduces a feature by importing the `App` component in the `index.js` file of a React Native project. Additionally, it removes unused code related to formatting.\r\n\r\n* ✨ feat: add init() method to DatabaseManager\r\n\r\nThis commit adds an `init()` method to the `DatabaseManager` class which initializes the database by creating a Watermelon database from the provided adapter and model classes. If successful, the method assigns the resulting database object to the `database` property of the class.\r\n\r\n* ✨ feat: Add navigation and authentication logic to App component\r\n\r\nThis commit introduces a NavigationContainer and createNativeStackNavigator from @react-navigation/native to the App component, allowing for navigation between screens. It also adds authentication logic to determine whether the user is logged in or not, and conditionally renders either the HomeRoute or Launch screen based on that. The useEffect hook is used to asynchronously query the user data and setIsLoggedIn and setIsQuerying are used to keep track of the query's progress. Finally, a loader is displayed while waiting for the query to complete.\r\n\r\n* ✨ feat: Use TypeScript non-null assertion operator in `Account` and `User` models\r\n\r\nThis commit modifies the `Account` and `User` models to use the non-null assertion operator in TypeScript for the `balance` and `cryptoType` properties in the `Account` model, and the `name` and `pin` properties in the `User` model. This change allows for better type checking and eliminates unnecessary null checks.\r\n\r\n* build: Update Babel configuration and add 'babel-plugin-transform-remove-console' to dependencies.\r\n\r\n* chore: git hook\r\n\r\n* ✨ feat: Add user subscription and creation functionality\r\n\r\nThis commit adds the ability to subscribe to changes in the `User` table of the app's database using `subscribeUser()`. It also includes the option to create a new user with a PIN and an optional name using `createUser()`. Additionally, it imports and uses `react-native-crypto-js` for cryptographic functionality.\r\n\r\nThe `Launch` screen now triggers user creation when a 6-digit PIN is entered. The created user is stored in the local database, and the stacks auto-switch to the Home screen upon successful creation.\r\n\r\nA comment has been added to provide information on how to view the contents of the database.\r\n\r\n* Update user.ts","shortMessageHtmlLink":"Feat database (#5)"}},{"before":null,"after":"01dd8b50553f71cb3541644ddea8d7a6f22c6034","ref":"refs/heads/feat-database","pushedAt":"2023-03-12T13:21:10.315Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Update user.ts","shortMessageHtmlLink":"Update user.ts"}},{"before":"323d5af56f6b7b30e1c7d8d4e4ca3995f2d0b02f","after":"6020c52c24c3a1a27d9b2d1156047049026760e3","ref":"refs/heads/main","pushedAt":"2023-03-12T06:37:27.974Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"✨ feat: Navigates from PIN to Home (#4)\n\n* ✨ feat: Add new file app/constants/screens.ts\r\n\r\nThis commit adds a new file `app/constants/screens.ts` with a mode of 100644 and an index of 0000000.\r\n\r\nPossible options:\r\n- chore: Update README.md\r\n- fix: Correct typos in app/constants/screens.ts\r\n- test: Write unit tests for app/constants/screens.ts\r\n- refactor: Simplify code in app/constants/screens.ts\r\n- docs: Add JSDoc comments to app/constants/screens.ts\r\n\r\n* ✨ feat: Add constants for Home, Launch, Settings, and Main screens\r\n\r\nThis commit adds constants for the Home, Launch, Settings, and Main screens in the app/constants/screens.ts file. The new constants are exported and can be used throughout the application to reference these screens consistently.\r\n\r\n* ✨ feat: Add new screens and constants to navigation\r\n\r\nAdd HOME, SETTINGS constants for screen names and update the respective Tab.Screen components with options to hide their headers.\r\nRename the Stack.Screen component from \"HomeRoute\" to \"MAIN\" and add options to hide its header.\r\nRename the Stack.Screen component from \"Launch\" to \"LAUNCH\".\r\nUpdate the isSignIn function's todo comment to indicate that it will read from the database.\r\n\r\n* ✨ feat: Add a nested navigator best practice group link to the pin screen\r\n\r\nAdd a comment containing a link to the best practices for nesting navigators in React Navigation to the pin screen.\r\n\r\n* ✨ feat: Add PIN input screen to login flow\r\n\r\nThis commit introduces a new PIN input screen to the login flow. It replaces the previous code input screen and now allows users to enter a 6-digit PIN. The PIN is stored locally in the database once entered, and if the length of the PIN is greater than 5, the stacks auto-switch to the Home screen. Additionally, some code refactoring was done to remove unnecessary code and add styles to the components.","shortMessageHtmlLink":"✨ feat: Navigates from PIN to Home (#4)"}},{"before":null,"after":"00f4833db369be9065446c8eed8d84cd3f5dd1d3","ref":"refs/heads/feat-navigate-home","pushedAt":"2023-03-12T06:36:17.130Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"✨ feat: Add PIN input screen to login flow\n\nThis commit introduces a new PIN input screen to the login flow. It replaces the previous code input screen and now allows users to enter a 6-digit PIN. The PIN is stored locally in the database once entered, and if the length of the PIN is greater than 5, the stacks auto-switch to the Home screen. Additionally, some code refactoring was done to remove unnecessary code and add styles to the components.","shortMessageHtmlLink":"✨ feat: Add PIN input screen to login flow"}},{"before":"b8c941c29a4650c751ecdb3c98e874aed0e368d4","after":"323d5af56f6b7b30e1c7d8d4e4ca3995f2d0b02f","ref":"refs/heads/main","pushedAt":"2023-03-12T05:22:43.420Z","pushType":"push","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Create README.md","shortMessageHtmlLink":"Create README.md"}},{"before":"89d3da6cf7e950c6efcaa4b84548d58835dae8b0","after":"b8c941c29a4650c751ecdb3c98e874aed0e368d4","ref":"refs/heads/main","pushedAt":"2023-03-11T23:59:59.821Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Feat: Implemented Launch screen (#3)\n\n* feat: container component\r\n\r\n* feat: digit component\r\n\r\n* feat: constant/colors\r\n\r\n* feat: jest config\r\n\r\n* chore: include Setting screen and Stack\r\n\r\n* feat: Digits component\r\n\r\n* feat: launch screen\r\n\r\n* Update index.test.tsx","shortMessageHtmlLink":"Feat: Implemented Launch screen (#3)"}},{"before":"172b38cea0cc79563e15f2e391cd39648a05d6a8","after":"2d56d02508244634f0f502b502f63740438eb33f","ref":"refs/heads/feat-launch-screen","pushedAt":"2023-03-11T23:59:42.538Z","pushType":"push","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Update index.test.tsx","shortMessageHtmlLink":"Update index.test.tsx"}},{"before":null,"after":"172b38cea0cc79563e15f2e391cd39648a05d6a8","ref":"refs/heads/feat-launch-screen","pushedAt":"2023-03-11T23:56:59.470Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"feat: launch screen","shortMessageHtmlLink":"feat: launch screen"}},{"before":"661870f38598681e2ac13cb1985e2ae4142793ea","after":"89d3da6cf7e950c6efcaa4b84548d58835dae8b0","ref":"refs/heads/main","pushedAt":"2023-03-11T20:50:11.311Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"✨ feat: Add new screens and routing (#2)\n\n* 🔧 chore: add wix react-native-navigation\r\n\r\n* ✨ feat: Add new screens\r\n\r\nThis commit adds three new screens to the app: Home, Launch, and Pin.\r\n\r\n* ✨ feat: React Navigation Integrated\r\n\r\nWorks on both iOS and Android","shortMessageHtmlLink":"✨ feat: Add new screens and routing (#2)"}},{"before":null,"after":"50d8d0d3273663c73214eec776ba139e6a024854","ref":"refs/heads/feat-react-navigation","pushedAt":"2023-03-11T20:48:40.357Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"✨ feat: React Navigation Integrated\n\nWorks on both iOS and Android","shortMessageHtmlLink":"✨ feat: React Navigation Integrated"}},{"before":null,"after":"d26ae4c99da56233fd0946825d39ef8b9302f037","ref":"refs/heads/revert-1-feat-folder-structure","pushedAt":"2023-03-11T18:07:23.941Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Revert \"Organize app file structure\"","shortMessageHtmlLink":"Revert \"Organize app file structure\""}},{"before":"e9f9082d22cda076bded2d863e00fd6f8203c41d","after":"661870f38598681e2ac13cb1985e2ae4142793ea","ref":"refs/heads/main","pushedAt":"2023-03-11T18:06:35.382Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Merge pull request #1 from ALTEK-AB/feat-folder-structure\n\nFeat folder structure","shortMessageHtmlLink":"Merge pull request #1 from ALTEK-AB/feat-folder-structure"}},{"before":"f2adab1565807f5f1aafdd4a1c316d56372d43bb","after":"29b069c864fa98116b60dd71abfc4353744ffe0d","ref":"refs/heads/feat-folder-structure","pushedAt":"2023-03-11T18:05:24.375Z","pushType":"push","commitsCount":1,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"🔧 chore: organize app file structure\n\nupdates readme","shortMessageHtmlLink":"🔧 chore: organize app file structure"}},{"before":null,"after":"f2adab1565807f5f1aafdd4a1c316d56372d43bb","ref":"refs/heads/feat-folder-structure","pushedAt":"2023-03-11T17:57:17.263Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"🔧 chore: organize app file structure\n\nAdd new files and folders to set up the initial file structure of the app.\n\n- app/actions/readme.md: Create a folder for actions that pertain to database operations.\n- app/components/readme.md: Create a folder for components that we will use in this app.\n- app/database/readme.md: Create a sub-folder to house all the database related setup, model, schema, and manager.\n- app/i18n/readme.md: Create a single starting place for our app, where we will initialize our app and load any data before it is ready to be used.\n- app/init/readme.md: Create a sub-folder for navigation-related components.\n- app/managers/app_manager/readme.md: Create a folder for the app manager, which will manage global state of the app.\n- app/navigation/readme.md: Create a folder for internationalization (i18n) related components.\n- app/network/readme.md: Create a folder for network related components.\n- app/queries/readme.md: Create a folder for queries that execute against the network layer.\n- app/screens/readme.md: Create a folder for screens related components.\n- app/utils/readme.md: Create a folder for utility functions that can be shared across the app.\n\nThe commit message also specifies what each sub-folder will contain or the purpose it serves.","shortMessageHtmlLink":"🔧 chore: organize app file structure"}},{"before":null,"after":"e9f9082d22cda076bded2d863e00fd6f8203c41d","ref":"refs/heads/main","pushedAt":"2023-03-11T17:15:23.071Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"avinashlng1080","name":"Avinash Lingaloo","path":"/avinashlng1080","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43164508?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADAxMAXAA","startCursor":null,"endCursor":null}},"title":"Activity · avinashlng1080/Altura"}