Can't run npm run build or npm start correctly

~/taxinomitis(master*) » node -v
v10.15.3

~/taxinomitis(master*) » npm install
audited 7753 packages in 9.026s
found 11 vulnerabilities (2 low, 9 high)
  run `npm audit fix` to fix them, or `npm audit` for details

~/taxinomitis(master*) » npm audit fix                                                                                niji@localhost
up to date in 6.097s
fixed 0 of 11 vulnerabilities in 7753 scanned packages
  4 vulnerabilities required manual review and could not be updated
  1 package update for 7 vulns involved breaking changes
  (use `npm audit fix --force` to install breaking changes; or refer to `npm audit` for steps to fix these manually)

~/taxinomitis(master*) » npm audit

                       === npm audit security report ===

# Run  npm install --save-dev<EMAIL_ADDRESS>to resolve 7 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-stream > glob > minimatch             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-stream > minimatch                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > glob >     │
│               │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > minimatch  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > lodash     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/577                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > lodash     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/782                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp [dev]                                                   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > lodash     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/1065                      │
└───────────────┴──────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────────────────┐
│                                Manual Review                                 │
│            Some vulnerabilities require your attention to resolve            │
│                                                                              │
│         Visit https://go.npm.me/audit-guide for additional guidance          │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=4.17.5                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-bower [dev]                                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-bower > inquirer > lodash                               │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/577                       │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=4.17.11                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-bower [dev]                                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-bower > inquirer > lodash                               │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/782                       │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=4.17.12                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-bower [dev]                                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-bower > inquirer > lodash                               │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/1065                      │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Arbitrary File Overwrite                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ fstream                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=1.0.12                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ unzip2 [dev]                                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ unzip2 > fstream                                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/886                       │
└───────────────┴──────────────────────────────────────────────────────────────┘
found 11 vulnerabilities (2 low, 9 high) in 7753 scanned packages
  7 vulnerabilities require semver-major dependency updates.
  4 vulnerabilities require manual review. See the full report for details.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/taxinomitis(master*) » npm install --save-dev<EMAIL_ADDRESS>                                                                                niji@localhost
+<EMAIL_ADDRESS>added 55 packages from 52 contributors, removed 70 packages, updated 14 packages, moved 1 package and audited 13115 packages in 26.614s
found 4 vulnerabilities (1 low, 3 high)
  run `npm audit fix` to fix them, or `npm audit` for details

~/taxinomitis(master*) » npm run build
><EMAIL_ADDRESS>build /Users/niji/taxinomitis
> grunt

Running "ts:default" (ts) task
Compiling...
Using tsc v3.5.3

TypeScript compilation complete: 6.83s for 173 TypeScript files.

Running "tslint:all" (tslint) task
>> 165 files lint free.

Running "eslint:target" (eslint) task

Running "nyc:cover" (nyc) task
Running "mochaTest:test" (mochaTest) task

  passphrases generator
    ✓ should generate a string
    ✓ should generate a string of at least eight characters in length
    ✓ should generate a string without spaces in it
    ✓ should not modify the dictionary when generating passphrases
    ✓ should generate different passphrases each time (144ms)
    ✓ should contain between two and five words in a phrase
    ✓ should use words at least 2 characters long but shorter than 12
    ✓ should generate passphrases that are at least eight characters long

  auth0 users
    getStudents()
      - should return an empty list
      - should return student objects
      - should fetch students
    countStudents
      - should fetch a count of students
    getStudent()
      - should check the tenant is correct
      - should check the role is correct
    getTeacher()
      - should create and fetch a teacher
      - should return nothing for non-existent classes
    createStudent()
      - should create a student
      - should increase the number of students
      - should reset password

  Datasets import
    Errors
      ✓ should handle requests to import non-existent datasets
      ✓ should handle requests to import non-existent dataset types
    Verify datasets
      ✓ should be able to import all prod datasets (93ms)
    Text datasets
      ✓ should import a text dataset
    Numbers datasets
      ✓ should import a numbers dataset
    Images datasets
      ✓ should import an images dataset

  DB store
    Bluemix credentials
      ✓ should retrieve all conv Bluemix credentials
      ✓ should retrieve all visrec Bluemix credentials
      ✓ should store and retrieve lite Bluemix credentials
      ✓ should store and retrieve standard Bluemix credentials
      ✓ should count the number of models from Bluemix credentials
      ✓ should throw an error when fetching non-existent credentials
      ✓ should retrieve credentials for a classifier
      ✓ should modify Conversation Bluemix credentials
      ✓ should modify Visual Recognition Bluemix credentials
      ✓ should reject modifications for invalid credentials types
      ✓ should clean up classifiers and scratch keys when credentials are deleted
    Conversation classifiers
      ✓ should return 0 for unknown users
      ✓ should retrieve expired classifiers
      ✓ should delete expired classifiers
      ✓ should update Conversation workspace expiry
      ✓ should store and retrieve Conversation classifiers
    Image classifiers
      ✓ should retrieve expired classifiers
      ✓ should delete expired classifiers
      ✓ should store and retrieve classifiers

  DB store - error handling
    restartConnection
      ✓ should restart the DB connection after READ_ONLY errors
    getProjectsByUserId
      ✓ should handle weird errors
    deleteTextTraining
      ✓ should handle errors
      ✓ should handle weird errors
    deleteNumberTraining
      ✓ should handle weird errors
    deleteTextTrainingByProjectId
      ✓ should handle errors
      ✓ should handle weird errors
    deleteNumberTrainingByProjectId
      ✓ should handle weird errors
    updateLabels
      ✓ should handle weird errors
      ✓ should handle failures

  DB store - image training
    getImageTrainingByLabel
      ✓ should retrieve data by label
    storeImageTraining
      ✓ should store remote image data
      ✓ should store image data
      ✓ should limit maximum training data length

  DB store - known sys errors
    ✓ should store a new credentials error
    ✓ should store a new classifier error
    ✓ should protect against object ids that wont fit in the DB table
    ✓ should protect against missing object ids

  DB store - limits
    ✓ should enforce text training limits
    ✓ should enforce number training limits

  DB - connections
    ✓ should handle disconnecting pool first
    ✓ should handle disconnecting store first
    ✓ should handle multiple connects

  DB store - numbers training
    storeNumberTraining
      ✓ should store training data
      ✓ should limit maximum training data length
    deleteNumberTraining
      ✓ should delete training data
      ✓ should delete training by label (3034ms)
    getNumberTraining
      ✓ should retrieve training data
      ✓ should fetch specific amount of training data
      ✓ should count training data

  DB objects
    getProjectFromDbRow()
      ✓ should return labels for ids from DB
      ✓ should default language to English if unspecified
    createLabel
      ✓ should remove spaces
      ✓ should remove special characters
      ✓ should remove hyphens
      ✓ should remove slashes
      ✓ should remove quotes
      ✓ should remove brackets
      ✓ should remove wildcard characters
    getClassFromDbRow()
      ✓ should return tenant policy info
      ✓ should get tenant data as DB row
    getTextTrainingFromDbRow()
      ✓ should return training info
    getNumberTrainingFromDbRow()
      ✓ should return training data
      ✓ should return training data with labels
    getImageTrainingFromDbRow()
      ✓ should return training data
      ✓ should return stored training data
    getLabelListFromArray()
      ✓ should protect against long lists
    getLabelsFromList()
      ✓ should handle empty lists
      ✓ should remove empty items
      ✓ should trim items
    createProject()
      ✓ should reject invalid project types
      ✓ should require user id
      ✓ should require class id
      ✓ should require project name
      ✓ should require a language
      ✓ should require a valid language
      ✓ should create a project object
      ✓ should create a crowdsourced project object
      ✓ should need options for multichoice fields in numbers projects
      ✓ should need enough options for multichoice fields in numbers projects
      ✓ should prevent duplicate fields in numbers projects
      ✓ should prevent too many options for multichoice fields in numbers projects
      ✓ should prevent empty options for multichoice fields in numbers projects
      ✓ should prevent choices that start with numbers in numbers projects
      ✓ should prevent commas in choices in multichoice fields in numbers projects
      ✓ should prevent over long options for multichoice fields in numbers projects
      ✓ should limit the number of fields for numbers projects
      ✓ should restrict fields to numbers projects
      ✓ should prepare numbers projects
    createTextTraining()
      ✓ should require project id
      ✓ should require text data
      ✓ should remove tabs from text data
      ✓ should remove new lines from text data
      ✓ should allow training data without labels
      ✓ should create training data objects
    createNumberTraining()
      ✓ should require project id
      ✓ should require number data
      ✓ should require at least one number data item
      ✓ should require valid number data
      ✓ should allow training data without labels
      ✓ should limit the number of training data objects
      ✓ should create training data objects
    createImageTraining()
      ✓ should require project id
      ✓ should not require an image label
      ✓ should allow ID to be provided
      ✓ should require an image url
      ✓ should require a storable image url
    getCredentialsAsDbRow
      ✓ should handle missing credentials types
      ✓ should translate conv credentials types to an id
      ✓ should translate visrec credentials types to an id
    createBluemixCredentials
      ✓ should require a credentials type
      ✓ should require a service type
      ✓ should require a valid service type
      ✓ should require an API key for visual recognition credentials
      ✓ should require a valid API key for visual recognition credentials
      ✓ should create visual recognition credentials
      ✓ should require a username for conversation credentials
      ✓ should require a password for conversation credentials
      ✓ should require a valid username for conversation credentials
      ✓ should require a valid password for conversation credentials
      ✓ should require 44 char API keys for conversation credentials
      ✓ should reject invalid conv credential types
      ✓ should reject invalid visrec credential types
      ✓ should support API keys for conversation credentials
      ✓ should create conversation credentials
    create pending job
      ✓ should require a class id for image jobs
      ✓ should require a userid id for image jobs
      ✓ should require a project id for image jobs
      ✓ should require a image id for image jobs
      ✓ should require a class id for project jobs
      ✓ should require a userid id for project jobs
      ✓ should require a project id for project jobs
      ✓ should require a class id for user jobs
      ✓ should require a userid id for user jobs
      ✓ should require a class id for class jobs
    getKnownErrorFromDbRow
      ✓ should get data from DB records
    createKnownError
      ✓ should reject invalid service types
      ✓ should reject invalid error types
    setClassTenantExpiries
      ✓ should handle invalid input
      ✓ should update expiry numbers
    createClassTenant
      ✓ should require a class id
      ✓ should require a long enough class id
      ✓ should require a short enough class id
      ✓ should require lowercase class ids
      ✓ should require only letters in class ids
      ✓ should require a valid class id
    createSiteAlert
      ✓ should create an error ready for inserting into the DB
      ✓ should create a warning ready for inserting into the DB
      ✓ should create an info message ready for inserting into the DB
      ✓ should reject messages that wont fit in the DB
      ✓ should reject empty messages
      ✓ should reject URLs that wont fit in the DB
      ✓ should reject invalid audiences
      ✓ should reject invalid severities
      ✓ should reject non-numeric expiry times
      ✓ should reject negative expiry times
      ✓ should reject zero expiry times

  DB store - pending jobs
    create jobs
      ✓ should store a job to delete images
      ✓ should store a job to delete projects
      ✓ should store a job to delete users
      ✓ should store a job to delete classes
    retrieve jobs
      ✓ should retrieve a job to delete images
      ✓ should retrieve a job to delete projects
      ✓ should retrieve a job to delete users
      ✓ should retrieve a job to delete classes
      ✓ should handle multiple jobs
    delete job
      ✓ should delete a new job
      ✓ should delete a failed job
    failing jobs
      ✓ should mark a job as failed
      ✓ should handle multiple failures (1015ms)

  DB store
    deleteProjects
      ✓ should delete projects by userid
    getProject
      ✓ should return nothing for a non-existent project
      ✓ should retrieve a crowd-sourced project
      ✓ should retrieve a project
    getNumberProjectFields
      ✓ should maintain order of project fields
      ✓ should retrieve project fields
    countProjects
      ✓ should return 0 for unknown users
    storeProject
      1) should recognise SQL errors about unsupported characters

  190 passing (5s)
  11 pending
  1 failing

  1) DB store
       storeProject
         should recognise SQL errors about unsupported characters:

      AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
