1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
|
0.0.7.0
-------
+ Support for group chats (EXPERIMENTAL!) - enable it in options
! Fixed loading contact list
! Fixed potential freeze.
0.0.6.1a
-------
Reuploaded.
0.0.6.1
-------
+ Returned option to close chat windows (on website)
+ New option to map non-standard statuses to Invisible (insetad of Online)
+ New option to load contacts, which have "On the Phone" status
! Fixed changing chat visibility
! Very long messages are no longer received duplicitely
! Changes and fixes related to multiuser messages and messages from people, which are not in server-list
0.0.6.0
-------
* Reworked Facebook options
+ Option for use https connection also for "channel" requests
+ Option for use bigger avatars
+ Option for getting unread messages after login (EXPERIMENTAL!)
+ Option fot disconnect chat when going offline in Miranda
- Removed option for setting User-Agent
- Removed option for show Cookies
* When contact is deleted, in database you can found datetime of this discovery (value "Deleted" of type DWORD)
+ Option in contact menu for delete from server
+ Option in contact menu for request friendship
+ When deleting contact is showed dialog with option to delete contact also from server
! Fixed not working login
0.0.5.5
-------
! Fixed contacts not going to offline.
0.0.5.4
-------
! Fixed few problems with connecting
! Fixes for some crashes, memory leaks and communication (thanks borkra)
@ If is your Facebook disconnecting and you have enabled HTTPS connection, disable option "Validate SSL certificates" for Facebook in Options/Networks.
0.0.5.3
-------
! Fixed issue with login for some people
! Fixed not receiving some messages
! Fixed broken getting own name
* Faster sending messages
0.0.5.2
-------
! Fix for connecting and crashing problem.
0.0.5.1
-------
! Work-around for sending messages with url links.
0.0.5.0
-------
+ Notification about friends, which are back on serverlist.
* Completely reworked avatar support.
* Using small square avatars by default (can be changed by hidden setting "UseBigAvatars")
! Fixed use of hidden setting "UseBigAvatars"
! Fixed setting status message.
! Fixed crash with MetaContacts.
! Fixed login for some people.
! Fixes related to popups on login.
! Fixed memory leak related to popups.
! Fixed getting unread messages on login (if used hidden setting "ParseUnreadMessages")
! Fixed login with setting Device name.
! Various fixes, improvements and code cleanup.
- Removed hidden key "OldFeedsTimestamp"
@ Thanks borkra for helping me with many things.
0.0.4.3
-------
! Fix for new facebook layout.
! Fix for getting contact name for new contacts.
0.0.4.2
-------
! Fixed not enabling items in status menu.
! Don't automatically set contact's status to Online when we got message from him.
! Fixed message's sending error codepage.
+ Added support for sending messages in invisible status.
+ Protocol status respects changes of chat status on website.
+ Notify concrete unread notifications after login
+ Added hidden key (ParseUnreadMessages) for getting unread messages after login << WARNING: not fully working!!!
0.0.4.1
-------
! Reverted change that made contacts not going offline.
0.0.4.0
-------
* Internal changes about changing status
- Removed support for "Away" status
! Fixed parsing newsfeeds
- Removed notification about unread messages in "Invisible" status
+ In "Invisible" status are inbox messages parsed directly to messages
+ Getting gender of contacts
+ Getting all contacts from server at once (not only these, which are online right now)
+ Notification when somebody cancel our friendship (= or when disables his facebook account)
0.0.3.3
-------
! Fix for communication (getting seq number)
! Fixed notification with unread events after login
0.0.3.2
-------
! Mark chat messages on facebook read.
* Disabled channel refresh notification
0.0.3.1
-------
! Fixed notify about timeout when sending message.
0.0.3.0
-------
! Fixed downloading avatars
! Fixed loading avatars in SRMM
! (Maybe) Fixed not loading for some people with miranda 0.9.17
! Fixed crashes and freezes when deleting account
! Few fixes and improvements related to login procedure
! Fixed parsing some newsfeeds
! (Hopefully) Fixed some other crashes
! Fix for logon crash when notify unread events.
* Improvement in getting contact avatars (2x faster)
* Optimized compiler settings -> 2x smaller file (thanks borkra)
+ Used persistent http connection (thanks borkra)
+ Destroy service and hook on exit (thanks FREAK_THEMIGHTY)
+ Support for per-plugin-translation (for MIM 0.10#2) (thanks FREAK_THEMIGHTY)
+ Support for EV_PROTO_ONCONTACTDELETED (for MIM 0.10#2) (thanks FREAK_THEMIGHTY)
- Do not translate options page title, since it is the account name
- Disabled close chat "optimalization"
! Fixed sending typing notifications
! Fixed parsing links from newsfeeds
* Enabled sending offline messages
! Fixed getting errors from sending messages (+ show concrete error)
+ 5 attempts to send message before showing error message
0.0.2.4
-------
! Fixed duplicit messages and notifications
* Limit for popup messages from group chats - max. one per 15 seconds
* Optimalization for sending typing notify
* Optimalization for closing chat windows on website
+ Notify when is possible that we didnt received some chat message(s)
+ Show popup when try to send offline message and open website for send private message when onclick
0.0.2.3
-------
! Fixed loading contact names
! Fixed updater support for x64 versions
+ Added 32px status icons
+ Added option for chose type of newsfeeds to notify
* Changed user-agent names to user-friendlier
* Enhanced parsing newsfeeds
0.0.2.3
-------
! Fixed loading contact names
! Fixed updater support for x64 versions
+ Added 32px status icons
+ Added option for chose type of newsfeeds to notify
* Changed user-agent names to user-friendlier
* Enhanced parsing newsfeeds
0.0.2.2
-------
+ Updater support
+ Added item in contact and status menu for open contact profile on website (+ saving in db as Homepage key)
+ Notify about new private (not chat) messages in invisible
+ Automatically set https when connecting if required
* Optimalization for downloading avatars of contacts
! Fix for
in newsfeeds popups
! Fix for html tags in connecting error message
! Fix for broken sending messages
0.0.2.1
-------
! Fixes for statuses (cannot switch to Away, work in threads)
! Fix for loading own avatar when changed
* Sounds are using account name (thanks FREAK_THEMIGHTY)
! Fixes for x64 version (thanks FREAK_THEMIGHTY)
! Fix for thread synchronization
! Fixed order of outgoing messages and notify about delivery errors
! Fix few things which was causing not delivering all incoming messages
! Fixes for internal list implementation
* Refactoring and simplify few things
+ Added x64 version of plugin
+ Notify about new notifications after login
! Fixed parsing few types of newsfeeds
+ 1. stage of groupchats - notifying incomming messages
0.0.2.0
-------
* Guided as new plugin Facebook RM + new readme and folder structure
x Temporarily disabled updater support (and notification about jarvis's new "fb api")
! Fix for load own avatar
! Fix for loading newsfeeds and their better parsing
+ Added Away and Invisible statuses
* Using away status as idle flag
! Fixed idle control - facebook falls into idle only when Away status
0.1.3.2
-------
- Revision of proper SSL request composition
- Added a check to disallow running with Miranda 0.10 alpha build #1
- (Finally) fixed a crash invocation due to inproper handling with close window
procedure data
0.1.3.1
-------
- Fixed crash invocation when trying to set empty/NULL status message
- Removed unneeded self-profile update on sending wall post
- Fixed Facebook Messages URL when clicking on a notification
- Fixed balloon notifications artefacts
- Fixed showing events when not enabled
- Fixed notifying of 0 new messages
- Fixed a crash invoked when closing of web chat windows enabled
- Fixed a memory leak inside windows closing function
0.1.3.0
-------
- Improved detection of missing avatar
- Better self-idle handling
- Added advanced options for Notifications
- Fixed HTTP requests time-out handling to match 0.9.14+ way
- Improved error logging
- Added an option to close chat windows on web
- Added support for sending and receiving typing notifications
- Better reconnect/keep-alive procedures (hopefully)
- Fix for popup on-click hyperlinks
- Fix for HTML in notifications and feeds
- Fixed logout procedure
- Contacts going offline no more shown when logging out
0.1.2.1
-------
- Added an option to forge usage of secure (HTTPS) connection
- Rewritten status menu items creation code to work properly with new Miranda 0.9 feature to move them into main menu
- Fixed memory leak when processing messages and notifications
- Fixed a crash caused by internal list implementation
- Work-around fix for disconnecting issues due to core time-out handling changes
0.1.2.0
-------
- Fixed thread forking causing enormous number of dead handles being not closed as they should
- New enhanced storage for buddy list during runtime (mainly solves data leaks with previous solution)
- Thread synchronization & data locking revision (may prevent crashes, buffer overflows etc.)
- Optimized code flow on various places (prevents data leaks, prettier code etc.)
- Revised Debug build & its settings (f.e. memory leaks logging)
- Fixed proper acknowledge of Offline status to core when signing off (no clist redraw required)
0.1.1.2
-------
- Quick fix for change in Logout procedure/bug when receiving logout action
- Introducing new friend requests and new messages notifications when logging in (working when notifications enabled)
0.1.1.1
-------
- Quick fix for change in machine security response code
- Quick fix for changes in setting and clearing Mind status
- Contact is marked as online when receiving a message before Buddy list update loop makes him online
0.1.1.0
-------
- Added per-user lock for future usage
- Added storing of all headers for requests -- store_cookies( ) refactored to store_headers( )
- Added notification sound -- ShowEvent( ) refactored to NotifyEvent( )
- Added work-around to work with Machine security feature
- Fixed API check required due to Google Code wiki changes
- Dropped old Home page support
- Added code to support notifying about new messages
- Added code to support notifying about new friend requests
- Fixed getting away message to proper differentiate ANSI/Unicode requests
- Fixed NSL on Contact info page
- Fixed global Offline status when signing off Facebook
- Fixed (probably) missing conversion of messages between ANSI/Unicode/UTF-8
- Fixed processing Feeds
- Added hidden feature to set Ignore Online notification by default
0.1.0.2
-------
- (Hopefully) fixed avatar issue (own avatar bundled with some contacts)
- Preparation for PopUp linking with contacts
- Revision of contact update rules
- Translation improvements
0.1.0.1
-------
- Instant fix for changed URLs of Facebook Chat servers
- Fix for a high CPU usage issue caused by mistake in handling connection errors
0.1.0.0
-------
- Replaced JSON_C by CAJUN JSON parser
- Fixed minor avatar-related crash
- Added support for a redesigned Facebook site
- Minor buddy list thread-safety improvement
- Minor code refactoring
- Added Notifications
- Added API version checking
- Improved logging low-level process
...
0.0.0.7
-------
- Fixed occasional blocking crash on startup caused by missing personal avatar
file
- Reworked contacts parsing
- Thread-safe buddy loop
- Featuring notifications, including Live Feed
- More encoding options in HTTP traffic
- More proper parsing of homepage
- Renamed html_special_chars_decode to special_expressions_decode
- Enhanced threads killing and locking
- Improved sign-off
- Fixed broken keep-alive hadling
- Rewritten contacts update logic
- Redesigned "What's on my mind" dialog
- Fixed some JSON parser bugs
- Fixed default user-agent string
- Fixed contacts status to be loaded before protocol is marked online
- Simplified number-to-string convertor definitions
0.0.0.6
-------
- Added internal _APP logging (not present in public releases)
- Some more logging events
- Made HTTP headers to be quite "static" during runtime (enhanced handling +
manipulation)
- Optimized User agent storage manipulation
- Improved HTTP request success/error handling
- Lot of strings and data pointers moved from char-fields to C++ std::string +
optimized usage, getting rid of possible leaks
- Added secret DB option to disable performing Logout action when signing off
- Fixed serious JSON parser comparison typos (= -> ==)
- Fixed usage of int intead of proper std::string::size_type where applicable
- Fixed conversion of HTML entities which appeared in users' real names and
status messages
- Fixed incorrect sequence number incrementation (caused minor looping and
receiving messages multiple times)
- Fixed updating avatars + status messages in some cases (f.e. when contact has
no status message set)
- Optimized utils::time functions
- Optimized and fixed utils::number::random to return integer instead of strict
std::string
- Added utils::conversion::to_string function (as this is often usable :) +
macros for use as a data type parameter
- Added utils::text::find_first function (as an front-end for std::string
searching)
- Added utils::text::html_special_chars and html_special_chars_decode
- Renamed utils::text::find_all to count_all to match what this function really
does
- Removed some unused variables
Notes:
- 100% CPU usage issue should be gone now, but in case it doesn't, you don't have to kill Miranda, turning protocol off, then disabling it and re-enabling it again should be enough
0.0.0.5
-------
- Added loading of own avatar and status message
- Added option to set Facebook "What's on my mind?" via Miranda status message system
- Better handling of own credentials (own nickname, avatar, status)
- Fixed serious mistake in Message server URL generation which caused all accounts using channels 01--09 to disconnect immediately
- Added timeout limitation + response success/error system
- Heavily optimized service of updating contacts' details + moved into separate threads to project buddy updates immediately
- Logging system improvements
- Processing improvements
- Initial translation support
- Proper logout request
- Handling of non-supported statuses -- Offline + Invisible results in Offline status, otherwise you're marked as Online
- Fix for a condition deciding whether buddy list update is needed
- Re-factorized some functions to better fit a proper object model
- Proper milliseconds time stamp for outgoing messages
- Signing off is signalized with "Connecting" icon (Experimental)
- Removed some rare HTTP User-Agents
- Editing E-mail and Password impossible when Online (Experimental)
- Simplified JSON parser entry point
- Modified memory-freeing function, should solve related rare crashes
- Fix for a crash when calling Cookies dialog (I hope)
- Logging files are now properly placed inside Miranda root only, no more mess elsewhere
- Each account now has it's own logging file
- Removed force disconnection flag for messages-updating request -- this request usually times out from time to time
- Removed unneeded new-lines from protocol logs
- 2 hidden variables: (BYTE)EnableRealLogoutSignal and (BYTE)TimeoutsLimit
Notes:
- You'll have to delete all your contacts and let them reload (or at least delete their DB "RealName" values or rename them to "Nick"), otherwise contacts will stay unnamed in the CL - the names weren't handled 100% correctly, the same as unique user identification.
- Own avatar is now handled and processed, so it's visible where possible (tabSRMM, inside Tipper when hovering account icon in statusbar, ...)
- Real names updating option has gone from now as contact's RealName/Nick value is updated normally, if you want anyone to have custom name, you can edit it like elsewhere (clist module stores this elsewhere and prioritizes this value before others)
Known issues:
- [FIXED] 100% CPU usage issue
0.0.0.4
-------
- Finally reached persistent connection - silent session refresh + periodical reconnect like original web client - although the connection may fall down, restrictive politics will disconnect when any error occurs (mostly server time-out)
- Redesigned session control to fit original web client
- Raised default update loop poll rate to 24 seconds - less traffic, optimal processing load side by side with message loop, which has poll rate of 55 seconds when not active
- Work-around for last protocol change (not receiving status message with periodical updates) by loading mobile profile page to get the data (maybe usable for other user details in future)
- Rewritten update process to request only changes since last check for updates - minimal traffic, noticefuly reduced processing load
- Completely rewritten contacts handling - this solves a) avatar flickering b) updating status, real name and idle flag too often
- Fixed reloading avatar when not needed
- Parsing improvements (solves many issues like buffer overruns/overflows)
- Fixed leak of User-Agent strings
- Better handling of garbage collecting on shutdown
- Possibility to see actual cookies via Options dialog
- Optional toggling of logging (default off)
- Extra icon for "Mind" function
- Light performance improvements in getting data from results
- More sophisticated logging system
Known issues:
- [FIXED] Status messages may contain HTML character entities for some specific characters
- [FIXED] Protocol is signed off each time server times out -- will be changed in next version, disconnecting only when connection is down (more exactly when reaching 3 time-outs, while error increments time-out counter, success decrements -- cheap, but working solution)
- [FIXED] Accounts linked with message servers 0.channel01--0.channel09 can't connect for more than just a few seconds followed by possible crash because of my beginner's bug in URL generation causing fake connection time-out
0.0.0.3
-------
- Isolated response processings (avoiding crashes)
- Fixed crashes caused by illegal processing of foreign typing notifications
- Added a response validation & logout mechanism which safely closes connection and threads on disconnection/logout
- Removed Away status, inactivity is controlled by server as Idle
- Raised minimal poll rate to 10 seconds (interval of updating contact list)
- Removed some unneeded code
- Added an option to change user-agent (if FB would ever like to block us, hahah xD)
- Fixed message server URL "virginity" flag :))
Known issues:
- [FIXED] Login session gets down after some time (should be more than 1 hour), the reason or a way to avoid this is not known to me, yet
0.0.0.2
-------
- Fixed JSON parsing issues, now data change should be OK
- Repaired timestamps for outgoing messages
- Added "Clear" option in Mind dialog (when no Mind status filled in)
- Added Mind status item toggling (hidden when offline, shown otherwise)
- Added safer logout
- Fixed Updater support (I hope :))
- Poll rate customization
- Implemented idle/away, but not working on the server :/
- Improvements in a logging system
- Some code reorganization, mainly making some processing safe
- More pretty code management
Known issues:
- [FIXED] Crash is invoked when receiving typing notification from FB with no message followed in a "packet" (both events use similar format => bad exception for non-message content leading to buffer overrun)
- [FIXED] Plugin doesn't detect when the connection is closed/logged out remotely (rarely, but may happen, may bring some crash)
- [FIXED] Avatars may flicker, their updating process hasn't been optimized, yet
0.0.0.1
-------
- Working avatars
- Improvements to JSON parsing, still needs pretty enhancements
- Introducing smart-like logging
- Many code management changes
- Checked all dialogs validity
- Bringing some basic options to work
- Marked probably almost all memory leaks which should be solved
- Marked some things to take a look on + solution options somewhere
- Managed all TODOs
- Removed some unneeded, deprecated and testing code
Known issues:
- [FIXED] Frequent crashes caused by saving cookies on login and when obtaining updates/messages periodically (parse error)
0.0.0.0
-------
Private initial release
All-time Issues
---------------
- Nothing, yet :)
All-time Not-issues
-------------------
- Status messages are not set properly when you set them to often - server limit requires captcha confirmation when you flood
- Being often disconnected - server fault, trying to find a work-around, but that's not easy - pidgin-facebookchat reports same thing
- Away status as is not applicable, FB doesn't support any active/controllable Away status, only server-driven Idle.
|