mirror of
https://github.com/CamHenlin/MessagesForMacintosh.git
synced 2024-09-27 07:54:38 +00:00
fix demo mode, reduce optimization of build to see if we can fix address errors on physical mac
This commit is contained in:
parent
4a457f94fb
commit
4e6a34a83f
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
set (CMAKE_C_FLAGS "-Ofast -Wuninitialized -Wmaybe-uninitialized -mcpu=68000 -mtune=68000 -m68000 -Wall")
|
set (CMAKE_C_FLAGS "-O3 -Wuninitialized -Wmaybe-uninitialized -mcpu=68000 -mtune=68000 -m68000 -Wall")
|
||||||
|
|
||||||
add_application(MessagesForMacintosh
|
add_application(MessagesForMacintosh
|
||||||
SerialHelper.c
|
SerialHelper.c
|
||||||
|
69
JS/index.js
69
JS/index.js
@ -7,6 +7,7 @@ const gql = require('graphql-tag')
|
|||||||
// TEST_MODE can be turned on or off to prevent communications with the Apollo iMessage Server running on your modern Mac
|
// TEST_MODE can be turned on or off to prevent communications with the Apollo iMessage Server running on your modern Mac
|
||||||
const TEST_MODE = false
|
const TEST_MODE = false
|
||||||
const DEBUG = false
|
const DEBUG = false
|
||||||
|
let lastMessageFromSerialPortTime
|
||||||
|
|
||||||
const defaultOptions = {
|
const defaultOptions = {
|
||||||
watchQuery: {
|
watchQuery: {
|
||||||
@ -304,11 +305,8 @@ let TEST_MESSAGES = [
|
|||||||
{chatter: `me`, text: `some cool old thing I said earlier`},
|
{chatter: `me`, text: `some cool old thing I said earlier`},
|
||||||
{chatter: `friend 2`, text: `this message is not relevant to the conversation! not at all :(`},
|
{chatter: `friend 2`, text: `this message is not relevant to the conversation! not at all :(`},
|
||||||
{chatter: `friend 1`, text: `i watch star wars in reverse order`},
|
{chatter: `friend 1`, text: `i watch star wars in reverse order`},
|
||||||
{chatter: `me`, text: `https://github.com/CamHenlin/MessagesForMacintosh https://github.com/CamHenlin/MessagesForMacintosh`},
|
{chatter: `me`, text: `https://github.com/CamHenlin/MessagesForMacintosh`},
|
||||||
{chatter: `friend 3`, text: `i'm just catching up`},
|
{chatter: `friend 3`, text: `old computers are fun`}
|
||||||
{chatter: `friend 3`, text: `nobody chat for a minute`},
|
|
||||||
{chatter: `friend 2`, text: `hang on`},
|
|
||||||
{chatter: `friend 1`, text: `no`}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
const TEST_CHATS = [
|
const TEST_CHATS = [
|
||||||
@ -317,15 +315,24 @@ const TEST_CHATS = [
|
|||||||
{friendlyName: `friend 4`, name: `friend 4`},
|
{friendlyName: `friend 4`, name: `friend 4`},
|
||||||
{friendlyName: `boss`, name: `boss`},
|
{friendlyName: `boss`, name: `boss`},
|
||||||
{friendlyName: `friend 3`, name: `friend 3`},
|
{friendlyName: `friend 3`, name: `friend 3`},
|
||||||
{friendlyName: `restaurant`, name: `restaurant`}
|
{friendlyName: `restaurant`, name: `restaurant`},
|
||||||
|
{friendlyName: `work`, name: `work`}
|
||||||
]
|
]
|
||||||
|
|
||||||
if (TEST_MODE) {
|
if (TEST_MODE) {
|
||||||
|
|
||||||
setInterval(() => {
|
// setInterval(() => {
|
||||||
|
|
||||||
TEST_MESSAGES = TEST_MESSAGES.concat({chatter: `friend 1`, text: Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 64)})
|
// let chatWords = Math.floor(Math.random() * 20) + 1
|
||||||
}, 10000)
|
// let chatMessage = ``
|
||||||
|
|
||||||
|
// for (let chatWord = 0; chatWord < chatWords; chatWord++) {
|
||||||
|
|
||||||
|
// chatMessage = `${chatMessage} ${Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, Math.floor(Math.random() * 16) + 1)}`
|
||||||
|
// }
|
||||||
|
|
||||||
|
// TEST_MESSAGES = TEST_MESSAGES.concat({chatter: `friend 1`, text: chatMessage})
|
||||||
|
// }, 10000)
|
||||||
}
|
}
|
||||||
|
|
||||||
let storedArgsAndResults = {
|
let storedArgsAndResults = {
|
||||||
@ -361,7 +368,16 @@ class iMessageGraphClientClass {
|
|||||||
|
|
||||||
if (TEST_MODE) {
|
if (TEST_MODE) {
|
||||||
|
|
||||||
return splitMessages(TEST_MESSAGES)
|
let currentLastMessageOutput = `${lastMessageOutput}`
|
||||||
|
|
||||||
|
storedArgsAndResults.getMessages.output = splitMessages(TEST_MESSAGES)
|
||||||
|
|
||||||
|
if (!hasNewMessages && fromInterval) {
|
||||||
|
|
||||||
|
hasNewMessages = currentLastMessageOutput !== storedArgsAndResults.getMessages.output
|
||||||
|
}
|
||||||
|
|
||||||
|
return storedArgsAndResults.getMessages.output
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
@ -430,7 +446,9 @@ class iMessageGraphClientClass {
|
|||||||
|
|
||||||
TEST_MESSAGES = TEST_MESSAGES.concat({chatter: `me`, text: message})
|
TEST_MESSAGES = TEST_MESSAGES.concat({chatter: `me`, text: message})
|
||||||
|
|
||||||
return splitMessages(TEST_MESSAGES)
|
storedArgsAndResults.getMessages.output = splitMessages(TEST_MESSAGES)
|
||||||
|
|
||||||
|
return storedArgsAndResults.getMessages.output
|
||||||
}
|
}
|
||||||
|
|
||||||
let result
|
let result
|
||||||
@ -472,7 +490,9 @@ class iMessageGraphClientClass {
|
|||||||
|
|
||||||
if (TEST_MODE) {
|
if (TEST_MODE) {
|
||||||
|
|
||||||
return parseChatsToFriendlyNameString(TEST_CHATS)
|
storedArgsAndResults.getChats.output = parseChatsToFriendlyNameString(TEST_CHATS)
|
||||||
|
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
let result
|
let result
|
||||||
@ -517,7 +537,9 @@ class iMessageGraphClientClass {
|
|||||||
|
|
||||||
if (TEST_MODE) {
|
if (TEST_MODE) {
|
||||||
|
|
||||||
return parseChatsToFriendlyNameString(TEST_CHATS)
|
storedArgsAndResults.getChatCounts.output = parseChatsToFriendlyNameString(TEST_CHATS)
|
||||||
|
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
let result
|
let result
|
||||||
@ -617,7 +639,7 @@ class iMessageClient {
|
|||||||
constructor () {
|
constructor () {
|
||||||
|
|
||||||
// kick off an update interval
|
// kick off an update interval
|
||||||
setInterval(async () => {
|
const updateInterval = setInterval(async () => {
|
||||||
|
|
||||||
let intervalDate = new Date().toISOString()
|
let intervalDate = new Date().toISOString()
|
||||||
|
|
||||||
@ -630,6 +652,15 @@ class iMessageClient {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (new Date() - lastMessageFromSerialPortTime > 30000) {
|
||||||
|
|
||||||
|
console.log(`${intervalDate}: no serial comms for 30 seconds, unloading interval`)
|
||||||
|
|
||||||
|
clearInterval(updateInterval)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
|
|
||||||
console.log(`${intervalDate}: running...`)
|
console.log(`${intervalDate}: running...`)
|
||||||
@ -662,6 +693,8 @@ class iMessageClient {
|
|||||||
|
|
||||||
async getMessages (chatId, page) {
|
async getMessages (chatId, page) {
|
||||||
|
|
||||||
|
lastMessageFromSerialPortTime = new Date()
|
||||||
|
|
||||||
console.log(`iMessageClient.getMessages`)
|
console.log(`iMessageClient.getMessages`)
|
||||||
|
|
||||||
if (storedArgsAndResults.getMessages.args.chatId !== chatId || storedArgsAndResults.getMessages.args.page !== page) {
|
if (storedArgsAndResults.getMessages.args.chatId !== chatId || storedArgsAndResults.getMessages.args.page !== page) {
|
||||||
@ -677,6 +710,8 @@ class iMessageClient {
|
|||||||
|
|
||||||
async hasNewMessagesInChat (chatId) {
|
async hasNewMessagesInChat (chatId) {
|
||||||
|
|
||||||
|
lastMessageFromSerialPortTime = new Date()
|
||||||
|
|
||||||
console.log(`iMessageClient.hasNewMessagesInChat`)
|
console.log(`iMessageClient.hasNewMessagesInChat`)
|
||||||
|
|
||||||
let returnValue = await iMessageGraphClient.hasNewMessagesInChat(chatId)
|
let returnValue = await iMessageGraphClient.hasNewMessagesInChat(chatId)
|
||||||
@ -689,6 +724,8 @@ class iMessageClient {
|
|||||||
|
|
||||||
async sendMessage (chatId, message) {
|
async sendMessage (chatId, message) {
|
||||||
|
|
||||||
|
lastMessageFromSerialPortTime = new Date()
|
||||||
|
|
||||||
console.log(`iMessageClient.sendMessage(${chatId}, ${message})`)
|
console.log(`iMessageClient.sendMessage(${chatId}, ${message})`)
|
||||||
|
|
||||||
const messages = await iMessageGraphClient.sendMessage(chatId, message)
|
const messages = await iMessageGraphClient.sendMessage(chatId, message)
|
||||||
@ -698,6 +735,8 @@ class iMessageClient {
|
|||||||
|
|
||||||
async getChats () {
|
async getChats () {
|
||||||
|
|
||||||
|
lastMessageFromSerialPortTime = new Date()
|
||||||
|
|
||||||
console.log(`iMessageClient.getChats`)
|
console.log(`iMessageClient.getChats`)
|
||||||
|
|
||||||
if (Object.keys(storedArgsAndResults.getChats.output).length === 0) {
|
if (Object.keys(storedArgsAndResults.getChats.output).length === 0) {
|
||||||
@ -713,6 +752,8 @@ class iMessageClient {
|
|||||||
|
|
||||||
getChatCounts () {
|
getChatCounts () {
|
||||||
|
|
||||||
|
lastMessageFromSerialPortTime = new Date()
|
||||||
|
|
||||||
console.log(`iMessageClient.getChatCounts, prestored return:`)
|
console.log(`iMessageClient.getChatCounts, prestored return:`)
|
||||||
console.log(storedArgsAndResults.getChatCounts.output)
|
console.log(storedArgsAndResults.getChatCounts.output)
|
||||||
|
|
||||||
|
@ -637,7 +637,7 @@ void DoMenuCommand(menuResult)
|
|||||||
{
|
{
|
||||||
short menuID; /* the resource ID of the selected menu */
|
short menuID; /* the resource ID of the selected menu */
|
||||||
short menuItem; /* the item number of the selected menu */
|
short menuItem; /* the item number of the selected menu */
|
||||||
// short itemHit;
|
//short itemHit;
|
||||||
// Str255 daName;
|
// Str255 daName;
|
||||||
// short daRefNum;
|
// short daRefNum;
|
||||||
// Boolean handledByDA;
|
// Boolean handledByDA;
|
||||||
@ -647,9 +647,10 @@ void DoMenuCommand(menuResult)
|
|||||||
switch ( menuID ) {
|
switch ( menuID ) {
|
||||||
case mApple:
|
case mApple:
|
||||||
switch ( menuItem ) {
|
switch ( menuItem ) {
|
||||||
// case iAbout: /* bring up alert for About */
|
case iAbout: /* bring up alert for About */
|
||||||
|
Alert(rAboutAlert, nil);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
// itemHit = Alert(rAboutAlert, nil);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -257,7 +257,7 @@ resource 'DITL' (rUserAlert, purgeable) {
|
|||||||
|
|
||||||
|
|
||||||
resource 'WIND' (rWindow, preload, purgeable) {
|
resource 'WIND' (rWindow, preload, purgeable) {
|
||||||
{39, 1, 341, 511},
|
{42, 4, 336, 506},
|
||||||
zoomDocProc, visible, noGoAway, 0x0, "Messages",
|
zoomDocProc, visible, noGoAway, 0x0, "Messages",
|
||||||
centerMainScreen // Where to show the alert
|
centerMainScreen // Where to show the alert
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
// TODO:
|
// TODO:
|
||||||
// - test on physical, bug fixes, write blog posts
|
// - test on physical, bug fixes, write blog posts
|
||||||
|
|
||||||
#define WINDOW_WIDTH 510
|
// {42, 4, 336, 506}
|
||||||
#define WINDOW_HEIGHT 302
|
#define WINDOW_WIDTH 502
|
||||||
|
#define WINDOW_HEIGHT 294
|
||||||
|
|
||||||
#define NK_ZERO_COMMAND_MEMORY
|
#define NK_ZERO_COMMAND_MEMORY
|
||||||
#define NK_INCLUDE_FIXED_TYPES
|
#define NK_INCLUDE_FIXED_TYPES
|
||||||
@ -605,7 +606,7 @@ static void nuklearApp(struct nk_context *ctx) {
|
|||||||
// bottom text input
|
// bottom text input
|
||||||
nk_layout_row_begin(ctx, NK_STATIC, 28, 1);
|
nk_layout_row_begin(ctx, NK_STATIC, 28, 1);
|
||||||
{
|
{
|
||||||
nk_layout_row_push(ctx, 320);
|
nk_layout_row_push(ctx, 312);
|
||||||
|
|
||||||
short edit_return_value = nk_edit_string(ctx, NK_EDIT_FIELD|NK_EDIT_SIG_ENTER, box_input_buffer, &box_input_len, 2048, nk_filter_default);
|
short edit_return_value = nk_edit_string(ctx, NK_EDIT_FIELD|NK_EDIT_SIG_ENTER, box_input_buffer, &box_input_len, 2048, nk_filter_default);
|
||||||
|
|
||||||
@ -622,7 +623,7 @@ static void nuklearApp(struct nk_context *ctx) {
|
|||||||
|
|
||||||
if ((forceRedraw) && nk_begin_titled(ctx, "Message", activeChat, messages_window_size, NK_WINDOW_BORDER|NK_WINDOW_TITLE|NK_WINDOW_NO_SCROLLBAR)) {
|
if ((forceRedraw) && nk_begin_titled(ctx, "Message", activeChat, messages_window_size, NK_WINDOW_BORDER|NK_WINDOW_TITLE|NK_WINDOW_NO_SCROLLBAR)) {
|
||||||
|
|
||||||
nk_layout_row_begin(ctx, NK_STATIC, 12, 1);
|
nk_layout_row_begin(ctx, NK_STATIC, 11, 1);
|
||||||
{
|
{
|
||||||
|
|
||||||
for (int i = 0; i < activeMessageCounter; i++) {
|
for (int i = 0; i < activeMessageCounter; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user