Clang tidy output in the engine has regressed, making debugging difficult

From @dkwingsmt on an internal chat:

For some reason our engine CI no longer prints the actual error of the clang tidy check, but a bunch of useless logs, such as in
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8752198650857229249/+/u/test:_test:_lint_host_debug/stdout?format=raw
Is it a known issue?

It is now! Definitely a regression, we need to fix this.

When I run this locally, it appears kosher:
% drt ./tools/clang_tidy/bin/main.dart --lint-regex="common\/graphics.*"
┌──────────────────────────┐
│ Engine Clang Tidy Linter │
└──────────────────────────┘
The following errors have been reported by the Engine Clang Tidy Linter.  For
more information on addressing these issues please see:
https://github.com/flutter/flutter/wiki/Engine-Clang-Tidy-Linter

🔶 linting flutter/common/graphics/gl_context_switch.cc
🔶 linting flutter/common/graphics/persistent_cache.cc
🔶 linting flutter/common/graphics/texture.cc
[0:02] Jobs:  33% done,   1/3   completed,  2 in progress,   0 pending,   0 failed.
[0:02] Still running: [clang-tidy on /Users/matanl/Developer/engine/src/flutter/common/graphics/persistent_cache.cc, clang-tidy on /Users/matanl/Developer/engine/src/flutter/common/graphics/texture.cc]
[0:04] Jobs:  66% done,   2/3   completed,  1 in progress,   0 pending,   0 failed.
[0:04] Still running: [clang-tidy on /Users/matanl/Developer/engine/src/flutter/common/graphics/persistent_cache.cc]
[0:08] Jobs: 100% done,   3/3   completed,  0 in progress,   0 pending,   0 failed.

No lint problems found.

I intentionally made a lint issue in a file and ran ./ci/clang_tidy.sh:
% ./ci/clang_tidy.sh
12:59:42 Running clang_tidy
┌──────────────────────────┐
│ Engine Clang Tidy Linter │
└──────────────────────────┘
The following errors have been reported by the Engine Clang Tidy Linter.  For
more information on addressing these issues please see:
https://github.com/flutter/flutter/wiki/Engine-Clang-Tidy-Linter