+ expected - actual

- 'Should not have stored a project with this name'
+ 'Sorry, some of those letters can\'t be used in project names'
      + expected - actual

      -Should not have stored a project with this name
      +Sorry, some of those letters can't be used in project names

    at store.storeProject.then.catch (dist/tests/db/projectstore.js:179:24)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Warning: Task "mochaTest:test" failed. Use --force to continue.

Aborted due to warnings.

=============================== Coverage summary ===============================
Statements   : 40.59% ( 1869/4605 )
Branches     : 22.1% ( 428/1937 )
Functions    : 27.5% ( 201/731 )
Lines        : 40.67% ( 1866/4588 )
================================================================================
Warning: Task "nyc:cover" failed. Use --force to continue.

Aborted due to warnings.
npm ERR! code ELIFECYCLE
npm ERR! errno 3
npm ERR<EMAIL_ADDRESS>build: `grunt`
npm ERR! Exit status 3
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/niji/.npm/_logs/2019-08-19T17_06_18_328Z-debug.log

~/taxinomitis(master*) » npm run build --force                                                                                niji@localhost
npm WARN using --force I sure hope you know what you are doing.

><EMAIL_ADDRESS>build /Users/niji/taxinomitis
> grunt

Running "ts:default" (ts) task
Compiling...
Using tsc v3.5.3

TypeScript compilation complete: 6.59s for 173 TypeScript files.

Running "tslint:all" (tslint) task
>> 165 files lint free.

Running "eslint:target" (eslint) task

