Giter VIP home page Giter VIP logo

noteprise-ios's People

Contributors

bhavnagupta24 avatar erritikamathur avatar meenal-jain avatar ravichaudhary avatar sameer-sharma avatar vishnu-sharma avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

noteprise-ios's Issues

Issue with the field size limit.

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.

Remove Default Account Object Mapipng

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.

Posting to Chatter returns 'Invalid feed body'

  1. Select any note, edit the note and save it
  2. Select a Chatter user
  3. Hit Save

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}

Salesforce Mapping Gets Disabled When Selecting Field First

  1. Go to Object Mapping
  2. Instead of object, select field first
  3. It will give a warning that you need to select an object first
  4. Try to select an object now, it is disabled so you can't really proceed with object/ field selection and the only option for user is to go to previous screen using Back button

Switch View for each tab

Display a different view on selection of different tab(switching between tab All,NoteBook,Tag switches the view based on selected segment)

app crash on moving back very fast from user list of chatter.

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

Rephrase these messages

  1. Please select a user to make Chatter Post

should be

Please select one or more Chatter users

Crash on editing note

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

  • thread #1: tid = 0x1f03, 0x9a76c9c6 libsystem_kernel.dylib__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x9a76c9c6 libsystem_kernel.dylib__pthread_kill + 10
    frame #1: 0x9acbff78 libsystem_c.dylibpthread_kill + 106 frame #2: 0x9acb0bdd libsystem_c.dylibabort + 167
    frame #3: 0x024c9e78 libc++abi.dylib_Unwind_DeleteException frame #4: 0x024c789e libc++abi.dylib_ZL17default_terminatev + 34
    frame #5: 0x01cbcf17 libobjc.A.dylib_objc_terminate + 94 frame #6: 0x024c78de libc++abi.dylib_ZL19safe_handler_callerPFvvE + 13
    frame #7: 0x024c7946 libc++abi.dylibstd::terminate() + 23 frame #8: 0x024c8b3e libc++abi.dylib__cxa_rethrow + 83
    frame #9: 0x01cbce15 libobjc.A.dylibobjc_exception_rethrow + 47 frame #10: 0x01dd2de0 CoreFoundationCFRunLoopRunSpecific + 304
    frame #11: 0x01dd2c9b CoreFoundationCFRunLoopRunInMode + 123 frame #12: 0x01c9e7d8 GraphicsServicesGSEventRunModal + 190
    frame #13: 0x01c9e88a GraphicsServicesGSEventRun + 103 frame #14: 0x009e8626 UIKitUIApplicationMain + 1163
    frame #15: 0x00002866 Noteprise`main + 134 at main.m:30
    (lldb)

Error when Note content exceed the chatter post character limit

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

Do not allow empty note body to save

  1. Create a note
  2. Add text in the note body
  3. remove text in the note body
  4. empty note gets saved

You should not allow the user to create a note with empty body

No Way To Identify Currently Logged-in Salesforce User

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

Note is saved even if there are no changes

  • Click on Edit Note
  • Click on Save Note

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.

Editing empty note causes app to crash

  1. Create an empty note as specified in bug #13.
  2. Edit it by clicking the edit button
  3. Try to enter any text, app crashes with the following backtrace

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

  • thread #1: tid = 0x1f03, 0x9a76c9c6 libsystem_kernel.dylib__pthread_kill + 10, stop reason = signal SIGABRT frame #0: 0x9a76c9c6 libsystem_kernel.dylib__pthread_kill + 10
    frame #1: 0x9acbff78 libsystem_c.dylibpthread_kill + 106 frame #2: 0x9acb0bdd libsystem_c.dylibabort + 167
    frame #3: 0x024c9e78 libc++abi.dylib_Unwind_DeleteException frame #4: 0x024c789e libc++abi.dylib_ZL17default_terminatev + 34
    frame #5: 0x01cbcf17 libobjc.A.dylib_objc_terminate + 94 frame #6: 0x024c78de libc++abi.dylib_ZL19safe_handler_callerPFvvE + 13
    frame #7: 0x024c7946 libc++abi.dylibstd::terminate() + 23 frame #8: 0x024c8b3e libc++abi.dylib__cxa_rethrow + 83
    frame #9: 0x01cbce15 libobjc.A.dylibobjc_exception_rethrow + 47 frame #10: 0x01dd2de0 CoreFoundationCFRunLoopRunSpecific + 304
    frame #11: 0x01dd2c9b CoreFoundationCFRunLoopRunInMode + 123 frame #12: 0x01c9e7d8 GraphicsServicesGSEventRunModal + 190
    frame #13: 0x01c9e88a GraphicsServicesGSEventRun + 103 frame #14: 0x009e8626 UIKitUIApplicationMain + 1163
    frame #15: 0x00002866 Noteprise`main + 134 at main.m:30
    (lldb)

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.