IOError at chunk.rollback

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
Describe the bug
IOError occured during the file buffer operation after chunk bytes limit exceeds.
To Reproduce
Described on https://github.com/yteraoka/fluentd-reproduce-ioerror
Expected behavior
No Errors.
Your Environment
Originally this problem happend in Amazon EKS. I reproduced it on docker on mac. (19.03.8)

Fluentd or td-agent version: fluentd --version or td-agent --version

fluentd 1.11.1
Docker Image: fluent/fluentd-kubernetes-daemonset:v1.11.1-debian-elasticsearch7-1.1

Operating system: cat /etc/os-release

Amazon Linux 2

Kernel version: uname -r

4.14.181-142.260.amzn2.x86_64

If you hit the problem with older fluentd version, try latest version first.
Your Configuration
https://github.com/yteraoka/fluentd-reproduce-ioerror/blob/master/fluent.conf
<system>
  root_dir /var/log/
</system>

<label @FLUENT_LOG>
  <match fluent.**>
    @type null
  </match>
</label>

<source>
  @type tail
  @id in_tail_container_logs
  path /var/log/containers/*.log
  pos_file /var/log/fluentd-containers.log.pos
  tag "#{ENV['FLUENT_CONTAINER_TAIL_TAG'] || 'kubernetes.*'}"
  exclude_path "#{ENV['FLUENT_CONTAINER_TAIL_EXCLUDE_PATH'] || use_default}"
  read_from_head true
  refresh_interval 5s
  <parse>
    @type "#{ENV['FLUENT_CONTAINER_TAIL_PARSER_TYPE'] || 'json'}"
    time_format %Y-%m-%dT%H:%M:%S.%NZ
  </parse>
</source>

<match kubernetes.**>
  @type rewrite_tag_filter
  @id rewrite_tag_filter
  capitalize_regex_backreference no

  <rule>
    key $.log
    pattern /./
    tag example_cluster.namespace_name
  </rule>
</match>

<match **>
   @type elasticsearch
   @id out_es
   @log_level info
   include_tag_key true
   host "#{ENV['FLUENT_ELASTICSEARCH_HOST']}"
   port "#{ENV['FLUENT_ELASTICSEARCH_PORT']}"
   path "#{ENV['FLUENT_ELASTICSEARCH_PATH']}"
   scheme "#{ENV['FLUENT_ELASTICSEARCH_SCHEME'] || 'http'}"
   ssl_verify "#{ENV['FLUENT_ELASTICSEARCH_SSL_VERIFY'] || 'true'}"
   ssl_version "#{ENV['FLUENT_ELASTICSEARCH_SSL_VERSION'] || 'TLSv1_2'}"
   user "#{ENV['FLUENT_ELASTICSEARCH_USER'] || use_default}"
   password "#{ENV['FLUENT_ELASTICSEARCH_PASSWORD'] || use_default}"
   reload_connections "#{ENV['FLUENT_ELASTICSEARCH_RELOAD_CONNECTIONS'] || 'false'}"
   reconnect_on_error "#{ENV['FLUENT_ELASTICSEARCH_RECONNECT_ON_ERROR'] || 'true'}"
   reload_on_failure "#{ENV['FLUENT_ELASTICSEARCH_RELOAD_ON_FAILURE'] || 'true'}"
   log_es_400_reason "#{ENV['FLUENT_ELASTICSEARCH_LOG_ES_400_REASON'] || 'false'}"
   logstash_prefix "#{ENV['FLUENT_ELASTICSEARCH_LOGSTASH_PREFIX'] || 'logstash'}"
   logstash_dateformat "#{ENV['FLUENT_ELASTICSEARCH_LOGSTASH_DATEFORMAT'] || '%Y.%m.%d'}"
   logstash_format "#{ENV['FLUENT_ELASTICSEARCH_LOGSTASH_FORMAT'] || 'true'}"
   index_name "#{ENV['FLUENT_ELASTICSEARCH_LOGSTASH_INDEX_NAME'] || 'logstash'}"
   type_name "#{ENV['FLUENT_ELASTICSEARCH_LOGSTASH_TYPE_NAME'] || 'fluentd'}"
   include_timestamp "#{ENV['FLUENT_ELASTICSEARCH_INCLUDE_TIMESTAMP'] || 'false'}"
   template_name "#{ENV['FLUENT_ELASTICSEARCH_TEMPLATE_NAME'] || use_nil}"
   template_file "#{ENV['FLUENT_ELASTICSEARCH_TEMPLATE_FILE'] || use_nil}"
   template_overwrite "#{ENV['FLUENT_ELASTICSEARCH_TEMPLATE_OVERWRITE'] || use_default}"
   sniffer_class_name "#{ENV['FLUENT_SNIFFER_CLASS_NAME'] || 'Fluent::Plugin::ElasticsearchSimpleSniffer'}"
   request_timeout "#{ENV['FLUENT_ELASTICSEARCH_REQUEST_TIMEOUT'] || '5s'}"
   suppress_type_name "#{ENV['FLUENT_ELASTICSEARCH_SUPPRESS_TYPE_NAME'] || 'true'}"
   <buffer>
     @type file
     flush_thread_count "#{ENV['FLUENT_ELASTICSEARCH_BUFFER_FLUSH_THREAD_COUNT'] || '8'}"
     flush_interval "#{ENV['FLUENT_ELASTICSEARCH_BUFFER_FLUSH_INTERVAL'] || '5s'}"
     chunk_limit_size "#{ENV['FLUENT_ELASTICSEARCH_BUFFER_CHUNK_LIMIT_SIZE'] || '2M'}"
     queue_limit_length "#{ENV['FLUENT_ELASTICSEARCH_BUFFER_QUEUE_LIMIT_LENGTH'] || '32'}"
     retry_max_interval "#{ENV['FLUENT_ELASTICSEARCH_BUFFER_RETRY_MAX_INTERVAL'] || '30'}"
     retry_forever true
   </buffer>
</match>

FLUENT_ELASTICSEARCH_HOST=es
FLUENT_ELASTICSEARCH_PORT=9200
FLUENT_ELASTICSEARCH_PATH=/
FLUENT_ELASTICSEARCH_BUFFER_FLUSH_INTERVAL=1
FLUENT_ELASTICSEARCH_BUFFER_FLUSH_THREAD_COUNT=1
FLUENT_ELASTICSEARCH_BUFFER_QUEUE_LIMIT_LENGTH=1000

Your Error Log
2020-07-28 14:59:19 +0000 [info]: #0 [in_tail_container_logs] following tail of /var/log/containers/test.log
2020-07-28 14:59:21 +0000 [warn]: #0 [out_es] chunk bytes limit exceeds for an emitted event stream: 8650165bytes
2020-07-28 14:59:21 +0000 [warn]: #0 [out_es] chunk bytes limit exceeds for an emitted event stream: 3295317bytes
...
(chunk bytes limit exceeds repeated)
...
2020-07-28 14:59:25 +0000 [warn]: #0 [out_es] chunk bytes limit exceeds for an emitted event stream: 7573972bytes
2020-07-28 14:59:26 +0000 [warn]: #0 [out_es] chunk bytes limit exceeds for an emitted event stream: 8169588bytes
2020-07-28 14:59:26 +0000 [warn]: #0 emit transaction failed: error_class=IOError error="closed stream" location="/fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `pos'" tag="cafiscode-eks-cluster.default"
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `pos'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `rollback'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer.rb:339:in `rescue in block in write'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer.rb:332:in `block in write'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer.rb:331:in `each'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer.rb:331:in `write'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/output.rb:1004:in `block in handle_stream_simple'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/output.rb:888:in `write_guard'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/output.rb:1003:in `handle_stream_simple'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/output.rb:878:in `execute_chunking'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/output.rb:808:in `emit_buffered'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/event_router.rb:97:in `emit_stream'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluent-plugin-rewrite-tag-filter-2.2.0/lib/fluent/plugin/out_rewrite_tag_filter.rb:85:in `block in process'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluent-plugin-rewrite-tag-filter-2.2.0/lib/fluent/plugin/out_rewrite_tag_filter.rb:84:in `each'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluent-plugin-rewrite-tag-filter-2.2.0/lib/fluent/plugin/out_rewrite_tag_filter.rb:84:in `process'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/output.rb:797:in `emit_sync'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/event_router.rb:97:in `emit_stream'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:477:in `receive_lines'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:845:in `block in handle_notify'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:877:in `with_io'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:825:in `handle_notify'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:808:in `block in on_notify'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:808:in `synchronize'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:808:in `on_notify'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:653:in `on_notify'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:325:in `block in setup_watcher'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/in_tail.rb:596:in `on_timer'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/cool.io-1.6.0/lib/cool.io/loop.rb:88:in `run_once'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/cool.io-1.6.0/lib/cool.io/loop.rb:88:in `run'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin_helper/event_loop.rb:93:in `block in start'
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin_helper/thread.rb:78:in `block in thread_create'
2020-07-28 14:59:26 +0000 [warn]: #0 emit transaction failed: error_class=IOError error="closed stream" location="/fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `pos'" tag="kubernetes.var.log.containers.test.log"
  2020-07-28 14:59:26 +0000 [warn]: #0 suppressed same stacktrace
2020-07-28 14:59:26 +0000 [warn]: #0 [out_es] chunk bytes limit exceeds for an emitted event stream: 2493080bytes
2020-07-28 14:59:27 +0000 [warn]: #0 [out_es] chunk bytes limit exceeds for an emitted event stream: 5036846bytes
...

Additional context
I added print debug code then I noticed fluentd call rollback method on closed chunk file. So IOError occurred at call seek (in pos method).
2020-07-28 09:23:53 +0000 [warn]: #0 [out_elasticsearch] chunk bytes limit exceeds for an emitted event stream: 9441885bytes

2020-07-28 09:23:53 +0000 [warn]: #0 [out_elasticsearch] call chunk.rollback (write_once 1)
file_chunk.rollback                   /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7742942e1dc6558e6eb7f75c3.log
file_chunk.rollback seek and truncate /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7742942e1dc6558e6eb7f75c3.log

2020-07-28 09:23:53 +0000 [warn]: #0 [out_elasticsearch] call chunk.rollback (write_step_by_step 1)
file_chunk.rollback                   /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff77a721dcc45c6893c0f83116a.log
file_chunk.rollback seek and truncate /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff77a721dcc45c6893c0f83116a.log
file_chunk.purge                      /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff77a721dcc45c6893c0f83116a.log <-- close and unlink in purge

file_chunk.rollback                   /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7742942e1dc6558e6eb7f75c3.log
file_chunk.rollback seek and truncate /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7742942e1dc6558e6eb7f75c3.log

file_chunk.rollback                   /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7794a3340240d7d15976f91ec.log
file_chunk.rollback seek and truncate /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7794a3340240d7d15976f91ec.log
file_chunk.purge                      /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff7794a3340240d7d15976f91ec.log

file_chunk.rollback                   /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff779de15f1cad6b2c7a455f1c5.log
file_chunk.rollback seek and truncate /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff779de15f1cad6b2c7a455f1c5.log
file_chunk.purge                      /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff779de15f1cad6b2c7a455f1c5.log

file_chunk.rollback                   /var/log/worker0/out_elasticsearch/buffer/buffer.b5ab7cff77a721dcc45c6893c0f83116a.log <-- rollback unlinked file

2020-07-28 09:23:53 +0000 [warn]: #0 [out_elasticsearch] #<IOError: closed stream>

Situation
An application output large (over 1MB) log in a line. The docker will split it into 16kb chunks and writes out about 100 lines at a time.

Thanks for the report.
We will check it with your setting

We received similar reports from our customer.
They use fluentd v1.16.1 and their stack trace seems almost same with this, so the issue still exist in the latest version.
Although I can't reproduce it yet, I found possible race condition issue in the code.
There are some cases where locking the chunk is missing when calling chunk.close or chunk.purge.
#4336 tries to fix it.
2020-07-28 14:59:26 +0000 [warn]: #0 emit transaction failed: error_class=IOError error="closed stream" location="/fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `pos'" tag="cafiscode-eks-cluster.default"
  2020-07-28 14:59:26 +0000 [warn]: #0 /fluentd/vendor/bundle/ruby/2.6.0/gems/fluentd-1.11.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `pos'

closed stream means the file handle owned by the chunk is already closed.
Because it's a local file and locked by chunk.mon_enter here, it's shouldn't occur in usual.
A possible case is it's closed by other thread.
AFAIK, only the codes fixed in #4336 can do it.

I'm seeing similar errors in one of our environments. Would this be related?
send an error event stream to @ERROR: error_class=IOError error="closed stream" location="/usr/local/lib/ruby/gems/3.1.0/gems/fluentd-1.16.1/lib/fluent/plugin/buffer/file_chunk.rb:82:in `pos'" tag="logs"

#3056 seems same issue with this

Although I can't reproduce it yet, I found possible race condition issue in the code. There are some cases where locking a chunk is missing when calling chunk.close or chunk.purge.
#4336 tries to fix it.

I'm still wondering whether it's really possible.
Probably flush thread doesn't call purge_chunk against chunk which is under processing, so it seems hard to occur.
So I'm checking other possibilities, then now I've found another scenario.
When a chunk is reached to size limit in the following code:
https://github.com/fluent/fluentd/blob/dd045d30783d5ca28e332774d25b170bc552289d/lib/fluent/plugin/buffer.rb#L823-L831
following block.call will be called against the :unstaged chunk because above code calls break:
https://github.com/fluent/fluentd/blob/dd045d30783d5ca28e332774d25b170bc552289d/lib/fluent/plugin/buffer.rb#L854
In the block, the chunk is stacked on operated_chunk
https://github.com/fluent/fluentd/blob/dd045d30783d5ca28e332774d25b170bc552289d/lib/fluent/plugin/buffer.rb#L345-L347
On the other hand, it's possible to be purged when ShouldRetry is raised while processing tailing chunks:
https://github.com/fluent/fluentd/blob/dd045d30783d5ca28e332774d25b170bc552289d/lib/fluent/plugin/buffer.rb#L858-L867
Although it's purged already, it's still remained in operated_chunks. Thus, the error code of this issue is called against the purged chunk:
https://github.com/fluent/fluentd/blob/dd045d30783d5ca28e332774d25b170bc552289d/lib/fluent/plugin/buffer.rb#L389-L401
Now I think it's the true cause of this issue instead of #4336

All reports about this error say that many chunk bytes limit exceeds are occurred before it.
This is an evidence that the true cause is https://github.com/fluent/fluentd/issues/3089#issuecomment-1811839198

I've created the patch for this issue: #4342

When a chunk is reached to size limit in the following code:
https://github.com/fluent/fluentd/blob/dd045d30783d5ca28e332774d25b170bc552289d/lib/fluent/plugin/buffer.rb#L823-L831
following block.call will be called against the :unstaged chunk because above code calls break:

The above code is introduced by aad2feb19, which isn't exist at the time original comment is posted. So it's not cause of the original comment.
On the other hand, another similar break code exists here:
https://github.com/fluent/fluentd/blob/7e9eba736ff40ad985341be800ddc46558be75f2/lib/fluent/plugin/buffer.rb#L845-L847
It's introduced at 2016-06-20 by b5f2e9fe4.
Now I've succeeded to reproduce the bug triggered by this code, I've added a test to reproduce it in #4342


Add Nairobi sprint report

Cross posting Nairobi 2019 sprint impact report.
It solves #92.

This looks great!  Thanks @symeneses


incorrect coloring of c ++ comment block

We have written the needed data into your clipboard because it was too large to send. Please paste.
incorrect coloring of c ++ comment block
#define TCP_NOTSENT_LOWAT	 25 /* Limit number of unsent bytes in

				       write queue.  */

