Skip to content

Conversation

@Pradeep23-01
Copy link

  1. Added Logrotate Config file.
  2. logs directory has a separate directory called archives for the rotated log files (compressed)

bradley-erickson and others added 30 commits February 15, 2023 18:23
Added ignore for E731 do not assign a lambda expression, use a def
For now we will ignore at this level since we are unable to ignore E731 on a line by line level.
Addressing styling issues in the learning_observer module
Added linting badge
…ipts

that are built to support execution/backup on the server process.
…ich can arise when they have not logged in or data may have been purged.
- Adjusted lambda to def
- Removed global ignore of E731 (use def over lambda)
… inconsistency and adding a hack to address the naming conventions for the IDs from google users.
DrLynch and others added 28 commits June 21, 2023 13:37
…ipts

that are built to support execution/backup on the server process.
… inconsistency and adding a hack to address the naming conventions for the IDs from google users.
* Adding installation for the lo_dash_react_components module.

* Fixing minor error in installation script.

* Fixing module structure with additional versions.

* Fixing doc ID error.

* Fixing student/data merge issues and aggregation for WO.

---------

Co-authored-by: DrLynch <cflynch@eb2-3231-lin00.csc.ncsu.edu>
@Pradeep23-01 Pradeep23-01 requested a review from DrLynch August 25, 2023 17:11
Code-beep12 pushed a commit that referenced this pull request Mar 29, 2024
Added the LO Event javascript module. This module abstracts out the logging code that already existed in the extension. The module provides a variety of loggers (console, null, websocket, and redux). When events are logged, they are passed to each of their respective loggers. The old logging code has been removed from the extension.

We additionally update the server side processing code to better handle a continuous stream of events from the client. This replaces code that waited for many pre-events (headers/auth info) before processing events.

There is still much to do with this code; however, we are long overdue for merging the code.

Full commit messages:

* Starting to abstract out even code

* Prototype queue

* XAPI works, but without documentation

* Python xapi prototype

* Python xapi, perhaps too verbose

* IndexedDB debug code for Brad

* ran through linting and fixed 90% of issues, some still exist as the code isn't fully finished

* Leaving minor todo

* adding items to queue now works but still needs work

* made queue.js a module to handle multiple queues

* Bug fixes

* wrote some tests for queue.js however i'm not sure they are using the db properly

* integrated websocketlogger, need to test using it outside of just running node lo_event.js

* moved files to src directory

* changed name from src

* added python package material

* bundled the extension, working on intergrating the logger

* woops forgot the config file for bundling

* bundled and sending events to echo

* added some documentation

* fixed broken portions of the extension after manifest upgrade

* PR comments; merging first set for rebase with master

* Starting work on redux logger for test framework, and abstracting out other loggers

* preauth/postauth/initialization code/test logic/etc

* Minor commits for handoff

* Web Socket Logger has MVP-grade functionality

* Web socket metadata works

* Better name (not good yet, though)

* fixed storage bugs and linted coded

* Starting to raise block errors

* added setField to lo_event

* Blocklist seems to work-ish

* Proposed change to lock_fields

* Removing old comment

* added setfield to console and redux logger

* eslint now wants semi colons

* fixed setFieldSet, added in queue to lo_event, and linted

* Logger init properly asynchronous

* Moved async code from client into lo_event

* more linting plus initial websocket metedata setfields

* got the lo_event working with the extension

* linted code

* updates to lo_event init

* added nullLogger and resolved/rejected null events properly

* rename blacklist to disabler

* updated disabled to use storage

* added init to redux logger

* adjusted imports and fixed redux logger import to be on init

* fixed imports

* initial implementation of the new dequeue function, still needs to be tested on the extension

* first pass of debuglogging

* added more documentation to queue

* updated logger based on feedback

* cleaned up background js and cleaned up metadata and profile stuff

* updated documentation surrounding extension and loevent

* added prepend and started working on testing with server

* working on testing with server still sometimes getting infinite loop

* fixed bug with trying to add duplicate items to queue

* Disabler is added to init chain

* renamed storage.js to browserStorage.js

* added backoff functionality to code

* fixed websocket reconnect errors

* reordered functions in queue class for readability

* documented queue code and hack in websocketlogger, updated queue code to be more readable

* Updated docs

* more documentation and pr feedback

* Update README.md

* Update license.txt

* Rename license.txt to license.md

* documenting code based on pr feedback also added util test

* Slightly better console log in tests

* Slightly better debugging info

* updated websocket logger queue logic to match lo_event

* Redux logger uses generic dispatch to list of reducers

* new queue.js code, CAUSES INF LOOP in EXT, needs more testing but I ran out of time

* Added once decorator

* Running forever loops only once

* Memory queue

* we now return a promise for the next db item instead of null

* Removed async loading of redux; that can delay initialization

* abstracted dequeue loop down to queue level and updated websocket reconnection workflow

* moved indexeddb queue to its own file

* abstracted queue to fall use memqueue if idb is unavailable

* Made code less async for simpler startup

* updated server side event workflow

* adjusted event pipeline

* Relatively untested code for redux reducers. Commiting to synchronize between systems

* Redux logger supports redux dev tools

* Queue selection parameter and minor cleanup

* Added comment

* Bug fix in reduxLogger; data was stored in incorrect field

* Redux can have an initial state

* Enable use of redux-thunk

* Slight fixup to last commit

* fixed logic for serverside queue processing/exiting

* Bug fix with redux thunk. Nicer messages in dev tools

* added blacklist portion to pipeline

* small bugfix. updating the event handler no longer throws an already done error

* event pipeline updates, auth is now blocking until ready and no longer use a queue for processing through reducers

* changed localStorage to wrapper

* inject.js

* blacklist.py

* incoming_student_event.py

* TODO for download script

* Better docs / todos for browser storage

* Disabler comments

* lo_event comments

* memoryQueue documented

* util.js comment and timing

* XAPI TODO

* Better package description

* WS Logger comments

* queue test comment

* Util test comment

* Noting DB code isn't reviewed

* update some linting and fixed minutes in hour

---------

Co-authored-by: Piotr Mitros <piotr@mitros.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants