Edge Cases, Exceptions, and weird Legacy Shit
Ideally, we make a seed file that contains data matching these conditions so we can QA these things more easily.
Apps:​
All Apps:​
- Password Protect: A setting in Design > Advanced that is only displayed if the app was created before 2017-11-02T00:00:00
- Auto Save: If you're logged into POWr as an admin, changes you are making to an app will not save until you hit "Add To Site" or "Publish".
Form Builder:​
- Payment Tab: if platform=ecwid, hide the entire Payment tab
- Captchas: Captchas (in "Settings") cannot be enabled if payment is toggled on
- Watermark Only Pricing in Shopify & BigCommerce
Hit Counter:​
- Show Starting Number: If platform=shopify, hide 'startingNumber' element in "Counter Admin" drilldown
- You might be wondering where is the controller, router, db for hit counter. It's all in this project https://gitlab.com/powr/powr_counter
- If you need to interact with hitcounter, let's say you want to update the number of hits for example, you'll have to send a request to https://powr-counter-staging.herokuapp.com or https://powr-counter.herokuapp.com. This endpoints are in the app/javascript/modules/helpers.js file so that you can refer to them using counterUri().
- Examples of such requests are in the app/javascript/packs/apps/hitCounter.js file.
- If you want to test locally, you may want to point development to staging in the counterUri() function inside the app/javascript/modules/helpers.js file
Microblog (Gallery):​
- Gallery V1 & V2: We updated element types for microblog apps in 2018. No changes need to be made to "version":"1", but when we test new features it's good to check an old gallery to make sure the settings still work.
Platforms:​
Jimdo + other "Install First" platforms:​
- Unclaimed plugin: On some platforms, the user adds an embed code before the plugin has been saved or assigned to a user account. In the past, the user had to click "Save" and sign into an account to use a non-default version of a plugin on their site. Since the "Volcano" auto-save updates, we've had to make some adjustments to prevent users from installing custom plugins on their site that never get tied to a user account. The solution is that we show a "Plugin unclaimed" warning if the user hasn't signed up/logged in:

Squarespace:​
- Squarespace Pro: Users with platform=squarespace should see a different version of our pricing table that advertises 50+ plugins for Pro (see screenshot below). When the user upgrades, the pro_subscription is immediately bumped to Pro and all present and future plugins in the user's account will be on the Pro plan.

Weebly:​
- UI: Slightly different UI, always test new features in Weebly to make sure everything works and updates the view in real-time.
Wix:​
- All of these things: https://www.getoutline.com/doc/app-settings-powr-vs-wix-mNvLkLG44V
Subscriptions:​
- App Subscriptions: It's not possible for users to purchase an App Subscription anymore (was phased out as of March 2017), but the database table app_subscriptions still exists and we need to consider that we have legacy users on that plan when updating anything account or billing related (for example, in the past we were not properly downgrading app subscriptions that had unsuccessful renewals because we never set them to 'pending')
- Pro Subscriptions with no App Type: Before Aug 2017, pro_subscriptions were account-wide upgrades and did not have an app type. This is true for premium, pro, and enterprise subscriptions created before then.
- Upsell Unlimited Promo:
- upsell_sms promo code: If a user applies a promo code with the src 'upsell_sms', the user gets their price increased by $5, the app_type for the subscription is removed, and the user is 'bumped' to activate the plan features in all apps.
- Credits: We no longer give credits to users in the usual app creation or install flow, but support can still assign credits to a user in admin/tech_support_helper. We always want to make sure credits can still be redeemed and don't mess up the subscription price in a weird way.
- Vendasta Reseller "Pricing": If the user's platform is reseller_marketplace, they should see no mention of "Upgrade" or POWr pricing anywhere.
- Cloudflare Rounded Prices: All prices are rounded, so instead of $4.99/mo a Starter plan will cost $5/mo.
- Lightspeed "Free Trial Only" flow
- Legacy Freefall user