#define TCP_CC_INFO		 26 /* Get Congestion Control

				       (optional) info.  */

#define TCP_SAVE_SYN		 27 /* Record SYN headers for new

				       connections.  */

#define TCP_SAVED_SYN		 28 /* Get SYN headers recorded for

				       connection.  */

Version: 1.49.2
Commit: e5e9e69aed6e1984f7499b7af85b3d05f9a6883a
Date: 2020-09-24T16:26:09.944Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-48-generic

Moved to the repo that our C++ syntax highlighting grammar comes from: https://github.com/jeff-hykin/cpp-textmate-grammar/issues/506


Support angular 6 CLI via schematics

Using ng add ngx-swiper-wrapper should be helpful to add the module to project with full setup that this module need, and helpful for CLI commands during development and maybe staging, currently when I do this command I get error like:
Installed packages for tooling via npm.
Package "ngx-swiper-wrapper" was found but does not support schematics.
Error: Package "ngx-swiper-wrapper" was found but does not support schematics.

You can see an example of what it should do if you try this: https://www.telerik.com/kendo-angular-ui/components/charts/

I can have a look adding support when releasing version for Angular 7. Meanwhile PR's are accepted.

@almothafar @sconix I am not sure but last month I created sample swiper application using Angular6 and it works fine for me.
Below is link to package.json
https://github.com/sahilkatia/mobileSwiper/blob/master/package.json

@sahilkatia it is working in Angular 6 and I can confirm this for Angular 7 as well, I'm just talking about installing swiper using CLI ng add ngx-swiper-wrapper, this is minor for now, but this is not working anyway.

Yes the library works with Angular 6 and 7. This issue is about supporting the Angular CLI schematics so that one can take the library in use with cli commands.


chore(release): Preparing for 3.2.0 release

Summary

Updated CHANGELOG.md
Updated Version

Coverage increased (+0.02%) to 99.514% when pulling 5c3209861a1b7f3bab37809bea3bc533eb06e5a6 on rashid/prepare-3.2.0-release into eeea135ed3d1c5b6d0cf3ec44e30775459745a25 on master.


Bring back TestHeaders and implement some basic testing around them

Biohazrd has had a folder called TestHeaders since its prototype days. These are a collection of C++ header files for testing how Biohazrd handles various C++ features and edge cases.
Their participation in the test code slowly went away as the original prototype was refactored into Biohazrd and they were finally removed along with ClangSharpTest2020 when it was made redundant by https://github.com/InfectedLibraries/InfectedPhysX. They should be brought back in a more formal capacity. Especially since they serve as a simple, isolated test box to demonstrate what Biohazrd's codegen looks like.
Ideally we should probably have some basic test suite built around them too.

Much of this was done when automated testing was introduced, and can be found here: https://github.com/InfectedLibraries/Biohazrd/tree/8f179a30531cb063128887d1aa607178b62c09cd/Tests

Much of this was done when automated testing was introduced, and can be found here: https://github.com/InfectedLibraries/Biohazrd/tree/8f179a30531cb063128887d1aa607178b62c09cd/Tests


upmerge: merge up to commit f329722

Regular upmerge.

@edmont What about manifest update?

Deprecated by
https://github.com/zephyrproject-rtos/openthread/pull/52


Ingress gateways encountered an error: failed to wait for resource: resources not ready after 5m0s

Bug Description
problem logs：
ingressGateway ：
  Warning  Unhealthy  64s (x300 over 11m)  kubelet            Readiness probe failed: Get "http://10.xx.xx.xx:15021/healthz/ready": dial tcp <IP_ADDRESS>:15021: connect: connection refused

pod logs：
ingressgateway：
2022-11-24T01:52:06.151402Z	warning	envoy config	StreamAggregatedResources gRPC config stream closed: 16, authentication failure
egressgateway：
2022-11-24T01:52:56.776474Z	warn	xdsproxy	upstream [53] terminated with unexpected error rpc error: code = Unauthenticated desc = authentication failure
Version
istio client version: 1.13.9
control plane version: 1.13.9
k8s version：1.20.4

Additional Information
No response

There is no problem with my k8s dns resolution, but istio cannot be deployed successfully

please check your full logs in ingressgateway and istiod

istiod logs:
2022-11-24T02:12:09.793726Z	error	ads	Failed to authenticate client from <IP_ADDRESS>:39148: Authenticator ClientCertAuthenticator: no verified chain is found; Authenticator KubeJWTAuthenticator: failed to validate the JWT from cluster "Kubernetes": the service account authentication returns an error: [invalid bearer token, square/go-jose: error in cryptographic primitive]

please check your full logs in ingressgateway and istiod

istiod logs:
2022-11-24T02:12:09.793726Z	error	ads	Failed to authenticate client from <IP_ADDRESS>:39148: Authenticator ClientCertAuthenticator: no verified chain is found; Authenticator KubeJWTAuthenticator: failed to validate the JWT from cluster "Kubernetes": the service account authentication returns an error: [invalid bearer token, square/go-jose: error in cryptographic primitive]

please check your full logs in ingressgateway and istiod

NAME                                    READY   STATUS    RESTARTS   AGE
istio-egressgateway-6874c45d98-nmp6c    0/1     Running   0          7m46s
istio-ingressgateway-76d6fd8d96-q54pd   0/1     Running   0          7m45s
istiod-dcb967576-thpsh                  1/1     Running   0          7m56s

I don't know where the problem lies, is it a certificate problem?

how did you install? follow which doc?

istioctl manifest apply --set profile=demo

Is there someone professional who can help me？


