Code Monkey home page Code Monkey logo

privly-safari's People

Contributors

sambuddhabasu avatar smcgregor avatar yagogg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

privly-safari's Issues

Needs Maintainer

No one is currently working on this extension. If you want to experiment with it, you should open a discussion here or on IRC. #privly of irc.freenode.net

Port privly.js to Safari

The Safari extension has not been updated for a while and numerous changes have been made to the core content script.

Add Toggle Button for Mode

We need an easy way to activate and deactivate the extension without accessing the Safari extension settings. The simplest way to implement this functionality is to control when the content script is injected (privly.js), but we could also send messages to the content script after it is loaded.

Update Readme

This readme needs more details to describe the current state of the repo and give more context of the project in general.

Tooltip Positioning Test Fails

I am increasing test coverage and my latest build fails on Safari. I believe it has something to do with Safari refusing to absolute position the element without setting the position style to absolute, but after experimenting with this possibility for an hour, I need to give up.

Don't inject applications when CSP conflicts

The content script will attempt to inject the privly-app when the CSP won't allow the iframe to load. We need to make the content scripts aware of when they should not inject the app on Safari.

gmail for Safari fails

gmail for safari uses a special element for forms that is not a textarea. This will require more work and probably coincides with solutions to things like WYSIWYG editors.

Integrate privly-applications selenium tests

The selenium tests found in privly-applications test all the core functionality of the system and will quickly tell you if there is an issue integrating privly-applications with privly-safari. These tests should be supported by the Safari browser's extension context and/or by the Safari web (hosted) context.

Steps:

  1. Install the Safari Driver
  2. Add safari_web and safari_extension to the platforms list along with details.
  3. Add the platforms to this list along with the proper sanity check.
  4. Add the corresponding configurations for safari_web and safari_extension.
  5. Run the tests with ruby run_all.rb --platform safari_web --release-status experimental --content-server http://localhost:3000 For the tests to pass you will need a local content server running on port 3000. You do not need the tests to pass to see that you have configured testing correctly.

I recommend getting this working for safari_web before attempting to test safari_extension.

Completing these steps for TravisCI and SauceLabs will likely be more complicated since it would require somehow installing the safari extension on SauceLabs. This works for the Firefox extension by adding it to the browser's profile from Travis, and it works for the Chrome extension by base64 encoding the extension and streaming it to SauceLabs. One of these approaches will likely work for Safari as well, but the first step is to get these tests running locally without SauceLabs and TravisCI.

Package Safari Extension

Let's package the extension and see if there is a way to preview it from Apple's servers before publishing to the world.

Indicate when the extension is on/off

Presently, we can stop the extension by clicking on Stop Injecting. However, to denote the running state of the extension, there is no on/off visual.
In Safari extensions, we cannot have a modal button so the best thing to do in my opinion, is to have 2 different images, one with the on and one with the off text. Once the Stop Injecting is pressed, the image with the off text will be shown as the image of the toolbar item. On clicking Start Injecting, the image of the toolbar will be change again.
@smcgregor What do you think about this approach?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.