{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":611369100,"defaultBranch":"main","name":"akka-dotnet-bank","ownerLogin":"danne931","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-08T17:24:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4181901?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1682665929.0","currentOid":""},"activityList":{"items":[{"before":"318210b9d2dde4f2c1dad6ba366abcd63464bd30","after":"9c84c1ceb235253a40ef30d54027babe0efb7f8e","ref":"refs/heads/main","pushedAt":"2024-08-31T19:41:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":".","shortMessageHtmlLink":"."}},{"before":"ad7ab2ed97ec6115972e029288f073ffe346a505","after":"318210b9d2dde4f2c1dad6ba366abcd63464bd30","ref":"refs/heads/main","pushedAt":"2024-08-31T19:25:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"abstract the ReadModelSyncActor logic so EmployeeReadModelSyncActor & AccountReadModelSyncActor only have to handle bulk upsert logic","shortMessageHtmlLink":"abstract the ReadModelSyncActor logic so EmployeeReadModelSyncActor &…"}},{"before":"82164ed8da2ad8f1de917460415ba806fca701d0","after":"ad7ab2ed97ec6115972e029288f073ffe346a505","ref":"refs/heads/main","pushedAt":"2024-08-30T06:32:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"666cee6134e99910ac7a0444c8bd25fe9d6b9962","after":"82164ed8da2ad8f1de917460415ba806fca701d0","ref":"refs/heads/main","pushedAt":"2024-08-30T06:30:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"b7a95da4b3a9b5e8f2bcbc68acb77e84d0a6c8e0","after":"666cee6134e99910ac7a0444c8bd25fe9d6b9962","ref":"refs/heads/main","pushedAt":"2024-08-29T21:07:31.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"fix employee card create command not validating purchase limits against upper limit; raise daily upper limit; + seed data for domestic transfers","shortMessageHtmlLink":"fix employee card create command not validating purchase limits again…"}},{"before":"989d6bac66a39c88cdf28c3e9cca8ae8a31ddc12","after":"b7a95da4b3a9b5e8f2bcbc68acb77e84d0a6c8e0","ref":"refs/heads/main","pushedAt":"2024-08-29T05:52:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"e62b9c6b3d9d63c11a911ce349048bedd5eb54f8","after":"989d6bac66a39c88cdf28c3e9cca8ae8a31ddc12","ref":"refs/heads/main","pushedAt":"2024-08-29T04:11:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"GetEmployee employee actor ask message returns Employee instead of EmployeeWithEvents","shortMessageHtmlLink":"GetEmployee employee actor ask message returns Employee instead of Em…"}},{"before":"985a135d035beaab248a4b6ea1ca795e1f55700e","after":"e62b9c6b3d9d63c11a911ce349048bedd5eb54f8","ref":"refs/heads/main","pushedAt":"2024-08-29T00:32:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"50e831b7ca73de100426cf0316ed87b7bbaec91f","after":"985a135d035beaab248a4b6ea1ca795e1f55700e","ref":"refs/heads/main","pushedAt":"2024-08-28T22:20:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"render Pagination at the bottom (as well as top) of transaction table & employee history table results for convenience","shortMessageHtmlLink":"render Pagination at the bottom (as well as top) of transaction table…"}},{"before":"262252e53316769cecb63493960c7705fad3d49a","after":"50e831b7ca73de100426cf0316ed87b7bbaec91f","ref":"refs/heads/main","pushedAt":"2024-08-28T19:15:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"retain employee name-based sort order from DB query","shortMessageHtmlLink":"retain employee name-based sort order from DB query"}},{"before":"d9fc68a326f7fc9679da8a6d45fcc3402cf9c2de","after":"262252e53316769cecb63493960c7705fad3d49a","ref":"refs/heads/main","pushedAt":"2024-08-28T00:36:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ transaction type (deposit, transfer between orgs, purchase, etc.) filter to transaction dashboard","shortMessageHtmlLink":"+ transaction type (deposit, transfer between orgs, purchase, etc.) f…"}},{"before":"3865551fa82d911878abe89ed692e95e6ef5b870","after":"d9fc68a326f7fc9679da8a6d45fcc3402cf9c2de","ref":"refs/heads/main","pushedAt":"2024-08-27T06:05:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ seed data for transfers received from other orgs on the platform","shortMessageHtmlLink":"+ seed data for transfers received from other orgs on the platform"}},{"before":"09b6dd7475acaa962f0f046b5b02ebf0ea9c47e9","after":"3865551fa82d911878abe89ed692e95e6ef5b870","ref":"refs/heads/main","pushedAt":"2024-08-24T06:29:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"fix account actor replay from snapshot","shortMessageHtmlLink":"fix account actor replay from snapshot"}},{"before":"d4a5effcbcf2231cc8954672727cddf7a10ceaec","after":"09b6dd7475acaa962f0f046b5b02ebf0ea9c47e9","ref":"refs/heads/main","pushedAt":"2024-08-22T22:59:28.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"fix employee card search not refocusing when selecting between InitiatedByIds filter and CardIds filter","shortMessageHtmlLink":"fix employee card search not refocusing when selecting between Initia…"}},{"before":"dd36df9a6936cf0ecd689c4e37371bf19f33d911","after":"d4a5effcbcf2231cc8954672727cddf7a10ceaec","ref":"refs/heads/main","pushedAt":"2024-08-21T05:12:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"update akka packages","shortMessageHtmlLink":"update akka packages"}},{"before":"526a8ebc5f6ebd6c990635e9641871cdc4548120","after":"dd36df9a6936cf0ecd689c4e37371bf19f33d911","ref":"refs/heads/main","pushedAt":"2024-08-21T03:31:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"fix account seeder trying to create org on service restart","shortMessageHtmlLink":"fix account seeder trying to create org on service restart"}},{"before":"f2ca5fdb857d12de750cc317ac1f19174b6bb646","after":"526a8ebc5f6ebd6c990635e9641871cdc4548120","ref":"refs/heads/main","pushedAt":"2024-08-20T20:42:22.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"provide the transaction page date filter query corresponding to the selected topN month when clicking on the analytics topN money-in/out \"View All transactions\" button","shortMessageHtmlLink":"provide the transaction page date filter query corresponding to the s…"}},{"before":"5573c0a8f3125d8b1dde406b4052e30277b462e8","after":"f2ca5fdb857d12de750cc317ac1f19174b6bb646","ref":"refs/heads/main","pushedAt":"2024-08-18T06:47:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ topN employees by monthly spending to analytics dashboard","shortMessageHtmlLink":"+ topN employees by monthly spending to analytics dashboard"}},{"before":"dc815ca7ce77494f72bfab51e2498945880f68a3","after":"5573c0a8f3125d8b1dde406b4052e30277b462e8","ref":"refs/heads/main","pushedAt":"2024-08-17T06:02:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"display a mini money-out bar chart on the transaction page footer; swap money-out with money-in every 10 seconds; rotate daily transfer accrual amounts every 5 seconds","shortMessageHtmlLink":"display a mini money-out bar chart on the transaction page footer; sw…"}},{"before":"3dda203e272981095470c45c45bd673eedd59584","after":"dc815ca7ce77494f72bfab51e2498945880f68a3","ref":"refs/heads/main","pushedAt":"2024-08-16T05:55:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"fix daily transfer accrued postgres view","shortMessageHtmlLink":"fix daily transfer accrued postgres view"}},{"before":"75622e82e463786b55e1d2f478ffac92d19c4623","after":"3dda203e272981095470c45c45bd673eedd59584","ref":"refs/heads/main","pushedAt":"2024-08-16T05:37:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"differentiate internal transfers within an org vs internal transfers between orgs & update corresponding analytics queries; assign a primary account to receive transfers from other orgs if opted into social transfer discovery; transfer form accompanying internal transfers between orgs and a search input for orgs; remove requirement to register internal accounts before sending money to them - instead allowing user to select between accounts within their org or use a search-select for sending money to other orgs","shortMessageHtmlLink":"differentiate internal transfers within an org vs internal transfers …"}},{"before":"ff6e4fed9b5de47fba1f48f7286f4d000056e4a2","after":"75622e82e463786b55e1d2f478ffac92d19c4623","ref":"refs/heads/main","pushedAt":"2024-08-11T18:36:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ analytics dashboard","shortMessageHtmlLink":"+ analytics dashboard"}},{"before":"03638087b82a999d19d33759b6ce4cf430819412","after":"ff6e4fed9b5de47fba1f48f7286f4d000056e4a2","ref":"refs/heads/main","pushedAt":"2024-07-30T21:26:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ accounts dashboard; rename previous account dashboard as transaction dashboard; separate core types from aggregate types for account domain; fix accrued transfers postgres view not working for accounts that have not had a billing cycle yet","shortMessageHtmlLink":"+ accounts dashboard; rename previous account dashboard as transactio…"}},{"before":"dcbd65491a573548593340986d1a418860bb251a","after":"03638087b82a999d19d33759b6ce4cf430819412","ref":"refs/heads/main","pushedAt":"2024-07-28T19:58:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"move library components to separate folder; fix unclickable pagination buttons due to invisible action menu container overlap","shortMessageHtmlLink":"move library components to separate folder; fix unclickable paginatio…"}},{"before":"c96e17ad1cae9ce69d49fa2b4dd879dd32d4b1ac","after":"dcbd65491a573548593340986d1a418860bb251a","ref":"refs/heads/main","pushedAt":"2024-07-26T22:27:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"fix stale daily transfer accrued values; display balance in account selections","shortMessageHtmlLink":"fix stale daily transfer accrued values; display balance in account s…"}},{"before":"8b74ca8868892cc0a3f6f050d5029b0d559d6ced","after":"c96e17ad1cae9ce69d49fa2b4dd879dd32d4b1ac","ref":"refs/heads/main","pushedAt":"2024-07-24T22:34:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ cards dashboard","shortMessageHtmlLink":"+ cards dashboard"}},{"before":"1fc4399bc7a1970d24d99de8f22a720a3c191289","after":"8b74ca8868892cc0a3f6f050d5029b0d559d6ced","ref":"refs/heads/main","pushedAt":"2024-07-12T21:51:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"+ screen overlay portal which slides into view to display components such as EmployeeEdit, CreateEmployee, Deposit, Transfer, TransactionDetail, etc.; Refactor React SignalR context provider to encapsulate all SignalR related logic including a custom hook for subscribing to event sourced account data; + user session with RBAC implemented over routes. set up UI to be able to start implementing role based feature access; + track employee id responsible for initiating any event sourced data; + employee invitation workflow including initiation, confirmation & potential cancellation; + resend invitation email with invite token refresh; + controls for updating employee role, disabling access & restoring access; view & filter employee history by a selection of employees, a selection of users who initiated the action, some selection of action types, or a date range; employee history table includes the name of the user who initiated the event & the name of the user who the event pertains to; view & filter employees by a selection of employees by a name/email search input; create new employees with a specified role - if role is CardOnly then automatically create a virtual card following the employee creation; disable purchases when employee card is frozen or expired; configure Akka cluster to be able to send emails from web nodes instead of just account nodes; place SignalR logic into separate fsproj; + multi-select checkbox component; + dropdown component; + FilterPill component; + ControlPanel component to display selected filter pills, a menu for filtering & being able to inject filter components based on configuration provided from parent components such as TransactionTable & EmployeeHistory dashboard; + EmployeeMultiSelectSearch component; + component to display role based permissions/restrictions during employee role selection; compute end of pagination from inside pagination component instead of outside; fix broken back/forward button when applying filter pills in account transaction table, employee table, & employee history table; move org & account profile fetching into a context provider; + user session provider","shortMessageHtmlLink":"+ screen overlay portal which slides into view to display components …"}},{"before":"0dce5041fc1bc2d2049e4daa4d89a8b0254f963a","after":"1fc4399bc7a1970d24d99de8f22a720a3c191289","ref":"refs/heads/main","pushedAt":"2024-06-17T20:27:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"initialize site navigation via sidebar menu","shortMessageHtmlLink":"initialize site navigation via sidebar menu"}},{"before":"45e838fec1fef09b0e3803c222225e7afd71fa7b","after":"0dce5041fc1bc2d2049e4daa4d89a8b0254f963a","ref":"refs/heads/main","pushedAt":"2024-06-17T16:00:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"collapse name, origin & info columns of txn table into 1 descriptive info column","shortMessageHtmlLink":"collapse name, origin & info columns of txn table into 1 descriptive …"}},{"before":"0446e30e60adc332383326a20eed95dfd98cc02d","after":"45e838fec1fef09b0e3803c222225e7afd71fa7b","ref":"refs/heads/main","pushedAt":"2024-06-15T06:20:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danne931","name":"Daniel Eisenbarger","path":"/danne931","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4181901?s=80&v=4"},"commit":{"message":"employee domain: Accounts now refer to company checking/savings accounts rather than individual user accounts; employee actor-based event sourcing including creating employees, creating debit cards for employees, locking cards, setting daily card allowances, approval process for purchase requests to account actor; set up employee and employee_event read model syncing; update UI to update daily card allowances and mock purchases for a given employee card; employee-search to card-select component hooked up to a DB query for similarity score on employee name/email","shortMessageHtmlLink":"employee domain: Accounts now refer to company checking/savings accou…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEqYSA1QA","startCursor":null,"endCursor":null}},"title":"Activity · danne931/akka-dotnet-bank"}