change-1.png

Tito Changelog: April to June 2023


June

Dashboard

  • Add more fields to registration custom export
  • Add opt-in custom export
  • Add unpaid income note on daily digest email
  • Bring in the stats app
  • Let people create custom check-in exports
  • Add a validation to make sure event end date is after the start date
  • The 'Pay' button should be disabled if required Italian checkout fields are not filled in too
  • Simplify and honour priority countriesEscape potentially dangerous formula characters when exporting .csv/.xlsx files
  • Add responses to ticket custom export
  • Increment class name shouldn't be on the decrement quantity button and vice versa
  • Use separate layouts for account timeline and direct ticket/order pages
  • Bring receipts up-to-date with how they work on legacy
  • Fix translation for 'free' in Czech
  • The income & expenditure by payment export shouldn't break on non EURO events
  • Fix custom continue button labels
  • Fix PayPal Platform fees on Income & Expenditure report

Checkout

  • Don't crash if discount code only contains digits or is a number in scientific notation
  • Accessibility updates to the checkout colours

May

Dashboard

  • Updates to the design of the new EJS homepages
  • Don't show other POIs on map
  • Pass Tito registration reference and description when creating PayPal Platform orders so organisers can identify which event they belong to
  • Don't let people finish their order a long time later if the release is now sold out
  • Typography tweaks from EJS
  • Use HTML color input to provide the homepage swatch
  • Let people disable the waiting list confirmation email like they can do with other emails
  • Add Slovak locale
  • Make sure net/gross income counter caches are updated when invoices are marked as paid/unpaid
  • The max tickets per order error in French and Chinese should reference a :maximum parameter, not a :minimum one
  • Adjust reports UI so it works for pending stripe payments, not just unpaid invoices
  • Add a payment#complete attribute to the checkout API so we can indicate payment is pending for invoice and delayed stripe payments
  • Allow file answers to be downloaded
  • Use markdown in email template
  • Improved UI for bundles
  • Add public account timeline using a <tito-events> widget
  • Add links to allow you to search the webhook log
  • Allow alt text for banner to be configured
  • Load the event homepage in the preview for the new customizer
  • Allow vCard data to be included in custom export

Checkout

  • Add public account timeline using a <tito-events> widget
  • Add Slovak locale

April

Dashboard

  • Make sure the loading placeholder shows and the title tag is set on the edit/reassign ticket views too
  • Make sure search engines don't index direct ticket/order pages if they somehow got there
  • Allow moderators to archive events easily by showing a link in the sidebar
  • Set UTM on widget if configured (and allow it to be configured — it's opt-in)
  • Add data protection consent support at the ticket level
  • Add new setting on discount codes which lets people block registrations if the discount cannot be applied to all selected tickets
  • Style the input for the map
  • We only need one custom CSS field now
  • Allow an interested person to be added from the blank state
  • Remove Your Name here from profile dropdown
  • Use UTC for real-time metrics and breakdown fees by payment type
  • Hosted event homepages
  • Validate waitlisted person
  • Fix missing times method when ticket has one scheduled activity
  • Move all registration fee logic into one place
  • Make the processing of invoices more consistent with how other payment types are processed
  • Use correct translation for Apple Wallet
  • Add :sold_out to release cache key to prevent incorrect state showing in the admin area

Checkout

  • Check secure connection present before rendering widgets or routing
  • Show feedback if you fail to join a waiting list
  • Add data protection consent support at the ticket level
  • Use .json in URL for checkout API to avoid content negotiation with headers