Code Monkey home page Code Monkey logo

macos-receiver's People

Contributors

comawill avatar tijme avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

macos-receiver's Issues

Inconsistent notification delivery time.

On MacOS Sonoma, sometimes the notifications come very late after receiving the code in the clipboard (sometimes even after a minute).

It does not always happen, though.
It does not affect app functionality, but it is annoying.

Ravio compatibility with macos 10.14

Apologies if this isn't the correct place to ask. But is there a way to run macos-receiver on macos 10.14 mojave? An older build perhaps?

If not, is there any other way to make Ravio for iOS send codes to my mac somehow? Thanks

Fully fledged app - Receive OTP codes independent from iOS clients

Hello,

Coming from Authy, the single missing feature is the ability to receive OTP codes on the Mac independent from the iOS clients. Currently, it's inconvenient to have to pick up the phone instead of directly copying the code on the Mac, and even worse, if I happen to be unable to access the iOS clients, I would not be able to provide the code and log in.

Apologies if this is an unreasonable request, I read the GitHub repos and Reddit threads but didn't see this request come up.

Full-fledge app

I know this is a receiver, but it would be great if we could also view/browse the top codes on the Mac app.

Thanks

Hide "Raivo" Text in Menu Bar Icon

I just updated to Ventura today. After I rebooted I suddenly have the menu bar icon plus the text "Raivo" to the right of it. I saw an open issue about hiding the icon, but I would really like to just remove the "Raivo" text and leave the icon itself as it's using around 3x the space in the menu bar now.
Screenshot 2022-10-30 at 9 31 32 PM

New App Icon for macOS

Hello,
I just recreated the app icon, like the iOS app icon.
I think it would look better in the Launchpad and will match with the other app icons.
If you want I can send you the psd file with all icon sizes. Let me know what you think.

raivo-otp-app-icon

Standalone MacOS App?

I think that it would be greatly appreciated by many if there could be a MacOS app that is basically just the iOS version, but on Mac. I heard that Mac Catalyst can basically just allow for iOS apps to run MacOS, so that could be a possibility to easily make a MacOS app.

How to enable synchronization?

Under Ravio OTP Settings, there is no option to enable synchronisation. How to enable it?

How does the toggle button under iOS Settings > Apple ID > iCloud relate to the app? Why is the toggle button on, when synchronization is disabled in the app?

Support for lower versions of MacOS

According to this site, many users of MacOS are still on versions lower than Big Sur, and many of us cannot update on our older computers. It would be fantastic if this app supported lower versions!

Option to hide the menubar icon

Hi there,

Some of us already have many menubar icons for all sorts of information and this app is configured once. It doesn't need any additional configuration afterwards.
Like many other apps that actually don't need an always visible icon in the menu bar, this also can be "just there when you need it".
An example app: https://github.com/MonitorControl/MonitorControl

Notifications not working on MacOS Ventura

I am running the Beta 4 version of Ventura (MacOS 13). The Raivo app is still installed on the iPhone and on the MacBook and both appear to run normally. However, the receiver does not appear to get the passwords from the app. I have tried reconnecting the app and receiver with no luck. The receiver works as expected on another Macbook with MacOS 12.

MacOS 10.15 Catalina Support

Hi, I'm on MacOS 10.15 and AppStore says just 11.0 and above supported. readme.md says otherwise with Caralina support, I tried to build myself on Xcode changing the minimum version and no luck :( Is there a way to use it? My Macbook doesn't support 11.0.

Thanks

Direct download link for macOS?

I would like to add the Raivo OTP application to the homebrew ecosystem (as a small project of my own to get started with contributing to the Open Source community).

Could you provide me with a direct download link to the package/bundle? @tijme

Thanks!

Option to install Raivo without the Apple App Store

I do not use an Apple ID for privacy reasons so I download most of my apps from official websites, GitHub, homebrew and cask.

Would be nice to have dmg in the GitHub release or supporting the homebrew repository so I can avoid the Mac App Store.

Receiver crashes while taping the "Get started" button in the "Welcom" tab or switching to the "QR code" tab

Here is the crash report:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Raivo OTP [703]
Path:                  /Applications/Raivo OTP.app/Contents/MacOS/Raivo OTP
Identifier:            me.tij.Raivo-MacOS
Version:               1.0.4 (13)
App Item ID:           1498497896
App External ID:       846685249
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2022-02-18 17:54:17.8782 +0800
OS Version:            macOS 12.2.1 (21D62)
Report Version:        12
Bridge OS Version:     6.2 (19P744)
Anonymous UUID:        9277A206-6854-CAE9-2C8F-F4B4BC34F2FF


Time Awake Since Boot: 1100 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace SIGNAL, Code 4 Illegal instruction: 4
Terminating Process:   exc handler [703]

ID   Vend/Dev
a960 73ff1002
Seconds Ago   ID   Type
     1100.0   a960 Attach


