gauravkheterpal / noteprise-ios Goto Github PK
View Code? Open in Web Editor NEWNoteprise iOS Git repo
Noteprise iOS Git repo
Gracefully handle this condition - http://www.screencast.com/t/OHqx9FAjd
As in the Noteprise Android app, the Save button should have an icon rather than text.
If the data size of note is grater then the limit of the Salesforce object field then application shows a alert with the content of note.
Refer the screenshot at http://www.screencast.com/t/TsvdAWuNsf
The Settings button should be square in shape similar to the + button. It is currently rectangular in shape
The app currently uses Account as default object and Account Description as default field for saving notes to Salesforce. Since it's possible that the standard Account object has been modified/ renamed, it's better to remove this default mapping and instead prompt the user to configure this when he attempts the first save to Salesforce operation.
Images are needed for iPhone5.
Line breaks should be preserved while saving to Saleforce
SF returns API_DISABLED_FOR_ORG error code for it
The note is not published to Chatter and it returns the following error
QYAQDLKh7k0B7LTd289zUyzP.h5SY0mvIRIcc6wV36kjGh4H4lUUWj6sQ7f9wFlsqHRiemb.ASM7KHhtEGGubYdoViFJl12
2012-08-28 15:16:12.233 Noteprise[11490:fb03] sel obj:<ChatterRecord: 0x6f5b990>
2012-08-28 15:16:13.976 Noteprise[11490:fb03] checkNetwork
2012-08-28 15:16:13.977 Noteprise[11490:fb03] Reachability Flag Status: -R -----l- networkStatusForFlags
2012-08-28 15:16:13.977 Noteprise[11490:fb03] chatter id:0019000000DNGfrAAH
2012-08-28 15:16:13.978 Noteprise[11490:fb03] mentionParam:{
id = 0019000000DNGfrAAH;
type = mention;
}
2012-08-28 15:16:13.978 Noteprise[11490:fb03] paramArr:(
{
id = 0019000000DNGfrAAH;
type = mention;
}
)
2012-08-28 15:16:13.979 Noteprise[11490:fb03] paramArr:(
{
id = 0019000000DNGfrAAH;
type = mention;
},
{
text = "Ian, did you get all the supplies?";
type = Text;
}
)
2012-08-28 15:16:13.999 Noteprise[11490:fb03] SFRestAPI::send:delegate: [ method: POST, path: v23.0/chatter/feeds/news/me/feed-items, queryParams: {"body":{"messageSegments":[{"id":"0019000000DNGfrAAH","type":"mention"},{"type":"Text","text":"Ian, did you get all the supplies?"}]}}]
2012-08-28 15:16:16.387 Noteprise[11490:fb03] I restkit.network:RKRequest.m:600 Status Code: 400
2012-08-28 15:16:16.388 Noteprise[11490:fb03] error: Error Domain=com.salesforce.RestAPI.ErrorDomain Code=999 "The operation couldn’t be completed. (com.salesforce.RestAPI.ErrorDomain error 999.)" UserInfo=0x7b8a680 {message=Invalid feed body, errorCode=ARGUMENT_OBJECT_PARSE_ERROR}
2012-08-28 15:16:16.388 Noteprise[11490:fb03] request:didFailLoadWithError: Error Domain=com.salesforce.RestAPI.ErrorDomain Code=999 "The operation couldn’t be completed. (com.salesforce.RestAPI.ErrorDomain error 999.)" UserInfo=0x7b8a680 {message=Invalid feed body, errorCode=ARGUMENT_OBJECT_PARSE_ERROR}
Even if Note content are edited from app , it save original note content to Salesforce
Consider options for improving the user experience on the screen where it gives a message that 'Authorizing your Salesforce credentials' - possible options
If note is read only note then it must not be editable and an error message should be displayed that note is read only.
Display a different view on selection of different tab(switching between tab All,NoteBook,Tag switches the view based on selected segment)
We're currently using an outdated version of the force.com iOS SDK. Change the mapping to link to latest version of force.com iOS SDK.
open any note >> post to chatter user >> back from next page quickly >> click on chatter button >> app crash
Crash log
2012-09-04 11:07:27.992 Noteprise[796:11f03] access token00D90000000fPSS!AQgAQI9rMdO2GB7i2lm3u3q36tnFNVP_G3Y.ddDWQUvDRJEpvJenaRyDspFVuB9aL6_mmbgv_bujFLZt2gBc2dTwpOIgEbVQ
2012-09-04 11:07:28.729 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x9a88000>
2012-09-04 11:07:28.743 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x7bcc1f0>
2012-09-04 11:07:28.823 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x98cf410>
2012-09-04 11:07:28.826 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x9a84a80>
2012-09-04 11:07:28.923 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x98ce5a0>
2012-09-04 11:07:28.925 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x7bc8520>
2012-09-04 11:07:28.935 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x98dac80>
2012-09-04 11:07:29.040 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x98e2250>
2012-09-04 11:07:29.041 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x7bd0000>
2012-09-04 11:07:29.118 Noteprise[796:11f03] iconDownloader:<IconDownloader: 0x7bd4960>
2012-09-04 11:07:33.867 Noteprise[796:11f03] clickedButtonAtIndex:1
2012-09-04 11:07:33.870 Noteprise[796:11f03] SFRestAPI::send:delegate: [ method: GET, path: /services/data/v23.0/chatter/users/me/following?filterType=005&pageSize=1000, queryParams: (null)]
2012-09-04 11:07:35.635 Noteprise[796:11f03] I restkit.network:RKRequest.m:600 Status Code: 200
2012-09-04 11:07:35.644 Noteprise[796:11f03] *** -[ChatterUsersViewController respondsToSelector:]: message sent to deallocated instance 0x98efd40
should be
Please select one or more Chatter users
Mentions in a single Chatter post (Limit = 25)
Add adequate error message for this
Choose any search criteria, choose a category such as Notebook and hit search.
Refer the screenshot at
Editing a valid note leads to an application crash with the following backtrace
2012-08-28 14:52:02.004 Noteprise[11272:fb03] Url to load = http://didTap/
2012-08-28 14:52:02.360 Noteprise[11272:fb03] 0
2012-08-28 14:52:02.361 Noteprise[11272:fb03] notification:NSConcreteNotification 0x799af80 {name = UIKeyboardWillShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = "0.25";
UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 260}}";
UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 610}";
UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 350}";
UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 480}, {320, 260}}";
UIKeyboardFrameChangedByUserInteraction = 0;
UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 220}, {320, 260}}";
}}
2012-08-28 14:52:02.361 Noteprise[11272:fb03] textFieldDidBeginEditing phone: 0.000000
2012-08-28 14:52:02.361 Noteprise[11272:fb03] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]'
*** First throw call stack:
(0x1e9c022 0x1cbccd6 0x1e44a48 0x1e449b9 0x304ec0d 0x3044f55 0x3044a0a 0xa1bfb8 0xab0f 0x13aaa29 0x1e67855 0x1e67778 0x12ef19a 0xd7e4cb 0xd79906 0xd7b51f 0xd7b5a9 0xd7b5f3 0xd75938 0xad6678 0xd926e2 0x1e024ed 0x1e02407 0x3e0dce3 0x3e0e315 0x1e7094f 0x1dd3b43 0x1dd3424 0x1dd2d84 0x1dd2c9b 0x1c9e7d8 0x1c9e88a 0x9e8626 0x2866 0x27d5)
terminate called throwing an exception(lldb) bt
__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x9a76c9c6 libsystem_kernel.dylib
__pthread_kill + 10pthread_kill + 106 frame #2: 0x9acb0bdd libsystem_c.dylib
abort + 167_Unwind_DeleteException frame #4: 0x024c789e libc++abi.dylib
_ZL17default_terminatev + 34_objc_terminate + 94 frame #6: 0x024c78de libc++abi.dylib
_ZL19safe_handler_callerPFvvE + 13std::terminate() + 23 frame #8: 0x024c8b3e libc++abi.dylib
__cxa_rethrow + 83objc_exception_rethrow + 47 frame #10: 0x01dd2de0 CoreFoundation
CFRunLoopRunSpecific + 304CFRunLoopRunInMode + 123 frame #12: 0x01c9e7d8 GraphicsServices
GSEventRunModal + 190GSEventRun + 103 frame #14: 0x009e8626 UIKit
UIApplicationMain + 1163If user selects anyone of note, notebook and tag on segmented control on home screen, and it has no content, then activity indicator screen doesn't get removed.
Rename 'Objects to 'Object'
http://www.screencast.com/t/Y5DVGX0TxAD
Add the ability to rename a note title
Salesforce chatter post have character limit = 1000 char
Currently doing Chatter Post for Note which exceed limit gives error
error: Error Domain=com.salesforce.RestAPI.ErrorDomain Code=999 "The operation couldn’t be completed. (com.salesforce.RestAPI.ErrorDomain error 999.)" UserInfo=0x10df7f90 {message=Text is too large., errorCode=STRING_TOO_LONG}
This need to be handle gracefully
You should not allow the user to create a note with empty body
Remove the edit button form the note view for iOS version less then 5.
Chatter Connect API may be disabled for some organizations/user and thus chatter related functionality won't work.
Need to discuss/decide as how to handle this.
"The Chatter Connect API is not enabled for this organization or user type."
After making modifications for any note,the main screen should be automatically refreshed.
Click 'Decline' after authenticating with Salesforce on oAuth webview. The app first shows the error shown at http://www.screencast.com/t/dBOwJM8L3uc and then crashes on hitting Retry button
We should have some sort of visual indication (e.g. User name) for the Salesforce user who's currently logged in - probably an i button on the top header on the home screen which would show
Username
Sandbox/ Production
Refer the screenshot listed at http://www.screencast.com/t/YMZqbi9hPB
The cycle can be repeated without changing anything in the note content. If possible, we should add some validation to detect whether the note content has changed or not. The Save button should be enabled only when the note content has changed.
2012-08-28 14:25:46.542 Noteprise[11208:fb03] textFieldDidBeginEditing phone: 0.000000
2012-08-28 14:25:46.577 Noteprise[11208:fb03] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]'
*** First throw call stack:
(0x1e9c022 0x1cbccd6 0x1e44a48 0x1e449b9 0x304ec0d 0x3044f55 0x3044a0a 0xa1bfb8 0xab0f 0x13aaa29 0x1e67855 0x1e67778 0x12ef19a 0xd7e4cb 0xd79906 0xd7b51f 0xd7b5a9 0xd7b5f3 0xd75938 0xad6678 0xd926e2 0x1e024ed 0x1e02407 0x3e0dce3 0x3e0e315 0x1e7094f 0x1dd3b43 0x1dd3424 0x1dd2d84 0x1dd2c9b 0x1c9e7d8 0x1c9e88a 0x9e8626 0x2866 0x27d5)
terminate called throwing an exception(lldb) bt
__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x9a76c9c6 libsystem_kernel.dylib
__pthread_kill + 10pthread_kill + 106 frame #2: 0x9acb0bdd libsystem_c.dylib
abort + 167_Unwind_DeleteException frame #4: 0x024c789e libc++abi.dylib
_ZL17default_terminatev + 34_objc_terminate + 94 frame #6: 0x024c78de libc++abi.dylib
_ZL19safe_handler_callerPFvvE + 13std::terminate() + 23 frame #8: 0x024c8b3e libc++abi.dylib
__cxa_rethrow + 83objc_exception_rethrow + 47 frame #10: 0x01dd2de0 CoreFoundation
CFRunLoopRunSpecific + 304CFRunLoopRunInMode + 123 frame #12: 0x01c9e7d8 GraphicsServices
GSEventRunModal + 190GSEventRun + 103 frame #14: 0x009e8626 UIKit
UIApplicationMain + 1163A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.