mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	message_fetch: Track history_limited property.
This commit is contained in:
		@@ -30,6 +30,14 @@ function has_not_found_newest() {
 | 
				
			|||||||
    assert.equal(fetch_status.has_found_newest(), false);
 | 
					    assert.equal(fetch_status.has_found_newest(), false);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function can_load_history() {
 | 
				
			||||||
 | 
					    assert.equal(fetch_status.history_limited(), false);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function blocked_history() {
 | 
				
			||||||
 | 
					    assert.equal(fetch_status.history_limited(), true);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
run_test('basics', () => {
 | 
					run_test('basics', () => {
 | 
				
			||||||
    reset();
 | 
					    reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -37,16 +45,19 @@ run_test('basics', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    blocked_newer();
 | 
					    blocked_newer();
 | 
				
			||||||
    blocked_older();
 | 
					    blocked_older();
 | 
				
			||||||
 | 
					    can_load_history();
 | 
				
			||||||
    has_not_found_newest();
 | 
					    has_not_found_newest();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_status.finish_initial_narrow({
 | 
					    fetch_status.finish_initial_narrow({
 | 
				
			||||||
        found_oldest: true,
 | 
					        found_oldest: true,
 | 
				
			||||||
        found_newest: true,
 | 
					        found_newest: true,
 | 
				
			||||||
 | 
					        history_limited: true,
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    has_found_newest();
 | 
					    has_found_newest();
 | 
				
			||||||
    blocked_newer();
 | 
					    blocked_newer();
 | 
				
			||||||
    blocked_older();
 | 
					    blocked_older();
 | 
				
			||||||
 | 
					    blocked_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    reset();
 | 
					    reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -54,14 +65,17 @@ run_test('basics', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    blocked_newer();
 | 
					    blocked_newer();
 | 
				
			||||||
    blocked_older();
 | 
					    blocked_older();
 | 
				
			||||||
 | 
					    can_load_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_status.finish_initial_narrow({
 | 
					    fetch_status.finish_initial_narrow({
 | 
				
			||||||
        found_oldest: false,
 | 
					        found_oldest: false,
 | 
				
			||||||
        found_newest: false,
 | 
					        found_newest: false,
 | 
				
			||||||
 | 
					        history_limited: false,
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    can_load_older();
 | 
					    can_load_older();
 | 
				
			||||||
    can_load_newer();
 | 
					    can_load_newer();
 | 
				
			||||||
 | 
					    can_load_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    reset();
 | 
					    reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -71,25 +85,31 @@ run_test('basics', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    blocked_older();
 | 
					    blocked_older();
 | 
				
			||||||
    can_load_newer();
 | 
					    can_load_newer();
 | 
				
			||||||
 | 
					    can_load_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_status.finish_older_batch({
 | 
					    fetch_status.finish_older_batch({
 | 
				
			||||||
        found_oldest: false,
 | 
					        found_oldest: false,
 | 
				
			||||||
 | 
					        history_limited: false,
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    can_load_older();
 | 
					    can_load_older();
 | 
				
			||||||
    can_load_newer();
 | 
					    can_load_newer();
 | 
				
			||||||
 | 
					    can_load_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_status.start_older_batch();
 | 
					    fetch_status.start_older_batch();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    blocked_older();
 | 
					    blocked_older();
 | 
				
			||||||
    can_load_newer();
 | 
					    can_load_newer();
 | 
				
			||||||
 | 
					    can_load_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_status.finish_older_batch({
 | 
					    fetch_status.finish_older_batch({
 | 
				
			||||||
        found_oldest: true,
 | 
					        found_oldest: true,
 | 
				
			||||||
 | 
					        history_limited: true,
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    blocked_older();
 | 
					    blocked_older();
 | 
				
			||||||
    can_load_newer();
 | 
					    can_load_newer();
 | 
				
			||||||
 | 
					    blocked_history();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    reset();
 | 
					    reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@ var FetchStatus = function () {
 | 
				
			|||||||
    var loading_newer = false;
 | 
					    var loading_newer = false;
 | 
				
			||||||
    var found_oldest = false;
 | 
					    var found_oldest = false;
 | 
				
			||||||
    var found_newest = false;
 | 
					    var found_newest = false;
 | 
				
			||||||
 | 
					    var history_limited = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    self.start_initial_narrow = function () {
 | 
					    self.start_initial_narrow = function () {
 | 
				
			||||||
        loading_newer = true;
 | 
					        loading_newer = true;
 | 
				
			||||||
@@ -17,6 +18,7 @@ var FetchStatus = function () {
 | 
				
			|||||||
        loading_older = false;
 | 
					        loading_older = false;
 | 
				
			||||||
        found_oldest = opts.found_oldest;
 | 
					        found_oldest = opts.found_oldest;
 | 
				
			||||||
        found_newest = opts.found_newest;
 | 
					        found_newest = opts.found_newest;
 | 
				
			||||||
 | 
					        history_limited = opts.history_limited;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    self.start_older_batch = function () {
 | 
					    self.start_older_batch = function () {
 | 
				
			||||||
@@ -26,12 +28,17 @@ var FetchStatus = function () {
 | 
				
			|||||||
    self.finish_older_batch = function (opts) {
 | 
					    self.finish_older_batch = function (opts) {
 | 
				
			||||||
        loading_older = false;
 | 
					        loading_older = false;
 | 
				
			||||||
        found_oldest = opts.found_oldest;
 | 
					        found_oldest = opts.found_oldest;
 | 
				
			||||||
 | 
					        history_limited = opts.history_limited;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    self.can_load_older_messages = function () {
 | 
					    self.can_load_older_messages = function () {
 | 
				
			||||||
        return !loading_older && !found_oldest;
 | 
					        return !loading_older && !found_oldest;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    self.history_limited = function () {
 | 
				
			||||||
 | 
					        return history_limited;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    self.start_newer_batch = function () {
 | 
					    self.start_newer_batch = function () {
 | 
				
			||||||
        loading_newer = true;
 | 
					        loading_newer = true;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -226,10 +226,12 @@ exports.do_backfill = function (opts) {
 | 
				
			|||||||
        cont: function (data) {
 | 
					        cont: function (data) {
 | 
				
			||||||
            msg_list.fetch_status.finish_older_batch({
 | 
					            msg_list.fetch_status.finish_older_batch({
 | 
				
			||||||
                found_oldest: data.found_oldest,
 | 
					                found_oldest: data.found_oldest,
 | 
				
			||||||
 | 
					                history_limited: data.history_limited,
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            if (msg_list === home_msg_list) {
 | 
					            if (msg_list === home_msg_list) {
 | 
				
			||||||
                message_list.all.fetch_status.finish_older_batch({
 | 
					                message_list.all.fetch_status.finish_older_batch({
 | 
				
			||||||
                    found_oldest: data.found_oldest,
 | 
					                    found_oldest: data.found_oldest,
 | 
				
			||||||
 | 
					                    history_limited: data.history_limited,
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (opts.cont) {
 | 
					            if (opts.cont) {
 | 
				
			||||||
@@ -306,9 +308,11 @@ exports.initialize = function () {
 | 
				
			|||||||
            // has an older batch to finish.
 | 
					            // has an older batch to finish.
 | 
				
			||||||
            home_msg_list.fetch_status.finish_older_batch({
 | 
					            home_msg_list.fetch_status.finish_older_batch({
 | 
				
			||||||
                found_oldest: data.found_oldest,
 | 
					                found_oldest: data.found_oldest,
 | 
				
			||||||
 | 
					                history_limited: data.history_limited,
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            message_list.all.fetch_status.finish_older_batch({
 | 
					            message_list.all.fetch_status.finish_older_batch({
 | 
				
			||||||
                found_oldest: data.found_oldest,
 | 
					                found_oldest: data.found_oldest,
 | 
				
			||||||
 | 
					                history_limited: data.history_limited,
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user