rustfmt --check: handle writing to a broken pipe gracefully

this addresses a panic when rustfmt --check makes a write() call that fails. There have been a few issues that already discussed this:
https://github.com/rust-lang/rustfmt/issues/5114
https://github.com/rust-lang/rustfmt/issues/2926
On one of the issues it was noted that it would be difficult to hit this outside of contrived situations like piping to "false", but I think it really is pretty easy to hit -- I got this panic by accidentally making a typo in "less", and piping to "les":
rustfmt --check prog.rs | les

With this patch I opted to leave the panic behavior in place for any write errors other than EPIPE, so that the tool's behavior is unchanged except in this specific situation. However, it could be preferable to take the opportunity to remove the panics entirely and handle all write errors gracefully. I can update the patch to not panic at all on write errors, if others agree.

Probably better not to panic!. Also, I think the tests are failing because you need to run rustfmt on itself 😅. The self_test makes sure that rustfmt is formatted properly.


fix(kernel): indices and filters

@quesebifurcan Any hint on why test_entity_filter__by_project is failing? :pray:

@obdulia-losantos could it be that you're running into a pagination issue? That is, the entities are correctly filtered but only the first 30 (?) are returned in the response. The filter logic itself looks ok to me.

:woman_facepalming:


Karma / Jasmin unit test problems

Hi Johnpapa,
first of all let me thank you for this amazing guide (I really love it)!! Apologize for my awful english..
I am learning how to write test for the first time and I have some problems to use karma / jasmine test in  a project of mine.
This is the controller
(function() {
  'use strict';

  angular
    .module('name-module')
    .controller('NameCtrl', NameCtrl);

  function NameCtrl(){

    var vm = this;

    vm.country = null;

 }
})();

and this is the spec file
describe('NameCtrl functionality', function() {

  beforeEach(module('name-module'));

  var $controller;

  beforeEach(inject(function(_$controller_){
    $controller = _$controller_;
  }));

  describe('Test controller', function() {
    it('Verify if country is null', function() {

      var $scope = {};
      var vm = $controller('NameCtrl', { $scope: $scope });

      expect(vm.country).toBe(null);

    });
  });

});

The console log return me this:

TypeError: undefined is not a constructor (evaluating '$controller('NameCtrl', { $scope: $scope })')

What's wrong? (sorry for this issue, maybe is a silly request but I don't understand how to test with this styleguide)

You have to create the controller inside the beforeEach statement.

@bampakoa done, but still doesn't work
describe('vm.country', function() {
    var scope, vm;

    beforeEach(function() {
      scope = {};
      vm = $controller('NameCtrl', { $scope: scope });
    });

    it('verify if country is null', function() {
      expect(vm.country).toBe(null);
    });

  });

In case you need to inject scope into your controller, you must create one from the rootScope:
beforeEach(inject(function (_$rootScope_) {
       scope = _$rootScope_.$new();
        vm = $controller('NameCtrl', { $scope: scope });
      }));

@bampakoa at the moment, the only thing i want, is to test a controller and verify if the vm.country is null (then I'll implement more tests)

The error that you get indicates a problem with the controller definition. Could you post your controller?

Could you test without injecting the controller?

@bampakoa how?

 vm = $controller('NameCtrl');

@bampakoa now I have this spec file:
describe('CONTROLLER: NameCtrl', function() {

  beforeEach(module('module-name'));

  var $controller;

  beforeEach(inject(function(_$controller_){
    $controller = _$controller_;
  }));

  describe('Test controller', function() {
    it('Verify if country is null', function() {

      var vm = $controller('NameCtrl');

      expect(vm.country).toBe(null);

    });
  });

});

and this is the response:
TypeError: undefined is not a constructor

I tested your code as is and I get no error. What version of Jasmine/Karma/Angular do you use?

this is my package.json:
{
  "name": "my-grunt-angular-boilerplate",
  "version": "0.1.0",
  "description": "Custom grunt and angular.js boilerplate (to start projects)",
  "repository": {
    "type": "git",
    "url"<EMAIL_ADDRESS>  },
  "scripts": {
    "start": "node bin/www 9003",
    "dev": "node bin/www 9001 /../app/",
    "test": "node_modules/karma/bin/karma start"
  },
  "keywords": [
    "grunt",
    "angular",
    "custom",
    "boilerplate",
    "project"
  ],
  "author": "Maurizio Battaghini",
  "license": "ISC",
  "homepage": "https://bitbucket.org/ibbatta/grunt-custom#readme",
  "devDependencies": {
    "angular-mocks": "^1.5.0",
    "autoprefixer": "^6.3.1",
    "grunt": "^0.4.5",
    "grunt-bower-concat": "^0.6.0",
    "grunt-bower-requirejs": "^2.0.0",
    "grunt-bower-task": "^0.4.0",
    "grunt-cli": "^0.1.13",
    "grunt-contrib-clean": "^0.7.0",
    "grunt-contrib-compress": "^0.14.0",
    "grunt-contrib-concat": "^0.5.1",
    "grunt-contrib-copy": "^0.8.2",
    "grunt-contrib-cssmin": "^0.14.0",
    "grunt-contrib-htmlmin": "^0.6.0",
    "grunt-contrib-jshint": "^0.12.0",
    "grunt-contrib-uglify": "^0.11.0",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-express": "^1.4.1",
    "grunt-injector": "^0.6.1",
    "grunt-parallel": "^0.4.1",
    "grunt-postcss": "^0.7.1",
    "grunt-sass": "^1.1.0",
    "grunt-usemin": "^3.1.1",
    "grunt-wiredep": "^2.0.0",
    "jasmine-core": "^2.4.1",
    "jshint-stylish": "^2.1.0",
    "karma": "^0.13.21",
    "karma-chrome-launcher": "^0.2.2",
    "karma-coverage": "^0.5.3",
    "karma-firefox-launcher": "^0.1.7",
    "karma-ie-launcher": "^0.2.0",
    "karma-jasmine": "^0.3.7",
    "karma-ng-html2js-preprocessor": "^0.2.1",
    "karma-opera-launcher": "^0.3.0",
    "karma-phantomjs-launcher": "^1.0.0",
    "karma-safari-launcher": "^0.1.1",
    "load-grunt-tasks": "^3.4.0",
    "lodash": "^4.2.0",
    "phantomjs-prebuilt": "^2.1.4"
  },
  "dependencies": {
    "angular": "^1.5.0",
    "express": "^4.13.4",
    "request": "^2.69.0"
  }
}

maybe should be a karma.conf.js problem? or may the spec file have to be in the same root as controller? Should be a ui.route problems? controller alias? I really don't know how to resolve!

Please make sure that you load angular.js in the karma.conf file.

is this?

// list of files / patterns to load in the browser
    files: [
      'node_modules/angular/angular.js',
      'node_modules/angular-mocks/angular-mocks.js',
      'app/**/*.js',
      'test/**/*.spec.js'
    ],

In my case I also have:
'app/app.js',
'app/**/*.module.js',
'app/**/*.js',

where app.js is the main application file which contains module dependencies and module.js is the place that I define each module, if that helps you.

I have this structure:
/
— karma.conf.js
— package.json
— bower.json

— app/
—— index.js (_main app file_)
——— templates/
———— controller.js (_the controller i've pasted before_)

— test/
—— folder/
——— file.spec.js (_the spec file i've pasted before_)

with app/**/*.js i supposed to include all .js files, am I wrong?

Try to add index.js file before all the others such as :
'app/index.js',
'app/**/*.js'

in order to avoid initialization problems. Also I cannot find your module initialization. Something like:
(function () {
    'use strict';

    angular.module('module-name', []);
})();

Done.
Still show error
:(

Could you make a plunker with the source code of the index.js, controller.js and file.spec.js?

@bampakoa https://plnkr.co/edit/sp15GNR3EIk3NLAv4pVT

You also need to add ui-router, ui-bootstrap and toaster in the karma configuration file.

@bampakoa !? Why? If I import module without them the test dosn't work? Are necessaries? They are bower dependencies

They are needed because they are dependencies of module-name as stated in index.js:
angular
    .module('module-name', [
        'ui.router',
        'ui.bootstrap',
        'toaster'
    ])

There is a fast way to import all modules in karma configuration file without write one by one?

You actually need to import **only **3rd party (bower) modules one by one, not all your application modules that you have created. Nevertheless, I am not aware of such a way.

@bampakoa done with 'app/vendors/**/*.min.js'
Still return error :(

TypeError: undefined is not an object (evaluating 'vm.country')

I tried your code by importing them one by one and it worked.I have run out of ideas here. You could ask to SO or you could make a repository in GitHub so that I can download the sample and give you a hand.

@bampakoa ok man last try. Can you give me a hand to this repo?
https://github.com/ibbatta/angular-bootstrap-grunt-boilerplate
Actually I'm trying to create test for controllers (want to be a contributor? Sounds like a proposal ahahah)

@bampakoa OH SHIT MAN IT WORKS!! (i had to import bower modules manually and not with 'app/vendors/**/*.min.js'
Thanks a lot!!!!!!! <3
(anyway, if you want help me build test for my repo, you are welcome)

Glad that you find the problem. :) I would be happy to contribute to your repo.

thanx alot @bampakoa , I have this problem too, and your comment solved it ;)

@bampakoa thanks a lot. You saved my day

@bampakoa über alles <3

@bampakoa thanks alot, after 5 hours of searching around the web, this was the final solution :)!

@MoschersMarco Glad I helped!

@bampakoa Thank you so much, was struggling with these problems for 3 days, and since there too many file on the project couldn't find it properly.
Keep up the good work.

@bampakoa Thank you so much！

@bampakoa Thanks man! this needs to be documented somewhere!

@kanish671 Thanks for the suggestion! Here it is https://medium.com/@abampakos/how-to-tackle-problems-during-unit-testing-with-jasmine-and-karma-7ef19111793b

I am using this code
'use strict';
describe('app', function() {
beforeEach(angular.mock.module('app'));

var $filter;

angular.mock.inject(function(_$filter_) {
	$filter = _$filter_;
});

it('should convert hours to minute', function($filter) {
  var hours = $filter('hoursToMinutes')(1);
  expect(hours).toBe(60);
});

});
but it showing me error
TypeError: null is not a constructor (evaluating '$filter('hoursToMinutes')(1)') in unit/AngularUnitTestSpec.js (line 37)
unit/AngularUnitTestSpec.js:37:44
loaded@http://localhost:9876/context.js:162:17
Can anyone help me on this?

This is my karma.conf.js
// Karma configuration
// Generated on Wed Jul 05 2017 23:14:03 GMT+0530 (India Standard Time)
module.exports = function(config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',

// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine'],

// list of files / patterns to load in the browser
files: [
  '../../../bower_components/angular/angular.js',
  '../../../bower_components/angular-animate/angular-animate.js',
  '../../../bower_components/angular-mocks/angular-mocks.js',
  '../../../bower_components/angular-sanitize/angular-sanitize.js',
  '../../../bower_components/angular-bootstrap/ui-bootstrap.js',
  '../../../bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
  '../../../bower_components/angular-cookies/angular-cookies.js',
  '../../../bower_components/angular-validation-match/src/angular-validation-match.js',
  '../../../bower_components/ng-sortable/dist/ng-sortable.js',
  '../app.js',
  '../filters.js',
  'unit/*.js'
],

// list of files to exclude
exclude: [
],

// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
},

// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],

// web server port
port: 9876,

// enable / disable colors in the output (reporters and logs)
colors: true,

// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,

// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,

// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['PhantomJS'],
//browsers: ['Chrome'],

// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false,

// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity

})
}

