Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Round shield mitigation to cope with lack of js float precision #279

Closed
wants to merge 1 commit into from

Conversation

@appletalk
Copy link

appletalk commented Nov 25, 2019

No description provided.

@@ -266,7 +266,7 @@ window.getPortalMitigationDetails = function(d,linkCount) {
// mitigation is limited to 95% (as confirmed by Brandon Badger on G+)
mitigation.total = Math.min(95, mitigation.shields+mitigation.links);

mitigation.excess = (mitigation.shields+mitigation.links) - mitigation.total;
mitigation.excess = Math.round(10 * ((mitigation.shields+mitigation.links) - mitigation.total)) / 10;

This comment has been minimized.

Copy link
@johnd0e

johnd0e Nov 26, 2019

Contributor
Suggested change
mitigation.excess = Math.round(10 * ((mitigation.shields+mitigation.links) - mitigation.total)) / 10;
var excess = (mitigation.shields+mitigation.links) - mitigation.total;
mitigation.excess = Math.round(10*excess) / 10;

And better write add more info to commit message, like this:

JS float precision is not good, so without rounding we'd get 125.8 - 95 = 30.799999999999997
(More background info: https://floating-point-gui.de/)

@johnd0e johnd0e changed the title Round shield mitigation excess to one decimal place Round shield mitigation to cope with lack of js float precision Nov 26, 2019
@johnd0e johnd0e added the enhancement label Nov 27, 2019
@johnd0e johnd0e added this to Priority in Track features for next release via automation Nov 27, 2019
@johnd0e johnd0e added the core label Nov 27, 2019
@johnd0e

This comment has been minimized.

Copy link
Contributor

johnd0e commented Nov 28, 2019

Applied in a569293

@johnd0e johnd0e closed this Nov 28, 2019
@johnd0e johnd0e mentioned this pull request Nov 28, 2019
9 of 9 tasks complete
johnd0e added a commit to johnd0e/ingress-intel-total-conversion that referenced this pull request Dec 5, 2019
- Update most upstream sources, and significantly enhance several plugins IITC-CE#134 (a lot of changes, follow the link to see)
- Fix performance drop when displaying a large number of ornaments IITC-CE#181
- Improve RegionScoreboard IITC-CE#179 © McBen + some fixes
- Remove confusing message from artifacts dialog IITC-CE#216
- Portal info: display coordinates without angled brackets IITC-CE#233
- Leaflet controls: prevent mobile style on desktop IITC-CE#189
- Increase map renderer padding (and make value customizable) IITC-CE#201
- Portal info: `shielding` tooltip: round mitigation `excess` to cope with lack of js float precision IITC-CE#279

- Fix miscellaneous bugs in core and plugins IITC-CE#157
- Change default intel url (to match stock) IITC-CE#267

- Implement plugins priority control IITC-CE#205
- Stop console 'spam' using customizable logger IITC-CE#235
- Consistent errors throwing IITC-CE#248
- API for local files (up|down)loading IITC-CE#243
- Remove some unused stuff from window object IITC-CE#101
- Refactor to use common function `window.makePermalink` (utils_misc.js) IITC-CE#198
- Isolate every core module in separate IIFE IITC-CE#234
- Move wrapper template to separate file IITC-CE#238
- DEFAULT_ZOOM = 15 (to match stock intel) IITC-CE#281
- IITC-CE#229:
  - Refactor build system into several modules (can be used as cli utilities).
    Implement `watch` mode to auto-rebuild on source changes.
  - Escape macros in code in order to keep js-validity, fix IITC-CE#50.
    Use template from settings instead of url harcoding (closes IITC-CE#150).
  - Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
  - Remove timestamp component from `version` of Release scripts (closes IITC-CE#99).
  - Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
- Other
  - see IITC-CE#134 (solve IITC-CE#70: Manage upstream externals)
  - Update docs IITC-CE#264, remove outdated (info transferred to [wiki](https://github.com/IITC-CE/ingress-intel-total-conversion/wiki))

- Improve scale-bar and scoreboard plugins IITC-CE#158
- Improve styles of text labels (portal-level-numbers, portal-names, portal-names, regions, keys-on-map) IITC-CE#104
- Other
  - draw-tools, bookmarks: (make use of IITC-CE#243) support file import/export on desktop too
  - see IITC-CE#134: significantly enhance several plugins : overlay-kml, minimap, basemap-bing, basemap-yandex, tidy-links, pan-control, etc (see commit messages)

- sync: fix and update IITC-CE#212
- draw-tools: fix mobile-related bugs; add Circle again IITC-CE#175
- bookmarks: fix iitc download url IITC-CE#150
- portals-list: filter out portal without real data (bug in intel) IITC-CE#265
- Other: see IITC-CE#157 (cache-portals-on-map, layer-count, draw-tools, bookmarks, missions)

- 'Support DeX desktop mode' option IITC-CE#161
- Add 'Plugins' shortcut to main menu IITC-CE#266

- fix bugs on login page IITC-CE#164
- fix some bugs in plugins handling IITC-CE#245
- fix 'Send screenshot' function IITC-CE#169
- fix error that made it difficult to pick plugin file IITC-CE#239
- fix plugin initialization bug IITC-CE#270

- better handling of uploads IITC-CE#250
johnd0e added a commit to johnd0e/ingress-intel-total-conversion that referenced this pull request Dec 5, 2019
# Release notes

## IITC main script

### enhancements
- Update most upstream sources, and significantly enhance several plugins IITC-CE#134 (a lot of changes, follow the link to see)
- Fix performance drop when displaying a large number of ornaments IITC-CE#181
- Improve RegionScoreboard IITC-CE#179 © McBen + some fixes
- Remove confusing message from artifacts dialog IITC-CE#216
- Portal info: display coordinates without angled brackets IITC-CE#233
- Leaflet controls: prevent mobile style on desktop IITC-CE#189
- Increase map renderer padding (and make value customizable) IITC-CE#201
- Portal info: `shielding` tooltip: round mitigation `excess` to cope with lack of js float precision IITC-CE#279

### bugfixes
- Fix miscellaneous bugs in core and plugins IITC-CE#157
- Change default intel url (to match stock) IITC-CE#267

### development
- Implement plugins priority control IITC-CE#205
- Stop console 'spam' using customizable logger IITC-CE#235
- Consistent errors throwing IITC-CE#248
- API for local files (up|down)loading IITC-CE#243
- Remove some unused stuff from window object IITC-CE#101
- Refactor to use common function `window.makePermalink` (utils_misc.js) IITC-CE#198
- Isolate every core module in separate IIFE IITC-CE#234
- Move wrapper template to separate file IITC-CE#238
- DEFAULT_ZOOM = 15 (to match stock intel) IITC-CE#281
- IITC-CE#229:
  - Refactor build system into several modules (can be used as cli utilities).
    Implement `watch` mode to auto-rebuild on source changes.
  - Escape macros in code in order to keep js-validity, fix IITC-CE#50.
    Use template from settings instead of url harcoding (closes IITC-CE#150).
  - Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
  - Remove timestamp component from `version` of Release scripts (closes IITC-CE#99).
  - Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
- Other
  - see IITC-CE#134 (solve IITC-CE#70: Manage upstream externals)
  - Update docs IITC-CE#264, remove outdated (info transferred to [wiki](https://github.com/IITC-CE/ingress-intel-total-conversion/wiki))

## Plugins

### enhancements
- Improve scale-bar and scoreboard plugins IITC-CE#158
- Improve styles of text labels (portal-level-numbers, portal-names, portal-names, regions, keys-on-map) IITC-CE#104
- Other
  - draw-tools, bookmarks: (make use of IITC-CE#243) support file import/export on desktop too
  - see IITC-CE#134: significantly enhance several plugins : overlay-kml, minimap, basemap-bing, basemap-yandex, tidy-links, pan-control, etc (see commit messages)

### bugfixes
- sync: fix and update IITC-CE#212
- draw-tools: fix mobile-related bugs; add Circle again IITC-CE#175
- bookmarks: fix iitc download url IITC-CE#150
- portals-list: filter out portal without real data (bug in intel) IITC-CE#265
- Other: see IITC-CE#157 (cache-portals-on-map, layer-count, draw-tools, bookmarks, missions)

## IITC-Mobile app

### enhancements
- 'Support DeX desktop mode' option IITC-CE#161
- Add 'Plugins' shortcut to main menu IITC-CE#266

### bugfixes
- fix bugs on login page IITC-CE#164
- fix some bugs in plugins handling IITC-CE#245
- fix 'Send screenshot' function IITC-CE#169
- fix error that made it difficult to pick plugin file IITC-CE#239
- fix plugin initialization bug IITC-CE#270

### development
- better handling of uploads IITC-CE#250
@johnd0e johnd0e mentioned this pull request Dec 5, 2019
johnd0e added a commit that referenced this pull request Dec 7, 2019
bump version to 0.30

# Release notes

## IITC main script

### enhancements
- Update most upstream sources, and significantly enhance several plugins #134 (a lot of changes, follow the link to see)
- Fix performance drop when displaying a large number of ornaments #181
- Improve RegionScoreboard #179 © McBen + some fixes
- Remove confusing message from artifacts dialog #216
- Portal info: display coordinates without angled brackets #233
- Leaflet controls: prevent mobile style on desktop #189
- Increase map renderer padding (and make value customizable) #201
- Portal info: `shielding` tooltip: round mitigation `excess` to cope with lack of js float precision #279

### bugfixes
- Fix miscellaneous bugs in core and plugins #157
- Change default intel url (to match stock) #267

### development
- Implement plugins priority control #205
- Stop console 'spam' using customizable logger #235
- Consistent errors throwing #248
- API for local files (up|down)loading #243
- Remove some unused stuff from window object #101
- Refactor to use common function `window.makePermalink` (utils_misc.js) #198
- Isolate every core module in separate IIFE #234
- Move wrapper template to separate file #238
- DEFAULT_ZOOM = 15 (to match stock intel) #281
- #229:
  - Refactor build system into several modules (can be used as cli utilities).
    Implement `watch` mode to auto-rebuild on source changes.
  - Escape macros in code in order to keep js-validity, fix #50.
    Use template from settings instead of url harcoding (closes #150).
  - Simplify userscripts source template, rename plugin sources:  `*.user.js` -> `*.js`, rearrange source directories.
  - Remove timestamp component from `version` of Release scripts (closes #99).
  - Additional dev tools: `web_meta_gen.py`, `web_server_local.py`, `tampermonkey_stubs_gen.py`.
- Other
  - see #134 (solve #70: Manage upstream externals)
  - Update docs #264, remove outdated (info transferred to [wiki](https://github.com/IITC-CE/ingress-intel-total-conversion/wiki))

## Plugins

### enhancements
- Improve scale-bar and scoreboard plugins #158
- Improve styles of text labels (portal-level-numbers, portal-names, portal-names, regions, keys-on-map) #104
- Other
  - draw-tools, bookmarks: (make use of #243) support file import/export on desktop too
  - see #134: significantly enhance several plugins : overlay-kml, minimap, basemap-bing, basemap-yandex, tidy-links, pan-control, etc (see commit messages)

### bugfixes
- sync: fix and update #212
- draw-tools: fix mobile-related bugs; add Circle again #175
- bookmarks: fix iitc download url #150
- portals-list: filter out portal without real data (bug in intel) #265
- Other: see #157 (cache-portals-on-map, layer-count, draw-tools, bookmarks, missions)

## IITC-Mobile app

### enhancements
- 'Support DeX desktop mode' option #161
- Add 'Plugins' shortcut to main menu #266
- Adapt to changes in Google authorization #283

### bugfixes
- fix bugs on login page #164
- fix some bugs in plugins handling #245
- fix 'Send screenshot' function #169
- fix error that made it difficult to pick plugin file #239
- fix plugin initialization bug #270

### development
- better handling of uploads #250
@johnd0e johnd0e moved this from Priority to Merged in Track features for next release Dec 21, 2019
@johnd0e johnd0e moved this from Merged to Priority in Track features for next release Dec 21, 2019
@johnd0e johnd0e removed this from Priority in Track features for next release Jan 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.