Application Specific Information:
Performing @selector(segmentedControlAction:) from sender NSSegmentedControl 0x7f7b67925020
Raivo_OTP/LinkingView.swift:69: Fatal error: 'try!' expression unexpectedly raised an error: KeychainError.itemNotFound


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libswiftCore.dylib            	    0x7ff81251ba6b _assertionFailure(_:_:file:line:flags:) + 427
1   libswiftCore.dylib            	    0x7ff81256df7d swift_unexpectedError + 781
2   Raivo OTP                     	       0x109a0118b 0x1099ee000 + 78219
3   Raivo OTP                     	       0x109a00210 0x1099ee000 + 74256
4   Raivo OTP                     	       0x1099fff44 0x1099ee000 + 73540
5   Raivo OTP                     	       0x109a005a9 0x1099ee000 + 75177
6   SwiftUI                       	    0x7ff90fbcbb6a partial apply for closure #1 in ViewBodyAccessor.updateBody(of:changed:) + 22
7   SwiftUI                       	    0x7ff90ff5932d closure #1 in BodyAccessor.setBody(_:) + 34
8   SwiftUI                       	    0x7ff90fbcba8d ViewBodyAccessor.updateBody(of:changed:) + 1311
9   SwiftUI                       	    0x7ff90ff598d7 DynamicBody.updateValue() + 442
10  SwiftUI                       	    0x7ff90fa65721 partial apply for implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 26
11  AttributeGraph                	    0x7ff91079e32d AG::Graph::UpdateStack::update() + 553
12  AttributeGraph                	    0x7ff91079e92d AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 421
13  AttributeGraph                	    0x7ff9107a4ed8 AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 554
14  AttributeGraph                	    0x7ff9107bb9a0 AGGraphGetValue + 204
15  SwiftUI                       	    0x7ff90ff593b9 StaticBody.container.getter + 67
16  SwiftUI                       	    0x7ff90ff59481 StaticBody.updateValue() + 146
17  SwiftUI                       	    0x7ff90fa65721 partial apply for implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 26
18  AttributeGraph                	    0x7ff91079e32d AG::Graph::UpdateStack::update() + 553
19  AttributeGraph                	    0x7ff91079e92d AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 421
20  AttributeGraph                	    0x7ff9107a4ed8 AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 554
21  AttributeGraph                	    0x7ff9107bb9a0 AGGraphGetValue + 204
22  SwiftUI                       	    0x7ff90ff92c5b ForEachState.Info.Init.view.getter + 69
23  SwiftUI                       	    0x7ff90ff92d51 ForEachState.Info.Init.value.getter + 138
24  SwiftUI                       	    0x7ff90ff92e22 protocol witness for Rule.value.getter in conformance ForEachState<A, B, C>.Info.Init + 51
25  AttributeGraph                	    0x7ff9107bf1a7 dispatch thunk of Rule.value.getter + 7
26  SwiftUI                       	    0x7ff90f94dc75 implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 113
27  AttributeGraph                	    0x7ff91079e32d AG::Graph::UpdateStack::update() + 553
28  AttributeGraph                	    0x7ff91079e92d AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 421
29  AttributeGraph                	    0x7ff9107a4ed8 AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 554
30  AttributeGraph                	    0x7ff9107bb9a0 AGGraphGetValue + 204
31  SwiftUI                       	    0x7ff90ff94e19 ForEachList.Init.info.getter + 67
32  SwiftUI                       	    0x7ff90ff94ea0 ForEachList.Init.updateValue() + 105
33  SwiftUI                       	    0x7ff90fa65721 partial apply for implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 26
34  AttributeGraph                	    0x7ff91079e32d AG::Graph::UpdateStack::update() + 553
35  AttributeGraph                	    0x7ff91079e92d AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 421
36  AttributeGraph                	    0x7ff9107a4ed8 AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 554
37  AttributeGraph                	    0x7ff9107bb9a0 AGGraphGetValue + 204
38  SwiftUI                       	    0x7ff910368b6a DynamicLayoutViewAdaptor.updatedItems() + 59
39  SwiftUI                       	    0x7ff91006d5a9 specialized DynamicContainerInfo.updateItems(disableTransitions:) + 53
40  SwiftUI                       	    0x7ff91006bcf7 specialized DynamicContainerInfo.updateValue() + 419
41  SwiftUI                       	    0x7ff9101035a1 partial apply for specialized implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:) + 15
42  AttributeGraph                	    0x7ff91079e32d AG::Graph::UpdateStack::update() + 553
43  AttributeGraph                	    0x7ff91079e92d AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 421
44  AttributeGraph                	    0x7ff9107a8e28 AG::Subgraph::update(unsigned int) + 894
45  SwiftUI                       	    0x7ff90fba5d0f ViewGraph.updateOutputs() + 246
46  SwiftUI                       	    0x7ff910392eb6 closure #1 in ViewRendererHost.render(interval:updateDisplayList:) + 2044
47  SwiftUI                       	    0x7ff910380fbe ViewRendererHost.render(interval:updateDisplayList:) + 359
48  SwiftUI                       	    0x7ff9103dbd56 closure #1 in NSHostingView.layout() + 126
49  SwiftUI                       	    0x7ff9103e4ce7 partial apply for thunk for @callee_guaranteed (@guaranteed NSAnimationContext) -> () + 17
50  SwiftUI                       	    0x7ff9103d93fd thunk for @escaping @callee_guaranteed (@guaranteed NSAnimationContext) -> () + 36
51  AppKit                        	    0x7ff807bd1152 +[NSAnimationContext runAnimationGroup:] + 55
52  SwiftUI                       	    0x7ff9103dbc8a NSHostingView.layout() + 287
53  SwiftUI                       	    0x7ff9103dc08a @objc NSHostingView.layout() + 21
54  AppKit                        	    0x7ff807c0cd7f _NSViewLayout + 564
55  AppKit                        	    0x7ff807c0c851 -[NSView _layoutSubtreeWithOldSize:] + 352
56  AppKit                        	    0x7ff807c0bd68 -[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:] + 1041
57  AppKit                        	    0x7ff807dbb1b8 -[NSView replaceSubview:with:options:completionHandler:] + 312
58  Raivo OTP                     	       0x109a4decf 0x1099ee000 + 392911
59  Raivo OTP                     	       0x109a4dabd 0x1099ee000 + 391869
60  Raivo OTP                     	       0x109a534f8 0x1099ee000 + 414968
61  AppKit                        	    0x7ff807dba97d -[NSApplication(NSResponder) sendAction:to:from:] + 288
62  AppKit                        	    0x7ff807dba824 -[NSControl sendAction:to:] + 86
63  AppKit                        	    0x7ff807dba756 __26-[NSCell _sendActionFrom:]_block_invoke + 131
64  AppKit                        	    0x7ff807dba65f -[NSCell _sendActionFrom:] + 171
65  AppKit                        	    0x7ff807eb5c09 -[NSSegmentedCell _sendActionFrom:] + 161
66  AppKit                        	    0x7ff807db7414 NSControlTrackMouse + 1817
67  AppKit                        	    0x7ff807db6cd7 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 121
68  AppKit                        	    0x7ff807eb534e -[NSSegmentedCell trackMouse:inRect:ofView:untilMouseUp:] + 723
69  AppKit                        	    0x7ff807db5f78 -[NSControl mouseDown:] + 678
70  AppKit                        	    0x7ff807db4457 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4949
71  AppKit                        	    0x7ff807d28390 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2582
72  AppKit                        	    0x7ff807d2775a -[NSWindow(NSEventRouting) sendEvent:] + 352
73  Raivo OTP                     	       0x109a55395 0x1099ee000 + 422805
74  AppKit                        	    0x7ff807d25b28 -[NSApplication(NSEvent) sendEvent:] + 352
75  AppKit                        	    0x7ff807fdf1a7 -[NSApplication _handleEvent:] + 65
76  AppKit                        	    0x7ff807ba693e -[NSApplication run] + 623
77  AppKit                        	    0x7ff807b7a7b7 NSApplicationMain + 816
78  Raivo OTP                     	       0x1099f079c 0x1099ee000 + 10140
79  dyld                          	       0x10de2f4fe start + 462

Thread 1:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	    0x7ff805084aba mach_msg_trap + 10
1   libsystem_kernel.dylib        	    0x7ff805084e2b mach_msg + 59
2   CoreFoundation                	    0x7ff805188af2 __CFRunLoopServiceMachPort + 319
3   CoreFoundation                	    0x7ff8051871cb __CFRunLoopRun + 1325
4   CoreFoundation                	    0x7ff8051865dd CFRunLoopRunSpecific + 563
5   AppKit                        	    0x7ff807d23fd8 _NSEventThread + 132
6   libsystem_pthread.dylib       	    0x7ff8050c14f4 _pthread_start + 125
7   libsystem_pthread.dylib       	    0x7ff8050bd00f thread_start + 15

Thread 2:
0   libsystem_pthread.dylib       	    0x7ff8050bcfec start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib       	    0x7ff8050bcfec start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib       	    0x7ff8050bcfec start_wqthread + 0

Thread 5:
0   libsystem_pthread.dylib       	    0x7ff8050bcfec start_wqthread + 0

Thread 6:
0   libsystem_pthread.dylib       	    0x7ff8050bcfec start_wqthread + 0


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000200000003  rbx: 0x000000000000000b  rcx: 0xfffffffe00000000  rdx: 0x0000000000000003
  rdi: 0x0000600003f98378  rsi: 0x00006000026a9500  rbp: 0x00007ff7b650e0d0  rsp: 0x00007ff7b650e040
   r8: 0x0000000000001500   r9: 0x0000000000000080  r10: 0x00000000000007fb  r11: 0x0000000000000080
  r12: 0x0000000109a77cb0  r13: 0x000000000000004a  r14: 0x00007ff812876404  r15: 0x0000600003f98370
  rip: 0x00007ff81251ba6b  rfl: 0x0000000000010246  cr2: 0x0000000169bd4000
  
Logical CPU:     2
Error Code:      0x00000000 
Trap Number:     6