Running "nyc:cover" (nyc) task
Running "mochaTest:test" (mochaTest) task

  passphrases generator
    ✓ should generate a string (47ms)
    ✓ should generate a string of at least eight characters in length
    ✓ should generate a string without spaces in it
    ✓ should not modify the dictionary when generating passphrases
    ✓ should generate different passphrases each time (131ms)
    ✓ should contain between two and five words in a phrase
    ✓ should use words at least 2 characters long but shorter than 12
    ✓ should generate passphrases that are at least eight characters long

  auth0 users
    getStudents()
      - should return an empty list
      - should return student objects
      - should fetch students
    countStudents
      - should fetch a count of students
    getStudent()
      - should check the tenant is correct
      - should check the role is correct
    getTeacher()
      - should create and fetch a teacher
      - should return nothing for non-existent classes
    createStudent()
      - should create a student
      - should increase the number of students
      - should reset password

  Datasets import
    Errors
      ✓ should handle requests to import non-existent datasets
      ✓ should handle requests to import non-existent dataset types
    Verify datasets
      ✓ should be able to import all prod datasets (91ms)
    Text datasets
      ✓ should import a text dataset
    Numbers datasets
      ✓ should import a numbers dataset
    Images datasets
      ✓ should import an images dataset

  DB store
    Bluemix credentials
      ✓ should retrieve all conv Bluemix credentials
      ✓ should retrieve all visrec Bluemix credentials
      ✓ should store and retrieve lite Bluemix credentials
      ✓ should store and retrieve standard Bluemix credentials
      ✓ should count the number of models from Bluemix credentials
      ✓ should throw an error when fetching non-existent credentials
      ✓ should retrieve credentials for a classifier
      ✓ should modify Conversation Bluemix credentials
      ✓ should modify Visual Recognition Bluemix credentials
      ✓ should reject modifications for invalid credentials types
      ✓ should clean up classifiers and scratch keys when credentials are deleted
    Conversation classifiers
      ✓ should return 0 for unknown users
      ✓ should retrieve expired classifiers
      ✓ should delete expired classifiers
      ✓ should update Conversation workspace expiry
      ✓ should store and retrieve Conversation classifiers
    Image classifiers
      ✓ should retrieve expired classifiers
      ✓ should delete expired classifiers
      ✓ should store and retrieve classifiers

  DB store - error handling
    restartConnection
      ✓ should restart the DB connection after READ_ONLY errors
    getProjectsByUserId
      ✓ should handle weird errors
    deleteTextTraining
      ✓ should handle errors
      ✓ should handle weird errors
    deleteNumberTraining
      ✓ should handle weird errors
    deleteTextTrainingByProjectId
      ✓ should handle errors
      ✓ should handle weird errors
    deleteNumberTrainingByProjectId
      ✓ should handle weird errors
    updateLabels
      ✓ should handle weird errors
      ✓ should handle failures

  DB store - image training
    getImageTrainingByLabel
      ✓ should retrieve data by label
    storeImageTraining
      ✓ should store remote image data
      ✓ should store image data
      ✓ should limit maximum training data length

  DB store - known sys errors
    ✓ should store a new credentials error
    ✓ should store a new classifier error
    ✓ should protect against object ids that wont fit in the DB table
    ✓ should protect against missing object ids

  DB store - limits
    ✓ should enforce text training limits
    ✓ should enforce number training limits

  DB - connections
    ✓ should handle disconnecting pool first
    ✓ should handle disconnecting store first
    ✓ should handle multiple connects

  DB store - numbers training
    storeNumberTraining
      ✓ should store training data
      ✓ should limit maximum training data length
    deleteNumberTraining
      ✓ should delete training data
      ✓ should delete training by label (3037ms)
    getNumberTraining
      ✓ should retrieve training data
      ✓ should fetch specific amount of training data
      ✓ should count training data

  DB objects
    getProjectFromDbRow()
      ✓ should return labels for ids from DB
      ✓ should default language to English if unspecified
    createLabel
      ✓ should remove spaces
      ✓ should remove special characters
      ✓ should remove hyphens
      ✓ should remove slashes
      ✓ should remove quotes
      ✓ should remove brackets
      ✓ should remove wildcard characters
    getClassFromDbRow()
      ✓ should return tenant policy info
      ✓ should get tenant data as DB row
    getTextTrainingFromDbRow()
      ✓ should return training info
    getNumberTrainingFromDbRow()
      ✓ should return training data
      ✓ should return training data with labels
    getImageTrainingFromDbRow()
      ✓ should return training data
      ✓ should return stored training data
    getLabelListFromArray()
      ✓ should protect against long lists
    getLabelsFromList()
      ✓ should handle empty lists
      ✓ should remove empty items
      ✓ should trim items
    createProject()
      ✓ should reject invalid project types
      ✓ should require user id
      ✓ should require class id
      ✓ should require project name
      ✓ should require a language
      ✓ should require a valid language
      ✓ should create a project object
      ✓ should create a crowdsourced project object
      ✓ should need options for multichoice fields in numbers projects
      ✓ should need enough options for multichoice fields in numbers projects
      ✓ should prevent duplicate fields in numbers projects
      ✓ should prevent too many options for multichoice fields in numbers projects
      ✓ should prevent empty options for multichoice fields in numbers projects
      ✓ should prevent choices that start with numbers in numbers projects
      ✓ should prevent commas in choices in multichoice fields in numbers projects
      ✓ should prevent over long options for multichoice fields in numbers projects
      ✓ should limit the number of fields for numbers projects
      ✓ should restrict fields to numbers projects
      ✓ should prepare numbers projects
    createTextTraining()
      ✓ should require project id
      ✓ should require text data
      ✓ should remove tabs from text data
      ✓ should remove new lines from text data
      ✓ should allow training data without labels
      ✓ should create training data objects
    createNumberTraining()
      ✓ should require project id
      ✓ should require number data
      ✓ should require at least one number data item
      ✓ should require valid number data
      ✓ should allow training data without labels
      ✓ should limit the number of training data objects
      ✓ should create training data objects
    createImageTraining()
      ✓ should require project id
      ✓ should not require an image label
      ✓ should allow ID to be provided
      ✓ should require an image url
      ✓ should require a storable image url
    getCredentialsAsDbRow
      ✓ should handle missing credentials types
      ✓ should translate conv credentials types to an id
      ✓ should translate visrec credentials types to an id
    createBluemixCredentials
      ✓ should require a credentials type
      ✓ should require a service type
      ✓ should require a valid service type
      ✓ should require an API key for visual recognition credentials
      ✓ should require a valid API key for visual recognition credentials
      ✓ should create visual recognition credentials
      ✓ should require a username for conversation credentials
      ✓ should require a password for conversation credentials
      ✓ should require a valid username for conversation credentials
      ✓ should require a valid password for conversation credentials
      ✓ should require 44 char API keys for conversation credentials
      ✓ should reject invalid conv credential types
      ✓ should reject invalid visrec credential types
      ✓ should support API keys for conversation credentials
      ✓ should create conversation credentials
    create pending job
      ✓ should require a class id for image jobs
      ✓ should require a userid id for image jobs
      ✓ should require a project id for image jobs
      ✓ should require a image id for image jobs
      ✓ should require a class id for project jobs
      ✓ should require a userid id for project jobs
      ✓ should require a project id for project jobs
      ✓ should require a class id for user jobs
      ✓ should require a userid id for user jobs
      ✓ should require a class id for class jobs
    getKnownErrorFromDbRow
      ✓ should get data from DB records
    createKnownError
      ✓ should reject invalid service types
      ✓ should reject invalid error types
    setClassTenantExpiries
      ✓ should handle invalid input
      ✓ should update expiry numbers
    createClassTenant
      ✓ should require a class id
      ✓ should require a long enough class id
      ✓ should require a short enough class id
      ✓ should require lowercase class ids
      ✓ should require only letters in class ids
      ✓ should require a valid class id
    createSiteAlert
      ✓ should create an error ready for inserting into the DB
      ✓ should create a warning ready for inserting into the DB
      ✓ should create an info message ready for inserting into the DB
      ✓ should reject messages that wont fit in the DB
      ✓ should reject empty messages
      ✓ should reject URLs that wont fit in the DB
      ✓ should reject invalid audiences
      ✓ should reject invalid severities
      ✓ should reject non-numeric expiry times
      ✓ should reject negative expiry times
      ✓ should reject zero expiry times

  DB store - pending jobs
    create jobs
      ✓ should store a job to delete images
      ✓ should store a job to delete projects
      ✓ should store a job to delete users
      ✓ should store a job to delete classes
    retrieve jobs
      ✓ should retrieve a job to delete images
      ✓ should retrieve a job to delete projects
      ✓ should retrieve a job to delete users
      ✓ should retrieve a job to delete classes
      ✓ should handle multiple jobs
    delete job
      ✓ should delete a new job
      ✓ should delete a failed job
    failing jobs
      ✓ should mark a job as failed
      ✓ should handle multiple failures (1017ms)

  DB store
    deleteProjects
      ✓ should delete projects by userid
    getProject
      ✓ should return nothing for a non-existent project
      ✓ should retrieve a crowd-sourced project
      ✓ should retrieve a project
    getNumberProjectFields
      ✓ should maintain order of project fields
      ✓ should retrieve project fields
    countProjects
      ✓ should return 0 for unknown users
    storeProject
      1) should recognise SQL errors about unsupported characters

  190 passing (5s)
  11 pending
  1 failing

  1) DB store
       storeProject
         should recognise SQL errors about unsupported characters:

      AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
+ expected - actual

- 'Should not have stored a project with this name'
+ 'Sorry, some of those letters can\'t be used in project names'
      + expected - actual

      -Should not have stored a project with this name
      +Sorry, some of those letters can't be used in project names

    at store.storeProject.then.catch (dist/tests/db/projectstore.js:179:24)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Warning: Task "mochaTest:test" failed. Use --force to continue.

Aborted due to warnings.

=============================== Coverage summary ===============================
Statements   : 40.59% ( 1869/4605 )
Branches     : 22.1% ( 428/1937 )
Functions    : 27.5% ( 201/731 )
Lines        : 40.67% ( 1866/4588 )
================================================================================
Warning: Task "nyc:cover" failed. Use --force to continue.

Aborted due to warnings.

~/taxinomitis(master*) » npm start
><EMAIL_ADDRESS>start /Users/niji/taxinomitis
> node dist/lib/app.js

And it stuck here.

and i tried
npm cache clean --force

rm -rf node_modules

rm package-lock.json

and
~/taxinomitis(master*) » npm install                                                                            niji@localhost
npm WARN deprecated<EMAIL_ADDRESS>We don't recommend using Bower for new projects. Please consider Yarn and Webpack or Parcel. You can read how to migrate legacy project here: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
npm WARN deprecated<EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm WARN deprecated<EMAIL_ADDRESS>Please note that v5.0.1+ of superagent removes User-Agent header by default, therefore you may need to add it yourself (e.g. GitHub blocks requests without a User-Agent header).  This notice will go away with v5.0.2+ once it is released.
npm WARN deprecated<EMAIL_ADDRESS>This module relies on Node.js's internals and will break at some point. Do not use it, and update to<EMAIL_ADDRESS>npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated<EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js

><EMAIL_ADDRESS>install /Users/niji/taxinomitis/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js

