random failures in GitHub Actions CI's macos

debug gem sometimes failed on test-bundled-gems.
recent failures:
https://github.com/ruby/actions/runs/5515459899?check_suite_focus=true#step:16:2055
Testing the debug gem
  creating Makefile
  compiling /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/ext/debug/debug.c
  compiling /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/ext/debug/iseq_collector.c
  linking shared-object debug/debug.bundle
  /Users/runner/work/actions/actions/snapshot-master/exe/ruby -C /Users/runner/work/actions/actions/snapshot-master/gems/src/debug -Ilib /Users/runner/work/actions/actions/snapshot-master/.bundle/bin/rake test
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/lib/debug/client.rb:178: warning: assigned but unused variable - e
  Tests on local and remote. You can disable remote tests with RUBY_DEBUG_TEST_NO_REMOTE=1.
  Loaded suite /Users/runner/work/actions/actions/snapshot-master/.bundle/gems/rake-13.0.6/lib/rake/rake_test_loader
  Started
  ....................................P
  ===============================================================================
  Pending: test_boot_configuration_works_correctly(DEBUGGER__::BootConfigTest1638611290): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/boot_config_test.rb:21:in `test_boot_configuration_works_correctly'
       18:     RUBY
       19:
       20:     def test_boot_configuration_works_correctly
    => 21:       run_dap_scenario PROGRAM do
       22:         [
       23:           *INITIALIZE_MSG,
       24:           {
  ===============================================================================
  ..............................P
  ===============================================================================
  Pending: test_break_works_correctly(DEBUGGER__::BreakTest1638674577): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/break_test.rb:21:in `test_break_works_correctly'
       18:     RUBY
       19:
       20:     def test_break_works_correctly
    => 21:       run_dap_scenario PROGRAM do
       22:         [
       23:           *INITIALIZE_MSG,
       24:           {
  ===============================================================================
  ..............................F
  ===============================================================================
  Failure: test_breakpoint_fires_correctly(DEBUGGER__::BasicTest):
    #<Test::Unit::AssertionFailedError:
    --------------------
    | Debugger Session |
    --------------------

    >
    > Stop by SIGURG
    > continue
    > (rdbg:remote) continue
    >
  [1, 7] in /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/debug-20220311-84898-50pfy5.rb
    > =>   1| class Foo
    >      2|   def bar
    >      3|     binding.break
    >      4|   end
    >      5| end
    >      6|
    >      7| Foo.new.bar
    > =>#0	<main> at /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/debug-20220311-84898-50pfy5.rb:1

    --------------------
    | Debuggee Session |
    --------------------

    > EBUGGER: Debugger can attach via UNIX domain socket (/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/ruby-debug-sock-501/ruby-debug-runner-84898-86)
    > DEBUGGER: Connected.

    -------------------
    | Failure Message |
    -------------------

    Expected to include `"Foo\\#bar"` in
    (
    (rdbg:remote) continue

  [1, 7] in /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/debug-20220311-84898-50pfy5.rb
    =>   1| class Foo
         2|   def bar
         3|     binding.break
         4|   end
         5| end
         6|
         7| Foo.new.bar
    =>#0	<main> at /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/debug-20220311-84898-50pfy5.rb:1
    )
     on UNIX Domain Socket mode.>.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/assertions.rb:79:in `assert_block'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/utils.rb:78:in `rescue in block in debug_code'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/utils.rb:63:in `block in debug_code'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/utils.rb:171:in `prepare_test_environment'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/utils.rb:61:in `debug_code'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/debug/debug_statement_test.rb:12:in `block in debug_code'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/debug/debug_statement_test.rb:11:in `each'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/debug/debug_statement_test.rb:11:in `debug_code'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/debug/debug_statement_test.rb:31:in `test_breakpoint_fires_correctly'
       28:     end
       29:
       30:     def test_breakpoint_fires_correctly
    => 31:       debug_code(program) do
       32:         type 'continue'
       33:         assert_line_text('Foo#bar')
       34:         type 'q!'
  ===============================================================================
  .................P
  ===============================================================================
  Pending: test_1639[2181](https://github.com/ruby/actions/runs/5515459899?check_suite_focus=true#step:16:2181)22(DEBUGGER__::DetachTest1639218122): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/detach_test.rb:24:in `test_1639218122'
       21:     RUBY
       22:
       23:     def test_1639218122
    => 24:       run_dap_scenario PROGRAM do
       25:         [
       26:           *INITIALIZE_MSG,
       27:           {
  ===============================================================================
  .................P
  ===============================================================================
  Pending: test_finish_works_correctly(DEBUGGER__::FinishTest1638674323): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/finish_test.rb:21:in `test_finish_works_correctly'
       18:     RUBY
       19:
       20:     def test_finish_works_correctly
    => 21:       run_dap_scenario PROGRAM do
       22:         [
       23:           *INITIALIZE_MSG,
       24:           {
  ===============================================================================
  .......P
  ===============================================================================
  Pending: test_hover_works_correctly(DEBUGGER__::HoverTest1638791703): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/hover_test.rb:17:in `test_hover_works_correctly'
       14:     RUBY
       15:
       16:     def test_hover_works_correctly
    => 17:       run_dap_scenario PROGRAM do
       18:         [
       19:           *INITIALIZE_MSG,
       20:           {
  ===============================================================================
  ....................P
  ===============================================================================
  Pending: test_next_works_correctly(DEBUGGER__::NextTest1638676688): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/next_test.rb:21:in `test_next_works_correctly'
       18:     RUBY
       19:
       20:     def test_next_works_correctly
    => 21:       run_dap_scenario PROGRAM do
       22:         [
       23:           *INITIALIZE_MSG,
       24:           {
  ===============================================================================
  ........................................P
  ===============================================================================
  Pending: test_step_back_works_correctly(DEBUGGER__::StepBackTest1638698086): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/step_back_test.rb:23:in `test_step_back_works_correctly'
       20:     RUBY
       21:
       22:     def test_step_back_works_correctly
    => 23:       run_dap_scenario PROGRAM do
       24:         [
       25:           *INITIALIZE_MSG,
       26:           {
  ===============================================================================
  P
  ===============================================================================
  Pending: test_step_works_correctly(DEBUGGER__::StepTest1638676609): Tests for DAP were skipped. You can enable them with RUBY_DEBUG_DAP_TEST=1.
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/support/dap_utils.rb:168:in `run_dap_scenario'
  /Users/runner/work/actions/actions/snapshot-master/gems/src/debug/test/dap/step_test.rb:21:in `test_step_works_correctly'
       18:     RUBY
       19:
       20:     def test_step_works_correctly
    => 21:       run_dap_scenario PROGRAM do
       22:         [
       23:           *INITIALIZE_MSG,
       24:           {
  ===============================================================================
  ........................
  Finished in 138.555133 seconds.
  -------------------------------------------------------------------------------
  230 tests, 351 assertions, 1 failures, 0 errors, 8 pendings, 0 omissions, 0 notifications
  96.087% passed
  -------------------------------------------------------------------------------
  1.66 tests/s, 2.53 assertions/s
  rake aborted!
  Command failed with status (1)
  /Users/runner/work/actions/actions/snapshot-master/.bundle/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
  Tasks: TOP => test
  (See full trace by running task with --trace)
  Tests failed with exit code 1
Failed gems: debug
make: *** [test-bundled-gems-run] Error 1
Error: Process completed with exit code 2.

https://github.com/ruby/actions/runs/5665242527?check_suite_focus=true#step:16:2055

https://github.com/ruby/actions/runs/5696675025?check_suite_focus=true


double_float how to write homegrown arithmetic tests

In double-float (and probably quad-float) there is an underlying desire to hammer the arithmetic tests with millions upon millions of test cases for instantiation of the composite type(s) with float, double and long double. The purpose of these tests is generally low-level arithmetic verification through intensive testing of operations add/sub/mul/div/sqrt for the composite type with as low tolerance(s) as possible.
Over the course of the development, there have been several varying versions of the file test_cpp_double_float_arithmetic.cpp located here as well as in other popular branches.
The question arises: How do we write this file? How do we generate reliable test data? Which multiple-precision type (and how is it constructed) can be used to provide reliable control values for the results of add/sub/mul/div/sqrt?

IMHO, the following (random) points make sense:

The (general) test cases must have the exponent of the numbers uniformly distributed over [min_exponent, max_exponent]. This is akin to a log-uniform distribution
A few zeroes thrown here and there don't hurt

We can begin to structure the test along the following lines:

One series of tests for verifying correctness of algos given valid data.
One series of tests for verifying predictability of behavior given invalid data (e.g. handling of infinities and NaNs)

Please excuse me for making seemingly random points.

Good ideas @sinandredemption thank you.
Based on the very successful results on #21, I will integrate your points above with the tests as running in our recent PRs. As mentioned also in #21, I will set up a nightly CI as we progress forward.

As soon as these ideas are integrated in the tests, and everything is pulled onto develop (which might all take a day or so...), i'll close this issue at that time.

Hello @ckormanyos
I find the log-uniform RNG used in the old arithmetic test a bit more exhaustive than string-based float RNGs, especially for stress testing things in extreme cases. The line of particular interest is:
random_float = ldexp(uniform_real<FloatingPointType>(), rand_in_range(min_exponent, max_exponent));
Please let me know your thoughts on this.

Please let me know your thoughts on this.

If you can get the tests working and clean within the context of using boost::multiprecision::number<cpp_double_float<T>>>, then I am happy to go that way. In fact, the string creation is very slow as I have implemented it and I would, in fact, be quite interested if you could improve on that.

Hello @ckormanyos
Please do check the RNG for cpp_quad_float here. It produces values uniformly over the complete range representable by cpp_quad_float, so I think it should theoretically be excellent for rigorous tests.
It does not use the most elegant way ever, so please feel to modify/criticize.

check the RNG for cpp_quad_float

Looks pretty good to me. If it works for the tests, then we can go with that. Thanks @sinandredemption

There is a good working model in test_cpp_quad_float_constructors.cpp that cqan be used as a template for other double/quad-float homegrown arithmetic tests going beyond those already present in the Multiprecision test suite(s).
Close this issue now.


feat: add run logs and adapt get status

Implement getting run logs
Adapt getting run status
Bump hubble client version

Integration tests are failing because we use old api version on the server.

Where did you update the get run status?

Where did you update the get run status?

https://github.com/jina-ai/finetuner/blob/b5456cc4b124e63b2947ac6ec95e7a5af12ae125/finetuner/run.py#L48


Picture Update for Daron Yöndem

Docs Build status updates of commit 5c57542:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 5c57542:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/media/profiles/daron-yondem.jpg
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@daronyondem
Your change in this PR is published to RD website. Please check it from RD website: https://rd.microsoft.com/en-us/daron-yondem


[Discord OAuth2] include redirectUri in validateCallback

Would resolve #687.
Adds redirectUri as an optional parameter for validateCallback for Discord OAuth2.

I think just removing the redirectUri all together is the better choice, which is going to be done in v2 (already added to #682)


Fix astimezone() and naive datetime

Issue
The current module only works for Python >= 3.6. You cannot call astimezone() on naive datetimes prior to Python 3.6.
`ValueError: astimezone() cannot be applied to a naive datetime`

Solution
Install pytz and tzlocal
pip install pytz tzlocal`

Get local timezone
import pytz
from tzlocal import get_localzone
tz = get_localzone()

Return datetime.now() with proper timezone
return tz.localize(datetime.now()).isoformat('T')

The other workaround is obviously to require Python >= 3.6 for the module to work. I don't think this is practical.
On Debian at least, this would need user to be on Buster, or have manually installed Python >= 3.6.


Report for 30 days period: reset unique visitors counter every day

I want to generate an html report for 30 days and reset unique visitors counter for every day.
I store 30 last Nginx logs. For the moment, I generate month report as follows:
filtered_logs=$(mktemp)
month_logs=$(mktemp)

zcat -f /var/log/nginx/access.log /var/log/nginx/access.log.1 /var/log/nginx/access.log.*.gz | \
  grep -v -f /home/slisakov/scripts/exclude-list.txt > "$filtered_logs"

for i in $(seq 1 30)
do
    day=$(date -d "-$i days" '+%d/%b/%Y')
    awk -v date="$day" '$4 ~ date {print}' "$filtered_logs" >> "$month_logs"
done

cat "$month_logs" | goaccess \
  --http-protocol=no \
  --http-method=no \
  --date-spec=day \
  --ignore-panel=HOSTS \
  --ignore-panel=REFERRING_SITES \
  --sort-panel=REQUESTS,BY_VISITORS,DESC \
  --anonymize-ip \
  --ignore-crawlers \
  --log-format=COMBINED \
  --output=/var/www/html/month/index.html -

rm "$filtered_logs"
rm "$month_logs"

If there was a visitor visiting the website several days during this period, it will be considered as a one user, while I want the panel UNIQUE VISITORS PER DAY to show unique visitors during a day, not month.

Can you please clarify what you mean by "I want to generate an HTML report for 30 days and reset the unique visitors counter every day, but keep the count for 30 days?" I'm not entirely clear on how you intend to reset the counter daily while still maintaining a 30-day count.

Sorry for not being clear enough.
Here is my panel for unique visitors:

For example, for September, 12th
month report shows 800 visitors (logs for the last 30 days);
week report shows 1000 visitors for the September, 12th (logs for the last 7 days);
day report shows 1400 visitors for September, 12th (last full log).
And what I want to nkow is how many unique visitors I had per day while seeing the whole month statistics.

You should be able to hover over the chart and view the daily count of unique visitors. The "UNIQUE VISITORS PER DAY" panel's data column should also display the count of visitors for each day. It's important to note that this count only considers each day's visitors as unique and resets daily, not accumulating visitors from previous days.

You should be able to hover over the chart and view the daily count of unique visitors. The "UNIQUE VISITORS PER DAY" panel's data column should also display the count of visitors for each day. It's important to note that this count only considers each day's visitors as unique and resets daily, not accumulating visitors from previous days.

Thanks for reply. I thought that this count doesn't reset daily.
It seems that I have different values (e.g. when hover in month report compared to week report for the same date) due to bugs in my code when I generate the report. Thank you for your time.


Device Request - Human Presence Detector mm wave radar - [Shenzhen Wave Speed Technology co ltd - _TZE200_2aaelwxk] / [TS0225]

Prerequisites:

Before requesting a device addition, please ensure there is not already a request for the device among the open issues.
Make sure your Homey is upgraded to firmware v5 or higher.
You need a physical example of the device.

Device Information

Device Name: Human presence detector milimeter wave radar
Device Model: TS0225
Device Description: Radar presence detector
Link to device image: [Provide the URL to an image/photo of the device](https://nl.aliexpress.com/item/1005006010216719.html)

Device Interview
{
    ["
  "ids": {
    "modelId": "TS0225",
    "manufacturerName": "_TZE200_2aaelwxk"
  },
  "endpoints": {
    "ieeeAddress": "a4:c1:38:71:dd:2a:46:46",
    "networkAddress": 48952,
    "modelId": "TS0225",
    "manufacturerName": "_TZE200_2aaelwxk",
    "endpointDescriptors": [
      {
        "status": "SUCCESS",
        "nwkAddrOfInterest": 48952,
        "_reserved": 34,
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 1026,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          0,
          3,
          1280,
          57346,
          61184,
          60928,
          57344,
          1024
        ],
        "outputClusters": [
          3,
          57346,
          61184,
          60928,
          57344
        ]
      },
      {
        "status": "SUCCESS",
        "nwkAddrOfInterest": 48952,
        "_reserved": 10,
        "endpointId": 242,
        "applicationProfileId": 41440,
        "applicationDeviceId": 97,
        "applicationDeviceVersion": 0,
        "_reserved1": 0,
        "inputClusters": [],
        "outputClusters": [
          33
        ]
      }
    ],
    "deviceType": "router",
    "receiveWhenIdle": true,
    "swBuildId": "0122052017",
    "capabilities": {
      "alternatePANCoordinator": false,
      "deviceType": true,
      "powerSourceMains": true,
      "receiveWhenIdle": true,
      "security": false,
      "allocateAddress": true
    },
    "extendedEndpointDescriptors": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "zclVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1,
                "name": "appVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2,
                "name": "stackVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3,
                "name": "hwVersion"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4,
                "name": "manufacturerName"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 5,
                "name": "modelId"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 7,
                "name": "powerSource"
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 18,
                "name": "deviceEnabled"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 16384,
                "name": "swBuildId"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision"
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "identify": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 0,
                "name": "identifyTime",
                "value": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "iasZone": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "zoneState",
                "value": "notEnrolled"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1,
                "name": "zoneType",
                "value": "motionSensor"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2,
                "name": "zoneStatus",
                "value": {
                  "type": "Buffer",
                  "data": [
                    0,
                    0
                  ]
                }
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 16,
                "name": "iasCIEAddress",
                "value": "98:0c:33:ff:fe:4a:ad:c0"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 17,
                "name": "zoneId",
                "value": 6
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "illuminanceMeasurement": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "measuredValue",
                "value": 1000
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1,
                "name": "minMeasuredValue",
                "value": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2,
                "name": "maxMeasuredValue",
                "value": 4000
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {
          "identify": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 0,
                "name": "identifyTime",
                "value": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 1
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        }
      },
      "242": {
        "clusters": {},
        "bindings": {}
      }
    }
  }"]
}

Additional Comments:

Note: Provide any other relevant information or requests related to the device. Link to where you bought the device can be of help

How to interview a device

Add the device as a generic Zigbee device in Homey
Navigate to https://developer.athom.com/tools/zigbee.
Interview the device, the button for this is to the right of the device in the list of Zigbee units.
Click the copy button/icon to capture the device information.
Paste the copied information above.

Note: To be able to add more devices to the Tuya Zigbee app, we rely on community members like you to provide interviews of the devices you want to be added. Thank you for your contribution!

Please ignore this, i've found another similar request... thanks!


How to add grapsjs popular plugins like "grapesjs-preset-webpage"

I want to add grapesjs-preset-webpage plugins with onix.
I did try to find out steps/doc on google but I not found.
Your help will be appreciated.
Thank you in advance.

Hi there so i am not 100 % when i build onix in kind use those presets to create my own simple version unfortunately the grapesjs documentation is very limited but any new plugins you need to add in the onix you can check the file onixPreset.js inside the folder
onix/Publish/Resource/js/grape/onixPreset.js i add comment line buy line let me know if that help you in any way.

Thank you for your comment.
It's possible via change in vendor\mariojgt\onix\src\views\components\onix\main.blade.php this file.
Load plugin dependency and add plugin name to the plugin array on grapesjs init method.


Tested in Local v1.3.4 is working as expected.  Please clear your cache, update the package properly.

Tested in Local v1.3.4 is working as expected.  Please clear your cache, update the package properly.
Warning !! - @spa9999 - Please do not raise issues without thorough testing.

Hence closing.
Originally posted by @CuppaLabs in https://github.com/CuppaLabs/angular2-multiselect-dropdown/issues/71#issuecomment-338759120

Please use latest version v4.2.4


Add basic smoketest

Closes #37

Still need to find out, why it fails, works locally

totally outdated, but I still think we should have a smoke test.


Internal Server Error while running interactive learning

Rasa Core version: 0.12.2
Rasa NLU version: 0.13.7
Python version: 3.6.7
Operating system: Ubuntu 18.04
Issue:  rasa_core.training.interactive - BinarySingleStateFeaturizer was not prepared before encoding. When I start the Interactive training it fires up correctly, for example, I pass the message "Hey", the NLU classifies that it's a "greet" and when I opt "Yes" it raises the error. I don't know why that's happening. This is the exception. Any help would be appreciated!
I'm uploading a screenshot as well for furthur information.

Issue resolved, stories.md was under data directory as well there was an empty stories.md in the root directory And thus it was causing the issue. The issue can be closed.


Only run specific folder

I will happy if you want config only run it from specific folder.
Thanks.

This already works:
pint app/Console


Integrating with sbteclipse

I was wondering if you can think of any way to better integrate with the sbteclipse plugin.  I tried using sbteclipse to import the default generated android-plugin project.
I deleted the test subproject from build.scala to avoid the project referencing itself error, and was able to successfully import the project into Eclipse.  I can now edit and build  the project from within Eclipse, but Eclipse doesn't recognize it as an Android project, so I can't deploy from within the IDE.
I also tried to connect Eclipse's Android debugger via DDMS to the running Scala application after starting it from the sbt command line.  The debugger to the project and got a "no opened project found" error.  I think it's because Eclipse doesn't recognize the Eclipse Scala project as an Android project.

I just complete setup development environment for scala with JNI
Scala 2.9.1
Eclipse 3.7.1 with ScalaIDE 2.0
SBT 0.11.1
android-plugin from git://github.com/jberkel/android-plugin.git 0.6
sbteclipse is superfluous
look at https://github.com/ezh/HelloWorldAndroidJNI
PS I spent two full days hacking away, trying desperately to make it work There are a lot of hidden moments. As simplest thing - try to dex scala-library.jar ;-)


Dropdown hogs Return, Up and Down keys

I could not unbind keyboard events from a Dropdown. If I interact with a Dropdown, then the Return, Up, and Down keys are locked to the Dropdown for the whole notebook
Here's how to reproduce this:

Create a Dropdown

from ipywidgets import Dropdown
Dropdown(options=['carrots', 'turnips'])

Click on the Dropdown
Click another cell, or anywhere that should normally deactivate the Dropdown.
Now try to press the Return key, it will jump to the Dropdown and display its options

We should write down the specific semantics we want out of the dropdown, and then make sure the code conforms to it. Right now the code has several places where it takes the handlers off, but in slightly different ways and for slightly different reasons.
What should the semantics be?

Removing the 6.0 milestone since we are using a select tag.

Closing since we are using the select tag now.


Add support for PUBSUB subcommands

As documented here:
http://redis.io/commands/pubsub
For example:
>>> import redis
>>> client = redis.from_url('redis:///')
>>> client.execute_command('PUBSUB', 'NUMSUB', 'foo')
['foo', '1']

@andymccurdy This one can be closed as resolved, based on the merged MR #819 that implemented the pubsub subcommands.

Thanks for catching this. Agreed, this have been resolved.


Extension does not yet work with GNOME 42

When I tried to open the extension settings the following error was produced:
The settings of extension<EMAIL_ADDRESS>had an error:
TypeError: Utils.allowedConnectionTypes is undefined

Stack trace:
getConnections@/home/slrtbtfs/.local/share/gnome-shell/extensions/hue-lights@chlumskyvaclav.gmail.com/prefs.js:2079:17
_getConnectionWidget@/home/slrtbtfs/.local/share/gnome-shell/extensions/hue-lights@chlumskyvaclav.gmail.com/prefs.js:2098:32
_buildBridgesWidget@/home/slrtbtfs/.local/share/gnome-shell/extensions/hue-lights@chlumskyvaclav.gmail.com/prefs.js:451:42
_buildWidget@/home/slrtbtfs/.local/share/gnome-shell/extensions/hue-lights@chlumskyvaclav.gmail.com/prefs.js:264:32
getPrefsWidget@/home/slrtbtfs/.local/share/gnome-shell/extensions/hue-lights@chlumskyvaclav.gmail.com/prefs.js:235:46
buildPrefsWidget@/home/slrtbtfs/.local/share/gnome-shell/extensions/hue-lights@chlumskyvaclav.gmail.com/prefs.js:2248:21
_init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:32:44
ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:129:33
asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
main@resource:///org/gnome/Shell/Extensions/js/main.js:21:13
run@resource:///org/gnome/gjs/modules/script/package.js:206:19
start@resource:///org/gnome/gjs/modules/script/package.js:190:8
@/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17

Already fixed. The new release is coming soon.

The new version is available. Please, update.


Kubernetes hostname changes

fixed my fork, made git close pr #5559 sorry.

@dsever I suggest we continue with this PR because it fixes the problem from @nobletrout and doesn't change to much. I agree with you that there is room for improvement, but maybe we continue with it in later PR, when someone need the feature.

@alles-klar, problem I see here is that PR breaks upgrades. Previously there was def as: key:value and now is key: list.
At least it has to be documented.

@nobletrout I added an upgrade note, but I think we must also update the kubernetes instructions. Can you please take a look and test/update it?

Guys finally I had time to test it in minikube, sorry about that (my bad). So few comments from my side, it works as expected, that is good.
But I'm thinking about something else, this change introduces many changes but actually it changes only  DD_ALLOWED_HOSTS: it is not touching items like liveness probes, and it break changes (if someone has configured CICD way of working). Addition to that hosts is list, and for liveness probes and TLS certs it is taking first element:
{{- $hostName := index .Values.hosts 0}}
So if order is not respected ti will break the deployment.
Maybe would be better to introduce new value like e.g  alternative_hosts that will be for DD_ALLOWED_HOSTS translated to:
host + alternative_hosts (list)
So user will not need to break/adapt current installation, not pay attention of the order, but required functionality will be still there.

Makes sense I was just trying to avoid adding an additional value.

Now it looks good to me, I don't think  integration tests that fails has anything to do with your changes.

@nobletrout can you try to rebase it.

Am I right, you did rebase against master instead of dev?

ugh, looks like i did. the github UI isn't very clear about how that sort of stuff works.

git you make everything very hard.


Remove long explanation of fvar

The 'fvar' table defines a range of design variations supported by a font — the font’s variation space. It specifies certain axes of variation that are used, and a range of supported values for each axis using scales appropriate to the nature of each axis. When processing a font’s variation data to derive glyph outlines or other values for a particular variation instance, the coordinates selected by the user must be mapped from the scales that are used to define the axes in the 'fvar' table to a normalized scale that is the same for every axis.
A default normalization mapping is defined that maps the minimum, default and maximum values specified for each axis in the 'fvar' table to -1, 0, and 1, respectively, and that maps other values in between by linear interpolation between those values. The default mapping can be represented by the following pseudo-code.

A long explanation of how the fvar table works belongs in the fvar table chapter, but probably not in the avar table chapter.

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

ID: 06ab9f03-9923-3400-5ae2-b650dcf7fb83
Version Independent ID: 8b1c2a74-1f8e-cfc3-6472-36727c362e71
Content: avar — Axis variations table - Typography
Content Source: typographydocs/opentype/spec/avar.md
Product: typography
GitHub Login: @PeterCon
Microsoft Alias: PeterCon

Revised for the next version.
Some reference to fvar and axis scales/ranged defined there must be kept since avar must be explained in terms of how it fits into the normalization process of mapping "user" coordinates as described in fvar into normalized coordinates as used in the variation data.


ci: update permissions for main workflow

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


crypto/x509: Wrong error text when failing to unmarshal key-id

See: https://github.com/golang/go/blob/master/src/crypto/x509/x509.go#L1136
The error returned when unmarshmaling a key-id reads x509: trailing data after X.509 authority key-id. However, this is not the authority-key id, it is the key-id.
Instead it should read x509: trailing data after X.509 key-id
It looks like someone copied and pasted the error from here (https://github.com/golang/go/blob/master/src/crypto/x509/x509.go#L1102) without making the needed change to the text.

https://go-review.googlesource.com/22240


Drop the rubyracer dependency

Everyone has nodejs and it will be detected by ExecJS which is
tasked with finding a usable JS runtime. Plus libv8 is a beast of a
dependency to build and therefore contributes to global warming.

:green_heart:


Add support for fetching individual food items

Will use this for whereisfelix.today

@KrauseFx Looks good to me. If you please update the test that's failing, I'll go ahead and approve, merge, and publish a new release.


A null pointer is thrown when subscribing APIs

Steps to reproduce:
1) Send a DCR request
3) Delete the application.
4) Send a new DCR request
When subscribing to an API, an exception is thrown because the application mapping to the given applicationId retruns null. However, the deleted application can still be retrieved from the dbConnection. This appears to be a issue due to db connections not properly closing.

@imesh94 Can you please give more information about this? Which app are you going to delete? is it sp app?

@Krishanx92 the API Store application. It can be reproduced from the API store UI.
1.Create an application, generate keys and subscribe APIs
2.Delete the application from the store.
3.Repeat step 1.

The issue is not reproduced in 2.6.0 wum pack.


413 Request Entity Too Large Error on grid export

Export through Hoist resulted in 413 Entity Too Large error.
We attempted to change two parameters, but neither worked.
In docker/nginx/app.conf:
<server> ...     client_max_body_size 0; </server>
and
application.groovy:
       controllers {             upload {                 maxFileSize = 20971520                 maxRequestSize = 20971520             }         }
The application is deployed and managed through Kubernetes

@amcclain When you get a chance, I'd like to look through this one with you, please.

Hi Arjun - apologies I was out of the office for a few days.  I assume this is still an issue?
How large is the attempted POST? Note that the xh-nginx base image sets a limit of 20MB. Given this, we shouldn't need to customize the app's dockerfile unless we need to go larger - especially as I believe that Grails-side value remains at 20MB (20971520/1024/1024).
I am not sure, but it's also possible that this error is coming from the k8s ingress.  Did you see an nginx error page returned? If so, did the version reported match the version of nginx we're packaging? Our dockerfile specifies nginx:latest which should be 1.15.12.

Hi Anselm. Yes, this is still an issue.
Here are some more details:

It first failed on a POST that was a little under 5MB in size, so we added in client_max_body_size 5M; in the app.conf file. Once we did that, and deployed to UAT, that original export worked.
Upon further testing, however, the user found another export that failed with a POST content size of 6791091 (~6.5MB). Further increases in client_max_body_size did not fix this use case. We even tried an unlimited size of client_max_body_size 0; with no luck.

P.S. Neither the user nor I were able to recreate this on our local environments. All exports worked fine locally. This was only an issue in the UAT / Prod environments.

This was a limit imposed by the client's Rancher deployment, which had a default (low) limit in place for its nginx-based ingress.
A crucial hint that this was not our nginx came from the fact that the error message in the 413 response included a different nginx version number than e.g. a 404.  Looking at the nginx logs within the Rancher cluster also did not show any sign of the error, indicating it was being intercepted before it reached our stack.
Resolved by adding the nginx.ingress.kubernetes.io/proxy-body-size annotation with a larger 20m value.  Client infrastructure team contacted and asked if they can make this a default.


Include input changes in Patch.prototype.getChanges()

Over the weekend I have worked on a change that allows to splice in flip-flop into a Patch in order to aggregate changes from previous patches (e.g. we may use this in TextBuffer). It does so by modifying the existing getChanges interface and providing both an inputStart and an outputStart, so that we can write:
# flip
aggregatePatch = new Patch
for change in changes1
  aggregatePatch.splice(change.outputStart, change.oldExtent, change.newExtent, {text: change.newText})

# flop
for change in changes2 by -1
  aggregatePatch.splice(change.inputStart, change.oldExtent, change.newExtent, {text: change.newText})

The underlying reason why this should perform faster is that splay trees are well suited for locality, so splicing into a Patch from first to last and then from last to first should allow us to drop the factor of rotating and traversing the tree, as the nodes that were accessed last in the previous splice will be accessed first in the next splice.
Patch Benchmarks
Benchmarks performed via the following snippet:
  describe('benchmarks', function () {
    it('normal', function () {
      let patch = new Patch()
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 0}, {row: 0, column: 0}, 'h') }
      patch.rebalance()
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 1}, {row: 0, column: 0}, 'e') }
      patch.rebalance()
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 2}, {row: 0, column: 0}, 'l') }
      patch.rebalance()
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 3}, {row: 0, column: 0}, 'l') }
      patch.rebalance()
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 4}, {row: 0, column: 0}, 'o') }
      patch.rebalance()
    })

    it('flip-flop', function () {
      let patch = new Patch()
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 0}, {row: 0, column: 0}, 'o') }
      for (var i = 20000; i >= 0; i--) { patch.spliceWithText({row: i, column: 1}, {row: 0, column: 0}, 'l') }
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 2}, {row: 0, column: 0}, 'l') }
      for (var i = 20000; i >= 0; i--) { patch.spliceWithText({row: i, column: 3}, {row: 0, column: 0}, 'e') }
      for (var i = 0; i < 20000; i++) { patch.spliceWithText({row: i, column: 4}, {row: 0, column: 0}, 'h') }
    })
  })

Results are quite promising:

TextBuffer Benchmarks
Benchmarks performed by writing 5 letters on 5000 cursors.
Before

Total: ~ 700ms.
After

Total: ~ 400ms, almost a 2x improvement. :racehorse:
Conclusions
I still believe that dropping this library to C++ would have lots of advantages and could make this code at least twice as fast. Given that is much less interactive than MarkerIndex we wouldn't even incur in the cost of serializing objects back and forth from native code. :horse_racing:
/cc: @nathansobo @maxbrunsfeld @kuychaco

Using the inputStart when splicing backwards makes total sense. A couple questions / issues:

This changes the return value of getChanges, which is currently exposed in public APIs. In those APIs, discussion of input and output doesn't make much sense. Should they just be called oldStart and newStart? Overall, we could adopt the old and new language across the API, in splice as well.

Are you planning on using this in a compose method or something similar? How are you deciding which way to iterate over the changes?

Are you planning on using this in a compose method or something similar? How are you deciding which way to iterate over the changes

Yeah, I wanted to gather some feedback on the technique I used first, but I have just added a Patch.composeChanges to handle that. I named the function composeChanges because in the future we may add another method to compose patches (in that case we would use the iterator instead of going through the array).
The reason why we want to use composeChanges (as opposed to composing patches) is so that we can maximize the efficiency of TextBuffer and basically do the following (will open a PR soon):

On each transaction, we already emit a did-change-text after calling getChanges();
We store the result of that call into an array;
When we need to emit the did-stop-changing event, we compose all the changes found in such array;

Iterating over an array of arrays (as opposed to every Patch's iterator) avoids the extra allocation of Point creation and their related math.

This changes the return value of getChanges, which is currently exposed in public APIs. In those APIs, discussion of input and output doesn't make much sense. Should they just be called oldStart and newStart? Overall, we could adopt the old and new language across the API, in splice as well.

That's a really good point, and I have performed the rename in 8eef1d. :+1:
Thanks for the feedback! Please, merge at will if this looks good to you. :sparkles:

Thanks @nathansobo for the precious feedback! :sparkles:


dataclasses decorator doesn't handle unannotated stdlib dataclass types when nested

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and still think this is a bug

Bug
It appears that dataclasses.dataclass doesn't create the __annotations__ field when there are no fields. The pydantic.dataclasses.dataclass decorator assumes that it exists here. Declaring it a pydantic dataclass fixes the issue.
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.8.1
            pydantic compiled: True
                 install path: /opt/miniconda3/envs/te-bug-test/lib/python3.7/site-packages/pydantic
               python version: 3.7.7 (default, May  7 2020, 21:25:33)  [GCC 7.3.0]
                     platform: Linux-5.11.0-051100-generic-x86_64-with-glibc2.10
     optional deps. installed: ['typing-extensions']
...

Reproducer:
from dataclasses import dataclass as stdlib_dataclass
from pydantic.dataclasses import dataclass as validated_dataclass

@stdlib_dataclass  # replacing this with @validated_dataclass fixes this
class Trivial:
    pass

@validated_dataclass
class NestedVTrivial:
    child: validated_dataclass(Trivial)

Results in a traceback
Traceback (most recent call last):
  File "/app/extra/plugins/python/helpers/pydev/pydevd.py", line 1477, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/app/extra/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/aloukian/.var/app/com.jetbrains.PyCharm-Professional/config/JetBrains/PyCharm2020.3/scratches/pydantic_annotations_bug.py", line 10, in <module>
    @validated_dataclass
  File "/home/aloukian/.var/app/com.jetbrains.PyCharm-Professional/config/JetBrains/PyCharm2020.3/scratches/pydantic_annotations_bug.py", line 12, in NestedVTrivial
    child: validated_dataclass(Trivial)
  File "pydantic/dataclasses.py", line 255, in pydantic.dataclasses.dataclass
    f'repr={self.repr!r},'
  File "pydantic/dataclasses.py", line 250, in pydantic.dataclasses.dataclass.wrap
    f'name={self.name!r},'
  File "pydantic/dataclasses.py", line 148, in pydantic.dataclasses._process_class
    # __eq__ method in the class body (not one that was created by
AttributeError: type object 'Trivial' has no attribute '__annotations__'

Hi @antonl and thanks for reporting! Fixed my PR to support your issue

Any progress with this? I'm encountering the same issue.

@aantn you're welcome to try out the PR in the meantime


Transparency of Fonts?

First of all, thanks for a fantastic library making fonts easy with Micropython.
I'm working on a Fork of Writer to allow for text alignment that I'll put on github when complete.
One thing I'd like to add/change -- but my byte shifting knowledge isn't up to par -- is to allow the fonts to be transparent. That is, for non inverted text, the "on" pixels would be set to "on" in the frame buffer, but the "off" pixels would not be set to "off". For inverted text, the "on" pixels would be set to "off" but the "off" pixels would not be set to "on".
I'm hoping you can shed some light on how I might do this and that it doesn't require a change to the generated font files.
Thanks...

Transparency is outside of my experience but I think this would need to be handled at display driver level. The CWriter class supports colour displays. I think certain colours would need to be defined as partially transparent, and this would need to be handled by the device driver. But I can see numerous potential problems if transparent text is removed or moved: you'd somehow need to restore the underlying image. I suspect this would imply multiple buffers.
To be honest I think you need to raise this on the forum, or possibly elsewhere: there is doubtless plenty of know how about this, but alas I don't possess it.


Release 0.4.0

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: eorituz:white_check_mark: nlsdfnbch:x: DevOpsBotDevOpsBot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Move CG to new folder named "solvers", "linalg" or so

I think that CG should be moved to some new folder that is called solvers, linalg or so. The reason is that CG solves a linear system Hx=b instead of being designed for minimizing an objective function like lbfgs or adam.

naaaaa


[r-rig] Options to install devtools, jupyterlab, radian

close #18, close #35, close #46
With this update, the packages installed on the following Dockerfile can be installed by this feature.
https://github.com/microsoft/vscode-dev-containers/blob/1d482aca6136a2d24c46e32ad645df54109143ac/containers/r/.devcontainer/Dockerfile
Note: This update is to make this feature also available for use in installing these packages in rocker/r-ver, etc.
So I am switching pak to the nightly version (<IP_ADDRESS>00 or later) that has not yet been released. (See r-lib/pak#251)

With this update, the packages installed on the following Dockerfile can be installed by this feature.

I forgot vscDebugger. (#54)


⚠ Bofrost.de has degraded performance

In 89b3cf1, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1099 ms

Resolved: Bofrost.de performance has improved in 22abb19 after 8 minutes.


Configuration Problem Testing CIHelper

CIHelper expects to be in the gitgitgadget repo so it can reference the res/Welcome.MD file.  When testing, the workdir for CIHelper needs to point to different locations so the tests can run in parallel and the git config can be set outside of the tester's personal config.
In CIHelper, when creating a GitGitGadget, it is done with GitGitGadget.get(".").  The get method will query the config for gitgitgadget.workDir using the passed '.' directory (IOW, the git config for gitgitgadget).

This seems awkward because the CIHelper workdir is supposed to point to a git repository.  Why not just pass that to GitGitGadget.get()?
The get method is using the passed directory to obtain git config info.  Is this supposed to be part of the git repo config or the gitgitgadget repo config?  The get method does support two directories being passed.
Concurrent testing has problems with different tests setting gitgitgadget.workDir.  This can be worked around by changing directories to a different git config but that also requires copying res/Welcome.MD.

Hopefully this makes some sense.  One solution is to provide CIHelper with a git repo (as is done now), and a location to get the config info (default to '.').
Questions?  Other suggestions?  Have I misunderstood everything?

@webstech I think you are right on all accounts. To allow for easy deployment, I would still like to default to querying gitgitgadget.workDir in ., but you've correctly pointed out that it would make a lot of sense to allow overriding that with a pair of Git/GitGitGadget workDirs (we often need the Git workDir to look at commits and notes, and we do need the GitGitGadget workDir for the welcome message).

Thanks for the quick reply.  I know you have been very busy.
For minimal change, the CIHelper would be
constructor(workDir?: string, skipUpdate?: boolean, gggDir = "." )
and getting the gadget would be
GitGitGadget.get(this.gggDir, this.workDir).
The oddity is the reversed order from the constructor to the get method but they are different objects.
I do have a question related to deployment.  How is the git configuration set up in azure?  Is it part of the vm setup?  Just trying to understand how this works to deploy on fresh vm.

For minimal change, the CIHelper would be
constructor(workDir?: string, skipUpdate?: boolean, gggDir = "." )
and getting the gadget would be
GitGitGadget.get(this.gggDir, this.workDir).
The oddity is the reversed order from the constructor to the get method but they are different objects.

Makes sense. It might be a good idea to consolidate the order?

I do have a question related to deployment. How is the git configuration set up in azure? Is it part of the vm setup? Just trying to understand how this works to deploy on fresh vm.

Handle PR (Comment or Push):GIT_CONFIG_PARAMETERS="$GIT_CONFIG_PARAMETERS $EXTRA_CONFIG"
set -x
if test "$(pr.comment.id)" -lt 0
then
    case "$BUILD_SOURCEBRANCH" in
    refs/pull/[1-9]*/head|refs/pull/[1-9]*/merge)
        branchname=${BUILD_SOURCEBRANCH#refs/pull/}
        prnumber=${branchname%/*}
        ;;
    *) echo "Invalid source branch: $BUILD_SOURCEBRANCH">&2; exit 1;;
    esac
    node build/script/misc-helper.js handle-pr-push "$prnumber"
else
    node build/script/misc-helper.js handle-pr-comment "$(pr.comment.id)"
fi

(The pr.comment.id pipeline variable is set when queuing the build via the Azure Function that is registered as a webhook, that's how we can discern between this mode vs push.)

The pipeline variable GIT_CONFIG_PARAMETERS (which is pre-set as an environment variable in the scripts, interpreted by Git in the same way as git -c <key>=<value> would be) is defined as 'user.name=GitGitGadget'<EMAIL_ADDRESS>'gitgitgadget.workDir=$(Agent.HomeDirectory)/../git-worktree', i.e. it configures GitGitGadget as committer and it asks GitGitGadget to fetch the commits and notes to the directorygit-worktree/ that is located next to the Azure Pipeline build agent's own directory, which assumes that the agent is running in a suitable VM and its files are installed into the home directory of the account running the agent.
Ideally, this definition (even if it is very small compared to other pipeline definitions I maintain) would be tracked in a Git repository, but since we want this to be a CI build (so that it neatly shows those Checks in the PR page), the pipeline is already associated with gitgitgadget/git (even if the pipeline is configured not to "sync the source", i.e. it does not check out the code pushed to the PR), and we cannot simply add GitGitGadget's Azure Pipelines' definitions to master because that is mirrored verbatim from git/git.

[...] 'gitgitgadget.workDir=$(Agent.HomeDirectory)/../git-worktree', i.e. it configures GitGitGadget as committer and it asks GitGitGadget to fetch the commits and notes to the directorygit-worktree/ [...]

I should note that this is the reason why GitGitGadget initializes the worktree if it does not yet exist, so that we could easily initialize a new agent in a new VM if the current one ever gets broken or unavailable for whatever reason.

For minimal change, the CIHelper would be
constructor(workDir?: string, skipUpdate?: boolean, gggDir = "." )
and getting the gadget would be
GitGitGadget.get(this.gggDir, this.workDir).
The oddity is the reversed order from the constructor to the get method but they are different objects.

Makes sense. It might be a good idea to consolidate the order?

Do you feel strongly about changing the order?  Changing the order for GitGitGadget.get() makes the most sense but it would mean making the workDir a required parm.  The use case for overriding the default gggDir for CIHelper is only for testing.

Thanks for all the background info.  Should this be added to a gitgitgadget wiki page or a .md file in the repo?  It really helps fill in some of the blanks that are not visible when looking at the jobs on azure.

Do you feel strongly about changing the order?

No ;-)

Thanks for all the background info. Should this be added to a gitgitgadget wiki page or a .md file in the repo? It really helps fill in some of the blanks that are not visible when looking at the jobs on azure.

I guess a Wiki page would work fine? Or, if you want to have it closer to the code, an .md would be fine with me, too... Whatever you like.

Should this be added to a gitgitgadget wiki page

Done: https://github.com/gitgitgadget/gitgitgadget/wiki/GitGitGadget's-Azure-Function-and-Azure-Pipelines

@dscho Thank you for creating the wiki page.  It really helps to know the internal plumbing that is not visible in the jobs.

Note to self: I still need to document two more pipelines: the one watching pu and the one watching public-inbox.org/git/'s master.

I still need to document two more pipelines: the one watching pu and the one watching public-inbox.org/git/'s master.

Done: https://github.com/gitgitgadget/gitgitgadget/wiki/GitGitGadget's-Azure-Function-and-Azure-Pipelines/_compare/af3e755f594d7cd5ffcbf836df126e5baa8d56ee...365adcd2b002bd0c937540b47821055114ce6ae1

@webstech thanks for reminding me of this issue when talking about #156: yes, I think that PR will address at least this part of this ticket:

3. Concurrent testing has problems with different tests setting gitgitgadget.workDir.  This can be worked around by changing directories to a different git config but that also requires copying res/Welcome.MD.

Two PRs providing options and clarity and some awesome doc on the wiki.  This issue is resolved.


OSX: CMake fails to detect version of brew HDF5

When using USE_SYSTEM_HDF5=ON on OSX, we get
CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find HDF5: Found unsuitable version "", but required is at least
  "1.8" (found HDF5_hdf5_LIBRARY-NOTFOUND)

This does not occur when building our own HDF5 (v1.10.1). OSX 10.13.3, brew HDF5 claims to be 1.8.

@rijobro, could you check this with recent CMake and brew and update accordingly? The only thing we can do is to document it on the Wiki. After that's done, please close this.

I use Brew installed HDF5 and don't have any problems. Not sure how you want me to document this.

what version of HDF5 does brew currently install? If it's still 1.8, then presumably your CMake is more recent than 3.11.4. We should then either require CMake 3.12 on OSX, or put it in the wiki that USE_SYSTEM_HDF5=ON might fail with CMake version 3.11 (or presumably earlier)

current version installed by brew is 1.10.4. Will update the wiki for the CMake version.

instruct users to use >=3.12 here: https://github.com/CCPPETMR/SIRF/wiki/SIRF-SuperBuild-on-MacOS


tests: mem_protect: force assertions on

To really test the memory domain functionality, we
need to ensure that the APIs are succeeding, right now
they fail silently if we run out of MPU regions, they
don't propagate an error to the caller.
Signed-off-by: Andrew Boie<EMAIL_ADDRESS>

Codecov Report

Merging #7889 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7889      +/-   ##
==========================================
+ Coverage   55.02%   55.02%   +<.01%
==========================================
  Files         483      483
  Lines       53970    53970
  Branches    10501    10501
==========================================
+ Hits        29695    29696       +1
  Misses      19986    19986
+ Partials     4289     4288       -1

Impacted Files
Coverage Δ

boards/posix/native_posix/timer_model.c
100% <0%> (+1.78%)
:arrow_up:

Continue to review full report at Codecov.

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

actually taking a more agressive approach see #7890


Feature request: PDF preview

It would be great if PDF preview could be added in. I liked to use ranger to skim through my documents folder (stuffed with PDFs), and I'd like to do the same with cfiles.
I've sort of got this working in a hack-y way: changing the displayimg script to check for PDFs and convert to jpg for preview using ghostscript. This means that text preview would not work if ghostscript is not available.
PDFPREV=/tmp/pdf_thumb.jpg

IMGEXT="${FILENAME##*.}"

case $IMGEXT in
  pdf|PDF)
    command -v gs &> /dev/null || exit 1
    gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -sOoutputFile=$PDFPREV -dLastPage=1 "$FILENAME" &>/dev/null
    FILENAME=$PDFPREV
    ;;
esac

I dunno if there's a better way?

are you experiencing any lags with your method? AFAIK ranger uses pdftotext for pdf previews so I'll look into it too

Ranger does use pdftotext as default, but there's a commented out code block in scope.sh in ranger which converts the PDF to image. Looking at it now, ranger uses pdftoppm rather than ghostscript.
It doesn't really lag, ghostscript is quite fast. video

Check out the latest release and let me know if you encounter any bugs. I tested it on some small PDF documents and it was responsive. Haven't yet tried with bigger sized PDFs

I think pdftoppm is somehow inconsistent about the numbering it uses:

I (mostly) couldn't get a PDF preview. The code expects an image preview to be generated with the name "prev-001.jpg", right? My pdftoppm gives "prev-01.jpg" sometimes:

However adding the -singlefile option removes the numbering from the output file, resulting in only the extension ".jpg" being added:

I wonder why the numbering is sometimes different?
Thanks for putting in the time to add this feature :) However, it's a bit slow, and for some reason, I'm getting the same PDF preview for different files: video

Checkout the latest commit. I used the -singlefile option and now I am not getting same previews for different files. The speed is okay for small PDFs but it can take 1-2s for 40+mb PDFs. For this reason I have made it optional in the config. Try the latest commit and let me know how it works for you

Perfect! Thank you :)


Add unit-cover make target

Add a make target for running the unit tests and checking the test coverage. There is a target like this in BMO that you can use for inspiration.

/triage accepted
/good-first-issue


Missing separator at line 21.

Line separator is needed to get the makefile to work.
e.g.
make -f tensorflow/lite/experimental/micro/tools/make/Makefile test
will return a missing separator error.

Thank you for the PR, please sign CLA, otherwise we won't be able to merge

[x] I signed it!

Thanks for your contribution , similar changes were pushed to master , so closing this PR


Add docstrings to acquire.pyi

This allows the documentation to be automatically added to the web pages at https://acquire-project.github.io/acquire-docs/api_reference/
These docstrings were initially added to the documentation manually by @dgmccart . I reworded some to avoid duplication and organize it but otherwise it is the same content.

This now includes the most recent changes from https://github.com/acquire-project/acquire-docs/pull/78 and is ready for review. Thanks!


php 5 incompat array dec

failed to be detected in testing - need to check PHPCodeSniffer rules

fixed build attached
6_6_4_php5.zip

updated
6_6_4_php5_b.zip

https://github.com/PHPCompatibility/PHPCompatibility
Try to get as old compatibility as possible

6_6_4_php5_d_uncompressed.zip


Don't change parent viewports on child route change

With the following scenario:
angular.module('landing', ['ngNewRouter'])
.run(function($router) {
    $router.config([{
        { path: '/landing', component: 'landing' }
    }]);
})
.controller('LandingController', function($router) {
    // $router is the child router in this instance
    $router.config([{
        { path: '/signup', component: 'signup' }
    }]);
});

Landing Page

When I go from /landing to /landing/signup, the outer viewport is destroyed and re-created even though it didn't change. Ideally only the inner viewport would be affected.
In particular, this causes problems with animations because the outer viewport animating leave/enter blocks animations on its child elements, including the child viewport.

@dpogue: have you split up your templates?
index.html:

components/landing/landing.html:

Landing Page

yes
index.html:

components/landing/landing.html:

Landing Page

components/signup/signup.html:

Signup Page

In that case I'm not sure if that is intended behavior.
Would be great to hear @btford's thoughts on this.

Hi there,
Any update on this?
Cheers,


Open source this repository

There isn't anything sensitive in this repository, and having it be open source is both

consistent with our values
makes it easier to point clients to it

This is now fixed, thanks @zakiya


Hard deprecrate maintainers field and validate required fields prior to publishing

Closes #20, #44
Removes maintainers from metadata

Merging this. But yes, would be great to get this into hex_core instead.


Envoy proxy produces too many metrics, and prometheus scraping overhead matters badly.

Bug description
Envoy proxy produces too many metrics. Prometheus scraping network bandwidth could be too high.
The scaped data size is nearly 8MB each. I have attached a sample scraped package:
scrape.txt.zip

Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[ ] Networking
[x] Performance and Scalability
[x] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Expected behavior
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
istio version:1.6.13
Kubernetes version:v1.15.6
How was Istio installed?
istioctl install
Environment where bug was observed (cloud vendor, OS, etc)
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

The reason is sidecar.istio.io/statsInclusionPrefixes: cluster.output, I only need envoy_cluster_upstream_rq_time. How could i add only envoy_cluster_upstream_rq_time?

@bianpengyuan ^

You can use sidecar.istio.io/statsInclusionSuffixes: upstream_rq_time instead to only include this particular stats.

I used sidecar.istio.io/statsInclusionRegexps: ^cluster.outbound.*upstream_rq_time$ to only include the required stats.
But it did not excluded the other metrics as expected, it seems that the default collection keys cluster_manager/listener_manager/server/cluster.xds-grpc are not overrided as documented.

Stats inclusions are always in addition to the default minimum stats set. 1.6 doc is indeed ambiguous on this, but the latest 1.8 doc is pretty clear that these are used to configure additional stats.

@bianpengyuan ok, thanks


Update link to documentation

Description
The README links to documentation under https://gpt-index.readthedocs.io/ . This PR updates it to https://docs.llamaindex.ai/en/stable/.
Type of Change
README only.
How Has This Been Tested?
Manually compared websites under old and new URL and concluded they're the same.

[x] I stared at the code and made sure it makes sense

Suggested Checklist:
Not relevant

Thanks!


⚠ ClamAV has degraded performance

In 1c5a0e5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 88 ms

Resolved: ClamAV performance has improved in 8b68148.


Update sql-database-sync-data-between-sql-databases.md

For some reason, adding a new sync member requires the servername to be in the format of *.database.windows.net. I suspect it is a bug in the cmdlet that it doesn't fill it in if not specified, but adding it to the code here covers both scenarios.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@EvanBasalik : Thanks for your contribution to the Azure documentation! The author, @douglaslms, has been notified to review your proposed change.

#sign-off


orb_localizer compiling error

/home/peng/Autoware/ros/devel/lib/liborb_slam2.a(Map.cc.o): In function boost::archive::detail::common_iarchive<boost::archive::binary_iarchive>::vload(boost::archive::class_name_type&)': Map.cc:(.text._ZN5boost7archive6detail15common_iarchiveINS0_15binary_iarchiveEE5vloadERNS0_15class_name_typeE[_ZN5boost7archive6detail15common_iarchiveINS0_15binary_iarchiveEE5vloadERNS0_15class_name_typeE]+0x1): undefined reference to boost::archive::basic_binary_iarchiveboost::archive::binary_iarchive::load_override(boost::archive::class_name_type&)'
/home/peng/Autoware/ros/devel/lib/liborb_slam2.a(Map.cc.o): In function void boost::serialization::throw_exception<boost::archive::archive_exception>(boost::archive::archive_exception const&)': Map.cc:(.text._ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_[_ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_]+0x1d): undefined reference to boost::archive::archive_exception::archive_exception(boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/peng/Autoware/ros/devel/lib/orb_localizer/orb_matching] Error 1
make[1]: *** [computing/perception/localization/packages/orb_localizer/CMakeFiles/orb_matching.dir/all] Error 2
/home/peng/Autoware/ros/devel/lib/liborb_slam2.a(Map.cc.o): In function boost::archive::detail::common_iarchive<boost::archive::binary_iarchive>::vload(boost::archive::class_name_type&)': Map.cc:(.text._ZN5boost7archive6detail15common_iarchiveINS0_15binary_iarchiveEE5vloadERNS0_15class_name_typeE[_ZN5boost7archive6detail15common_iarchiveINS0_15binary_iarchiveEE5vloadERNS0_15class_name_typeE]+0x1): undefined reference to boost::archive::basic_binary_iarchiveboost::archive::binary_iarchive::load_override(boost::archive::class_name_type&)'
/home/peng/Autoware/ros/devel/lib/liborb_slam2.a(Map.cc.o): In function void boost::serialization::throw_exception<boost::archive::archive_exception>(boost::archive::archive_exception const&)': Map.cc:(.text._ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_[_ZN5boost13serialization15throw_exceptionINS_7archive17archive_exceptionEEEvRKT_]+0x1d): undefined reference to boost::archive::archive_exception::archive_exception(boost::archive::archive_exception const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/peng/Autoware/ros/devel/lib/orb_localizer/orb_mapping] Error 1
make[1]: *** [computing/perception/localization/packages/orb_localizer/CMakeFiles/orb_mapping.dir/all] Error 2

I have never seen that error.
Please tell me the environment.

@hatem-darweesh do you know this error?

Please install libboost-serialization-dev
On Jan 30, 2017 07:04, "Yukihiro Saito"<EMAIL_ADDRESS>wrote:

@hatem-darweesh https://github.com/hatem-darweesh do you know this
error?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CPFL/Autoware/issues/553#issuecomment-275950027, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJjhH7FHtGy2b1T_22PCCgxd_BcjiJlLks5rXQz0gaJpZM4La8iB
.

@sujiwo This one has been installed.

@yukkysaito
utuntu 14.04 + ros indigo
Dell XPS 9600

I'm trying to address this bug from new branch (orb_slam_tc).
2017-01-31 3:48 GMT+09:00 Harry<EMAIL_ADDRESS>
@yukkysaito https://github.com/yukkysaito
utuntu 14.04 + ros indigo
Dell XPS 9600
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CPFL/Autoware/issues/553#issuecomment-276153084, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJjhH6DlElIL9Wq4mnL2k6exPrvfoiN2ks5rXjCUgaJpZM4La8iB
.

@sujiwo
I find it may due to the conflict between boost 1.62 (updated) and boost 1.54 (original) which I am still debugging. Sorry if I have mislead you.
"
/usr/bin/ld: warning: libboost_thread.so.1.54.0, needed by /opt/ros/indigo/lib/libroscpp.so, may conflict with libboost_thread.so.1.62.0
/usr/bin/ld: warning: libboost_filesystem.so.1.54.0, needed by /opt/ros/indigo/lib/libroscpp.so, may conflict with libboost_filesystem.so.1.62.0
/usr/bin/ld: warning: libboost_system.so.1.62.0, needed by /usr/local/lib/libboost_filesystem.so, may conflict with libboost_system.so.1.54.0
/usr/bin/ld: warning: libboost_iostreams.so.1.54.0, needed by /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libpcl_io.so, may conflict with libboost_iostreams.so.1.62.0
/usr/bin/ld: warning: libboost_chrono.so.1.54.0, needed by /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libpcl_io.so, may conflict with libboost_chrono.so.1.62.0
"
I install a new ROS indigo in a virtual machine and autoware runs well.


Implement a Persistent Key Value Store Database Engine with efficient Writes

Implement an initial key-value store engine using map for MemTables, and I/O system calls for SSTable files.
See Lecture 4 & Lecture 5 in Berkeley Playlist

Prototype Done


possible crash on P2P handleProtocolCommands if task/command is missing

We have this piece:
for await (const chunk of connection.stream.source) {
    try {
      const str = uint8ArrayToString(chunk.subarray())
      task = JSON.parse(str) as Command
    } catch (e) {
      statusStream = new ReadableString(
        JSON.stringify(buildWrongCommandStatus(400, 'Invalid command'))
      )
      pipe(statusStream, connection.stream.sink)
      return
    }
    break
  }

Its possible that task is undefined and this error is not catched on the try/catch  block
Then it can break here:
const handler: Handler = this.getCoreHandlers().getHandler(task.command)

closed on https://github.com/oceanprotocol/ocean-node/pull/566


Can't load image with Picasso with correct EXIF orientation

Expected behaviour
Image downloaded from a remote url with EXIF orientation set to -90 degrees shows with rotation applied
Actual behaviour
No rotation applied
I know this behaviour is expected as described in the docs, but how can I apply the exif rotation?

It's not clear how you're downloading the image and configuring the view so unfortunately I can't help.


Update OWNERS file to reflect new maintainers

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/test e2e-aws


Setup automated testing

Would be good to have travis-ci or circle ci run the test suite on pull requests and master after merges.

Apologies, I can't right now.

I'll see what I can do. Might make more sense to get this moved over to the Omniauth organization.


Multiple tasks

This pull request contains the following tasks:

Bootstrap 4 dropdowns in front-end require two clicks to activate (#8938 on GitHub)
Sign in as user does not update the dashboard navigation pane (#8830 on GitHub)
Add "Calendar" to Permissions (#8486 on GitHub)
User workflows - User activation does not trigger on admin email validations #8416 (#8416 on GitHub)
Big clipboard hangs editing UX (#7655 on GitHub)
Orphaned Blocks Option in Add Block Panel (#3234 on GitHub)
Add configuration for email logging (#8768 on GitHub)
Add logging for file uploads and file deletions (#8979 on GitHub)

Comments:

For task #3234 you need to update the bedrock repo and rebuild the assets.
To fix the bootstrap issue i needed to declare bootstrap as an webpack external and load it by the concrete5 asset manager (same like jQuery, Vue...). I need to do the same with moment-library because otherwise the calendar block was not working. There is some inline js which requires moment and i think there are a lot of other places too in the core which requires moment. Im not happy with adding so many fundamental dependencies because it stops sites from beeing lightweight. But thats the disadvantages of webpack. Just adding moment to the asset groups like fullcalendar like in previous core versions was not working to because all occurrences of requireAsset('fullcalendar') etc. was already removed from the core. So i needed to add them globally.
I needed to create a separate table called "UsedAreas" to track all rendered areas with the associated theme, page type, page id... Otherwise there is not way to detect the orphaned blocks.
Navigation cache in theory is a nice feature but as you can see in my pull requests there are a lot of occurrences where it is required to clear the the cache. Otherwise you will get outdated data and have issues like #8830. Maybe we need to implement some other concepts to improve this in the future like tracking important events and auto clear the cache on affected changes (even better just update the changes within the cache)
I don't checked this in detail but most libraries required localizations. While declaring momentjs as an external i have implemented the translations for too. I have used the same code like in previous concrete5 versions. So not a big deal. But what is with any new javascript components that are part of the web pack bundles. Are they localized too? Just some thoughts. This should be checked...
All in all i'm not really happy with the web pack / laravel mix solution. I see too many disadvantages... The current asset manager is old but gold. I know the asset manager was bad for SEO (to many javascript + css) but now we are running into the same issues when declaring so many externals. And if we don't do so we get unexpected behaviours, issues because of missing references within inline js etc. Extending the old asset manager and implementing some kind of a public asset registry (maybe with yarn behind) and some better bundle technics were the right way IMO. But this is just my opinion.
Issue #6440 (wrong presentation of all-day-events) i was not able to reproduce. On my local environment everything will be display correctly. Maybe this issue was already fixed in the past? (see pictures attached)

Task #8501 (uploading => duplicate files) i was not able to fix within this sprint because at the start of the week the task #8754 was not ready which was required for testing. Will continue this task by the next week.

Added

Customize Design Dashboard not working (#8787 on GitHub)
Mail logging fails with large attachments (#5473 on GitHub)
V9: Adding or editing feature block thows error (#8488 on GitHub)

Hey Fabian, I've finally had a chance to go through all of these. Looking really good! Here are some general notes (and after that I've got some some things that I think will be pretty easy for you to address):
Notes

Your bedrock modifications look good! The way you're structuring your CSS and JS changes look good to me.
Regarding bootstrap: that makes total sense to me. It's not ideal but like you said we're probably going to have to do that with some of these things. I want to use bedrock to make it so that we can have fewer JS and CSS files everywhere - but if we have to have assets defined for things like Vue, moment and Bootstrap (especially for things like these external dependencies) then it's fine that they're external.
Mail logging, feature block changes, file uploading logging and other miscellaneous changes look good.

My real concern really is only in the Orphaned Blocks functionality.
Changes

I'm not sure we need the UsedAreas database table, and I'm a little concerned about attempting to insert into it every time we render something on the page. I think instead we should be looking to the CollectionVersionBlocks table, which joins Pages (cID) on a particular version of the page (cvID) to Areas (arHandle) and block IDs (bID). I think a typical flow would look like this:

User loads edit mode and clicks on the plus icon to load the add panel.
Add Panel Loads.
A new routine looks at the current page template being loaded, and determines - in real time, maybe by inspecting the template, or through some pre-cached routine somewhere, what areas are actively in use in the page template. This would be done by maybe doing a preg_match() within the PHP template against the Area() class? Maybe something smart could be done using reflection on the template itself? This would grab a list of all the areas that are actively defined within the page templates.
Then, a routine against the current version (recent) of the page would be run to grab all blocks in the CollectionVersionBlocks table against this version of the page. Orphaned blocks would be determined if any of the blocks in the CollectionVersionBlocks database table are in areas that aren't found in the routine that looks at the actual page template.

With all this in mind, can you do the following?

Can you remove the UsedAreas table and change the getOrphanedBlocks method to work in this way?
Can you add the new routine that scans the page templates in real time and determines what areas are used in those templates?
Can you move "Orphaned Blocks" to the bottom of the dropdown menu, and only show it if there are actually orphaned blocks (blocks in the CollectionVersionBlocks table that are in areas that aren't present on the page?)
Make the Orphaned blocks panel actually render like the clipboard? I saw your earlier post about having difficulty doing this because not knowing what areas the blocks were in - but I think you should be able to just pass them to whatever area they're in based on what's in the CollectionVersionBlocks row for that particular block. Does that make sense?

Thanks! This is going to be a really nice feature. And I won't let this pull request sit so long before I review it again. Sorry about that - we had a big launch last week. We still have to support it and work on it going forward, but I won't be so focused on making sure that goes smoothly. I'll be able to devote more time to review.

I know about the CollectionVersionsBlocks-Table and it’s already used for the query to determinate the orphaned blocks.
See src/Page/Collection/Collection.php, line 996.
The reason for why I have created this table is to get the current areas for the selected page in combination with the theme, version etc.
preg_match() is not a good solution because this needs to be work with all themes and you don’t can cover up all possibilities by all theme developers, see:
new   Area('Test');

new Area(
  'Name'
)

new GlobalArea(            'Name');

If you really want to cover all cases you need a lexer/parser engine.
I have implemented such a library to my Entity Designer add-on and it works like a charm. It will return you a tree which you can parse. The problem is that this library is very overloaded for such a small use-case.
There is also a less comfortable but more lower level native method to parse a php file, called „token_get_all“, see https://www.php.net/manual/de/function.token-get-all.php.
With this you could parse a file, strip all whitespaces and check for Area|GlobalArea, (, String, ). And collect the strings.
But what is when somebody is using something like this:
new SomeCustomOverrideArea('test')
This makes it impossible to analyse the code further.
So you need to decide if you prefer the code parser solution anyway with keeping in mind that custom extended areas won't work with the orphaned block feature. But if that's okay it's an nicer approach then storing everytime the used areas in a table.
Because of the rendering in clipboard layout: It was long time ago that i have worked on that task but i remember that there were big issues while rendering the scrapbook layout when the destination area is no longer available. So this will definitely take more work to adapt the code. Can i have 4hrs more for this task? I think that should be enough for rendering the orphaned blocks in the scrapbook layout.

Implemented Task Form File/Image Upload Duplicate Files #8501

@aembler I have rebased my repository before i have commited the last changes but now i'm getting errors because of another migration.
https://travis-ci.org/github/concrete5/concrete5/jobs/725193043
1) Concrete\Tests\Update\NewMigrationsTest::testNewMigrations
There shouldn't be any migration with an ID lower than<PHONE_NUMBER>1537
Failed asserting that two arrays are identical.
--- Expected
+++ Actual
@@ @@
-Array &0 ()
+Array &0 (
+    0 => '20200818000000'
+    1 => '20200818000001'
+    2 => '20200818000002'
+    3 => '20200818000003'
+)

Is this issue up to me or is this an existing issue from the dev branch?

Next issue when using code detection... Most themes including files by $this->inc() method. And each included file can contain multiple areas too. It is very hard to find all depended files.
One approach could be to scan all php files within a theme ditectory.
But what is e.g. when a view of the elements Directory is requested or if a Developer dont follow the best practices of c5 develolment and using include or require statements etc.? As you can see it is really hard to scan the code on the fly.

And if you scan all files you dont know which areas belongs to which template.
Another option is to extend the theme base Controller with methods like getAreasByTemplate($templateName). But this would it make it even harder to develop themes. Most theme developers are designers with less skills about the architecture of c5.
So currently i think the UsedAreas table is ugly yes but it seems to be the most stable solution for determing the available areas for a theme/template...

3. A new routine looks at the current page template being loaded, and determines - in real time, maybe by inspecting the template, or through some pre-cached routine somewhere, what areas are actively in use in the page template. This would be done by maybe doing a preg_match() within the PHP template against the Area() class? Maybe something smart could be done using reflection on the template itself? This would grab a list of all the areas that are actively defined within the page templates.

Whilst a clean solution, this will break on themes that determine area names dynamically, such as using page attributes or path to determine areas names or even areas to show.

That's true – I imagine those sites will not be able to use the Orphaned Blocks feature.

As long as the orphan determination generates false positives rather than misses anything, I suppose a manual decision can be made.
Once beyond development, the main source of orphaned blocks is layouts that have been removed. Is there anything that can be done specific to layouts that would be foolproof?

Have you looked at how the Areas Cleanup addon in the marketplace identified zombie areas and hence orphaned blocks?
https://www.concrete5.org/marketplace/addons/areas-cleanup/

Hi John :) as far as i can see this addon is listing all availble areas/blocks. This is no Problem. The problem currently is to determ the unused areas. Currently i have implemented a Tracking table but thats not the better solution.

Hmm yes. I just remembered from the PRB that it was attacking a similar problem. Obviously not in a way that you could use.
Simply scanning a source file with a regex or token extractor will have way too many holes in it to be useful.

Themes usually structure templates through including elements, so it would immediately need to scan included elements.
Any area name assigned through code would be lost $a = new Area($variable_name)
Pseudo areas within layouts never appear as a name in theme templates.

My gut says 'there must be a way of working this out from current data/tables', but I can't say what that is. I suspect Andrew's objection to an extra table comes from a similar gut feeling that this should be achievable with current data.

It may be that a combination of algorithms are needed. For example, blocks orphaned by removing a layout could be identified by a completely different algorithm to blocks orphaned by a theme or template change.

Hey @bitterdev - Yes, you can definitely have 4 more hours to finish up the task. I like the idea of using the token_get_all function from PHP. I think we can standardize on the Area and GlobalArea classes.
Will this catch everything? No - any custom subclasses or custom areas won't be caught. But it's still a lot better than what we're doing today, which is nothing. Maybe we could make the things that we scan for an array that we could configure? Stored in the app.php config file? That way if there were custom area subclasses that a developer was using that they wanted to work with this functionality, they could add/define them there?

Yes thats fine with the extendable array in a config file. This allows developers to extend the classes. I would suggest to scan the areas from the page template and all global areas from all php files inside the theme directory? But anyway this will not give you all areas... For example if you have included areas outside the page template (e.g. in the view folder or in another element of the theme). So this solution has not 100% coverage.

Yeah, I think if we can scan all the files within the theme directory that will be enough. It's not perfect but it's pretty good... it's also a good reason as to why people might consider using the elements/ directory within a theme instead of within the application directory.

How does this handle layouts that have been deleted?

Deleting layouts delete any blocks that are inside them.

Is that new functionality? Last time I looked at the database after deleting a layout the content blocks within it still existed in the Blocks and btContentLocal tables. That would have been one or two core versions ago.

@JohntheFish i dont have checked this. A question for andrew. @aembler there is another important comment from John in the comments above that you should read before i start further development... Dynamic area names will also not work with the code parsing solution. Is that okay for you?

Is the content of the orphan blocks panel worked out before or after a page is rendered? Or is it worked out asynchronously by ajax when the panel is opened?

Currently all block related panels are loaded by ajax (after clicking on open panel or switching the panel view)

John ur the man! Just your comment let me think into the right direction.. Because its ajax the areas can be temporary stored into a global var and passed to the query params of the panel url. Then we have all used areas and can detect the orphaned blocks without having a temporary table or analyzing the code

Being naive about the details behind this, if I were starting on the problem from scratch, the kind of algorithm I would be looking at is:
If a user has relevant permissions and a page is in edit mode

note the blocks and areas rendered as the page loads
save the list somewhere temporary, such as in the user's session or appended as json hidden in the page footer

When the panel is opened (and I guess this is what you have already solved)

refer to the list recently noted for blocks and areas actually in use

crossed posts

I have changed the logic, removed the table and using a session variable to temporary store the areas. Works like a charm. I will add the design update on monday.

Just a warning: I didn't check the code, but we should be careful if we use the session to store this data. What of a user is editing 2 pages in 2 different tabs? When opening the panel of one of page 1 do we risk to actually use the data of page 2?

True. This case isnt covered by this solution. Will change the code to use a global var or json in the footer like John suggested and pass the params to the query of the panel url.

It could stay in the session if indexed by cID, with some garbage collection to clean up the session and stop it becoming overwhelmed with orphan data as pages are edited.
Not saying doing so is a best solution. Just presenting an alternative.

 The areas are only tracked to the session in edit mode and cleared when leaving the edit mode. Just adding the cID is definitly less effort and bring same results. So i will choose this solution.

@aembler i have changed the logic, remove the session object and retrieving the area handles from the DOM instead and passing them to the query of the panal urls. This is is relevant peace of code for determing the used blocks:
var areaHandles = [];
$(".ccm-area").each(function() {
  areaHandles.push($(this).data("areaHandle"));
});

Furthermore i have changed the view to look like the clipboard panel. To test this you need to update bedrock repo first.
It was required to rebase to be able to merge (there was a lot of conflicts).
Unfortunately now 2 automatic tests failed:

In this commit the constructor of the CsvWriter has been changed which leads into 2 automatic test failures.
There is also another issue with testNewMigrations.

Thanks @bitterdev .
I'm manually merging this in with another pull request (because we had to let it sit so long it's really out of date, which is why you're seeing the test phpunit errors, as well as issues building the assets). https://github.com/concrete5/concrete5/pull/9076
Once that passes tests I'm going to merge this and close this and update all the linked tickets. In general things look really good here. I really like the solution that you and @JohntheFish came to regarding the areas. Very clever, but also very simple (which is the best kind of solution!)
I still have some concerns about the orphaned blocks functionality, which is why I'm temporarily disabling that functionality. (See: https://github.com/concrete5/concrete5/pull/9076/commits/a3ceb718000ac8a68aab69a3b19d1f6af3038abe#diff-bf126826b8eca421801edc03e59fb652R117) Here are my concerns about the orphaned blocks.

When you add blocks from this it reloads the page. This doesn’t happen whenever we add anything else from this panel. We don’t want a full page reload. I know you're aware of this because it was in your comment earlier, I just think we need to have time to fix this.
In the original pull request, if you had no orphaned areas, it shows all the blocks in the sidebar. I think this was just a logic error and I fixed it (See: https://github.com/concrete5/concrete5/pull/9076/commits/46096d8e9a9a7ab4124817c735aa74ab1ce77f19#diff-bf126826b8eca421801edc03e59fb652R78)
We need to modify my new showOrphanedBlocks method to detect whether the option should be shown. If that method returns true we show the option in the dropdown, otherwise not.
If you drag an orphaned block into the page not at the top of the area, right now it reloads and the block is at the top of the area. It doesn’t respect you adding the blocks into the middle of the area after other blocks. Probably related to number 1.
I wasn’t able to delete an orphaned block from the panel, I think the z-index of the delete link needs to be higher? Or maybe something else is happening?

At any rate, this has been sitting too long and shouldn't be held up. I think in the future we should break these out into smaller pull requests. I know I was the one who told you it was fine to combine them, but these smaller items could have been merged weeks ago. I think smaller pull request are better. I'm going to open a new issue for these remaining things, but it's low priority. You've done great work here, thank you!