• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    Objective-C
  • Created almost 16 years ago
  • Updated over 14 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

nonviral cocoa source for implementing an application feedback panel (for bugs, feature requests and support)

#JRFeedbackProvider

is a nonviral (MIT license) drop-in source code package which provides an in-application user feedback mechanism for Cocoa apps. It puts up a panel something like this:

It supplies the panel (in .xib form), the Objective-C controller code and even the .php file to put on your web server to turn those web form posts into email messages (just replace YOUR_(FEEDBACK_)[email protected] with whatever you want).

Mike Zornek has created a nice screencast demonstrating how JRFeedbackProvider works and how to integrate it with your application. Thanks, Mike!

Requires 10.4 or later. Developed and tested on 10.5 and 10.6.

Please report bugs and request features on the Lighthouse JRFeedbackProvider project site.

##Version History

  • 1.7

    • [FIX] Posting Form to Rails fixed. (Mantas Masalskis)

    • [CHANGE] Update SCNetworkCheckReachabilityByName (deprecated in 10.6) to SCNetworkReachabilityCreateWithName+SCNetworkReachabilityGetFlags. ticket 11 (Justin Williams)

    • [DEV] Explicitly set GCC_VERSION to 4.0 in demo app to compile under 10.6 (still targeting 10.4). (rentzsch)

  • 1.6

    • [NEW] Add a "Thank you" sheet upon successful feedback submission as well as an error sheet displaying any errors from connection:didFailWithError:. (Clint Shryock)

    • [NEW] Made localizable, added French localization. (Philippe Casgrain)

    • [NEW] Optional Growl support. The "Thank you" is displayed in a growl notification, while errors are still reported in the sheet. (Clint Shryock)

    • [NEW] Center the feedback window. (Brian Cooke)

    • [NEW] In jrfeedback.php, if the supplied email address is well-formed, allow using it as the SMTP From: header. (Clint Shryock)

    • [FIX] Reset font weight upon setting text to avoid "everything bolded" bug. ticket 5 (Clint Shryock)

  • 1.5.3

    • [FIX] Was calling [emailAddressComboBox selectItemAtIndex:0] even when user's "me" AddressBook card lacked email addresses, causing an array-index-out-of-bounds exception to be thrown. (Rainer Standke)
  • 1.5.2

    • [FIX] Disable cancel and send when submitting. (Brian Cooke)
  • 1.5.1

    • [NEW] Conditionally set segment style in code, so XIB can compile without warnings on 10.4. (Dave Dribin)

    • [FIX] Leaked return of CFUUIDCreate() (reported by clang static analyzer). Also make GC dual-mode safe by calling NSMakeCollectable() on return of CFUUIDCreateString(). (Dave Dribin)

  • 1.5

    • [NEW] Use SystemConfiguration.framework to ensure feedback host reachablity before presenting panel. (rentzsch)

    • [NEW] Disable contact fields, when "Include contact info:" is unchecked. Switch to bindings for include email address. (Dave Dribin)

    • [CHANGE] Put user name in seperate field since PHP's is_valid_email() doesn't understand proper RFC-822. Don't POST name, email or systemProfile fields if they're empty. Finally: s/includeEmailAddress/includeContactInfo ivar and IBOutlet. (rentzsch)

    • [FIX] Condition inversion in jrfeedback.php dealing with email addresses. (rentzsch)

  • 1.4

    • [NEW] Add field for the submitter's name, auto-populated from the address book. (Victoria Wang)
  • 1.3

    • [NEW] Use +[NSBundle bundleForClass:] instead of +[NSBundle mainBundle] so JRFeedbackProvider is usable with plug-ins like .prefPanes. (Joesph Wardell)

    • [NEW] 10.4 support. Remove sole trivial use of ObjC 2 fast-enumeration so we can also target 10.4. (Joesph Wardell)

    • [NEW] Allow user to resize window, but vertically only. (Dave Dribin)

  • 1.2 (formerly released as 1.1.1)

    • [NEW] Added new checkbox to the Feedback Window so users can acknowledge they are sending their hardware profile in.

    • [CHANGE] Made text of feedback message text view use black instead of green.

    • [NEW] Added a new class function to JRFeedbackController that allows you to initialize a feedback window with specific bug report text. This method assumes Bug Report is the default tab selected.

    • [NEW BUG] When using this new method the textView is given the bug report text via setString: this result in all the test being bold by default.

    • [CHANGE] Edited the jrfeedback.php slightly so that appVersion (which JRFeedbackController already sends out) is picked up and put into the subject line.

  • 1.1

    • [NEW] Set the user's reply address in the server-side PHP script. (Michael Zornek)

    • [FIX] Assertion failure if user clicks "Send" button and without waiting click the "Cancel" button. (Oleg Krupnov)

    • [CHANGE] Change "Submit" button to "Send" to be more respectful of the user. (Oleg Krupnov)

  • 1.0 Original release

