Weekly Engineering Meeting
Jan 24:â
Agenda: Ben Ross: PM approval before testing Praneeta Mhatre:
- are we leaving enough time for testing in our planning? - Getting stuff out correctly is more important than rushing into something and pushing broken code.
- #spankthejankTM - Can we create tickets for jank when we see it/ add it for hotfixes and like POWr hour have an spankthejank hour for cleaning it up? Doesn't have to be every week.
jankparty - pair Sr with a Jr. Wednesday. QA process:
- How do we parallelize testing with a mirror of prod. - Docker QA Tool.
- How do we ensure that two tickets touching similar parts of code doesn't break on prod because they don't together. - QuASS
- Aways follow the process. You can do code review and PM approval in parallel.
- If many bugs, PM needs to be looped in will prioritize the bugs.
- Batch testing notes, and they can go through PM Approval code review. iteration .#2.
- Exception is hotfixes.
Show and Tell: Joe: These are ongoing issues i see crop up in our Javascript code
- default function params and other stuff which isn't supported by IE
- mutating state directly (causing rendering issues) -> this.state.xyz = "123";
setStateto mutate state in methods where it should not be called such asrender(can cause render loops)- failure to remove listeners in
componentWillUnmount(can cause memory leaks for the user) - over-reliance on jquery (we want to stomp jquery out of our code as much as possible -- if your'e reaching out of a component and into the dom its usually (not always) a sign of a bad pattern that needs to be re-worked)
- lots of reliance on global methods and variables (lets start including these)
- binding this incorrectly (should be using
foo => { // method code here }to declare functions (i've been failing at this)
the above list is non-exhaustive but super important to start hammering down because lots of time is being spent fixing bugs due to the above issues.
interfacing with this sort of code can be extremely difficult as well which means either rewriting it so that its clear for all developers and fixes bugs (which takes time) or everyone has to hack around it (which also takes time and compounds the issue).
writing correct code takes less time than writing fragile code quickly and shipping it to prod because correct code has to be supported less (by everyone involved, this includes QA, support, engineering and PMs) and can be improved and modified faster, whereas incorrect code breaks and takes time away from all of the previously mentioned team members.
eslint is a really good linter which is completely set up and ready to use with the powr codebase -- you can get it to work with atom and vscode -- it will give you a list of errors and warnings in your console on save -- if you're not seeing those messages then you haven't set your linter up correctly... if you are seeing those messages and you're letting it fly... why? some warnings are fine to ignore at times (such as the magic number warning) but true errors should never be ignored.
you should not use auto-correct with your linter, you should use it as you would use spell check when writing an email (so that you can learn from your mistakes, like spell check or any other auto-correct / hint system -- its AI assistance for developers).
also, its useful to keep your developer toolbar open in chrome during the duration of development as you will be able to see errors and warnings (such as the plethora of ~memory~ React related warnings and errors throughout our site) and this will help you fix these things before launching to prod. (edited)
Follow ups:
- Jobs - Ivan posted a list in the channel. Do we need tickets?
- Should we have a #firesfromlastweek?
- Puru: check if restart server works when mem issues.
- MobX show and tell - Praneeta
- eslint - Joe
- request for QA - @eng ticket link has passed QA. I have moved it to âReady To Launchâ in the QuASS Sheet.
- QA updated process - meeting / rewatch recordings.
- Testing time - automate, ensure we are testing only what needs to be tested.
possibly selenium? record and quick test. - should we look into this.
firesfromlastweek: Databases should be avoided on /view page. If we need to make a call, it should be cached. Scout is a good tool for this. also has a little chrome extension.
how do we feel this week?
- collisions
- Sharing test servers
- wario rooms
- public channels
- fuck threads
- qa testing
- all things nice
Jan 17:â
Agenda:
Praneeta Mhatre:
zendesk tickets >> jira tickets.
praneeta shame - slate in IE and localstorage issues
if (document.querySelector('#js-standalone-loader')){
, document.querySelector('#js-standalone-loader')); }
ReactDOM.render(refresher on outline for new members
Aigul Imadildayeva:
- Praneeta summary: components.yml is not responsible loading things in Ruby and on the /view page. We avoid loading simple copies on /view
Detail: guys, regarding SC components.yml not loading automatically correct English version: Praneeta pointed into layouts/application.haml.html file where we are excluding âviewsâ for SC loader, also it will auto load only for JS files, haml files we have to do it manually in an old school way: https://www.powr.io/simple_copies/4759/edit Thx Praneeta!
- does anyone else has this error in their local terminal, whenever I try to create new plugin, in terminal I see this error: ActionController::RoutingError (No route matches [POST] â/1113â) => where 1113 is my created pluginâs ID
Show off: Yerassyl: Tests https://www.getoutline.com/collections/7fc385cf-78f0-442b-bf87-c2f0e0b26262
Follow ups: Puru: Did everyone add the cron jobs they are aware of? Pilar: channel to use to alert support about important updates: we killed #supportupdates, so please put everything in #support (weâll clean up the spam from automated stuff in there at some point :bowser:)
how do we feel this week?
- collisions
- Sharing test servers
- wario rooms
- public channels
- qa testing
- all things nice
Jan 10:
Agenda: Zac: Paypal thing https://www.lucidchart.com/invitations/accept/6a19d734-a7ff-4c2e-9bed-20c85d75c00f
Pilar Sterne: Communicating/documenting migrations Card status
Puru Dahal: Followup on list of all the schedulers
Praneeta Mhatre:
- Good resources to know about https://docs.google.com/spreadsheets/d/1BBmam35RdQznHXJWYoXNEJeg-ehTY6bAA66EvenzI2E/edit#gid=0 and https://docs.google.com/spreadsheets/d/1EkAR7Tog8l1As3_5KWaozFQ9v1sT8ewftw1AT5z3kMc/edit#gid=0
- ressurecting (Wix UI stage formbuilder) https://i.imgur.com/qft8XiU.png Itâs almost configured and works AF, just has some modal height issues. Whatâs needed for that?
Brent Gummow :
- Jira status: Who moves card to done?
(discussion point, not a current question to be answered here đ ) 2. Letting support know about updates - support or supportupdates slack channel?
Sergey Tyan: testing pure JS helper functions using Jest: https://www.getoutline.com/doc/testing-pure-javascript-helper-functions-TlqJvr5loQ
Show off:
Follow ups: Wix testing on staging- Puru needs a Jira for this.
QA corner:
how do we feel this week?
- collisions
- Sharing test servers
- wario rooms
- public channels
- all things nice
Jan 3:
Agenda: Puru Dahal: List of all the scheduler (possibly on getoutline) with Cron times (so its easier for #support folks and me to know what caused the sidekiq spike, and if its expected or not when #monitor channel is reporting high enqueued list?). For example:-
- PowrMailSaveWorker (Everyday at 9 AM PST)
Suggestion: Calendar for schedulers. Support can look at it if monitor is red alert eng. If Job 1 and Job 2 have same time slots, it causes craziness. If db connections are not high, can increase workers(for eng) Puru will list from heroku scheduler and calendar. Will need estimate from responsible eng for how long the task needs to run.
Praneeta Mhatre: Wix formbuilder reactification and the decisions made.
Show off: Zac's amazing campaign builder demo
Follow ups: Paypal thing from Zac - Pilar Jira for Zac Emails testing on staging alpha Wix testing on staging- Puru needs a Jira for this.
how do we feel this week?
- collisions
- Sharing test servers
- wario rooms
- public channels
- all things nice
Dec 20:
- PURU: What is and how to setup/use .gitmessage template and automagically have better git message and MR title/description. Follow-up on last week's and this week's @Curlee's git suggestion.
- JOE: Suggestion:add extra info to your MRs in gitlab:
- add link to any jira tickets which the MR covers
- add extra info if your MR has any dependencies (migrations, dependent on a different MR first etc.)
- Add a quick blurb explaining what the MR is doing examples:

Wix APP by user - PURU working on this.
Dec 13:
- BRENT: ignore/forceIgnore in inputs to keep backbone from triggering - And do we still need to have the crazy uber-listener in base_settings? (line 1131)
- ONLY add ignore when you don't want your input to directly impact the backbone model - default behavior WILL update backbone. This problem will go away when we switch 100% to mobX and drop backbone.
ZAC: staging and alpha workers don't always get along- has been a problem testing form payment updates, likely to cause problems for other things moving forward, worth a discussion- We now have redis instances for alpha and staging so we should be good!
- If there are other issues, please let puru know
- We need to make a ticket to test this stuff - Liza can test - PURU
- We do NOT want to separate the db..
- PURU: few thing to consider while running migration on app model (especially if you do not want to trigger screenshot on each update):-=> If you are calling
app.saveplease make sure to assignapp.skip_screenshot = truefollowed byapp.save=> If you are callingapp.update(attributes)you can just pass skip_screenshot as an argument. Example:-app.update(content: {}, skip_screenshot: true)Posted in #engineeringDec 11thView messagehttps://www.getoutline.com/doc/migration-checklist-3QjXxFgOUX- Should we refactor to set skip_screenshot to default to false instead?? - would be many pitfalls
- Code review checklist addition for skip screenshot
- Remember the pre-migration checklist: https://www.getoutline.com/doc/migration-checklist-3QjXxFgOUX
- JOE/BEN: https://juffalow.com/other/write-good-git-commit-message Write good git commit messageFor a long time I didn't know that even writing commit message can have its own
- https://www.getoutline.com/doc/template-for-commits-bSEf0DCHww
- Squash commits
- JOE: point of discussion: my 1 point stories last anywhere from 1 day to 1 month consisting of 1 to 100+ file changes -- estimates seem wildly off -- anyone else have this issue? what can we do to solve? i have some ideas but need to solve as a group of its not just me
- Raising the flag is the most important thing! - if it jumps from a day to a week, is it still worth doing it now? Have a conversation to discuss options⊠push a jank solution? consider value of refactor, etc..
- Consider technical debt tickets for follow up sprints
- Consider discovery point padded to new projects
- We should consider back and forth qa steps when scoring
- Can docker help knock off some points of testing?
- => every new branch will support the docker-qa-tool.
- https://www.useloom.com/share/9450204fabc447c1a990e6c596fcdd0e
- https://www.useloom.com/share/f718ffb5a2204291b74ed332987051f0
- https://www.useloom.com/share/90e71f1c391f4c4fb3795fce44069c18
- Zac still working on paypal knowledge dump - potentially with killer presentation
Dec 6:
- JOE: created a generic powr react modal that uses react modal...
- powr_react_modal.jsx
- Joe will create a GetOutline tutorial for how to use it...
- Follow up on react component documentation - talk to Kelsey⊠consider folder in get outline? Or can everything live in the style guide?
- BEN: Availability over holidays
- IF YOU ARE GOING TO BE OFF, PLEASE REQUEST TIME OFF ASAP AND UPDATE CALENDAR
- Paypal engineering school with zac if possible:
- Start with a high level Payapl Technical Audit doc so we can know what's being used and where - then chat about it.
Nov 29:
Aigul: reassigning the value => Bad! BAD: app_created_at = DateTime.now app_created_at = @meta[âcreated_atâ] if user_signed_in? && @meta
GOOD: Use a new variable...
app_created_at = @meta.try(:[], âcreated_atâ).present? ? @meta.try(:[], âcreated_atâ) : DateTime.now
Zac: find ~/powr_projects/powr *.rb -exec ruby -c {} \; Tells you where your syntax error is in Ruby.. (can it be added to our local foreman's procfile.dev?) Zac will check out and make an outline or report back..
Puru: Prevent running multiple parallel deploys on same environment. If 2 deploys are triggered within like a minute, the second one can replace the first one and might not have all the changes⊠(because we have 2 runners with different cache) - can we keep this from being possible? (sergey/puru looked into). Takeaway: - LOOK AT JOBS ON GITLAB WHEN PUSHING TO SEE THAT SOMETHING WAS JUST PUSHED TO YOUR SERVER - GIVE IT 5 TO 10 MINUTES BEFORE. (Sergey and Puru will continue to look for solutions)
Puru:
nil? vs empty? vs blank?
Learn the difference: https://blog.arkency.com/2017/07/nil-empty-blank-ruby-rails-difference/
Takeaway: USE BLANK? AS YOUR DEFAULT
Sergey: add optional chaining polyfill to our project https://babeljs.io/docs/en/babel-plugin-proposal-optional-chaining Works like .try for ruby but for javascript⊠Takeaway: SERGEY WILL ADD TO OUR CODEBASE
How to fix local webpacker compile - this is soooo slow right now. (FIXED!)
To make it prettier when you debug locally
in powr/config/webpack/development.js:
devtool: 'source-map' // slow, but shows pretty code
...
devtool: 'eval' // fast, but shows ugly code
...
Yerassyl: Testing shopify with mocks - (vcr?) He is writing tests (aigul is helping with knowledge and documentation), starting with pricing, goal of doing full end-to-end testing... When dealing with third parties (like shopify), it gets slow and tricky. VCR https://github.com/vcr/vcr - a tool for making mocks, it records what a proper response looks like (use for something like recurring shopify payments...)
- start by manually testing and see what type of responses you get Joe has written some tests on the social feeds side you can look at for an example⊠(he was using jest)
Yerassyl: He's hopefully going to be joining us in person next year!!!! WOOOHOOO CONGRATS!!
Liza starting as QA lead on monday - will own QUASS
Zac: How to deal with QA focusing on wrong things sometimes (like interface) when you really want to just see if the flow works or not⊠. Try being more vocal about exactly WHAT you want to have tested.
Can we see exactly what branches are on staging at any given point?
Nov 15:
Praneeta Mhatre: Joshâs email needs to be swapped out with [email protected] for AWS - send code issues
Ben Ross: updating specs to a task when you make additions not in orig specs
- when working on a task and you do some cleaning up or touch any code that is outside of the testing specs - please add a note to test other things which are affected. May be nice if MR (reviewer also suggests)
Ben Ross: PM approval + testing sheet sync
- Ben Ross:stop using functions that crash ie: startsWith, includes, etc.# Nov 8:
Brent: Weird email thing - works locally, not on staging... anyone have any ideas about user_mailer/end_user_app_form_mail.html.haml ? If emails don't show updated code, may be workers havent' picked up the new code. Restart.
Ben Ross:
Revisit: How to use simple copies
how do we remove prettier and never speak of it again
Praneeta Mhatre: https://docs.google.com/spreadsheets/d/1Qn2xBVz2TITRw0JmrSzGkJTpectUVFgUfwypDsAoRSw/edit#gid=0<- Tyroneâs magical list of shit that keeps breaking
Praneeta: Staging db - and how to make sure that the data from migrations is also added to the db if the database is removed and started over (columns/schema came back correctly, but no migrations that added data to tables were run)
Nov 1:
Agenda: Praneeta:
sharing updates to application.yml
REDISTOGO_URL: redis://localhost:6379reactify-button-settings - content team, what is status?
prettier - do we all hate it? - kill it and ensure you write readable code. - Praneeta will kill
- pros: code looks nice
- cons: wip commits are pain
Experiments and writing code that can be cleaned easily (Are we creating tickets for cleanup?)
MRs - please add tickets and screenshots/screencasts
Css changes: 1 fix to break them all - how do we test how our 1 css change breaks unrelated things - shopify css changing dropdowns everywhere in settings in low res mode - I know super edge case - but couldnât think of another example. But there are plenty
How to share testing environments - please be vocal, use public channels for communications.** **
Ivan / Joe pricing storing structure jam?
Zac:
- quick talk on smart butt-ons and powrmail to powr campaigns
Sergey:
- Docker demo on Teddyâs computer
- Qa dashboard demo on my computer
Follow ups: Praneeta - collisions, how do we feel this week?
- best way to deal with this is to bring things up in standups
- checkin with PM
- How to share test servers: https://www.getoutline.com/doc/sharing-EUxNYsAUd1
Wario rooms, public channels, qa testing channel and everything nice bugsnags clearing partaaaaaayyy.
Oct 25:
Agenda: Reminder - record for Sergey and Aigul (also Puru) Ben: process related items PM approval column before QA
- could be in parallel/ before code review.
- to ensure we are pushing what we thought we wanted to push.
- all projects will have project managers moving forth
QA
- Sunil could also be used to overnight testing. Platform related (shopify etc) could go to him. Has product experience.
Praneeta: Button reactificathon Help slides - https://slides.com/praneetamhatre/deck#/ Some more documentation WIP https://www.getoutline.com/doc/fantastic-configs-and-where-to-find-them-9ofg4iRrRx https://www.getoutline.com/doc/powr-components-930C38ynVs Reactificathon: Brent, Joe, Pilar, (Chelsea may be) - Content Tab Ben, Zac, Kelsey, Devis (Teddy, may be) - Design Tab Praneeta will answer questions and continue documentation as questions come up.
branch: reactify-button-settings (brent/joe/pilar) branch on gitlab: content-reactify-button-settings
Social Media icons for Sergey And Aigul.
Follow ups: Praneeta - collisions, how do we feel this week?
- best way to deal with this is to bring things up in standups
- checkin with PM
- How to share test servers: https://www.getoutline.com/doc/sharing-EUxNYsAUd1
Wario rooms, public channels, qa testing channel and everything nice bugsnags clearing partaaaaaayyy.
Ticket for Pilar to list strengths of QA
Oct 18:
Agenda: Praneeta: Updates channel.
- This is not just for major updates, it's also for tiny little changes, including simple copy and marketing updates etc.
Praneeta: Launch fail, explanation, lessons, Get suggestions.
- Import prod forms locally when you are building something to ensure things are ok.
- Have test forms on prod that have all the things/ different combinations, makes it easy to test.
- Good to have a testing sheet/specs ahead of time.
- Good to break tickets down with small points and reasonable amount of technical detail (only because this is technical project). This one was tough because there was no baseline.
- Prioritizing bugs/ testing/ getting feedback.
- Always test with non admin users
Praneeta: Note about slug size and docker.
- Praneeta will investigate on staging.
Praneeta: Show and tell may be for TODO solutions.
- TODO list ticket works great for me.
Follow ups: Praneeta - collisions, how do we feel this week?
- best way to deal with this is to bring things up in standups
- How to share test servers: https://www.getoutline.com/doc/sharing-EUxNYsAUd1
Pilar - TODOs/ PRs Wario rooms, public channels, qa testing channel and everything nice bugsnags clearing partaaaaaay.
When you get an error: error: cannot lock ref 'refs/remotes/origin
git remote prune origin
Oct 11:
Sergey upgrading babel will reduce the bundle size https://babeljs.io/blog/2018/08/27/7.0.0
Kelsey Raczak [1:54 PM] updating bootstrap
Praneeta Mhatre [2:48 PM] project collisions
Oct 4
Agenda: Reactified settings https://slides.com/praneetamhatre/deck#/ QA testing: Check calendar and ask for help. If no response @mention people
From last week: Pilar - May be Jira for code reviews. TODOS are terrible Wario rooms, public channels, qa testing channel and everything nice
Sept 27
Agenda: Puru: What is Memoization and how to Memoize database calls?
Brent Gummow RE: Spec and Public assets. It turns out that I had a bunch of files in my project that were compiled assets (thousands) that were not needed. If you have files in your public/assets folder, you can safely delete these. That was the biggest issue i was having with my searches. Ben also found a way to exclude folders from atom searches, so rather than delete specs (since they are very occasionally used), I have added information on excluding folders in your Atom searches to outline - you can see that here: https://www.getoutline.com/doc/exclude-directories-like-spec-when-searching-in-atom-xG717cPms3
Ben Ross:
- 404s and 500s in console every time you load a page getting annoying
- if you run a migration on existing Apps, use update with
skip_screenshot: trueor you will generate millions of screenshots
Praneeta Mhatre:
refresher on simple copies in js
reminder on how to update powr react components outside of the react component https://www.getoutline.com/doc/creating-react-components-for-powr-settings-fxkESTMBVe#Triggers\\\-\\\-1
Praneeta show off
Sergey Tyan:
docs.gitlab.com Configuration of your jobs with .gitlab-ci.yml | GitLab Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner. 2. Docker presentation
From 2 weeks ago: Pilar - May be Jira for code reviews. TODOS are terrible - everything sucks Wario rooms, public channels and everything nice
Followup:
Doc for migration checklist
service worker js 200 - puru
powrcounter staging - zac
Sept 13
Praneeta: different color/icon for staging and local powr icon. Will prevent derp things like looking at the wrong place (doesnât happen here often), emails from staging will be less freaky and easy to identify (happens often) And may be whitelist some staging emails.
Sergey: No more chunks ci makes sense - build assets using CI - becuase heroku has lower RAM. > 5 mins to compile clientside newrelic to benchmark
Follow ups: Sergey require next week - Teddy - May be Jira for code reviews. TODOS are terrible JSON B demo Wario rooms, public channels and everything nice
Sept 6
Agenda:
Aigul Imadildayeva - Manual on upgrading Hirefire workers => it is a request đ (edited)
PURU - getoutline, how to disable hirefire and increase workers - - if queue > x -> notify - Ben making eng task
Praneeta Mhatre quick way to add extra attrs on model objects (eg current user) (Aigul) ^^ as_json in user model (edited)
Puru Dahal [12:08 PM]
Redis.cache vs Fallback::CacheREDIS.get/set vs Fallback::Redis.get/set- Separate redis instances/list for cache, redis.rb, sidekiq, DDOS, split
Puru Dahal [1:25 PM] https://i.imgur.com/YQWM2k9.png https://i.imgur.com/YQWM2k9.png
Followups from last week: Heroku slug size - slack bot reminder for Puru to do it manually
Wario rooms Public channels usage Tickets from last week
- old spec/ and public/assets/pages in the code base - for Brent, sync with Ben in removing them https://powrtrak.atlassian.net/browse/PM-3472
- jquery click handling - also add !! warnings from Ben - for Brent https://powrtrak.atlassian.net/browse/PM-3473
- POWr.premiumStatusLabel[level] - POWR hour to clean up old cases of if else - not assigned to anyone https://powrtrak.atlassian.net/browse/PM-3474
- Rails error messages - Puru https://powrtrak.atlassian.net/browse/PM-3475
Aug 30
Brent
- Do we still need all the old spec/ and public/assets/pages in the code base? They significantly increase time searching
Ticket - Brent will sync with Ben
- jQuery click listeners in a react world el.click, ()=>{} -> document.on('click', el, ()=>{})
- possibly create a outline wiki - also add !! warnings from Ben
- powr_helpers and POWr.premiumStatusLabel[level]
POWR HOUR? - change old cases.
Zac Wickstrom đ
- Rails error messages aren't a thing anymore. Can we bring those back?
POWR HOUR for Puru - how to debug this
Puru Dahal
- Addressed Rails log here:-
Puru Dahal Here is the error. Its easier to miss, even during the review process. Take away from this issue:-
- When you have hotfixes like this, please make sure your app restarts.
- Introducing JSONB
Praneeta Mhatre the comeback of wariorooms when server is down powroutlet mem leaks
Pilar Sterne
- Introducing Teddy to the team
- Using public Slack channels for communicating status of things
Aug 23
Sergey - TIL Webpack parses require calls withs dynamic arguments and converts them into regular expressions in order to know which files to include during a compile time.
Praneeta - Code reviews. is there a better way to do followups? TODOS is pretty useless mobx configs
Ben Ross - we need to stop ignoring bugsnogs proposed alt solution to ab testing
Brent volcano automated testing >> core apps
Kelsey z-index doc
Followups from last week:
- Updating support - going ok?
- Redis issues addressed? large files / emails etc
- This one is from before - Emails on follower db
- periodically clean Heroku slug on production to reduce deployment time - ben will prioritize
- killing old branch - PURU on it - Ben create task
Sergey require next week Teddy - May be Jira for code reviews. TODOS are terrible Bugsnag - if < 15 mins, fix it. > 15 mins add to Jira
Split gem is a pain in the ass. đȘ // Overrides would be totes
def powr_ab(ab_test_name, *ab_options)
random_seed = "#{ab_test_name}#{cookies[:unique_id]}".hash
random_generator = Random.new(random_seed)
random_index = random_generator.rand(0..ab_options.count-1)
ab_test_value = ab_options[random_index]
AbLog.find_or_create_by(user_cookie: cookies[:unique_id], name: ab_test_name) do |log|
log.value = ab_test_value
log.user_id = current_user.id if user_signed_in?
end
return [ab_test_value]
end
Aug 16 2018
Ben Ross; Updates to make support aware of what they need to pay attention to related to updates channel changes technical part should be gitlab
- Call out support's attention - so better communication of what changed.
- If P1 app or P1 platform is touched - post in support channel.
- If site wide changes.
Puru Dahal
- RESTful Controller#routes
- Namespace Controller#routes
Brent Gummow
- No documentation is better than incorrect documentation (PowrRadioImage)
Ben: Joe presents what he did in social feed
Zac: What is feature creep? How to spot it and what you can do to stop it
Praneeta Mhatre: Redis issues and what to look for in the future to avoid it - (when writing code and when reviewing code)
Followups from last week: 120 line, still not set. https://gitlab.com/powr/powr/merge_requests/423/diffs Sass compiling decisions periodically clean Heroku slug on production to reduce deployment time - ben will prioritize killing old branch - PURU on it