🔶 linting flutter/shell/platform/embedder/embedder_external_view_embedder.cc
🔶 linting flutter/shell/platform/embedder/embedder_external_view_embedder.cc
[0:09] Jobs:  50% done,   0/2   completed,  1 in progress,   0 pending,   1 failed.
❌ Failures for clang-tidy on /Users/matanl/Developer/engine/src/flutter/shell/platform/embedder/embedder_external_view_embedder.cc:
/Users/matanl/Developer/engine/src/flutter/shell/platform/embedder/embedder_external_view_embedder.cc:309:39: error: the const qualified parameter 'target_provider' is copied for each invocation; consider making it a reference [performance-unnecessary-value-param,-warnings-as-errors]
  309 |           FlutterBackingStoreConfig)> target_provider) {
      |                                       ^
      |                                      &
Suppressed 2921 warnings (2891 in non-user code, 30 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error
[0:09] Jobs: 100% done,   0/2   completed,  0 in progress,   0 pending,   2 failed.
❌ Failures for clang-tidy on /Users/matanl/Developer/engine/src/flutter/shell/platform/embedder/embedder_external_view_embedder.cc:
/Users/matanl/Developer/engine/src/flutter/shell/platform/embedder/embedder_external_view_embedder.cc:309:39: error: the const qualified parameter 'target_provider' is copied for each invocation; consider making it a reference [performance-unnecessary-value-param,-warnings-as-errors]
  309 |           FlutterBackingStoreConfig)> target_provider) {
      |                                       ^
      |                                      &
Suppressed 2921 warnings (2891 in non-user code, 30 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning treated as error

Lint problems found.

Again, it looks fine.

Ah, here is the problem, the CI configuration turned on --verbose probably for debugging and was never turned off (in @zanderso's https://github.com/flutter/engine/pull/51001). I will turn this off.


(BOLT-1342) Help text only lists options for specified command

Updates the option parser so the help text only displays options for the specified command. Previously, all options were shown for each command.

Waiting for CLA signature by @beechtom
@beechtom - We require a Contributor License Agreement (CLA) for people who contribute to Puppet, but we have an easy click-through license with instructions, which is available at https://cla.puppet.com/
Note: if your contribution is trivial and you think it may be exempt from the CLA, please post a short reply to this comment with details. http://docs.puppet.com/community/trivial_patch_exemption.html

CLA signed by all contributors.

The subject line of your commit message should be written in imperative form, ie. "Only include valid options for specified command in help text".
The current phrasing "Help text only lists options for specific command" is ambiguous; it could be describing the problem the commit is solving or it could be describing the new behavior.

Added tests to cli_spec for some missing help commands. Are there any other tests we'd like to see?

Note to self: we shouldn't include [options] in the subcommand help banner

I think this just needs tests for the bolt help subcommand action case, and it looks like one stray [options] on line 239: https://github.com/beechtom/bolt/blob/parser/lib/bolt/bolt_option_parser.rb#L239 - then this looks good to me!


typo on https://openxr-tutorial.com/windows/vulkan/1-introduction.html

Now, create a text file in the workspace folder called CMakeLists.txt and in it, put the following code:
cmake_minimum_required(VERSION 3.22.1)
project(openxr-tutorial)
set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
Optional override runtime
set(XR_RUNTIME_JSON
"$ENV{XR_RUNTIME_JSON}"
CACHE PATH
"Optional location of a specific OpenXR runtime configuration file."
) << typo
Here, we specify the CMake version, project name and configuration types, and provide a CMake variable called XR_RUNTIME_JSON which you can use to point to the runtime you will be using (by default, OpenXR will try to find the standard runtime from your hardware vendor). Finally, we specify CMake to continue the build into the Chapter2 directory with add_subdirectory().
add_subdirectory(Chapter2)

as you can see from the text above, the ")" at the end of the cmake example is cutoff, and is supposed to read: add_subdirectory(Chapter2)

no, it would seem i am illiterate


MAINT: l-bfgs-b remove intermediate bounds array

Removes the following intermediate bounds array in L-BFGS-B.
bounds = [(None if l == -np.inf else l, None if u == np.inf else u) for l, u in bounds]

The tuples created by large problems (i.e. len(bounds) is long) occupy a large amount of memory.

The test fail is unrelated.

Yesterday, I noticed this also applies to SLSQP. The main issue is that even the bounds are very few let's say you bound 5 of 300 variables from one side. You need to have indeed 300 tuples for the fortran code to understand it. The python version doesn't need this anymore but still new bounds also seem to be a bit on the wasteful side.
We probably should have gone with index, lb, ub encoding but obviously that is a much bigger surgery and beyond the scope of this change.

I'd prefer that _minimize_lbfgsb directly took new bounds so there was no interconversion, but that seemed like a bigger surgery.
It's not clear what you mean by index, lb, ub encoding.

It's not clear what you mean by index, lb, ub encoding.

I mean even if we don't bound anything we have to generate a 300x2 array full of infs only to discard it later. It could have been [5, -np.inf, 3] to bound the 6th var to bound it by 3 from above. But still much better than the tuples anyways.

I understand the rationale for sparse bounds, but I think the majority of usage would be with dense bounds (at least I work that way).

Going to merge this later tonight, unless there are objections. I think it's harmless enough.


Add "Features at a glance" or "Comparison" page

The purpose of this page would be to give developers a way to evaluate if Buffalo is ready for them.
Having a "Features at a glance" would be a great start, but ultimately, showing a feature comparison of Buffalo to Rails would be better.
This isn't about showing which framework/ecosystem is better, but more about allowing a developer to make an informed decision on what tools they are going to be able to get when they choose Buffalo.  It would also help identify any large technology gaps that still need to be added.

Fixed with #85.


use int16_t as register

use int16_t as register.
and reduce output code.

currently, VM stack size is smaller than INT16_MAX.
so we can use int16_t as register.

current VM stack size is 16384. adding static_assert to it.

done!


Document changes/tips required to embed an enketo form into an angular/ionic app

tl;dr
There are potentially nicer/more principled ways to do this, but this works, so I wanted to submit it in case it helps somebody else. I'm happy to check this in into some kind of doc repo, but couldn't find it so thought I would file it here to start with :)
The related PR, with more copy-pastable code is at https://github.com/e-mission/e-mission-phone/pull/563

build the enketo-core bundle using grunt compile from this repo

you can check out the repo to do so, although I was able to build it from the npm installed version by calling rollup appropriately
build

copy it over to www/. I put it in www/manual_lib to indicate that it was manually built.

edit it and add the line window.FormModule = Form to ensure that you can access the Form object
(https://github.com/e-mission/e-mission-docs/issues/376#issuecomment-488227423)
        return !!target;
    };

   window.FormModule = Form

    /**
     * Static method to obtain required enketo-transform version direct from class.
     */

Add the bundle file to your index.html

Ensure that all your maps have the correct appearance tag
(https://github.com/e-mission/e-mission-docs/issues/376#issuecomment-488741737)

Copy paste the sample HTML directly into your <ion-view>. You do not want to use <ion-header-bar>, <ion-footer-bar> etc because jquery expects the elements to be under the same parent as the form.

Turn off touch handling for your newly added tags (https://github.com/e-mission/e-mission-docs/issues/376#issuecomment-488884563) - e.g.
 <article class="paper" data-tap-disabled="true">

Ensure that all the files you are loading remotely, including map tiles, are defined in the CSP. In particular, the default config.js loads not just tiles from OSM but also a client script from google maps. Either the config needs to be changed (stamen terrain is a great alternative to google satellite images) or the CSP needs to be changed.

Details
As I said in #619 I am embedding enketo forms into an angular1/ionic1 hybrid app.
The process was fairly straightforward and I did not need to make any changes except to the bundle creation.
angular uses its own module inclusion scheme, and it does not support ES6 style inclusions
import { Form } from 'enketo-core';

gives the error
Uncaught SyntaxError: Unexpected token {

while
import Form from 'enketo-core';

gives the error
Uncaught SyntaxError: Unexpected identifier

The obvious solution is to use some form of rollup/webpack/browserify, but the challenge is that I am not importing this into the main file of my app, but rather, into one of the angular modules. This is because surveying is only one part of more complex functionality. So running rollup on that module would not generate a whole-bundle app anyway.
It should be possible to run rollup on only that module's js file and then include the resulting bundle instead of the raw file, but I tried that with webpack and it didn't work. At this point, I had spent a day on javascript build issues, and so I decided to take the easy way out.
The bundle generated by rollup was almost perfect, except that because of the tree-shaking, it didn't actually export the form object for use in my module.
So although it was super-bad practice, I added one line to the generated bundle
    window.FormModule = Form

to get it to work.
The other issues that I encountered were:

need to specify appearance for maps (#620)
need to change the CSP in index.html to include the hosts that we use. In particular, the default config.js loads not just tiles from but also a client script from google maps. Either the config needs to be changed (stamen terrain is a great alternative to google satellite images).

Thanks a lot for sharing! Will leave this out here for now. @magicznyleszek is working on a fancy documentation system for all Enketo repos (see PR in this repo) and I think this could be of use (at the very minimum as a link).

@MartijnR do you have a logo for "Powered by Enketo Core"?
We definitely want to give credit to your cool library, but would also like to highlight we are embedding the forms in our app, and in particular, the resulting data is not going to your servers.
The forms are embedded in an app that tracks location data long-term so people are a little sensitive about where their data goes.

@shankari, Certainly! You can use the one referenced in the source of the README.md at the bottom.

We definitely want to give credit to your cool library, but would also like to highlight we are embedding the forms in our app, and in particular, the resulting data is not going to your servers.

Enketo actually doesn't manage any servers that store form data. So your use case is actually what we had enketo-core in mind for!

We already include the logo that you have at the bottom of the README. I wondered if there was a logo that said "Enketo Core" instead of Enketo. But I guess the website makes it clear that you support form building, so hopefully, users won't get too concerned.

Thanks! Forgot to mention, that I'd be happy to promote your app on the Enketo.org front page (free). Just send a logo and link or open an issue with those here:  https://github.com/enketo/enketo-website/issues

I haven't yet merged my PR to master - it turns out that the css changes from enketo causes the formatting of other parts of the app to break. Once @atton16 submits the PR for that change, and I merge to master, I'll be happy to be featured on your page.


Test on MX250 version

I just got my MI Notebook Pro with MX250 GPU. (aka. model 2019)
My bios version is XMAKB5R0P0C07 2/22/2019
I've tried to enable undervoltage and it worked out perfect.
I also enabled SST and it seems at least my laptop didn't brick... But I've no idea if it works.
Backup BIOS failed with Error 318: the host cpu does not have read access to the target flash area.

thanks a lot for your sharing, I have ordered a version with mx250, I will try as soon as it arrives :) there are new versions of the bios for this machine?  Does your current version already have the fix for the fans and the keyboard backlight?

The bios versions is not any listed in this repo and it's date is 2/22/2019. The fan works fine for me and there is a backlight option in the BIOS but I never tried it.

ok thanks a lot, it's nice to know that there is compatibility for now with this new version ... as soon as mine arrives if it has the same Bios I will also try to do these mods

M00000000FFC00000.zip
I dumped the bios form memory..

hi, I finally received my mi notebook pro 2019 from banggood with considerable delay, and I am going to do the mods here ... confirm that yours is identical to the mx150 version?  with non-metallic fans like the gtx version?  no improvement? :(

@buonincontrigi  Sorry, I only have MX250 version of mibook so I can't answer your question..

@buonincontrigi Sorry, I only have MX250 version of mibook so I can't answer your question..

L'ho aperto, e posso dirti che all'interno si trova il nuovo ssd samsung 970 evo, invece che il vecchio 960, le ventoline sono di plastica (non quelle della variante GTX), tutto il resto sembra ok, non noto nessuna differenza visibile.
Per le patch che sono qui, ho eseguito senza problemi speedshift, bios unlock e voltage undervolt.

just FYI XMAKB5R0P0906 bricks MX250 (2019 year version).

Same... I had the MX250 version with 0C07, now I have the MX250 version but it's bricked :/
I have tried to fix this with a ch341 to program the bios chip but nothing works (even the .zip file given in this thread)... I think we need a BIOS backup of 0C07 version and I don't have one.
If anybody have a backup maybe I could save about 1000 EUR ^^

@Yangff could you please dump your BIOS as it's described in this repo readme? The .zip file that you've attached has file with size 4096 KB, and the valid size should be about 8192 KB.
You'd safe at least 2 losers here :)

@Yangff could you please dump your BIOS as it's described in this repo readme? The .zip file that you've attached has file with size 4096 KB, and the valid size should be about 8192 KB.
You'd safe at least 2 losers here :)

I'd like to help.. the problem is the backup script is not working..
Intel (R) Flash Programming Tool. Version:  <IP_ADDRESS>87
Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.

Reading HSFSTS register... Flash Descriptor: Valid

        --- Flash Devices Found ---
        W25Q64FV        ID:0xEF4017     Size: 8192KB (65536Kb)

Error 318: The host CPU does not have read access to the target flash area. To enable read access for this operation you must modify the descriptor settings to give host access to this region.
FPT Operation Failed.

Press any key to continue . . .

The readEC.bat works so I think there maybe some restriction on read the full bios from flash..
The 4mb image is what I read from memory with rw everything and I'm sure there is nothing left in the memory.. but I don't think you can flash it..

By the way, unlocking the undervoltage should only change the NVRAM inside the SPI ROM, meaning that other parts of your SPI Flash should be intact. In theory, you should be able to dump the image and redo all the changes that the script made and re-flash it..
Also.. it's hard for me to understand why 0C07 also brick... if we're the same version it makes no sence for the differences... are you guys modifying EC? If so.. actually I can dump the EC region...

@Yangff thanks mate for fast response. The workaround for this Error 318 is described here: https://github.com/Cr0wTom/Mi-Notebook-Pro-Mods#errors-and-fixes
If you can make it and publish backup - please send me your paypal so I could donate to you :)

@Yangff thanks mate for fast response. The workaround for this Error 318 is described here: https://github.com/Cr0wTom/Mi-Notebook-Pro-Mods#errors-and-fixes
If you can make it and publish backup - please send me your paypal so I could donate to you :)

cannot find a valid bios update to procedure this... 0906 is not compatible with MX250

@Yangff thanks mate for fast response. The workaround for this Error 318 is described here: https://github.com/Cr0wTom/Mi-Notebook-Pro-Mods#errors-and-fixes
If you can make it and publish backup - please send me your paypal so I could donate to you :)

mybackup.zip
Good luck!

@Yangff  thank you, it worked!  The only thing when I try to enter BIOS (restart -> F2) it asks for password.
Did you have any password set? If yes - could you please share it?
I think because of that the startup became slow - it's black screen for about 15-20 secs before MI screen is showed before Windows startup.
Anyway, thank you very much and if you could please share the last piece (BIOS password) - I'd very appreciate it.
Thank you in advance!

@Yangff
Thank you so much !!! It is working, even when flashing with a CH341A.
After calculation I owe you about 240 beer (5 EUR = 50cl in France's bars) ^^

@aleqssss could you please say:

do you have extra 15-20 seconds on the boot before you see "MI" screen?
does it ask you for password when you try to enter BIOS (restart -> F2)?

@yar-shukan
Yep, I have the extra 20 sec and it is asking for password

@yar-shukan @aleqssss password is yangff

@Yangff  Thanks mate.
Password applied and reset BIOS settings but still have this strange delay from notebook turn on to first screen on startup  (like about 20 seconds PC does nothing).
I've also noticed that the serial number differs from my original one. Maybe this results to this delay?
If anyone knows how to solve this delay problem - I'd appreciate any help.
cc: @Cr0wTom

Back to original business: is there any way to calm down fans kick off for version with MX250?

Back to original business: is there any way to calm down fans kick off for version with MX250?

I havn't tried but maybe you can patch your own fan control ec with BIOS Patcher? Just make sure to backup it before flashing...

But I'm not totally sure available EC files are compatible with MX250 version and BIOS 0C07?

But I'm not totally sure available EC files are compatible with MX250 version and BIOS 0C07?
Any comments regarding this one @Cr0wTom ? Thank you

I mean the pathcher inside the BIOS Patcher fodler which should work by searching binary pattern and modifying the EC firmware... Usually this kind of patch should work but you're on your own risk to do so because it may get off target.

Hello guys, sorry but no time for the next month or so, I'm seeing that there is progress and this is good. If you manage to find a finilized way tell me to include it in my repo! :)

Their're slight difference on pattern... I guess the offset should be 88189 on this ec.. However the datastruct looks like a little different so I won't try it..

@yar-shukan I am trying to fix the 20sec bug, but I don't manage to clean the ME region... I don't really understand how it works.

@aleqssss I've given notebook to one guy in my hometown and he's fixed that in couple of hours. There's some Intel tool and Distrib with ME regions for majority of vendors.
Probably try to find someone in your home town who can fix it for some $$.
Good luck

So, we simply can't update XMAKB5R0P0C07?
I'm glad the tool refused to patch the BIOS so I didn't have a brick on my hand but I'm still a lil sad there isn't a newer update available for this version of the laptop.

So, we simply can't update XMAKB5R0P0C07?
I'm glad the tool refused to patch the BIOS so I didn't have a brick on my hand but I'm still a lil sad there isn't a newer update available for this version of the laptop.

Unlocking overclock is fine on my side, I think they're trying to modify EC to get fan speed changed.. EC is not interchangable.

Please heed my warning: I came here on research how to roll back the BIOS version, because I somehow naively applied BIOS "XMAKB5R0P0E07" from the official drivers section on mi.com, and now I get frequent memory related BSODs in Windows. I fired up mdsched.exe and it reports my memory is corrupted. Do not update from XMAKB5R0P0C07 to P0E07 on Mi Notebook Pro 2019 (TM1701-23949: i7-8550U / 16GB / MX250). I am currently digging through the files in this repository and https://composter.com.ua/documents/System_Tools_User_Guide_for_Intel_Management_Engine.pdf in the vague hope I can restore my system (which somehow still boots) to a working condition. I don't have much experience in BIOS hacking. Any help is appreciated. Is there any way I can (temporarily) limit my sys to use only first 4 or 8 gigs of memory, so I don't have to fear my corrupted memory corrupts the bios flash? (People on reddit don't seem to be much help https://www.reddit.com/r/Xiaomi/comments/od0urk/frequent_windows_kernel_crashes_bsods_after/)

Does anyone have a clean xmakb5r0p0c07 bios dump?  The one that doesnt have 20 seconds boot time

I just got my MI Notebook Pro with MX250 GPU. (aka. model 2019)
My bios version is XMAKB5R0P0C07 2/22/2019
I've tried to enable undervoltage and it worked out perfect. I also enabled SST and it seems at least my laptop didn't brick... But I've no idea if it works.
Backup BIOS failed with Error 318: the host cpu does not have read access to the target flash area.

hi may i know how you made a backup of your bios ?

I just got my MI Notebook Pro with MX250 GPU. (aka. model 2019)
My bios version is XMAKB5R0P0C07 2/22/2019
I've tried to enable undervoltage and it worked out perfect. I also enabled SST and it seems at least my laptop didn't brick... But I've no idea if it works.
Backup BIOS failed with Error 318: the host cpu does not have read access to the target flash area.

hi may i know how you made a backup of your bios ?

Follow the BIOS Update section in readme until the unlockme step, you don't need to actually upgrade your bios. This unlockme.nsh will send certain EC command to unlock bios region to allow read and write certain region.
I've no idea about the 20s thing, it seems caused by the Intel ME..

Closing the issue as the root issue is unrelated to this repo, and the follow-up discussion is discussed in another issue


Prepared Statements

In Node, performance would benefit from the use of Prep Stmts (because it's stateful).
When we have them, we should prepare the query in .describe.
Maybe someday we can do this

ibm_db supports conn.prepare() and stmt.execute()


frame: cqlvalue, added AsStringSlice()

@Michal-Leszczynski mentioned the need for parsing lists of token strings in cluster, those are actually of set<text> type.
This PR adds CqlValue.AsTextSet() allowing parsing token sets.
Also I think that validating correctness of CqlValue underlying bytes (e.g. checking if strings are utf8) should be done only when Debug flag is set, as we shouldn't get invalid data from queries. Correct me if I'm wrong.

Naming, can we use String instead of Text and Slice instead of Set i.e. []string is StringSlice.
This is a general comment applies to some existing code too.

Also, technically CqlFromTextSet creates a List?
A more flexible naming convention is needed.

Renamed to AsStringSlice(), this feels more natural, it allows parsing from lists and sets of varchar, text and ascii types.

Merged with #179


Select External Browser Option

When you click on a link in the app it opens an in app browser. It would be useful to let users select an external browser to open links in.

Do you mean like open in system browser? If system has more than 1 browsers, it either suggest to open with one of them or open with default one.

When I click a link in a message it opens a browser. I don't think its my phone system browser. I have firefox set as my default browser app. its definitely not firefox. I thought it was some built in web browser in the esteem app. Either way its not the browser I would like to use and it would be good to be able to specify in the settings which browser you wanted to open links in.

Yes, I meant to clarify flow, right now it opens in app browser, not system browser. Taking you suggestions it would be wise to use default system browser or give user a choice. marked as enhancement for next release. thank you. :)

That sounds great.


fix scrolling outside the window

this is really annoying if you just want to scroll on another window while osu is still focused

I think we can use something similar to prevent drawables from being hovered if they're covered behind windows. That would fix hover sounds playing while the window is in the background


Fix host for nginx parser

Hello.
Please change host: "%{IPORHOST}"' to host: "%{URIHOST}"' in nginx-logs.yaml
In our nginx error.log we see records like host:  "GET / HTTP/1.1", host: "www.example.com:80"

thanks, fixed in https://github.com/crowdsecurity/hub/pull/485


🐘 ___ LoDash version / bundle size ___ 🐘

This is similar to #11
LoDash is very widely used. By using an exact version in a dependency that will hopefully become very popular, you're having a negative impact on bundle sizes. You know I'm the number 1 fan of exact versions, but in a public project used by organizations you don't control, they should be used more sparingly in concert with large popular dependencies like LoDash. Much like React, I suggest changing the version declaration to use a caret.
🐳

Also, all of Lodash is being pulled in just for 'lodash/get' and 'lodash/assign'.
The latter is unnecessary in ES2016 (Object.assign is there for that) and the project size can be drastically reduced by pulling only lodash.get for that. One of the cool things about LoDash is that, when you install the whole package, it installs all the micro-packages. That is to say, that by using lodash.get, you'd be sharing with the parent project(s) that use LoDash proper.

Another thing—none of the methods used are specific to LoDash 4.8.1 or even 4. Both get & assign have been in LoDash for quite sometime. That is to say, we should use a tilde instead of a caret.

I went back and discovered that, although assign is imported somewhere, it's not even used.

Looks like we forgot closes #13 in the commit memo, which would've automagically closed this. Well, and I also forgot to close this when we merged it.


[Transparent gateway] not able to connect leaf device to gateway with gatewayhostname.local

I have my downstream device set up which connects using below code to the gateway.
  self.device_client = IoTHubDeviceClient.create_from_x509_certificate(
                x509=x509,
                hostname=hostname,
                device_id='testdevice',
                server_verification_cert=root_ca_cert,
                gateway_hostname=gatewayHostname
            )

Unfortunately its not able to connect to the gateway and below is the error log:-
Forwarding message to IoThub
Connecting to Hub...
Starting ConnectOperation on the pipeline
Starting run_op in pipeline thread
ReconnectStage(ConnectOperation): State changes DISCONNECTED -> CONNECTING. Sending op down
ConnectionLockStage(ConnectOperation): blocking
MQTTTransportStage(ConnectOperation): connecting
MQTTTransportStage(ConnectOperation): Starting watchdog
connecting to mqtt broker
Connect using port 8883 (TCP)
Forcing paho disconnect to prevent it from automatically reconnecting
Done forcing paho disconnect
transport.connect raised error
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/azure/iot/device/common/mqtt_transport.py", line 391, in connect
    host=self._hostname, port=8883, keepalive=self._keep_alive
  File "/usr/local/lib/python3.7/site-packages/paho/mqtt/client.py", line 914, in connect
    return self.reconnect()
  File "/usr/local/lib/python3.7/site-packages/paho/mqtt/client.py", line 1044, in reconnect
    sock = self._create_socket_connection()
  File "/usr/local/lib/python3.7/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
    return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
  File "/usr/local/lib/python3.7/socket.py", line 707, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/local/lib/python3.7/socket.py", line 752, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/azure/iot/device/common/pipeline/pipeline_stages_mqtt.py", line 189, in _run_op
    self.transport.connect(password=password)
  File "/usr/local/lib/python3.7/site-packages/azure/iot/device/common/mqtt_transport.py", line 413, in connect
    raise exceptions.ConnectionFailedError() from e
azure.iot.device.common.transport_exceptions.ConnectionFailedError

MQTTTransportStage(ConnectOperation): cancelling watchdog
ConnectOperation: completing with error
ConnectionLockStage(ConnectOperation): op failed.  Unblocking queue with error:
ConnectionLockStage(ConnectOperation): unblocking and releasing queued ops.
ConnectionLockStage(ConnectOperation): processing 0 items in queue for error=
ReconnectStage(ConnectOperation): failed, state change CONNECTING -> DISCONNECTED
Starting on_complete in callback thread
Callback completed with error
['azure.iot.device.common.transport_exceptions.ConnectionFailedError\n']
******************* Exception
Could not connect to IoTHub
HANDLER (CLIENT_EVENT): Successfully completed invocation

I'm able to successfully run the open ssl command openssl s_client -connect amit-virtualbox.local:8883 -CAfile /var/secrets/downstreamdevice/root_ca.pem -showcerts and output of which is below:-

CONNECTED(00000003)
depth=2 CN = abcd Gateway Devices Root CA
verify return:1
depth=1 CN = abcd Gateway Devices Intermediate CA
verify return:1
depth=0 CN = amit-virtualbox.local
verify return:1
---
Certificate chain
 0 s:CN = amit-virtualbox.local
   i:CN = abcd Gateway Devices Intermediate CA
-----BEGIN CERTIFICATE-----
MIICSjCCAfGgAwIBAgIBADAKBggqhkjOPQQDAjAvMS0wKwYDVQQDEyRWZWxpIEdh
dGV3YXkgRGV2aWNlcyBJbnRlcm1lZGlhdGUgQ0EwHhcNMjIwNDE0MTEzOTE5WhcN
MjIwNTE0MTEzOTE5WjAgMR4wHAYDVQQDDBVhbWl0LXZpcnR1YWxib3gubG9jYWww
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC97KASFGCR4fgXQHBrXAhH
Z9jCaFmqkyNV2p99gyxG6bdfFSqcDm3ZzG4RCJ7Q6KaLtb85372m9z3XEPFFEPnE
JlJ+cnSGraSChW9OeaVKa/LIoDH9JyJC0jOFFZMQNxdc6ZegFw8sAq+coF8JQTLe
+4vWd1i81/i/qFSJkVUUxJixo1yR39/s63DWc+vxxEAOrNteMYmyXm90NVOHSq6x
M4jDQAYKUcnPTqZrFWAxSvnt4hMfgeNyw3QV3nr2cRwF/SzojFsjxF4nKgLedoZr
pYUUg7eqgoIW14Nj3jN3NtnG000xVUEA1klaKLWkjJdq+JXeCalBI80ifoiCNicH
AgMBAAGjQjBAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMCkGA1UdEQQiMCCCB2VkZ2Vo
dWKCFWFtaXQtdmlydHVhbGJveC5sb2NhbDAKBggqhkjOPQQDAgNHADBEAiAzVU6+
ZCHqwq1yOP8giaFoxPzzcTs6lCWli0+xbcWzrAIgFWCrJyAqDtG8K6rDbH8Q1KLh
CmQ2dmcqGmhLMAUIqh8=
-----END CERTIFICATE-----
 1 s:CN = abcd Gateway Devices Intermediate CA
   i:CN = abcd Gateway Devices Root CA
-----BEGIN CERTIFICATE-----
MIIBvjCCAWOgAwIBAgIRAMuoMwh4s7LQROik0crmL9owCgYIKoZIzj0EAwIwJzEl
MCMGA1UEAxMcVmVsaSBHYXRld2F5IERldmljZXMgUm9vdCBDQTAgFw0yMjAzMTQw
ODEyMTRaGA8yMTIyMDIxODA4MTIxNFowLzEtMCsGA1UEAxMkVmVsaSBHYXRld2F5
IERldmljZXMgSW50ZXJtZWRpYXRlIENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEeqpUZEzOKA4ylSyG2WaeHQcNxGkVZkC9vvFJKgKNW2WnDAsGsGzSiSWHq3tg
mt4SUU/uj4Boq5SxhfiauPWUS6NmMGQwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB
/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPCwQo7chhpc0oUBwsOkjgPtviYSMB8GA1Ud
IwQYMBaAFCqD8u3kUR5DJ84J5Q24R6hIxO/XMAoGCCqGSM49BAMCA0kAMEYCIQD0
XIya7XbLTYJNeyiimGnIL9Dld+1+OYMPreYX0UMF5wIhAOqCIMZfo3Wz+gKAC73b
ZeQlUbF+4qYMhYg7R83hdFKG
-----END CERTIFICATE-----
---
Server certificate
subject=CN = amit-virtualbox.local

issuer=CN = abcd Gateway Devices Intermediate CA

---
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:ECDSA+SHA1:RSA+SHA224:RSA+SHA1:DSA+SHA224:DSA+SHA1:DSA+SHA256:DSA+SHA384:DSA+SHA512
Shared Requested Signature Algorithms: ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA512:Ed25519:Ed448:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA-PSS+SHA256:RSA-PSS+SHA384:RSA-PSS+SHA512:RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA224:RSA+SHA224:DSA+SHA224:DSA+SHA256:DSA+SHA384:DSA+SHA512
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 1731 bytes and written 418 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: 8CA83B027E59784DE8357F645E75BCF4BE7D2112587A27D90F49C8880D75CA7F
    Session-ID-ctx:
    Master-Key: DA04D6998B5B899CA5BBB245FCAEDEF7E6B827D7F7818CE550E39B133DB7BD3BCB608B695054523012742E8E1A99D4C0
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 0d 36 50 c7 0e 7e 1f 81-99 db 51 2e ae 6b 95 e1   .6P..~....Q..k..
    0010 - b8 bc d2 4a f3 9c c9 dc-fa 4f b3 17 53 8c 72 96   ...J.....O..S.r.
    0020 - 8b 43 0c de 23 5c 63 0e-d7 91 39 86 ae e9 cc 85   .C..#\c...9.....
    0030 - a3 24 69 f7 09 bc 55 d0-28 a8 f6 f2 cc df 77 76   .$i...U.(.....wv
    0040 - 87 82 2e a0 f1 f2 a6 46-a5 a7 98 76 31 e1 02 ab   .......F...v1...
    0050 - 06 60 49 05 62 29 98 55-ec 05 6c 27 7e 06 23 0a   .`I.b).U..l'~.#.
    0060 - 41 b7 0c ed fb c5 d9 ee-58 31 22 37 69 10 74 ee   A.......X1"7i.t.
    0070 - 5b 1a 23 51 3e 3b 17 81-40 87 2f 5d 1d d3 70 a2<EMAIL_ADDRESS>    0080 - 63 c0 8f 7b c6 56 65 fd-9e ec 91 a0 17 cb e5 53   c..{.Ve........S
    0090 - 81 09 8f b5 9f 39 c5 83-8a dc e3 70 ea a0 f9 51   .....9.....p...Q

    Start Time:<PHONE_NUMBER>
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

FYI:-

I have installed avahi-daemon package to do look up of gateway on hostname.local .
I'm able to ping gateway from leaf device using gatewayhostname.local.
My leaf device python code is running inside docker container which is giving the issue socket.gaierror: [Errno -2] Name or service not known as shown in logs above.

Questions:-

In leaf device(docker container) do I need to do anything extra so that the leaf device can connect/resolve the dns name of gateway?

Am I doing it correctly? Has this been tried before i.e. leaf device is unaware of gatewayip and it just connects with the hostname which is resolved to an IP by avahi-daemon service.

@amit12cool
I suspect the issue is probably with trying to use an IP address rather than a alphabetical hostname. Can you specify exactly what format you are providing the hostname in?

What version of Edge Runtime is your gateway running? I see hostname errors with Edge Runtime 1.2 whereas 1.1 works.

@amit12cool
Any follow ups to the above questions from me? I also second the question regarding Edge Runtime 1.2 vs 1.1. We will have to close this issue due to inactivity if we do not hear from you soon.

Yes, edge runtime 1.1 works. Thanks


Speed up web seed downloads

We just ran into an issue with the AT client where it was downloading super slow ~200kbps. But a wget from a webseed was going at 30MBps

Solutions could include:

adding more asynchronicity to the PeersManager thread which has to listen to incoming messages and write them synchronously.
making those loops in HTTPpeer faster


[Bug] Java Client's Seek Logic Not Threadsafe

Search before asking

[X] I searched in the issues and found nothing similar.

Version
Master
Minimal reproduce step
Review the usage of the duringSeek atomic boolean, and it is clear that if a client were to execute two concurrent seek async calls, the client would not handle the logic correctly.
See:
https://github.com/apache/pulsar/blob/e0b50c9ec5f12d0fb8275f235d8ac00e87a9099e/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L2141
https://github.com/apache/pulsar/blob/e0b50c9ec5f12d0fb8275f235d8ac00e87a9099e/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L924-L925
The first seek will likely return first and reset the subscription, but the second will silently fail.
What did you expect to see?
I expect the client to either cancel the first operation or to fail the second operation due to an illegal call.
What did you see instead?
Unexpected state would occur.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Maybe I can try to see if I can solve this, can you assign it to me?

@tobehardest go ahead!

what problem may cause by this issue?

@michaeljmarshall @tisonkun can I work on this if @tobehardest is not working on this ?

@Abhijeetmishr May I ask what's your plan to handle this issue? I've seen people ask for assigned and hard to make progress, so maybe a brief introduction can help instead of "please assign me but I don't know what to do".

@tisonkun I could have provided brief introduction beforehand only sorry for that.

I think making this AtomicBoolean seek asynchronous will help us.

Problem :-

Suppose you have a shared AtomicBoolean variable named flag and two threads, Thread A and Thread B. Thread A sets the value of flag to true, and Thread B reads the value of flag. If Thread B reads the value of flag before Thread A sets it to true, then Thread B might enter an infinite loop because it assumes that the value of flag is false.

Solution :-

we need to use a synchronization mechanism, such as an asynchronous behavior, to ensure that the value of flag is set before it is read.
we use a CompletableFuture or a Future object to run the task asynchronously.

Assigned. Thank you and I'll try to give the patch a review.


Add UTT to JetBrains

Link to university page: https://www.utt.edu.mx/

@Joss2906 First stage of verification passed, official domain is utt.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://cin.utt.edu.mx/

@Joss2906 Pull request merged. Thank you.


Amend rmw_init() implementation: require enclave.

Connected to https://github.com/ros2/rmw/pull/247.

Running CI up to test_rmw_implementation and all RMW implementations:

Linux
Linux-aarch64
macOS
Windows

@Blast545 that's precisely how I ran CI above :)

Oh, just saw that both branches are named the same, cool! Disregard my last comment.


Restrictions on the time that can be selected

How do I set restriction on time of day that a user can select ?

Currently, there is no way to restrict the user from selecting any time of the day.

Can you please create something addressing that issue ? I like your wicked picker and want to really implement it in one of my project. Thanks,

I started to work on min and max time options last night. I have it working, but the feature isn't fully tested yet. It should be up and ready to use in the next day or two.

At the first, thanks for the plugin.
Have you got the new funcionality for min and max restrictions?
Thanks again!

Hey @ericjgagnon is it possible to do this now? Can you please tell me how to do thi,s as I am not able to find any documentation regarding this

Thanks for the great plugin but did this enhancement take place? I too am stuck on it ...

Is there an update on the enhancement....?


Inside UI-Bootstrap Modal with animation

When the directive is inside an animated view (one that expands or slides) the ladda directive calculates immediately forcing the height and width of the spinner to be 0px. Can we wrap the link function in a $timeout so that it can wait until the DOM is loaded?

Thanks for reporting issue. I'll check this soon.

Hi @subicura , were you able to replicate this? I can create a pull request if needed...

Hi @tah182, Can you create a pull request? Thanks!

Thank. It's merged!

Thank you @subicura ! It looks like the changes were put in a new file in the /src folder, but the main /dist is still unchanged.

Sorry @tah182, It's fixed.

Hey @subicura. Sorry to keep bothering you. the /dist looks updated. I forgot to compile a min.js for you in my pull request. Can you update that as well? Do you know when you'll cut a new release for bower? Thanks again, Tah


docs: update brew install instructions to be a one liner

https://github.com/build-trust/ockam/issues/3070

@zzztimbo Awesome, thank you for sending this.
Before we can merge,
Some things to confirm:

Checks

[ ] All commits in this Pull Request are signed and Verified by Github.
[ ] All commits in this Pull Request follow the Ockam commit message convention.
[ ] I accept the Ockam Community Code of Conduct.
[ ] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository.


Transfer OpenAI Query Pack pack from Incubator

Pack: OpenAI Query Pack
Description: Pack to query OpenAI API
Incubator PR: https://github.com/StackStorm-Exchange/exchange-incubator/pull/179

 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: dalarsen:white_check_mark: armab:x: stackstorm-neptrYou have signed the CLA already but the status is still pending? Let us recheck it.

@dalarsen The new repo was bootstrapped based on your PR in the StackStorm-Exchange incubator https://github.com/StackStorm-Exchange/exchange-incubator/pull/179. We're getting closer!
Looking at the GH workflow of the bootstrapped pack
https://github.com/StackStorm-Exchange/stackstorm-openai/blob/3bd79a719b94a12993cb432af53fff9d0cd82d43/.github/workflows/build_and_test.yaml#L10-L18
it's referring to a common workflow in the stackstorm-exchange/ci/ repo: https://github.com/StackStorm-Exchange/ci/blob/master/.github/workflows/pack-build_and_test.yaml
I think it makes sense to make the python version configurable via inputs
https://github.com/StackStorm-Exchange/ci/blob/master/.github/workflows/pack-build_and_test.yaml#L43-L44
and so then in this openai pack CI we could just specify the expected python version, similar to other inputs like py-cache-version: v0.
If you could open a PR against the https://github.com/StackStorm-Exchange/ci/blob/master/.github/workflows/pack-build_and_test.yaml to make the python version configurable via inputs, - that will help, I'll merge it.


Support for discrete models

    def _hazard(self, params, t):
        # from (1.64c) in http://geb.uni-giessen.de/geb/volltexte/2014/10793/pdf/RinneHorst_hazardrate_2014.pdf
        return 1 - np.exp(self._cumulative_hazard(params, t) - self._cumulative_hazard(params, t+1))

I would be very supportive of including discrete time logit models but i would be unsure of where to start in lifelines to do so.


Add rmw utility to the list

Adds the rmw utility to the list, this works great on WSL. Requires building from source but installs very quickly because of no extra dependencies.

Thanks!

Thank you @sexybiggetje and @ethanhs :)


TypeError: Property argument of RestElement expected node to be of a type ["LVal"] but instead got undefined

Hey 👋
I wanted to try out your optimize-plugin and ran into the following crash in transform-destructuring
errored out during transformation  TypeError: .../dashboard.495836a2.js: Property argument of RestElement expected node to be of a type ["LVal"] but instead got undefined
    at Object.validate (.../node_modules/@babel/types/lib/definitions/utils.js:132:11)
    at validateField (.../node_modules/@babel/types/lib/validators/validate.js:24:9)
    at validate (.../node_modules/@babel/types/lib/validators/validate.js:17:3)
    at builder (.../node_modules/@babel/types/lib/builders/builder.js:38:27)
    at Object.restElement (.../node_modules/@babel/types/lib/builders/generated/index.js:402:31)
    at visitParam (.../node_modules/babel-preset-modernize/dist/plugins/transform-destructuring/index.js:1:5631)
    at PluginPass.VariableDeclarator (.../node_modules/babel-preset-modernize/dist/plugins/transform-destructuring/index.js:1:7332)
    at newFn (.../node_modules/@babel/traverse/lib/visitors.js:175:21)
    at NodePath._call (.../node_modules/@babel/traverse/lib/path/context.js:55:20)
    at NodePath.call (.../node_modules/@babel/traverse/lib/path/context.js:42:17) {
  type: 'TypeError',
  code: 'BABEL_TRANSFORM_ERROR'
}

The responsible line is here:
			let paramId;
			if (isIterable) {
				paramId = rest.node.id;
				pattern[restOffset || pattern.length] = t.restElement(t.clone(paramId));
			} else ...

paramId is undefined here. The rest object looks like this:

However I don't have any experience with babel plugins and no idea how I could extract more useful information from here.
Unfortunately I cannot share the code, but I can collect more information if you tell me what you need.

Thanks for the great issue! What you provided should be enough information for me to write up a test case and land a fix.

Hi !
Any updates here ?


Feature/table data

This change is

Reviewed 5 of 5 files at r1.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

byuSuite/Apps/Alumni/controller/AlumniConnectViewController.swift, line 14 at r1 (raw file):

    var tableData = TableData(sections: [
        Section(title: "Alumni Resources", rows: [
            Row(text: "Contact BYU Alumni Office", moreInfo: ["url": "tel://18002982586"]),

Make "url" a private let

byuSuite/Apps/LabComputers/controller/LabComputersDetailViewController.swift, line 48 at r1 (raw file):

        cell.availabilityLabel.text = row.text

        if let moreInfo = row.moreInfo, let imageName = moreInfo[IMAGE_NAME_KEY] as? String {

Can you use optional chaining here?
if let imageName = row.moreInfo?[IMAGE_NAME_KEY] as? String

byuSuite/Classes/Reusable/UI/TableData.swift, line 26 at r1 (raw file):

    }

    func addSection(section: Section) {

Redundant. Just add(section: Section) will suffice

byuSuite/Classes/Reusable/UI/TableData.swift, line 39 at r1 (raw file):

    func moreInfo(forIndexPath indexPath: IndexPath) -> [String: Any]? {
        return sections[indexPath.section].rows[indexPath.row].moreInfo

Don't duplicate this logic. Just use row(forIndexPath: indexPath).moreInfo

Comments from Reviewable

Review status: all files reviewed at latest revision, 4 unresolved discussions.

byuSuite/Apps/Alumni/controller/AlumniConnectViewController.swift, line 14 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Make "url" a private let

Done.

byuSuite/Apps/LabComputers/controller/LabComputersDetailViewController.swift, line 48 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Can you use optional chaining here?
if let imageName = row.moreInfo?[IMAGE_NAME_KEY] as? String

Done.

byuSuite/Classes/Reusable/UI/TableData.swift, line 26 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Redundant. Just add(section: Section) will suffice

Done.

byuSuite/Classes/Reusable/UI/TableData.swift, line 39 at r1 (raw file):
Previously, romrell4 (Eric Romrell) wrote…
Don't duplicate this logic. Just use row(forIndexPath: indexPath).moreInfo

Done.

Comments from Reviewable

Reviewed 4 of 4 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Is the cube rotating or is the camera moving around it

Partially legitimate question

yes

In fact, neither.
Your perception of reality is being distorted by the power of vim, making it appear as if there's movement when actually both the camera and cube are static, and your understanding of the universe is changing.

I'd guess the partially legitimate answer is I think the cube rotates.

yes

My interpretation is that the cube is rotating and the camera is moving around it both at half the perceived speed.

The real answer is, there is neither a cube, nor a camera. It is all just an illusion created by math and computer science.

The cube and the camera are very real, but the apparent rotation is a result of complex gravitational lensing effects caused by a number of nearby supermassive stellar objects.


Created the sketch of landing page

uploading screenshot of sketch

Linhan, you can merge it if it looks good to you!

looks great!


Refactor and simplify mod_auth_jwt

Description

Remove advance features of mod_auth_jwt (just validate signature and validity period of JWT)
Improve code style of mod_auth_jwt
Improve document about mod_auth_jwt

#496


LIMIT 0, 1 returns 0 documents whereas LIMIT 0, 2 returns 1.

I am executing the following query:
FOR o IN iNlbRILoxUd LIMIT 0, 1 FILTER o._key == "lVxIycCeLdCB" RETURN o

And getting 0 results.
If I change the LIMIT-clause to LIMIT 0, 2, then I get one result. Which is what I expected to get using LIMIT 0, 1.
iNlbRILoxUd is a loaded, non-system, non-erroneous document-collection where allowUserKeys is enabled and using the traditional key-type.
~$ arangod --version
architecture: 64bit
build-date: 2016-05-14 08:27:23
configure:  './configure' 'CC=gcc' 'CXX=g++' 'CFLAGS=-g -O3 -fomit-frame-pointer' 'CXXFLAGS=-g -O3 -fomit-frame-pointer' '--enable-gold' '--enable-tcmalloc' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-all-in-one-etcd' '--enable-internal-go'
env:  CFLAGS='-g -O3 -fomit-frame-pointer' CXXFLAGS='-g -O3 -fomit-frame-pointer' CC='gcc' CXX='g++'
fd-client-event-handler: poll
fd-setsize: 1024
icu-version: 54.1
libev-version: 4.11
maintainer-mode: false
openssl-version: OpenSSL 1.0.2d 9 Jul 2015
server-version: 2.8.9
sizeof int: 4
sizeof void*: 8
tcmalloc: true
v8-version: 4.3.61

~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 15.10
Release:	15.10
Codename:	wily

Hi @thwd-duda
The position of the LIMIT clause matters in your query.
So in your example it will first iterate over the collection.
It will pick exactly! 1 document (randomly) <- Limit kicks in here
It will take the one document and filter it's _key.
In a lucky case it works. in most cases you do not get the document.
If you switch LIMIT and FILTER:
FOR o IN iNlbRILoxUd FILTER o._key == "lVxIycCeLdCB"  LIMIT 0, 1 RETURN o

It will first pick all documents from your collection with the key (which is one anyways, _key is unique)
And then it will reduce the result-set by picking only the first of them.

Have a look here: https://docs.arangodb.com/3.0.0b1/AQL/Operations/Filter.html
It is about FILTER, but it gives an example how the order of operations affects queries.


Update jiramicrosoft-tutorial.md

Hii Dhivya,
I've modified Jira Supporting version 9.13.0. Kindly review and accept the PR.
Thanks & regards,
Sagar Patil

#sign-off


Update to latest pdfmake 0.1.32

Having a better README would also not hurt :) I will fork and make a PR later.

Nevermind, I cannot even use this module, got all sorts of errors...


[KeyVault] Remove references to six package

Description
Fix #22373.
Removed six package
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

Summary of changes

.moves.urllib_parse
Following docs, same as using urllib.

link = "https://azure.microsoft.com/en-us/"
# Before
import six
q = six.moves.urllib_parse.urlparse(link)
print(p)
# >>> ParseResult(scheme='https', netloc='azure.microsoft.com', path='/en-us/', params='', query='', fragment='')

# After
from urllib import parse
p = parse.urlparse(link)
print(q)
# >>> ParseResult(scheme='https', netloc='azure.microsoft.com', path='/en-us/', params='', query='', fragment='')

six.raise_from
Following docs, six.raise_from(exc_value, exc_value_from) same as raise exc_value from exc_value_from

# Before
from six import raise_from
try:
    zero_div = 1 / 0
except Exception as ex:
    raise_from(ValueError("zero div"), ex, )
# >>> ValueError: zero div

# After
try:
    zero_div = 1 / 0
except Exception as ex:
    raise ValueError("zero div") from ex
# >>> ValueError: zero div

six.with_metaclass

from enum import Enum, EnumMeta
class _CaseInsensitiveEnumMeta(EnumMeta):
    def __getitem__(self, name):
        return super().__getitem__(name.upper())

    def __getattr__(cls, name):
        try:
            return cls._member_map_[name.upper()]
        except KeyError:
            raise AttributeError(name)

# Before
from six import with_metaclass
class DeletionRecoveryLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    PURGEABLE = "Purgeable"
    RECOVERABLE_PURGEABLE = "Recoverable+Purgeable"
    RECOVERABLE = "Recoverable"
    RECOVERABLE_PROTECTED_SUBSCRIPTION = "Recoverable+ProtectedSubscription"
    CUSTOMIZED_RECOVERABLE_PURGEABLE = "CustomizedRecoverable+Purgeable"
    CUSTOMIZED_RECOVERABLE = "CustomizedRecoverable"
    CUSTOMIZED_RECOVERABLE_PROTECTED_SUBSCRIPTION = "CustomizedRecoverable+ProtectedSubscription"

print(type(DeletionRecoveryLevel), DeletionRecoveryLevel)
print(type(DeletionRecoveryLevel.PURGEABLE), DeletionRecoveryLevel.PURGEABLE)
# >>> <class '__main__._CaseInsensitiveEnumMeta'> <enum 'DeletionRecoveryLevel'>
# >>> <enum 'DeletionRecoveryLevel'> DeletionRecoveryLevel.PURGEABLE

# After
class DeletionRecoveryLevel(str, Enum, metaclass=_CaseInsensitiveEnumMeta):
    PURGEABLE = "Purgeable"
    RECOVERABLE_PURGEABLE = "Recoverable+Purgeable"
    RECOVERABLE = "Recoverable"
    RECOVERABLE_PROTECTED_SUBSCRIPTION = "Recoverable+ProtectedSubscription"
    CUSTOMIZED_RECOVERABLE_PURGEABLE = "CustomizedRecoverable+Purgeable"
    CUSTOMIZED_RECOVERABLE = "CustomizedRecoverable"
    CUSTOMIZED_RECOVERABLE_PROTECTED_SUBSCRIPTION = "CustomizedRecoverable+ProtectedSubscription"

print(type(DeletionRecoveryLevel), DeletionRecoveryLevel)
print(type(DeletionRecoveryLevel.PURGEABLE), DeletionRecoveryLevel.PURGEABLE)
# >>> <class '__main__._CaseInsensitiveEnumMeta'> <enum 'DeletionRecoveryLevel'>
# >>> <enum 'DeletionRecoveryLevel'> DeletionRecoveryLevel.PURGEABLE

six.ensure_str
Following docs, six.ensure_str(s, encoding='utf-8', errors='strict' same as str(s)

r1 = """{"body": "something", "header": "anything"}"""
# Before
import six
print(type(six.ensure_str(r1)))
# >>> <class 'str'>

# After
print(type(str(r1)))
# >>> <class 'str'>

six.string_types
Following docs, string_types same as str

# Before
import six
print("True") if isinstance("key", six.string_types) else print("False")
# >>> True

# After
print("True") if isinstance("key", str) else print("False")
# >>> True

six. byte2int
Following docs, six.byte2int(bs) same as bs[0].

bs = bytes(5)

# Before
import six
print(bs, type(six.byte2int(bs)), six.byte2int(bs))
# >>> b'\x00\x00\x00\x00\x00' <class 'int'> 0

# After
print(bs, type(bs[0]), bs[0])
# >>> b'\x00\x00\x00\x00\x00' <class 'int'> 0

Closing in favor of https://github.com/Azure/azure-sdk-for-python/pull/26150


Edge: Preview displays blank page

Tested Preview of Work in Demo (https://demo.twill.io/work/works/2335/edit) and noticed that Preview displays an empty page under Microsoft Edge. Selecting any other revision produces the same result (which also happens when comparison mode is enabled)

OS: Windows 10
Browser: Microsoft Edge
Browser version: 18.17763
Screen resolution (as reported by Edge): 1435 x 688
Real screen resolution (HiDPI, 225%): 3200 x 1800

See following screenshots:

Thank you!
❤ ❤ ❤

Edge 18 does not support srcdoc, so that's why it is blank.

srcdoc has been supported on Edge for a while now, I think we can close this!


Blend modes

Proposal for mix-blend-mode utility classes, ideal since it is a one line spec, eg. https://alligator.io/css/exploring-blend-modes/

Added blend modes #29 but now considering filter as well

i think filters are generally low priority/value. what advantage do you see to bundle filter utils in fortune?


UX: unnecessary modal dialog before reverting a hunk

VSCode 1.12:
When invoking Git: Revert Selected Ranges, I get this modal dialog:

As I can always just Ctrl+Z if I'm not happy with the changes, I think this dialog is unnecessary.

You'd be surprised how many people don't know about undo and ping us angrily about losing data. I won't take this dialog away.

That's surprising, you have the developer community where Undo should be pretty universally understood I would think. But anyway, the modal dialog could be avoided with a top bar message like this after the fact:

You can undo this change by pressing Ctrl+Z. [Never Show Again]


Input multiple sql scripts

Allow _input_sql_file vars to accept list of files
Use this in tests/tests_configure_ha_cluster.yml to speed the test up

[citest pending]

[citest pending]

[citest pending]


Proxy support?

As not being an expert in rust, it's not clear to me, if vagga supports configuration and usage of http proxies instead of trying to establish direct connections?

If you're talking about using proxy when building image. Then it does not support at the moment. It should be easy to implement (mostly forward http_proxy env variable). But I'm busy with porting vagga to rust 1.0. Until that I will not fix the issue.
As a temporary workaround you might use !Env command to set proxy yourself (but it may not work for some built-in commands like TarInstall).
Inside the container you may use proxy as always. But vagga does not propagate env vars by default (probably I will fix it, but I'm not sure if it is a security issue to propagate by default). Look at docs for environment settings.

As far as I see, the container is not even downloaded at all:
vagrant@vagrant-ubuntu-trusty-64:~/test$ cat vagga.yaml
containers:
  flask:
    setup:
    - !Ubuntu trusty
    - !UbuntuUniverse
    - !Install [python3-flask]
commands:
  py3: !Command
    container: flask
    run: python3
vagrant@vagrant-ubuntu-trusty-64:~/test$ vagga py3
Connecting to cdimage.ubuntu.com (<IP_ADDRESS>:80)
wget: can't connect to remote host (<IP_ADDRESS>): Operation timed out
ERROR:main::download: Error unlinking cache file: couldn't unlink path (no such file or directory (No such file or directory); path=/vagga/cache/downloads/0e78368d-trusty-core-amd64.tar.gz.part)
ERROR:main: Error build command {"variant":"Ubuntu","fields":["trusty"]}: Wget exited with status: exit code: 1
ERROR:main: Error executing _build: Builder exited with code 1

The process hangs some minutes. Because I do not see any request from vagga in the proxy log, I guess it is trying to connect directly. Env variables http_proxy and https_proxy are set correctly and are working for apt and lynx e.g.

Try the following workaround:
containers:
  flask:
    setup:
    - !Env { http_proxy: "your proxy url" }
    - !Ubuntu trusty
    - !UbuntuUniverse
    - !Install [python3-flask]
commands:
  py3: !Command
    container: flask
    run: python3

Should be fixed now. The build will soon be in the testing repository.


bootstrap-vcpkg.bat fails when vcpkg repository cloned, if git obeys executable permissions of tls12-download.exe

Describe the bug
I just tried cloning the official vcpkg repository using Cygwin's git, and then tried bootstrap-vcpkg.bat from Windows Command Prompt.  These steps had previously worked fine during December 2020,
There seems to be something wrong with one of the executable permissions that had recently been merged into vcpkg.
Environment

Windows 10 20H2 19042.804
Compiler: Visual Studio Community 2019 16.8.5

To Reproduce
Steps to reproduce the behavior:

Launch Cygwin Terminal
(Cygwin Terminal) git clone git@github.com:microsoft/vcpkg.git
Launch Windows Command Prompt
(Command Prompt) bootstrap-vcpkg.bat

Expected behavior
4. Bootstrap should not encounter any Access denied errors.
Failure logs
C:\src\vcpkg>bootstrap-vcpkg.bat
Program 'tls12-download.exe' failed to run: Access is deniedAt C:\src\vcpkg\scripts\bootstrap.ps1:48 char:1
+ & "$scriptsDir/tls12-download.exe" github.com "/microsoft/vcpkg-tool/ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.
At C:\src\vcpkg\scripts\bootstrap.ps1:48 char:1
+ & "$scriptsDir/tls12-download.exe" github.com "/microsoft/vcpkg-tool/ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed

The variable '$LASTEXITCODE' cannot be retrieved because it has not been set.
At C:\src\vcpkg\scripts\bootstrap.ps1:51 char:5
+ if ($LASTEXITCODE -ne 0)
+     ~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (LASTEXITCODE:String) [], RuntimeException
    + FullyQualifiedErrorId : VariableIsUndefined

Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md

Additional context
Doing a little detective work:
$ ls -Al scripts/tls12-download.exe
-rw-r--r-- 1 Jet Jet 18312 Feb 13 18:10 scripts/tls12-download.exe

It looks like the executable was cloned and assigned the permissions that had been merged into git, at the time the executable was checked in: microsoft/vcpkg@aa60b7efa56a83ead743718941d8b320ef4a05af
I believe you can overcome this by just setting the mode to 0755, then merging it.  Thiis is the default mode windows assigns executables, if you had just downloaded the executable from the internet:
$ chmod 0755 scripts/tls12-download.exe
$ ls -Al scripts/tls12-download.exe
-rwxr-xr-x 1 Jet Jet 18312 Feb 13 18:10 scripts/tls12-download.exe

Then from Windows Command-Prompt:
C:\src\vcpkg>bootstrap-vcpkg.bat
Downloading https://github.com/microsoft/vcpkg-tool/releases/download/2021-01-13-768d8f95c9e752603d2c5901c7a7c7fbdb08af35/vcpkg.exe -> C:\src\vcpkg/vcpkg.exe
Done.

Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md

I'll try and open a PR to correct the mode.  This is only .exe in the repository so far, and the problem doesn't seem to affect .bat files.
Otherwise everything else cloned from within Cygwin works great!

/cc msft
Why two repository?
why is there no description to build?
https://github.com/microsoft/vcpkg-tool <<-- (build only static)

/cc msft
Why two repository?
why is there no description to build?
https://github.com/microsoft/vcpkg-tool <<-- (build only static)
@yuri-sevatz
download - copy
https://github.com/microsoft/vcpkg-tool/releases

@MVoz I hope that the ticket I have filed and fixed here is not being used a generic "catch all" support ticket for unrelated questions.
I don't know what those other repositories are for.  And I don't work for Microsoft :-).  Though you can find documentation on installing and using vcpkg on Microsoft's website:
https://docs.microsoft.com/en-us/cpp/build/install-vcpkg?view=msvc-160&tabs=windows
Please try not to spam unrelated issues when seeking support.  There's a special type of issue you can file, for "how do I..." questions.

cc @BillyONeal


[TIR] cast disparate floating point types for binary ops

Right now if we in TIR add a floating point type with an integer type, the integer type will be implicitly cast to the floating point type.
E.g. a: float32 + b: int32 ---> a: float32 + cast(float32, b: int32)
This change does the same thing for floating point types. If we have two different floating point types e.g. fp16 and fp32, then when operating, the lower bit floating point type gets cast into the higher bit floating point type.
E.g. a: float32 + b: float16 --> a: float32 + cast(float32, b: float16)
This is of use since https://github.com/apache/tvm/issues/8340 has an issue where some schedules which should support mixed precision types do not. This is due to binary ops like addition and multiplication not supporting mixing fp32 and fp16. Most of these errors can be fixed by inserting a cast into the schedule.
Rather than manually audit every schedule which might have this, this might be a preferable and reasonable solution.

Thanks for the review@comaniac PTAL

By the way, please don't merge this anytime soon. I want to get some input from some others like @jroesch or @junrushao1994

As long as we don't implicitly downcast I think this should be fine, can you test behavior of storing both an i32/u32 computation in i16/u16, and the other way around?

As long as we don't implicitly downcast I think this should be fine, can you test behavior of storing both an i32/u32 computation in i16/u16, and the other way around?

This will fail since this PR only upcasts one arg. in binary operations only. Do you want me to also upcast assignment for floating point types to be consistent?

As long as we don't implicitly downcast I think this should be fine, can you test behavior of storing both an i32/u32 computation in i16/u16, and the other way around?

This will fail since this PR only upcasts at most one arg. in binary operations only (e.g. addition). Do you want me to also upcast assignment for floating point types to be consistent? @jroesch

I meant we should add negative tests so that if someone later comes along to modify the behavior we have clearly written down what should pass and what should fail.

As long as we don't implicitly downcast I think this should be fine, can you test behavior of storing both an i32/u32 computation in i16/u16, and the other way around?

This will fail since this PR only upcasts at most one arg. in binary operations only (e.g. addition). Do you want me to also upcast assignment for floating point types to be consistent? @jroesch

I meant we should add negative tests so that if someone later comes along to modify the behavior we have clearly written down what should pass and what should fail.

Oh ok. Done.

PTAL @jroesch

LGTM, just get it green and we are gtg

Thanks @AndrewZhaoLuo @jroesch


refactor: rename readme file extension to md

Coverage remained the same at 100.0% when pulling c7f9b4502fc594dbd10a7eba41ecf7ac5b8503e1 on refactor/rename-markdown-to-md into 521421cc717c52c458c17a2b7233c3a4507f89d0 on master.

it's not necessary to rename the readme's extension.


Add Discord OAuth2 integration

Allows users to join the Hackathon Discord server using Discord OAuth2. The process adds them to the Hackathon server, no invite is needed.
Had to add some env variables:
# hs_discord_bot_api
DISCORD_HMAC_KEY="Random string, but must match the string in hs_discord_bot_api"
DISCORD_CLIENT_ID="692...412"
DISCORD_HS_API_BASE="http://localhost:8082"

DISCORD_HMAC_KEY is used to provide security in the state parameter of the OAuth2 call. It should be the same as the key used in hs_discord_bot_api.
DISCORD_CLIENT_ID stores the client ID of the Hackathon bot.

Some screenshots so you can see the changes:

Another thing to note is that the link in the navbar is unique to each user, if one user shared the link to another user, they wouldn't be able to authenticate.

I changed it so that /user/join_discord is now a permalink to joining the Discord server. The hash generation is moved to this part as well, so that hashes aren't generated whenever the user loads any page. This link will redirect the user (provided they're logged in) to their personal auth link.


Text formatting can be applied but not removed

Issue
Text can be highlighted and formatting can be applied with the editor (e.g. bold, italic, bullet list etc.) but formatting can not be removed.
My configuration
I am using vue editor in multiple places and this works without an issue - however, in a modal popup I am getting the issue where I can format text but I can not remove the formatting. If I click the button 'bold' for example, it will remain highlighted and won't remove the bold styling from the v-model value. All of my editors have a unique ID.
<vue-editor
    v-model="myValue"
    @input="updateValue"
    :editorToolbar="customToolbar"
    :placeholder="placeholder"
    :id="id"
    :disabled="disabled"
    class="bg-gray-50 w-full mock-input border border-transparent"
></vue-editor>

Input calls an event which emits myValue but that's irrelevant for this scenario as I have tested v-model with a local test data prop and the issue is the same - the input event will fire if I click a button to remove the formatting, however the value remains the same. If I hti CTRL+B for example, bold styling will successfully be removed, however I need these buttons to work correctly.

I'm having the same problem!!! It's used on one page working fine, but when I tried to use it on another page, I didn't have the same luck.

After a little break, I finally found how to solve the problem! For some reason the Vue2-editor take a few milliseconds to load by completely. Comparing the another implementation that I have in another page, I realized that there is a loading event to fetch data from specific form, and this event was that avoided the vue2-editor issue. It's a kind of workaround, but was a nice solution to fix the problem.

This issue is stale because it has been open for 60 days with no activity.

This issue was closed because it has been inactive for 7 days since being marked as stale.


Change parcels from LDS schema to the BDE schema

Switch the map back to getting all it's data from BDE schema.
TWG will decide this on Friday.

Can you please specify what the map requirements are in QGIS? Does it need the LDS primary parcels layers because it has title references and the appellation string?

Just spoke with Simon about this. He has a few map layers which he is going to investigate switching to the BDE schema or LDS WFS.

primary parcel spatial extents
pending parcel spatial extents
parcel labels showing title numbers

Is there a requirement to have the data in sync with the AIMS database parcels (e.g crs_parcel)

This is the filter that you need to use to get primary current and primary pending
Current
    SELECT *
    FROM bde.crs_parcel ap
    WHERE ST_GeometryType(ap.shape) IN ('ST_MultiPolygon', 'ST_Polygon')
    AND ap.status = 'CURR'
    AND ap.toc_code = 'PRIM';

Pending
    SELECT *
    FROM bde.crs_parcel ap
    WHERE ST_GeometryType(ap.shape) IN ('ST_MultiPolygon', 'ST_Polygon')
    AND ap.status = 'PEND'
    AND ap.toc_code = 'PRIM';

TWG @palmerj is there anything that you are expecting changed in the UI as a consequence of your changes?

Note completely sure on the UI within the plugin because I've never seen it!
But one issue could be the context parcels layer in QGIS. Simon tried to swap this out for a derived query to retain the appellation but had performance and correctness issues. See my comment here: https://github.com/linz/QGIS-AIMS-Plugin/pull/184

In answer to @linzbjones question. No. This is all backend stuff and AIMS API and UI should work exactly the same.

@SPlanzer to close once he's swapped the UI over to "bde" schema tables.

@SPlanzer, as discussed. Look at all options to get the appellation for the map display, including temporary workarounds and put here so we can decide on acitosn

HI @SPlanzer, we are having a TWG at 3pm today. Are you able to add this info before then please?

The spatial parcels have been migrated from the LDS data to BDE.
However, the addressing team have a requirement to have these parcels labelled with there corresponding appellation - THIS IS STILL OUTSTANDING
Several options have been explored to label these parcels.

utilising the LDS WFS feed has been considered
However, data would be up to a week out of date. It is my understanding this does not suffice
The UI selecting a database view
This triggers a view to be compiled when the plugin loads. It causes the plugin to take > 10 min to load.
It is possible this could be optimised but would still mean the plugin will not load in an acceptable time
A materialised view has been compiled and a trigger created to refresh the materialised view when the bde.crs_parcels table is altered.
This porives the AIMS UI users with the up to date labels they require without causing any latency.
This has been tested and shown to work, however, testing still needs to be undertaken with the overnight bde_loader running to ensure the triggering of the materialised view refresh does not conflict with the bde_loader.
The addressing team has expressed they can go live with the proviso that this solution would be further tested over the coming weeks and rolled out shortly after go live
this solution is branched

I would say another option is to rewrite the appelation pl/pgsql function to sql. That would allow good performance on a non-materialised view.

TWG: Addressing team has workarounds for this and can live without this function for 3 weeks.


AVRO-1514: Clean up Perl dependencies

What is the purpose of the change
Many of the changes in this pull request were made back in 2014 by John Karp for https://issues.apache.org/jira/browse/AVRO-1514, motivated by the fact that we were no longer constrained by targetting 5.8 (since we are currently targetting 5.10).
The main motivation here was to remove some dependencies that were no longer needed (like IO::String), add some dependencies that were not properly reported (Module::Install and friends as configure dependencies, Test::Pod as a test dependency, etc), and generally clean up some of the dependencies particularly in the Github actions, which were installing many Perl dependencies twice (once with apt, once with cpanm).
Verifying this change
This change only affects the way dependencies are reported and installed, and is already covered by existing tests, such as .github/workflows/test-lang-perl.yml and .github/workflows/test-lang-perl-ARM.yml.
No dependencies that were reported are being removed, only new ones that were missing, so this should be a safe change.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thank you, @jjatria !


Unit test coverage plugin

Hi,
In the readme  it says the plugin is unfinished due to - 'Incomplete unit test coverage of the plugin'
What exactly is not complete? Should the plugin work fine reading lcov files already?
Thanks

It refers to testing of the plugin itself, which used to be more sparse than at present. That line can probably be removed and the whole readme likely updated when I get a chance to roll a 1.0 release.
-------- Original message --------
From: Rob Parker<EMAIL_ADDRESS>Date: 01/02/2017 08:30 (GMT+00:00)
To: Pablissimo/SonarTsPlugin<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [Pablissimo/SonarTsPlugin] Unit test coverage plugin (#97)
Hi,
In the readme it says the plugin is unfinished due to - 'Incomplete unit test coverage of the plugin'
What exactly is not complete? Should the plugin work fine reading lcov files already?
Thanks

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/Pablissimo/SonarTsPlugin/issues/97, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABZvgH8m0ZX0mERRiawYz-48V6bTMdfVks5rYEKlgaJpZM4Lzmgj.

Ok great thanks :+1:

Removed confusing comment from the readme.


Clean up piptools/_vendored mentions

What's the problem this feature will solve?

Since piptools/_vendored does not exist anymore in the codebase, this should be cleaned up:
https://github.com/jazzband/pip-tools/blob/ef529778f90cb1ac0a6affb09e4d9d3fb56c1e76/tests/__init__.py#L1-L2
https://github.com/jazzband/pip-tools/blob/ef529778f90cb1ac0a6affb09e4d9d3fb56c1e76/.coveragerc#L6
https://github.com/jazzband/pip-tools/blob/ef529778f90cb1ac0a6affb09e4d9d3fb56c1e76/setup.cfg#L8
Describe the solution you'd like

clean up tests/__init__.py
remove piptools/_vendored mentions in setup.cfg and .coveragerc

Alternative Solutions

N/A
Additional context

N/A

This is a good issue for the first time contributors to work on. Feel free to ask any questions, we'd gladly help you make your first contributions.

Hi @atugushev
I can work on this issue.

Hello @peymanslh! Sure, go for it! 👍


Add constants for new images.

By name:
IMAGE_UBUNTU_1804 = "ubuntu-18.04"
IMAGE_FEDORA_28 = "fedora-28"

Thanks!


make moment calendar extensible with ad-hoc options

There have been numerous requests to be able to add more options to moment().calendar(). Going through and adding this to the locale files in the way that #2996 implements it causes breaking changes for people using updateLocale, and is on the whole not the cleanest thing. What if you don't want those other options? Now you have them and you're stuck with them.
Instead, I added a function called calendarFormat that can be used to define what calendar option should be used. This function defaults to what already exists, but can be overridden. For instance, the following function adds this month and next month options:
    moment.calendarFormat = function (myMoment, now) {
        var diff = myMoment.diff(now, 'days', true);
        var nextMonth = now.clone().add(1, 'month');

        var retVal =  diff < -6 ? 'sameElse' :
            diff < -1 ? 'lastWeek' :
            diff < 0 ? 'lastDay' :
            diff < 1 ? 'sameDay' :
            diff < 2 ? 'nextDay' :
            diff < 7 ? 'nextWeek' :
            (myMoment.month() === now.month() && myMoment.year() === now.year()) ? 'thisMonth' :
            (nextMonth.month() === myMoment.month() && nextMonth.year() === myMoment.year()) ? 'nextMonth' : 'sameElse';
        return retVal;
    };

Then, use update locale to add the corresponding values to the locale:
    moment.updateLocale('en', {
        calendar : {
                sameDay : '[Today at] LT',
                nextDay : '[Tomorrow at] LT',
                nextWeek : 'dddd [at] LT',
                lastDay : '[Yesterday at] LT',
                lastWeek : '[Last] dddd [at] LT',
                thisMonth : '[This month on the] Do',
                nextMonth : '[Next month on the] Do',
                sameElse : 'L'
            }
    });

If the locale doesn't have the values specified, it will fall back to 'sameElse'.
I think this is a cleaner way to go about this task.
It may need more unit tests but I'm tired.

The way I implemented the test custom function is wrong. Should really be checking year and month number, not diff. Will fix later. Doesn't affect actual code.

Fixed my wrong code in the tests.

@maggiepint looks very good, and I like the idea. Will release in next version.

Merged in e3439fa109427733ede4fd01994181a89b2c7ef3

Hi @maggiepint !
                thisMonth : '[This month on the] Do',
                nextMonth : '[Next month on the] Do',

These options do not work. Nor lastMonth.


Slow read operation on file  -- configure SlowFileLatencyUs to change threshold\n

HI all,
i facing strange issue from last 2 day i am getting this messages in my logs every second which was working fine before a week.
[Tue Jan 19 15:33:23 2016] [error] [mod_pagespeed <IP_ADDRESS>-7443 @30421] Slow read operation on file /pspeed_cache/mbhaskar/v2/bhaskar.com/http,3A/,2Fm.bhaskar.com/news-whf/JM-JKR-CN-this-is-the-chanakya-s-30-thought-5226081-PHO.html,3Fseq=24,: 110.455ms; configure SlowFileLatencyUs to change threshold\n
Below is my conf & filters
Version: 14: on
Filters
cw  Collapse Whitespace
dj  Defer Javascript
ea  Elide Attributes
fc  Fallback Rewrite Css
hw  Flushes html
idp Insert DNS Prefetch
ll  Lazyload Images
cj  Move Css Above Scripts
jm  Rewrite External Javascript
jj  Rewrite Inline Javascript
Options
CriticalImagesBeaconEnabled (cibe)  False
EnableCachePurge (euci)             True
EnableRewriting (e)                 1
FileCacheCleanIntervalMs (afcci)    3600000
FileCacheInodeLimit (afcl)          500000
FileCachePath (afcp)                /pspeed_cache/mbhaskar/
FileCacheSizeKb (afc)               209715200
LogDir (ald)                        /var/log/pagespeed
LRUCacheByteLimit (alcb)            16384
LRUCacheKbPerProcess (alcp)         1024
RateLimitBackgroundFetches (rlbf)   False
RewriteLevel (l)                    Pass Through
SslCertDirectory (assld)            /etc/pki/tls/certs
SslCertFile (asslf)                 /etc/pki/tls/cert.pem

Please help me as its increasing my owait

What kind of disk is /pspeed_cache ?  Is it a network disk?
On Tue, Jan 19, 2016 at 8:23 PM, Kripan<EMAIL_ADDRESS>wrote:

Please help me as its increasing my owait
—
Reply to this email directly or view it on GitHub
https://github.com/pagespeed/mod_pagespeed/issues/1247#issuecomment-173081231
.

"110.455ms; configure SlowFileLatencyUs to "
ModPagespeedInPlaceResourceOptimization on
ModPagespeedInPlaceRewriteDeadlineMs 111
thats all, I think. Can you confirm this?

Hi, I experience the same issues: [pagespeed:error]: configure SlowFileLatencyUs to change threshold
Adding this had no positve effect:
ModPagespeedInPlaceResourceOptimization on
ModPagespeedInPlaceRewriteDeadlineMs 100
It seems that this error comes always after this one:
[access_compat:error]  client denied by server configuration: /xmlrpc
.php
I had and still have to block xmlrpc.php because of massive brute force attacks against this file.
However, my system is still slowing down amazingly.
Any ideas how to fix this? Thx!

@RobertoDonPedro at what frequency do you get these messages? (If they are infrequent, there might not be an issue, it's just mod_pagespeed reporting that your disk is slow to respond).
Adding this to your configuration may help save some mod_pagespeed induced disk i/o for the url that is being brute-forced:
ModPageSpeedDisallow /xmlrpc*

Taking a look at the console and raw statistics in the admin pages may give some insights into mod_pagespeed's health:
https://modpagespeed.com/doc/admin

Hi Otto, thx for the quick response.
It appeared in minutes...
This line indeed seems to eliminate the [pagespeed:error] message, but it is not the cause...:-(.
The System still is lousy slow...-(

The logged lines about SlowFileLatencyUs is a symptom of the disk being slow to respond.
The console & statistics pages may be helpful in that they show hit/miss/eviction rates of the caches. Maybe bumping the in-memory caches (lru, shared memory) could do with some more space, and that could take some load off the filesystem: https://modpagespeed.com/doc/system#lru_cache
If that does not help, a more drastic remedy would be to replace mod_pagespeed's stock filesystem-cache with memcached: https://modpagespeed.com/doc/system#memcached
Doing so would reduce mod_pagespeed's disk i/o to almost none (except for large files, and periodic scanning and snapshotting on behalf of some of mod_pagespeed's subsystems).

Just checked the error log again. The pagespeed errors are still there, now for other files than xmlrpc.php:
68.655ms; configure SlowFileLatencyUs to change threshold\n
So this line seems to have no positive impact:
ModPagespeedInPlaceRewriteDeadlineMs 100

ModPagespeedInPlaceRewriteDeadlineMs 100 will not impact the speed of your disk, but it will impact how long mod_pagespeed will wait for optimizations to complete before sending out a response.

Yes, I got this one. But if the access time is just
68.655ms,
shouldn't this directive
ModPagespeedInPlaceRewriteDeadlineMs 100
suppress  the message
68.655ms; configure SlowFileLatencyUs to change threshold\n ?

@RobertoDonPedro
No, you can configure the threshold for logging with ModPagespeedSlowFileLatencyUs (in microseconds)

Oh thanks, quite obvious but I did not see this...
Regarding the performance itself, I run a Google Cloud Virtual Machine of type "1 vCPU, 0,6 GB".
The performance was very good until one week, the only thing I did was upgrading to the latest wordpress version, but I do not think, that there is a relation with this update and the poor performance I do have right now.
Is there something I can optimize with this just 0,6 GB mem micro instance?

@RobertoDonPedro
Could you try if disabling the cache cleaner helps, by setting ModPagespeedFileCacheCleanIntervalMs to a very high value?:
(in 1.12.x you can set it to -1 to disable it: https://modpagespeed.com/doc/system#file_cache)
If that does not help: I'm not sure what headroom you have left in the 0,6GB of memory the server has. But as I understand it your website would benefit from reducing disk i/o.  So see my earlier comment on configuring the caches: https://github.com/pagespeed/mod_pagespeed/issues/1247#issuecomment-274499360
If your in-memory caches are too small, you are bound to have frequent cache lookups that will end up doing disk i/o.
If all else fails you could try to trade in features to reduce cache usage and lookups (and with that potential disk i/o):

maybe try disabling InPlaceResourceOptimization
maybe disable prioritize critical css, and lazyload images, any filters that rely on beaconing.
I am not sure that doing that disabling these will make a noticeable difference, but I'd be curious to hear if it turns out it does.

ModPagespeedFileCacheCleanIntervalMs -1
ends up in
[mod_pagespeed <IP_ADDRESS>-0 @30763] Next scheduled file cache clean time<PHONE_NUMBER>825 is implausibly remote.  Cleaning now.
ModPagespeedFileCacheCleanIntervalMs 10000000
makes it even 2 seconds slower
Regarding  in-memory LRU Cache:
ModPagespeedLRUCacheKbPerProcess     4096
does not make any difference
Funny thing is that completely disabling ModPageSpeed with
ModPagespeed off
does not make any difference, too.

Well, if ModPagespeed off does not make a difference, then I'm not sure there is anything I can do to help you out here.

I'm having the exact same issue:
2017/11/17 14:01:36 [error] 14643#0: [ngx_pagespeed <IP_ADDRESS>-0] Slow ReadFile operation on file /var/ngx_pagespeed_cache/v3/www.mysite.com/http,3A/,2Fwww.mysite.com/photos/tns/tns_1631541.jpg,3F10242015073202,: 331.253ms; configure SlowFileLatencyUs to change threshold
When I turn off Pagespeed module it disappear, any suggestion? I've tried all the suggestions on this thread

Hi @Kripan and @ponchov ! Did you find solutions for them?
I am expiring this issue suddenly since 2 days ago. Suddenly my WP is slow and wp-admin is very very slow.
Here is a sample of my error_log from apache2. I have blocked this ip <IP_ADDRESS>, that's why it gets that message.
[Sun Feb 17 10:14:22.415350 2019] [pagespeed:error] [pid 27392:tid<PHONE_NUMBER>24320] [mod_pagespeed <IP_ADDRESS>-0 @27392] Slow read operation on file /opt/bitnami/apache2/var/cache/mod_pagespeed/rname/ic_YddRYU7ik1Q__FFD5Qku/http,3A/,2Fdsmtours.com/wp-content/uploads/2017/12/brezovice-1-640x463.jpg,40x,40ss_,: 77.296ms; configure SlowFileLatencyUs to change threshold\n [Sun Feb 17 10:14:22.496691 2019] [authz_core:error] [pid 26456:tid<PHONE_NUMBER>07584] [client <IP_ADDRESS>:41560] AH01630: client denied by server configuration: /opt/bitnami/apps/wordpress/htdocs/xmlrpc.php
One question to all: should daemon user own "/opt/bitnami/apache2/var"? And its subfolders as cache?
Please help!!!
May my server be hacked?
Also 2 days ago I noticed that daemon user owned some files in one wp website. It is very strange since I haven't touch it for a long time.


Centralized Logging

When growing the Application we might need some Monitoring about Performance, Failures or Errors. We could potentially implement centralized logging to Azure App Insights or Sentry.
If we do so, we could also implement this to the different Frontends like EddieBot or a Website

Great idea. We will be deploying to a Digital Ocean Kubenertes cluster, I wonder if they offer something or if we can add a plugin the the cluster

Sounds good!

Lets do this next.
I think we should collect some ideas of how we want to Log.

Do we want to use an external monitoring tool?
What do we want to log?
Do we want Log-Files?
Where do we store Log-Files in case we want them?

Lets do this next.
I think we should collect some ideas of how we want to Log.
* Do we want to use an external monitoring tool?

* What do we want to log?

* Do we want Log-Files?

* Where do we store Log-Files in case we want them?

I think we should definitly log every Http-Execption >400

It would be great if we could have a DEBUG=true mode where we log every request
I think we keep it simple for now, can we log to the console, but with a config change then able to log somewhere else?

Which Logformat do we want?
this.logger.log(`${req.method}] ${req.originalUrl}`);

and do we also want to log the response-status code, that is sent back to the client?

Good question, I think the response status code would be useful 👍
Format looks good, is there a missing closing bracket?
- this.logger.log(`${req.method}] ${req.originalUrl}`);
+ this.logger.log(`[${req.method}] ${req.originalUrl}`);

What about the request data? Can we log that too or is it too much data?

Oh I probably made a mistake when typing it in here 😅
I had to lay the logic into a middleware otherwise 401 wouldnt be logged, as Guards are called before interceptors.
The logic can be turned off by settings environment variable DEBUG=false or leaving DEBUG undefined.

I just found a little mistake which I have to fix tomorrow.

Looks great 👍


Disable output

Issue description:
Hi,
when 'disable_output' => true css still loads.
I think the problem is in class-kirki-modules-css.php
line 100
// Allow completely disabling Kirki CSS output.
if ( ( defined( 'KIRKI_NO_OUTPUT' ) && KIRKI_NO_OUTPUT ) || ( isset( $config['disable_output'] ) && true !== $config['disable_output'] ) ) {
	return;
}

true !== $config['disable_output']
should be
true === $config['disable_output']
Version used:
develop branch
Using theme_mods or options?
theme_mods
Code to reproduce the issue (config + field(s))

Just tried that and it doesn't work.
Maybe I'm doing something wrong...

You're right, there was an error on that line. I just pushed a fix for that.
This seems to be working fine:
add_filter( 'kirki/config', function( $config ) {
	$config['disable_output'] = true;
	return $config;
});

As well as adding this line:
if ( ! defined( 'KIRKI_NO_OUTPUT' ) ) {
	define( 'KIRKI_NO_OUTPUT', true );
}

Works !
Thank You


Running catkin_make_isolated --install -j8 errors out on mushr_pf

I have been trying to get the MUSHR car working with the cartogropher to create my first map, but it all fails on the building step. To clarify - I have followed the instructions on the MUSHR website and previously had car working remotely with a joystick. After following instructions for cartogropher I am unable to finish building the whole catkin workspace with catkin_make_isolated --install -j8:
+ cd /home/robot/catkin_ws/src/mushr_pf
+ mkdir -p /home/robot/catkin_ws/install_isolated/lib/python2.7/dist-packages
+ /usr/bin/env PYTHONPATH=/home/robot/catkin_ws/install_isolated/lib/python2.7/dist-packages:/home/robot/catkin_ws/build_isolated/mushr_pf/lib/python2.7/dist-packages:/home/robot/catkin_ws/install_isolated/lib/python2.7/dist-packages:/home/robot/catkin_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages CATKIN_BINARY_DIR=/home/robot/catkin_ws/build_isolated/mushr_pf /usr/bin/python2 /home/robot/catkin_ws/src/mushr_pf/setup.py build --build-base /home/robot/catkin_ws/build_isolated/mushr_pf install --install-layout=deb --prefix=/home/robot/catkin_ws/install_isolated --install-scripts=/home/robot/catkin_ws/install_isolated/bin
Setup args: {'maintainer': u'Schmittle', 'description': u'Particle filter', 'license': 'BSD', 'author': u'Lirui Wang, Joseph Shieh, Chi-Heng Hung, Nansong Yi', 'package_dir': {'': 'src'}, 'maintainer_email'<EMAIL_ADDRESS>'version': '1.0.0', 'packages': ['mushr_pf'], 'name': 'mushr_pf'}
running build
running build_py
error: package directory 'src/mushr_pf' does not exist
CMake Error at catkin_generated/safe_execute_install.cmake:4 (message):

  execute_process(/home/robot/catkin_ws/build_isolated/mushr_pf/catkin_generated/python_distutils_install.sh)
  returned error code
Call Stack (most recent call first):
  cmake_install.cmake:132 (include)

Makefile:73: recipe for target 'install' failed
make: *** [install] Error 1
<== Failed to process package 'mushr_pf':
  Command '['/home/robot/catkin_ws/install_isolated/env.sh', 'make', 'install']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/robot/catkin_ws/build_isolated/mushr_pf && /home/robot/catkin_ws/install_isolated/env.sh make install

I have debugged the setup code, and it seems to be directly related to the values of packages and pacakge_dir variables in setup.py. When I remove those values the command succeeds, but no package is actually installed. What is the best course of action here?

Was mushr_pf building prior to installing cartographer?


FSharp.ProjectSystem.PropertyPages does not work properly

Visual Studio 2017 F# project, Project Property Pages does not work properly.
"Other flags" option and "Prefer 32-bit" checkbox are incorrect values.
Repro steps

Create a F# project.
Open project's property pages.
Open "Build" tab.
Change "Configuration" value to "Debug".
Change "Other flags" textbox or "Prefer 32-bit" checkbox value.
Change "Configuration" value to "Release".

Expected behavior
At 5., "Other flags" and "Prefer 32-bit" are setting for "Debug" configuration. So these controls are reloaded by "Release" configuration. Of course, other settings like "Optimize code" are reloaded.
Actual behavior
"Other flags" and "Prefer 32-bit" values are not reloaded and not updated.
Known workarounds
Change "Solution Configurations" via "Standard" toolbar or "Active solution configuration" via "Configuration Manager" dialog. "Other flags" and "Prefer 32-bit" values will be updated.
Related information

Microsoft Visual Studio Enterprise 2017
Version 15.0.26228.4 D15RTWSVC
Visual F# 4.1   00369-60000-00001-AA519

@sayurin
I just tried this out on my laptop and I see the Other flags and Prefer 32 bit values change when I switch settings.  Is there something I m missing?

Sample.fsproj.txt

Sorry, I missed.
How about this figure?

I think I see the issue now.

Still need more info?

No I can repro the problem.
Thank you for finding this.

This seems to be resolved for the legacy project system. Switching configurations seems to respect whatever was set for either Prefer 32-bit or the Other flags settings in the property pages.


Update point-to-site-vpn-client-cert-mac.md

Microsoft authors of articles need to make updates through the private repository, so the updates can be staged and validated by current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.
It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
 Public repo URL: https://github.com/MicrosoftDocs/{docs-repo}
 Private repo URL: https://github.com/MicrosoftDocs/{docs-repo-pr}
We have closed this pull request. Please resubmit the updates through the private repo. For more information, see the contributor guide.