More Repositories

1

mogenerator

Core Data code generation
Objective-C
3,029
star
2

jrswizzle

one-stop-shop for all your method swizzling needs
Objective-C
2,659
star
3

mach_inject

interprocess code injection for Mac OS X
C
810
star
4

clicktoflash

WebKit plug-in to prevent automatic loading of Adobe Flash content
Objective-C
714
star
5

markdownlive

Purpose-built Markdown Editor for Mac OS X with Live Preview
C
496
star
6

mach_override

runtime function overriding for Mac OS X
C
427
star
7

AutoLayoutShorthand

alternative system for creating and adding Cocoa Auto Layout constraints
Objective-C
355
star
8

mach_star

code injection and function overriding for Mac OS X
C
254
star
9

JREnum

macros that automate vending an NSString given an enum value (f.x. MyEnumToString(value))
Objective-C
153
star
10

lich

Simple, general, human-sympathetic binary data format
Objective-C
104
star
11

OAuthConsumer

fork of http://code.google.com/p/oauth/ 's Obj-C 2 API
Objective-C
82
star
12

JRTranscriptView

Purpose-built text view for logging output. iOS 7+
Objective-C
67
star
13

stressdrive

tool to completely fill a drive with random data and ensure it can be entirely correctly read back
C
60
star
14

NSInvocation-blocks

Even-easier NSInvocation creation thanks to blocks
Objective-C
54
star
15

JRErr

light at the end of the NSError** tunnel
Objective-C
51
star
16

SafariSessionSaver

Simple app that archives (and restores) Safari's currently-open windows+tabs
Objective-C
50
star
17

MagicHat

Objective-C Binary Documentation Tool. Think classdump with a hyperlinked GUI.
C
43
star
18

bdalias

Simple Cocoa wrapper for Carbon Aliases
Objective-C
38
star
19

Blitz

20 slides. 15 seconds each. 5 minutes total. Go.
Objective-C
32
star
20

JRTruthTable

tell it the current conditions, and it will tell you the current state
Objective-C
31
star
21

node-mysql-oil

slick api on top of node-mysql
JavaScript
30
star
22

clonedrive

paranoid bytewise drive cloning
C
26
star
23

JRLog

Simple but flexible Log4J-like logging system for Objective-C
Objective-C
26
star
24

SafeToUnplug

tiny faceless background app that notfies you when it's actually safe to unplug a drive
Objective-C
22
star
25

ForceQuitUnresponsiveApps

Small background app for Mac OS X 10.6+ that automatically force-quits hung apps
C
22
star
26

BlockStep

makes async code (Obj-C+Blocks) read kinda like sync code
Objective-C
21
star
27

NSKeyedArchiver-butWithNSError

Categories to make NSKeyedArchiver & NSKeyedUnarchiver easier to use and report errors via NSError**
Objective-C
19
star
28

CodaAutosaveOnDeactivate

Coda plugin to automatically save edited documents upon application focus resignation
C
19
star
29

nginx-homebrew-support

support files for nginx-homebrew running as a machine-wide service
Ruby
15
star
30

OpenRadarApp

client-side app for automatically posting Apple-filed RADARs to OpenRadar
JavaScript
14
star
31

webedit

think TextEdit but using WebKit
Objective-C
13
star
32

hypo

why just #import a header file when you can import the object itself?
Objective-C
12
star
33

JRKVOBlocks

Another take on integrating KVO with Blocks. 10.6+manual memory management assumed
Objective-C
12
star
34

ComplimentKit

opt-in to automatically receive flattrs (microdonations) as your users use your mac app
12
star
35

UIView-jr_addConstraints

easier notation for adding Auto Layout constraints to UIView
Objective-C
11
star
36

CoreData-JRExtensions

Objective-C
10
star
37

JRPDFLabel

Design your interface in Interface Builder using custom fonts without having to bundle them
Objective-C
9
star
38

NSXReturnThrowError

Adds origin information to NSError and eases wrapping error codes
Objective-C
9
star
39

Transformation-Matrix-Funhouse

demo of -webkit-transform: matrix3d() (and transformation matrices in general)
JavaScript
9
star
40

JSRegexTeststand

simple single-page app to dynamically develop and test javascript regular expressions
HTML
9
star
41

jryaml