Thread 0 instruction stream:
  db 00 00 00 48 b8 00 00-00 00 00 00 00 10 49 85  ....H.........I.
  c5 0f 84 a2 01 00 00 48-83 c0 ff 4c 89 ff 48 21  .......H...L..H!
  c7 48 83 c7 20 48 b8 ff-ff ff ff ff ff 00 00 49  .H.. H.........I
  21 c5 48 83 ec 08 44 0f-b6 c1 4c 89 ee 4c 89 e2  !.H...D...L..L..
  48 8b 4d 10 4d 89 f1 8b-45 28 50 ff 75 20 53 e8  H.M.M...E(P.u S.
  31 10 00 00 48 83 c4 20-4c 89 ff e8 05 3f 30 00  1...H.. L....?0.
 [0f]0b 48 83 ec 08 48 8d-05 78 aa 35 00 48 8d 3d  ..H...H..x.5.H.=	<==
  85 a9 35 00 48 8d 0d 3a-aa 35 00 be 0b 00 00 00  ..5.H..:.5......
  41 b8 2d 00 00 00 ba 02-00 00 00 41 b9 02 00 00  A.-........A....
  00 6a 01 68 77 0d 00 00-6a 02 6a 14 50 e8 13 02  .j.hw...j.j.P...
  00 00 48 83 ec 08 48 8d-05 e8 b7 35 00 48 8d 3d  ..H...H....5.H.=
  45 a9 35 00 48 8d 0d 5a-ac 35 00 be 0b 00 00 00  E.5.H..Z.5......

Binary Images:
    0x7ff8124e9000 -     0x7ff8128a2fff libswiftCore.dylib (*) <bb94747f-126a-35bd-ba02-b5328b7790b6> /usr/lib/swift/libswiftCore.dylib
       0x1099ee000 -        0x109a81fff me.tij.Raivo-MacOS (1.0.4) <dfeef79f-c06c-335b-855d-45b3bf6aaa9b> /Applications/Raivo OTP.app/Contents/MacOS/Raivo OTP
    0x7ff90f938000 -     0x7ff910797fff com.apple.SwiftUI (3.3.1) <26bd603b-a520-34e4-847f-c847b9d40f2b> /System/Library/Frameworks/SwiftUI.framework/Versions/A/SwiftUI
    0x7ff910798000 -     0x7ff9107cefff com.apple.AttributeGraph (3.2.1) <89bb4a08-65a2-3618-915b-6c64bae4e4db> /System/Library/PrivateFrameworks/AttributeGraph.framework/Versions/A/AttributeGraph
    0x7ff807b77000 -     0x7ff808a08fff com.apple.AppKit (6.9) <9d3ab204-4858-3120-b002-5c38b02edec4> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
       0x10de2a000 -        0x10de95fff dyld (*) <7de33963-bbc5-3996-ba6e-f1d562c17c95> /usr/lib/dyld
    0x7ff805084000 -     0x7ff8050bafff libsystem_kernel.dylib (*) <c1d58a50-5a4d-3bcb-a1fc-ec0902ce34d3> /usr/lib/system/libsystem_kernel.dylib
    0x7ff805108000 -     0x7ff80560afff com.apple.CoreFoundation (6.9) <9b112884-be6c-3c7f-9a2a-a47c491105db> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7ff8050bb000 -     0x7ff8050c6fff libsystem_pthread.dylib (*) <ee564342-d8f2-396d-b642-40092cf34d82> /usr/lib/system/libsystem_pthread.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.1G resident=0K(0%) swapped_out_or_unallocated=1.1G(100%)
Writable regions: Total=623.2M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=623.2M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               512K        4 
Activity Tracing                   256K        1 
CG image                            56K        6 
ColorSync                          232K       27 
CoreAnimation                      724K       67 
CoreGraphics                        16K        3 
CoreUI image data                  540K        9 
Foundation                          16K        1 
Kernel Alloc Once                    8K        1 
MALLOC                           225.7M       62 
MALLOC guard page                   32K        8 
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
STACK GUARD                       56.0M        7 
Stack                             11.0M        7 
VM_ALLOCATE                       1100K       14 
__DATA                            29.5M      496 
__DATA_CONST                      28.8M      326 
__DATA_DIRTY                      1620K      202 
__FONT_DATA                          4K        1 
__LINKEDIT                       641.4M        9 
__OBJC_RO                         81.8M        1 
__OBJC_RW                         3136K        2 
__TEXT                           482.9M      517 
__UNICODE                          588K        1 
dyld private memory               1024K        1 
mapped file                      161.6M       26 
shared memory                      772K       16 
===========                     =======  ======= 
TOTAL                              2.1G     1816 
TOTAL, minus reserved VM space     1.7G     1816 



-----------
Full Report
-----------

{"app_name":"Raivo OTP","timestamp":"2022-02-18 17:54:44.00 +0800","app_version":"1.0.4","slice_uuid":"dfeef79f-c06c-335b-855d-45b3bf6aaa9b","adam_id":"1498497896","build_version":"13","platform":1,"bundleID":"me.tij.Raivo-MacOS","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.2.1 (21D62)","incident_id":"F0D99497-F77B-4AB5-8837-16433D0F9AF9","name":"Raivo OTP"}
{
  "uptime" : 1100,
  "procLaunch" : "2022-02-18 17:36:01.3256 +0800",
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro16,2",
  "procStartAbsTime" : 44827023564,
  "coalitionID" : 768,
  "osVersion" : {
    "train" : "macOS 12.2.1",
    "build" : "21D62",
    "releaseType" : "User"
  },
  "captureTime" : "2022-02-18 17:54:17.8782 +0800",
  "incident" : "F0D99497-F77B-4AB5-8837-16433D0F9AF9",
  "bug_type" : "309",
  "pid" : 703,
  "procExitAbsTime" : 1141302184966,
  "cpuType" : "X86-64",
  "procName" : "Raivo OTP",
  "procPath" : "\/Applications\/Raivo OTP.app\/Contents\/MacOS\/Raivo OTP",
  "bundleInfo" : {"CFBundleShortVersionString":"1.0.4","CFBundleVersion":"13","CFBundleIdentifier":"me.tij.Raivo-MacOS"},
  "storeInfo" : {"storeCohortMetadata":"10|date=1630992600000&sf=143455&rdom=github.com&rapp=com.apple.Safari&pgtp=Software&pgid=1498497896&ctxt=Discover","itemID":"1498497896","deviceIdentifierForVendor":"B549F300-0E33-55DE-ABBF-87F931F8567E","thirdParty":true,"softwareVersionExternalIdentifier":"846685249"},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "me.tij.Raivo-MacOS",
  "crashReporterKey" : "9277A206-6854-CAE9-2C8F-F4B4BC34F2FF",
  "bridgeVersion" : {"build":"19P744","train":"6.2"},
  "sip" : "enabled",
  "externalGPUInfo" : "ID   Vend\/Dev\na960 73ff1002\nSeconds Ago   ID   Type\n     1100.0   a960 Attach\n",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000001, 0x0000000000000000","rawCodes":[1,0],"type":"EXC_BAD_INSTRUCTION","signal":"SIGILL"},
  "termination" : {"flags":0,"code":4,"namespace":"SIGNAL","indicator":"Illegal instruction: 4","byProc":"exc handler","byPid":703},
  "asi" : {"AppKit":["Performing @selector(segmentedControlAction:) from sender NSSegmentedControl 0x7f7b67925020"],"libswiftCore.dylib":["Raivo_OTP\/LinkingView.swift:69: Fatal error: 'try!' expression unexpectedly raised an error: KeychainError.itemNotFound"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":6260,"instructionState":{"instructionStream":{"bytes":[219,0,0,0,72,184,0,0,0,0,0,0,0,16,73,133,197,15,132,162,1,0,0,72,131,192,255,76,137,255,72,33,199,72,131,199,32,72,184,255,255,255,255,255,255,0,0,73,33,197,72,131,236,8,68,15,182,193,76,137,238,76,137,226,72,139,77,16,77,137,241,139,69,40,80,255,117,32,83,232,49,16,0,0,72,131,196,32,76,137,255,232,5,63,48,0,15,11,72,131,236,8,72,141,5,120,170,53,0,72,141,61,133,169,53,0,72,141,13,58,170,53,0,190,11,0,0,0,65,184,45,0,0,0,186,2,0,0,0,65,185,2,0,0,0,106,1,104,119,13,0,0,106,2,106,20,80,232,19,2,0,0,72,131,236,8,72,141,5,232,183,53,0,72,141,61,69,169,53,0,72,141,13,90,172,53,0,190,11,0,0,0],"offset":96}},"threadState":{"r13":{"value":74},"rax":{"value":8589934595},"rflags":{"value":66118},"cpu":{"value":2},"r14":{"value":140703439479812},"rsi":{"value":105553156805888},"r8":{"value":5376},"cr2":{"value":6068977664},"rdx":{"value":3},"r10":{"value":2043},"r9":{"value":128},"r15":{"value":105553182950256},"rbx":{"value":11},"trap":{"value":6},"err":{"value":0},"r11":{"value":128},"rip":{"value":140703435962987,"matchesCrashFrame":1},"rbp":{"value":140701892403408},"rsp":{"value":140701892403264},"r12":{"value":4456938672},"rcx":{"value":18446744065119617024},"flavor":"x86_THREAD_STATE","rdi":{"value":105553182950264}},"queue":"com.apple.main-thread","frames":[{"imageOffset":207467,"symbol":"_assertionFailure(_:_:file:line:flags:)","symbolLocation":427,"imageIndex":0},{"imageOffset":544637,"symbol":"swift_unexpectedError","symbolLocation":781,"imageIndex":0},{"imageOffset":78219,"imageIndex":1},{"imageOffset":74256,"imageIndex":1},{"imageOffset":73540,"imageIndex":1},{"imageOffset":75177,"imageIndex":1},{"imageOffset":2702186,"symbol":"partial apply for closure #1 in ViewBodyAccessor.updateBody(of:changed:)","symbolLocation":22,"imageIndex":2},{"imageOffset":6427437,"symbol":"closure #1 in BodyAccessor.setBody(_:)","symbolLocation":34,"imageIndex":2},{"imageOffset":2701965,"symbol":"ViewBodyAccessor.updateBody(of:changed:)","symbolLocation":1311,"imageIndex":2},{"imageOffset":6428887,"symbol":"DynamicBody.updateValue()","symbolLocation":442,"imageIndex":2},{"imageOffset":1234721,"symbol":"partial apply for implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:)","symbolLocation":26,"imageIndex":2},{"imageOffset":25389,"symbol":"AG::Graph::UpdateStack::update()","symbolLocation":553,"imageIndex":3},{"imageOffset":26925,"symbol":"AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int)","symbolLocation":421,"imageIndex":3},{"imageOffset":52952,"symbol":"AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long)","symbolLocation":554,"imageIndex":3},{"imageOffset":145824,"symbol":"AGGraphGetValue","symbolLocation":204,"imageIndex":3},{"imageOffset":6427577,"symbol":"StaticBody.container.getter","symbolLocation":67,"imageIndex":2},{"imageOffset":6427777,"symbol":"StaticBody.updateValue()","symbolLocation":146,"imageIndex":2},{"imageOffset":1234721,"symbol":"partial apply for implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:)","symbolLocation":26,"imageIndex":2},{"imageOffset":25389,"symbol":"AG::Graph::UpdateStack::update()","symbolLocation":553,"imageIndex":3},{"imageOffset":26925,"symbol":"AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int)","symbolLocation":421,"imageIndex":3},{"imageOffset":52952,"symbol":"AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long)","symbolLocation":554,"imageIndex":3},{"imageOffset":145824,"symbol":"AGGraphGetValue","symbolLocation":204,"imageIndex":3},{"imageOffset":6663259,"symbol":"ForEachState.Info.Init.view.getter","symbolLocation":69,"imageIndex":2},{"imageOffset":6663505,"symbol":"ForEachState.Info.Init.value.getter","symbolLocation":138,"imageIndex":2},{"imageOffset":6663714,"symbol":"protocol witness for Rule.value.getter in conformance ForEachState<A, B, C>.Info.Init","symbolLocation":51,"imageIndex":2},{"imageOffset":160167,"symbol":"dispatch thunk of Rule.value.getter","symbolLocation":7,"imageIndex":3},{"imageOffset":89205,"symbol":"implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:)","symbolLocation":113,"imageIndex":2},{"imageOffset":25389,"symbol":"AG::Graph::UpdateStack::update()","symbolLocation":553,"imageIndex":3},{"imageOffset":26925,"symbol":"AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int)","symbolLocation":421,"imageIndex":3},{"imageOffset":52952,"symbol":"AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long)","symbolLocation":554,"imageIndex":3},{"imageOffset":145824,"symbol":"AGGraphGetValue","symbolLocation":204,"imageIndex":3},{"imageOffset":6671897,"symbol":"ForEachList.Init.info.getter","symbolLocation":67,"imageIndex":2},{"imageOffset":6672032,"symbol":"ForEachList.Init.updateValue()","symbolLocation":105,"imageIndex":2},{"imageOffset":1234721,"symbol":"partial apply for implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:)","symbolLocation":26,"imageIndex":2},{"imageOffset":25389,"symbol":"AG::Graph::UpdateStack::update()","symbolLocation":553,"imageIndex":3},{"imageOffset":26925,"symbol":"AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int)","symbolLocation":421,"imageIndex":3},{"imageOffset":52952,"symbol":"AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long)","symbolLocation":554,"imageIndex":3},{"imageOffset":145824,"symbol":"AGGraphGetValue","symbolLocation":204,"imageIndex":3},{"imageOffset":10685290,"symbol":"DynamicLayoutViewAdaptor.updatedItems()","symbolLocation":59,"imageIndex":2},{"imageOffset":7558569,"symbol":"specialized DynamicContainerInfo.updateItems(disableTransitions:)","symbolLocation":53,"imageIndex":2},{"imageOffset":7552247,"symbol":"specialized DynamicContainerInfo.updateValue()","symbolLocation":419,"imageIndex":2},{"imageOffset":8172961,"symbol":"partial apply for specialized implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<A>(_:)","symbolLocation":15,"imageIndex":2},{"imageOffset":25389,"symbol":"AG::Graph::UpdateStack::update()","symbolLocation":553,"imageIndex":3},{"imageOffset":26925,"symbol":"AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int)","symbolLocation":421,"imageIndex":3},{"imageOffset":69160,"symbol":"AG::Subgraph::update(unsigned int)","symbolLocation":894,"imageIndex":3},{"imageOffset":2546959,"symbol":"ViewGraph.updateOutputs()","symbolLocation":246,"imageIndex":2},{"imageOffset":10858166,"symbol":"closure #1 in ViewRendererHost.render(interval:updateDisplayList:)","symbolLocation":2044,"imageIndex":2},{"imageOffset":10784702,"symbol":"ViewRendererHost.render(interval:updateDisplayList:)","symbolLocation":359,"imageIndex":2},{"imageOffset":11156822,"symbol":"closure #1 in NSHostingView.layout()","symbolLocation":126,"imageIndex":2},{"imageOffset":11193575,"symbol":"partial apply for thunk for @callee_guaranteed (@guaranteed NSAnimationContext) -> ()","symbolLocation":17,"imageIndex":2},{"imageOffset":11146237,"symbol":"thunk for @escaping @callee_guaranteed (@guaranteed NSAnimationContext) -> ()","symbolLocation":36,"imageIndex":2},{"imageOffset":368978,"symbol":"+[NSAnimationContext runAnimationGroup:]","symbolLocation":55,"imageIndex":4},{"imageOffset":11156618,"symbol":"NSHostingView.layout()","symbolLocation":287,"imageIndex":2},{"imageOffset":11157642,"symbol":"@objc NSHostingView.layout()","symbolLocation":21,"imageIndex":2},{"imageOffset":613759,"symbol":"_NSViewLayout","symbolLocation":564,"imageIndex":4},{"imageOffset":612433,"symbol":"-[NSView _layoutSubtreeWithOldSize:]","symbolLocation":352,"imageIndex":4},{"imageOffset":609640,"symbol":"-[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:]","symbolLocation":1041,"imageIndex":4},{"imageOffset":2376120,"symbol":"-[NSView replaceSubview:with:options:completionHandler:]","symbolLocation":312,"imageIndex":4},{"imageOffset":392911,"imageIndex":1},{"imageOffset":391869,"imageIndex":1},{"imageOffset":414968,"imageIndex":1},{"imageOffset":2374013,"symbol":"-[NSApplication(NSResponder) sendAction:to:from:]","symbolLocation":288,"imageIndex":4},{"imageOffset":2373668,"symbol":"-[NSControl sendAction:to:]","symbolLocation":86,"imageIndex":4},{"imageOffset":2373462,"symbol":"__26-[NSCell _sendActionFrom:]_block_invoke","symbolLocation":131,"imageIndex":4},{"imageOffset":2373215,"symbol":"-[NSCell _sendActionFrom:]","symbolLocation":171,"imageIndex":4},{"imageOffset":3402761,"symbol":"-[NSSegmentedCell _sendActionFrom:]","symbolLocation":161,"imageIndex":4},{"imageOffset":2360340,"symbol":"NSControlTrackMouse","symbolLocation":1817,"imageIndex":4},{"imageOffset":2358487,"symbol":"-[NSCell trackMouse:inRect:ofView:untilMouseUp:]","symbolLocation":121,"imageIndex":4},{"imageOffset":3400526,"symbol":"-[NSSegmentedCell trackMouse:inRect:ofView:untilMouseUp:]","symbolLocation":723,"imageIndex":4},{"imageOffset":2355064,"symbol":"-[NSControl mouseDown:]","symbolLocation":678,"imageIndex":4},{"imageOffset":2348119,"symbol":"-[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:]","symbolLocation":4949,"imageIndex":4},{"imageOffset":1774480,"symbol":"-[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:]","symbolLocation":2582,"imageIndex":4},{"imageOffset":1771354,"symbol":"-[NSWindow(NSEventRouting) sendEvent:]","symbolLocation":352,"imageIndex":4},{"imageOffset":422805,"imageIndex":1},{"imageOffset":1764136,"symbol":"-[NSApplication(NSEvent) sendEvent:]","symbolLocation":352,"imageIndex":4},{"imageOffset":4620711,"symbol":"-[NSApplication _handleEvent:]","symbolLocation":65,"imageIndex":4},{"imageOffset":194878,"symbol":"-[NSApplication run]","symbolLocation":623,"imageIndex":4},{"imageOffset":14263,"symbol":"NSApplicationMain","symbolLocation":816,"imageIndex":4},{"imageOffset":10140,"imageIndex":1},{"imageOffset":21758,"symbol":"start","symbolLocation":462,"imageIndex":5}]},{"id":6285,"name":"com.apple.NSEventThread","frames":[{"imageOffset":2746,"symbol":"mach_msg_trap","symbolLocation":10,"imageIndex":6},{"imageOffset":3627,"symbol":"mach_msg","symbolLocation":59,"imageIndex":6},{"imageOffset":527090,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":319,"imageIndex":7},{"imageOffset":520651,"symbol":"__CFRunLoopRun","symbolLocation":1325,"imageIndex":7},{"imageOffset":517597,"symbol":"CFRunLoopRunSpecific","symbolLocation":563,"imageIndex":7},{"imageOffset":1757144,"symbol":"_NSEventThread","symbolLocation":132,"imageIndex":4},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":8},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":8}]},{"id":17335,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":24620,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":24653,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":24706,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":24707,"frames":[{"imageOffset":8172,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703435755520,
    "size" : 3907584,
    "uuid" : "bb94747f-126a-35bd-ba02-b5328b7790b6",
    "path" : "\/usr\/lib\/swift\/libswiftCore.dylib",
    "name" : "libswiftCore.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4456374272,
    "CFBundleShortVersionString" : "1.0.4",
    "CFBundleIdentifier" : "me.tij.Raivo-MacOS",
    "size" : 606208,
    "uuid" : "dfeef79f-c06c-335b-855d-45b3bf6aaa9b",
    "path" : "\/Applications\/Raivo OTP.app\/Contents\/MacOS\/Raivo OTP",
    "name" : "Raivo OTP",
    "CFBundleVersion" : "13"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140707684909056,
    "CFBundleShortVersionString" : "3.3.1",
    "CFBundleIdentifier" : "com.apple.SwiftUI",
    "size" : 15073280,
    "uuid" : "26bd603b-a520-34e4-847f-c847b9d40f2b",
    "path" : "\/System\/Library\/Frameworks\/SwiftUI.framework\/Versions\/A\/SwiftUI",
    "name" : "SwiftUI",
    "CFBundleVersion" : "3.3.1"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140707699982336,
    "CFBundleShortVersionString" : "3.2.1",
    "CFBundleIdentifier" : "com.apple.AttributeGraph",
    "size" : 225280,
    "uuid" : "89bb4a08-65a2-3618-915b-6c64bae4e4db",
    "path" : "\/System\/Library\/PrivateFrameworks\/AttributeGraph.framework\/Versions\/A\/AttributeGraph",
    "name" : "AttributeGraph",
    "CFBundleVersion" : "3.2.1"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703258079232,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.AppKit",
    "size" : 15278080,
    "uuid" : "9d3ab204-4858-3120-b002-5c38b02edec4",
    "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit",
    "name" : "AppKit",
    "CFBundleVersion" : "2113.30.116"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4527923200,
    "size" : 442368,
    "uuid" : "7de33963-bbc5-3996-ba6e-f1d562c17c95",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703213043712,
    "size" : 225280,
    "uuid" : "c1d58a50-5a4d-3bcb-a1fc-ec0902ce34d3",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64h",
    "base" : 140703213584384,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.CoreFoundation",
    "size" : 5255168,
    "uuid" : "9b112884-be6c-3c7f-9a2a-a47c491105db",
    "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
    "name" : "CoreFoundation",
    "CFBundleVersion" : "1856.107"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703213268992,
    "size" : 49152,
    "uuid" : "ee564342-d8f2-396d-b642-40092cf34d82",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  }
],
  "sharedCache" : {
  "base" : 140703210037248,
  "size" : 15216836608,
  "uuid" : "0939015d-8308-3e69-b095-bd928f835202"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=1.1G resident=0K(0%) swapped_out_or_unallocated=1.1G(100%)\nWritable regions: Total=623.2M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=623.2M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nAccelerate framework               512K        4 \nActivity Tracing                   256K        1 \nCG image                            56K        6 \nColorSync                          232K       27 \nCoreAnimation                      724K       67 \nCoreGraphics                        16K        3 \nCoreUI image data                  540K        9 \nFoundation                          16K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                           225.7M       62 \nMALLOC guard page                   32K        8 \nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                       56.0M        7 \nStack                             11.0M        7 \nVM_ALLOCATE                       1100K       14 \n__DATA                            29.5M      496 \n__DATA_CONST                      28.8M      326 \n__DATA_DIRTY                      1620K      202 \n__FONT_DATA                          4K        1 \n__LINKEDIT                       641.4M        9 \n__OBJC_RO                         81.8M        1 \n__OBJC_RW                         3136K        2 \n__TEXT                           482.9M      517 \n__UNICODE                          588K        1 \ndyld private memory               1024K        1 \nmapped file                      161.6M       26 \nshared memory                      772K       16 \n===========                     =======  ======= \nTOTAL                              2.1G     1816 \nTOTAL, minus reserved VM space     1.7G     1816 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "queue" : "com.apple.main-thread"
  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "607844aa04477260f58a8077",
      "factorPackIds" : {
        "SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
      },
      "deploymentId" : 240000066
    },
    {
      "rolloutId" : "60da5e84ab0ca017dace9abf",
      "factorPackIds" : {

      },
      "deploymentId" : 240000008
    },
    {
      "rolloutId" : "602ad4dac86151000cf27e46",
      "factorPackIds" : {
        "SIRI_DICTATION_ASSETS" : "6193d03f2171a2330e561dfc"
      },
      "deploymentId" : 240000297
    },
    {
      "rolloutId" : "5fc94383418129005b4e9ae0",
      "factorPackIds" : {

      },
      "deploymentId" : 240000225
    },
    {
      "rolloutId" : "601d9415f79519000ccd4b69",
      "factorPackIds" : {
        "SIRI_TEXT_TO_SPEECH" : "61f0405329647d394933a4c4"
      },
      "deploymentId" : 240000378
    },
    {
      "rolloutId" : "5ffde50ce2aacd000d47a95f",
      "factorPackIds" : {

      },
      "deploymentId" : 240000102
    }
  ],
  "experiments" : [

  ]
}
}

Start application in foreground on first run

When you first start Raivo OTP for macOS, you expect it to open a new window - because it doesn't tell you anywhere in the description of the app store that it will only start in the background (except for in the category, but I think most non-tech people won't know what a service program is). That confused me a lot in the beginning and I thought it didn't work.
Only later I realised that it's probably some service app and then I found it in the top bar.
Maybe have it open automatically on first start.

Also question: Is this program needed anymore since the shared clipboard now works flawlessly across Apple devices? (At least for me since macOS Ventura)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.