Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Fixes usage of ledger advance settings in the ledger table #8066

Merged
merged 1 commit into from
Apr 5, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 17 additions & 10 deletions app/ledger.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ const doAction = (action) => {
case settings.MINIMUM_VISIT_TIME:
if (action.value <= 0) break

synopsis.options.minDuration = action.value
synopsis.options.minPublisherDuration = action.value
updatePublisherInfo()
break

Expand Down Expand Up @@ -741,8 +741,9 @@ var enable = (paymentsEnabled) => {
value = 8 * 1000
appActions.changeSetting(settings.MINIMUM_VISIT_TIME, value)
}

// for earlier versions of the code...
if ((value > 0) && (value < 1000)) synopsis.options.minDuration = value * 1000
if ((value > 0) && (value < 1000)) synopsis.options.minPublisherDuration = value * 1000

value = getSetting(settings.MINIMUM_VISITS)
if (!value) {
Expand All @@ -752,13 +753,10 @@ var enable = (paymentsEnabled) => {
if (value > 0) synopsis.options.minPublisherVisits = value

if (process.env.NODE_ENV === 'test') {
synopsis.options.minDuration = 0
synopsis.options.minDuration = 0 // TODO remove when we update publisher
synopsis.options.minPublisherDuration = 0
synopsis.options.minPublisherVisits = 0
} else {
if (process.env.LEDGER_PUBLISHER_VISIT_DURATION) {
synopsis.options.minDuration = ledgerClient.prototype.numbion(process.env.LEDGER_PUBLISHER_VISIT_DURATION)
}
if (process.env.LEDGER_PUBLISHER_MIN_DURATION) {
synopsis.options.minPublisherDuration = ledgerClient.prototype.numbion(process.env.LEDGER_PUBLISHER_MIN_DURATION)
}
Expand Down Expand Up @@ -1028,15 +1026,24 @@ var stickyP = (publisher) => {
}

var eligibleP = (publisher) => {
if (!synopsis.options.minPublisherDuration && process.env.NODE_ENV !== 'test') {
synopsis.options.minPublisherDuration = getSetting(settings.MINIMUM_VISIT_TIME)
}

return ((synopsis.publishers[publisher].scores[synopsis.options.scorekeeper] > 0) &&
(synopsis.publishers[publisher].duration >= synopsis.options.minPublisherDuration) &&
(synopsis.publishers[publisher].visits >= synopsis.options.minPublisherVisits))
}

var visibleP = (publisher) => {
return (((stickyP(publisher)) ||
((synopsis.publishers[publisher].options.exclude !== true) && (eligibleP(publisher)))) &&
(!blockedP(publisher)))
return (
eligibleP(publisher) &&
(
synopsis.publishers[publisher].options.exclude !== true ||
stickyP(publisher)
)
) &&
!blockedP(publisher)
}

var contributeP = (publisher) => {
Expand Down Expand Up @@ -1466,7 +1473,7 @@ var ledgerInfo = {
passphrase: undefined,

// advanced ledger settings
minDuration: undefined,
minPublisherDuration: undefined,
minPublisherVisits: undefined,

hasBitcoinHandler: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const {StyleSheet, css} = require('aphrodite')

// util
const {changeSetting} = require('../../../lib/settingsUtil')
const appConfig = require('../../../../../js/constants/appConfig')

// components
const Button = require('../../../../../js/components/button')
Expand All @@ -24,7 +25,7 @@ const settings = require('../../../../../js/constants/settings')

class AdvancedSettingsContent extends ImmutableComponent {
render () {
const minDuration = this.props.ledgerData.getIn(['synopsisOptions', 'minDuration'])
const minPublisherDuration = this.props.ledgerData.getIn(['synopsisOptions', 'minPublisherDuration'])
const minPublisherVisits = this.props.ledgerData.getIn(['synopsisOptions', 'minPublisherVisits'])

return <div className={css(paymentCommon.board)}>
Expand All @@ -35,7 +36,7 @@ class AdvancedSettingsContent extends ImmutableComponent {
<SettingItem>
<SettingDropdown
data-test-id='durationSelector'
defaultValue={minDuration || 8000}
defaultValue={minPublisherDuration || appConfig.defaultSettings[settings.MINIMUM_VISIT_TIME]}
onChange={changeSetting.bind(null, this.props.onChangeSetting, settings.MINIMUM_VISIT_TIME)}>
<option data-l10n-id='minimumPageTimeLow' value='5000' />
<option data-l10n-id='minimumPageTimeMedium' value='8000' />
Expand Down
2 changes: 1 addition & 1 deletion docs/state.md
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@ WindowStore
weight: number // float indication of the ration
}], // one entry for each publisher having a non-zero `score`
synopsisOptions: {
minDuration: number, // e.g., 8000 for 8 seconds
minPublisherDuration: number, // e.g., 8000 for 8 seconds
minPublisherVisits: number // e.g., 0
}
},
Expand Down
2 changes: 1 addition & 1 deletion js/constants/appConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ module.exports = {
'advanced.send-crash-reports': true,
'advanced.send-usage-statistics': false,
'advanced.hide-excluded-sites': false,
'advanced.minimum-visit-time': 8,
'advanced.minimum-visit-time': 8000,
'advanced.minimum-visits': 1,
'advanced.auto-suggest-sites': true,
'advanced.hide-lower-sites': true,
Expand Down