Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • R roomlist
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 23
    • Issues 23
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • SRCT
  • roomlist
  • Issues
  • #109

Closed
Open
Created Apr 16, 2017 by Mark Stenglein@mstengleContributor

LibreJS Incompatibilities

Summary

Basically, none of the JS is properly flagged as free software.

Resources

Detailed instructions on how to properly flag these can be found at: https://www.gnu.org/software/librejs/free-your-javascript.html


List of accepted JavaScript in https://roomlist.gmu.edu/accounts/student/mstengle/settings/

This script has been tagged as free software by LibreJS authors.

https://roomlist.gmu.edu/static/js/jquery-2.1.1.min.js

List of blocked JavaScript in https://roomlist.gmu.edu/accounts/student/mstengle/settings/

This script is detected as inline, nonfree, defining functions or methods, and the rest of the page as loading external scripts

$(".chosen-select").chosen({max_selected_options: 2,
                            width: "100%",
                            placeholder_text_multiple: '(select up to two)'});
$(".blocked-select").chosen({width: "100%",
                             placeholder_text_multiple: "(search by name)"});

This script is detected as inline, nonfree, defining functions or methods, and the rest of the page as loading external scripts

  // this is not loaded from /static/js because scope problems with document.ready
  // toggle room selection availability
  // can see if on campus, cannot see if not on campus
  $(document).ready(function() {
    var $radio = $('input:radio[name=on_campus]');
    // when first rendering the page
    if($radio.filter('[value=False]').is(':checked')) {
      $("#lives-on-campus").hide();
    } else {
      $("#lives-on-campus").show();
    }
    // if student changes the value
    $($radio.filter('[value=False]').click(function(){
      $("#lives-on-campus").slideUp();
    }));
    $($radio.filter('[value=True]').click(function(){
      $("#lives-on-campus").slideDown();
    }));
    // housing object chaining
    $("#building").chained("#neighborhood");
    $("#floor").chained("#building");
    $("#room").chained("#floor");
  });
  
  // find the floor and room in which a student is staying in
  // and select it for them on page load
  // this allows us to cache the list of rooms
  /…

NONTRIVIAL: eval has been found in code

https://roomlist.gmu.edu/static/js/bootstrap.min.js

This script is detected as nonfree, external, and as defining functions or methods

https://roomlist.gmu.edu/static/js/chained.min.js

NONTRIVIAL: innerHTML identifier

https://roomlist.gmu.edu/static/js/chosen.min.js
Assignee
Assign to
Time tracking