HTTP 103 approved as new status code

Well, this is pretty cool: HTTP status code 103 approved!

An HTTP Status Code for Indicating Hints

A new status code that lets the server send headers early, before the main headers

Example from the docs:

     HTTP/1.1 103 Early Hints
     Link: </main.css>; rel=preload; as=style

     HTTP/1.1 103 Early Hints
     Link: </style.css>; rel=preload; as=style
     Link: </script.js>; rel=preload; as=script

     HTTP/1.1 200 OK
     Date: Fri, 26 May 2017 10:02:11 GMT
     Content-Length: 1234
     Content-Type: text/html; charset=utf-8
     Link: </main.css>; rel=preload; as=style
     Link: </newstyle.css>; rel=preload; as=style
     Link: </script.js>; rel=preload; as=script

React apps in subdirectories that use React Router

If you’ve ever deployed your new React app to a subfolder on your server and you’re using React Router you might notice that React Router starts getting all funky and truncates the subfolder name.  This is the expected behavior, albeit something easy to overlook when deploying to a subfolder.  The good news is that there is a pretty straightforward solution: just add a basepath  to your Router and specify the folder name.

Check out the documentation.

<Router basename="/some/sub/directory/">
  // Other routes here
</Router>

For example, I deploy most of my playground apps to apps.bioramp.com, to deploy the Auto9 app I use a subfolder and the resulting URL is http://apps.bioramp.com/auto9

This is what my Router looks like for that app (keep in mind I import my routes from an external file).

// ... other imports
import { routes } from "./config/routes";

class Auto9 extends React.Component {
  render() {
    return (
      <Router basename="/auto9">
        <div>
            {routes.map((route, index) => (
              <Route
                key={index}
                path={route.path}
                exact={route.exact}
                component={route.component}
              />
            ))}
        </div>
      </Router>
    );
  }
}

Also, keep in the mind that you should have a “homepage” node in your package.json before you a do a build.

OxygenOS (OnePlus) built in analytics collect everything. EVERYTHING.

Chris Moore used OWASP ZAP to proxy his OnePlus connection.  What he found was fairly terrifying.

Serial numbers, package activity, phone settings, and more are being collected and posted back to an AWS box from open.oneplus.net. Yikes.

After noting that OnePlus support can’t instruct users on how to disable the analytics, a twitter user shares how to disable via adb

@chrisdcmoore I’ve read your article about OnePlus Analytics. Actually, you can disable it permanently: pm uninstall -k –user 0 pkg

— Jakub Czekański (@JaCzekanski) October 10, 2017