try-catching any calls to hold reset reasons in circulation module so that it'll never cancel a checkin/checkout.
sql for reset reasons
make proximity adjustments based on reset reasons if circ.holds.retarget_previous_targets_interval greater than 0. For each previous copy on a hold, reset reasons with MANUAL_RESET will increase the proximity by an amount equal to the maximum proximity while TIMED_OUT will apply a +1 prox adjustment per occurence within that interval.
log retarget only if it was successful
Don't create reset reason in hold targeter if hold arg is defined. Try catch any errors from hold reset note in hold-targeter application. run reset reason entry search within eval in case of failure.
fix tab issues.
geosort
merge vincinity stuff into geo app, revert changes to admin page component, fix syntax error in statement to create SQL
add call to geo from actor like how the retrieve coordinates works
get distance divisor from config global flags and divide shipping
distance by it to get copy score.
change from max_prox to max_prox+1 so retargeted copies always appear outside of initial list even if prox is 0.