<commit_before>angular.module('chatSampleModule', [])
  .factory('ScrollManager', function() {
    return {
      scrollToBottom: function() {
        window.scrollTo(0, document.body.scrollHeight);
      }
    };
  })
  .factory("MessageManager", function($http) {
    var onAddMessageCallback = function(message) {};

    // TODO このままだと localhost からしかアクセスできない 
    var socket = io('http://localhost:3000');
    socket.on('connect', function() {
      socket.on('newMessage', onAddMessageCallback);
    });

    return {
      onAddMessage: function(callback) {
        // TODO 複数のコールバックを保持できるようにする
        onAddMessageCallback = callback;
      },
      getMessages: function(callback) {<commit_msg>文字列リテラルの " を ' に変更<commit_after>angular.module('chatSampleModule', [])
  .factory('ScrollManager', function() {
    return {
      scrollToBottom: function() {
        window.scrollTo(0, document.body.scrollHeight);
      }
    };
  })
  .factory('MessageManager', function($http) {
    var onAddMessageCallback = function(message) {};

    // TODO このままだと localhost からしかアクセスできない 
    var socket = io('http://localhost:3000');
    socket.on('connect', function() {
      socket.on('newMessage', onAddMessageCallback);
    });

    return {
      onAddMessage: function(callback) {
        // TODO 複数のコールバックを保持できるようにする
        onAddMessageCallback = callback;
      },
      getMessages: function(callback) {
{'fraction_non_alphanumeric': 0.1378820184790334, 'fraction_numerical': 0.007107320540156361, 'mean_word_length': 3.1533923303834808, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5127396', 'n_tokens_mistral': 472, 'n_tokens_neox': 443, 'n_words': 68}