Modern YAML for ObjC. Uses libyaml and Mike Schrag's MDYAML
8
star
42

woplat

WOInstaller + Wonder Web Server Adaptor + OS Support Files
C
8
star
43

unpopular

Chrome Extension that hides indicators of social status on GitHub (watchers, stars, forks) and Twitter (followers, retweets, favs)
CSS
8
star
44

UIView-jr_viewInSuperview

Let's make it easier to create an Auto Layout-ed UIView
Objective-C
7
star
45

MiscMerge

textual templates for Obj-C
Objective-C
6
star
46

BillingsCal

Simple comprehensive live reporting of Billings' database
Objective-C
6
star
47

TwitterReflectorDish

a simple twitter reflector dish (used for @c4)
6
star
48

Function.introspect.js

Small javascript library that interrogates a function to return its name, argument names and source code
JavaScript
6
star
49

ply

minimalist CSS library
5
star
50

xib2pdflabels

tool that generates a multipage PDF, one page per JRPDFLabel view
Objective-C
5
star
51

atomicity

Blast from the Classic Mac OS past. Atomic Locks, Stacks, Guarded Stacks, Queues, and Guarded Queues
C
5
star
52

JRCenteringScrollView

UIScrollView subclass that uses Auto Layout to center its content
Objective-C
5
star
53

slowgold

minimal osx app launcher/switcher
Objective-C
4
star
54

docker-webobjects

WebObjects under Docker. Dead can dance.
4
star
55

catchr

es6 const assignment even with exceptional code
JavaScript
4
star
56

git-import-commit

like git-cherry-pick, but with more sledgehammer
C
4
star
57

CALayer-jr_UIColor

Easily get+set CALayer background and border colors as UIColors in an ARC-safe fashion.
Objective-C
4
star
58

pomodoro

fork of http://github.com/ugol/pomodoro
C
4
star
59

rentzsch.tumblr.com-theme

Tumblr theme used by rentzsch.tumblr.com + MarsEdit
3
star
60

nsxmlelement-elementwithxmlformat

Easier ObjC XML generation
Objective-C
3
star
61

burndeck

SIMBL plugin that adds CD burning to http://www.tapedeckapp.com
Objective-C
3
star
62

simplest-multiplexed-framing-protocol

simple binary protocol for concurrent async unix sockets
C
3
star
63

jsongo

like mongo db, except stores data in git-friendly flat json files
TypeScript
3
star
64

JRLogDemo

Simple app demonstrating JRLog
Objective-C
3
star
65

docker-webobjects-wotaskd

WebObjects' wotaskd in handy container form
3
star
66

qunit

would be a fork of http://github.com/jquery/qunit if that actually held anything
JavaScript
3
star
67

access-date

AppleScript Addition (osax) to retrieve a file's last access date
C
2
star
68

Saw

External-process output destination for JRLog
Objective-C
2
star
69

CoreEndian-RuntimeTarget

Header file with macros for targeting specific endian targets with CoreEndian
C
2
star
70

ReactiveCocoaExample1

Objective-C
2
star
71

dbslayer

unofficial github clone of official dbslayer svn repo
JavaScript
2
star
72

node-arq

node.js implementation of arq backup
2
star
73

jsontable

Simple, efficient, flexible, streamable tabular textual data format
TypeScript
2
star
74

mach_error-Decoder-Ring

simple+lame cocoa app that decodes mach_error integers
Objective-C
2
star
75

Math.uuid.js

fork of Robert Kieffer's Math.uuid.js in jquery.pkg format
JavaScript
2
star
76

elemental

An intrusive, fast (constant-speed), doubly-linked list in C
C
2
star
77

usc

United States Customary Unit lengths (inches, feet) calculator in JS
TypeScript
1
star
78

wiki

wolf's personal wiki
1
star
79

do-dns

command-line tool for downloading and uploading Digital Ocean DNS records
TypeScript
1
star
80

SwiftCoreDataRelationshipRepro

simple Mac app that reproduces failure to set a to-one relationship using Core Data with Swift (Xcode 6b3-4)
Swift
1
star
81

docker-apache-webobjects

Apache + WebObjects Adapter under Docker
1
star
82

giles

simple ajax frontend to DBSlayer
1
star
83

node-google-image-search-url-results

simple node frontend to google image search results (as an array of urls)
JavaScript
1
star
84

WhitelistDeliciousContentSecurityPolicy

Adds https://delicious.com to GitHub's Content-Security-Policy Header so its bookmarklet works
JavaScript
1
star
85

pretty164

Simple E.164 dash-inserter
TypeScript
1
star