Remove the triton inference server backend "turbomind_backend"

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily receiving feedbacks. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
We plan to remove the triton inference server backend "turbomind_backend" because the python_backend (#1329) outperforms the integration of turbomind_backend
BC-breaking (Optional)

TC should be updated @zhulinJulia24. Please remove TCs related to the triton inference server with turbomind_backend

May we considered upgrading the image to r24.03, which can also avoid the memory leak issue in the Python Backend before r23.10? @lvhan028 @irexyc @zhulinJulia24
ref
https://github.com/InternLM/lmdeploy/tree/main/lmdeploy/serve/turbomind/triton_python_backend#step-2-run-the-triton-server
https://github.com/InternLM/lmdeploy/issues/1363#issuecomment-2026850051
https://github.com/InternLM/lmdeploy/pull/1371

Hi, @zhyncs
What's the cuda version in r24.03?

12.4
https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-24-03.html

OK. I'll change the default base image to nvcr.io/nvidia/tritonserver:24.03-py3
When we release docker image, both versions (24.03-py3, 22.12-py3) will be built

Yes. This PR is still under development. Once it is done, I'll remove the WIP label

Hi @lvhan028 There are some triton/chatbot references left:
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/serve/client.py#L37
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/serve/gradio/triton_server_backend.py#L10
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/serve/gradio/app.py#L50
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/cli/serve.py#L340

@ispobock I've removed as guided. Please take a review.

@zhyncs I think it's better for me to open another PR to update the dockerfile

@zhyncs I think I'd better to open another PR to update the dockerfile

ok

Hi @lvhan028 There are some triton/chatbot references left:
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/serve/client.py#L37
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/serve/gradio/triton_server_backend.py#L10
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/serve/gradio/app.py#L50
https://github.com/InternLM/lmdeploy/blob/49208aaaf83e81416adb03a0d7a1369565f96909/lmdeploy/cli/serve.py#L340

@ispobock I've removed as guided. Please take a review.

LGTM

src/turbomind/triton_backend/triton_utils.hpp seems to be unnecessary now and can be deleted and the include in src/turbomind/triton_backend/llama/LlamaTritonModelInstance.cc needs to be updated.

Thanks. I finished it as suggested.

src/turbomind/triton_backend/triton_utils.hpp seems to be unnecessary now and can be deleted and the include in src/turbomind/triton_backend/llama/LlamaTritonModelInstance.cc needs to be updated.

Thanks. I finished it as suggested.

The include in src/turbomind/triton_backend/llama/LlamaTritonModelInstance.cc needs to be updated.

Do downstream repos still using the triton server? Shall we make a notification to them?

As far as I know, the internal downstream projects has switched to api_server


Send ordinary Message - When the recipient is broadcast, the channel type is WebsiteMessage by default and cannot be modified

发送普通消息，收件人为广播时，渠道类型应默认为“站内信”，且不可修改；

resolved


Flagpack not loading into NextJS

Please check all that apply

[x] functional bug

Current Behavior
Currently the project doesn't work with NextJS. It does work however with a create-react-app.
Possible Solution

A possible solution is adding a ESM file to the exports through rollup.
Removing the type: "module" from the package.json also stops the project from crashing altogether, however the flag still doesn't render.

Logs

Related to issues #46, #45

Hello!
It seems that this error is also affecting Gatsby, which does not provide any way to call require from imported CommonJS modules.
In the meantime, I am using patch-package to replace "type": "module" with "type": "commonjs".
I think this change could easily be implemented without breaking the current setup.
Have a nice day

Hello,
i have similar problem importing react-flagpack with storybook, when i try to use Flag component in my Country component, it shows Unexpected error while loading ./components/Country/Country.stories.tsx: ReferenceError: require is not defined in console. My component dissapear from storybook components list.

any update on this bug, the fix is simple

It should be a great addition. Many of us are waiting to implement it with NextJS.

https://github.com/mbale/react-flagpack
There's a nextjs branch if you cannot wait for the PR.
Tested with v12

@mbale Is this fix also compatible with other React platforms (SB, CRA, Next JS, etc.). If yes, could you maybe create a PR for this fix? Would be awesome 🙆♂.

still on it ?

Is there any timeline on when this will be resolved?

Same error

/** @type {import('next').NextConfig} */
const withTM = require('next-transpile-modules')(['@stampmyvisa/react-flagpack']);

module.exports = withTM({
    trailingSlash: false,
    output: "export",
    images: { unoptimized: true },
    webpack: (config, { isServer }) => {
        config.module.rules.push({
            test: /\.svg$/,
            include: /node_modules\/@stampmyvisa\/react-flagpack\/dist\/flags/,
            use: [
                {
                    loader: 'file-loader',
                    options: {
                        name: '[path][name].[hash].[ext]', // Update this line
                        outputPath: 'static/flags/',
                        publicPath: '/_next/static/flags/',
                        emitFile: !isServer,
                    },
                },
            ],
        });

        return config;
    },
})

This is a fix for NextJS that I'm using

Hi all, this should now be resolved, in case you're still facing issues after upgrading to Version 2.0.2, please open up a new issue 🙏


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 14:39:29 on 2023.07.24
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 0, errors out: 0
Original problem ID: 33001
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=33001

Problem has been resolved in 3m 0s at 14:42:29 on 2023.07.24
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 33001


grunt sass

Hello, I use sass  to generate when build a global.css file I can not run cacheBust.
nothing happens
cacheBust: {
    options: {
      encoding: 'utf8',
      algorithm: 'md5',
      length: 16,
      deleteOriginals: true,
      baseDir: '.',
      jsonOutput: true,
      ignorePatterns: ['bower_components', 'scripts', 'favicon-*', 'plugins']
    },
    assets: {
      files: [{
        src: []
      }]
    }
  }
});

You need to pass the task a set of files to "bust". In your case, this would be something like:
assets: {
    files: {
        src: ['global.css']
    }
}

Make sure that the path to the global.css file is correct


Complete unit test coverage for Bundler::RemoteSpecification

Thanks. Updated the PR.

@homu r+

:pushpin: Commit 99de353 has been approved by segiddins

:zap: Test exempted - status


Bookmarks

Adds support for bookmarking as described in #2607.
The current snapshot size is the maximum natively supported by MacOS menu bars.

Fix #2607

Stas, this looks great! Can we make the icons a little bigger? Pretty hard to see. thanks!

The current snapshot icon size is the maximum natively supported by MacOS menu bars. The only way around this is to add another non-native menu somewhere else in the GUI which uses custom Qt widgets.


[Adaptive Cards]: "Microsoft" Link is not adopting the Aquatic theme of high contrast.