gyp ERR! configure error
gyp ERR! stack Error: Command failed: /anaconda3/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                                ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:294:12)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:970:16)
gyp ERR! stack     at Socket.stream.socket.on (internal/child_process.js:389:11)
gyp ERR! stack     at Socket.emit (events.js:189:13)
gyp ERR! stack     at Pipe._handle.close (net.js:597:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/niji/taxinomitis/node_modules/dtrace-provider
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

><EMAIL_ADDRESS>install /Users/niji/taxinomitis/node_modules/fsevents
> node install

node-pre-gyp WARN Using request for node-pre-gyp https download
[fsevents] Success: "/Users/niji/taxinomitis/node_modules/fsevents/lib/binding/Release/node-v64-darwin-x64/fse.node" is installed via remote

><EMAIL_ADDRESS>install /Users/niji/taxinomitis/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Using cached /Users/niji/.npm/_libvips/libvips-8.8.1-darwin-x64.tar.gz

><EMAIL_ADDRESS>postinstall /Users/niji/taxinomitis/node_modules/core-js
> node scripts/postinstall || echo "ignore"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

added 1485 packages from 1842 contributors and audited 7757 packages in 68.236s
found 11 vulnerabilities (2 low, 9 high)
  run `npm audit fix` to fix them, or `npm audit` for details
-------------------------------------------------------------------------------------------------------------------------------
~/taxinomitis(master*) » npm run build                                                                          niji@localhost

><EMAIL_ADDRESS>build /Users/niji/taxinomitis
> grunt

Running "ts:default" (ts) task
Compiling...
Using tsc v3.5.3
src/tests/restapi/auth.ts(169,25): error TS2352: Conversion of type '{ params: { studentid: string; classid: string; projectid: string; }; }' to type 'Request' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Type '{ params: { studentid: string; classid: string; projectid: string; }; }' is missing the following properties from type 'Request': get, header, accepts, acceptsCharsets, and 72 more.

>> 1 non-emit-preventing type warning
>> Error: tsc return code: 2
Warning: Task "ts:default" failed. Use --force to continue.

Aborted due to warnings.
npm ERR! code ELIFECYCLE
npm ERR! errno 3
npm ERR<EMAIL_ADDRESS>build: `grunt`
npm ERR! Exit status 3
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/niji/.npm/_logs/2019-08-19T17_28_24_196Z-debug.log

~/taxinomitis(master*) » cat /Users/niji/.npm/_logs/2019-08-19T17_28_24_196Z-debug.log                          niji@localhost
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'build' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/niji/taxinomitis/node_modules/.bin:/usr/local/opt/mysql@5.7/bin:/anaconda3/bin:/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /Users/niji/taxinomitis
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'grunt' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 3  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec build script
13 verbose stack Error<EMAIL_ADDRESS>build: `grunt`
13 verbose stack Exit status 3
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:189:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:189:13)
13 verbose stack     at maybeClose (internal/child_process.js:970:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /Users/niji/taxinomitis
16 verbose Darwin 18.7.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
18 verbose node v10.15.3
19 verbose npm  v6.4.1
20 error code ELIFECYCLE
21 error errno 3
22 error<EMAIL_ADDRESS>build: `grunt`
22 error Exit status 3
23 error Failed at the<EMAIL_ADDRESS>build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 3, true ]

This isn't a Node.js issue - it's a MySQL issue (presumably the same cause as your other issue)
1) DB store
       storeProject
         should recognise SQL errors about unsupported characters:

      AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
+ expected - actual

- 'Should not have stored a project with this name'
+ 'Sorry, some of those letters can\'t be used in project names'
      + expected - actual

The version of MySQL you're using is behaving differently to what the tests expect.

Closing as I think it won't be helpful to investigate the same problem in both issues.


Support writing JS in ES6

I think it would be a pretty neat ability to write in ES6 much like http://babeljs.io/repl/
Not sure if the core user base would appreciate this, however I think it would be a nice to have feature, and people in the JS community would find it quite nifty.

this is a good idea but not a priority yet.

+1 to babeljs support

is this something we could drop in for eval() that just takes an extra parameter that could be set from the language manager?  i couldn't find an api for it.

We can compile it to es5 before passing it to eval using something like https://github.com/Daniel15/babel-standalone

Looks simple enough:
Babel.transform(input, { presets: ['es2015'] }).code;

Then we simply feed this to eval.

OK pushed something to tom/1625 branch, seems to work:
Try something like:
var lambda = (x) => x * 2;
lambda(2);


Formatting changes

Not sure if i just didn't notice before but did it always strip out new lines from the middle of code? I often use a single new line to chunk code into related blocks - rustfmt does respect these but they get flattened with genemichaels.
Secondly this comment:
// // find workspace cargo toml
// for parent in 0.. {
//     let dir = if parent == 0 {
//         ".".into()
//     } else {
//         "../".repeat(parent)
//     };
//     match std::fs::read_dir(dir)?.filter_map(|f| f.ok()).find(|f| f.file_name() == "Cargo.toml") {
//         Some(path) if
//             cargo_manifest::Manifest::from_path(path.path())
//                 .ok()
//                 .and_then(|m| m.workspace)
//                 .is_some() => {
//             cargo_toml = Some(path);
//             break;
//         },
//         _ => {
//             continue;
//         },
//     }
// }

gets formatted to this:
// // find workspace cargo toml for parent in 0.. { let dir = if parent == 0 { ".".into() } else {
// "../".repeat(parent) }; match std::fs::read_dir(dir)?.filter_map(|f| f.ok()).find(|f|
// f.file_name() == "Cargo.toml") { Some(path) if cargo_manifest::Manifest::from_path(path.path())
// .ok() .and_then(|m| m.workspace) .is_some() => { cargo_toml = Some(path); break; }, _ => {
// continue; }, } }

Is that intended? Seems too aggressive for my liking, would like to hear your thoughts.
EDIT: I do see verbatim comments exist - I feel like there may be a better way to do this, since this is non standard for most users and comment keyboard shortcuts won't natively cover this.

I think there's two cases here, human oriented comments and people commenting out code temporarily, and there's no reliable way to distinguish them (aside from a new comment type like the verbatim comments), so I took the approach of assuming it's human text everywhere.
Comments are treated as human text and reflowed per line length rules in such a way that it'd produce identical markdown visualization, so ``` can be used to disable text-style reflowing too (although I was planning to hook up rust reformatting for rust-labeled markdown comment code blocks too at some point).
A third option is using config flags to disable code (which is also nice because it keeps formatting + code coloring):
#[cfg(all(never))]

Basically, reflowing is important because if it doesn't reflow the text it'd need to keep existing formatting in a stable way (i.e. not introduce new spaces or delete old spaces) but that's hard for a lot of reasons.  I'd be happy with making it conditional if that were achieved, but I think this may be one where existing code needs to be updated to work well with this.

FWIW I agree that editor support is an issue.

Is it reasonable to attempt to parse the comment as rust code and if its valid source code then don't flatten? This is more of a discussion rather than a need fix issue, so I'm interested in working through some thoughts.
Personally I think adding a new comment type is out of scope for a formatter.

I think comments are generally intended for human consumption, and using comments to temporarily disable code is a convenient hack but not an idiomatic usage of comment.  Lots of formatters will tweak comment layouts such that they're not generally great at preserving spacing, lines, etc.
Per the above, I'd like to prioritize formatting of the human comments, so if a normal comment somehow happened to be rust and it formatted it as rust that would be counterproductive.  Also, I think commented out code that's parseable as rust is probably in the minority - a lot of times you'll have only one bracket, or it'll be a commented out partial expression like .await? which isn't parseable on its own, etc.

Thoughts on this?

Oh yeah, that was there from the start.  The output is generated solely from the ast which only contains semantic information, so no formatting is kept.
There are rules to introduce spaces though - I think fn/struct/enum definitions get a space before/after, also a comment will get a space before it.

Your views on comments seem reasonable, happy to leave the discussion here for now, I wonder if a better solution will come up at some point later anyway, if not I think the current state is fine then.

As for keeping stray newlines within code blocks - would it be possible to keep them? I would think it should flatten gaps of more than 1 newline down to 1, however I think removing them all completely is too aggressive. I understand due do how the file is read and parsed this may be impossible though, I wonder if there is a solution.
I don't know how it works under the hood but I think the ability to retain them is invaluable. From my perspective, paragraphing rust code makes it infinitely more readable.

Okay yeah, I'm thinking about this more.  It's definitely not easy, but it's possible we could detect extra blank lines when we're doing comment extraction and re-add them maybe piggybacking on the code to add comments (i.e. add comments and blank lines instead of just comments), although the places new lines could be added is limited to where comments go.

I think as long as its stable its very much worth doing. In my mind it's a significant hurdle for people coming from rustfmt to adjust to without it.
What it should really come down to is whether you think it's a good feature though, it's a troublesome road to go down if the reason changes are made is "because rustfmt does it", obviously.

I think #41 and #53 are more specific and the only remaining discussions here were those, so I'm going to close this.  If there were other topics let's make new specific issues for them and link this.


Unstable test: mpsc buffer test fails when contended

coverage: 97.211%. first build when pulling c491131dd9caa7059ab740357c739efcf150ffe3 on users/alexpeck/mpscteststab into c37109c769f79c8b9bc4ddfdcb460fd0ff8dc188 on main.


Importing from an openapi file doesn't override deleted endpoints

When running posting import path/to/openapi.{yaml,json}  new endpoints are registered but deleted ones   stay in place.

This is the expected behaviour. It's an import, not a sync. It might be updated in the future, but that's what it's intended to be now.


python3Packages.oocsi: 0.4.2 -> 0.4.3

Motivation for this change
Update to latest upstream release 0.4.3
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 153649 run on x86_64-linux 1

2 packages built:

python38Packages.oocsi
python39Packages.oocsi


Config readme fixes