This is my package.json
{
"name": "CMDBEditor",
"version": "2.4.25",
"description": "CMDB Editor",
"main": "server.js",
"author": "Varun Sondhi",
"license": "UNLICENSED",
"private": true,
"dependencies": {
"angular-schema-form-dynamic-select": "^0.13.1",
"body-parser": "^1.4.3",
"express": "^4.13.4",
"express-http-proxy": "^0.7.1",
"forever-monitor": "^1.7.0",
"http-proxy": "^1.16.2",
"method-override": "^2.1.3",
"mongoose": "^4.4.12",
"morgan": "^1.1.1",
"multer": "1.1.0"
},
"devDependencies": {
"gulp": "^3.9.1",
"gulp-bump": "^2.7.0",
"gulp-clean": "^0.3.2",
"gulp-clean-css": "^3.3.1",
"gulp-concat": "^2.6.1",
"gulp-gzip": "^1.4.0",
"gulp-htmlmin": "^3.0.0",
"gulp-minify": "^1.0.0",
"gulp-minify-css": "^1.2.4",
"gulp-order": "^1.1.1",
"gulp-rename": "^1.2.2",
"gulp-sequence": "^0.4.6",
"gulp-tar": "^1.9.0",
"gulp-uglify": "^2.1.2",
"jasmine": "^2.6.0",
"karma": "^1.7.0",
"karma-chrome-launcher": "^2.2.0",
"karma-jasmine": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.4"
},
"engines": {
"node": "4.4.3",
"npm": "2.15.1"
}
}

Please help me i m struggling on this issue last 2months but not able to rectify it.

@sanchitacool The best place to ask for these type of problems is on StackOverflow. By the way, you don't need $filter in the it statement.

I tried in stackflow but not getting any answer, anyways filter is required because in filter.js
app.filter('hoursToMinutes', function() {
return function(hours) {
return hours * 60;
};
});
how it take filter name?

@sanchitacool check this plnkr that I have set up for you. If you still have problems you can contact me via email.

Wrong Code

Hello  @ all,
i have also this problem in angular 5: this is my service i will test:
`import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';
import * as _ from 'lodash';
import DarkSkyApi from 'dark-sky-api';
import {DarkSkyApiModel} from '../typing/wetterTypings';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import IDarkSkyApi = DarkSkyApiModel.Api.IDarkSkyApi;
import IDarkSkyForecastData = DarkSkyApiModel.Forecast.IDarkSkyForecastData;
import IDarkSkyCurrentData = DarkSkyApiModel.Current.IDarkSkyCurrentData;
@Injectable()
export class WetterService {
private skyApi: IDarkSkyApi;
/***

Konstruktor
*/
constructor(private http: HttpClient) {
this.skyApi = this.InitDarkSky();
}`

and this is my testfile:
`import { TestBed, inject } from '@angular/core/testing';
import { WetterService } from './wetter.service';
import {HttpClientModule} from '@angular/common/http';
import DarkSkyApi from 'dark-sky-api';
describe('WetterService', () => {
let darkSkyApi: DarkSkyApi;
beforeEach(() => {
darkSkyApi = new DarkSkyApi();
TestBed.configureTestingModule({
providers: [WetterService],
imports: [HttpClientModule]
});
});
it('should be created', inject([WetterService], (service: WetterService) => {
expect(service).toBeTruthy();
}));
});`
i become this error:
TypeError: dark_sky_api_1.default is not a constructor in

@kaemmi84 This repository refers to AngularJS. It would be a good fit also to post your question on SO.

hi i am new to angularjs unit testing using karma-jasmine with gulp,but now i got error while running gulp  mytest

Chrome 63.0.3239 (Windows 10.0.0) Controllers My signUp-controller Should check the sssignUpController Controller to be defined FAILED
Error: [$injector:modulerr] http://errors.angularjs.org/1.4.8/$injector/modulerr?p0=nextStep&p1=Error%3A [%24injector%3Amodulerr] http%3A%2F%2Ferrors.angularjs.org%2F1.4.8%2F%24injector%2Fmodulerr%3Fp0%3Doc.lazyLoad%26p1%3DNo%2520module%2520found%2520during%2520bootstrap%252C%2520unable%2520to%2520init%2520ocLazyLoad
    at http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A19%3A20
    at http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A947%3A156
    at n (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A35%3A62)
    at g (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A931%3A13)
    at http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A945%3A57
    at n (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A35%3A62)
    at g (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A931%3A13)
    at Object.eb [as injector] (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular.min.js%3F630b8406b32181cef7898426f936bdbafbaecf2e%3A1024%3A11)
    at UserContext.WorkFn (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Flib%2Fangular%2Fangular-mocks.js%3F0f959298566fbf2fae9f6691090bc0ac50bc5c68%3A3122%3A52)
    at attempt (http%3A%2F%2Flocalhost%3A9876%2Fbase%2Fnode_modules%2Fjasmine-core%2Flib%2Fjasmine-core%2Fjasmine.js%3Fda85e4cfeaac0a6a0d0a4bb0d402ae04860be411%3A4440%3A46)
at lib/angular/angular.min.js:19:20
at lib/angular/angular.min.js:947:156
at n (lib/angular/angular.min.js:35:62)
at g (lib/angular/angular.min.js:931:13)
at Object.eb [as injector] (lib/angular/angular.min.js:1024:11)
at UserContext.WorkFn (lib/angular/angular-mocks.js:3122:52)
Chrome 63.0.3239 (Windows 10.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.026 secs / 0 secs)

can please anyone to help me?

@muniyappankalinathan It seems that nextStep module is not loaded in your karma test runner

@muniyappankalinathan a module (probably nextStep) failed to load/be injected correctly? Could you provide the relevant spec file?

How

