Meeting Minutes: Nov 9, 2014


  • m_conley (Mike Conley)
  • ChipX86 (Christian Hammond)
  • heapify (Anselina Chia)
  • purple_cow (David Trowbridge)


  • rdone (Ryan Done)
  • andrewhong (Andrew Hong)
  • mloyzer (Mark Loyzer)
  • justy777 (Justin Maillet)
  • nicole_xin- (Nicole Xin)
  • asalahli (Azad Salahli)
  • dkus_ (David Kus)
  • brennie (Barret Rennie)


so there are 3 meetings left before pencils down, just keep that in mind and try to plan around that.


as we head into the home stretch, if you need review on something, please let us know. don’t wait until the meeting!

Round Robin

rdone (Ryan Done)

  • paginator review requests have been there for about a week, wondering if theres anything more to do there.c
    • heapify: we’ll be sure to get a review done this week

andrewhong (Andrew Hong)

  • I’m looking at the autocomplete for Groups and People again and wondering how it should behave if the user inputs something that is not the start of the string. When I type “Smith” it brings up results with all users that have the last name (in People) “Smith”. But in Groups, I have a group called “Cat Smith” and no results come up if I type “Smith” into the field. It would only show when “Cat” is typed. Should it be left the way it is or should we make the functionality in those two fields similar?
    • purple_cow: I think left the way it is, people are a special case because they mostly have three names.
    • ChipX86: Sounds like there were issues with the tarball generation. The secnod version of the snippet I posted was tested with a 860MB file, compressed. Can you put the integrated version up?
      • andrewhong: yeah, i tried it with a pdf file of 8MB and it didnt fully write all the bytes.
      • ChipX86: was this the version I had or the integrated version?
      • andrewhong: Revision 2. I haven’t integrated it yet, i was testing the snippet and getting familiar with it. Need to explore this more later.
  • other than that, i made a quick note about the rbtools project that I started and might not be able to go through with it all. I have made notes on what i’ve seen in the code and how i planned on implementing it so i can put those up. I will look at it again if there is time.

mloyzer (Mark Loyzer)

  • For Change Descriptions, is there anyway to properly display the changes made?  Right now I’m using a dictionary to map that maps ‘plus’ to the attribute that represents what was added (either ‘added’ or new’).  But even then sometimes the value is an array or an array of arrays. I know that is extremely vague, so, in summary, I am trying to display the changes made to the Review Request through the ChangeDescription’s ‘fields_changed’ attribute,  Do you suggest any way to properly print the information in this dictionary?
    • ChipX86: so the JSON blob can really hold anything, and it depends on the field (you’ll know that the ReviewRequestField instances may choose how to store data). that said, there are some common patterns. so changedescs/, record_field_change, you’ll see the default behavior for storing field data. if the data naturally fits into a list (list of bugs, reviewers, etc), you’ll have a dictionary with ‘old’ (the complete old list), ‘new’ (complete new list), ‘added’ (which items were added), and ‘removed’ (which were removed).if it’s smoething that’s not a list, like the Description field, you’ll just get ‘old’ and ‘new’, with the value as 1 item in a tuple. the trick is though that the value inside is an encoded version of the content, so it may be a tuple containing additional information so it will depend on the field.
    • ChipX86: you’ll need to handle it per-field. every field may have a different way of storing the encoded content. if there was a clean way of taking HTML adn converting to PDF, you could use existing APIs to do the rendering, which would work with extensions as well. that is, custom fields provided by extensions.
  • in regard to my review request, when i finish PDF can i create a new one for XML, just so i can somewhat develop in parallel (or at least more organized)?
    • approved by heapify and ChipX86

justy777 (Justin Maillet)

  • waiting for a bugfix to go in before finishing up sandboxing, a few questions on the new hook extensions:
    • How does reviewboard currently find/get SCMTools?
      • ChipX86: right now, they’re all registered in the database. SCMTool.objects.all() will return them all. that’s not ideal. I’d like to eventually make it more like mimetypes, review UIs, etc.
      • justify777: so for now, just pull the defaults out of the database or put third party SCMTools into the database?
      • ChipX86: well, right now I don’t think we can cleanly do third-party SCMTools through extension hooks. there is a mechanism in place today for third-party registration of SCMTools. It’s just not extension-based so I’d skip that hook for now.
  • question about working on RB after the semester:
    • ChipX86: Anybody who wants to work on RB is absolutely welcome to. generally, we’d have you work toward things not on the Student Projects list after the semester, and of course there’s no status reports needed.
    • Heapify: some students finished up loose ends of their projects after the semester, and you’re all free to do that, or pick entirely new projects!

nicole_x- (Nicole Xin)

  • What do those txt files in the reviewboard/templates/notifications for? I can see that they are different from those html emails, but how are they different and why?
    • purple_cow: when we send an e-mail, it contains both text and html versions because some people have their e-mail clients set to never show them HTML.

asalahli (Azad Salahli)

  • first of all, my WIP request is out. It’d be great if I can get some reviews:
  • cannot call rbt patch inside rbt land
    • purple_cow: you just need to create your own argv list with the arguments that you would be calling ‘rbt patch’ on the command-line with, which would probably look something like argv = [‘rbt’, ‘patch’, ‘-c’, review_request]
  • I don’t know how should I check the outcome of merging/committing/pushing
    • purple_cow: for #2, the execute() method provides a variety of ways of getting that. by default, if a sub-process fails (returns with an exit code other than 0), it will call die(), but you can pass in various arguments to change that.
      ignore_errors=True, none_on_ignored_error=False means that execute() will return None if it failed and there are other combinations too. if you read through execute() you should see what’s available.

dkus_ (David Kus)

  • need more reviews on
  • Should we have some way for users to attached files to the RR when a markdown editor is open (since we need to turn off the DnD overlay)?
    • purple_cow: maybe we can just have a small drop area over the attachment thumbnails?
    • ChipX86: we don’t have an area for that if there aren’t any thumbnails yet, we used to expand that area and make a drop zone. the drop zone is created when we detect a drag over the window. that code is entirely responsible for how that appears and what it does. perhaps we can, for review requests, create several drop zones. One for the whole review request, and then one per field that’s open, hide the bottom one when the drop is over the editor, to make it more clear where it’ll be dropped.
  • Should we keep track of file upload progress using a progress bar? I think it would be feasible to do, just not sure if it’s in scope or would be useful.
    • purple_cow: have a spinner to show that something is still in progress

brennie (Barret Rennie)

  • all is well!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s