Corrected some broken links & removed configs/FlatboxRev4/assets/ButtonMapping.kra, was about 25mb, but maybe it shouldnt be removed?

@TheTrainGoes I'll let you review/PR this one as it modifies configs mainly.
I wonder if we should move the .kra file to our site?

@arntsonl and @Pelsin this is fine to remove.  I can make a small sized graphic for it.


Mouse functions like click or move not working for Python 3.8.x

The functions do not throw any exception. However, import pyautogui shows a warning, /usr/local/lib/python3.8/site-packages/rubicon/objc/ctypes_patch.py:21: UserWarning: rubicon.objc.ctypes_patch has only been tested with Python 3.4 through 3.7. You are using Python 3.8.2. Most likely things will work properly, but you may experience crashes if Python's internals have changed significantly.

I've been using here normally on 3.8. Maybe reinstall the library?

This issue still exists
Python 3.8.5 (default, Jul 21 2020, 10:48:26)
[Clang 11.0.3 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyautogui
/usr/local/lib/python3.8/site-packages/rubicon/objc/ctypes_patch.py:21: UserWarning: rubicon.objc.ctypes_patch has only been tested with Python 3.4 through 3.7. You are using Python 3.8.5. Most likely things will work properly, but you may experience crashes if Python's internals have changed significantly.
  warnings.warn(

pyautogui version: 0.9.50

I have the same issue. It seems like that this issue occurs on mac.
Python 3.8.6 (default, Oct 24 2020, 18:08:48) [Clang 12.0.0 (clang-1<IP_ADDRESS>)] on darwin

I have the same problem

i have same problem

please help

Closing this issue is not being addressed.


X Error of failed request:  BadValue (integer parameter out of range for operation)

With a 1.14.1 just downloaded and compiled:
% lagrange
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  105
  Current serial number in output stream:  106
%

% lsb-info
Ubuntu 22.04 (jammy)

% gcc --version
gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% uname -a
Linux MYNAME 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Other X applications seem to work fine.

I believe this is an X video driver issue, and there is really nothing Lagrange can do to fix it. I've seen it sometimes occurring after upgrading the X server/drivers.
You could try launching the app with the --sw option to force software rendering, or restarting the X server / rebooting the machine.

 lagrange --sw fails in the same way.

But restarting the machine indeed solved the issue.


replacing http-proxy with http-mitm-proxy

I've replaced http-proxy with http-mitm-proxy which is much better fit for this project. The biggest win? HTTPS support!
Things I've fixed BTW:

remote port and remote address are now reported correctly to the front-end
timestamp is now correctly passed to the front-end with each "dataReceived" message

:+1:

you can use this branch today, it requires a bit of manual work right now but works well. For instruction see: https://github.com/kdzwinel/betwixt/issues/3#issuecomment-168119462


Allow passing lists of modules in command-line options

Many command-line options take as parameter a single module name, e.g.
--verify_module [module name]  Name of the module to verify.
This leads to some bloating in Makefiles, see e.g. https://github.com/mitls/hacl-star/blob/master/code/poly1305/Makefile#L161 (easily avoidable using make functions) and command-line arguments.
These options could be extended to take a list of comma-separated module names.
See #908 and #395 for relevant discussions.

#941?

Indeed, allowing patterns like in #941 will be even better. Not only for --extract, but most options currently accepting a single module name.


Added smart element library

Updated libraries section

As this list may grow, I suggest to sort it with alphabetical order (like the one from https://www.webcomponents.org/libraries.

@bmarkov Thanks for the PR. First of all, let's distinguish the libraries (which can be used to create own components, like Polymer, LitElement or Skate) from the ready made component sets.
I have previously looked at the smarthtmlelements-core and it looks like the library is closed-source, so you are shipping the minified code (although available via Apache 2.0 license).
I'm not against the closed source as I do realise that as a business model. However, this makes it harder to use your components in terms of debugging, and especially contributing.
It would be also nice if you had a comparison for the "the most advanced front-end component library" statement, preferably with some benchmarks. Especially, I recommend the article from the Vue.js docs as an example.

@smalluban good point, thanks. Will take this into account.

Hi web-padawan,
smart-custom-elemen(https://github.com/HTMLElements/smart-custom-element)t is a library which can be used for creating custom elements. As you can see from the source folder, the smart.element.js file is available in full-form.
smarthtmlelements-core is a collection of 30+ custom elements built with smart-custom-element.

@bmarkov thanks. In that case, please rebase and update the link accordingly:
[Smart Custom Element](https://github.com/HTMLElements/smart-custom-element)

Then I will merge this PR. There are not so many libraries built on top of Web Components so far, that's why any library, even a small one with few GitHub starts, could be good candidate for this list.


fix: apecloud-mysql resolves hostname env error

fix https://github.com/apecloud/kubeblocks/issues/7254

/cherry-pick release-0.9


lastMessage must be non null

Hi,
From your example, each ChatWithMembers must have a lastMessage not null.
But, when creating a new instance of ChatWithMembers, lastMessage is necessarily null.
Error is thrown here : https://github.com/themadmrj/chat_ui_kit/blob/3d03ae5de83906d01a4cd78bff2758be2397a0c2/lib/src/widgets/core/chats_list_tile.dart#L162
How handle a chat without messages ?
Nelson,

What's the point of displaying an empty chat? That's the question I asked myself when I wrote that line.
If there are valid reasons, I can make the change.

What's the point of displaying an empty chat? That's the question I asked myself when I wrote that line.
If there are valid reasons, I can make the change.

I have a use case (We call it ghost mode), where i delete all message on behalf of members, but keep their conversation.

What's the point of displaying an empty chat? That's the question I asked myself when I wrote that line.
If there are valid reasons, I can make the change.
You are right, but it can happen before first message come (All member get their chat list updated, on chat creation, not when first message is fired).

I can create a fake first message, but im not sure its good..

I have a use case (We call it ghost mode), where i delete all message on behalf of members, but keep their conversation.

What's the point of displaying an empty chat? That's the question I asked myself when I wrote that line.
If there are valid reasons, I can make the change.
You are right, but it can happen before first message come (All member get their chat list updated, on chat creation, not when first message is fired).

I can create a fake first message, but im not sure its good..

BTW, i can pass my own builder, so i can make my own widget :)
Thanks,

BTW, i can pass my own builder, so i can make my own widget :)
Thanks,

Changed in 1.1.3

Changed in 1.1.3


Boomerang measurement of dynamic data

I am attempting to use Boomerang’s round trip page load timer, and it seems to work great for page-to-page transitions.  But for dynamic content, I am not getting good results.
I have a small part of the application that uses AngularJS, and inside the controller I have coded the following:
BOOMR.plugins.RT.startTimer("t_done");
// work… service calls via Ajax
BOOMR.plugins.RT.done();
And no beacon gets sent.  In fact, I can enter this code in the Javascript console, and nothing occurs either.  Any suggestions?

like here (https://github.com/lognormal/boomerang/issues/38), try this:
var timer = window.BOOMR && BOOMR.requestStart("my_timer");
// work… service calls via Ajax
if (timer) timer.loaded();

This results in a beacon being sent which is incorrect - it starts from the previous page load, not the click.  It is similar to the rt.quit beacon.

var timer = BOOMR.requestStart("my_timer");
setTimeout(function(){
timer.loaded(); // t_done on the beacon that fires is ~1003 (ms)
}, 1000);
Are iframes involved?

You are correct.  My problem was I wasn't understanding when the Angular controller script was being executed.  So it had to do with the placement of the BOOM timer.  Thanks.


[1.10.2 / Sponge / TotalEconomy 1.5.0] Some job Error

Hallo together,
I found some problems with the jobs.
Prevent Farming doesnt work. The old console error is fiexed, but I get any  job farm like fish and wood.
Further dark oak dood isn't dedacted by the lumberjack job. No money and no xp gain.
Thanks

Prevent farming was replaced with what should be a much better alternative in v1.5.0. The new way it works is that if a player placed the block, then they will not gain exp/money for it. Regarding your other statement, I need to change some code to work with block alternatives such as dark oak.

okay, thanks.
But I mean you should thing about Prevent farming. Prevent farming is more then an protection to make money with placed items. It's like an instant sell of the items. I use it on a mod server to prevent earn money from autofarming. But allow earn money from own work. Items that allowed autofarm can sell in an admin shop, but manuel items should use prefent farming.
Thanks :)

@mister-man I am a little confused as to what you are saying. Farming prevention is STILL present in Total Economy, it is just being handled differently. Are you wanting the option to enable/disable farming prevention to be able to be set for individual jobs?

@Erigitic sorry for the late answer. the old farm prevention removes the blogs while farming. so you get money and no resources. like a player sells it. the new prevention only prevents earning money from player placed blogs, right?
and the old way is more than an prevention, it is a feature to disable earning money and matrials at the same time.

The old way no longer worked which is why it was replaced. I am not sure if I will go about adding the old way back, unless there is a big enough demand for it. I personally did not like the old way as it prevented the gaining of materials even when the block was not placed by the player. This new way allows the gaining of materials still but prevents any sort of "farming". Again, if there is high enough demand I will look into it, otherwise I think it would be best to keep it the way it is.
Regarding the other issue with blocks not being recognized, this will be fixed shortly. The goal is to release this alongside the next release.

Closing this as this issue, as well as a few others, have been consolidated into #105.


Compaction not collect the number of rowsets compacted rightly

I0618 16:08:34.805496 216799 base_compaction.cpp:58] _input_rowsets.size() : 0, base_compaction_deltas_total: 0

If I performed a base compaction, the input_rowsets is always zero.
Because the gc_used_rowsets() clear the input_rowsets before save the metrics.


[feat] Build a Events Page

Build an Events Page Layout such that It tells us brief info about what happened in the event and Photographs related to it.

Can I work on this?


Introduce tag scope

Currently tags are globally visible. Everybody including regular users can see all tags.
It would be useful if tags set by users are restricted to one user and globale tags are not visible to regular users.
A possible implementation would add a column scope which is then either global oder a user_id. For a regular user only his own tags are shown.
The scope column can be set implicitly by considering the highest role.

New column scopein tag table
Value is String with one of three (for now) classes

$Username: The username of the user creating the tag, equivalent to Private, thus only visible to the user
global: Tags visible for everyone, e.g. auto-tagged software tags via API
admin: Tags visible for administrative staff only (roles admin, support), e.g. tags relating to job health

Creating tags in the interface

User role users will see no difference, tags will automatically be private in scope
Admin role users will see an additional selector, allowing to select the scope of the new tag (Defaults to Private)

Creating tags via API

type ApiTag now includes field for scope of new to be created tag

Visibility of Tags

Tag scopes are colored differently
Tags will be filtered by scope befor ebeing delivered to filter component, tags view and tagManagement modal


Unable to connect to drone

Hi, andriy, excellent work on ros2 and anafi drone!
I tried running your code, but I have some trouble when connecting to the drone.
I configured the same experimental environment as you and successfully completed the compilation, but when I run the launch file in the terminal, it remains in a "connecting" state and cannot establish a successful connection.I wonder about the possible reasons for this situation.
Thank you for any help!

There might be several causes of the connection issue. You have to go by exclusion to identify it.
Here are some potential causes and possible solutions:

Skycontroller-Drone connection problem: check whether skycontroller is paired and connected to the drone. Turn on both skycontroller and Anafi, and try to pan the gimbal. If it works, then they are connected.
Skycontroller-PC connection problem: check whether skycontroller is properly connected to your PC. In the terminal, write ifconfig and check whether there is a USB device with <IP_ADDRESS> IP address. If yes, then the connection is fine.
Wifi key problem: try to connect to the default paired Anafi. You are trying to connect to Anafi with a specific SN and WIFI key. Instead, I recommend connecting to the paired Anafi. So, just leave SN and WIFI key in the launch file blank.

I hope this will solve your issue.


Manual Account Sync

It would be nice as a sanity / idiot button if we could manually sync the email data displayed in the app.
The use case is when I'm away from my desk and I read / archive data on my phone, when I come back to my desk I still have those messages in my mailbox. Knowing that the data isn't correct, I'd like the option to perform a sync action to catch the app up to the source of truth (gmail in this case). User's won't want to use the app if they believe the data presented to be wrong or out of date.

I imagine this would work like the app does now when there is a sync failure.

Explicitly knowing that you can ad-hoc sync is a bit of a comfort feature, but makes total sense. I found myself looking in the activity log to see if there is any pending or failed activity. A "last-synced" label somewhere on the chrome may be a middle-ground to a full manual sync feature.

A "last-synced" label somewhere on the chrome may be a middle-ground to a full manual sync feature.

:+1:

+1 This would be great

+1 I like buttons

+1 Would be nice to have if expecting an email.

+1

Even just an Fxx key would be nice for this. Doesn't have to be a UI button.

+1 Another use case: when I have just signed up on some site and I'm waiting for email for confirmation. But I cannot synchronize email manually...

Nylas has a persistent, streaming long connection with the Nylas servers which is connected to your email provider for the duration of this API call. There is no need for this feature in my opinion.
Your email provider sends a signal to Nylas servers as soon as it receives email, then Nylas fetches the changes (new emails, updated emails, deleted emails), saves them to its internal DB, then sends those changes to N1.
If you're on an IMAP connection, this is done through the IDLE command.
This is the API endpoint N1 uses: https://nylas.com/cloud/docs#streaming_delta_updates
You can also find out more info from the Sync Engine the Nylas team has open sourced

With this model, we should be expecting Nylas to deliver emails faster than other clients. But there is a significant delay in receiving a new email. I had to switch to Thunderbird time to time when there was some urgency in receiving a new email. Look forward to some sort of improvement on this.

Most IMAP clients use the same exact process to retrieve new mail.
As far as other providers (non-IMAP Gmail, Outlook, Exchange) which use APIs instead of the IMAP protocol, not sure how the sync-engine manages those connections.

It also seems like when I archive a bunch of messages, or leave the client open for a week or so, any action I perform that requires a sync is 1 step behind.
e.x.
archive message a -- nothing happens (says it is applying labels)
archive message b -- message a is removed from the list, but message b remains
and so on
The issue will resolve itself if I reload the client, but it still feels like a manual sync would help catch the client back up.

@adambullmer if anything, thats a sync issue bug in Nylas and adding a "Sync" button (which may not even fix that issue) would just be a hack, IMO.

I'm using Nylas 0.4.40-85cf726 with Gmail, and I experience an example mentioned above where I'm waiting for some confirmation or verification email. It isn't a huge delay, but it's long enough that I give up waiting for N1 and open Gmail in a browser. The email is always waiting in the web client, and it usually appears in N1 a few minutes later.
If this happens the Gmail/Inbox webui (which it does occasionally), I'm used to hitting the inbox button on the left hand side or using the keyboard command "g then i" which seems to refresh the mail. I was working around this in N1 before by switching the account view (cmd+2 then cmd+1), and this seemed to refresh things, but that doesn't happen any more.

I did find myself closing and reopening N1 several times this morning in an attempt to sync my gmail folder for priority github message. So far, that folder has yet to sync with what I can see in the gmail webapp or on my phone.

Incremental, streaming updates for new mail is all well and good (when it works properly), but in the case where N1 was closed and I do some action on another email client (Phone or Thunderbird), N1 needs some process to go back through all the messages it thinks are in that folder and verify that they are still indeed in that folder. Some button to "refresh folder contents" (not just "check for new mail in this folder") would be very useful.

Hey! I'm going to close this issue—@KevinMartin is correct that we use a streaming connection (not just for new mail, but for updates to threads and folders), and delays in the updates are likely to be delays in the back-end, which wouldn't be fixed with this button. Instead, we're going to work on improving performance for mail sync so that it's faster and more reliable. Thanks!

So what case do we follow if we want updates on progress made to that back-end process?

@MidnightLightning when I ran into this issue, I took the most logical step: delete the account from N1 and recreate it again. :smile:

@Avinash-Bhat, that seems like it would just re-add all my actions to the end of the queue on the server to be synced. The Nylas members have reported that this is server-side issue, so deleting and re-adding an account on the client-side probably has no real impact on this issue, and may make it worse (putting more actions on the already-overloaded queue).

I'd like to give this a bump; because I'm still not getting mail in real time. In some cases mail is delayed 15 minutes; or doesn't come at all unless I close+re-open the app. This used to only happen once in while, but now it's everyday 😞

It's NOT real time, it just refreshes every now and then. I have to use Developer ➡  Reload as a workaround just to be able to manually refresh it, and then the e-mail comes in.

Chill dude; I never claimed it was streamed in real time.  Most other clients seem to show new emails faster than Nylas N1. The "real-time" i'm referring to would be the normal average of my other email clients' email retrieval. In which case, I would prefer a manual "sync" so I can bind it to a keystroke and refresh. I already do a Developer => Reload ; however, this reloads the entire app.
And I was only speaking of streaming in the sense of what I read prior:
As Jackie said above, (on Jul 28), they'll be working to get their streaming connection performance up.

 Sorry for the confusion.

@Jop-V and @robjac—the streaming connection doesn't necessarily mean it's faster than other clients; it's just a description of how we connect to our back-end. We aren't refreshing every few minutes, but the presence of the back-end does introduce a delay (usually just a few seconds). If you need to reload the whole app, that's a different bug, and you should email us at<EMAIL_ADDRESS>with details so that we can see what's wrong!

What's wrong is that there isn't a button to reload just the e-mail rather than the whole app..

@Jop-V We would much rather fix the bug that you're having than build a hacky workaround! Some people in this thread are having issues with the back-end—in that case, adding a reload button won't fix anything. But it sounds like you're having an issue with the client's streaming connection working after initial sync, so I think it probably makes more sense to find out why that's happening and get the connection working again than it does to add a button to manually sync each time.

@jackiehluo I think the main issue is a lack of meaningful UI feedback. The solution suggested above, of a "last synced (X minutes / seconds) ago" would be much better than nothing at all. I can say this was one of the reasons I ended up switching away eventually from N1.

Attempting to fix the underlying issue is well and good, but please don’t underestimate people’s needs to confirm that what they see is actually up to date. Nine months later, and there’s still no ‘Last synced’ label, nor an OCD-friendly way to perform a manual refresh.
At the very least, you could offer up an official plugin for this?


Array with items of type object now get converted into inline arrays.…

… Clean up.

Checks passed.


Optional creationDate and Buffer deprecation fix

creationDate is now treated as an optional property (see: https://tools.ietf.org/html/rfc2518#section-13.1)
Fixed the new Buffer() deprecation (see: https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/)

Hello,
The changed has been made in the pull request #6.
Thank you very much for your contribution.


Please add release notes

Please add release notes.
I would like to know what has changed since last release being used.

Agreed. I'm currently trying to upgrade an older project and there are breaking changes everywhere. Being able to at least see what the major API changes are would be a huge help.

We'll try to be better at this in the future, but we won't be adding notes for past versions.


Running pyhaystack on a Mac gives attribute error about hszinc.MODE_ZINC

Submitted by Ronald Snyder on gitter.im

Here's an extract of the answer given on gitter that solves the problem
@ronaldsnyder I've been able to reproduce the bug on the wife's Mac !
It is probably related to some kind of permission of the "system's python" version.
To be able to make it work, you will need to use a virtual env that will isolate you from the system's python.
Here is a simple guide : http://docs.python-guide.org/en/latest/dev/virtualenvs/
You will need to :

sudo pip install virtualenv
mkdir your project folder
cd project
virtualenv venv
source venv/bin/activate

Once you are in your virtual env DO NOT use sudo to pip install.
(in fact, this is the part that made me think of permission issue as I read somewhere that we should never sudo pip install anything)
So now you are in your virtual env (it's in parenthesis in the console) and you

pip install requests
pip install hszinc
pip install pyhaystack
(note that this time you won't see any weird message when trying to install pandas and you need xcode to perform the install....)

You are now able to :
import hszinc
hszinc.MODE_ZINC

from pyhaystack.client.skyspark import SkysparkHaystackSession
# won't raise an error

It works on client's machine


unionQuery

unionQuery(tb_names, cols = NULL)
one of the challenges this poses is that the tables might not have the same variables across all years, and then
even if they do, they might not have the same codebooks across all years
we might want a design that does a bit more testing - eg a function called sameVars that takes a list of nhanes Questionnaire names and tells you if they have the same columns.  Another function called say sameCodeBook - that compares the code books and here I think you might want to split up the output
nhanesCodebook('DEMO_D', 'RIAGENDR')
$Variable
[1] "RIAGENDR"
$Description
[1] "Gender of the sample person"
$Target
[1] "Both males and females 0 YEARS - 150 YEARS"
$SasLabel
[1] "Gender"
$RIAGENDR
Variable CodeOrValue ValueDescription Count Cumulative SkipToItem
1 RIAGENDR           1             Male  5080       5080         NA
2 RIAGENDR           2           Female  5268      10348         NA
3 RIAGENDR           .          Missing     0      10348         NA
And test if variable, description, target and saslabel are the same,
then within the codebook itself, we need to know if the values are the same, and if the valueDescriptions are the same.
For example it would be bad if there was some RIAGENDR table where 1 was Female and 2 was Male ....we hope they never did that, but we probably have to protect against it

With the translated DB and new phonto, the issue has been solved.


Change HEAD to original after execution instead of staying on INPUT_BASEREF

Our team performs lint checks following this action and summarizes the findings in comments on GitHub. Currently, the branch remains on INPUT_BASEREF after execution, which is an implicit behavior.
For better clarity and workflow consistency, we propose reverting back to the original HEAD once the action completes. This change ensures subsequent tasks run on the appropriate context of the original commit.

Merged in https://github.com/usefulness/dependency-tree-diff-action/pull/111, and included in https://github.com/usefulness/dependency-tree-diff-action/releases/tag/v2.0.0.
Thank you!


Fix WrapperWidgetUI anchorOrigin error

@builtbyedgar please add an entry to the CHANGELOG.md and go ahead!


Parsing error

Describe the bug
If I try to solve the counters problem with lpg I get an INTERNAL_ERROR in the PlanGenerationResult.
The problem seems to be in the lpg parser. In particular when the UP problem is dumped in PDDL this goal is generated: (<= (+ 1 (value c0)) (value c1)) and the order of the sum operators causes the bug.
To Reproduce
from unified_planning.shortcuts import *
from unified_planning.io import PDDLReader

reader = PDDLReader()
problem = reader.parse_problem("counters/domain.pddl", "counters/problem.pddl")

with OneshotPlanner(name="lpg") as planner:
    print(planner.supports(problem.kind))
    p = planner.solve(problem)
    print(p)

Here the files: counters.zip

@IvanSerina @stoppini

To clarify: if I manually change the order in this way (<= (+ (value c0) 1) (value c1)), a solution is generated.

Hi @alvalentini, today we deploy new version of up-lpg. Can u try now?


Analyse and implement Dense representation for PFADD

Benchmark testing for current Sparse representation as part of PFADD.
Analyse feasibility of switch between Sparse and Dense representations based on benchmark testing.
Implementation to switch to Dense representation for HLL once a threshold is reached i.e #define HLL_SPARSE_VAL_MAX_VALUE 32 for Redis we can evaluate based on benchmark numbers when to promote.
Reference from Redis code here

I have no clue so might require a bit of to-fro in terms of questions - but I'd love to take this up!

Assigned, @chettriyuvraj thanks for picking this up, please let me know if you've any queries around this.

Sorry for no updates on this one - was down with H1N1 the past week. Will pick up and put out an update @lucifercr07 .

Hello @chettriyuvraj,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hi @arpitbbhayani!
Today was the first day I actively picked up the issue. I'll be posting an update daily from now on.
Status
I mentioned that I had no clue about what HyperLogLog was and my first step today was to pick up the paper.

Went over the paper
The idea of cardinality estimation structures was new to me but seemed very intuitive.
The proofs/math zoomed over my head.
After getting the overview wanted some more concreteness to my understanding - quickly ran over this video, this article.
The top level comment in Redis's implementation for understanding sparse and dense representations

I'll hopefully have a bit more concrete updates + queries to ask tomorrow.
Apologies about the unreasonable delays and for slowing things down on this issue - I know how important keeping the momentum in this project is. Please bear with me - I'll get this over the line!

Hey @lucifercr07!
A little unsure if my understanding is correct here
My understanding
In Redis source, this seems to be handling the promotion from sparse to dense representations.
Promotion occurs in 2 cases:
Case 1. Using #define HLL_SPARSE_VAL_MAX_VALUE 32, where the value exceeds that which can be represented by a sparse register.
Case 2. A configurable threshold of bytes i.e. server.hll_sparse_max_bytes. If the storage consumed by sparse representation exceeds this - promotion occurs.
Queries

Promotion in case 1  -> shouldn't this case already be handled by the library we are using? I had a peek (just a glimpse) on the library's source and it is promoting sparse to dense inside its Insert(..) function, need to take a closer look

So the main objective of the issue is to determine the threshold for case 2?

Analyse feasibility of switch between Sparse and Dense representations based on benchmark testing - can you elaborate on how benchmarking will help us decide this?

Hello @chettriyuvraj,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hello @chettriyuvraj,
There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.
We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.
Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.
Thanks again.

Hi @arpitbbhayani  - have unassigned myself from this issue. Free to assign it to someone else.

Hi @arpitbbhayani / @JyotinderSingh,
Can you assign this to me?

Hi @arpitbbhayani / @JyotinderSingh,
Can you assign this to me?

Assigned

I made some progress by working on top of suggestions by @evoxtorm and I am working on understanding it and implementing the Dense algorithm.

Hi @arpitbbhayani,
The benchmarks present a significant jump in the time taken per op, if the number of items in the list is greater than 1000.


Add getPlaceInfo()

This method adds support for getting information about a specific place.
I primarily am using this for getting the place ID from the universe ID.
Not certain about the codebase so correct me on any mistakes or missing information. 😀

I haven't got the option to pull this up to date. Could you please do that, then happy to merge.

Out of date again, my bad. Please pull up to date (or grant maintainers the ability to edit the fork)


Added seed data file and importer

The data file does not have all the fields that are in units table.  And some units were missing the DC, so I just put in -1.  I didn't seed all the tables, but thought this is a good place to commit and PR, otherwise this branch may sit locally for awhile.

In regards to my comment here, I did a brief look around and it looks for our specific library selection (SQLModel + FastAPI), there aren't really pre-built options out there. For the library SQLModel is built on top of, SQLAlchemy, there aren't really any maintained options.
I think I'd be ok with a utility seed script if the json being loaded was a bit more mapped to the tables, but I also understand what you have here took time and effort. If I were to consume json, I'd probably do so using a format similar to this:
[
    {
        "model": "Unit",
        "values": [
            {
                "id": 1,
                "name": "Scourge",
                ...
            }
        ]
    }
]

I can easily transform to something like the above when I get back to coding though using jq to automate the task, so I'm happy to merge what you have instead for now, assuming you address my comments about some of what you submitted already being available, remove the globals, etc.

In regards to my comment here, I did a brief look around and it looks for our specific library selection (SQLModel + FastAPI), there aren't really pre-built options out there. For the library SQLModel is built on top of, SQLAlchemy, there aren't really any maintained options.
I think I'd be ok with a utility seed script if the json being loaded was a bit more mapped to the tables, but I also understand what you have here took time and effort. If I were to consume json, I'd probably do so using a format similar to this:
[
    {
        "model": "Unit",
        "values": [
            {
                "id": 1,
                "name": "Scourge",
                ...
            }
        ]
    }
]

I can easily transform to something like the above when I get back to coding though using jq to automate the task, so I'm happy to merge what you have instead for now, assuming you address my comments about some of what you submitted already being available, remove the globals, etc.

Actually, this file was given to me.  I believe it is from BattleScribe.   I did find the XML file I was looking for, but it was woefully out of date with the releases.  I did spend a fair amount of time getting rid of the trailing commas.  As for the other file comments, I was doing this after the kids went to bed.  It now dawns on me I could do a search and replace and match the data file fields to the db fields, plus spell out the factions.  As for the missing fields in the data file I was envisaging someone who wanted to contribute, but wasn't a coder who could fill in missing fields and also make corrections.  I won't get to it tonight.  I've been up since 2:30 wrangling why special needs kids and then trying to be productive at work, which surprisingly I was.  I'll fix the file and make the other changes sometime this week and then ping you for another review.


Update README.md Badges

Update the README.md badges style and add icons where able. Creates a more modern look.

Hi @eforce-tech Can you please sign CLA. Thank you!


General Usage Question #2

Following on
https://github.com/garyd203/xraysink/issues/22
I noticed the use of AsyncContext for FastApi, is this using the xraysink or aws sdk? Is it needed?
I've attempted an implementation with either and have found that my async request handlers are unable to retrieve the context. This leads to AttributeErrors or just general errors where the segment cannot be found

Hi @SLinAppliedBiomath , sorry it sometimes takes a few days before I can respond. The custom AsyncContext in xraysink is intended to address an instrumentation bug with running tasks (that is, a standard Python asyncio task or future) - it won't do anything for your request handlers. So you shouldn't need it if you are only instrumenting a FastAPI service.

PS: I notice you closed this ticket - have you solved your problem?

Hi Gary! Thanks for the help. I was able to resolve my problem but still have some question.
When testing for FastAPI without using the AsyncContext did you notice rapid firing request would start/end segments from other requests?

Hi, that does sound a lot like the problem I encountered.
In my case I was using a plugin (tartiflette) that often creates an asyncio task for making downstream requests. I hadn't seen that happen in vanilla FastAPI implementation though - I thought each request was handled inline, but perhaps I am wrong.
It is true that the AsyncContext that comes with aws_xray_sdk will be broken if you use asyncio tasks, in the way that you describe (FYI, it incorrectly shares the "current segment" stack amongst all asyncio tasks started from a common entry point, and then unwinds that stack in an arbitrarily wrong order as each segment/HTTP request finishes).
Anyway, you are welcome to use xraysink's AsyncContext all the time. The only reason I don't recommend that in general is because i thought it wasn't necessary and I was trying to take a light touch, but I might update the doco based on what you are saying.
thanks,
gary

That's very interesting, I'm running FastAPI through uvicorn (rather new to either technology, but that sounds pretty vanilla).
I found that I couldn't resolve the "race-condition" issue unless I was using AsynContext, which presented another issue. When configuring xray_recorder, AsyncContext was initialized with an event_loop that was later replaced by uvicorn with uvloop, which made it impossible to find any segments.

Hmm, I tend to use gunicorn + uvicorn + fastapi, but with the builtin Python asyncio loop, rather than uvloop. Hence I don't have much experience with other loops - although I have certainly lost plenty of hair due to a process ending up with multiple loops!
I think if you don't provide any context to xray_recorder.configure then it uses a default non-async context, which may explain why initially you had the race condition bug, but the uvloop replacement didn't cause errors.
There's an option to pass the loop in to AsyncContext as a constructor argument. What happens if you wait until uvicorn has set up it's uvloop, and then do xray_recorder.configure passing in uvicorn's uvloop as the loop parameter when you create AsyncContext? (NB: Avoid calling xray_recorder.configure twice in your process setup, that seems to cause other issues because configure isn't as idempotent as it seems to be)

That's what I ended up doing (which is why i closed the issue). Now i'm more curious how you were able to avoid the issue in general with vanilla fastapi

Yeah, I'm not sure why I don't have the problem with the event loop being replaced. My best guess is that this might be because you are using uvloop instead of the builtin asyncio loop, and aws_xray_sdk goes looking for the default builtin loop if you don't supply one explicitly.
Anyway, glad that you have your setup working now. Good luck with it!


refactor: unset firestore setting timestampsInSnapshots

Starting in version 5.8.0, firestore's timestampsInSnapshots is set to true by default, so we no longer need to set it manually in our code.

@rosariopfernandes good catch! You really are everywhere haha.


Sites search API in multi-geo tenant & missing results should be explained

Issue:
In a multi-geo tenant, doc does not explain how to call graph.
Correct request is :
/sites/tenantgeolocated.sharepoint.com/sites?search=blabla
search does not return all results, especially teams sites : doc should details search algorithm & limited results.
Article:
https://docs.microsoft.com/fr-fr/graph/api/site-search

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


Configuration's includes property is ignored

Make sure these boxes are checked before submitting your issue - thank you!
(If your issue is neither a both bug nor a request, please write in a free style)

[ ] https://esdoc.org/manual/usage/feature.html
[x] https://esdoc.org/manual/configuration/config.html
[ ] https://esdoc.org/manual/usage/tags.html
[ ] https://esdoc.org/manual/advanced/api.html
[ ] https://esdoc.org/manual/faq/faq.html

Short summary of your issue
includes property of the configuration file doesn't work. It looks like Esdoc just ignores this property (however excludes works normally). I have tried different combinations of configuration:
{
  "source": "./src",
  "destination": "./docs",
  "includes": ["\\.\\/src\\/WebChannelFacade\\.ts$"],
  "excludes": [".*\\.js$"],
...

and
{
  "source": "./src",
  "destination": "./docs",
  "includes": ["\\.\\/src\\/WebChannelFacade\\.ts$"],
...

and
{
  "source": "./src",
  "destination": "./docs",
  "includes": ["WebChannelFacade\\.ts"],
...

Input data for reproducing
Configuration
{
  "source": "./src",
  "destination": "./docs",
  "includes": [".*WebChannelFacade\\.ts$"],
  "excludes": [".*\\.js$"],
  "plugins": [
    {"name": "esdoc-typescript-plugin", "option": {"enable": true}},
    {
      "name": "esdoc-standard-plugin",
      "option": {
        "lint": {"enable": true},
        "coverage": {"enable": true},
        "accessor": {"access": ["public", "protected", "private"], "autoPrivate": true},
        "undocumentIdentifier": {"enable": true},
        "unexportedIdentifier": {"enable": false},
        "typeInference": {"enable": true},
        "brand": {
          "title": "My lib",
          "description": "Description here",
          "repository": "https://github.com/coast-team/netflux"
        },
        "manual": {
          "index": "./README.md",
          "globalIndex": true,
          "asset": "./manual/asset",
          "files": [
            "./manual/overview.md",
            "./manual/configuration.md",
            "./manual/installation.md",
            "./manual/examples/3peers.md"
          ]
        }
      }
    }
  ]
}

Source files structure
src/

WebChannelFacade.ts
Other TypeScript and JavaScript files, folders

Your environment

OS type and version: Ubuntu Gnome 17.04
Node.js version: v8.4.0
ESDoc version: v1.0.2

I've just tested without typescript plugin and it works, so the problem might in typescript plugin.