@bampakoa OH SHIT MAN IT WORKS!! (i had to import bower modules manually and not with 'app/vendors/**/*.min.js'
Thanks a lot!!!!!!! <3
(anyway, if you want help me build test for my repo, you are welcome)

How to import the bower modules manually?

I am also facing similar issue TypeError: undefined is not a constructor (evaluating '$repoTraderController('PrimebrokerController')')?
I tried to import it manually like this
import {beforeEach, describe} from "selenium-webdriver/testing";
import * as $injector from "../../../bower_components/moment/src/lib/duration/get";
import inject from "../../../node_modules_new/acorn-dynamic-import/src/inject";
then i got this error .. SyntaxError: Use of reserved word 'import'.
Please help

@aaishna See this comment. It should be the same as node_modules


Doesn't Support Top-Level Satements (.NET 6)

I prefer to use .NET 6 when coding in C# so that I don't have to declare using System; or the main method, but I get an error whenever I don't.

I can verify a .NET 6 project does not work either. So, the problem might be lack of net6.0 support in general.

On further inspection, net6 supports works when you only have the .NET SDK installed on your machine. If you install both Framework, and .NET Core on Windows then only Framework seems to work with Omnisharp. My guess is this more of a msbuild limitation than Omnisharp.

Should be fixed by PR https://github.com/sublimelsp/LSP-OmniSharp/pull/40, which makes transition to latest .NET 6+ based OmniSharp binaries. They are required to deal with latest .NET projects.


Update log-points.adoc

This is a misleading comment. The View to logs link can only be shown in the case this is an api with a proxy. Refer to slack discussion,
https://mulesoft.slack.com/archives/GAJ03HPQQ/p1562006351108200
It is better not to show this description

Fixed this issue in App Log Points feature doc.


Update index.md - Added specific configuration example for Svelte/Kit

Added specific configuration example for Svelte/Kit
I am not sure exactly what to include, since I tested only for sveltekit with adapter-node specifically.
I couldn't build successfully until I moved oslo from devDependencies to dependencies. I tried with optimizeDeps: { exclude: ["oslo"] } before, but it did not solve my issue. The vite build process could succeed, but then the @sveltejs/adapter-node step would fail.
Here's the stack in case someone have the same problem :
> Using @sveltejs/adapter-node
error during build:
RollupError: Unexpected character '\u{7f}'
    at error (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/parseAst.js:337:30)
    at parseError (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/parseAst.js:972:9)
    at convertNode (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/parseAst.js:2061:12)
    at convertProgram (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/parseAst.js:965:12)
    at parseAstAsync (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/parseAst.js:2112:12)
    at async Module.tryParseAsync (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/node-entry.js:13571:20)
    at async Module.setSource (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/node-entry.js:13152:35)
    at async ModuleLoader.addModuleSource (file:///home/$USER/sveltekit-demo/node_modules/.pnpm/rollup@4.10.0/node_modules/rollup/dist/es/shared/node-entry.js:17847:13)
 ELIFECYCLE  Command failed with exit code 1.

I'm curious why you installed it as a dev dependency?

as per:
https://kit.svelte.dev/docs/adapter-node#deploying

Development dependencies will be bundled into your app using Rollup. To control whether a given package is bundled or externalised, place it in devDependencies or dependencies respectively in your package.json.

I'm curious why you installed it as a dev dependency?

Since SvelteKit bundle the app, most dependencies are in fact devDependencies.
The prod app can be executed by copying the build directory only without npm install if there are no actual runtime specific or impossible to bundle dependencies (as oslo seems to be). (I also have dotenv for my loader script and one other I can't remember, but all the other deps are devDependencies.)
In my case I only run npm install --prod so it is much faster and lighter like this.
I tought this was the way for SvelteKit lol am I doin this wrong?

Ah, makes sense TIL. I think we can remove the optimizeDeps from the docs then

I'll review the PR with relevant infos!

Updated both sections. Let me know what you think of it!
Also thanks @ollema for the documentation link. :smiley:

Thanks!

My pleasure! Thanks for the update to v3! The migration went smooth (except when I tried to build lol!) :smile:


Request a license?

I am also working in this space - see tm_parser on pypi, scoutbook_parser on pypi, and django-troop on gitlab.
Could you put a license for your code so I can figure out how we can work together?
Yours
Michael Perkins

Thanks for sharing! I took a look at your projects and they look very similar.
I just updated the README and added a LICENSE. We can discuss future plans for sure.
Sorry for the late reply.


Typo in LUI U-immediate

I think there is a typo here:
https://github.com/riscv/riscv-isa-manual/blob/03ccc08a560f1a0e026eb306b2dbce4f133cc7fe/src/rv32.tex#L575-L578
Shouldn't this be
 LUI places the **20-bit** U-immediate value into
 the destination register {\em rd}, filling in the lowest 12
 bits with zeros.

as the U-immediate from the instruction word is only 20 bit wide (20-bit immediate + 12 LSB-aligned zeros = 32-bit)?

I guess it's a question of, What is the "immediate": is it a length-32 bitstring, whose lowest 12 bits are zeros, or is it just the leading 20 bits of that bitstring? From my (software) perspective, the immediate's value is the former, while its encoding is the latter. Since the spec uses the word "value", I accept it as written.

For what it's worth, here is how I reword this sentence in my head:

LUI places a 32-bit value in the destination register {\em rd}, taking the upper 20 bits from the U-immediate field and zeroing the lower 12 bits.

Sounds good!

To be clear, I am not proposing a change to the text, just suggesting its intended interpretation. The community strongly opposes churn in normative, ratified text in the base ISA, unless there is a clear defect. Since I see no reasonable alternative interpretations of this sentence, I don't see a strong argument that it is defective.

U immediates are explained explicitly in earlier section 2.3 on immediate encoding variants:
"Similarly, the only difference between the U and J formats is that the 20-bit immediate is shifted left by 12 bits to form U immediates and by 1 bit to form J immediates."
There is some redundancy in the LUI description, but I don't think there's actually any conflict in descriptions.

You have convinced me :wink:
Thanks for clearing!


Duration input with Cleave-zen

Hey!
I'm in a situation where users must be able to input a duration in the following format: HH'h'MM, (47h30).
With HH between 0 and 99 and MM between 0 and 59 (like real minutes would be).
Obviously, I can't use formatTime, I'd only be able to get 23h max.
Nor can I use formatGeneral with blocks: [2, 2], because users could input more than 59 minutes.
So I'm wondering if there's a way to do this?
Or if something could be implemented to make this possible?
Thank you!

This can be kind of supported with formatTime(value, { delimiters: ['h'], timePattern: ['x', 'm'], }) (and by ignorign the error)
I made a fork where this is explicitly supported with
formatTime(value, {
      delimiters: ['h'],
      timePattern: ['xx', 'm'], // number of x = number of digits
    })


Fixed link and other things

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Zaftula:x: mbernierYou have signed the CLA already but the status is still pending? Let us recheck it.


Multiple entities dont work

[ERROR] gamemodes/cityrp/entities/entities/moneyprinter_lg/init.lua:20: Tried to use a NULL physics object!

Wake - [C]:-1
unknown - gamemodes/cityrp/entities/entities/moneyprinter_lg/init.lua:20
3. Spawn - [C]:-1
4. onRun - gamemodes/cityrp/schema/sh_commands.lua:431
5. run - gamemodes/nutscript/gamemode/core/libs/sh_command.lua:159
6. parse - gamemodes/nutscript/gamemode/core/libs/sh_command.lua:204
7. unknown - gamemodes/nutscript/gamemode/core/libs/sh_command.lua:240
8. func - gamemodes/nutscript/gamemode/core/libs/thirdparty/sh_netstream2.lua:117
9. unknown - lua/includes/extensions/net.lua:32

The fod vender, microwaves and more dont work either.
we do have all content in the server so not 1000 percent sure whats causing it

Check your Contents Pack


Leadspace background image not rendering properly

Detailed description

Describe in detail the issue you're having.

Leadspace background image is not covering full width on big resolutions, like 2560 X 1440

Is this a feature request (new component, new icon), a bug, or a general
issue?

Bug

Is this issue related to a specific component?

Leadspace with images

What did you expect to happen? What happened instead? What would you like to
see changed?

Leadspace needs to cover full width.

What browser are you working in?

I have tested on Chrome 80, Firefox 74 and Safari 13

What version of the IBM.com Library are you using?

@carbon/ibmdotcom-react": "^1.6.0-alpha.3070",
@carbon/ibmdotcom-styles": "^1.6.0-alpha.3066",
@carbon/icons-react": "^10.9.1",
@carbon/pictograms-react": "^10.9.0",

Steps to reproduce the issue

Step one

Remove for bx--leadspace class:

max-width;
margin-right;
margin-left.

Step two

Add for bx--leadspace class:

background-size: cover;
background-position: center;
background-repeat: no-repeat.

Additional information

@diegomarcuz can you provide the image url you're using?

Sure, http://webdev01.webmaster.ibm.com/events/testing-images/2625-801-leadspace.jpg

Reach out to Diego to have him use Backgound cover for the image.  DDS dev should also investigate why we are not using the image component.  @annawen1 @andysherman2121


Patching generic methods causes issues when importing them.

SIDENOTE: Using Mono.Cecil <IP_ADDRESS> because MonoDevelop refuses to find anything more up-to-date (although I've installed the NuGet plugin).
T: FezEngine.Tools.ServiceHelper
M: Microsoft.Xna.Framework.Game FezEngine.Tools.ServiceHelper::get_Game()
M: System.Void FezEngine.Tools.ServiceHelper::set_Game(Microsoft.Xna.Framework.Game)
M: System.Void FezEngine.Tools.ServiceHelper::InjectServices(System.Object)
M: System.Void FezEngine.Tools.ServiceHelper::orig_InitializeServices()
orig_InitializeServices is an orig_ method; ignoring...
M: System.Void FezEngine.Tools.ServiceHelper::InitializeServices()
Patching InitializeServices ...
Checking for already existing methods...
Method existing; creating copy...
Added copy of original method to System.Void FezEngine.Tools.ServiceHelper::orig_InitializeServices()
Storing method to main module...
M: T FezEngine.Tools.ServiceHelper::orig_Get()
orig_Get is an orig_ method; ignoring...
M: T FezEngine.Tools.ServiceHelper::Get()
Patching Get ...
Checking for already existing methods...
Method existing; creating copy...
Added copy of original method to T FezEngine.Tools.ServiceHelper::orig_Get()

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
  at Mono.Cecil.ImportGenericContext.MethodParameter (System.String method, Int32 position) [0x00000] in <filename unknown>:0
  at Mono.Cecil.MetadataImporter.ImportTypeSpecification (Mono.Cecil.TypeReference type, ImportGenericContext context) [0x00000] in <filename unknown>:0
  at Mono.Cecil.MetadataImporter.ImportType (Mono.Cecil.TypeReference type, ImportGenericContext context) [0x00000] in <filename unknown>:0
  at Mono.Cecil.ModuleDefinition.Import (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.FindType (Mono.Cecil.TypeReference type, Boolean fallbackToImport) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.FindType (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.PatchMethod (Mono.Cecil.MethodDefinition method) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.PatchModule (Mono.Cecil.ModuleDefinition mod) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.Patch () [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at Mono.Cecil.ImportGenericContext.MethodParameter (System.String method, Int32 position) [0x00000] in <filename unknown>:0
  at Mono.Cecil.MetadataImporter.ImportTypeSpecification (Mono.Cecil.TypeReference type, ImportGenericContext context) [0x00000] in <filename unknown>:0
  at Mono.Cecil.MetadataImporter.ImportType (Mono.Cecil.TypeReference type, ImportGenericContext context) [0x00000] in <filename unknown>:0
  at Mono.Cecil.ModuleDefinition.Import (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.FindType (Mono.Cecil.TypeReference type, Boolean fallbackToImport) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.FindType (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.PatchMethod (Mono.Cecil.MethodDefinition method) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.PatchModule (Mono.Cecil.ModuleDefinition mod) [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.Patch () [0x00000] in <filename unknown>:0
  at MonoMod.MonoMod.Main (System.String[] args) [0x00000] in <filename unknown>:0

Update with the commit 227739217b, using the newest Mono.Cecil version from NuGet and some patches to nail down the issue:
Following code seems to cause a crash:
public static T orig_Get<T>() where T : class {
    return null;
}

public static T Get<T>() where T : class {
    return orig_Get<T>();
}
`

The call to the original method is causing the crash, although all signatures match the original method.

Due to a restructuring of MonoMod itself before pushing it to GitHub, the cloning process of the original method and the patching of the references are being done separately. Still, due to how late I realized that the orig_ methods may contain generic parameters, former code (cloning the orig_ method) may be at fault.

The CIL view of MonoDevelop shows following signatures in the patched assembly (weirdly MD is crashing when it shouldn't, but doesn't crash when it should...)
public static !!0 Get();
public static T orig_Get<T, T>() where T : class where T : class;

The original method loses its generic parameter, while the clone of the original method gains one.
Umm.. yeah.

Umm.. not yet, GitHub?

MonoMod output:
Calling method: T FezEngine.Tools.ServiceHelper::orig_Get<T>()
Element method: T FezEngine.Tools.ServiceHelper::orig_Get()
Found   method: T FezEngine.Tools.ServiceHelper::orig_Get()
Found   module: FezEngine.dll
Generic argument: T
IL_0001: call T FezEngine.Tools.ServiceHelper::orig_Get<T>()

Assembly monodis output:
IL_0001:  call !!0 class [FezEngine.Mod.mm]FezEngine.Tools.ServiceHelper::orig_Get<!!0> ()

The referenced method is in the wrong module, as if FindMethod didn't work.
The referenced generic argument has got an invalid name.


[doc] Fix missed escaping of '%' in verbatim.

Makes examples work for noobs like me ;)

Oops. Thanks!


Questions about the immutable data situation in Java

Hi konmik, I've been silently watching your libraries, and I'm a fan of your work! I have two questions concerning the immutable data situation in Java:
In the readme you say "...when we need to replace the root application variable we can reference parts of the previous root variable. What will be GC'ed is only the difference between two values which is not a problem..." Does this mean that AutoValue/AutoParcel automatically uses structural sharing when making copies?
Second question: when using AutoValue/AutoParcel, do you get fast (O(1)) structural (value-level) equality checks for free?
Thanks for taking the time to read this!

@frenchdonuts Hi, thanks :)
By default AutoValue/Parcel shares values when you transform a value into a builder, change some fields and build the value back. We also have https://github.com/gabrielittner/auto-value-with that can do this, but we can't use it right now because AutoValue 2.0 is not released yet (we can, but there still  some issues in it).
Considering the root variable. When building the next root variable, Phlux references the old root values, take a look here: https://github.com/konmik/Phlux/blob/master/phlux/src/main/java/phlux/Phlux.java#L96
https://github.com/konmik/Phlux/blob/master/phlux/src/main/java/phlux/Util.java#L15
it just creates a copy of the root HashMap with one field changed.
AutoValue/Parcel implements equals and hashCode, so when using in HashMap and the like, the search is optimized.

Thanks!


Refactor: Preview Table

This PR adds a performance-focused, zero dependency VirtualTable component with row and column virtualization. In this PR, it is used to replace all instances of PreviewTable across the application, but the component has been designed in such a way that it should also work as a replacement for DimensionTable and TDDTable in the future (with expected modifications). That said, reviews of this PR should consider it only as a replacement for PreviewTable. It features an improved handling of Tooltips, but one that is separate from the proposal for a global overhaul of that system.
You should see improvements in page load times, table render times, scroll performance, column resize frame rate, workspace responsiveness and heap snapshot size when viewing the table.

@djbarnwal Got the Firefox one. Column sizes are set variably, but I was applying too much buffer, so that's been addressed as well.


The TAP example is missing the async keyword.

The presence of that keyword is what makes the function asynchronous for TAP, not the return type.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 71e1e71b-7af7-9488-2cba-fdde9fb5d4be
Version Independent ID: 5a1c3614-34ce-2eb1-9cc3-066320cfed0a
Content: Asynchronous programming patterns
Content Source: docs/standard/asynchronous-programming-patterns/index.md
Product: dotnet-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@StingyJack
The article is correct. Any method that returns a Task (or other type that supports the pattern) can be awaited. In practice, most methods that return a Task-like type do have the async modifier, but it's not strictly necessary.
Closing as by-design.

@BillWagner  - from this page

The async and await keywords in C# and the Async and Await operators in Visual Basic add language support for TAP

If you dont have the language support for TAP, because you did not use async or await, I dont see how you can have an awaitable or valid example of TAP without the async keyword.
The point of issue for me is actually the conditions for naming the function with an "Async" suffix. Given the scenario of a non-async keyworded function that returns a Task, there is no need to name the function with an async suffix because the Task return types are handles to be completed later. If you have an async keyworded function, then adding the Async suffix makes sense because the return type in the method has different handling, and because the async keyword is not something that can be included in something like an interface definition.
This  is the advice that I've always seen on this topic and that contradicts this document.

Ah, I think I see the misinterpretation here. My advice is to always suffix methods that have a Task-like return type with "Async".
A non-exhaustive list, but methods returning any of these types for example would be suffixed with "Async":

Task
Task<T>
ValueTask
ValueTask<T>

And depending on the workload, there are other Task-like types to consider.

Let's start with this statement (emphasis mine):

If you have an async keyworded function, then adding the Async suffix makes sense because the return type in the method has different handling, and because the async keyword is not something that can be included in something like an interface definition.

Consider IAsyncEnumerator:
public interface IAsyncEnumerator<out T> : IAsyncDisposable
{
    T Current { get; }
    ValueTask<bool> MoveNextAsync();
    ValueTask  DisposeAsync();
}

Interfaces can and do contain methods that have the "Async" suffix.
To your point:

If you dont have the language support for TAP, because you did not use async or await, I dont see how you can have an awaitable or valid example of TAP without the async keyword.

This is true. But, the async and await keywords are for code that calls a method that returns a Task-like type. The sentence above the sample you want changed reads:  "The TAP counterpart of this method would expose the following single ReadAsync method."  That's true! And, it's why I've closed this. Any code that calls MyTask.ReadAsync can use the TAP, by adding the async modifier and await keywords in the body of that method.
I hope that helps.

Interfaces cant have the async keyword. The Async suffix in the interface definition tells the implementer that they should add the async keyword to the implementation.
async and await are for the function that can be awaited, not the caller.  The caller isnt required to use them and can either wait on the task or "sync" it with .GetAwaiter().GetRequest();

Interfaces cant have the async keyword. The Async suffix in the interface definition tells the implementer that they should add the async keyword to the implementation.
async and await are for the function that can be awaited, not the caller. The caller isnt required to use them and can either wait on the task or "sync" it with .GetAwaiter().GetRequest();

Consider this example:
public interface IAsyncDisposable
{
    ValueTask DisposeAsync();
}

An implementation may look like this:
public class Example : IAsyncDisposable
{
    readonly Utf7JsonWriter _writer = new();

    public ValueTask DisposeAsync() => _writer.DisposeAsync();
}

The implementation doesn't need to use the async keyword, it is not always necessary, in fact when it's a single Task-like operation it can be omitted. The "Async" suffix has always been used to specify that a method returns a Task-like type.

The point of this is that the async modifier isn't part of the method signature. It's a modifier used by the compiler to create an "async" function. See this example on sharplab.
The C# spec defines an awaitable expression as follows:

The task of an await expression is required to be awaitable. An expression t is awaitable if one of the following holds:

t is of compile time type dynamic
t has an accessible instance or extension method called GetAwaiter with no parameters and no type parameters, and a return type A for which all of the following hold:

A implements the interface System.Runtime.CompilerServices.INotifyCompletion (hereafter known as INotifyCompletion for brevity)
A has an accessible, readable instance property IsCompleted of type bool
A has an accessible instance method GetResult with no parameters and no type parameters.

Nowhere does the preceding mention the async modifier.

The task of an await expression

An await expression requires the async keyword. It's a compiler error to do so without (and only a warning if using async without await).

It is perfectly valid for the TAP example to be implemented in this way:
public Task<int> ReadAsync(byte[] buffer, int offset, int count)
{
    return _reader.ReadAsync(buffer, offset, count);
}

or:
public Task<int> ReadAsync(byte[] buffer, int offset, int count) =>
     _reader.ReadAsync(buffer, offset, count);

The Task<int> represents the async operation. It is awaitable, but it is also valid to use the async and await keywords.
public async Task<int> ReadAsync(byte[] buffer, int offset, int count)
{
    var read = await  _reader.ReadAsync(buffer, offset, count);
   return read;
}

If you omit the keywords however, you actually save a bit of negligible micro-optimizations as some of the compiler async state machine bits are omitted as well...


Add image for Carthage FLEX exclusion setup

Hi!
As suggested in pull request #159 comments, I added an example image to the Carthage setup instructions. I directly added the image in a REAMDE-images directory within the repository, instead of linking the image attached to my original PR.
Best regards.

👍  thanks!


[#269] Add reopen method on GHMilestone

Fixes #269.

I'm not sure about the method name. Open might suggest create a new milestone (like in "open a new issue"). On the other hand reopen is less consistent.


Set the latest FVGQ posterior means for the initial condition of FVGQ minimal

https://www.sas.upenn.edu/~jesusfv/ARE_Estimation.pdf has priors but does not posterior means.  We want to

[ ] Set all of the https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/FVGQ_1_minimal_defaults.txt#L2-L28  to the posterior means
[ ] Set the priors to be exactly the priors used in FVGQ in https://github.com/HighDimensionalEconLab/HMCExamples.jl/blob/main/src/FVGQ_1_minimal_defaults.txt#L29-L47

Once we have that, we can try the minimal one and see if the stepsize is better.

For the kappa in particular: In all of the FVGQ defaults we have
--kappa=8.4257
--kappa_prior=[4, 1.5, 2.0, 15.0]
And recall that the kappa prior is a truncated normal. So that says we are choosing it to be mean 4 with SD of 1.5 truncated between 2 adn 15.  All of the unit tests in the DSSM repo we have it set as 9.51
I am singling out kappa because it gave high numerical errors in the gradient calculations.


Move the Release Binaries Build from stacks-core to actions

Previously, the dockerfiles that were building the binaries for stacks-core releases were located in the stacks-core repository on the master branch, meaning changes or fixes that had to be made to them required a PR to the master branch. By moving them to the actions repository, it's easier to change them, without having to make further commits to stacks-core.

ref: https://github.com/stacks-network/actions/issues/20


Rearrange of boxes

If I have 3 boxes and remove second one the third one stays in the place instead it should take place of second. That works if I set cascade to left but I need that it is set to up too. How can I achieve that?

That's not supported by the current cascade algorithm. It's an option I'd like to add with a future rework


Will there be (atleast limited) support for the Track Path Editor?

I believe it was a server side system, unsure if its possible to recreate that part of the server, (not sure if packet data was recorded from it) and use with a patched apk or something.

Great question!


Add a new method to MetricTensor

Fixes #<Put_Issue_Number_Here>

@shreyasbapat

Hello @ritzvik! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/einsteinpy/symbolic/metric.py:

Line 104:67: W291 trailing whitespace

In the file src/einsteinpy/symbolic/schouten.py:

Line 67:17: W503 line break before binary operator

In the file src/einsteinpy/symbolic/stress_energy_momentum.py:

Line 53:13: W503 line break before binary operator

LGTM!


Update method signature for getPropertiesFromTable

LaravelIdeHelper changed the visibility of getPropertiesFromTable from protected to public in this PR: https://github.com/barryvdh/laravel-ide-helper/pull/945
This causes Psalm to fail with the lastest version

Yeah, my mistake. Just updated composer.json to reflect that

@CiiDyR Thanks! You committed the version constraint with another email address. Was that intentional?

@caugner Not really intentional. I made the first commit from GitHub directly, the second one I made locally. My global config seems to be different between those two :-)

@caugner Not really intentional. I made the first commit from GitHub directly, the second one I made locally. My local git config seems to be different between those two :-)

And/or it seems that the email address you used for the second commit is not (yet) linked to your GitHub account.

I have opened https://github.com/psalm/psalm-plugin-laravel/pull/138 as a first mitigation, as there is at least one other potentially breaking change in the pipeline: https://github.com/barryvdh/laravel-ide-helper/pull/1198/files#r606697817
That change (>=2.8.0 <2.9.2) could be released as 1.4.3 and the change here could be released as 1.5.0 as soon as the barryvdh/laravel-ide-helper interface has stabilised.
Otherwise we would need to specify (>=2.9.2 <2.10.0) here, as it's not clear whether upstream will bump the major version for this or similar changes, see Barry's comment.
/cc @mr-feek

This can really only be resolved by ide-helper creating a hotfix bugfix release reverting their changes.  We can't retroactively go back and change constraints on our previous releases that said "we work with any minor version updates of ide-helper".
This is very unfortunate.

@caugner @mr-feek Let me ask you a question.
Currently version-locked "laravel-ide-helper" to >=2.8.0 <2.9.2, but will "psalm-plugin-laravel" itself eventually be deprecated?

@caugner @mr-feek Let me ask you a question.
Currently version-locked "laravel-ide-helper" to >=2.8.0 <2.9.2, but will "psalm-plugin-laravel" itself eventually be deprecated?

It won't, but laravel-ide-helper 2.9.2 contains a breaking change.

Doesn't seem like ide-helper is going to make a hot fix release, so it's probably about time for us to require the latest version. I'll take a look tomorrow!

Thanks for the PR and friendly reminder @yaegassy !

I tried v1.4.6, but I get an "error" in psalm.
Repro
cd /tmp
laravel new psalm-plugin-laravel-check
cd psalm-plugin-laravel-check

composer require --dev vimeo/psalm
./vendor/bin/psalm --init

composer require --dev psalm/plugin-laravel
./vendor/bin/psalm-plugin enable psalm/plugin-laravel

./vendor/bin/psalm

Result (Error)
psalm-plugin-laravel-check$ ./vendor/bin/psalm
Scanning files...
PHP Fatal error:  Declaration of Psalm\LaravelPlugin\FakeMetaCommand::registerClassAutoloadExceptions() must be compatible with Barryvdh\LaravelIdeHelper\Console\MetaCommand::registerClassAutoloadExceptions(): callable in /private/tmp/psalm-plugin-laravel-check/vendor/psalm/plugin-laravel/src/FakeMetaCommand.php on line 11

   Symfony\Component\ErrorHandler\Error\FatalError

  Declaration of Psalm\LaravelPlugin\FakeMetaCommand::registerClassAutoloadExceptions() must be compatible with Barryvdh\LaravelIdeHelper\Console\MetaCommand::registerClassAutoloadExceptions(): callable

  at vendor/psalm/plugin-laravel/src/FakeMetaCommand.php:11
      7▕ {
      8▕     /**
      9▕      * @return void
     10▕      */
  ➜  11▕     protected function registerClassAutoloadExceptions()
     12▕     {
     13▕         // by default, the ide-helper throws exceptions when it cannot find a class. However it does not unregister that
     14▕         // autoloader when it is done, and we certainly do not want to throw exceptions when we are simply checking if
     15▕         // a certain class exists. We are instead changing this to be a noop.

   Whoops\Exception\ErrorException

  Declaration of Psalm\LaravelPlugin\FakeMetaCommand::registerClassAutoloadExceptions() must be compatible with Barryvdh\LaravelIdeHelper\Console\MetaCommand::registerClassAutoloadExceptions(): callable

  at vendor/psalm/plugin-laravel/src/FakeMetaCommand.php:11
      7▕ {
      8▕     /**
      9▕      * @return void
     10▕      */
  ➜  11▕     protected function registerClassAutoloadExceptions()
     12▕     {
     13▕         // by default, the ide-helper throws exceptions when it cannot find a class. However it does not unregister that
     14▕         // autoloader when it is done, and we certainly do not want to throw exceptions when we are simply checking if
     15▕         // a certain class exists. We are instead changing this to be a noop.

      +1 vendor frames
  2   [internal]:0
      Whoops\Run::handleShutdown()

Related packages
$ composer show -i | grep laravel
You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages.
barryvdh/laravel-ide-helper           v2.10.0   Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-complet...
fruitcake/laravel-cors                v2.0.4    Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application
laravel/framework                     v8.46.0   The Laravel Framework.
laravel/sail                          v1.8.1    Docker files for running a basic Laravel application.
laravel/tinker                        v2.6.1    Powerful REPL for the Laravel framework.
psalm/plugin-laravel                  v1.4.6    A Laravel plugin for Psalm
spatie/laravel-ray                    1.19.0    Easily debug Laravel apps


Include floating search view in the lib -- version 01

Hey @mikepenz,
Take a look at this PR when you get a chance. Please include this in your project as I found this project is trending in github and I am sure lot more people are gonna use it in coming days.
As of yesterday it was one of the top trending.
https://github.com/trending?l=java
Thanks!
Android Maverick

@manjunathc23 thanks ;).


[webapi][XWALK-2955] Update reftests which can not automation to manual

These tests can not automation,just change the test type.

Impacted tests(approved):new 0,update 11,delete 0
Unit test platform:[TizenIVI]
Unit test result summary:pass 11,fail 0,block 0

Proper indent commit message, please.
Please explain why these tests cannot be automated?

As talked at the meeting just before, from a visual point of view these tests are all passed, but  are all failed when test by testkit-lite tool. These tests enlarge a 1x1-green.png to cover a 100x100 div element. the render result is not the same as a pure 100x100 green div through image comparison tool.  We can not build the same render result by another way.

OK; to update the commit message, please using 'git commit -a --amend', not in the github UI. Please update them all for your PRs.
Another, if only one item, no need '-' in commit message.


Deepcase worked slower and crashed after 24 hours

Describe the bug
I think that problem in new architecture, because all connection go through deepcase. Need to revert to old architecture and pass all connections directy to deeplinks. New architecture has been chosen for supporting codespaces, but @Menzorg said, that there was another solution to support codespaces.
Problems:

Deepcase worked slower. Client handler became slower.
After 24 hours deepcase crashed.
Harder to debug proxing ws connetions.
Respond time became larger

Expected Behavior
No response
Current Behavior
No response
Steps to reproduce
No response
Environment
No response

https://github.com/deep-foundation/deepcase-app/issues/223 connected

We may find a way to make this configuration optional.
You can also use connector to connect Deep.Case directly to Deep.Links
Please measure the difference in performance, so we will have precise data to make a decision.


Add password strength estimator

Add password strength estimator
When the password is set or updated, the estimated strength of the password is shown. Warnings and suggestions, if any, will also be shown.
See diff for details on files added and modified.
Todo:

[x] implement password strength estimator
[x] add new test cases
[x] update user guide

Codecov Report
Base: 70.95% // Head: 71.10% // Increases project coverage by +0.14% :tada:

Coverage data is based on head (7b02090) compared to base (cc646a2).
Patch coverage: 83.33% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #93      +/-   ##
============================================
+ Coverage     70.95%   71.10%   +0.14%
- Complexity      580      585       +5
============================================
  Files            92       92
  Lines          1935     1962      +27
  Branches        240      243       +3
============================================
+ Hits           1373     1395      +22
- Misses          480      484       +4
- Partials         82       83       +1

Impacted Files
Coverage Δ

.../seedu/address/logic/commands/PasswordCommand.java
92.06% <83.33%> (-7.94%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


TLS option

Hey Tom,
great work! Simple and powerful. I like it, especially the easy docker deployment.
Could you maybe add the TLS option for your next release?
Corresponding flow value is "usetls", which is per default "false".
If the config-File option "MQTT_USETLS" could be set to "true", it should also work with replacements in prepare.sh.
Thanks!
P.S.: had a hard time with mosquitto and unencrypted connection. Maybe error was on me, or something between node-red and mosquitto. But as soon as I manually enabled TLS, it worked like a charm.

Release v1.1 is available supporting the MQTT_USETLS option.
Best regards
Thomas

hmpf... almost...
the value "tls" is undefined in dashboard_flow.json.
I don't get it, why this breaks something, but redeploy without changing anything sets tls="", then it works.

Thanks for your time & effort 💪

Hi Peer,
I have only added the setting of the MQTT_USETLS attribute. That also seems to work. But I haven't tested TLS because I don't want to change my environment. What must be behind tls? Can you send me a correctly and completely filled flow.json?

After deploying, I went into the Flow Designer, opened the mqtt button and simply redeployed it.
Seems, the missing tls="" prevented successful start. But I only found out by comparing.
In the picture above, it works with the settings seen in "Lokale Änderungen".
I only used the TLS-Version, because without it, node-red did not connect... since all other eight clients in my network work with and without encryption, I guess there might be something with the node-red thingy.
Since I use Letsencrypt certificates, simply enabling TLS is sufficient. For self-signed certificates there would be more work to do. But keep it as simple as it is.
Adding "tls" : "", at around line 19 in file dashboard_flow.json will do the trick, I guess.
Thanks for your great tool
Peer

Hi Peer,
sorry for my late answer. I had some other issues regarding the rscp2mqtt project.
My question is, is it really enough to include an empty tls - line? I think for a complete definition you need certificates, key files etc.
So it would be great if you can check the flow definition.
You can get the complete flow as a text file by:

using "Export" / "Download" or "Copy to clipboard".
Best regards
Thomas

Hi Thomas,
you could make it more complicated by implementing a complete certificate chain. But should you? If one is so sophisticated with this stuff, s/he will be able to implement it on her/his own. But on the other hand, the additional work might be not that much: to convince the system of certificate validity, a CA certificate is sufficient in most cases, you won't need client certs for this use case.
Personally, I'm using a LetsEncrypt certificate. Checking the certificate chain of "official" CAs is implemented in the OS, therefore no additional infos are needed then.
I checked the flow. "tls": "", is indeed sufficient, like all the other keys that are there with empty values 🤷♂


Support API 26

Summary:
I wanted to confirm that this SDK will meet Android requirements to support API 26 by the November 1st deadline. Currently, the library compilation target is API 25 and I have tested support for API 26, but wanted to confirm.
https://developer.android.com/distribute/best-practices/develop/target-sdk#check_and_update_your_sdks_and_libraries

I have shipped a PR #470 for the upgrade of the whole project including gradle, SDK etc. I hope the maintainers would care about this.  ❓

This was upgraded in a recent commit


Specifying invocationCount, threadPoolSize and successPercentage causes tests to always pass

Thank you for looking into #3170 so promptly, however I think there is another related issue.
TestNG Version

Note: only the latest version is supported

7.11.0-SNAPSHOT at f55ca8e
Expected behavior
Expect the following test to fail:
import org.assertj.core.api.Assertions.assertThat
import org.testng.annotations.Test

class TestTest {
    @Test(invocationCount = 10, threadPoolSize = 10, successPercentage = 99)
    fun testTest() {
        assertThat(true).isFalse
    }
}

Actual behavior
The tests pass instead.
Correct behaviour is achieved if successPercentage is 100, or if threadPoolSize is omitted.
Is the issue reproducible on runner?

[ ] Shell
[ ] Maven
[x] Gradle
[ ] Ant
[ ] Eclipse
[ ] IntelliJ
[ ] NetBeans

Test case sample

Please, share the test case (as small as possible) which shows the issue

import org.assertj.core.api.Assertions.assertThat
import org.testng.annotations.Test

class TestTest {
    @Test(invocationCount = 10, threadPoolSize = 10, successPercentage = 99)
    fun testTest() {
        assertThat(true).isFalse
    }
}

Contribution guidelines
Incase you plan to raise a pull request to fix this issue, please make sure you refer our Contributing section for detailed set of steps.

@Yharooer - I dont think this scenario would work because TestNG internally does the following:
When TestNG is given a combination of invocation count "m" + thread pool size of "n" it internally converts them into "m" test workers each having an invocation count of "1".
So for this example, it considers that there are 10 tests (equivalent to invocationCount) all running at the same time (since we have a threadpool size of greater than 1). So all the tests are likely to finish at the same time.
Since the tests are all going to be running concurrently it becomes difficult to consider the successPercentage attribute
@juherr - WDYT?

@krmahadevan If you think it is a bad practice to mix these attributes, add a warning message they are used together. It will help users they are not using it in the right way.

I see.
Is it possible to check at the end of the tests that the successPercentage was achieved and override the test results? I think the same can be achieved by adding a custom listener to the test to check whether the failure rate was breached at the end of the tests. However it is inconvenient for users of TestNG to have to add this manually when from the user perspective it is not easy to understand why parallelisation should affect the result.


youtube-dlc returns Error Code 1 when run with "-i" argument and engine encounters an error during runtime

Checklist

[X] I've verified that I'm running youtube-dlc version 2020.11.11-3
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar bug reports including closed ones
[X] I've read bugs section in FAQ

Description

YT-DLC has, as YT-DL, the option to ignore errors on download, with the "-i" argument.
However I would expect that the .exe returns an error code 0 each time it is run with this argument since the user specifically wants to ignore errors that (maybe) happened.
But even with the newest version it returns error code 1 if the program encountered an error during its run and skipped it due to "-i".
Is that behavior expected or should we change that?

-i is intended to continue downloading (the rest of a playlist, for example) even when there is an error. It should still return an error code. As far as I know, this has always been how it behaved. I even have scripts that depend on this behaviour

-i is intended to continue downloading (the rest of a playlist, for example) even when there is an error. It should still return an error code. As far as I know, this has always been how it behaved. I even have scripts that depend on this behaviour

In the docs it states "Continue on download errors, for example to skip unavailable videos in a playlist", so I would use it if I have some private videos in a playlist and I still want the videos after that, so for it to just continue. But I would always start the playlist download from the beginning.
For continuing a playlist I would use "--playlist-start x", "--playlist-end x" or "--playlist-items x,x".
And why should it still return an error code?
If you are specifying the "--i" argument you know that it will fail along the way.
And for me its the other way round. Since I had some sites fail on me with random timeouts or "Unable to extract video params" errors many times during an archive run on a channel, I am executing a while loop as long as the error code is >0. So this while loop always gets triggered even though the execution itself was without errors.

For continuing a playlist I would use "--playlist-start x", "--playlist-end x" or "--playlist-items x,x".

I didn't mean continuing a playlist that was already downloaded partially. What I said is basically the same as what's in the docs. Just my wording seems to have confused you.

If you are specifying the "--i" argument you know that it will fail along the way.

When using -i, under what circumstances do you think youtube-dlc should return an error code? how would you determine the "execution" was with or without error? The same error can often happen due to a variety of reasons. For example, a Unable to download webpage error could happen when the URL is wrong, when you have no internet, when the url was taken down or many other reasons. Some of these can be thought of us having "successfully executed" while other can't. As far as I know, there is no way to tell them apart.
Besides, this has always been youtube-dl's behaviour (correct me if I am wrong). So changing it could break countless third party scripts.

If you are specifying the "--i" argument you know that it will fail along the way.

You can use that option with different mindsets, thats what I am talking about.
If you expect an error you will specify -i and continue your run.
I on the other hand DON'T expect an error everytime and will only specify -i if I know for a fact that there will be an error (a vlive video for example that will always be unavailable, because of Vlive+ or some other reason).

even though the execution itself was without errors.

When using -i, under what circumstances do you think youtube-dlc should return an error code? how would you determine the "execution" was with or without error? The same error can often happen due to a variety of reasons. For example, a Unable to download webpage error could happen when the URL is wrong, when you have no internet, when the url was taken down or many other reasons. Some of these can be thought of us having "successfully executed" while other can't. As far as I know, there is no way to tell them apart.

Well, thats what different error codes are for. There would be no problem defining an error code that means yt-dlc skipped errors but the operation in itself finished successfully, so no crash in between.
Then I could just filter for that error code and the issue would be solved.
But instead it is currently throwing a generic 1 as the error code, which can mean everything.

Besides, this has always been youtube-dl's behaviour (correct me if I am wrong). So changing it could break countless third party scripts.

Yes, could be. I am not using yt-dl or yt-dlc long enough to know how long this behavior has been there. I only noticed today that my script runs infinitely because I specified -i in the thought of getting through some errors but still receiving error code 0.

After some digging in the source code, some errors are marked as "expected" and others not. This could conceivably be used to determine error code

There would be no problem defining an error code that means yt-dlc skipped errors but the operation in itself finished successfully, so no crash in between. Then I could just filter for that error code and the issue would be solved.

If you just want to error codes only when there is a crash, you just need to remove this line
However, correctly distinguishing allowed/unexpected errors would take a lot more changes. The expected state of all the Error classes has to be propagated all the way to YoutubeDL.trouble function. Since various error are handled in different places, this is a bit tedious to do

After some digging in the source code, some errors are marked as "expected" and others not. This could conceivably be used to determine error code

There would be no problem defining an error code that means yt-dlc skipped errors but the operation in itself finished successfully, so no crash in between. Then I could just filter for that error code and the issue would be solved.

If you want error codes only when there is a crash, you just need to remove this line

Yes, I could, however my use case is a bit more special than that. Let me explain:
I wrote an engine that is able to download multiple Vlive channels, either full, so videos and subtitles, or subtitles only.
Why I want the latter is because after Vlive videos get aired, there are sub teams that add subs later on, because the site is for Korean people, so I would need english subtitles to be able to understand the audio. And I dont want to download the whole video again just because new subtitles got published.
So I use the channel in conjunction with the --skip-download flag and the --all-subs entry in my config file to only get "updated" subtitle files.
But because Vlive doesnt deliver every video without error, I need to skip these with the -i option.
On the full run however I want to cycle through every video successfully because I dont have everything yet and want to be able to correct the download errors during runtime. So it is not acceptable for me to skip some videos without me knowing the reason.
And the way I had to program the engine so I could cycle on error is with the error code obviously.
But when I run the subtitle-only route and specify -i so I ignore any invalid videos, I still get error code 1 even though the run itself to update my subtitles was successful. There only happened to be some video that was unavailable for yt-dlc to throw code 1.

However, correctly distinguishing allowed/unexpected errors would take a lot more changes. The expected state of all the Error classes has to be propagated all the way to YoutubeDL.trouble function. Since various error are handled in different places, this is a bit tedious to do

And I totally agree that this would be tedious, however there are reasons the possibility of different error codes exist.
When you first start developing a program you can go the easy route and throw 1 for error and 0 for successful. But later on when the program gets larger there should be some work gone into different error codes.
And I am by no means suggesting this has to happen anytime soon.
I made some changes to my engine so I can still work with this "imperfection" in the error code usage.
But I would like to be able to remove that change once yt-dlc gives some increased detail with the codes.


Assembly IO instruction refactoring

Oh, one other thing: we also need to update documentation for this section.


[$1000] Web - Bank - Error message 'bank account should end with 1111' disappears after switching tab

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging.new.expensify.com
Go to Settings > Workspace > Bank account > Connect with plaid method > Chase Bank
Use the following credentials for Chase Bank
Username: user_good
Password: pass_good
If a verification is prompted - select mobile and enter "credentials_good" as the verification mode
Checkmark the "Plaid Checking" and "Plaid Saving" and the last 2 options.
Click on continue
Check the T&C and click "Connect account information"
Click on the last confirmation on the plaid modal
Select the bank account ending in 1111
Enter Routing Number: 011401533 an enter an incorrect bank account number (e.g<PHONE_NUMBER>334444)
Switch to other tab and return to the tab

Expected Result:
The error message 'Your account number should end with 1111' should not disappear
Actual Result:
The error message 'Your account number should end with 1111' disappears after switching tab. The issue is still reproduced after the page is refreshed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/9fe1dfe1-d313-47e8-be45-d2d69a615df9

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01964ffb3d42e77df4
Upwork Job ID:<PHONE_NUMBER>839382528
Last Price Increase: 2023-06-29

Repro'd:
https://github.com/Expensify/App/assets/59587260/7c96376c-128f-42ee-96ed-59f2d488fe22

@eVoloshchak please review the proposal here as a priority.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01c600f0d690c3dfe1

I think we should proceed with @joh42's proposal
While the root cause is obviously the same in both proposals, @joh42's proposal is universal, we'll ensure the same problem isn't present on any other pages that use Form.

We only need to revalidate values on blur if changes have been made

Additionally, we might want to add a prop called something like onlyValidateChanges which defaults to false, to make sure no other forms are affected by this change.

I think we should implement this behavior as default for all forms, but we can work this out via discussion on slack in case we  decide to implement this
🎀👀🎀 C+ reviewed!
cc: @kadiealexander

Getting an engineer assigned - unsure why it didn't happen automatically!

@techievivek could you please do a final review and decide if we should assign @joh42?

The proposal looks good to me.

I think we should implement this behavior as default for all forms, but we can work this out via discussion on slack in case we decide to implement this

@eVoloshchak Would you mind initiating the conversation on Slack to ensure that everyone is on the same platform before we move with a PR? Thanks

Thanks for the reviews. This is my profile if you want to @ me on Slack: https://app.slack.com/client/T03SC9DTT/C049HHMV9SM/rimeto_profile/U05FUG2UHQQ

Oops, missed this one, apologies
Will spin up the conversation on Slack tomorrow

Okay, let's implement this for all forms. Should the form docs be updated to reflect this change?
@eVoloshchak @techievivek

Should the form docs be updated to reflect this change?

@joh42, yes, we need to update the doc, it currently says

When the form field loses focus (blur) we will run that validate test and show feedback

We can add something like this, not sure how to phrase that properly
(we don't run validate test if the data hasn't changed since we last ran it)

We can add something like this, not sure how to phrase that properly (we don't run validate test if the data hasn't changed since we last ran it)

Perhaps we can add this to the end of that paragraph: To prevent server errors from being cleared inadvertently, we only run validation on blur if any form data has changed since the last validation/submit.
Other than that, is there anything else that needs to be done before we can start tackling this issue?

Ping @eVoloshchak

@techievivek should we go ahead with @joh42?

Yes, it looks like we have agreed to fix the behaviour on all the form's usages. Going to assign the job to @joh42

Thanks, applied to the Upwork job. If everything goes according to plan you can expect a PR later today.

Btw this is the proposal https://www.upwork.com/ab/proposals/1681940855075270657 @techievivek / @kadiealexander (unsure who handles hiring)

Just an update, PR will be ready tomorrow (21st of July 2023)

Also, FYI, the error I get today, even on staging, is "An unexpected error occurred while trying to add your bank account. Please try again." as opposed to "Your account number should end with 1111".

This issue pertains to all server errors however, so even if the actual error we see now is not the same as when the issue was created, the solution is still the same.

Another update: I'm having some trouble testing on Mac, I'll hopefully have the PR ready for review sometime during the weekend

PR is now ready for review https://github.com/Expensify/App/pull/23306

A regression has been discovered: https://github.com/Expensify/App/issues/23743
I'm working on a PR to fix it https://github.com/Expensify/App/pull/23780

PR https://github.com/Expensify/App/pull/23780 to fix the regression (https://github.com/Expensify/App/issues/23743) is now ready for review @eVoloshchak @techievivek

@joh42 seems a regression https://github.com/Expensify/App/issues/23789

Yep @Pujan92 that's correct, same bug as https://github.com/Expensify/App/issues/23743, thanks for the heads up! Tested it with PR https://github.com/Expensify/App/pull/23780, which solves it

@joh42 Looks like the PR caused a few regressions. Do you think you have a followup fix for it or should we just revert the original PR? And then you can look into fixing this correctly?

CC @eVoloshchak

Given this regression, I do not think validating only when data has been changed is viable. As such I think right thing to do here is revert the original PR.
Since my proposed solution does not work, I actually think the solution proposed by @hungvu193 might be optimal. If it's okay with you, I can unassign myself from this issue and let @hungvu193 solve this instead.
@eVoloshchak
@techievivek

@joh42 Can you send the revert PR? I can merge that. And once we have that done, I can close all the regression issues and wait for someone to fix this issue correctly.

Our previous fix for this bug has been reverted and this is once again open for proposals.

Thanks @hoangzinh, I have asked QA team to verify if this is reproducible or not https://expensify.slack.com/archives/C9YU7BX5M/p1691670468429039.

@techievivek It doesnt seem to be repro any more
https://github.com/Expensify/App/assets/43995119/c7bff99b-017e-41f7-82d1-375247e415a0
https://github.com/Expensify/App/assets/43995119/31f706f6-3f74-4ad2-9691-1ec2e62540d1

As far as I can tell the revert has not been deployed to staging: https://github.com/Expensify/App/pull/24347#issuecomment-1672542625
The bug exists on main:
https://github.com/Expensify/App/assets/138504087/36ed43f9-2db6-4a0f-b7c2-4805295e2d7e
It's worth noting that the original issue description only includes switching tabs, but in reality the bug occurs whenever the routing number input field is blurred. It might be worth changing the 11th testing step to something like "Blur the routing number input field by clicking outside of it"

Updated the testing steps.

@eVoloshchak Can you please take a look at this comment https://github.com/Expensify/App/issues/21838#issuecomment-1672557447 and review the proposal, thanks.

Gentle bump @eVoloshchak ^

This has been resolved it seems, I can't reproduce it.
@hungvu193, could you please verify if this is still reproducible for you? Thanks
https://github.com/Expensify/App/assets/9059945/e8c1826c-8053-478d-9267-01e45c62d67b

@hungvu193 is that a new bug, or do you think it's the same as this one?

@hungvu193, thank you for the proposal
Your proposal will fix this specific issue, but I wonder if we could do better. Even if we don't run validate on blur, we will run it when user edits an input. Imagine the following case

Enter Routing Number: 011401533 an enter an incorrect bank account number (e.g<PHONE_NUMBER>334444)
Press Continue, observe  an error message 'Your account number should end with 1111' (this is correct)
focus the account number input, with your proposal applied the error is not dismissed (which is correct)
delete a single number, observe the error message is dismissed (which isn't correct, since it still does not end with 1111)

I fully agree with you on this

If we can synchronize the validation of account number between client and server then we can avoid this issue.

This is the root cause we should be trying to fix. Is there a way we could implement this validation check on the front end?

@eVoloshchak bump!

On a second thought, this isn't impactful enough (or at all) to implement the same validation on the front end. @hungvu193's proposal is universal, can be turned on for any of the Forms, it's better than implementing a FE validation for this specific page
I think we can proceed with @hungvu193's proposal
🎀👀🎀 C+ reviewed!

Payouts due:
Contributor: $1000 @hungvu193
Contributor+: $1000 @eVoloshchak
Eligible for 50% #urgency bonus? No
Upwork job is here.

@eVoloshchak please remember the checklist! :)

The PR that introduced the bug has been identified. Link to the PR: there isn't a PR that caused it, this is how validation was implemented initially, we just decided to alter it
The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: this isn't a bug per se, just a slightly different behavior we decided to implement, I don't think an additional discussion is necessary
Determine if we should create a regression test for this bug.
Is it easy to test for this bug? Yes
Is the bug related to an important user flow? Yes
Is it an impactful bug? Not this specific case, but it could, since it's implemented in Form component that is used throughout the app

Regression Test Proposal

Go to staging.new.expensify.com
Go to Settings > Workspace > Bank account > Connect with plaid method > Chase Bank
Use the following credentials for Chase Bank
Username: user_good
Password: pass_good
If a verification is prompted - select mobile and enter "credentials_good" as the verification mode
Checkmark the "Plaid Checking" and "Plaid Saving" and the last 2 options.
Click on continue
Check the T&C and click "Connect account information"
Click on the last confirmation on the plaid modal
Select the bank account ending in 1111
Enter Routing Number: 011401533 an enter an incorrect bank account number (e.g<PHONE_NUMBER>334444)
Blur or take the focus away from the routing number input field by clicking outside of it or switching the tabs.
Verify that server error isn't cleared.

Do we agree 👍 or 👎

Eligible for 50% #urgency bonus? https://github.com/Expensify/App/issues/21838#issuecomment-1713509269

@kadiealexander, I'm not sure how these cases are handled, so I might be completely wrong, but I think this might qualify for the urgency bonus. @hungvu193 got assigned to the job on Aug 29, I approved the PR on Sep 1, but it wasn't merged due to the merge freeze until it was lifted on Sep 11

@techievivek would you agree with the above?

@kadiealexander Yes, I agree this is within the urgency bonus deadline but we holded it because of the merge freeze that was going on.

So this is eligible for the urgency bonus? If so, can we update the payment summary above?

Sorry @JmillsExpensify, seems to be! Have updated the payment summary here and paid @hungvu193 their bonus via Upwork.

$1,500 payment for @eVoloshchak approved based on BZ summary.


[WW-5373] Update JavaDoc CspReportAction.java

WW-5373
change comment to match 204 http status and change parameter name statusCode to status.

Thanks a lot for the PR! I also added a small note about the report action to the docs https://github.com/apache/struts-site/pull/218


The project is out-of-sync

Hi @langtonhugh,
I'm very new to R (today is the first time I've even opened Rstudio), and I was hoping for an easy access to your IRR-project. But I'm running into problems, and I'm hoping you can help me:
After having installed the packages needed, but not yet installed, I got the following error messages. I'm hoping you could either update your release or give me some advice about how to proceed (please remember I'm a beginner)!

I’ll ask our ICT-section if they are willing to install old software for me… I’ll keep you posted….
Met vriendelijke groet,
Jonna Lind
Sr. Medewerker Kennis- en informatiecentrum
ARQ-bibliotheek | Informatie op maat
Aanwezig: maandag (Diemen); dinsdag + woensdag (thuis)
Soms wijk ik hiervan af.
ARQ Nationaal Psychotrauma Centrum
ARQ Kenniscentrum Oorlog, Vervolging en Geweld
Nienoord 5 | 1112 XE Diemen
T 088 3305 187 M 06-100 73 043
E<EMAIL_ADDRESS>W arq.orghttp://arq.org/
@.***
Bekijk het ARQ-jaaroverzicht 2023 – ‘50 jaar bevlogenheid’https://arq.org/sites/default/files/2024-07/ARQ_jaaroverzicht_2023.pdf.
Van: Sam Langton @.>
Verzonden: donderdag 5 september 2024 15:15
Aan: langtonhugh/asreview_irr @.>
CC: Jonna Lind @.>; Author @.>
Onderwerp: Re: [langtonhugh/asreview_irr] The project is out-of-sync (Issue #24)
Could you download R 4.3.2, switch to that version with RStudio, and then re-try? You can download old versions from the CRAN websitehttps://cran.r-project.org/bin/windows/base/old/ and then you can switch the version you are using from within RStudio (Tools -> Global Options -> General). Let me know if that works!
—
Reply to this email directly, view it on GitHubhttps://github.com/langtonhugh/asreview_irr/issues/24#issuecomment-2331654647, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4SKCJXHFS6V45RK4B3DT2DZVBKMFAVCNFSM6AAAAABNUJ4QUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZRGY2TINRUG4.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

If you cannot download different versions of R, you can still try and build the report. The warning you are seeing is related to the renv package, which manages libraries, rather than this tool itself. You can build a report without any usage of renv, and while using a different version of R (although it's not ideal!).

Could you give me some hints on how to do this? I’m very new to R…..
Met vriendelijke groet,
Jonna Lind
Sr. Medewerker Kennis- en informatiecentrum
ARQ-bibliotheek | Informatie op maat
Aanwezig: maandag (Diemen); dinsdag + woensdag (thuis)
Soms wijk ik hiervan af.
ARQ Nationaal Psychotrauma Centrum
ARQ Kenniscentrum Oorlog, Vervolging en Geweld
Nienoord 5 | 1112 XE Diemen
T 088 3305 187 M 06-100 73 043
E<EMAIL_ADDRESS>W arq.orghttp://arq.org/
@.***
Bekijk het ARQ-jaaroverzicht 2023 – ‘50 jaar bevlogenheid’https://arq.org/sites/default/files/2024-07/ARQ_jaaroverzicht_2023.pdf.
Van: Sam Langton @.>
Verzonden: maandag 9 september 2024 10:37
Aan: langtonhugh/asreview_irr @.>
CC: Jonna Lind @.>; Author @.>
Onderwerp: Re: [langtonhugh/asreview_irr] The project is out-of-sync (Issue #24)
If you cannot download different versions of R, you can still try and build the report. The warning you are seeing is related to the renvhttps://rstudio.github.io/renv/articles/renv.html package, which manages libraries, rather than this tool itself. You can build a report without any usage of renv, and while using a different version of R (although it's not ideal!).
—
Reply to this email directly, view it on GitHubhttps://github.com/langtonhugh/asreview_irr/issues/24#issuecomment-2337484289, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4SKCJTTITN3AYKLLDOZTITZVVM37AVCNFSM6AAAAABNUJ4QUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZXGQ4DIMRYHE.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

If you follow the instructions do you get any errors?

I got error messages when opening the project… the parser (or something like that) gave the error messages, that I sent to you…. Should I just ignore them?
Met vriendelijke groet,
Jonna Lind
Sr. Medewerker Kennis- en informatiecentrum
ARQ-bibliotheek | Informatie op maat
Aanwezig: maandag (Diemen); dinsdag + woensdag (thuis)
Soms wijk ik hiervan af.
ARQ Nationaal Psychotrauma Centrum
ARQ Kenniscentrum Oorlog, Vervolging en Geweld
Nienoord 5 | 1112 XE Diemen
T 088 3305 187 M 06-100 73 043
E<EMAIL_ADDRESS>W arq.orghttp://arq.org/
@.***
Bekijk het ARQ-jaaroverzicht 2023 – ‘50 jaar bevlogenheid’https://arq.org/sites/default/files/2024-07/ARQ_jaaroverzicht_2023.pdf.
Van: Sam Langton @.>
Verzonden: maandag 9 september 2024 11:37
Aan: langtonhugh/asreview_irr @.>
CC: Jonna Lind @.>; Author @.>
Onderwerp: Re: [langtonhugh/asreview_irr] The project is out-of-sync (Issue #24)
If you follow the instructionshttps://github.com/langtonhugh/asreview_irr do you get any errors?
—
Reply to this email directly, view it on GitHubhttps://github.com/langtonhugh/asreview_irr/issues/24#issuecomment-2337622713, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4SKCJQKJP7BO6RJDY2N4XTZVVT5PAVCNFSM6AAAAABNUJ4QUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZXGYZDENZRGM.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

You can ignore the warnings but it is not ideal, because your R environment will not match the environment used when we built and tested the tool (i.e., the same R version, the same R package versions).
I would recommend reading more about renv package to understand the warning properly. In short, running renv::restore() and matching the version of R (like this) might fix the problem. If you still have problems, you are welcome to contact me via email, since this is more generic advice about R and renv, rather than specific issues with the report tool.
That said, I will update the README with some more information about renv so that new users can get the tool running more easily.

Thanks!
Met vriendelijke groet,
Jonna Lind
Sr. Medewerker Kennis- en informatiecentrum
ARQ-bibliotheek | Informatie op maat
Aanwezig: maandag (Diemen); dinsdag + woensdag (thuis)
Soms wijk ik hiervan af.
ARQ Nationaal Psychotrauma Centrum
ARQ Kenniscentrum Oorlog, Vervolging en Geweld
Nienoord 5 | 1112 XE Diemen
T 088 3305 187 M 06-100 73 043
E<EMAIL_ADDRESS>W arq.orghttp://arq.org/
@.***
Bekijk het ARQ-jaaroverzicht 2023 – ‘50 jaar bevlogenheid’https://arq.org/sites/default/files/2024-07/ARQ_jaaroverzicht_2023.pdf.
Van: Sam Langton @.>
Verzonden: maandag 9 september 2024 14:27
Aan: langtonhugh/asreview_irr @.>
CC: Jonna Lind @.>; Author @.>
Onderwerp: Re: [langtonhugh/asreview_irr] The project is out-of-sync (Issue #24)
You can ignore the warnings but it is not ideal, because your R environment will not match the environment used when we built and tested the tool (i.e., the same R version, the same R package versions).
I would recommend reading more about renv packagehttps://rstudio.github.io/renv/articles/renv.html to understand the warning properly. In short, running renv::restore() and matching the version of R (like thishttps://github.com/langtonhugh/asreview_irr/issues/24#issuecomment-2331654647) might fix the problem. If you still have problems, you are welcome to contact me via email, since this is more generic advice about R and renv, rather than specific issues with the report tool.
That said, I will update the README with some more information about renv so that new users can get the tool running more easily.
—
Reply to this email directly, view it on GitHubhttps://github.com/langtonhugh/asreview_irr/issues/24#issuecomment-2337989749, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4SKCJTY7DLLENH2XGBFH4LZVWH23AVCNFSM6AAAAABNUJ4QUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZXHE4DSNZUHE.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

That said, a correction: there are some sync issues on my own machine that I had not noticed. I have updated the lockfile so please re-clone the repository and see whether that fixes the problem. If not, then my advice above still stands!

I set R to 4.3.2, opend the project, ran renv::restore(). But I did get an error message - can you give me any hints on how to deal with this?
Kind regards, Jonna

Error: Error installing package 'MASS':

installing source package 'MASS' ...
** package 'MASS' successfully unpacked and MD5 sums checked
** using staged installation
** libs
Error in system(paste(MAKE, p1(paste("-f", shQuote(makefiles))), "compilers"),  :
'make' not found
removing 'C:/Users/JLind/StichtingArq/KC Oorlog Algemeen - Documenten/Bibliotheek/Beheer/Systemen/ASReview/IRR/IRR met R 432/asreview_irr-v.1.0-alpha/renv/staging/1/MASS'
install of package 'MASS' failed [error code 1]

Do you have Rtools installed? If not (or if you are not sure), try installing Rtools, restart RStudio, and run renv::restore() again. If you are on R version 4.3.2 you can install rtools here: https://cran.r-project.org/bin/windows/Rtools/rtools43/rtools.html.

I installed Rtools from your link, ran renv again, but got a new error message , see the file.
foutmelding R 20241010.txt
Can you help me again?
My Rtools is installed in C:\Users\JLind\OneDrive - StichtingArq\programfiles\rtools43, I don't know if that makes a difference?


response doc

Beta Beta: You are Beta Beta.    You probably have never had a girlfriend, and if you did she likely broke up with you years ago and you haven’t gotten over it. You haven’t had human contact in months, and at this point the only chance you have now is to retreat back to your mother’s basement and hope that God grants you a second chance at life.
Beta Chad: You are Beta Chad. You look like a chad but have the personality of a beta male. You are likely a Beta Beta who decided to try to improve himself and start hitting the gym. You now have a body that is sculpted from marble, but I just want to let you know that it won’t help.  No amount of skincare products you use will ever wash away all the anime episodes you have watched. Your massive muscles are nothing more than a cover for your corroded soul.
Chad Beta: You are Chad Beta. You have the personality of a chad but the looks of a beta male.  You probably are part of a frat, and can talk to chicks at parties. Your chad-ness will still carry you through life, so enjoy graduating with an econ/poly sci major and getting a desk job, and marrying an ex-sorority girl at age 30, and having two kids named Brad and Stacey.
Chad Chad: You are Chad Chad.   You sweat juul pods, and your urine is bottled and sold as craft beer. Your future entails: You enjoy working as an I-banker at Goldman Sachs. You married your formal date. You lived in an upper middle class suburban house. Your son just got named captain of the football team, and he named you his role model at his acceptance speech. Your life is on easy mode. Just please, when your living your perfect life, just remember the beta betas of the world, living in their mom’s basement, covered in Cheeto dust and trying to understand how to function like a human. Please remember the most destitute of humans and try to be grateful for the fact that God has handed you a golden, 6 pack and prefect blonde hair shaped ticket.

Added


Test_data

This is important in particular to make the CI run on GH.

Now that this one passes, I guess I could rebase all other PRs on top of it to make the tests pass, too, but it's easier to review this way.


npm run serve - error

Bug reports must include:

Operating system and version (Windows, macOS, Android, iOS)
Ubuntu 20.04 (Hyper-v machine)

After

git clone
npm install
npm run serve
get error tels:  The project seems to require yarn

And after delete yarn file everythig it's ok.

And after delete yarn file everythig it's ok.


Error decoded_full[unicode_offset + decoded.index(replacement_char)]

It seems that the latest 2.1 fixed most of the issues I was dealing with in quality of the transcription's timestamps. Unfortunately after running a few tests, I ran into this error. I'll see if I can reproduce it consistently.
 0%|                   | 0/1 [00:00<?, ?it/s]/home/ke/.pyenv/versions/ats/lib/python3.9/site-packages/torch/nn/modules/module.py:1194: UserWarning: operator() profile_node %668 : int[] = prim::profile_ivalue(%666)
does not have profile information (Triggered internally at ../torch/csrc/jit/codegen/cuda/graph_fuser.cpp:105.)
 return forward_call(*input, **kwargs)
Predicted silence(s) with VAD
90%|▉| 44794.45/49901.59 [14:56<01:42, 49.94s
 0%|                   | 0/1 [23:23<?, ?it/s]
Traceback (most recent call last):
 File "/home/ke/code/subgen/split_run.py", line 186, in <module>
   run()
 File "/home/ke/code/subgen/split_run.py", line 172, in run
   generate_transcript_from_audio_wrapper(audio_path_dict)
 File "/home/ke/code/subgen/split_run.py", line 139, in generate_transcript_from_audio_wrapper
   generate_transcript_from_audio(audio_file, full_timings_path)
 File "/home/ke/code/subgen/split_run.py", line 35, in generate_transcript_from_audio
   run_stable_whisper(audio_file, full_timings_path)
 File "/home/ke/code/subgen/split_run.py", line 23, in run_stable_whisper
   result = model.transcribe(
 File "/home/ke/.pyenv/versions/ats/lib/python3.9/site-packages/stable_whisper/whisper_word_level.py", line 485, in transcribe_stable
   add_word_timestamps_stable(
 File "/home/ke/.pyenv/versions/ats/lib/python3.9/site-packages/stable_whisper/timing.py", line 175, in add_word_timestamps_stable
   text_tokens, token_split, seg_indices = split_word_tokens(segments, tokenizer, padding=' ...')
 File "/home/ke/.pyenv/versions/ats/lib/python3.9/site-packages/stable_whisper/timing.py", line 123, in split_word_tokens
   curr_words, curr_word_tokens = tokenizer.split_to_word_tokens([t for t in s['tokens'] if t < tokenizer.eot])
 File "/home/ke/.pyenv/versions/ats/lib/python3.9/site-packages/whisper/tokenizer.py", line 277, in split_to_word_tokens
   return self.split_tokens_on_unicode(tokens)
 File "/home/ke/.pyenv/versions/ats/lib/python3.9/site-packages/whisper/tokenizer.py", line 296, in split_tokens_on_unicode
   or decoded_full[unicode_offset + decoded.index(replacement_char)]
   ```

It seems that it does not happen every time I run the same file unfortunately.

You can try the new commit to see if it prevents this error.

I experience the same issue. It happens with some specific finetuned models.

I used the latest commit and now has another error
whisper_model.transcribe(filename, language="zh", regroup=True, demucs=True, vad=True)
/usr/local/lib/python3.9/dist-packages/stable_whisper/timing.py in _split_tokens(tokens, tokenizer)
134             curr_tokens = []
135
--> 136     assert len(text) == 0
137
138     return words, word_tokens
AssertionError:

why do we need to have this line?
assert len(text) == 0

why do we need to have this line?
assert len(text) == 0

The line serves to ensure that every word/character has been paired with the tokens that makes it up. If there is still text left at the end of the pairing process that should mean there was mismatch in previous pairs.
Can you transcribe the same audio with word_timestamps=False then save the result as a json and share it?