[whimsy] branch master updated: more idiomatic 'not found'
This is an automated email from the ASF dual-hosted git repository. rubys pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 398423c more idiomatic 'not found' 398423c is described below commit 398423caa180d00ed4685a42c2276efe13780fe8 Author: Sam RubyAuthorDate: Tue Oct 24 22:44:48 2017 -0400 more idiomatic 'not found' also agenda will be nil, not '', if no agenda is found --- www/board/agenda/routes.rb | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/www/board/agenda/routes.rb b/www/board/agenda/routes.rb index a362dab..736e98c 100755 --- a/www/board/agenda/routes.rb +++ b/www/board/agenda/routes.rb @@ -20,11 +20,8 @@ end # redirect root to latest agenda get '/' do agenda = dir('board_agenda_*.txt').sort.last - if agenda == '' -_html :not_found - else -redirect "#{request.path}#{agenda[/\d+_\d+_\d+/].gsub('_', '-')}/" - end + pass unless agenda + redirect "#{request.path}#{agenda[/\d+_\d+_\d+/].gsub('_', '-')}/" end # redirect shepherd to latest agenda -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Downcase hostnames for better matching
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 5309601 Downcase hostnames for better matching 5309601 is described below commit 5309601d1fe614d0dcc0e076afe9740556463088 Author: SebbAuthorDate: Wed Oct 25 02:20:10 2017 +0100 Downcase hostnames for better matching --- www/roster/models/committee.rb | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/www/roster/models/committee.rb b/www/roster/models/committee.rb index 55b6f90..211ec17 100644 --- a/www/roster/models/committee.rb +++ b/www/roster/models/committee.rb @@ -35,7 +35,7 @@ class Committee analysePrivateSubs = !(pMods & user_mail).empty? end if analysePrivateSubs -pSubs, _ = ASF::MLIST.private_subscribers(pmc.mail_list) +pSubs = canonhost(ASF::MLIST.private_subscribers(pmc.mail_list)[0]||[]) unknownSubs=Array.new(pSubs) # init ready to remove matched mails end else @@ -51,8 +51,9 @@ class Committee role: 'PMC member' } if analysePrivateSubs -roster[person.id]['notSubbed'] = (person.all_mail & pSubs).empty? -unknownSubs -= person.all_mail +allMail = canonhost(person.all_mail) +roster[person.id]['notSubbed'] = (allMail & pSubs).empty? +unknownSubs -= allMail end roster[person.id]['ldap'] = true end @@ -93,4 +94,11 @@ class Committee response end + + private + + # canonicalise hostnames + def self.canonhost(list) +list.map {|i| i.sub(/@.+/) { |m| m.downcase } } + end end -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Add cross-check of private@ subs for ASF members/private mods
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 5697126 Add cross-check of private@ subs for ASF members/private mods 5697126 is described below commit 569712657b07ad1eebcb85bba03a837df8c54b1f Author: SebbAuthorDate: Tue Oct 24 20:26:12 2017 +0100 Add cross-check of private@ subs for ASF members/private mods --- www/roster/models/committee.rb | 23 +-- www/roster/views/pmc/pmc.js.rb | 31 --- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/www/roster/models/committee.rb b/www/roster/models/committee.rb index 8abd75e..55b6f90 100644 --- a/www/roster/models/committee.rb +++ b/www/roster/models/committee.rb @@ -21,10 +21,23 @@ class Committee image = Dir["#{image_dir}/#{id}.*"].map {|path| File.basename(path)}.last moderators = nil - -if pmc.roster.include? env.user or ASF::Person.find(env.user).asf_member? +pSubs = Array.new # private@ subscribers +unknownSubs = nil # unknown private@ subscribers +currentUser = ASF::Person.find(env.user) +analysePrivateSubs = false # whether to show missing private@ subscriptions +if pmc.roster.include? env.user or currentUser.asf_member? require 'whimsy/asf/mlist' moderators, modtime = ASF::MLIST.list_moderators(pmc.mail_list) + analysePrivateSubs = currentUser.asf_member? + unless analysePrivateSubs # check for private moderator if not already allowed access +user_mail = currentUser.all_mail || [] +pMods = moderators["private@#{pmc.mail_list}.apache.org"] || [] +analysePrivateSubs = !(pMods & user_mail).empty? + end + if analysePrivateSubs +pSubs, _ = ASF::MLIST.private_subscribers(pmc.mail_list) +unknownSubs=Array.new(pSubs) # init ready to remove matched mails + end else lists = lists.select {|list, mode| mode == 'public'} end @@ -37,6 +50,10 @@ class Committee name: person.public_name, role: 'PMC member' } + if analysePrivateSubs +roster[person.id]['notSubbed'] = (person.all_mail & pSubs).empty? +unknownSubs -= person.all_mail + end roster[person.id]['ldap'] = true end @@ -70,6 +87,8 @@ class Committee project_info: info, image: image, guinea_pig: ASF::Committee::GUINEAPIGS.include?(id), + analysePrivateSubs: analysePrivateSubs, + unknownSubs: unknownSubs, } response diff --git a/www/roster/views/pmc/pmc.js.rb b/www/roster/views/pmc/pmc.js.rb index 1b3382f..7a97c75 100644 --- a/www/roster/views/pmc/pmc.js.rb +++ b/www/roster/views/pmc/pmc.js.rb @@ -27,6 +27,28 @@ class PMCMembers < Vue end end end +if @@committee.analysePrivateSubs + _h4.crosscheck! 'Cross-check of private@ list subscriptions' + _p { +_ 'PMC entries above with (*) do not appear to be subscribed to the private list.' +_br +_ 'This could be because the person is subscribed with an address that is not in their LDAP record' + } + _p { +_ 'The following subscribers to the private list do not match the known emails for any of the existing PMC members.' +_br +_ 'They could be PMC members whose emails are not listed in their LDAP record.' +_br +_ 'Or ASF members, or they could be ex-PMC members who are still subscribed.' +_br +_br +_ul { + for mail in @@committee.unknownSubs +_li @@committee.unknownSubs[mail] + end +} + } +end end def mounted() @@ -65,12 +87,15 @@ class PMCMember < Vue onClick: -> {self.toggleSelect(@@person)} end end - if @@person.member -_td { _b { _a @@person.id, href: "committer/#{@@person.id}" } } +_td { _b { _a @@person.id, href: "committer/#{@@person.id}" } + _a ' (*)', href: "committee/#{@@committee.id}#crosscheck" if @@person.notSubbed +} _td { _b @@person.name } else -_td { _a @@person.id, href: "committer/#{@@person.id}" } +_td { _a @@person.id, href: "committer/#{@@person.id}" + _a ' (*)', href: "committee/#{@@committee.id}#crosscheck" if @@person.notSubbed +} _td @@person.name end -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: remove calendar demo
This is an automated email from the ASF dual-hosted git repository. rubys pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 4221c1b remove calendar demo 4221c1b is described below commit 4221c1bec805038aae918a24506ab41adf9cecc2 Author: Sam RubyAuthorDate: Tue Oct 24 15:19:12 2017 -0400 remove calendar demo --- www/calendar-demo/Rakefile | 3 - www/calendar-demo/app.rb| 28 -- www/calendar-demo/config.ru | 3 - www/calendar-demo/model.rb | 361 www/calendar-demo/monkey_patches.rb | 82 -- www/calendar-demo/public/css/calendar.css | 75 - www/calendar-demo/public/js/react-0.12.2.min.js | 16 -- www/calendar-demo/spec/spec_helper.rb | 6 - www/calendar-demo/spec/static_spec.rb | 10 - www/calendar-demo/views/calendar.html.rb| 15 - www/calendar-demo/views/calendar.js.rb | 72 - www/test/icla/main.rb | 7 +- 12 files changed, 3 insertions(+), 675 deletions(-) diff --git a/www/calendar-demo/Rakefile b/www/calendar-demo/Rakefile deleted file mode 100644 index 45a7860..000 --- a/www/calendar-demo/Rakefile +++ /dev/null @@ -1,3 +0,0 @@ -require 'rspec/core/rake_task' -RSpec::Core::RakeTask.new(:spec) -task :default => :spec diff --git a/www/calendar-demo/app.rb b/www/calendar-demo/app.rb deleted file mode 100644 index 9dcbd49..000 --- a/www/calendar-demo/app.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'wunderbar/sinatra' -require 'wunderbar/script' -require 'ruby2js/filter/react' - -require_relative 'monkey_patches' - -require_relative 'model.rb' - -# Redirect to this month's page -get '/' do - today = Date.today - redirect to("/#{today.year}/#{today.strftime('%m')}") -end - -# Calendar page - html -get %r{/(\d\d\d\d)/(\d\d?)$} do |year, month| - @year = year.to_i - @month = month.to_i - @items = Holiday.find(@year, @month) - _html :calendar -end - -# Calendar page - json -get %r{/(\d\d\d\d)/(\d\d?)\.json} do |year, month| - _json do -Holiday.find(year.to_i, month.to_i) - end -end diff --git a/www/calendar-demo/config.ru b/www/calendar-demo/config.ru deleted file mode 100644 index 527e3e9..000 --- a/www/calendar-demo/config.ru +++ /dev/null @@ -1,3 +0,0 @@ -require File.expand_path('../app.rb', __FILE__) - -run Sinatra::Application diff --git a/www/calendar-demo/model.rb b/www/calendar-demo/model.rb deleted file mode 100644 index fe7796b..000 --- a/www/calendar-demo/model.rb +++ /dev/null @@ -1,361 +0,0 @@ -# encoding: UTF-8 - -module Holiday - - def self.find(year, month) -Hash[@@data.find_all {|y, m, d, t| year==y and month==m}. - group_by {|y, m, d, t| d}. - map {|d, list| [d, list.map {|y, m, d, t| t}]}] - end - - # http://www.timeanddate.com/holidays/us/ - @@data = [ -[2015, 1, 1, "New Year's Day"], -[2015, 1, 3, "The Prophet's Birthday"], -[2015, 1, 4, "World Braille Day"], -[2015, 1, 6, "Epiphany"], -[2015, 1, 7, "Orthodox Christmas Day"], -[2015, 1, 7, "International Programmers' Day"], -[2015, 1, 13, "Stephen Foster Memorial Day"], -[2015, 1, 14, "Orthodox New Year"], -[2015, 1, 16, "Lee Jackson Day"], -[2015, 1, 18, "World Religion Day"], -[2015, 1, 19, "Martin Luther King Day"], -[2015, 1, 19, "Robert E Lee's Birthday"], -[2015, 1, 19, "Confederate Memorial Day"], -[2015, 1, 19, "Idaho Human Rights Day"], -[2015, 1, 19, "Civil Rights Day"], -[2015, 1, 25, "World Leprosy Day"], -[2015, 1, 26, "International Customs Day"], -[2015, 1, 27, "International Day of Commemoration in Memory of the Victims of the Holocaust"], -[2015, 1, 27, "e-Day"], -[2015, 1, 29, "Kansas Day"], -[2015, 2, 1, "National Freedom Day"], -[2015, 2, 2, "World Wetlands Day"], -[2015, 2, 2, "Groundhog Day"], -[2015, 2, 4, "Tu Bishvat/Tu B'Shevat"], -[2015, 2, 4, "World Cancer Day"], -[2015, 2, 4, "Rosa Parks Day"], -[2015, 2, 6, "International Day of Zero Tolerance to Female Genital Mutilation"], -[2015, 2, 6, "National Wear Red Day"], -[2015, 2, 7, "e-Day"], -[2015, 2, 11, "World Day of the Sick"], -[2015, 2, 12, "Lincoln's Birthday"], -[2015, 2, 13, "World Radio Day"], -[2015, 2, 13, "Friday the 13th"], -[2015, 2, 14, "Valentine's Day"], -[2015, 2, 15, "Susan B Anthony's Birthday"], -[2015, 2, 16, "Presidents' Day"], -[2015, 2, 16, "Daisy Gatson Bates Day"], -[2015, 2, 17, "Shrove Tuesday/Mardi Gras"], -[2015, 2, 18, "Ash Wednesday"], -[2015, 2, 19, "Chinese New Year"], -[2015, 2, 20, "World Day of Social Justice"], -[2015, 2, 21, "International Mother Language Day"], -[2015, 3, 1, "Zero Discrimination Day"], -[2015, 3, 1, "Self-injury
[whimsy] branch master updated: Make PMC chair removal more "Vue"-like
This is an automated email from the ASF dual-hosted git repository. rubys pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 02d3c2b Make PMC chair removal more "Vue"-like 02d3c2b is described below commit 02d3c2b6cc84d24c2a6e3d75c3c71abb65a045fe Author: Sam RubyAuthorDate: Tue Oct 24 14:34:27 2017 -0400 Make PMC chair removal more "Vue"-like --- www/board/agenda/views/pages/adjournment.js.rb | 43 +- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/www/board/agenda/views/pages/adjournment.js.rb b/www/board/agenda/views/pages/adjournment.js.rb index ffce842..3dbde79 100644 --- a/www/board/agenda/views/pages/adjournment.js.rb +++ b/www/board/agenda/views/pages/adjournment.js.rb @@ -234,52 +234,29 @@ class TodoRemove < Vue def initialize @checked = {} @disabled = true -@people = [] end # update check marks based on current Todo list def created() -@people = Todos.remove - -# uncheck people who were removed -for id in @checked - unless @people.any? {|person| person.id == id} -@checked[id] = false - end -end - -# check people who were added -@people.each do |person| +Todos.remove.each do |person| if @checked[person.id] == undefined if not person.resolution or Minutes.get(person.resolution) != 'tabled' @checked[person.id] = true end end end - -self.refresh() - end - - def refresh() -# disable button if nobody is checked -disabled = true -for id in @checked - disabled = false if @checked[id] -end -@disabled = disabled - -Vue.forceUpdate() end def render +people = Todos.remove + _p 'Remove from pmc-chairs:' -_ul.checklist @people do |person| +_ul.checklist people do |person| _li do _input type: 'checkbox', checked: @checked[person.id], onClick:-> { @checked[person.id] = !@checked[person.id] -self.refresh() } _a person.id, @@ -288,8 +265,9 @@ class TodoRemove < Vue end end -_button.checklist.btn.btn_default 'Submit', disabled: @disabled, - onClick: self.submit +_button.checklist.btn.btn_default 'Submit', onClick: self.submit, + disabled: @disabled or people.length == 0 or +not people.any? {|person| @checked[persion.id]} end def submit() @@ -303,6 +281,13 @@ class TodoRemove < Vue post "secretary-todos/#{Agenda.title}", remove: remove do |todos| @disabled = false Todos.set todos + + # uncheck people who were removed + for id in @checked +unless Todos.remove.any? {|person| person.id == id} + @checked[id] = false +end + end end end end -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Avoid crash when using env.user in test mode
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new be19657 Avoid crash when using env.user in test mode be19657 is described below commit be1965739e446fcdc5cc44edb6023df7e1dce8dd Author: SebbAuthorDate: Tue Oct 24 18:58:10 2017 +0100 Avoid crash when using env.user in test mode --- lib/whimsy/asf/rack.rb | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/whimsy/asf/rack.rb b/lib/whimsy/asf/rack.rb index bb12b66..78e2937 100644 --- a/lib/whimsy/asf/rack.rb +++ b/lib/whimsy/asf/rack.rb @@ -39,7 +39,10 @@ module ASF def call(env) authorized = ( ENV['RACK_ENV'] == 'test' ) -authorized ||= ASF::Auth.decode(env).asf_committer? +# Must always call decode as it adds required accessors +person = ASF::Auth.decode(env) + +authorized ||= person.asf_committer? if authorized @app.call(env) -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Use local version of whimsy-asf
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 1b09df1 Use local version of whimsy-asf 1b09df1 is described below commit 1b09df1882ce1dcac51c4cb212b7b6c03a840f79 Author: SebbAuthorDate: Tue Oct 24 16:50:22 2017 +0100 Use local version of whimsy-asf --- tools/Gemfile | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/Gemfile b/tools/Gemfile index a0cfab4..a65baeb 100644 --- a/tools/Gemfile +++ b/tools/Gemfile @@ -1,4 +1,7 @@ source 'https://rubygems.org' +root = '../..' +asf_version = File.read(File.expand_path("#{root}/asf.version", __FILE__)).chomp +gem 'whimsy-asf', asf_version, path: File.expand_path(root, __FILE__) + gem 'builder' -gem 'whimsy-asf' -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Also uses Vue.js
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 5eb63e4 Also uses Vue.js 5eb63e4 is described below commit 5eb63e4a7395de30a1b9ab2946215dcca9fe987c Author: SebbAuthorDate: Tue Oct 24 16:10:31 2017 +0100 Also uses Vue.js --- www/technology.html | 1 + 1 file changed, 1 insertion(+) diff --git a/www/technology.html b/www/technology.html index 6c369f7..e613b43 100644 --- a/www/technology.html +++ b/www/technology.html @@ -90,6 +90,7 @@ http://www.ruby-lang.org/en/;>Ruby https://github.com/rubys/ruby2js/blob/master#readme;>Ruby2JS http://www.w3.org/TR/SVG/;>SVG + https://vuejs.org/;>Vue.js https://github.com/rubys/wunderbar#readme;>Wunderbar Tools Running Whimsy -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Typo
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new b15f280 Typo b15f280 is described below commit b15f28088ff53b0337b859b1979573e57fe18d62 Author: SebbAuthorDate: Tue Oct 24 15:12:41 2017 +0100 Typo --- lib/whimsy/asf/ldap.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/whimsy/asf/ldap.rb b/lib/whimsy/asf/ldap.rb index b0eaa71..2121ce5 100644 --- a/lib/whimsy/asf/ldap.rb +++ b/lib/whimsy/asf/ldap.rb @@ -357,7 +357,7 @@ module ASF end end - # shortcut for derefernce weakref + # shortcut for dereference weakref def self.weakref(attr, ) self.dereference_weakref(self, attr, ) end -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Typo
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new a28cab1 Typo a28cab1 is described below commit a28cab1ed8c3d65cbdccf962f015b122c15b84b2 Author: SebbAuthorDate: Tue Oct 24 15:12:22 2017 +0100 Typo --- www/roster/models/svn.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/roster/models/svn.rb b/www/roster/models/svn.rb index 51e21e5..245a4e2 100644 --- a/www/roster/models/svn.rb +++ b/www/roster/models/svn.rb @@ -5,7 +5,7 @@ # for all Rack application (e.g., secmail, board/agenda, roster) # -# provide methods to encapsulate updates update LDAP +# provide methods to encapsulate LDAP update module ASF class SVN class JsonBuilder -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: Save modtime else cache is never refreshed
This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new 65f9baf Save modtime else cache is never refreshed 65f9baf is described below commit 65f9baf169a16487ddbf3d6d914b5ce56d0ef649 Author: SebbAuthorDate: Tue Oct 24 15:12:01 2017 +0100 Save modtime else cache is never refreshed --- www/roster/models/attic.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/www/roster/models/attic.rb b/www/roster/models/attic.rb index 8ee1cd6..454bb9e 100644 --- a/www/roster/models/attic.rb +++ b/www/roster/models/attic.rb @@ -17,6 +17,7 @@ class Attic [ issue['key'], issue['fields']['summary'] ] end end + @mtime = Time.now end Hash[@issues] -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].
[whimsy] branch master updated: log and recover from JIRA errors
This is an automated email from the ASF dual-hosted git repository. rubys pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git The following commit(s) were added to refs/heads/master by this push: new f2abada log and recover from JIRA errors f2abada is described below commit f2abada4297f94b8107085db50fbc3acb77b1ddf Author: Sam RubyAuthorDate: Tue Oct 24 09:40:48 2017 -0400 log and recover from JIRA errors --- lib/whimsy/asf/podling.rb | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/whimsy/asf/podling.rb b/lib/whimsy/asf/podling.rb index 1d97d4d..3669294 100644 --- a/lib/whimsy/asf/podling.rb +++ b/lib/whimsy/asf/podling.rb @@ -354,7 +354,11 @@ module ASF query = 'https://issues.apache.org/jira/rest/api/2/search?' + 'maxResults=1000&' + 'jql=project=PODLINGNAMESEARCH=summary,resolution,customfield_12310520' -File.write cache, Net::HTTP.get(URI(query)) +begin + File.write cache, Net::HTTP.get(URI(query)) +rescue => e + Wunderbar.warn "ASF::Podling.namesearch: " + e.message +end end # parse JIRA titles for proposed name -- To stop receiving notification emails like this one, please contact ['"commits@whimsical.apache.org" '].