text:
Ie 195

Q
A

Bug fix?
no/yes

New feature?
no/yes

API breaks?
no/yes

Deprecations?
no/yes

Related tickets
fixes #X, partially #Y, mentioned in #Z

License
Apache 2.0

What's in this PR?

Why?

Additional context

Checklist

[ ] Code meets the Developer Guide
[ ] User guide and development docs updated (if needed)
[ ] Related Helm chart(s) updated (if needed)

To Do

[ ] If the PR is not complete but you want to discuss the approach, list what remains to be done here

 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 8 committers have signed the CLA.:x: Utsav Krishnan:x: hitesharinga:x: nikunj-badjatya:x: abhinavsingh-ccm:x: sdsingh07:x: arya-harness:x: Vbhatia20:x: rdsozeUtsav Krishnan seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

repo: banzaicloud/telescopes


text:
feat(HIS): add GOTO his metric

This PR introduces the feature of checking the existence of a goto statement in a function/file.
According to the HIS metrics, no goto statement is allowed
The qmcalc tool is used to check this metric.
This tool only outputs the existence of a goto expression in the file, so our tool output won't specify the function where the expression is used, only highlighting the file where the expression is used.

Edited by @danielRep :
To test with https://github.com/bao-project/bao-his-tests just run the command make ci METRIC=goto.
Checklist:

[x] Tested using the bao-his-tests repo on branch.
[ ] The changes generate no new warnings when building the project. If so, I have justified above.
[ ] I have run the CI checkers before submitting the PR to avoid unnecessary runs of the workflow.

