Beeminder Forum

TaskRatchet Development Updates

Update

API

  • Make PUT requests to /me return the updated version of me. This was causing account changes to appear to revert to their previous values on save.
  • Fix Stripe payments integration.
  • Add a warning to morning emails if Stripe payment method isn’t set up properly, mess up the warning wording, fix it with help from @shanaqui.
  • Switch to using a proper template file for morning emails.
  • Add ability to run API locally for development.

Web

  • Convert account page to a functional component.
  • Make account page use toast messages instead of plain text messages.
  • Make app use API running locally when in development mode.

More to come soon!

2 Likes

Update

And a big deploy! This deploy switches TaskRatchet away from AirTable and to Google Cloud Firestore, which also ended up requiring quite a few other changes, too. Please email me at nathan@taskratchet.com if you find a bug or run into an issue with the new changes.

API

  • Build Firestore wrapper
  • Build Firestore one-time migration
  • Connect with production and development Firestore database instances
  • Add support for Stripe test mode
  • Consolidate Stripe hooks into one endpoint for easier event forwarding
  • Add Stripe event forwarding to development environment for hook testing
  • Add basic logging functionality for development
  • Switch from unix time to naive datetime for task due dates
  • Switch from datetime to unix time for session expiration
  • Switch from spaces to underscores for database field names
  • Build migration runner cron job
  • Add support for alphanumeric entity IDs
  • Improve subscription payment handling
  • Set Stripe redirect URLs dynamically based on environment

Web

  • Replace datetime picker
  • Log out automatically on 403 forbidden API response
  • Default to localhost for API requests when in development mode
  • Convert some more class components to functions + hooks
  • Support the few parts of the API schema changes that bleed through the interface
2 Likes

Update

API

  • Make login email case-insensitive
  • Limit new task pledges to $2500 or less
  • Fix bug with how morning emails were being scheduled
  • Fix bug with due date validation
  • Catch and handle Stripe refund error
  • Auto-deploy from CircleCI for master branch
  • Cache dependencies in CircleCI for faster build time
  • Ensure that charges aren’t even authorized until 24 hours past the task’s due date

Web

  • Add $2500 max value to stakes field
2 Likes

Update

API

  • Work on improving exception handling

Web

  • Don’t show “due” label if task completed
  • Don’t reset due date and stakes fields when new task created
  • Fix task sorting (this may still be an issue…)
2 Likes

Update

API

  • Fix a bug where part of the system was trying to capture contested charges even though the rest of the system was preventing it from going through (thankfully!)
  • Add task id to failed capture admin email notifications
  • Log user events to Amplitude
  • Log Amplitude exceptions

Web

  • Add privacy policy and terms of service agreement checkbox to registration page
1 Like

Update

API

  • Add Beeminder integration support

Web

  • Add staging server support
  • Fix SameSite setting in cookies
  • Add Beeminder integration configuration to account page

Hi, Nathan - can you explain how the Beeminder intergration works? Do I set up a Beeminder goal to complete tasks in Taskratchet before the deadline that I set?

Yeah @narthur I never got an email announcing the integration :frowning: :slightly_frowning_face: :frowning_face: :sob: :crying_cat_face: :cry: - is there documentation somewhere?

Sure! The integration is super simple right now. All it lets you do is beemind adding tasks to TaskRatchet. So basically it will post a 1 with a summary of the task to a goal you choose whenever you create a new TaskRatchet task.

To set it up, click “Enable Beeminder integration” in your account page. That will take you to Beeminder where you’ll have the opportunity to grant TaskRatchet access to your Beeminder data. Once you’ve granted it, you should be redirected back, at which point you can specify the name of the goal you want TaskRatchet to post to when you create a task.

I have lots of ideas for how to make this integration better (including some that @zedmango suggested!) but that’s all we’ve got for now. :slight_smile:

I don’t remember committing to announcing every new feature by email. :wink: But you’re absolutely right about getting some documentation together. It’s on my list!

2 Likes

Ok, quick and dirty, we have a docs site! It’s hosted on GitHub, so please feel free to add issues and/or make pull requests.

http://docs.taskratchet.com/

2 Likes

Made a pull request! This is fun!

1 Like

Nice!! Approved and merged. :smile:

I’m leaving on a trip and won’t be back until June 19. If you run into any issues or for whatever reason want to reach out, please email me at nathan@taskratchet.com and I’ll try to get back with you as soon as I return from my trip!

Remember, replying to charge emails puts a pause on them, so reply to it as soon as you receive it if you think the charge shouldn’t go through.

1 Like