Target Platforms
Other
SDK Version
1.5
Application Name
Adaptive Cards
Problem Description
Test Environment:
OS: Version 22H2 (OS Build 25197.1000)
Edge Dev: version 107.0.1379.1 (Official build) dev (64-bit)
Screen Reader: Narrator
Application URL: [[https://adaptivecards.io/](https://adaptivecards.io/explorer/)
Pre-Requisites:
Settings >Accessibility> Contrast themes> Aquatic themes.
Repro Steps:

Open above URL with V- credential.

Navigate to 'Microsoft' link using tab key in the "Navigation Landmark".

Observe the issue here.

Actual Result:
"Microsoft" Link is not clearly visible to the user in the aquatic/Dessert mode settings.
Expected Result:
Microsoft Link should adopt the Aquatic/Dessert theme settings so that it will be clearly visible to the user.
Observation:
Similar issue on "Get started" link and "Adaptive Card" link.
4.Adaptive Card text is not adopting the Aquatic settings
4.get started link in aquatic
Same issue exists throughout the application wherever the similar controls present in the adaptive cards.
User Experience:
Visual disable user and the normal user will get impacted as its very difficult to identify the link on the page as its not that clearly visible and not adopting the theme settings.
MAS Reference link:
No Disruption of Accessibility Features - Liquid (microsoft.com)
"Have feedback to share on Bugs ? Please help fill Trusted Tester Bug Feedback (office.com) “.
Screenshots

Card JSON
NA

Sample Code Language
NA
Sample Code
NA

Hi @Susmitha474,
I have opened a PR to address the high contrast issues pointed out here.
I did want to note a couple of changes that I did not address.

Since the Microsoft link is a logo, it is not subject to the same contrast requirements of text-only links (https://liquid.microsoft.com/Web/Object/Read/ms.accessibility/Requirements/01.04.03). Therefore, I did not make any changes to the logo.
The "Get Started" link that you requested text color changes for is actually a button. To make this clear, I added a border to the button instead, and it now matches the contrast settings.

Thanks!
Anna

Added A11yTTValidated tag as issue is not repro.


Fix: emitting events from cached context

test run https://github.com/neutron-org/neutron-tests/actions/runs/5576582363 - not finished yet

Working test run https://github.com/neutron-org/neutron-tests/actions/runs/5576782669


Plugin.FirebaseAuth.FirebaseAuthException: An error occurred when accessing the keychain

I'm using the latest stable package of Plugin.FirebaseAuth (4.1.0). But when I try to call the SignInWithEmailAndPasswordAsync(email, password). I get an exception?
Method:
`public async Task SignIn(string email, string password)
{
try
{
    var result = await CrossFirebaseAuth.Current.Instance.SignInWithEmailAndPasswordAsync(email, password);
    var token = await result.User.GetIdTokenAsync(true);
    Preferences.Set("MyFirebaseRefreshToken", token);
    AccountManager.CurrentUserId = result.User.Uid;
    return true;
}
catch (FirebaseAuthException ex)
{
    Console.WriteLine(ex.Reason);
    await App.Current.MainPage.DisplayAlert($"Alert", (ex.Reason.ToString()), "OK");
    return false;
}

}`

@f-miyu  @f-matsushima  Please advise asap, kind regards.

Do you run in the simulator? Please run on a real device because it don't work well in the simulator.

Ahh I see I'll try it on a device and let you know, thanks @f-miyu ,  is there a reason it doesn't work correctly on the simulator?

I don't know mush, but the provisioning seems to be the reason for the error.
It may work in the simulator, if you set Custom Entitlements in iOS Bundle Signing of Project Options.

Since adding a provisioning profile to the project it works as expected. Thanks again @f-miyu  :)


pep440: fix version ordering

A couple moons ago, I introduced an optimization for version comparisons
by devising a format where most versions would be represented by a
single u64. This in turn meant most comparisons (of which many are
done during resolution) would be extremely cheap.
Unfortunately, when I did that, I screwed up the preservation of
ordering as defined by the Version Specifiers spec. I think I messed
it up because I had originally devised the representation so that we
could pack things like 1.2.3.dev1.post5, but later realized it would
be better to limit ourselves to a single suffix. However, I never
updated the binary encoding to better match "up to 4 release versions
and up to precisely 1 suffix." Because of that, there were cases where
versions weren't ordered correctly. For example, this fixes a bug where
1.0a2 < 1.0dev2, even though all dev releases should order before
pre-releases.
We also update a test so that it catches these kinds of bugs in the
future. (By testing all pairs of versions in a sequence instead of just
the adjacent versions.)

Nice find. I'm too tired to review this today. Does this have any implications on perf?

I don't think. I can check later. If anything, it will help, because it expands the set of versions that can be represented in a packed format.
But also, do not merge this yet. We need a way to invalidate the cache before we can ship this. Otherwise existing versions in the cache will be interpreted incorrectly. (Which might lead to panics or even silent logic bugs.)

We need a way to invalidate the cache before we can ship this.

We can bump the cache bucket suffixes (-v1 -> -v2).

We need a way to invalidate the cache before we can ship this.

We can bump the cache bucket suffixes (-v1 -> -v2). (I'll review tomorrow)

Done!


connection to swarm cluster fail

Hi,
i'm unable to connect to the swarm cluster : Unable to connect to http://swarm-master-ip:4000, is Docker daemon running?
however is possible with standard docker api
Bye

@ppiccolo did you try to connect to this url using the just the browser? it doesn't look like a valid swarm url. Just as an example mine is https://<IP_ADDRESS>:3376.
You should use the one returned by docker-machine env --swarm swarm-master replacing tcp by https

I'm working without docker-machine, the cluster is deployed over 3 virtual machine over esxi and the swarm standard docker command can connect to the swarm master and replica
ex:
docker -H tcp://<IP_ADDRESS>:4000 info
Containers: 3
Running: 3
Paused: 0
Stopped: 0
Images: 3
Server Version: swarm/1.1.2
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 3
docker-host-01: <IP_ADDRESS>:2375
└ Status: Healthy
└ Containers: 1
└ Reserved CPUs: 0 / 4
└ Reserved Memory: 0 B / 4.046 GiB
└ Labels: executiondriver=native-0.2, kernelversion=3.16.0-30-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs
└ Error: (none)
└ UpdatedAt: 2016-03-01T08:43:38Z
docker-host-02: <IP_ADDRESS>:2375
└ Status: Healthy
└ Containers: 1
└ Reserved CPUs: 0 / 4
└ Reserved Memory: 0 B / 4.046 GiB
└ Labels: executiondriver=native-0.2, kernelversion=3.16.0-30-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs
└ Error: (none)
└ UpdatedAt: 2016-03-01T08:43:14Z
docker-host-03: <IP_ADDRESS>:2375
└ Status: Healthy
└ Containers: 1
└ Reserved CPUs: 0 / 4
└ Reserved Memory: 0 B / 4.046 GiB
└ Labels: executiondriver=native-0.2, kernelversion=3.16.0-30-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs
└ Error: (none)
└ UpdatedAt: 2016-03-01T08:43:32Z
Plugins:
Volume:
Network:
Kernel Version: 3.16.0-30-generic
Operating System: linux
Architecture: amd64
CPUs: 12
Total Memory: 12.14 GiB
Name: fb805ecc574b


cdkDragDrop drop zone

Bug, feature request, or proposal:
If I'm not completely mistaken there is currently no such thing as a drop zone other than dropList. But these automatically order the elements. Since I want to swap two elements once there are dropped on each other I don't want them to be sorted.
When I drop the dragged element somewhere else on the page it returns to its original position.
I tried with one dropList but it will always move all elements in the list, but only the dragged and the dropped elements should be affected.
So I tried with one drop zone per draggable element to get the drop event and not affect all elements. Still, the hovered element moves away.
What is the expected behavior?
Hover one element over the other and the element that is hovered over stays in place. When I get the dropped event I can swap both elements.
What is the current behavior?
The element that is hovered over moves away to make room for the dragged element.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-cdk-drop
What is the use-case or motivation for changing an existing behavior?
I want to have multiple tiles on the page that can be swapped by hovering them over each other. I'm trying to create an image puzzle where randomized tiles can be sorted.
Basically, I want to achieve what has been done here in the sortable grid example: http://james2doyle.github.io/zepto-dragswap/
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular CLI: 7.0.6
Node: 8.11.2
OS: darwin x64
Angular: 7.0.3
... common, compiler, compiler-cli, core, forms, http
... language-service, platform-browser, platform-browser-dynamic
... router
Package                           Version
@angular-devkit/architect         0.10.6
@angular-devkit/build-angular     0.10.6
@angular-devkit/build-optimizer   0.10.6
@angular-devkit/build-webpack     0.10.6
@angular-devkit/core              7.0.6
@angular-devkit/schematics        7.0.6
@angular/animations               7.0.2
@angular/cdk                      7.0.4
@angular/cli                      7.0.6
@angular/material                 7.0.4
@ngtools/webpack                  7.0.6
@schematics/angular               7.0.6
@schematics/update                0.10.6
rxjs                              6.3.3
typescript                        3.1.6
webpack                           4.19.1
Is there anything else we should know?

Duplicate of https://github.com/angular/material2/issues/13340.

hi @crisbeto
why is this closed? is there such thing as a drop zone already? looking at the code it doesn't seem to.
also, is there a way to know the index in which a new element is entering a drop list? (on cdkDropListEnter)
so...to know if i'm dragging the element to position 1, 3, etc of the drop list?  Seems this is currently not possible either (the sort event doesn't work for this sadly ), and the "copy/move" feature referenced on duplicates  works on the drop event only.
thanks in advance


Pleaser add quick look file feature.

Description of the new feature / enhancement
a feature that can look into any file type by only pressing 1 key
https://apps.microsoft.com/detail/9nv4bs3l1h4s?hl=en-US&gl=US
like this app but better and faster.
Scenario when this would be used?
when opening a file.
Supporting information
https://apps.microsoft.com/detail/9nv4bs3l1h4s?hl=en-US&gl=US

/dup #80


[RFC] Decorators

This is a long one, bear with me.
I'd like to bring built-in support for decorator based model declaration in Sequelize. It's one of the main arguments I've seen in favor of using TypeORM over the years and I think it would help reduce the boilerplate of creating a new model.
I am not going to lie, a lot of this is very inspired by sequelize-typescript, with some differences.
Prior art

sequelize-typescript
sequelize-decorators
TypeORM
sequelizejs-decorators

Foreword: Legacy Decorators & Stage 2 Decorators
Both the TypeScript & Babel communities have been using Decorators for years. These decorators follow the old decorator spec. A new spec has been in the works for a few years now. It is unclear when stable decorators will actually land in ECMAScript.
As such, I propose to do the initial implementation using Legacy Decorators but expose them through sequelize/decorators-legacy. Once decorators become stage 4, we can do a parallel implementation that is directly exposed in the root sequelize import, and deprecate /decorators-legacy.
API Design
Model registration
One of the first parts of the design would be to provide a way to register a model that has been decorated. A basic building block that's decorator-implementation agnostic. Both for existing third-party packages and a future stage-4 decorators implementation.
I would expose two methods: registerModelAttributeOptions & registerModelOptions:
/**
 * Registers attribute options for future registering of the Model using Model.init
 * Subsequent calls for the same model & attributeName will be merged, with the newer call taking precedence.
 */
registerModelAttributeOptions(model: typeof Model, attributeName: string, options: Partial<ModelAttributeColumnOptions>): void;

/**
 * Registers model options for future registering of the Model using Model.init
 * Subsequent calls for the same model & attributeName will be merged, with the newer call taking precedence.
 * 'sequelize' option is not accepted here. Pass it through `Model.init` when registering the model.
 */
registerModelOptions(model: typeof Model, options: Partial<ModelOptions>): void;

We then also need a way to register the model to Sequelize. I see a few options:

Overload Model.init:class Model {
 // use this one when registering a decorated model.
 static init(options: { sequelize: Sequelize });
 // use this one when registering a non-decorated model.
 static init(attributes: ModelAttributes, options: InitOptions);
}

Overload Sequelize#define
Add Sequelize#registerModels
Add a models parameter to the Sequelize constructor.

I'd opt for overloading.
Automatic model registration
Similarly to what TypeORM & SequelizeTypescript are doing, we could add an async method Sequelize#importModels(glob) that loads files matching the glob (using ESM dynamic import), and register any export that extends model and isn't tagged as abstract (see Model Inheritance).
Model Inheritance
this would resolve https://github.com/sequelize/sequelize/issues/1243
A big benefit of decorator-based definition is that it becomes possible to inherit definitions (both model options & attributes):
@ModelOptions({
  underscored: true,
  abstract: true, // do not actually register this model!
})
abstract class BaseModel extends Model {
  @Column(DataType.TEXT, { unique: true, defaultValue: shortId(), field: 'external_id' })
  publicId: string;

  @Column(DataType.INTEGER, { primaryKey: true, autoIncrement: true, field: 'private_id' })
  privateId: number;
}

// inherits 'publicId' & 'privateId' from BaseModel
class User extends MyBaseModel {
  @Column(DataType.TEXT)
  name: string;
}

// inherits 'publicId' & 'privateId' from BaseModel
class Project extends MyBaseModel {
  @Column(DataType.TEXT)
  name: string;
}

Model Options Decorator: @ModelOptions
Note: Name is already taken by typing. Alternative names: @Model (already taken), @Table, @Entity, etc...
The simplest design for a Model Option decorator would be one that simply accepts the model options:
// abstract is for the creation of base models, see "inheritance"
// the `abstract` tag is of course not itself inherited :)
function ModelOptions(options: TModelOptions & { abstract?: boolean });

@ModelOptions({
  tableName: 'users'
})
class User extends MyBaseModel {}

Model Attribute Decorator
We have two choices here: A simple Attribute decorator which accepts ModelAttributeColumnOptions, or a decorator per-option like with sequelize-typescript.
This is the design I came up with, critics and counter-proposals welcome:
type TimestampAttributeOptions = Omit<ModelAttributeColumnOptions, 'type' | 'allowNull' | 'unique' | 'primaryKey' | 'autoIncrement' | 'defaultValue' | 'autoIncrementIdentity' | 'references' | 'onUpdate' | 'onDelete'>;

// use one of these to define an attribute:
function CreatedAtAttribute(options?: TimestampAttributeOptions);
function UpdateAtAttribute(options?: TimestampAttributeOptions);
function DeletedAtAttribute(options?: TimestampAttributeOptions);
function Attribute(type: DataType, options?: Omit<ModelAttributeColumnOptions, 'type'>);

Model Association Decorator
This part depends on RFC https://github.com/sequelize/meetings/issues/14 and is described over there but is basically: a decorator per association type:
import { Model, HasManyAttribute, HasMany } from "sequelize";

class User extends Model {
  @HasMany(Project)
  readonly projects!: HasManyAttribute<Project, number>;
}

class User extends Model {
  @BelongsTo(User, {
	  foreignKey: 'authorId',
	  onDelete: 'CASCADE',
  })
  readonly author!: BelongsToAttribute<User, number>;

  @Attribute(DataType.number, { allowNull: false })
  authorId: number;
}

emitDecoratorMetadata
I would vote against guessing which DataType to use based on decorator metadata. Having defaults for string, number, etc.. will lead to users accidentally using the Column Type as they're not strict enough.
other elements to consider

decorators for hooks
decorators for scopes
decorators for validators

Yes we'd better try to be compatible with that ( if no strong reason for that is not good ), as far as I know all the nest.js might be using that approach already.

The new decorator proposal has reached stage 3, we can consider implementing experimental support if we don't need the metadata part of it.


[Bug]: AUTO_UPDATE causes "Incorrect password" after reboot.

I've tried the auto update feature, but after the restart we can't connect as it says the password is incorrect. If i then restart the container everything works correctly.

Huh, ill take a look at his

This should be fixed on a latest pull


Release 0.0.2

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


The C4 library for software architecture visualization could be more usable and improved

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe.
The current C4 library elements available in built-in Shapes seems not to be optimal and as easy-to-use as an additional, alternative library for diagrams.net mentioned on the official C4 model page: https://c4model.com/#Tooling
Describe the solution you'd like
Some time ago I created a nice and easy-to-use library for software architecture visualizing in the C4 approach (according to official guidelines published in https://c4model.com/) -> https://github.com/maciek365/c4-diagrams.net
My EasyC4 library for diagrams.net application is mentioned on the official C4 Model page https://c4model.com/#Tooling as an additional library, so it became quite popular for those who are interested in creating C4 diagrams in diagrams.net
Because I have feedback from many people that they like the EasyC4 library (e.g. https://github.com/maciek365/c4-diagrams.net/issues/2#issuecomment-801757693) I thought that maybe you could upgrade diagrams.net and replace the current elements available in C4 library (available in built-in Shapes) with shapes from the EasyC4 library.
The elements of the EasyC4 library seem to be more suitable for C4 diagramming (I have feedback that it is easier to use, more 'polished', and also more aesthetic than the built-in one) and maybe it is a good way to make the diagrams.net app even better :-)
Please consider using elements from my EasyC4 library (https://github.com/maciek365/c4-diagrams.net/) to upgrade the current built-in C4 shapes available in the diagrams.net app.
Describe alternatives you've considered
You can also consider alternatively using my improved version of C4 library which contains more elements usable for C4 software architecture visualizing -> https://github.com/hycomsa/hycom-c4
Additional context
There is no additional context.

I'm new to both c4, and drawio, but I'd like to second the recommendation. I've tried three c4 libraries (including the built in one) and the one that maciek365 linked is the easiest one to use.

You can click on the object to edit the attributes and it's very intuitive (similar to the built-in library)

One of the others requires a keyboard shortcut to edit which wasn't intuitive

Has what appears to be the correct diagrams

The built-in library appears to be missing some of the diagrams that I wanted to use, based on the c4 examples

As agreed with Maciek in end of June, I have set up an adaptation of the Easy C4 library to the layout of the Bundesregierung (German government).
My main reason was, that the white font on more or less dark background is not readable at all, when printed out on an ink printer. Furthermore it does not comply to accessibility rules. This is due to the stylish original layout example by Simon Brown.
Moreover I am not satisfied with the dotted-frame box implementation. I am missing the possibility to change the scope (or domain) in the rectangular brackets.
My incomplete result of the adapted library is available at https://github.com/hayosc/c4-diagrams.net-bundeslayout. At the moment just Maciek is invited, because I'll have to adapt the documentation slightly as well.
It already contains a dotted-line Domain object, which Maciek could directly adopt in his library.

The shapes are not resizable and not connectable. Is that as intended?
Used this for testing: https://app.diagrams.net/?clibs=Uhttps://raw.githubusercontent.com/hayosc/c4-diagrams.net-bundeslayout/master/EasyC4 (Bundeslayout)&splash=0

The shapes are not resizable and not connectable. Is that as intended?
Used this for testing: https://app.diagrams.net/?clibs=Uhttps://raw.githubusercontent.com/hayosc/c4-diagrams.net-bundeslayout/master/EasyC4 (Bundeslayout)&splash=0

Hello,
thank you very much for your involvement.
The blocked resizing is intended to be compliant with the C4 model approach (https://c4model.com/) and to keep all elements in one size.
If it is about connections between elements the intention was to provide predefined arrows (plain and with description and/or technology) in my shapes library. So default connectable feature is also intentionally blocked.
Please use for testing the following version of C4 shapes library: https://github.com/maciek365/c4-diagrams.net with colours compatible with the C4 and which is mentioned on the C4 Model official page (EasyC4 on tooling section for diagrams.net): https://c4model.com/#Tooling
You can test this version just by clicking the link https://app.diagrams.net/?clibs=Uhttps://raw.githubusercontent.com/maciek365/c4-diagrams.net/master/EasyC4&splash=0
Please also use this version (https://github.com/maciek365/c4-diagrams.net) if you will decide to replace the current default C4 library in diagrams.net with mine.
I will be very happy if you do that and I'm sure that will be very useful for the community interested in software architecture visualization.
Best Regards
Maciek

Hello,
thank you very much for your involvement.

The blocked resizing is intended to be compliant with the C4 model approach (
https://c4model.com/) and to keep all elements in one size.
If it is about connections between elements the intention was to provide predefined arrows (plain and with description and/or technology) in my shapes library. So default connectable feature is also intentionally blocked.

Please use for testing the following version of C4 shapes library:
https://github.com/maciek365/c4-diagrams.net with colours compatible with the C4 and which is mentioned on the C4 Model official page (EasyC4 on tooling section for diagrams.net):
https://c4model.com/#Tooling
You can test this version just by clicking the link
https://app.diagrams.net/?clibs=Uhttps://raw.githubusercontent.com/maciek365/c4-diagrams.net/master/EasyC4&splash=0

Please also use this version (
https://github.com/maciek365/c4-diagrams.net) if you will decide to replace the current default C4 library in diagrams.net with mine.
I will be very happy if you do that and I'm sure that will be very useful for the community interested in software architecture visualization.

Best Regards
Maciek

30 września 2021 13:35 Gaudenz Alder<EMAIL_ADDRESS>napisał(a):

The shapes are not resizable and not connectable. Is that as intended?
Used this for testing: https://app.diagrams.net/?clibs=Uhttps://raw.githubusercontent.com/hayosc/c4-diagrams.net-bundeslayout/master/EasyC4 (Bundeslayout)&splash=0
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.

A C4 shapes update will be in next release

That's fantastic news! I'm really glad to read this :-)
BTW when next release will be published?


Add failing test for hasWheres for withGraphJoined query

The new implementation of hasWheres in https://github.com/Vincit/objection.js/commit/4e695cfcc4aff31e35d4c1bb6aecefbe5207501f throws an error when a query includes withGraphJoined. A query including withGraphFetched succeeds. I'm hoping @koskimas you're able to get to this first, since it will probably be a while before I'm able to prioritize the fix. Please feel free to take this branch over 🙏

Gitter conversation

Coverage decreased (-0.07%) to 96.934% when pulling 7cc3d30e50285ee83dadab03b90bbae2c2c7f1cd on evans:master into ee9545b97f651d89dc3ddb6e2bca6667c0cc9816 on Vincit:master.

Coverage decreased (-0.07%) to 96.934% when pulling 7cc3d30e50285ee83dadab03b90bbae2c2c7f1cd on evans:master into ee9545b97f651d89dc3ddb6e2bca6667c0cc9816 on Vincit:master.

Fixed. Will release an new version today. Thanks for bringing this up!

Fixed. Will release an new version today. Thanks for bringing this up!


Last name is not updated in JIT provisioned user

Describe the Issue:
Tried it by removing the last name from Google account and try to log in again to the application. The last name is still there.
Expected behavior:
If the user removes the last name of his Google account in JIT provisioned user profile should be changed accordingly.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Vulnerabilities enhancements (Part 2)

[x] #2547
[ ] Change using of VulnerabilityDto to VulnerabilityMetadata and VulnerabilityExt
[ ] Editing on FE using CosvSchema object
[x] #2567
[x] #2558
[x] #2586
[x] #2591
[x] #2645
[x] #2599
[x] #2602
[ ] Add search vulnerabilities by cwe
[x] Support CVSS_V2 amd CVSS_V3.0 @Cheshiriks

What's need to add on VULN view (duplicates #2519):

[ ] Related vuln list
[x] CWEs @kgevorkyan
[ ] references list
[ ] severity editing
[ ] affected[] editing and reworking
[x] confirm type label  @kgevorkyan
[x] last update time history (with a link to HISTORY tab)  @kgevorkyan
[x] diff request (need to add a diff component https://npmtrends.com/react-diff-components-vs-react-diff-view-vs-react-diff-viewer ) @Cheshiriks

partially implemented, some items are duplicated by #2519.
created a follow up issue


Hardware section major changes

Lots of changes to hardware section/phase 0. Here's the outline of what Phase 0 will look like with my proposed changes:

Basic setup info
Baseline data
Hardware overview

Information about compatible pumps
Information about compatible CGMs
Hardware information related to Pi setups
Hardware information related to Edison setups

Setting up Your Raspberry Pi
Setting up your Intel Edison
Loops in Progress

👍


Encryption of shoot secrets in etcd

What this PR does / why we need it:
In a nutshell, this PR addresses an automatic encryption of shoot secrets according to https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/
The protection of shoot cluster secrets against eavesdropping and unauthorised access is of utmost importance. As of today, Gardener already protects the transmission of secrets by applying transport encryption via TLS between the API server and the kubelet(s). While encryption in transit is already addressed, this PR provides a data-at-rest protection of Kubernetes secrets. More clearly, shoot secrets that are stored in etcd need to be encrypted prior to storing them in etcd and need to be decrypted after retrieving them from etcd. From Kubernetes version 1.13.0 onward, the kube-apiserver process supports the encryption of secret data at rest.
This PR uses the Kubernetes feature automatically for shoots created by Gardener. Each shoot cluster with Kubernetes version 1.13.0 receives an EncryptionConfiguration with a random shoot-specific encryption key. The EncryptionConfiguration is realised itself as a Kubernetes secret which is created during the shoot reconciliation in the seed cluster (in the shoot namespace) and is mounted to the API server pods. All shoot secrets are rewritten to ensure that they are encrypted as specified in the EncryptionConfiguration.
More clearly, the EncryptionConfiguration is written during the first reconciliation run in a passive state (meaning that "identity" is the first entry in the list of encryption providers, and "aescbc" is the second entry). In this state, the key is already known to each apiserver process (and could be used for decrypting a secret that was encrypted with that key) but secrets are not yet actively encrypted. The next subsequent reconciliation run re-orders the encryption providers and thereby activates the encryption.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

The EncryptionConfiguration is written as secret to the seed and additionally is synced to the Garden. Having the key stored in two separate places was done on purpose to alleviate the risk of loosing an EncryptionConfiguration key as long as no current backup of the seed's etcd has been done. This approach was recommended by @marwinski and discussed with @rfranzke .
I understand that you @adracus are thinking about removing this part ... and of course the code gets simpler if this functionality is removed again ... and of course it is absolutely your choice as Gardener code owner. But I would like to ask you to weigh this code simplification against a potentially higher risk of loosing an encryption key.

@michael-engler the thing I was rather worrying about was the part in the old version where you wanted to ensure that the configuration in the Gardener is always exactly the same as the one in the seed - the single source  of truth is the one in the seed, the one in the Garden cluster is and will only be written. I left the 'backup' but made this process more explicit. Also, I got rid of the validation since we are the only ones generating these configurations and we should make sure ourselves that the values are correct. Last but not least, the value en- or disabling the encryption can now be set from the shoot.


WIP: Add Limited Quantization Builder function support.

pyngraph wrappers compile.
Added to pythonic API.
No functionality check.
No unit test

Closing as the feature is not needed for now.


[QUESTION] Creating superuser ?

Could you please give me and example for creating a superuser ? ...reading the docs I think is by console. But how can I use the command fastapi-admin ?...console says "command not found"

Did you install fastapi-admin?


Use ManimPango for Text rendering

Motivation
Pango is a lot better at Text Rendering rather than using a Toy API for Cairo. I had discussed this with @3b1b on Discord.. This will remove the dependency on pycairo.
It also provides another method to add a font file to Pango search path, whose family name can later be called. This method isn't available for macOS yet.
I couldn't find Code here, that would require a small change setting disable_ligatures, or else colours would be broken, due to ligatures.
Proposed changes

requirements.txt - add manimpango
text_mobject.py - use manimpango

Test
Running example scenes should work, no breaking API changes. register_font API can be used as
with register_font('roboto.ttf'):
    a=Text("Hello Roboto",font="Roboto")

A list of fonts visible to Pango can be got from
>>> import manimpango
>>> manimpango.list_fonts()
[ ... ]

More API at https://manimpango.manim.community/en/latest/

Is this the intended behavior?

class TextExample(Scene):
    def construct(self):
        fonts = Text(
            "And you can also set the font according to different words",
            font="Arial",
            t2f={"font": "Consolas", "words": "Consolas"},
            t2c={"font": BLUE, "words": GREEN}
        )
        fonts.set_width(FRAME_WIDTH - 1)
        self.play(Write(fonts))
        self.wait()

Looks like a bug to me. I tried doing the same using Community edition's MarkupText (I didn't bring it here because CONFIG was something out of my understanding), and also the legacy CairoText. I get a video like
from manim import *
class Font(Scene):
    def construct(self):
        fonts = Text(
            "And you can also set the font according to different words",
            font="Arial",
            t2f={"font": "Consolas", "words": "Consolas"},
            t2c={"font": BLUE, "words": GREEN},
            disable_ligatures=True
        )
        fonts_c = CairoText(
            "And you can also set the font according to different words",
            font="Arial",
            t2f={"font": "Consolas", "words": "Consolas"},
            t2c={"font": BLUE, "words": GREEN},
        )
        markup = MarkupText(
            'And you can also set the <color col="BLUE"><span font_desc="Consolas">font</span></color> according to different <color col="GREEN"><span font_desc="Consolas" color="GREEN">words </span></color>',
            disable_ligature = True,
            font="Arial",
        )
        fonts.scale(.8)
        self.play(Write(fonts))
        self.wait()
        self.clear()
        fonts_c.scale(.8)
        self.play(Write(fonts_c))
        self.wait()
        self.clear()
        markup.scale(.6)
        self.play(Write(markup))
        self.wait()

https://user-images.githubusercontent.com/49693820/107844398-11ed9800-6df9-11eb-82f2-23041211068b.mp4
so it seems like a bug in aligning texts in ManimPango for Text. Can you open an issue in that repo?

Is this the intended behavior?

class TextExample(Scene):
    def construct(self):
        fonts = Text(
            "And you can also set the font according to different words",
            font="Arial",
            t2f={"font": "Consolas", "words": "Consolas"},
            t2c={"font": BLUE, "words": GREEN}
        )
        fonts.set_width(FRAME_WIDTH - 1)
        self.play(Write(fonts))
        self.wait()

But why I don't have this problem?

@TonyCrane I think you don't have the font installed or something like that? Btw which OS are you using?

I think you don't have the font installed or something like that? Btw which OS are you using?

But the result fonts are correct ("font" and "words" are Consolas, the rest are Arial), so I made sure I have installed the fonts.
I am using Windows 10, Python 3.7.3, ManimPango 0.2.2, and the manim source code is the latest.

I think maybe caching issue? Did you run the same example before updating to recent branch which uses pango and the svg file from cairo is cached? That's should be case I think. But still not sure...

Oh, sorry, I just cleaned the cache of Text, and got the same result as you.

But if I kept the disable_ligatures as default True, then the coloring will be incorrect:

I don't think that will fix this. The colouring is a bit off because of ligatures where in two letter comes in a single path element of the SVG file. Pango would handle it but the svg parser in both the version isn't that great to handle styles. I have some plans to make it not use SVG instead directly return each character as an ImageMobject or rather return a set of points, but that requires work and isn't yet done. Once that's done this problem will be fixed 😉.

This PR causes a crash immediately for me and it looks like it's causing other problems from the earlier posts. Can this at least be made optional until it can be done stably?

This PR causes a crash immediately for me

There could be much reason why things crash. ManimPango is necessary for Community Version also. If you say this crashes for you, it should crash for ManimCE also...


Error  for developer Install

run pip install -e . --verbose
get error
(beakerx) d:\PR\TWOSIGMA\beakerx\beakerx>pip install -e . --verbose
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Obtaining file:///D:/PR/TWOSIGMA/beakerx/beakerx
  Running setup.py (path:D:\PR\TWOSIGMA\beakerx\beakerx\setup.py) egg_info for p
ackage from file:///D:/PR/TWOSIGMA/beakerx/beakerx
    Running command python setup.py egg_info
    running egg_info
    writing requirements to beakerx.egg-info\requires.txt
    writing entry points to beakerx.egg-info\entry_points.txt
    writing top-level names to beakerx.egg-info\top_level.txt
    writing beakerx.egg-info\PKG-INFO
    writing dependency_links to beakerx.egg-info\dependency_links.txt
    C:\Aconda3\envs\beakerx\lib\site-packages\setuptools-27.2.0-py3.5.egg\setupt
ools\dist.py:331: UserWarning: Normalizing '0.2.2.dev' to '0.2.2.dev0'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'beakerx.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'CONTRIBUTING.md'
    warning: no files found matching 'README.md'
    writing manifest file 'beakerx.egg-info\SOURCES.txt'
  Source in d:\pr\twosigma\beakerx\beakerx has version 0.2.2.dev0, which satisfi
es requirement beakerx==0.2.2.dev0 from file:///D:/PR/TWOSIGMA/beakerx/beakerx
Requirement already satisfied: notebook>=4.3.1 in c:\aconda3\envs\beakerx\lib\si
te-packages (from beakerx==0.2.2.dev0)
Requirement already satisfied: ipywidgets<=6.0.0,>=5.1.5 in c:\aconda3\envs\beak
erx\lib\site-packages (from beakerx==0.2.2.dev0)
Requirement already satisfied: pandas in c:\aconda3\envs\beakerx\lib\site-packag
es (from beakerx==0.2.2.dev0)
Requirement already satisfied: python-dateutil>=2 in c:\aconda3\envs\beakerx\lib
\site-packages (from pandas->beakerx==0.2.2.dev0)
Requirement already satisfied: pytz>=2011k in c:\aconda3\envs\beakerx\lib\site-p
ackages (from pandas->beakerx==0.2.2.dev0)
Requirement already satisfied: numpy>=1.7.0 in c:\aconda3\envs\beakerx\lib\site-
packages (from pandas->beakerx==0.2.2.dev0)
Requirement already satisfied: six>=1.5 in c:\aconda3\envs\beakerx\lib\site-pack
ages (from python-dateutil>=2->pandas->beakerx==0.2.2.dev0)
Installing collected packages: beakerx
  Running setup.py develop for beakerx
    Running command C:\Aconda3\envs\beakerx\python.exe -c "import setuptools, to
kenize;__file__='D:\\PR\\TWOSIGMA\\beakerx\\beakerx\\setup.py';f=getattr(tokeniz
e, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(co
mpile(code, __file__, 'exec'))" develop --no-deps
    running develop
    running js
    C:\Aconda3\envs\beakerx\lib\site-packages\setuptools-27.2.0-py3.5.egg\setupt
ools\dist.py:331: UserWarning: Normalizing '0.2.2.dev' to '0.2.2.dev0'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "D:\PR\TWOSIGMA\beakerx\beakerx\setup.py", line 115, in <module>
        setup(**setup_args)
      File "C:\Aconda3\envs\beakerx\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "C:\Aconda3\envs\beakerx\lib\distutils\dist.py", line 955, in run_com
mands
        self.run_command(cmd)
      File "C:\Aconda3\envs\beakerx\lib\distutils\dist.py", line 974, in run_com
mand
        cmd_obj.run()
      File "D:\PR\TWOSIGMA\beakerx\beakerx\setupbase.py", line 546, in run
        [self.run_command(cmd) for cmd in cmds]
      File "D:\PR\TWOSIGMA\beakerx\beakerx\setupbase.py", line 546, in <listcomp
>
        [self.run_command(cmd) for cmd in cmds]
      File "C:\Aconda3\envs\beakerx\lib\distutils\cmd.py", line 313, in run_comm
and
        self.distribution.run_command(command)
      File "C:\Aconda3\envs\beakerx\lib\distutils\dist.py", line 974, in run_com
mand
        cmd_obj.run()
      File "D:\PR\TWOSIGMA\beakerx\beakerx\setupbase.py", line 289, in run
        if not which("yarn"):
      File "D:\PR\TWOSIGMA\beakerx\beakerx\setupbase.py", line 500, in which
        os.path.insert(0, os.curdir)
    AttributeError: module 'ntpath' has no attribute 'insert'
Cleaning up...
Command "C:\Aconda3\envs\beakerx\python.exe -c "import setuptools, tokenize;__fi
le__='D:\\PR\\TWOSIGMA\\beakerx\\beakerx\\setup.py';f=getattr(tokenize, 'open',
open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code,
 __file__, 'exec'))" develop --no-deps" failed with error code 1 in D:\PR\TWOSIG
MA\beakerx\beakerx\
Exception information:
Traceback (most recent call last):
  File "C:\Aconda3\envs\beakerx\lib\site-packages\pip\basecommand.py", line 215,
 in main
    status = self.run(options, args)
  File "C:\Aconda3\envs\beakerx\lib\site-packages\pip\commands\install.py", line
 342, in run
    prefix=options.prefix_path,
  File "C:\Aconda3\envs\beakerx\lib\site-packages\pip\req\req_set.py", line 784,
 in install
    **kwargs
  File "C:\Aconda3\envs\beakerx\lib\site-packages\pip\req\req_install.py", line
845, in install
    install_options, global_options, prefix=prefix)
  File "C:\Aconda3\envs\beakerx\lib\site-packages\pip\req\req_install.py", line
1007, in install_editable
    show_stdout=False)
  File "C:\Aconda3\envs\beakerx\lib\site-packages\pip\utils\__init__.py", line 7
07, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command "C:\Aconda3\envs\beakerx\python.exe -c
 "import setuptools, tokenize;__file__='D:\\PR\\TWOSIGMA\\beakerx\\beakerx\\setu
p.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n',
'\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps" failed
 with error code 1 in D:\PR\TWOSIGMA\beakerx\beakerx\
Looking up "https://pypi.python.org/pypi/pip/json" in the cache
Current age based on date: 13112
Freshness lifetime from max-age: 600
The cached response is "stale" with no etag, purging
Starting new HTTPS connection (1): pypi.python.org
"GET /pypi/pip/json HTTP/1.1" 200 72983
Updating cache with response from "https://pypi.python.org/pypi/pip/json"
Caching b/c date exists and max-age > 0

fixed PR  #5863


Tooltip not showing when inside Tabset

Bug description:
Tooltip with custom event attached to it is not showing when it's inside uib-tabset. When put outside of it everything seems to be fine. This is occuring with angular 1.5.3, on older version 1.4.8 it's working as intended.
Detailed description is here:
http://stackoverflow.com/questions/36720188/angular-bootstrap-tooltip-not-showing
Link to minimally-working plunker that reproduces the issue:
With angular 1.4.8 (working version): https://plnkr.co/edit/IkuOdCrcFJ8lBeNA5sSh
With angular 1.5.3: https://plnkr.co/edit/Wl3Bq13FKPnqW7RqwfiJ
One tooltip inside and one outside of <uib-tabset>: https://plnkr.co/edit/qseXXqx6Hq5tmygp5R0y
Version of Angular, UIBS, and Bootstrap
Angular: 1.5.3
UIBS: 1.3.2
Bootstrap: 3.3.6

I think this has to do with the transclusion that the tabset directive uses.  It seems to be a timing issue where the transclusion hasn't completed and the tooltip is trying to be opened.  Adding a popup-delay of 1 fixes the problem, see this plunk

We won't be able to properly fix this until we drop 1.4 support and switch to the multislot transclusion introduced in 1.5

Scheduling this for 3.0.0 - we will be on semver when we release 2.0, so we need to make a breaking change to refactor the internals to support 1.5+ (we decided not to for 2.0).

Is there any workaround for this on 1.5+ ?


remaping key for selectNextSuggestion does not work

Type: Bug
On a clean install, no extensions, I tried to remap a key, but it will not take effect.
Example:
// Place your key bindings in this file to override the defaults
[
    {
        "key":"ctrl+x",
        "command": "selectNextSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    {
        "key":"ctrl+x",
        "command": "cursorMove",
        "args": {
            "to":"down",
            "by": "line",
            "value": 1,
        },
        "when": "textInputFocus"
    },
]

The cursorMove works fine, but the key does not work when a suggestion popup is active. It still dispatches to cursorMove.
VS Code version: Code 1.76.2 (ee2b180d582a7f601fa6ecfdad8d9fd269ab1884, 2023-03-14T17:57:21.103Z)
OS version: Linux x64 6.2.6-zen1-1-zen
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
AMD Ryzen 7 5800X3D 8-Core Processor (16 x 3299)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
31.23GB (18.99GB free)

Process Argv
--unity-launch --crash-reporter-id df853672-f9e7-415d-9b03-edb6a4008408

Screen Reader
no

VM
0%

DESKTOP_SESSION
undefined

XDG_CURRENT_DESKTOP
undefined

XDG_SESSION_DESKTOP
undefined

XDG_SESSION_TYPE
wayland

Apparently, the order listed matters. If you reverse the order, it works.
It would be nice if that was outlined in the docs someplace.


STC3115_init_sequence_example_(pseudo-code).txt is wrong

I spent several hours trying to get the STC3115 to work following STC3115_init_sequence_example_(pseudo-code).txt. The part where it fails is waiting for counter to be updated to 3 or greater.
Counter is never updated until GG_RUN bit is set. But the psuedo code does not say to set GG_RUN. It implies that GG_RUN is not set until the very end.
# (Note: Enable GG_RUN only at the end of the init sequence)
I followed the psuedo code, except I modified it by setting GG_RUN and VMODE bits before # Wait the Device is ready (i.e. wait it finished the initial measurements). Then after the counter is >= 3, I clear the GG_RUN bit. It seems to work. Is this correct?
The actual driver code doesn't seem to follow the psuedocode, in that it does not wait for the counter to be updated to 3 before storing OCV, updating the OCVTAB etc. Which is the right way to do it?

Hi, have you manage to make it work?  I am working with this too.

When my system starts, I check the PORDET bit and the GG_RUN bit.
If PORDET is set, or GG_RUN is clear, I perform the init procedure.
My init procedure, which seems to work for me, is

Check GG_RUN is zero. If not zero, clear it to zero
Write 0x02 to REG_CTRL register (clears PORDET, reset conversion counter)
Read and store reg REG_OCV
Write all 16 REG_OCVTAB (write the values which you have saved from before for this same battery, or use zeros by default)
Write REG_VM_CNF
Write REG_CC_CNF
Restore REG_CC_ADJ and REG_VM_ADJ ? (I have not done this yet, I assume this is the right place to do it)
Write back REG_OCV saved in step 2
set VMODE to mixed (write 0x00 to REG_MODE)
set GG_RUN (write 0x10 to REG_MODE)
wait for initial measurement - read REG_COUNTER until >= 3 - should take less than 2 seconds

thanks you for your fast answer. I am going to work on this, right now i dont have any battery. The reading loop gives me -217 on everything. I dont know if its not working. If it going to work should the voltage and current be 0?

I suggest reading REG_ID and checking it is 0x14, maybe you have a problem with your i2c bus or code or the actual hardware?
Without a battery, is the IC even powered?

I found stc3115 driver here : https://www.st.com/en/embedded-software/stsw-bat001.html
I switch the I2C comms to fit my TwoWire library and it seems to work. Soc, Volt and current return 0. I have no battery yet so i cant test completely

Hi,
I am using STC3115 in some project and I noticed that the current measurement from REG CURRENT registers and the current measurement from a lab equipment (FLUKE 8808A) differ quite a lot. Actually I am wondering how accurate is the gauge to measure current that flows in/out the battery ?
Did you already make the comparison ?
Regards


Uploading KEYS file to azure along with dist files

Nice! Yeah this should land under get.helm.sh/KEYS


release v0.9.0

Update changelog, bump version

@jazzpi you want to take a look at the v0.9.0 just to get one last pair of eyeballs on it before we release?
@lloeki are you the only one who can publish ex-mode into the apm registry, or can Jasper and I do this as well?

IIRC apm integrates with github and any project collaborator can publish a version for that project.

Whoops, I forgot about this one, sorry. Add #148 to the changelog and then publish? Looks fine :+1:

Yep. Will do.
On Jun 16, 2016 5:13 PM, "Jasper v. B."<EMAIL_ADDRESS>wrote:

Whoops, I forgot about this one, sorry. Add #148
https://github.com/lloeki/ex-mode/pull/148 to the changelog and then
publish? Looks fine 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lloeki/ex-mode/pull/144#issuecomment-226629388, or mute
the thread
https://github.com/notifications/unsubscribe/ADIVgaW91KzjmvolL4L3nv_OXm1PygI6ks5qMcqhgaJpZM4Ihafy
.


Line count incorrect due to single misread

Game 3 of Dog vs Fractal in CTL had a bad render due to a single misread of the line count. As the line count incremented from 99 to 100, the game read 488 and then incremented to 490. This can be avoided by refusing to increment the line count by larger than a certain amount. Another possible solution is to note a wide discrepancy between line count OCR and current line count 100 vs 490 and allow the software to adjust accordingly.
https://nestrischamps.io/replay/classic/419305?bg=2&speed=2&ts=255406
https://www.twitch.tv/videos/2156178342?t=2h9m21s

I pushed an increment of 1 frame to the frame buffer to address that:
https://github.com/timotheeg/nestrischamps/commit/6cb2736a6ba2bf1f89c243a1c39fb45ca7fab481
Longer explanation for reference below: the (likely?) interlacing artefacts caused the transition 099->100 to be read temporarily as 488, and that triggered a cascade of issues.
488 is above 340, so NTC took over lines progression by computation from the unit digit, rather than by OCR. so when the line count stabilised to 100, unit digit was 0, and so progression went from 488 to 490. which is level 55. Since the lines progression was then taken over from the unit digits, it could never recover and kept increasing from there for the rest of the game.
Score/lines/level are "stable" metrics, meaning that they change rarely, and stay consistent in between changes. NTC already had a mechanism (2-frames buffer) to delay the read and get the actual stable value. I don't know why the 2 frames were not enough for Dog's case, but here's hoping 3 will be.
I'm not keen in putting intelligence into the OCR to restrict what can and cannot be accepted. In the worst of case, it will jut block every read and do nothing at all. The initial idea of NTC was that the producer side would be pure OCR, while the renderer can decide what to do with the data. This also make things easier to troubleshoot because we can look at the data stream to know what was captured.
The later level of play (crash games rebirth games) have forced me to introduce compromises to that, since the level is not displayed consistently between gym and classic rom, NTC now derives it from the line count from level 30 onward, so that's not OCR. The line count itself goes in the thousands now, so rather than OCRing everything and introducing rollover, NTC took over lines progression from the unit digits, so it's also not OCR.
In theory, if calibration is good, these would work well, but if something goes wrong, it can't self recover any more 😢

Thanks for the detailed explanation and quick fix. This should help us understand better what is going on. I'll see if I can find a way to reproduce this issue. I see why you would like to keep the producer limited to OCR. That seems fine, we can definitely fix the bug in the renderer if it isn't already fixed.

Hey @Javantea, question btw: how did you find Dog's game id to show the issue in a classic replay link? Did Dog gave it to you?

I read the source code of the server and found the /api/games/id url, then I tested https://nestrischamps.io/api/games/21167 which I thought was my own game which turned out to not be mine. Then I did a search for the game looking at the date of the json, first increasing to 421167 by 100000s, then 321167 to 421167 by 10000s. Then to 419267 by 1000s. Once I was within 100 of the game, I wrote this script:
for i in $(seq<PHONE_NUMBER>66); do curl -o ntcdl/"$i".json https://nestrischamps.io/api/games/"$i"; sleep 1; done
At which point I was able to find the right one by grepping for a piece sequence I found:
grep -l ISLZ $(grep -l 'login":"dogplaying' ntcdl/*.json )
The total number of requests was around 130 to get the game, ~100 of those being in the loop.

Thanks for giving the info. That's great detective work you did 😄👏
Right, so the games files are indeed all public in NTC (which is how replays can work for any game). I initially didn't put any thought in making the ids easy to find though to have some semblance of privacy. When I search for a game, because I have access to the DB, if I have the player login name, and the time and the final score, I can easily find the game.
That said, it takes time for me to do that every time, so with more error reports coming in, and with finding the game ids always the first thing to do, I'll try to make it easier to find game IDs, so you all can help me speed up troubleshooting by providing the game id directly :)
By the way, since you are looking around in the codebase, here are some further info I do when I troubleshoot:

I always play the game in the classic renderer, being able to navigate clear by clear, piece by piece, or frame by frame, typically makes it quick to reveal what goes wrong
if I need access to the full frame data, there's a script get_verification_data, which you can run to get a few local files from the game data that are kind of human readable :)

E.g.:
cd scripts
node get_verification_data.js 419305

Thanks for all the issue reports. I appreciate it :)


Latest ROCm Release

It would be helpful to post on this issue whenever there is a new release (minor or major), for those of us who want to stay on the bleeding edge of ROCm :)

We are looking at 1.6.4 release,  in the next three weeks.    We looking at 2.0 release in the Fall but we can not talk about the features yet

Great, thanks.

Status update on 1.6.4?


fixed issue #89 error for resolveAlias

this commit resolve this issue:
https://github.com/nuxt-community/google-fonts-module/issues/89
i've tried to make it work with nuxt3 but it seems is a problem about head object in nuxt.config.

Fixed #94


nc.rc.setup_for_OT_reconstruction

sorry,when I run nc.rc.setup_for_OT_reconstruction,I always meet one issue:RuntimeWarning: invalid value encountered in true_divide cost_locations = sp_locations / sp_locations.max(),and then in calculating the GW matrix,it comes that It.  |Err
0|     nan|.

do you use a geometry from the example script or do you have your own? if you do have your own, in which format is it?


ticklabeloverflow does not work for PlotLayoutAxis

Hello,
there are actually 2 issues, and I suppose the second might be related to plotly rather than StipplePlotly:
Issue 1:
Even though it says so in the docstring, PlotLayoutAxis does not have a field named "ticklabeloverflow". Consequently, there is an error if one tries to assign a value to it.
Issue 2:
I tried to fix the issue by adding the following line to the struct definition of PlotLayoutAxis in Layouts.jl (copied from the definition of ColorBar):
ticklabeloverflow::Union{String,Nothing} = nothing # "allow" | "hide past div" | "hide past domain"

I also added :ticklabeloverflow to the list given to optionals!
Unfortunately, changing this field value then doesn't seem to have any effect on the flow of my tick labels. I am not sure whether my "fix" was executed incorrectly or whether this is a plotly issue.
Both issues don't really affect me though, because I can just as well use automargin = true
Cheers

Thanks for reporting can you also provide an MWE of what you tried? Also if possible please push the changes you made in PlotLayoutAxis so I can verify the approach

Heyo
I am not sure where you meant me to push to, so I just pushed to a forked repo:
https://github.com/jochenkrattenmacher/StipplePlotly.jl/commit/0254149f89e9f215b66bfb7c19824d50f888ff9b
Here's the MWE:
using Genie.Router
using Stipple, StipplePlotly

@reactive! mutable struct Presentation <: ReactiveModel
    plotlayout::R{PlotLayout} = PlotLayout(font = Font("Helvetica, sans-serif", 40, "rgb(31, 31, 31)"),
        xaxis = [PlotLayoutAxis(tickvals = [1], ticktext = ["a
c
d
"], ticklabeloverflow = "allow")],
    )
    plotdata::R{Vector{PlotData}} = [PlotData(x = [1], y = [1])]
    plotconfig::R{PlotConfig} = PlotConfig()
end

function init_presentation()
    presentation = Stipple.init(Presentation)
    on(presentation.isready) do ready
        ready || return
        push!(presentation)
    end
    presentation
end

function ui(presentation)
    page(presentation, "",
    [
        plot(:plotdata, layout = :plotlayout, config = :plotconfig)
    ]
    )
end

route("/") do
  init_presentation() |> ui |> html
end

up(8080, open_browser = true)


feat(connect): support DdlParse

#3580  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Rushstack Doc Revamp Roadmap

Intro
As rush (and rushstack) grow in popularity, we want to make sure docs are accessible, accurate, and easy to contribute to. In particular, it would be nice if it was easier to link back and forth between Heft, Rush, and API Extractor, and if the overall rush ecosystem was more discoverable from our docs pages.
To accomplish this, the plan is to:

Convert all existing doc sites, individually, to a TypeScript-based documentation framework.  Our current plan is to use Docusaurus for this revamp.
Combine all doc sites into a new Rush monorepo, adjusting deployment workflows as necessary.  (Each site will retain its current layout and URL, they will just all have their content source in one repo.)
Design a new overall layout for the header and navigation that allows users to easily understand how each site fits into the rushstack ecosystem.

Details
Part 1 (Convert to Docusaurus)
The plan is to individually convert each doc site to Docusaurus.  We'll start with rushstack.io, because it contains a large API Reference section and will likely require the most effort (if there are any issues or caveats to our use of Docusaurus, we want to flush them out early).  Once rushstack.io is complete we'll move on to the rushjs and api-extractor sites.
Part 2 (Monorepo)
TBD: What will the repo name be for the new monorepo? microsoft/rushstack-docs?
TBD: Hosting.  (Do we have microsoft/rushstack-docs output dist output that is copied into the existing repos, and let GitHub Pages do its thing like today? Do we investigate a more complete hosting solution at another provider?)
Part 3 (Design)
When we reach this point, we'll compile a list of our needs for the new combined header design and work from there.
Future Work
We hope to get some additional knock-on effects from this conversion:

A single repo users can file issues about missing or requested documentation (just like the single rushstack repo for implementation).
Possibility of translating / internationalization, using Docusaurus's existing support.
Possibility of providing versioned docs/API references, if appropriate, using Docusaurus's existing support.
???

Link Index

https://github.com/microsoft/rushstack.io-website/pull/37 - MVP Docusaurus changes for rushstack.io
https://github.com/microsoft/rushstack/pull/2979 - Docusaurus plugin for API Documenter

Closing, since these goals are now accomplished.


[ZEPPELIN-5661] Support clone a specific revision of a note

What is this PR for?
This PR is to provide restful API to clone a specific revision of a note.
Here is one of usage scenarios:
Some time we need to run multiple version of a note independently.
The easiest to copy the version of the note to a new note then run it.
It's helpful if there is a restful api to copy specific version of note.
What type of PR is it?
[Feature]
Todos

[ ] - Task

What is the Jira issue?

Open an issue on Jira https://issues.apache.org/jira/projects/ZEPPELIN/issues/ZEPPELIN-5661

How should this be tested?

CI passed

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? Yes

About https://github.com/apache/zeppelin/pull/4299#discussion_r815614064
Hi @zjffdu It is because the revision id is too long. substring is to provide a short one like short commit id.
Thanks a lot for the reviews.
And I have modified the code for  the other reviews.

LGTM


freeze EdgeGPT at 0.6.5 or maintain a Sydney version of EdgeGPT

Due to https://github.com/InterestingDarkness/ChatSydney/issues/34
https://github.com/viopsa233/AI-testers-Forum/discussions/69

Hello. Can you explain to me what has changed? It seems like the suggestions still come from message.suggestedResponses in your new code of ChatSydney.

When nointernalsugg and saharasugg is enabled instead of dv3sugg, the suggestions comes from an external AI, not Sydney. And only type==2 message has suggestedResponses

Thank you for your help! I have fixed this issue in the latest commit :)


Future plans for inverter support

I'm looking to add an inverter/charger to my mix.   Do you have any plans to add support for something like that.   I haven't bought one yet so if you have something in the works I'll go with that.

SolarThing already supports outback FX inverters, assuming you have a ~$200 mate too, so that isn't the best choice budget-wise.
I currently don't have anything in the works, but if Renogy puts out an inverter with the ability to monitor it through their BT-2 module, then I might consider supporting it. There's a chance that this model supports it, but on that page there's 0 mention of being compatible with the BT-2 module even though there's a comm port. The manual does say it supports the BT-2 module, so maybe soon Renogy will start really advertising that model.
No guarantees that I'll end up supporting Renogy's New Edition inverter in SolarThing, but it looks like it has the possibility of being monitored. I'm only mentioning that because before I knew that existed I went on a search for cheap inverters with the ability to be monitored and I couldn't find any.

I was able to get the Modbus document for the newer Renogy inverter. But the document is huge (similar size to the Rover document) and I'm not going to partially add stuff to SolarThing, so I'll probably never add it unless I actually get one, which is pretty unlikely.

Would you be able to share that document with me?   Just in case I end up
with one.
On Fri, Feb 19, 2021 at 4:16 PM Joshua Shannon<EMAIL_ADDRESS>wrote:

I was able to get the Modbus document for the newer Renogy inverter. But
the document is huge (similar size to the Rover document) and I'm not going
to partially add stuff to SolarThing, so I'll probably never add it unless
I actually get one, which is pretty unlikely.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wildmountainfarms/solarthing/issues/24#issuecomment-782470511,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPPOTXASRHACTR6KXVEUMDS735NLANCNFSM4XPHQE3Q
.

Here it is:
Inverter Modbus Protocol V1.6.zh-CN.en.pdf
I just emailed Renogy asking for it, so I imagine they'll give it to anyone. I assume they also have documents for their other devices. I keep two modbus files in this repo, but I might avoid that in the future since git isn't the best way to store binary files.

SolarThing currently doesn't support any Renogy inverters. I imagine it'll stay that way unless I get one.


Trimming text not working

This is a great feature that stopped working. Are there any plans to fix this? Using sketch 39.1

@rorysmyth in order to make iconfonts work with data populator, we needed to make a few minor changes. just get rid of the curly brackets in the layer name and it should work.
we're close to release a completely refactored version of the plugin and there will be more documentation coming with that. for a sneak peak, you can check the "refactoring" branch...

Thanks @nitrada. Works like a charm!
Will check out the new branch. Great work btw

@rorysmyth you'll like l | -l n" if you're into truncating text ;-)


Syringe icon is missing

Another in medical category is missing too.

Thanks, I'll take a look

Looks like they've been added to a recent release! I'll try to find some time in the next week or two to add them.

I think this can be solved with #12.

This is now fixed, will push a new version soon!

Version 7.0.0 pushed with these icons.