I have create this repo (https://github.com/bao-project/bao-his-tests) has a dummy target to test each individual metric verified by the HIS checker. You only need to clone the repo and then make ci METRIC=goto.

While this is a very improbable case, the following code is not detected by the checker as a goto statement.
#define MACRO_GOTO goto

void functionWithMacroGoto()
{
    // Example function with a goto statement
    int condition = 1;
    if (condition)
    {
        MACRO_GOTO cleanup;
    }

    // Some code that might not get executed
    printf("This code may be skipped due to goto.\n");

cleanup:
    printf("Cleanup block executed.\n");
}

I've tested the same macro in bao, and it does compile and work.
My idea was that maybe a random macro could hide a goto statement in it.

Tested using the repo provided by @danielRep. From my observations, it seems to be working as intended.
The only corner case that might have mislead results that I found was hiding the goto statement in a macro (e.g #define HIDING goto). Then using that macro in other files is not detected as a goto statement. The checker only points to the original file where it is define and not where it is used. Furthermore, if said macro is not used, the checker also fails saying that a goto statement is present.
However, since the threshold is 0, it is should not be a problem.

Tested using the repo provided by @danielRep. From my observations, it seems to be working as intended. The only corner case that might have mislead results that I found was hiding the goto statement in a macro (e.g #define HIDING goto). Then using that macro in other files is not detected as a goto statement. The checker only points to the original file where it is define and not where it is used. Furthermore, if said macro is not used, the checker also fails saying that a goto statement is present. However, since the threshold is 0, it is should not be a problem.

That's a corner case that the tool would not detect. For such corner cases we would need to have a specific implementation.

source: gharchive/pull-request

repo: bao-project/bao-ci

license_type: permissive

license_source: github-api


text:
mybaits-plus 3.1.1 主键自增不生效

当前使用版本(必须填写清楚，否则不予处理)
mybaits-plus 3.1.1 版本
该问题是怎么引起的？(最新版上已修复的会直接close掉)
重现步骤
使用mybatis-plus 3.1.1 版本 表对应entity已设置IdType.AUTO，插入之后的id依然很长，应该还是id_worker形式
报错信息

看文档

按照文档做的 其他主键模式都生效 就是自增不生效哦

source: gharchive/issue

repo: baomidou/mybatis-plus

license_source: bigquery


text:
修复先添加PaginationInnerInterceptor插件，再增加DynamicTableNameInnerIn

修复先添加分页插件，再增加动态表名插件，分页插件count时表名未更新
该Pull Request关联的Issue
无
修改描述
`
public MybatisPlusInterceptor mybatisPlusInterceptor() {
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    //添加分页插件
    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
    //添加动态表名插件
    final DynamicTableNameInnerInterceptor nameInnerInterceptor = new DynamicTableNameInnerInterceptor();
    nameInnerInterceptor.setTableNameHandler((sql, tableName) -> {
        // 返回新表名
        return "newTableName";
    });
    interceptor.addInnerInterceptor(nameInnerInterceptor);
    return interceptor;
}

`
如上代码，先添加分页插件，分页插件执行时，会先执行count查询，这时候动态表名插件未执行，所以动态表名未生效。
可选解决方案：
  1：由用户调整插件添加顺序
  2：代码中把动态表名插件放到第一个

结论：为了减少用户操作，所以选择第2种解决方案，在增加插件时，把动态表名插件放到第一个

参照文档自行调整顺序,不会支持内置

参照文档自行调整顺序,不会支持内置

能请教一下，为啥不内置，提高兼容性呢？

authors: miemieYaho zjb-it


text:
解构的log如何识别

const { log } = console;
log("111")
这种如何识别呢

const { log } = console; log("111")
这种如何识别呢

可以看下logMethodReg，https://github.com/baozouai/vite-plugin-enhance-log/blob/master/src/index.ts#L49
https://github.com/baozouai/vite-plugin-enhance-log#-options

const { log } = console; log("111")
这种如何识别呢

可以看下logMethodReg，https://github.com/baozouai/vite-plugin-enhance-log/blob/master/src/index.ts#L49
https://github.com/baozouai/vite-plugin-enhance-log#-options

不行吧，CallExpression是遍历的函数调用，也就是上面解构出来的log，不能直接匹配"log"，怕误判，好像不好处理

const { log } = console; log("111")
这种如何识别呢

可以看下logMethodReg，master/src/index.ts#L49
baozouai/vite-plugin-enhance-log#%EF%B8%8F-options

不行吧，CallExpression是遍历的函数调用，也就是上面解构出来的log，不能直接匹配"log"，怕误判，好像不好处理

那就不行，你别结构呗

authors: YWJ-hy baozouai

repo: baozouai/vite-plugin-enhance-log

license: MIT


text:
jekyll serve  not working in my Fedora 36 LXDE laptop

Console Output of jekyll serve was:
Configuration file: none
            Source: /home/sohang/My Blog
       Destination: /home/sohang/My Blog/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
     Build Warning: Layout 'post' requested in sohang3112.github.io/_posts/2014-3-3-Hello-World.md does not exist.
     Build Warning: Layout 'page' requested in sohang3112.github.io/404.md does not exist.
     Build Warning: Layout 'page' requested in sohang3112.github.io/about.md does not exist.
     Build Warning: Layout 'default' requested in sohang3112.github.io/index.html does not exist.
  Conversion error: Jekyll::Converters::Scss encountered an error while converting 'sohang3112.github.io/style.scss':
                    File to import not found or unreadable: reset. on line 5
jekyll 3.9.2 | Error:  File to import not found or unreadable: reset. on line 5
/home/sohang/.local/share/gem/ruby/gems/jekyll-sass-converter-1.5.2/lib/jekyll/converters/scss.rb:123:in `rescue in convert': File to import not found or unreadable: reset. on line 5 (Jekyll::Converters::Scss::SyntaxError)
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-sass-converter-1.5.2/lib/jekyll/converters/scss.rb:118:in `convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:101:in `block in convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `reduce'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:83:in `render_document'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:62:in `run'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:479:in `render_regenerated'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:472:in `block in render_pages'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:471:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:471:in `render_pages'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:192:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:71:in `process'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/command.rb:28:in `process_site'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:65:in `build'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:36:in `process'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `block in start'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `start'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/exe/jekyll:15:in `<top (required)>'
	from /home/sohang/bin/jekyll:25:in `load'
	from /home/sohang/bin/jekyll:25:in `<main>'
(sass):5: File to import not found or unreadable: reset. (Sass::SyntaxError)
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:67:in `rescue in import'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:44:in `import'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:28:in `imported_file'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:37:in `css_import?'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:310:in `visit_import'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `map'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `block in visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:157:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:10:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/root_node.rb:36:in `css_tree'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/root_node.rb:20:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/engine.rb:290:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass.rb:57:in `compile'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-sass-converter-1.5.2/lib/jekyll/converters/scss.rb:119:in `convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:101:in `block in convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `reduce'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:83:in `render_document'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:62:in `run'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:479:in `render_regenerated'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:472:in `block in render_pages'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:471:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:471:in `render_pages'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:192:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:71:in `process'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/command.rb:28:in `process_site'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:65:in `build'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:36:in `process'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `block in start'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `start'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/exe/jekyll:15:in `<top (required)>'
	from /home/sohang/bin/jekyll:25:in `load'
	from /home/sohang/bin/jekyll:25:in `<main>'
/home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:65:in `import': File to import not found or unreadable: reset. (Sass::SyntaxError)
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:28:in `imported_file'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/import_node.rb:37:in `css_import?'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:310:in `visit_import'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `map'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `block in visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:157:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:10:in `visit'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/root_node.rb:36:in `css_tree'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/tree/root_node.rb:20:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass/engine.rb:290:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/sass-3.7.4/lib/sass.rb:57:in `compile'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-sass-converter-1.5.2/lib/jekyll/converters/scss.rb:119:in `convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:101:in `block in convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `reduce'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:99:in `convert'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:83:in `render_document'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/renderer.rb:62:in `run'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:479:in `render_regenerated'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:472:in `block in render_pages'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:471:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:471:in `render_pages'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:192:in `render'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/site.rb:71:in `process'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/command.rb:28:in `process_site'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:65:in `build'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/build.rb:36:in `process'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `block in start'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:93:in `start'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	from /home/sohang/.local/share/gem/ruby/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	from /home/sohang/.local/share/gem/ruby/gems/jekyll-3.9.2/exe/jekyll:15:in `<top (required)>'
	from /home/sohang/bin/jekyll:25:in `load'
	from /home/sohang/bin/jekyll:25:in `<main>'

Assignees: sohang3112
Labels: bug

I forked this repository and was following the instructions for locally installing in README.md. The above error occured when I did jekyll serve in the project directory, after succesfully doing gem install github-pages.

@barryclark Do you have any idea why this error could be occurring and how to fix it?

@barryclark Any idea how to fix this error??

repo: barryclark/jekyll-now

license: mit


text:
Generate numeric-string type for model fields with a decimal cast

Summary
Right now, model fields with a decimal type cast are annotated with the string type. This is correct, however typing them with a numeric-string type would help static analysis tools to better understand the code, and also to not flag valid code as incorrect. An example would be the following code:
/**
 * @property-read string $value
 */
readonly class ModelWithString {
    public function __construct(
        public string $value,
    ) {}
}

/**
 * @property-read numeric-string $value
 */
readonly class ModelWithNumericString {
    public function __construct(
        public string $value,
    ) {}
}

$a = new ModelWithString('1.23');
$result = $a->value + 3;

$b = new ModelWithNumericString('1.23');
$result2 = $b->value + 3;

In the above snippet, PHPStan flags the addition operation using the ModelWithString value property as invalid, but is able to check that the operation using the ModelWithNumericString value property is valid code (link to PHPStan's playground).
I am willing to work on this.

I managed to change the properties' types to numeric-string using a model hook, however I couldn't quite figure out how to keep the same nullability as the original ones :thinking:. Here's the code:
class ChangeDecimalCastsToNumericString implements ModelHookInterface
{
    public function run(ModelsCommand $command, Model $model): void
    {
        $casts = $model->getCasts();

        foreach ($casts as $fieldName => $cast) {
            if (!str_starts_with($cast, 'decimal')) {
                continue;
            }

            $command->setProperty($fieldName, 'numeric-string');
        }
    }
}

Even if it's possible to add this behavior as a model hook, I do believe it would be useful to have it by default, as it's widely supported by static analysis tools and IDEs/LSPs.

What is the support for this type?

On static analysis tools, it's supported by:

PHPStan, for a little over 4 years (commit)
Psalm, since pretty much it's beginning (history dates to over 7 years)

On IDE/LSPs, it's supported by:

Intelephense, for a little over an year (issue)
PHPStorm, since 2020 (feature request)

On a second thought, I think that numeric will be more useful than numeric-string in this case, because the decimal cast allows us to write float|int into the property, and this isn't really allowed when using numeric-string, as shown in the following snippet (link to PHPStan's playground). Support should be pretty much the same/wider than numeric-string.
/**
 * @property string $value
 */
class ModelWithString {
    public function __construct(
        public string $value,
    ) {}
}

/**
 * @property numeric-string $value
 */
class ModelWithNumericString {
    public function __construct(
        public string $value,
    ) {}
}

/**
 * @property numeric $value
 */
class ModelWithNumeric {
    public function __construct(
        public string $value,
    ) {}
}

$a = new ModelWithString('1.23');
$a->value = $a->value + 3;
$a->value = '4.56';
$a->value = 4.56;

$b = new ModelWithNumericString('1.23');
$b->value = $b->value + 3;
$b->value = '4.56';
$b->value = 4.56;

$c = new ModelWithNumeric('1.23');
$c->value = $c->value + 3;
$c->value = '4.56';
$c->value = 4.56;

authors: barryvdh ekisu

repo: barryvdh/laravel-ide-helper


text:
use snippet_new url for headline

Honor DPASTE_BASE_URL in the headline url.

[Current coverage][cc-pull] is 95.15%

Merging [#79][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #79   diff @@
==========================================
  Files            11         11
  Lines           330        330
  Methods           0          0
  Messages          0          0
  Branches         38         38
==========================================
  Hits            314        314
  Misses           15         15
  Partials          1          1

Powered by Codecov. Last updated by [5901421...2638096][cc-compare]
[cc-base-branch]: https://codecov.io/gh/bartTC/dpaste/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/bartTC/dpaste/compare/59014216574285687fd3e3f93e564797c1c7f2af...26380964489929d6bc098cad12fd20b54b7eff4c
[cc-pull]: https://codecov.io/gh/bartTC/dpaste/pull/79?src=pr

Makes sense, thank you.

authors: bartTC codecov-io nixon

repo: bartTC/dpaste


text:
No response to a click event after the pdf has finished loading in 2.3.0.

No response to a click event after the pdf has finished loading in 2.3.0.However, it is possible to do this before loading is complete.

This library requires at least API 11, which is Android 3.0.

authors: barteksc legallonly

repo: barteksc/AndroidPdfViewer


text:
Registry updates

What changed? Why?
I updated the Registry API content to reflect the most recent data structure changes and added the Registry API link to the sidebar now that we are no longer in beta.
How has it been tested?
I tested these changes by running the docs site locally.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
1/2

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
1

Sum
2

Review Error for brendan-defi @ 2024-07-24 17:09:13 UTC
User failed mfa authentication, see go/mfa-help

authors: cb-heimdall mbeutt-cb

repo: base-org/web


text:
🛑 staging site is down

In 244b655, staging site (https://sitedoctors-in.stackstaging.com/wordpress) was down:

HTTP code: 403
Response time: 484 ms

Resolved: staging site is back up in f1c3aa2 after 26 minutes.

repo: basharatreyaz/uptimebot


text:
Allow transport specific options to be passed through RiakClient.

Added a new optional parameter transport_options, which is optionally
provided and passed through to the transport class constructor. Allows
custom settings to be passed through.

+1 Thanks!

authors: armon seancribbs

repo: basho/riak-python-client


text:
Release notes - possibility of ongoing YZ support

Since first drafting the release notes there may be renewed interest in both using yokozuna beyon Riak 2.9, and helping maintian it.
The release notes now reflect the increased doubt over deprecation.

+1 I'm happy with this

authors: martinsumner ramensen

repo: basho/riak


text:
Does Basscss provide any support for LESS?

Does Basscss provide any support for LESS?  Also, are their any built-in utilities we can use with LESS when it comes to this framework?

What do you mean by "support"? LESS (et al.) can include .css files as a part of their builds, since their syntax is simply a superset of CSS.

I apologize @mcordingley I have moved on from this original question and it has completely slipped my mind why I would ask that to begin with.  Please forgive me.

authors: blachawk mcordingley

repo: basscss/basscss


text:
[BUG] tab org-cycle appears no longer bound/working in org-journal Journal mode

Describe the bug
On visiting my org-journal file, tab no longer seems to open or close headings a la org-cycle.
To Reproduce
2 things about my journal flie:

It is yearly
It is encrypted (so org.gpg extension)

Visit file normally via org-journal-new-entry (bound to CMD-j in my system), selecting the journal file in Deft, or byopening the file normally. For some reason, the org-cycle, tab binding which worked until very recently does not work. Tab to org-cycle headings works fine in normal (non-journal) org-mode files fine.
nb: C-c C-f and C-c C-b for opening forward and previous entries does work - sp there is a workaround.).
Expected behavior
Tab on a headline should org-cycle headings. At the moment it merely does nothing (a particular problem if the journal flie opens up completely folded by date)
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: OSX 12.3.1
Emacs Version 29.0.50  (installed via homebrew dfrosted)
Mac is M1 chipped

Your Emacs Configuration
The part relevant to org-journal.

;; Org Journal config
(use-package org-journal
  :straight t
  :defer t
  :custom
  (org-journal-dir "~/Library/Mobile Documents/iCloud~com~appsonthemove~beorg/Documents/org/journal")
  (org-journal-file-type 'yearly)
  ; (org-extend-today-until 01)
  (org-journal-file-format "journal-%Y.org")
  (org-journal-date-format "%Y-%m-%d %a")
  (org-journal-created-property-timestamp-format "%Y-%m-%d")
  (org-journal-encrypt-journal t)
  (org-journal-enable-cache t)
  (org-journal-carryover-items nil))

Does it work if you open your journal file in org-mode instead of org-journal-mode?

Strangely, if I open the file via Deft (even in Journal mode), it works fine. The issue seems to be with it opening via the org-journal-new-entry command (which I have keymapped to M-j).
Switching the file to org mode when it is not working makes it work (as does then flipping it back to org-journal-mode).
Why it's not working after the new entry command is issued has me a bit stumped. (I did a recent straight-pull-all so imagine it updated from a much earlier version of the package then.).

As far as I know, we aren't doing anything with the tab key. No idea what's happening here, honestly.

Oh, I believe you. Bit stumped myself, as all I can think of it's some weird change made in org-mode or perhaps the origami plugin I use for ledger and uses outline mode is somehow interfering with things. Will poke around a bit more. Like I said, the strangest thing is it only seems to affect the file when I trigger it via the new journal entry command, which is... strange... =]

Do let me know what you find out! Poking at org-journal's internals is always interesting.

I've found that if I'm in org-journal-mode and run outline-hide-sublevels then the issue presents itself. Not sure why that causes an issue to be honest, but wanted to provide some details that might be helpful.

I'm having the same issue.
Changing the org-journal-time-prefix to an empty string with:
(setq org-journal-time-prefix "- "
Stops it from happening for me.
However, doing this leads to another bug where my TODOs from the previous day wont get carried over and I get an error that says: "wrong-type-argument number-or-marker-p nil"
The same as this issue: https://github.com/bastibe/org-journal/issues/65

Hi. I had the exact same issue. But it seems to be fixed after I set org-fold-core-style to overlays instead of the default text-properties, so (setq org-fold-core-style 'overlays). Just for context, and maybe to further look into the issue, the reason I made this change is actually because of an issue I had with the consult package and I followed a solution from https://github.com/minad/consult/issues/563. Maybe this helps.

I'm having the same problem. I have isolated the symptom:

It only happens after executing org-journal-new-entry
And  (org-cycle) will not work for all the journal entries but the last one (newly created journal entry)
Perform M-x org-journal-mode will remove the problem
I have org-journal-time-prefix set to "** "
org-fold-core-style to 'text-properties

Yes, setting org-fold-core-style to 'overlays and re-execute M-x org-journal-mode, and adding another journal entry,
I still can org-cycle the other entries' visibility. The problem is solved with the fix.

authors: Leo0liver bastibe samschulter wakatara wrrn yubrshen

repo: bastibe/org-journal


text:
Allow for remapping Volume buttons in ES

Issue description
Please make it possible to map volume to any buttons and any input to the volume buttons.

While the external "scripted" methods documented on wiki do work, it makes no sense why native integration does not exist that allows es_input.cfg to do them itself out of the type="keyboard" entry, i.e.,:
		<input name="volumeup" type "key" id="1073741952" value="1" />
		<input name="volumedown" type "key" id="1073741953" value="1" />
		<input name="quit" type="key" id="1073742093" value="1" />

... the media volume keys are self-evident, but as for another useful example, a functional ES "quit" function mapped to a keyboard with a "Home Page" button (OS typically launches default web browser) would be nice too.  Certainly, there are others that be explored, but these 3 are essential.
Thanks for your consideration.

authors: dfilskov theflyingape


text:
relation and attribute players in relation

currently, only entities can be players in a relation - this needs to be extended and tested to relations and attributes.

Two parts to this:

add attributes and relations as players in the first place
add listseparator functionality for players in a relation (relevant for attributes and entities, and relations if they have an ID)

Two parts to this:

add attributes and relations as players in the first place
add listseparator functionality for players in a relation (relevant for attributes and entities, and relations if they have an ID)

finished implementing listseparators for players - should not matter if they are entities or relations
relations in relations up next

finished implementing listseparators for players - should not matter if they are entities or relations
relations in relations up next

update - put attriubutes as players in relation into separate issue... requires a different way of doing migration altogether... awaiting use case

update - put attriubutes as players in relation into separate issue... requires a different way of doing migration altogether... awaiting use case

implementation finished - merge-request coming

implementation finished - merge-request coming

repo: bayer-science-for-a-better-life/grami


text:
CI flakiness issues

Summary
Over the last few weeks I've noticed an increase in flakiness when running PR tests. Typically the tests pass again after being re-run. We should look into why these tests are flaky and fix it if possible
Issue 1
# Host config
  bazelisk test --local_test_jobs=1 -- //... -//tests/ios/...

  # `deleted_packages` is needed below in order to override the value of the .bazelrc file
  bazelisk test --local_test_jobs=1 --apple_platform_type=ios --deleted_packages='' -- //tests/ios/...
  shell: /bin/bash -e {0}
2022/08/17 17:[3](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:3)0:30 Downloading https://releases.bazel.build/5.0.0/release/bazel-5.0.0-darwin-x86_6[4](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:4)...
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
Loading:
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 26 packages loaded
    currently loading: tests/ios/frameworks/dynamic/c ... (2 packages)
Loading: 34 packages loaded
    currently loading: tests/ios/lldb/app ... (2 packages)
Loading: 70 packages loaded
    currently loading: tests/ios/lldb/app ... (4 packages)
Loading: 70 packages loaded
    currently loading: tests/ios/lldb/app ... (4 packages)
Analyzing: 194 targets (74 packages loaded, 0 targets configured)
Analyzing: 194 targets (87 packages loaded, 317 targets configured)
Analyzing: 194 targets (88 packages loaded, 317 targets configured)
Analyzing: 194 targets (89 packages loaded, 322 targets configured)
Analyzing: 194 targets (89 packages loaded, 322 targets configured)
Analyzing: 194 targets (110 packages loaded, 34[5](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:5) targets configured)
Analyzing: 194 targets (134 packages loaded, 730 targets configured)
Analyzing: 194 targets (135 packages loaded, 730 targets configured)
Analyzing: 194 targets (135 packages loaded, 730 targets configured)
Analyzing: 194 targets (135 packages loaded, 730 targets configured)
Analyzing: 194 targets (135 packages loaded, 730 targets configured)
DEBUG: /Users/runner/work/rules_ios/rules_ios/rules/library/xcconfig.bzl:21:12: CLANG_TRIVIAL_AUTO_VAR_INIT: "unknown" not a valid value, must be one of ["uninitialized", "pattern"]
Analyzing: 194 targets (145 packages loaded, 5738 targets configured)
Analyzing: 194 targets (145 packages loaded, 5738 targets configured)
Analyzing: 194 targets (145 packages loaded, 5738 targets configured)
ERROR: /private/var/tmp/_bazel_runner/c2342bca25[6](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:6)9556[7](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:7)c[8](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:9)c3f3be166b56b3/external/bazel_tools/tools/cpp/BUILD:57:1[9](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:10): Target '@bazel_tools//tools/cpp:current_cc_toolchain' depends on toolchain '@local_config_cc//:cc-compiler-darwin', which cannot be found: error loading package '@local_config_cc//': cannot load '@local_config_cc_toolchains//:osx_archs.bzl': no such file'
ERROR: Analysis of target '//tests/framework/platforms:framework_deps_macos_[10](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:11)1000' failed; build aborted:
INFO: Elapsed time: 265.202s
INFO: 0 processes.
FAILED: Build did NOT complete successfully ([14](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:15)5 packages loaded, 57[38](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:39) targets configured)
ERROR: Couldn't start the build. Unable to run tests
FAILED: Build did NOT complete successfully (1[45](https://github.com/bazel-ios/rules_ios/runs/7884302805?check_suite_focus=true#step:4:46) packages loaded, 5738 targets configured)
Error: Process completed with exit code 1.

Majority of flaky failures seem to be related to:
Target '@bazel_tools//tools/cpp:current_cc_toolchain' depends on toolchain '@local_config_cc//:cc-compiler-darwin', which cannot be found: error loading package '@local_config_cc//': cannot load '@local_config_cc_toolchains//:osx_archs.bzl': no such file'

More info: https://github.com/bazelbuild/bazel/issues/14603

Looks like the fix for the osx_toolchain issue is to update to Bazel 6.0.0

@luispadron 💯 I've seen similar longstanding Bazel flake - e.g. over 6 years where these config rules failed under host CPU resource contention. The ones you linked are also here:
https://github.com/bazel-ios/rules_ios/issues/329
https://github.com/bazel-ios/rules_ios/issues/361
If it continues without fix, I'd propose to quickly add back a vendorized toolchains - to side-step the flake until someone addresses it

Oh wow its been around for a while the. The issue i linked, links out to a patch made to Bazel to fix this but i cant find the commit Bazels change logs 🤔.
From the PR it looks like it should've made it to one of the 6.0 tags though so whenever that gets released we could possibly update. Would we want to use the rolling 6.0 releases on this repo at all? I see rules_apple does this

This had just sat in code review - maybe we should re-open it: https://github.com/bazelbuild/bazel/pull/14328

Yeah - I also think it'd be reasonable to temporarily vendorize and iterate on a the autoconfig repo rule in rules_ios with the intention to upstream them back longer term

CI is less flaky now

authors: jerrymarino luispadron


text:
swift_argument_parser@1.3.2

Needed by rules_swift@2.0.0-rc1.

Hello @keith, @jpsim, modules you maintain (swift_argument_parser) have been updated in this PR. Please review the changes.

authors: bazel-io brentleyjones

repo: bazelbuild/bazel-central-registry


text:
Add rules_erlang@2.3.0

Submitted for your approval, bazel rules for erlang
Developed by the RabbitMQ team

Checks fail as these rules expect erlang to be installed outside of bazel. Any advice, on appropriate checks to configure? Building erlang itself within bazel was not trivial when I investigated previously. We do test these rules with github actions in the repo: https://github.com/rabbitmq/rules_erlang/runs/5419491652?check_suite_focus=true

@pjk25 Can you install erlang via shell_commands (for Linux and macOS) and batch_commands (for Windows)?
Eg. https://github.com/bazelbuild/continuous-integration/blob/29d52b66e6e3bfff9a4b33f6467d6ddba34cbc31/pipelines/tensorflow.yml#L7

I finally managed to sort out my CLA issues :-)

Is this ready for review? I notice it's not tested on Windows, do you still want to enable test on Windows?

We test on windows with github actions on the rules_erlang repo itself, leveraging the erlef/setup-beam@v1 action from the marketplace to setup erlang on windows. It's reasonably convenient and gives us coverage in that context.
The kerl utility that we use to run the tests here for mac/linux isn't available for windows, so I've not added the equivalent here. I didn't think it was worth the effort, but if there is something valuable to be gained, I could look into it.


text:
Make livereload usable for custom rules

First, thanks for your work on ibazel. It's an important part of my development workflow, as I discuss below.
I'd like to start a conversation about making ibazel's livereload feature easier to integrate with custom rules. Here's the current situation. If I have an executable Starlark rule foo, ibazel run :some_foo_target works OK without any modification to the foo rule implementation. When any of the target's inputs change, ibazel kills whatever the foo target was doing and restarts it with the fresh files. For executable rules that do something like print to a terminal, this is an ideal development experience.
For rules that do something more expensive/complex like bring up a web server and open a browser, the base ibazel behavior is not a good development experience. (For example, in a webapp rule I've written, editing a CSS or JS file causes ibazel to kill both the server and the browser, then bring them back a few seconds later.) It would be great if there was a simple API for custom rules to gain livereload superpowers.
My vision is this: any rule that produces JS, CSS, or HTML (or any outputs that it is valuable to show in a browser) should be able to be invoked with ibazel run and have livereload just work.
Currently, it is possible to get a custom rule to work with livereload, but it isn't easy. The rule has to set up a web server that can read the magic IBAZEL_LIVERELOAD_URL environment variable on startup and inject script tags pointing to that URL in the HTML files it serves. ts_devserver does this, but it also does a lot of other stuff (concatenating JS, injecting require.js) that may not be appropriate for custom rules.
I think there is an opportunity here to make ibazel useful for a great deal of frontend toolchains by providing this logic. I've implemented it in a private repository, and would be willing to do the work to upstream it here. But before talking about technical details, I wanted to get your overall thoughts.
Maintainers, what do you think? Does this fit in with the scope and purpose of this project? (I know there's some overlap between ibazel and ts_devserver, and they seem to have been developed tightly coupled. I'm asking here first because the ibazel repo seems like the right level of generality for this logic.)

Thanks for the kind words!

Maintainers, what do you think? Does this fit in with the scope and purpose of this project? (I know there's some overlap between ibazel and ts_devserver, and they seem to have been developed tightly coupled. I'm asking here first because the ibazel repo seems like the right level of generality for this logic.)

It definitely sounds interesting. My concerns are going to be around the combinatorial explosion of languages that might need to be supported. Maybe as a first step you could make the private repo public or share it with me so I can figure out what the code you're proposing looks like. I'm definitely amenable to moving the logic in here as long as we find a reasonable abstraction layer.

The API I have in mind would be completely language- and rule-agnostic. Briefly, if you are the author of a rule foo with an implementation like this:
def foo_impl(ctx):
  outputs = ... # generate JS/CSS/HTML/etc. somehow
  return [
    DefaultInfo(files = outputs),
    # more providers we don't need to know about
  ]

then we would provide a serve function that returns a Runfiles object that you can just drop into the runfiles returned by the rule:
def foo_impl(ctx):
  outputs = ... # generate JS/CSS/HTML/etc. somehow
  return [
    DefaultInfo(
      files = outputs,
      runfiles = serve(outputs), # or choose some subset to serve
    ),
  ]

(serve would also write to ctx.outputs.executable.) This 1-line change would make your rule now work with ibazel livereload.

Maybe as a first step you could make the private repo public or share it with me so I can figure out what the code you're proposing looks like.

My current implementation is in Java with a bunch of Dagger bindings. It's probably more complex than it needs to be, so over the next few days I'll try to get a simple Go implementation working and publish it.

I'm definitely intrigued by this proposal, but I'm not sure I have enough context on it to fully understand.

serve will be passed the ctx object as well, right? If not, how does it write to the outputs?
Is serve is going to put an additional file in the runfiles directory? Does this mean a bazel query on the target to get all its configuration settings out?

I've published bazel-runfiles-server as a proof of concept. It defines the server (still in Java instead of Go, but pretty simple), as well Starlark APIs for using the server from custom rules with basically a 1-line change.
The repo includes examples of using this from a rule under your control (I wrote a simple rule to render TeX to HTML using KaTeX, and got livereload working), as well as how to get livereload working if you don't control the rule (I used the third-party Pandoc rules to render Markdown to HTML, and defined a separate ibazel-aware serve() target). The repo's readme discusses these use cases in more detail.
Regarding your specific questions, yes, serve_this takes ctx and returns a runfiles object, which rule authors are expected to propagate as their own runfiles. This means that the rule cannot already be executable (since serve_this writes to ctx.outputs.executable). I'm not sure

Is serve is going to put an additional file in the runfiles directory? Does this mean a bazel query on the target to get all its configuration settings out?

Yes, serve_this adds additional runfiles. But I'm not sure why this requires a bazel query; I got all this working without modifying ibazel.
I'll let you look over the repo for a few days. Hope this clarifies the scope of the project. Thanks for your time!

Gentle ping for feedback on this proposal. Do you think bazel-runfiles-server would be appropriate for upstreaming here? I got in touch with a rules_pandoc committer about this and they responded enthusiastically, as you can see in the link above.

So sorry to be slow on this. I think this does a good job of showing where you would like things to be.
First, this is a very cool idea. The thing I like the most is the ability to turn any other rule into a live reloading target. Way to think creatively and bring it to fruition. This is almost certainly something I will use personally if we merge it. My question to you is, how should we go about merging it? What pieces would you like to live in iBazel's repo and what would you like to have external? My personal preference is to stick with a single language for the project, would you be receptive to the server being rewritten in golang as a part of iBazel's repo?

Thanks for the feedback!
The main risk I see with upstreaming this is that people are going to want more complexity put into the server: CORS headers, certificates, dynamic logic, etc. I like the simplicity of "serve whatever is in runfiles with zero extra semantics", so hopefully we can stay close to that.

would you be receptive to the server being rewritten in golang as a part of iBazel's repo?

That's a reasonable request. I'll port it to Go over the next couple of weeks and ping this thread when it's ready. By then, I should have a more precise idea of how to land the code in this repo.

Update: I've ported the repo to Go. Thanks for your patience. I'm going to rebase the repo against upstream, and I should have a PR ready by the end of the week.

Can we re-visit this issue? Trying to get livereload to work with ibazel is still non-trivial. The suggested ideas here and the proof of concept seem like they'd be incredibly easier to use.

There isn't anything that prevents you from using the poc. Nothing in ibazel was changed so there isn't any code modification necessary in ibazel to use it.

Right, that's what I ended up doing. The part I'd like to revisit is merging that work into this repo.
The reason I'd like to revisit merging into this repo is three-fold:

As it sits now, it's pretty hard to get livereload working. I couldn't get any of the other suggestions in this repo to really work. The suggestions of using environment variables doesn't reliably work since different servers that do some kind of livereload don't always look at environment variables. It's also hard because not every server follows the livereload protocol, so it's kind of hit or miss whether it's going to work.
There's already a PR that seems to only have been closed out of staleness: #261.
There's no telling how long that proof-of-concept repo is going to be around. The alternative is for people to fork that repo, vendor the rules in each workspace, or something else. That works, it's just more friction to having livereload working.

If there's a different alternative you'd prefer, that's fine too. I don't particularly care about how it's implemented. I'm not vested in seeing that proof-of-concept proliferating. It's an incredibly interesting application of all the pieces, but all I'm hoping is that there's some (easy) way to do livereload with ibazel.

authors: Ubehebe achew22 joneshf

repo: bazelbuild/bazel-watcher


text:
npm package is not updated to the latest version

Describe the bug
According to https://www.npmjs.com/package/@bazel/ibazel the latest published version is 0.16.2, but it should be 0.22.0

This is still relevant. Please reopen.

It seems there's meant to be automation for this
https://github.com/bazelbuild/bazel-watcher/blob/f78923be89d6e9c6627c8a190a1ed3c52873ce11/.github/workflows/release.yaml#L120-L143
but the release_npm step is red for the last release: https://github.com/bazelbuild/bazel-watcher/actions/runs/5330775118
@achew22 would you like some help on that?

authors: alexeagle condemil jfirebaugh


text:
Avoid decompressing jars/zips in scrooge support

Use scrooge's native support for zip/jar to avoid all the decompression we were doing.
@ianoc please take a look.
We don't actually have tests in the repo that exercise "absolute_path" or the remote_jar which are a features we are using internally. I will try to add tests for that (I'm actually a bit confused about what absolute_path does, but I think it basically chops off a prefix of the path).
Before I merge I want to try to build an internal repo with this change and see if it improves performance. It should, since it avoids a lot of file system operations, and we possibly only decompress files that are actually needed, since it seems scrooge is reasonable smart about that.

so, it looks like this change uncovers a hygiene issue. It passes the test locally, and on travis, but not on bazel CI, where there is sandboxing.

Seems fine to me, obviously need to fix the bug triggering the build failure.
Even if its the ~same speed, it seems much cleaner to me so worth merging

Could you add some flavor on what the issue was with the build hygiene and what the gist of all the new code is? (its a big diff again)

Yeah, let me know how much we should add to the comments:

The build hygiene was that the import happened to be the same relative path to the file on the disk after bazel does it's stuff in bazel-bin. Since scrooge always adds a Importer(".") it would find it from that path by happenstance of how bazel works, but not if there is sandboxing preventing it from seeing it.

The solution is make a new Compiler class, don't reuse thrifts, and have better control of how importing works. Doing this I learned that scrooge's zip/jar support is pretty broken and really only works if all imports are considered relative to some fictional root directory (a style done at Twitter, but not really standard for thrift). With my new Compiler, I could only add the importers I want. I made a new importer which is a zip importer that also knows where it is in the zip file. In this way, it could use a thrift jar that itself has internal relative imports (such as our monster thrift jar at Stripe).

I still have not tested it at Stripe, I am going to try that next.

On an internal aggregate target with a lot of thrifts, this now takes:
(build 1 time, did a clean, timed the second build)
INFO: Elapsed time: 86.657s, Critical Path: 83.56s

real    1m26.787s
user    0m0.073s
sys     0m0.054s

with the old code which does decompression we have:
INFO: Elapsed time: 132.874s, Critical Path: 130.12s

real    2m12.979s
user    0m0.066s
sys     0m0.047s

which is a 65% reduction in elapsed time, so it looks like a fairly good win.

reusing the ZipFile didn't seem to speed anything up, but I guess is a bit friendlier on the GC, so we can keep it.
My guess is that the slow scala parser combinators are the next thing to look at, but at that point, you are really forking or doing a lot of work to upstream code to Twitter.

LGTM
At the top of the scrooge compiler copy pasta could you just outline the weaknesses from your comment ^^, and generally what we do different/why (so allowing paths used in the src jars)

The bazel ci seems to be stuck, but is reporting green if you click on it.
I'm going to merge based on @ianoc 's support.

closes #41

authors: ianoc johnynek oscar-stripe


text:
importing the code

how do i import this code into my android application . Also how do i run it?

I'm not sure how to develop Android applications so cannot help there.
it is a javascript library which is targeted at nodejs. A package has been published to npmjs.com (https://www.npmjs.com/package/sound-detection) so you should be able to import this library into any nodejs application, there is an example in the README.md file (https://github.com/bazwilliams/sound-detection/blob/master/README.md#sample-app).
Good luck!

authors: NishanthMolleti bazwilliams

repo: bazwilliams/sound-detection


text:
🛑 APP is down

In 851c470, APP (https://www.bazzile.app) was down:

HTTP code: 503
Response time: 754 ms

Resolved: APP is back up in 3568046.

repo: bazziletech/monitoring


text:
Replace crack with nokogiri?

The latest release of crack was over 3 years ago, and there are unresolved issues with Ruby 3.3, such as https://github.com/jnunemaker/crack/pull/75.
Would you consider a PR which switches to Nokogiri instead for XML parsing?

Alternatively, the very small implementation could just be copied into the WebMock.

@andyw8 thank you for reporting the issue.
@kiskoza thank you for the rapid response and releasing the new version :)
If crack is still being maintained, I don't see any reason to replace it with copied implementation or heavyweight nokogiri.
@kiskoza do ever you plan to do a 1.x release of crack?

I'm open to release a v1 if there's a need for it, let's have a discussion on jnunemaker/crack#63

authors: andyw8 bblimke kiskoza

repo: bblimke/webmock


text:
🛑 wiki.bbon.me is down

In e7773a6, wiki.bbon.me (https://wiki.bbon.me) was down:

HTTP code: 0
Response time: 0 ms

Resolved: wiki.bbon.me is back up in 13f4ca9.

repo: bbonkr/uptime


text:
revise help output

quick revision of the output from elm2nix --help.  gave it a quick test on a project and seems normal.

output now looks like this:
bburdette@BB-5520:~/op-code/elm2nix$ cd result/bin/
bburdette@BB-5520:~/op-code/elm2nix/result/bin$ ./elm2nix
elm2nix 0.2.1

Usage: elm2nix COMMAND
  Convert Elm project to Nix expressions

Available options:
  -h,--help                Show this help text

Available commands:
  init                     Generate default.nix (printed to stdout)
  convert                  Generate Nix expressions for elm.json using
                           nix-prefetch-url
  snapshot                 Generate registry.dat

    Usage:

      $ elm2nix init > default.nix
      $ elm2nix convert > elm-srcs.nix
      $ elm2nix snapshot
      $ nix-build

      Note: You have to run elm2nix from top-level directory of an Elm project.

bburdette@BB-5520:~/op-code/elm2nix/result/bin$


text:
Circular import fix

This fixes the problem with circular imports. Pulled up all functions that use the registry.  Pushed down model classes with Implementations, so that interfaces are in the same submodule as the implementations.

Codecov Report

Merging #31 (89c165d) into main (9cd5224) will decrease coverage by 0.02%.
The diff coverage is 97.15%.

@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
- Coverage   96.76%   96.73%   -0.03%
==========================================
  Files          43       33      -10
  Lines        2655     2633      -22
==========================================
- Hits         2569     2547      -22
  Misses         86       86

Impacted Files
Coverage Δ

datagen/registries.py
80.85% <50.00%> (ø)

datagen/casters.py
95.29% <66.66%> (+0.05%)
:arrow_up:

datagen/supplier/uuid.py
82.35% <82.35%> (ø)

datagen/preprocessor.py
94.77% <85.71%> (-0.04%)
:arrow_down:

datagen/supplier/csv.py
97.65% <90.47%> (ø)

datagen/builder.py
95.90% <92.30%> (+0.04%)
:arrow_up:

datagen/supplier/date.py
92.85% <92.85%> (ø)

datagen/suppliers.py
95.65% <95.45%> (-0.84%)
:arrow_down:

datagen/_registered_types.py
97.52% <97.52%> (ø)

datagen/supplier/network.py
97.67% <97.67%> (ø)

... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9cd5224...89c165d. Read the comment docs.

authors: bbux-dev codecov-commenter

repo: bbux-dev/datagen


text:
IE8  'undefined' is null or not an object / "Object doesn't support this action"

We're getting the error 'undefined' is null or not an object on our validations in IE8.
The problem is that settings.validators evaluates to undefined. We've tracked it down to

user_new = "asd"
Error:  "Object doesn't support this action"

window['user_new'] = "asd"
Error:  "Object doesn't support this action"

Which is due to IE taking over these variables.
I noticed that this was already reported 1.5 months ago as https://github.com/bcardarella/client_side_validations/issues/186 but it still hasn't been fixed in a stable release.

having the same issue here (also IE8)
although the https://github.com/bcardarella/client_side_validations/issues/186 fixes were heading the right way, in the meantime some further changes in the master branch broke the fixes for me again.

We backported the commits from that issue to the stable-3-1 branch. We've pushed the changes to https://github.com/FundingCircle/client_side_validations/tree/3-1-stable
You can try our changes with this entry:
gem 'client_side_validations', :git => "git://github.com/FundingCircle/client_side_validations.git", :branch => "3-1-stable"

We're not yet in production but this seems to have resolved the issue.

authors: dpree morganchristiansson


text:
Migrate BCCM ui translation to phrase

UI

give pris access to translate interface

User created, email sent.

authors: KillerX mulundapm

repo: bcc-code/bcc-media-platform


text:
adding backups and readme.md

adding dashboard backups and readme file

Hi @WadeBarnes , documentation has been updated now. Please let me know if it requires any additional changes.

https://github.com/bcgov/DITP-DevOps/pull/84/commits - Hey Wade, I have just created a new branch and added the changed there

Closing in favor of https://github.com/bcgov/DITP-DevOps/pull/77

repo: bcgov/DITP-DevOps


text:
Student Application Update-YEAF Revisions

This is fully replaced by #2102. Suggest closing this ticket altogether to avoid confusion.
@Jason- who does this downstream impact analysis? You? The Devs, me? Can we get ahead of the Devs here?
@Biz Team- Can you please screenshot all the places you see YEAF Content change to YIC.. This will help streamline things.
- Confirming Reporting Requirements "Report on all students YIC" (.. Discuss for MVP or?)
@All We need UX on this one- What is the standard for "banner below or hover over question mark?

We likely need to break this ticket

Describe the task
Perform analysis on this information for reporting purposes.

What kind of reporting is needed?
Is the logic for this question already in the workflow? In other words, is this only a wording change or is this new functionality?
How will we know that the assessment has successfully waived the student contribution?
What is the expected output of waived vs not waived funding amounts?

Context
Revise wording to use ‘youth in care’ as the umbrella term.
Current question is worded as: “Were you ever a youth in continuing care…..”
Revised wording of the actual question should read: “Were you ever considered a child or youth under government care?”
Associated content (either help text displayed in the ‘?’ or wth a banner message underneath the question) should read “Government care could be qualified as Ministry of Children and Family Development (MCFD) or Indigenous Child and Family Service Agency [ICFSA] care, care through the Ministry of Social Development and Poverty Reduction [SDPR] Child in the Home of Relative Program or government care through a Canadian province or territory outside of B.C.)”
Question should have two options: yes or no.
Selecting ‘no’ has no impact.
Impact of selecting ‘Yes’ to this question should result in:
•	Indicating in database that this applicant is a former youth in care. This is for purposes of running a report to identify all youth in care students, so SABC can target additional funding programs to these students.
•	Waiving the student fixed contribution for this application
Introduce new sub-question for anyone who answers ‘yes’ to being a former youth in care.
Question should read “Are you, or were you at the time of your 19th birthday, in continuing care or custody of a director of child welfare in B.C.
Associated content (either in “?’ or with banner underneath the question) should read: “This means that the provincial government is currently your legal guardian if you are younger than 19 or was your legal guardian at the time of your 19th birthday”
If student answers no, no effect.
If student answers ‘yes’, then student is automatically converted to independent status and treated as independent for the entire assessment workflow. This independent status would overrule any other application logic which might suggest otherwise.
Acceptance Criteria

[ ] 1. Conduct Impact Analysis
[ ] Assess the down stream impacts of this change
[ ] Document the impacts in this ticket on the:

[ ]  The Impacts to Reporting. What kind of reporting is needed?
[ ] Is the logic for this question already in the workflow? In other words, is this only a wording change or is this new functionality?
[ ] How will we know that the assessment has successfully waived the student contribution?
- [ ] What is the expected output of waived vs not waived funding amounts?
- [ ] Anything else?

[ ] Confirm Impact Analysis with PO

[ ] 2. Change YEAF Content (pending no major impacts identified): Revise wording to use ‘youth in care’ as the umbrella term across the whole application

[ ] 3. Revise Student Application Question Current question is worded as: “Were you ever a youth in continuing car…..”
-Change to: “Were you ever considered a child or youth under government care?”

[ ] 4. Question should have two options: yes or no as options
Selecting ‘no’ has no impact.
Selecting ‘Yes’ to this question should result in: - Introducing new sub-question for anyone who answers ‘yes’ to being a former youth in care. (Details below in #6)
[ ] Reporting Indicating in database that this applicant is a 'former youth in care'. This is for purposes of running a report to identify all youth in care students, so SABC can target additional funding programs to these students.
[ ] Assessment Waiving the student fixed contribution for this application. Is this Rule already in assessment

[ ] 5. Add Help Text -(either help text displayed in the ‘?’ or with a banner message underneath the question)
-Help Text Should Read “Government care could be qualified as Ministry of Children and Family Development (MCFD) or Indigenous Child and Family Service Agency [ICFSA] care, care through the Ministry of Social Development and Poverty Reduction [SDPR] Child in the Home of Relative Program or government care through a Canadian province or territory outside of B.C.)”

[ ] 6. Introduce new sub-question for anyone who answers ‘yes’ to being a former youth in care
New Question should read “Are you, or were you at the time of your 19th birthday, in continuing care or custody of a director of child welfare in B.C.
If student answers no, no effect.
If student answers ‘yes’, then student is automatically converted to independent status and treated as independent for the entire assessment workflow.
[ ] Independent Status This independent status would overrule any other application logic which might suggest otherwise.

@HRAGANBC -CLOSED

authors: JasonCTang michesmith

repo: bcgov/SIMS


text:
Content: Student: Partner Information fixes

User Story
As a student user, I want to have clearer language and questions removed in the partner information section so that I can provide the information that SABC requires.
Acceptance Criteria
Partner Details section

[ ] Revise "Is your partner eligible for a B.C. Services Card? " to ""Is your partner eligible for a BC Services Card account?"
[ ] Keep information bullet and header wording and revise " If partners cannot access....."  to ""If your partner is not eligible for a BC Services Card account, you will need to report their financial information on their behalf.  Please note this information may be subject to audit and review, which could delay your application."

[ ] Remove question, radio buttons and associated text field "Will your partner receive income assistance/social assistance (welfare) and/or BC income assistance for persons with disabilities during your study period?"

[ ] Remove question, radio buttons and associated text field "Will your partner be in receipt of Employment Insurance benefits during your study period?"

[ ] Remove question, radio buttons and associated text field "Will your partner be in receipt of federal or provincial permanent disability benefits during your study period?"

Business Context
The three questions above have no impact on PT applications.  However, they do need to be available for FT (TBD)
Reference file attached: Partner Information.pdf

@JerPearson
On the second AC:

Keep information bullet and Revise " Please be advised..." entire section to ""If your partner is not eligible for a BC Services Card account, you will need to report their financial information on their behalf. Please note this information may be subject to audit and review, which could delay your application."

The structure for these banners is to have a header (in bold) and then content below. Is it possible to keep this consistent for this one rather than removing the heading?

@CarlyCotton made changes to second AC . Good catch!

authors: CarlyCotton JerPearson astridSABC


text:
Content: Adding Bankruptcy/Default question to part-time application

Adding question 18/19 from the current part-time application to SIMS.
Acceptance Criteria
To the personal information page add the following questions:

[ ] "Have you ever declared bankruptcy that included student financial assistance?"
[ ] Add radio buttons "Yes" and "No"
[ ] "Are you currently in default of a Canada Student Loan (full-time or part-time?"
[ ] Add radio buttons "Yes" and "No"
[ ] Expected outcomes TBD

Duplicate ticket created due to Zenhub error.  Closing.


text:
Verification bug/fixed when using Aries Askar -- verification fails when presenting multiple revocable credentials

A bug in Indy Shared RS's implementation of AnonCreds (called CredX) was found such that the verification of a presentation with more than one revocable credential would always fail, even if the credentials presented were not revoked.  The bug is fixed in CredX release 0.3.0.
For Aries Askar deployments of BC Wallet, make sure that the 0.3.3 version of CredX is being used.
This bug MAY also be in the AnonCreds Rust library (issue being added). I'm not certain what is being used with Askar for AnonCreds in AFJ and hence, in BC Wallet.

I don't think AFJ uses CredX. We will double check

authors: cvarjao swcurran

repo: bcgov/bc-wallet-mobile


text:
Create Record Updates

#23264

Updates Create Record flow to include 'Description' and include in payload
Refactors to Nav Footer for Re-Use between flows
Creates Layouts for create and edit
Review Page for Record Creation
Remove Post Submission Model
Validation updates
Minor unit test updates

/gcbrun

Temporary Url for review: https://documents-ui-dev--pr-58-e6udaain.web.app

authors: bcregistry-sre cameron-eyds

repo: bcgov/bcros-common


text:
GPX Spatial Upload

Overview
This PR contains the following changes

GPX Spatial Upload

This PR contains the following types of changes

[x] New feature (change which adds functionality)

How Has This Been Tested?

Locally

Screenshots

sample gpx file to test with can be found at: https://www.env.gov.bc.ca/fw/wildlife/snowmobile-closures/gpx-download.html

repo: bcgov/biohubbc


text:
24001 Updated CI/CD scripts

Issue #: bcgov/entity#24001
Description of changes:

updated branch and range in codecov.yaml
deleted obsolete Makefile
app version = 4.11.0
added scripts to package.json
updated CD script
updated CI script
fixed lint warnings

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Everybody is too busy. I'm going to merge this regardless. Bombs away!

repo: bcgov/business-edit-ui


text:
As an Ops team member, I want to have 'create a new contact' option on the primary contact dropdown itself, so that I can add a contact while creating a project

Description:
Wireframe:
This functionality allows user to select 'create a contact' in the dropdown of the 'primary' or 'secondary' contact field, thus removing the need to have a button outside of the field. It will take the user to the current 'Add new contact' screen and redirect them back to this form once they submit with all the information derived back on the Project view/project contact page
Acceptance Criteria:
Given I am a Project Coordinator
And I am entering project contact details
When I select the contact drop down
Then the drop down contains an option to 'Create a new contact'
Given I am a Project Coordinator
When I select the 'Create a new contact' from the drop down list
Then I am brought to the 'Add new contact' form/screen
Given I am a Project Coordinator
When I have completed entering a new contact
Then I am brought back to project form so I can continue entering project details
Development Checklist:

[ ] Add '+ Create new contact' to contact list drop down
[ ] Create new contact should always be visible to user so that they don't need to scroll to bottom of list
[ ] If user selects the + Create new contact, then they are redirected to the contact form, and once done entering contact information, are brought back to project creation page
[ ] Meets the DOD

Notes:

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included (if required)
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done (Note: If any of these points are not applicable, mark N/A)

[ ] Acceptance criteria are tested by the CI pipeline
[ ] UI meets accessibility requirements
[ ] Configuration changes are documented, documentation and designs are updated
[ ] Passes code peer-review
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Ticket is ready to be merged to main branch
[ ] Can be demoed in Sprint Review
[ ] Bugs or future work cards are identified and created
[ ] Reviewed and approved by Product Owner

@suhafa @nanyangpro I have reservations about this design - it would be a complex development item, involving either

reverse-engineering or extending the Autocomplete control that we use (this one)
implementing something different

I'm not 100% sure the benefits of this UI outweigh the amount of work involved.
Also, what are the UX (discoverability, accessibility) implications of displaying the "+ Create New Contact" button only when the dropdown is extended?

Hey team! Please add your planning poker estimate with ZenHub @BCerki @dleard @gurjmatharu @pbastia @Sepehr-Sobhani @mikevespi

Wireframe updated on the basis of concern as to the developmental cost of having '+ Create new contact' in the dropdown, as well as its discoverability discussed during Backlog Refinement.
The 'Create new contact' button will appear under the 'Select a contact' dropdown. Once the user creates a new contact and is redirected back to this page, it will auto-populate the field will all the info (name of contact, company name, email etc.) This button will be replicated for all secondary contact drop-downs as well.

Thank you @Sepehr-Sobhani ! Looks great. Tested in dev by creating a new contact by selecting the 'create new contact' button from creating a new project and editing an existing project.

authors: LindsayMacfarlane matthieu-foucault pbastia suhafa

repo: bcgov/cas-cif


text:
Scheduling OBPS research/testing sessions

####Goal of Ticket
Plan logistics of OBPS reporting research and registration usability sessions.
Describe the task
Have a plan to manage logistics for OBPS research/testing.
Acceptance Criteria

[x] Create tracking spreadsheet
[x] Write outreach email to potential research participants
[ ] Look into Calendly as a scheduling option
[ ] Contact identified operator staff to recruit
[ ] Schedule & track sessions as they are booked

https://bcgov.sharepoint.com/:x:/r/teams/00608-ScrumTeam/Shared Documents/Scrum Team/OBPS/Interview Notes %26 Recordings/UserEngagement-Tracking.xlsx?d=wda1afef4c2bd42278fc4bed1203f1572&csf=1&web=1&e=h6VbnO

There will be future OBPS test sessions, however I'll close this one for now as it's complete and we can create new tickets when needed

authors: NicoleGovvy patriciarussellCAS

repo: bcgov/cas-reporting


text:
Update serverless documentation after change in OIDC layer

Describe the Issue
The OIDC layer has modified. (see ticket #2495, the  Readme file should explain some of these changes).
However, there are other documents that may need to be modified too: How to deploy Serverless app, How to configure OIDC
Additional Context
See #2495
Not sure about the extend of the changes. Depending of them it may be a 0.5 task. I can not imagine it will be more than 2
Acceptance Criteria

Updated documentation that explain how to use GitHub OIDC

Contract ends.This task would require a dedicated QA

repo: bcgov/cloud-pathfinder


text:
Update prototyping_tools.md

Adding in download for XD file

@dlevineBC, it looks like the download attribute in the link tag gets stripped out automatically by GitHub's Markdown parser. I've tried the following suggestions from Stack Overflow on my fork to see if I could get that functionality working:

id="raw-url" in the <a> tag, like what GitHub uses on their Download buttons for files
download and target="_blank" in the <a> tag
type="application/octet-stream" in the <a> tag

All of those get stripped out by the parser, likely by design.
I will merge this as the download attribute does no harm and shows the intent.

repo: bcgov/design-system


text:
Page Flags - Redaction App

As an IAO analyst
I want to add page flags to pages
so that I can mark the status of each page in a records package

Assumptions & Scope
What are the assumptions for this story?
Only one page flag can be selected for each page.
All icons should be free from FontAwesome.
Consult drop down will be by Org Code for ease of sending consult to the correct ministry queue.
What is IN scope?
Page flags
Page flags tooltip
Percentage complete
What is NOT in scope?
Page flag filtering (#3417)
Total filtered pages counter (#3417)
Filtered Pane views/functionality (#3417)
'Left Off Here' page flag functionality (#3409)
Acceptance Criteria
Scenario 1: Page Flag Drop Down

GIVEN an IAO analyst is in the redaction app
WHEN they right-click a page in the left hand 'Organize By' or preview pane
THEN a page flag drop down will appear
AND the options will be listed in this order: Partial Disclosure, Full Disclosure, Withheld in Full, Consult, Duplicate, Not Responsive, Left Off Here
https://jacklyn808742.invisionapp.com/console/share/8QVPHCNXSGA/981498459

Scenario 2: Select Page Flag - Not Consult

GIVEN an IAO analyst has right-clicked a page in the left hand 'Organize By' or preview pane
WHEN the analyst left-clicks a page flag (e.g Partial Disclosure) from the drop down
AND the page flag is not Consult
THEN the drop down will close
AND the page flag (e.g Partial Disclosure) will be saved to the page

Scenario 3: Select Page Flag - Consult

GIVEN an IAO analyst has right-clicked a page in the left hand 'Organize By' or preview pane
WHEN the analyst hovers over the 'Consult' page flag in the drop down
THEN a secondary drop down containing all ministry Org Codes (XXX) in alphabetical order
AND an additional option at the bottom of the list titled 'Other Public Body', will be available
(Add design here)

Scenario 4: Select Ministry - Consult

GIVEN an IAO analyst is hovered over 'Consult' in the page flag drop down
AND the secondary drop down is displayed
WHEN the analyst left-clicks a ministry Org Code (XXX)
THEN the drop downs will close, and the page flag will be saved to the page

Scenario 5: Select Other Public Body - Consult

GIVEN an IAO analyst is hovered over 'Consult' in the page flag drop down
AND the secondary drop down is displayed
WHEN the analyst left-clicks 'Other Public Body'
THEN the drop downs will close
AND a modal will open with an open text field, and the options to 'save' or 'cancel'
AND the 'save' option will be grey and inactive
AND the 'cancel' option will be blue and active
(Add design here)

Scenario 6: Other Public Body Modal - Enter Name

GIVEN an IAO analyst is on the 'Other Public Body' modal
WHEN the analyst has entered any value (>=1 character) in the open text field
THEN the 'save' and 'cancel' options will be blue and active

Scenario 7: Other Public Body Modal - Save

GIVEN an IAO analyst is on the 'Other Public Body' modal
AND they have entered any value (>=1 character) in the open text field
WHEN the analyst left-clicks 'save'
THEN the modal will close
AND the page flag will be saved to the page

Scenario 8: Other Public Body Modal - Cancel

GIVEN an IAO analyst is on the 'Other Public Body' modal
AND they have entered any, or no, value in the open text field
WHEN the analyst left-clicks 'cancel'
THEN the modal will close
AND the page flag will not be saved

Scenario 9: Page Flag Iconography - Page Flag

GIVEN an IAO analyst has selected a page flag for a given page
WHEN the IAO analyst sees the page name/number in the left hand 'Organize By' pane
THEN the page flag iconography will appear to the left of the page name
(Insert design here)

Scenario 10: Page Flag Iconography - No Page Flag

GIVEN an IAO analyst has not selected a page flag for a given page
WHEN the IAO analyst sees the page name/number in the left hand 'Organize By' pane
THEN no page flag iconography will appear next to the page name/number

Scenario 11: Page Flag Iconography -  Non-Consult Tooltip

GIVEN an IAO analyst has selected a page flag that is not 'Consult' for a given page
AND they see the page name/number in the left hand 'Organize By' pane with the corresponding page flag iconography
WHEN the analyst hovers over the page flag iconography
THEN a tooltip displaying the page flag name will be displayed
(Add design here)

Scenario 12: Page Flag Iconography - Consult Tooltip

GIVEN an IAO analyst has selected the 'Consult' page flag for a given page
AND they see the page name/number in the left hand 'Organize By' pane with the corresponding page flag iconography
WHEN the analyst hovers over the page flag iconography
THEN a tooltip will be displayed with the text in the format of 'Consult - [open text field data or Org Code]'
(Add design here)

Scenario 13: Page Flag - Completion Percentage Counter

GIVEN an IAO analyst is viewing the left pane
WHEN a user views to the left of 'Page Count'
THEN there will be a counter displaying the completion percentage of the package
AND this will be calculated by comparing the number of pages with page flags to the total number of pages
AND the page flags of 'Consult' and 'Left Off Here' will not be added to the calculation

Scenario 14: Page Flag - Completion Percentage Counter - Update

GIVEN an IAO analyst is viewing the completion percentage counter
WHEN the user adds or removes page flags from pages
THEN the counter will automatically calculate the completion percentage

Scenario 15: Page Flag - Completion Percentage Counter - No Page Flags

GIVEN an IAO analyst is viewing the completion percentage counter
WHEN there are no page flags on any pages, aside from 'Consult' and 'Left Off Here'
THEN the counter will display "0%"

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

@lmullane @JHarrietha-AOT - please review, especially ACs 5-8, and 12. I'm not sure how we want handle the 'Other Public Body' consult option, where we can enter values into an open text field. It may be awkward if they have an open text field in the dropdown. May need to confirm how this will look, and I can then update the ACs after.
@JHarrietha-AOT - feel free to add designs to ACs (I tried to indicate where they may be needed).
cc: @abin-aot

Nice work, @KyEggleston
Made a few minor edits and one of significance - consult options should be Org Codes. That way the consult pages can be routed to the correct ministry queue for ministries that have more than one queue.
One challenge with scenario 12 is showing the Other public body (i.e. free text) may cause display issues if they enter a free text over a 5-6 characters. Options are to:

Write another scenario that enforces a character limit in the free text field. Perhaps in future we have suggestive text based on previous entries. For example, if VAN was used for City of Vancouver, when the user starts writing VA...the system could suggest VAN.

When the user hovers over the consult icon only display 'Consult - Other' if the public body does not have an Org Code. And display Consult - Org Code for those that do.

What do you think, @JHarrietha-AOT, @KyEggleston, @m-prodan ?

Added ACs for the completion percentage counter (calculated based on page flags)

Nice work, @KyEggleston
Made a few minor edits and one of significance - consult options should be Org Codes. That way the consult pages can be routed to the correct ministry queue for ministries that have more than one queue.
One challenge with scenario 12 is showing the Other public body (i.e. free text) may cause display issues if they enter a free text over a 5-6 characters. Options are to:

Write another scenario that enforces a character limit in the free text field. Perhaps in future we have suggestive text based on previous entries. For example, if VAN was used for City of Vancouver, when the user starts writing VA...the system could suggest VAN.
When the user hovers over the consult icon only display 'Consult - Other' if the public body does not have an Org Code. And display Consult - Org Code for those that do.

What do you think, @JHarrietha-AOT, @KyEggleston, @m-prodan ?

I would lean towards to option 2 - I wasn't aware that IAO had org codes for outside of core government, so it was my assumption this would need open text.

Option 2 makes sense to me too, @KyEggleston

@KyEggleston Looks great.
I made one change which is the dropdowns are all context menus not drop down (a drop down implys that there in a selection box and options drop down where a context menu appears overtop on something on a click) So i have updated that throughout.
As for the comment above I would agree with option 2, know the vast range of consults possible I don't think it is wise to enforce a character limit that might not make sense to others.
@KyEggleston @lmullane Thinking it could be helpful if when a users adds a new consult name that is automatically appears at the end of the consult list for that specific request. Just to avoid the user needing to type it multiple times and potentially spelling it differently and them not compiling to be export together easily.

@JHarrietha-AOT, thanks for the review.
Let's discuss how to handle the new consult names at Release planning. Not sure we need it for MVP, but open to discussion.

Note update AC to include scenarios to cover shift clicks/control keys for multi-select (note: control click may be more effort, dev team needs to investigate)

@aparna-aot @sumathi-thirumani-aot - Jackie will be following up, but confirming we discussed and agreed on the following:

When user creates an "add other" that consult location will now appear at the bottom of the list. Note - this should only persist at the file level, and not carry across to other requests. This will minimize user error and ensure consistency.
Character limit for other public body should be 100 characters
When public bodies have been selected, they will appear to the right of the page number indicating the three letter code for Internal consultations, and the first 10 characters for the "other"

cc @JHarrietha-AOT @lmullane

Updated AC to be consistent with design: should be Page Left Off, not Left Off Here

As discussed at standup, added an "In Progress" page flag to be used by an analyst when they have started but not completed a page.
The auto-flag of 'In Progress' will come in a different story.

@aparna-aot - as discussed, let us put a pause on multi-select. Since it is not already in the AC, and due to other considerations, we should proceed as is. Once Abin's task is done for page counts and this can be QA'd - please proceed as is done, and disregard my comment about having multi-select.

Noted. Thanks @m-prodan.

Scenario 4 : Instead of Hover , implemented left click and confirmed with @JHarrietha-AOT as well.

@aparna-aot
Only thing I noticed is that for Scenario 11 and 12, no tooltips appear when hovering over the page flag iconography.

@KyEggleston - I can update that soon & will let u know.

@KyEggleston Tooltips added. You can verify now.Thanks!

Thanks @aparna-aot! - All ACs pass, and I'll close ticket.

authors: JHarrietha-AOT KyEggleston aparna-aot lmullane m-prodan

repo: bcgov/foi-flow


text:
Unravel Activity Data

Activity data is a mess.  This was the original gameplan, (with an update on how to deal with computed server side data):
Have activities be a blob.  Have a bunch of computed columns based on blob spatial attributes.  Activity table should look like:
row_id, activity_id, version, blob_json_from_device, activity_type, activity_subtype, computedcolum1.....

The blob getting sent should look like this:
activity_data: {}
activity_type_data: {}
activity_subtype_data: {}

The blob getting read should look like this:
activity_data: {}
activity_type_data: {}
activity_subtype_data: {}
serverside_computed: {}

What we have now looks more like this:
{
activity_type:
activity_subtype:
activity_payload: {activity_type, activity_subtype..... form data: { activity_type_data....}
....
more bad nesting and repetition
}

There are side effects of other problems that led to this, and other bad workarounds thrown ontop.  Prior to us adding a bunch more forms and especially reporting, we should refactor the PUT, GET, Activity Page, and API_DOCS.json to address this before we're stuck with this mess forever.  There's a bunch of RecordTable code that will have to get scrubbed also.

Do before the reports

Also needs doing:  consolidate the different uses of formatting between API/DB/Web/SQLite side and the "blob"/RJSF/PouchDB/App-JS side.  There are many places where functions are renaming data in different contexts, especially between snake_case and camelCase formats (though sometimes we just name vars differently too...)   Recommend we pick a single format across all formats (snake_case?) and refactor to that, OR at least make a clear single point where those are mapped from one to the other.

Lastly, need a standard on how we will refer to nested keys deep within the blob.  Not hard just - it's better to do that and make standardized functions for accessing/modifying nested references than recreating it everywhere.  "{field1, field2, field3}" as a string?  [field1, field2, field3] as an array in-code?  (Note: this is directly applicable to filters, and to the things that need cleaning in RecordTable, but also good just for current code)

as I see it there are 2 parts to this.  one is organizing all of the types in the api doc, which is easily an 8 and Grisha did this.
the next ticket will just be a cleanup to the activity page, to match the activity type, sub type, and data properties.
thank you @hpertaia for your perseverence on this one.

repo: bcgov/invasivesbc


text:
158: Custom RJSF templates to support multi-column forms.

Overview
This PR includes the following proposed change(s):

Added custom rjsf template components
Re-organized /rjsf folder and updated imports as needed.
Moved material-ui theme objects to separate files under /themes
Wrap form (in FromContainer.tsx) in rjsf theme provider

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

How Has This Been Tested?
Visual change only, tested on web with multiple screen sizes (to test that the 3 columns collapse down to 2 and then 1).
Screenshots

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
- [ ] New and existing unit tests pass locally with my changes

@sdevalapurkar Initially I got some conflict warnings about the rjsf/uiSchema files, but when I rebased to resolve them it didn't indicate any issues.  Maybe just give them a quick scan to make sure none of your most recent changes are missing. I didn't really touch them, other than to add the new column width fields and adjust their location (now nested under the uiSchema folder, so they should be fine.

These changes look awesome man, just a few minor suggestions :)

authors: NickPhura sdevalapurkar


text:
LCFS - Create View User page

Description:
Create View User page:

for both BCeID and IDIR users
Visible when clicking on a user row in the respective User tables
Displays the user's information

Screenshot of View user page in TFRS: Private Zenhub Image
Wireframe of View User page for LCFS: Needs wireframe
Purpose and benefit to user:
Landing page for information about individual users. A future card will add User Activity table so there is a clear, transparent record of user's actions within the application
Acceptance Criteria:

[ ] Given I am a , When I am , then
[ ] Given I am a , When I am , then

Development Checklist:

[ ] A
[ ] B
[ ] C

Notes:

@Kailee-Douglas @airinggov Wireframe for view user page redesign

This should be done with the MUI components? I added the MUI library to UXPin and can see how it deviates from the BC Gov Design System on the DevHub

Do we need an intermediary page between the user list on the org page and the edit user page? Can we not go from the list directly to the edit user page? For users without admin access they would only see the info on the user list / org page.

@airinggov possibly? We would have to figure out where to put other information that would be lost if you didn't have a "view user" page, such as their job title, mobile phone, and user activity. The first two could potentially be added to the user list on the org page (two additional columns) but the user activity column is a larger component that I'm not sure where we could relocate. Thoughts?

@Kailee-Douglas @airinggov I think we've settled on keeping this page so can we create a wireframe for displaying the user information. Do we to change the style a bit here? Doesn't have to be drastic but we do have an opportunity to tweak the layout if desired.

@justin-lepitzki your thoughts on this mock

up?

Looks good @Kailee-Douglas ! Can we make one tweak: change the label 'Role:' to 'Role(s):'
I noticed that when a user has more than one role it still says the singular Role:

Here you are, @justin-lepitzki

I can add the UX Pin link after Al looks at it, too. Functionality to highlight for the dev work: columns autoadjusted to fit width of content (within reason), and rows autosorted by newest first. I did not add a filter option, which is present in other tables, and may or may not be valuable here. Also, does it need a download function?
We discussed breadcrumbs earlier. Depending on our decision around that, we can quickly add a breadcrumb on the top.

Hey team! Please add your planning poker estimate with Zenhub @AlexZorkin @jig-patel @kevin-hashimoto @prv-proton

Hey team! Please add your planning poker estimate with Zenhub @hamed-valiollahi @jig-patel @kevin-hashimoto @prv-proton

Unable to fully test view of detailed information about the user until card #174 has been resolved

BCeID view of organization tab shows organization details, but does not show any user table.  Shows error "Request failed with status code 403. Please contact your administrator".  Please also remove "please contact your administrator" from error prompt:

authors: AlexZorkin Grulin Kailee-Douglas airinggov justin-lepitzki prv-proton

repo: bcgov/lcfs