Yoti Password Manager versjonshistorikk - 3 versjonar
Yoti Password Manager av Nigel C, Julian
Yoti Password Manager versjonshistorikk - 3 versjonar
Ver forsiktig med eldre versjonar! Desse versjonane er vist som referanse og testformål.Du bør alltid bruke den siste versjonen av eit tillegg.
Siste versjon
Versjon 1.12.6
Sleppt 3. aug. 2022 - 1,64 MBFungerar med firefox 48.0 og nyareRedesign of the desktop browser extension
Ability to export passwordsKjeldekode sleppt under All Rights Reserved
Last ned Firefox og få utvidingaDu treng Firefox for å bruke denne utvidingaEldre versjonar
Versjon 1.12.4.2104
Sleppt 3. juni 2021 - 1,53 MBFungerar med firefox 48.0 og nyareUpdating a library
Changing "Contact Us" URLKjeldekode sleppt under Yoti password manager end user license agreement
Versjon 1.12.3.2096
Sleppt 27. aug. 2020 - 1,53 MBFungerar med firefox 48.0 og nyare# yoti-upm-browser
Universal Password Manager browser extension code
The codebase consists of three parts:
- **Content script** runs on every page which loaded in the browser and interact with them
- **Popup pages** contains the extension settings and feature pages
- **Background script** running in the background and orchestrating communication between the different components and the backend
### Content script
Responsible to scan all the loaded pages in the browser and search for username and password fields. If field is found then tries get the user info from the server to fill it out the form and places the yoti logo inside form field. Clicking on the icon inside the form fields should show a context menu for the page helping the user to fill out the forms with the proper values.
### Popup pages
Main entry point to UPM. It authenticates the user, shows the QR Code, the password generator page, list of stored pwd, etc...
### Background script
One instance is running inside of the browser and is responsible for the communication between the popup, the content script and servers. Handles:
- sesssion timeout
- communication with the backend services (content cloud, channel service)
- hook into webrequests
- sends messages between the content script and popup pages
## Development notes
This application uses preact with `preact-compat`.
`babel-module-resolver` is used to not overuse relative paths (`../../../../../`).
Instead @aliases are provided.
List of current aliases:
- @shared: ./src/shared,
- @utils: ./src/shared/utils,
- @components: ./src/shared/components,
- @popup: ./src/popup
Example usage:
`import SomeComponent from '@components/SomeComponent';`
To modify aliases change `.babelrc` and `jsconfig.json` files.
_Note: `@yoti` is not an alias, but an npm module!_
### Coding style
- Linting suggestions with `eslint` - airbnb-based rules
- Auto-formatter with `prettier`, applied at:
- pre-commit, only for the staged files (see `lint-staged`)
- at save (if you have prettier extension inside your code editor and `formatOnSave` set to true)
**Note** More strict CSS rules could be applied with `stylelint`.
### Before first run:
- install bower globally (`npm install -g bower`)
- `npm ci`
- `bower update`
- `node_modules/gulp/bin/gulp.js proto-compile` _(This will genereate `popup/generated/*` files)_
### Build
- node_modules/gulp/bin/gulp.js --env <staging/preprod/production/test> --browser <firefox/chrome> --cc <content_cloud_url> --cs <channel_service_url> --portal <portal_url> --code <code_url> --watch
##### parameters
- --watch: optional, will run build in watch mode (rebuild automatically whenever files change)
- --env: optional, if not provided the default is development. values: staging/preprod/production/test
- --browser: for which browser to build. The default is chrome. values: firefox/chrome
- --cc: content cloud url. Must be set according to environment
- --cs: channel service url. Must be set according to environment
- --portal: portal url. It is now the same across environments
- --code: yoti code site url. Must be set according to environment
### Production build
Production build takes the pre-prod build from concourse and updates the configuration to production.
- node_modules/gulp/bin/gulp.js create-prod-release --cc <content_cloud_url> --ppd <pre_prod_zip_input> --prod <prod_output> --cs <channel_service_url> --portal <portal_url> --code <code_url>
##### parameters
- --ppd: path to pre-prod zip file used as input
- --prod: path to prod output zip file
- --browser: for which browser to build. values: firefox/chrome
- --cc: content cloud url. Must be set according to environment
- --cs: channel service url. Must be set according to environment
- --portal: portal url. It is now the same across environments.
- --code: yoti code site url. Must be set according to environment
### Run tests
- npm test
You can also debug a specific test with:
- `node --inspect-brk node_modules/.bin/jest --runInBand YOUR_TEST.js --config jest-config.json`
The chrome extension **Node.js V8 --inspector Manager** can then automatically open a Chrome DevTools tab for you.
Breakpoints in your test can be added with `debugger`
## Other gulp tasks
### Generate change log
Generated changelog from the commit names. Gets the ticket number from the commit names, the tries to grab the ticket from jira
- node_modules/gulp/bin/gulp.js change-log --from <tag/commit_hash> --to <tag/commit_hash> --username <jira_username> --password <jira_password>
##### parameters
- --from: the start commit hash or tag name (for example: 1.0.1)
- --to: optional and the default is HEAD. The end commit hash or tag name (for example: 1.0.2)
- --username: username for jira
- --password: password for jiraKjeldekode sleppt under Yoti password manager end user license agreement