Trip total driving time is too low

Describe the bug
The displayed total driving time for a trip (below the pie chart) is much too low.  On a recent 7 day long road trip, the displayed driving time was 22 hours, 38 minutes.  The total distance is displayed as 1692 miles, which matches the trip meter in the car.  1692 miles driven in 22 hours, 38 minutes implies an average speed of 75 mph, which is much too high.  The trip page displays an average speed (excluding breaks) of 50.0 mph, which seems much more reasonable for the mix of road types driven. 1692 miles driven at an average speed of 50 mph implies a total driving time of 33.84 hr, which matches my written daily notes.
Expected behavior
Provide an accurate total driving time on the trip display.
How to reproduce it (as minimally and precisely as possible):
Conduct a drive with several segments of varying length, ranging from a few minutes long to over two hours long.  Display those drives on the Trip Dashboard.  Note that the total driving time is unreasonably low, and implies an average speed that is too high.
  Safari 14.1.2
Others:

It looks like data is missing from the drives table, because some of the drives are not terminated and the start_km is sometimes much larger than the previous recorded end_km. The total drive time is calculated from the drives table, so missing data will make this too low. Probably either the car or TeslaMate had connections problems with the Tesla servers.

We did make a few stops in places with no cell service, so that may explain this.  I would have hoped that the car would buffer output when it lost connectivity to the Tesla server, and then got caught up with data upload once connectivity is back.  Do we know how such conditions are handled by Tesla?

From my experience, the data generated when there is no cell service is just discarded (or at least TeslaMate doesn't see it).


Add examples for PanoViewer

Issue
#100

Coverage remained the same at 72.481% when pulling bcaffedd169edc5f4b0a89619d7bff4b370dc739 on video#100 into 7b6b21e89f7656055e537f4c23001de224804f1d on 3.0.0-rc.


Fix Docs for Screenshot Path & Absolute Path Treatment Under Padrino

For #144 and #145.
Should I make the path fix for Sinatra too? It's not a problem under Rails.

Thanks @sshaw


ionic-geofence notification is not working on iOS device/xcode simulator

Hi ,
Ionic-geofence notifications are working in Android platform but not working in iOS platform. Notifications are not working on xcode simulator( ios 10.2) and iPhone 7/7s device . Location service is working in both platforms but notifications are not showing up in ios.

Just checked, and looks like works fine for me. You can check XCode logs while debugging application.


[material-ui][Autocomplete] Non-fixed width Autocomplete resizes on hover

Steps to reproduce
From my testing, it looks like this bug was introduced in v5.15.18, possible from #42176.
Link to live example, v.5.15.18 (bug is present): CodeSandbox
Link to live example, v5.15.17 (no bug): CodeSandbox
Current behavior
On hover, an Autocomplete without a fixed width shrinks in size
Expected behavior
Should behave as before - no resize on hover
Context
Most of the autocompletes we use are of fixed width, but there are a few places where we use multiple autocompletes in a horizontal row and flexGrow to allow them to fill the available space. Fixed widths are not possible in this application. The examples above are very bare-bones examples of how we use them in this context.
Your environment

npx @mui/envinfo
  System:
    OS: macOS 14.0
  Binaries:
    Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
    pnpm: 8.14.3 - ~/Library/pnpm/pnpm
  Browsers:
    Chrome: 125.0.6422.114
    Edge: Not Found
    Safari: 17.0
  npmPackages:
    @emotion/react: 11.11.4 => 11.11.4
    @emotion/styled: 11.11.5 => 11.11.5
    @mui/base:  5.0.0-beta.40
    @mui/core-downloads-tracker:  5.15.18
    @mui/icons-material: 5.15.18 => 5.15.18
    @mui/material: 5.15.18 => 5.15.18
    @mui/private-theming:  5.15.14
    @mui/styled-engine:  5.15.14
    @mui/system:  5.15.15
    @mui/types:  7.2.14
    @mui/utils:  5.15.14
    @mui/x-charts: 7.5.1 => 7.5.1
    @mui/x-data-grid:  7.5.1
    @mui/x-data-grid-pro: 7.5.1 => 7.5.1
    @mui/x-date-pickers: 7.5.1 => 7.5.1
    @mui/x-date-pickers-pro: 7.5.1 => 7.5.1
    @mui/x-license: 7.2.1 => 7.2.1
    @types/react: 18.2.79 => 18.2.79
    react: 18.2.0 => 18.2.0
    react-dom: 18.2.0 => 18.2.0
    typescript: 5.4.5 => 5.4.5

Search keywords: autocomplete, hover

I'm also running into the same issue, also one thing i noticed is that the placeholder vanishes when hovering. Example
Also would be nice if the field had at least the min size of the placeholder, like it does when it is a label, so it wont ellipsis

Duplicate of #42340
It was fixed in #42452, which will be available in the next release.


DO NOT MERGE! Fast Forward stable to 7b726aa4897dc1beed8ae49bbe5628bb466d4223.

This PR will be merged automatically once checks are successful.

This change is

Jenkins job mixer/postsubmit passed

Jenkins job mixer/e2e-suite passed


investigate: can we polyfill node:net#Socket with cloudflare:socket?

We need to investigate how hard is it to build a realistic node:net#Socket polyfill using what we currently have in workerd's cloudflare:socket and nodejs_compat layer.
This came out of a discusstion about https://github.com/brianc/node-postgres/pull/3170 with @petebacondarwin this morning where we are trying to improve our pg specific node:net#Socket polyfill. This made me wonder if a better path wouldn't be to beef up our node:net#Socket polyfill so that things just work.
Looking at https://github.com/brianc/node-postgres/blob/master/packages/pg-cloudflare/src/index.ts it seems that we are essentially creating a bespoke polyfill for node Socket there. So why not upstream this to unenv (or eventually workerd)?
The unenv polyfill doesn't seem terribly complex: https://github.com/unjs/unenv/blob/main/src/runtime/node/net/socket.ts because it simply extends from node:stream#Duplex.
Note: workerd has native implementation of node:stream#Duplex but since this unenv polyfill exports it via a relative import, the unenv polyfill will end up ignoring our implementation. This is something that should be fixed in unenv as part of the hybrid polyfill effort: https://github.com/unjs/unenv/issues/181

We ought to be able to get very close. There will likely be some edge cases or options that we're not able to support, but for the most part it should be doable

Main concerns:

timing of events
low level options
low level buffer sizes

Estimate: 1 week of work

This would be great from the point of view of our idea of shimming Python socket with our socket. If we make the Python socket library work on top of node sockets then we can upstream it, potentially all the way into Emscripten.


implements avrt

Implements avrt
Adds a macro for enum having negative values

With the -gnu targets Rust is able to work standalone without a separate C/C++ toolchain. This means that the only import libraries which are available are either those that Rust bundles, or winapi bundles. In the case of avrt, Rust does not bundle it, therefore winapi must bundle libavrt.a itself. The current way of resolving this is getting libavrt.a from a mingw-w64 installation and putting it in the correct location. See https://github.com/retep998/winapi-rs/tree/master/lib/secur32 for an example of this. However in the near future I will likely be solving this with https://github.com/retep998/winapi-rs/issues/302 instead.

This PR will need to be updated for the winapi 0.3 new world order. https://github.com/retep998/winapi-rs/issues/316

merged in #348


BN's Python plugin breaks in interesting ways if Windows user directory contains non-ASCII characters

Version and Platform (required):

Binary Ninja Version: 3.5.4402-dev Personal (c2f291a7)
OS: Windows
OS Version: 10.0.23506.1000
CPU Architecture: x64

Bug Description:
I just reinstalled Windows after some hardware upgrades. For whatever reason, Windows decided to make my user directory C:\Users\Alex Rønne Petersen instead of C:\Users\alex this time around (I suspect because I made the account locally before connecting it to a Microsoft account). That ø, encoded as UTF-16 (0xf8), seems to be wreaking all kinds of havoc on BN's Python plugin, which tries to decode it as UTF-8.
During startup:
Traceback (most recent call last):
  File "C:\Program Files\Vector35\BinaryNinja\plugins\..\python\binaryninja\scriptingprovider.py", line 414, in _create_instance
    assert self.__class__.instance_class is not None
           ^^^^^^^^^^^^^^
AttributeError: 'PythonScriptingProvider' object has no attribute '__class__'

Trying to install a plugin:
Exception ignored on calling ctypes callback function: <bound method PythonScriptingProvider._install_modules of <binaryninja.scriptingprovider.PythonScriptingProvider object at 0x000001704C50DB50>>
Traceback (most recent call last):
  File "C:\Program Files\Vector35\BinaryNinja\plugins\..\python\binaryninja\scriptingprovider.py", line 1413, in _install_modules
    user_dir = binaryninja.user_directory()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Vector35\BinaryNinja\plugins\..\python\binaryninja\__init__.py", line 213, in user_directory
    return core.BNGetUserDirectory()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Vector35\BinaryNinja\plugins\..\python\binaryninja\_binaryninjacore.py", line 32717, in BNGetUserDirectory
    string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Vector35\BinaryNinja\plugins\..\python\binaryninja\_binaryninjacore.py", line 36, in pyNativeStr
    return arg.decode('utf8')
           ^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8 in position 15: invalid start byte

Steps To Reproduce:

Create a local Windows user account (i.e. not backed by a Microsoft account) containing non-ASCII characters in its name.
Try to use BN from that account.

Expected Behavior:
Things should work.

Related to: https://github.com/Vector35/binaryninja-api/issues/4460

I don't suppose there's a way I can relocate my BN user directory until this is fixed? If not, all that's left are not-very-appealing options for working around this... 🤔

You can set the environment variable BN_USER_DIRECTORY to an alternative path that is writable, which may mitigate this.

Thanks, that mostly works. Update settings seem to break, though:
Error changing update settings: Unable to write to cache (object manifest)
Error changing update settings: Unable to write to cache (object manifest)
Error changing update settings: Unable to write to cache (object manifest)

(This happens when changing to the dev channel.)

That's not surprising, considering the update cache uses a different directory than the normal user directory. I'm not sure there's an easy solution to that right now, but it should only impact the auto updater.

What does that actually mean in terms of my ability to update to the latest dev builds though? E.g. right now I only see the current build I'm on, so it makes me worry that I just might not be able to update at all:

That just looks like you have selected the stable channel instead of dev.

Hmm, is there a changelog for the dev channel anywhere? I can't see that in BN's welcome page either, so I actually have no indication of when there's a new dev build.

The changes are available in the welcome page if you're on the development build. Or you can access it via the API directly:
https://github.com/Vector35/binaryninja-api/blob/dev/python/examples/version_switcher.py can be used to see it

Related to https://github.com/Vector35/binaryninja-api/issues/4460

@alexrp I pushed the fix to dev 3.5.4420 which should be available in a few hours. Please give it a try and see it it works!

@xusheng6 just updated and moved my BN user directory back under C:\Users\Alex Rønne Petersen, and all seems to be working well!


Vuex example

I am not sure how much differences there are compared to vue-grid-layout but you mentioned that it is possible to use with vuex. I need to have layout in store but i am having difficulties figuring out how to use it this way.
Would it be possible to provide also vuex demo? I think it would help documentation aswell.
Thank you so much by the way. Awesome project.

I've made some changes meanwhile and I need to make this project updated. The Vuex part is now more like on DEV branch so state of layouts is taken directly from Vuex (layouts are only props) and events to change size of all elements and positions are queued inside component in my queue mechanism.
I'll try to fix some issues and update everything. After that I'll make demo and I'm planning to post example project with Laravel as well, but I need more free time for this.
If I find time this weekend I will do it. However, I do not promise because I also have a few things to do.
Thanks for your support!

No rush. It is already great work.

Dev branch is making many changes and I'm about to finish this. There is Vuex + Typescript example.


[BUG] [Funimation/Crunchy] This is a issue for both services not able to download in the latest version.

[INFO] Output filename: [Funimation] Deep Insanity THE LOST CHILD - S01E08 [1080p].ts
[INFO] Saving stream to «C:\Program Files\multi-downloader-nx-2.0.9-win64\videos[Funimation] Deep Insanity THE LOST CHILD - S01E08 [1080p].video.ts»...
[INFO] 10 of 713 parts downloaded [1%] (2m02s | 9.3Mb/s)
node:fs:585
handleErrorFromBinding(ctx);
^
Error: EPERM: operation not permitted, open 'C:\Program Files\multi-downloader-nx-2.0.9-win64\videos[Funimation] Deep Insanity THE LOST CHILD - S01E08 [1080p].video.ts'
at Object.openSync (node:fs:585:3)
at Object.openSync (pkg/prelude/bootstrap.js:739:32)
at Object.writeFileSync (node:fs:2153:35)
at hlsDownload.download (C:\snapshot\multi-downloader-nx\node_modules\hls-download\src\hls-download.js:201:20)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
errno: -4048,
syscall: 'open',
code: 'EPERM',
path: 'C:\Program Files\multi-downloader-nx-2.0.9-win64\videos\[Funimation] Deep Insanity THE LOST CHILD - S01E08 [1080p].video.ts'
}
This is the issue I am having on v2.0.9.

It seams to me that you don’t have permission to edit the Programm files.
To do so you need to elevate the shell with administrative permission.
I would otherwise recommend putting the tool on your desktop or so

It works when I run cmd as admin is this fine.


Autoconfigure compiler system includes

We're using clang to build our code. clang has a different set of cxx_builtin_include_directory entries than are included in the default CROSSTOOL file (and these differ from version to version). We need to autodetect these entries in our one-time setup script right now, but it would be nice if Bazel would handle this as part of the normal cc_* rules.
For reference, the code we use for autodetection is at the bottom of  https://github.com/google/kythe/blob/master/setup_bazel.sh .

There is no plan to put that kind of autodetection directly in the cc_* rules but I am working on something similar I will keep you posted when I make significant progress.

We could have our standard CROSSTOOL be generated in compile.sh.

Hi this now exists. See https://groups.google.com/d/msg/bazel-discuss/MSunz2ZUOq0/U5tE7uQLJQAJ


Mosh URL has changed

       <key>Processor</key>
        <string>URLTextSearcher</string>
        <key>Arguments</key>
        <dict>
            <key>url</key>
            <string>https://mosh.org/#getting</string>
            <key>re_pattern</key>
            <string>https://mosh.org/mosh-[0-9,.]\..\..\.pkg</string>

URL is https://mosh.mit.edu/#getting on https://github.com/facebook/Recipes-for-AutoPkg/blob/master/Mosh/mosh.download.recipe
Snippet above has working URL. https://mosh.org/#getting

Fixed in 61fa474d2fdb17964080cd22709b6408b4d7adb1


Build file update for image generation

What type of PR is this?
kind enhancement
What this PR does / why we need it:
This PR update the build scripts to build all kahu components
Which issue(s) this PR fixes:

Fixes #
Test Report Added?:
kind TESTED
Test Report:

Special notes for your reviewer:

Outdated, closing the PR


Load from default path

For now, we can write (load "stdlib.scm") is because we work under this project root. However, users won't always work like that and it's very inconvenience.
To avoid this situation, we have to provide a default place to install these standard libraries.

import           Control.Exception

main :: IO ()
main = testRead 1 "test.txt"

testRead :: Integer -> FilePath -> IO ()
testRead 0 file = do
  f <- readFile file
  print f
testRead times file = (do
  f <- readFile file
  print f) `catch` ((\_ -> testRead (times-1) ("tmp/" ++ file)) :: IOException -> IO ())

Default scheme libs installed path:
import System.FilePath
import System.Directory

installedDir = do home <- getHomeDirectory; return $ home </> ".little-scheme/libs"


Add 2019 refresh of Samjin Multi

Opening here instead of https://github.com/zigpy/zigpy/pull/228 per @Adminiuga's request.
I am not sure precisely what the IasZone cluster is used for here as I've not delved into Zigbee much. Seems like open/close perhaps? It seems to work properly without an additional handler in zigpy#228 above, so I figured there wasn't a need to refactor the IASCluster out of button.py as it seems that's used to make an open/close sensor appear as a button or some such? Might be worth a refactor there eventually as it seems that IASCluster is used for both buttons.
Does this all look correct? Here's the log output for this device refresh:
[0x00ea:1] Discovered endpoint information: <SimpleDescriptor endpoint=1 profile=260 device_type=1026 device_version=0 input_clusters=[0, 1, 3, 32, 1026, 1280, 2821, 64514] output_clusters=[3, 25]>
[0x00ea:1] Manufacturer: Samjin
[0x00ea:1] Model: multi

Seems it's just an added diagnostics cluster in the newer Samjin devices, looking at the button quirk. Note that there is another Samjin multi implementation in the zigpy repo in the file modified by the above linked PR for the 2018 version of this device that does not have the diagnostics cluster, perhaps it should be moved over here into multi.py which is currently empty other than a comment? I feel that should probably be a separate PR if so.
Cheers!
James

@Adminiuga in cases like this where there is a single additional cluster... do you think we should use this format for the additional classes: https://github.com/dmulcahey/zha-device-handlers/blob/ccaedc7e526eb231b9e11d4ca3687c1e05043928/zhaquirks/lutron/lzl4bwhl01remote.py#L87

Sorry for the linter failures here, I don't touch Python much and don't know the usual style guides. :)

Sorry for the linter failures here, I don't touch Python much and don't know the usual style guides. :)

no need to apologize!

As an outsider, that suggestion seems way cleaner, but we'd probably want to port the existing Samjin multi quirk over to this repo for that, correct?

in cases like this where there is a single additional cluster... do you think we should use this format for the additional classes

Hrm, we could. The downside of this approach is the replacement attribute which is less inclusive, eg in the case of multi sensor it would omit the Diagnostic cluster. ATM not using that cluster for anything, but it could provide some insight for troubleshooting.  In other words i'm open to ideas how to handle these slight variations better.

I'll play with some options soon and we can pick one. I'll merge this for now as is.

Thanks David + Alexei! I've already got my branch running in my homeassistant install, so I'll keep an eye out for updates when this goes through the release process. If I see anything weird I'll let you know.


Re-use the vimux pane over sessions

Hi,
First of all, pretty awesome plugin, good integration with a proper shell is something I've always been jealous of Emacs users and this is at least some steps in that direction.
What I'm missing though is the ability to do this:

Start vim
Send some commands via vimux and obtain a new vimux pane
Close vim, leave the vimux pane open
Do some stuff, start vim again
Run more commands via vimux, but instead of vimux creating a new pane, it re-uses the old one.

This would allow to have a kind of "dedicated" tmux pane which acts as REPL. This could be a configurable option such as VimuxUniquePane.
The only problem is that it's kind of hard to access pane's in tmux, but there are two hackish approaches:

Set the pane title to something like VimuxPane and add a check to look if one exists next time vimux is used. Note that the pane title is not set or maintained by tmux, it's the title set by the OSC title setting sequence, so potentially it can be changed by something running in the shell, which is not nice.
Store the vimux pane ID (not index) (which is unique over the whole session according to tmux's docs) somewhere and reuse that.

I think the second approach is much less hackish, but then the pane ID needs to be stored somewhere.
EDIT: I guess viminfo could be used for that? :help viminfo
If you would agree with such a feature I could contribute a patch for this.

Might this issue be addressed by the upcoming contribution in #138?

Closed by #180


Any plans for icasa support?

Hi Bram,
I have a number of icasa modules in use (dimmers and switches). Are there any plans to support them ?
Thanks,
Rien

No, this cannot be realized as we don't know which lamp/appliance is connected to the dimmer/switch in question.
You could however just measure max and min power yourself and use the fixed or linear configuration modes.

Of course we (community) can build some kind of database known power draw of different appliances (as eg. thread in Discussions), example:
https://github.com/bramstroker/homeassistant-powercalc/discussions/330


New maintainer

@keiraville You qualify to be a maintainer here. Thank you for your hard work. Would you like to join?

(cc @keiravillekode - I got your username wrong before sorry!)

Yes, I would be happy to join the D maintainers.

Message ID: @.***>

@keiravillekode Awesome. Thank you!
You're part of the team now. You also get access to the #maintainers channel on Discord if your Exercism and Discord accounts are linked.
You can learn more about being a maintainer here
Thanks so much for your work, and welcome to the team :)


Missing Host header

Describe the bug
Using the default configuration ( { "RequestHeaderOriginalHost": "false" } )for transforms, it seems like the Host header is missing from the outgoing requests.
This is causing issues with some of the upstream services throwing errors for invalid hosts.
If I add the transform of{ "RequestHeaderOriginalHost": "true" } it does correctly set it to the proxy request.
To Reproduce

Run one of the samples or tests that have { "RequestHeaderOriginalHost": "false" }.
After step 6 in HttpProxy inspect the upstreamResponse.RequestMessage.Headers and notice Host is missing.
Further technical details

Include the version of the packages you are using
1.0.0-preview.3.20330.3
The platform (Linux/macOS/Windows)
macOS

HttpClient doesn't populated the Host header in HttpRequestMessage.Headers.Host by default, it's written directly from the Url to the network. The host used in this case would come from the destination server address in your config.
https://github.com/dotnet/runtime/blob/9715a9c2b43a9111e91c7997fc2cb838e5250969/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs#L401-L406
You'd need to capture a Wireshark/Fiddler trace to see the actual request sent to the destination.

Hm, well this will take some digging then as getting TLS decryption in wireshark on mac has been problematic for me and proxyman and fiddler don't capture the request for some reason.
If I add {"Forwarded": ""} it no longer complains that localhost is an invalid host for the service but I will have to see what that does when this is also running deployed.

I suspect this is related to https://github.com/kubernetes/ingress-nginx/issues/2463 and bad configuration on the upstream service. Thanks for the clarification.


ng-table.min.js not created by make develop

After setting up, it looks like some js files are not being generated by the commands run by 'make develop'
Apr 06 19:38:02 ip-10-191-242-184.ec2.internal dockerd[1128]: 2017/04/06 19:38:02 [error] 6#6: *311 open() "/mnt/dist/scripts/ng-table.min.js.map" failed (2: No such file or directory), client: <IP_ADDRESS>,
 server: _, request: "GET /scripts/ng-table.min.js.map HTTP/1.1", host: "dev2.cfssl.sandbox-tmaws.io"
Apr 06 19:38:02 ip-10-191-242-184.ec2.internal dockerd[1128]: <IP_ADDRESS> - - [06/Apr/2017:19:38:02 +0000] "GET /scripts/ng-table.min.js.map HTTP/1.1" 404 170 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv
:52.0) Gecko/20100101 Firefox/52.0" "<IP_ADDRESS>"

What version of node are you running?


No "Run the cleaning process" button

Hello @MathiasReker
Thank you for this module.
And after installation, I can't find the "Run the cleaning process" button, so I can't run it.

Hello @Inovyou06
It's the blue button in the downright corner.

If you don't see it, please show me a screenshot of what you see.


check_and_force_update_vehicles not refreshing data

Hyundai / Kia Connect version: 3.10.1
Python version: 3.9.18
Operating System: Slackware Linux -current

Description
The method check_and_force_update_vehicles is not doing what expected, not refreshing the data (or I don't know how to use it).
I am trying to get an updated status of the car if the last update is over 30 minutes old, but I am getting always the old cached information.
What I Did
I built a small script to get the car status:
vm = VehicleManager(region=1, brand=2, username="xxxxx", password="xxxxx", pin="xxxx")
vm.check_and_refresh_token()
vm.check_and_force_update_vehicles(1800)
vm.update_all_vehicles_with_cached_state()

kona = vm.get_vehicle('xxxxxxxxxxxxxxxxxxxxxxx')

now = datetime.now().astimezone().strftime("%Y-%m-%d %H:%M:%S %z")

print()
print(f"Current time: {now}")
print(f"Last Updated: {kona.last_updated_at}")
print()
print(f"CarId: {kona.id}, last updated on {kona.last_updated_at}")
print(f"Car name ({kona.name}) and VIN ({kona.VIN})")

But the result is not the expected, and clearly it is over 30 minutes since last update (actually, over 90 minutes):
Current time: 2023-10-13 16:45:50 +0100
Last Updated: 2023-10-13 16:12:48+02:00

CarId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, last updated on 2023-10-13 16:12:48+02:00
Car name (KONA) and VIN (vvvvvvvvvvvvvvvvv)

If I try to forcing the refresh without the check, it works:
vm = VehicleManager(region=1, brand=2, username="xxxxx", password="xxxxx", pin="xxxx")
vm.check_and_refresh_token()
vm.force_refresh_all_vehicles_states()
vm.update_all_vehicles_with_cached_state()

kona = vm.get_vehicle('xxxxxxxxxxxxxxxxxxxxxxx')

now = datetime.now().astimezone().strftime("%Y-%m-%d %H:%M:%S %z")

print()
print(f"Current time: {now}")
print(f"Last Updated: {kona.last_updated_at}")
print()
print(f"CarId: {kona.id}, last updated on {kona.last_updated_at}")
print(f"Car name ({kona.name}) and VIN ({kona.VIN})")

Current time: 2023-10-13 16:47:10 +0100
Last Updated: 2023-10-13 17:47:05+02:00

CarId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, last updated on 2023-10-13 17:47:05+02:00
Car name (KONA) and VIN (vvvvvvvvvvvvvvvvv)

I saw at the issue #412 that  check_and_force_update_vehicles doesn't refresh the VM object, that's why I am making a call to update_all_vehicles_with_cached_state after it, but still it is showing the old information.
I may be missing something, but I cannot find what.

Does it work in the mobile app?   If not you may have used the max force calls for the day.   I have heard it may only be 10 a day now.

Not only it works on the phone app, it also works when I use the force refresh without the check.

ok, I wasn't seeing anything in the debugger, so I added some extra debug lines (simple 'prints') to the code:
def check_and_force_update_vehicles(self, force_refresh_interval: int) -> None:
    # Force refresh only if current data is older than the value bassed in seconds.
    # Otherwise runs a cached update.
    started_at_utc: dt = dt.datetime.now(pytz.utc)
    print(f"*** started_at_utc: {started_at_utc}")
    for vehicle_id in self.vehicles.keys():
        vehicle = self.get_vehicle(vehicle_id)
        print(f"*** Vehicle: ({vehicle.id}) / {vehicle.last_updated_at}")
        if vehicle.last_updated_at is not None:
            _LOGGER.debug(
                f"{DOMAIN} - Time differential in seconds: {(started_at_utc - vehicle.last_updated_at).total_seconds()}"  # noqa
            )
            if (
                started_at_utc - vehicle.last_updated_at
            ).total_seconds() > force_refresh_interval:
                print(f"*** Vehicle: ({vehicle.id}) / {vehicle.last_updated_at} - updating")
                self.force_refresh_vehicle_state(vehicle_id)
            else:
                print(f"*** Vehicle: ({vehicle.id}) / {vehicle.last_updated_at} - NOT updating")
                self.update_vehicle_with_cached_state(vehicle_id)
        else:
            print(f"*** Vehicle: ({vehicle.id}) / {vehicle.last_updated_at} - NOT updating due to last_updated not defined")
            self.update_vehicle_with_cached_state(vehicle_id)

And the output was:
*** started_at_utc: 2023-10-15 08:31:18.516215+00:00
*** Vehicle: (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) / None
*** Vehicle: (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) / None - NOT updatingi due to last_updated not defined

So I realized that the update_all_vehicles_with_cached_state needs to be called BEFORE and AFTER check_and_force_update_vehicles

BEFORE, so we 'know' when the last update was.
AFTER, so we update the cache and we have the updated readings.

Ant it worked:
*** started_at_utc: 2023-10-15 08:35:03.113173+00:00
*** Vehicle: (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) / 2023-10-15 08:51:41+02:00
*** Vehicle: (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) / 2023-10-15 08:51:41+02:00 - updating

So, if I understood well the logic of check_and_force_update_vehicles:

if the refresh_interval has passed, it forces an update of the car info in the server side (updates the cache), but we need then to update our object info from the cache.
if the refresh_interval hasn't passed, it just updates the object in the client side with the cached information.

So, since we need to update from cache before using the check_and_update, we have two scenarios:

refresh_interval not passed: three calls to update_all_vehicles_with_cached_state (before we use the check_and_force_update_vehicles method, IN the check_and_force_update_vehicles method, and after we called check_and_force_update_vehicles -this last one, unnecessary, but we have to because we don't know if it will be needed).
refresh_interval not passed: two calls to update_all_vehicles_with_cached_state (before we use the check_and_force_update_vehicles method and after we called check_and_force_update_vehicles .

So, I wonder whether it would more efficient to make a call to  update_all_vehicles_with_cached_state ALWAYS from within check_and_force_update_vehicles. At least we would be saving one of the calls in scenario 1. I would even argue that probably it would be better to also add the initial call to  update_all_vehicles_with_cached_state in the check_and_force_update_vehicles, so it would be transparent to the user.
Thoughts?

I sat to read this a bit more.      I think it is working as designed.  If you don't want a safe check use "force_refresh_all_vehicles_states"

The API covers multiple use cases.   In some situations this library is active for months at a time and not restarted regularly.  As such you don't hit the no data situation.  Seems like in your case you aren't keeping it running long term.   Home assistant is the example of this.

Hi,
I'm not and don't want to run a full refresh every 30 minutes, just wanted to be sure that when I run it and get the data, it is updated, so no older than 30 minutes.
But anyway, ok, thanks for your comments.

Got it.  So if that's the case from your side I would have your code call a get cached call first followed by an if statement to determine if the data is too old for your requirements.
If it is call a force refresh which should update the vehicle object.

So basically implementing the 'check and refresh' in my code instead of using the 'standard' method.
Gotcha.


Cannot find type declarations when imported using "bundler" as module resolution

Hey! I am trying to install the latest version (1.0.0) but it looks like it doesn't work when setting moduleResulution to bundler when using TypeScript:
src/components/Editor/languageCompartment.ts:47:37 - error TS2307: Cannot find module '@exercism/codemirror-lang-wren' or its corresponding type declarations.

47       const { wren } = await import("@exercism/codemirror-lang-wren");
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Any idea how to fix this?

Could be, but I did try to point to the github repo URL from the package.json file and that also didn't seem to work. @dem4ron you've also looked at this. Did you have any more insights?

I think publishing this would solve this issue.

@joshgoebel Do you want to publish the new version?


Nimls: state the correct default root directory in CONFIG.md

Fails style lint, also this can be autogenerated if removed (pulls the lines of code)


Support for GOARCH=mips64

Follow up to #6
Changes since last push:

Rebase to master-embedded
Removed all MIPS-III related "Revert ..." commits
Fixed all errors in all.bash
Removed dependency to n64 module, use go:linkname instead
Implemented cachemaint and irqctl syscalls

Tested with latest n64 module ~(cd8534ed58561a61701f3305f5ea2644b795eb31)~ (c0dccb15ff67961f321c5ebeae119359c9e33521)

PR7 "Fixes from n64 branch" can be probably removed because this one contains the same fixes.

I removed these commits from this branch. I think it's worth having the eventual merge only contain mip64 related changes.
To get mip64 support on the same level as the other archs, support for setprivlevel syscall and noostest need to be added. Anything else that I missed?

To get mips64 support on the same level as the other archs, support for setprivlevel syscall and noostest need to be added. Anything else that I missed?

Hmm... I'm unsure.  It will come out in the wash.
Just merged this PR locally and want to test it against emulated linux/mips64. I did some research and it looks like there is no easy to find any big-endian MIPS64 Linux distro that may run on Qemu. I ended up building the openwrt-malta-be64-vmlinux-initramfs.elf image right now, hoping that it will start with qemu-system-mips64 -cpu R4000. What should I try next if the R4000 will be incompatible with this OpenWRT image?
 Please add it.

Anything else that I missed?

MMIO intrinsics came to my mind but they are just optimization. Should have their own PR.

Go tests pass on linux/mips64.


[firebase_database]: Firebase Database not auto synced after regain connection

Is there an existing issue for this?

[x] I have searched the existing issues.

Which plugins are affected?
Database
Which platforms are affected?
Android
Description
When using Firebase Realtime Database, it is expected that any data changes made while the device is offline will automatically sync to the Firebase server once the connection is reestablished, as what described on https://firebase.google.com/docs/database/flutter/offline-capabilities#section-offline-behavior. However, an issue has been observed where data inserted while offline does not sync immediately upon regaining the internet connection.
Reproducing the issue

Go offline and start inserting data to firebase.
Switch on internet.
The data does not synced to the Firebase server.
Start inserting data B to firebase while online.
Only then data A and data B synced to the Firebase server.

Minimal code as below:

Future<FbModel?> writeData() async {

      FirebaseDatabase database;
      database = FirebaseDatabase.instance;
      database.setPersistenceEnabled(true);

      final databaseRef = database.ref("notifications");
       ....

      databaseRef.child(path/subPath).set(
      {
         'date':DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now()),
         'sync':ServerValue.timestamp
      });

}

Firebase Core version
2.17.0
Flutter Version
3.22.1
Relevant Log Output
No response
Flutter dependencies

Expand Flutter dependencies snippet

Replace this line with the contents of your `flutter pub deps -- --style=compact`.

Additional context and comments
There are no firebase_database listeners attached to the app; the Firebase Database is used solely for sending data.

Hey @haizadvnet, Thank you for reporting this issue, can you confirm if it would sync the item eventually after maybe a minute or so?


SM ReverseProxy: Improve logging and error messaging

Add an ErrorHandler to reverseproxy to properly add meaningful message when SB is not reachable
Add tests to verify that SM proxying proxies all query parameters properly
Improve logging of SM proxying logic

wrong pr


make F1-score usable with keras

Describe the feature and the current behavior/state.
Currently, F1-score cannot be meaningfully used as a metric in keras neural network models, because keras will call F1-score at each batch step at validation, which results in too small values. Therefore, F1-score was removed from keras, see https://github.com/keras-team/keras/issues/5794, where also some quick solution is proposed. Tfa's F1-score exhibits exactly the same problem when used with keras.
Relevant information

Are you willing to contribute it (yes/no):
Are you willing to maintain it going forward? (yes/no):
Is there a relevant academic paper? (if so, where):
Is there already an implementation in another framework? (if so, where):
The right way to do this is to use a custom callback function in a way like this: https://github.com/PhilipMay/mltb/blob/7fce1f77294dccf94f6d4c65b2edd058a654617b/mltb/keras.py. See also https://medium.com/@thongonary/how-to-compute-f1-score-for-each-epoch-in-keras-a1acd17715a2
Now @PhilipMay has removed the code from his repo https://github.com/PhilipMay/mltb and refers to tfa instead. But tfa does not provide a solution!
Was it part of tf.contrib? (if so, where):

Which API type would this fall under (layer, metric, optimizer, etc.)
metric
Who will benefit with this feature?
keras users
Any other info.
Here is some code showing the problem. fbeta_score is 0.6649 in the last epoch, although prediction is 100% accurate. The code needs tfa 0.7.0 with the threshold feature for F1-score.
import numpy as np
import random
import tensorflow_addons as tfa
from keras import models
from keras import layers
threshold = 0.9
random.seed(1)
train_labels = np.array([random.randint(0,1) for iter in range(150000)])
train_data = np.array([[x,0] for x in train_labels])
network = models.Sequential()
network.add(layers.Dense(1, activation='sigmoid', input_shape=(train_data.shape[1],)))
network.compile(optimizer='rmsprop',loss='mae',metrics=['acc',tfa.metrics.FBetaScore(num_classes=2, average="micro", threshold = threshold)])
network.fit(train_data, train_labels, epochs=10, batch_size=128)
predicted_data = network.predict(train_data)
predicted_data_boolean = np.array([0 if x < threshold else 1 for x in predicted_data])
print(all(predicted_data_boolean == train_labels))

Here is the output, exhibiting a too low F1 score (it should be 1.0, because predicted labels are equal to training labels):
Epoch 1/10
150000/150000 [==============================] - 2s 11us/step - loss: 0.2835 - acc: 1.0000 - fbeta_score: 0.0000e+00
Epoch 2/10
150000/150000 [==============================] - 2s 10us/step - loss: 0.1757 - acc: 1.0000 - fbeta_score: 0.0000e+00
Epoch 3/10
150000/150000 [==============================] - 1s 10us/step - loss: 0.1063 - acc: 1.0000 - fbeta_score: 0.0848
Epoch 4/10
150000/150000 [==============================] - 1s 10us/step - loss: 0.0624 - acc: 1.0000 - fbeta_score: 0.4408
Epoch 5/10
150000/150000 [==============================] - 1s 10us/step - loss: 0.0359 - acc: 1.0000 - fbeta_score: 0.6159
Epoch 6/10
150000/150000 [==============================] - 1s 10us/step - loss: 0.0204 - acc: 1.0000 - fbeta_score: 0.7071
Epoch 7/10
150000/150000 [==============================] - 1s 10us/step - loss: 0.0115 - acc: 1.0000 - fbeta_score: 0.7632
Epoch 8/10
150000/150000 [==============================] - 2s 11us/step - loss: 0.0065 - acc: 1.0000 - fbeta_score: 0.8012
Epoch 9/10
150000/150000 [==============================] - 2s 13us/step - loss: 0.0036 - acc: 1.0000 - fbeta_score: 0.8286
Epoch 10/10
150000/150000 [==============================] - 2s 12us/step - loss: 0.0020 - acc: 1.0000 - fbeta_score: 0.8495
True

I just found here that there is a way of directly computing precision, recall and related metrics (but not F1 score, it seems) in keras, without running into the mentioned batch problem, with:
METRICS = [
      keras.metrics.TruePositives(name='tp'),
      keras.metrics.FalsePositives(name='fp'),
      keras.metrics.TrueNegatives(name='tn'),
      keras.metrics.FalseNegatives(name='fn'),
      keras.metrics.BinaryAccuracy(name='accuracy'),
      keras.metrics.Precision(name='precision'),
      keras.metrics.Recall(name='recall'),
      keras.metrics.AUC(name='auc'),
]
model.compile(...,metrics=METRICS)

@tillmo Well, then I should bring the code back to my small tool lib...

I changed my old f1 code to tf.keras. It is back and usable now.

https://github.com/PhilipMay/mltb#module-keras-for-tfkeras
pip Release 0.3: https://pypi.org/project/mltb/

@PhilipMay are there any issues you see with adding your implementation into Addons? We have precedent for function specific imports:
https://github.com/tensorflow/addons/blob/master/tensorflow_addons/callbacks/tqdm_progress_bar.py#L68
And I would prefer a working implementation with external dependencies vs. a buggy one. If there are no other issues would you be willing to submit a PR?

Sure. Will do that the next days.

Thank you @PhilipMay for working on this. Please feel free to send a PR to the tensorflow repo directly and skip the migration step since this is a metric we want in the main repo.

@pavithrasv I will do that. Although I am pretty sure that my implementation will need futher discussion and finetuning.

@pavithrasv, @seanpmorgan and @karmel : started a discussion about the implementation here at TF repo: https://github.com/tensorflow/tensorflow/issues/36799

@PhilipMay I've been busy and couldn't sync up with this thread in a while. I'm following the discussion. Thanks for taking the time to do this.

Ok so I took a closer look at the script demonstrating the bug. I believe there are two small mistakes:

The code snippet uses multi-backend keras instead of tf.keras. TF addons classes were never intended to be used with multi-backend keras. TF addons subclasses a tf.keras.metrics.Metric object, but keras expects a keras.metrics.Metric object. Overall, I don't even know how this doesn't actually throw an error, but well, I guess it's multi-backend keras' fault for not raising an error here. For future readers: don't use multi-backend keras. It's deprecated.
The threashold for the Fbeta score is set to 0.9, while by default, the computed keras accuracy uses a threashold of 0.5, which explains the other discrepency between the accuracy numbers and the F1.

Here is the version of the script with the two issues fixed:
import numpy as np
import random
import tensorflow_addons as tfa
from tensorflow.keras import models
from tensorflow.keras import layers
threshold = 0.5
random.seed(1)
train_labels = np.array([random.randint(0,1) for iter in range(150000)])
train_data = np.array([[x,0] for x in train_labels])
network = models.Sequential()
network.add(layers.Dense(1, activation='sigmoid', input_shape=(train_data.shape[1],)))
network.compile(optimizer='rmsprop',loss='mae',metrics=['acc',tfa.metrics.FBetaScore(num_classes=2, average="micro", threshold=threshold )])
network.fit(train_data, train_labels, epochs=10, batch_size=128)
predicted_data = network.predict(train_data)
predicted_data_boolean = np.array([0 if x < threshold  else 1 for x in predicted_data])
print(all(predicted_data_boolean == train_labels))

Here is the output:
2020-03-15 20:34:44.321274: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-03-15 20:34:44.325879: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-03-15 20:34:44.326328: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55fa6a91c8b0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-03-15 20:34:44.326373: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
Train on 150000 samples
Epoch 1/10
150000/150000 [==============================] - 1s 9us/sample - loss: 0.4313 - acc: 0.8722 - fbeta_score: 0.8848
Epoch 2/10
150000/150000 [==============================] - 1s 8us/sample - loss: 0.2987 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 3/10
150000/150000 [==============================] - 1s 8us/sample - loss: 0.1922 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 4/10
150000/150000 [==============================] - 1s 8us/sample - loss: 0.1175 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 5/10
150000/150000 [==============================] - 1s 8us/sample - loss: 0.0694 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 6/10
150000/150000 [==============================] - 1s 7us/sample - loss: 0.0400 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 7/10
150000/150000 [==============================] - 1s 8us/sample - loss: 0.0228 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 8/10
150000/150000 [==============================] - 1s 8us/sample - loss: 0.0129 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 9/10
150000/150000 [==============================] - 1s 7us/sample - loss: 0.0072 - acc: 1.0000 - fbeta_score: 1.0000
Epoch 10/10
150000/150000 [==============================] - 1s 7us/sample - loss: 0.0041 - acc: 1.0000 - fbeta_score: 1.0000
True

I believe the error we made here is not realizing that @tillmo was talking about multi-backend keras in all his messages (I just realized now). So to answer your question @tillmo:

Indeed F1 and Fbeta of TF addons don't work well with multi-backend keras. They were designed for tf.keras with tensorflow 2.x.
We will not work towards making it work with multi-backend keras because multi-backend keras is deprecated in favor of tf.keras. The keras-team/keras repo will soon be overwritten with the code of tf.keras. See https://github.com/tensorflow/community/blob/master/rfcs/20200205-standalone-keras-repository.md
If you want to use the F1 and Fbeta score of TF Addons, please use tf.keras.
Unless there are some other bugs we're not aware of, our implementation is bug-free and https://github.com/tensorflow/tensorflow/pull/31818 can be merged.

@gabrieldemarmiesse, thanks for the explanation. I was not aware of the difference between multi-backend keras and tf.keras, and the fact that the former is deprecated. Now your link provides some explanation, but only discusses a reorganisation of Keras in relation to Tensorflow. The end of the multi-backend nature is not discussed. Probably it is an implicit consequence? (A quite severe one...)

You can get a bit more info about it at https://keras.io/
The major reason was this: it is not realistic for the keras maintainers to continue to maintain backends which represent only 2% of the users. Furthermore CNTK and Theano are both deprecated.


Packaging pelican-deadlinks for PyPi distribution.

Since Pelican 4.5, plugins can be distributed as independent python package and published to PyPi.
The community is working hard splitting out the https://github.com/getpelican/pelican-plugins mono-repo to the new https://github.com/getpelican/pelican-plugins umbrella organization. I already did some work to migrate the neighbors to its own repo: https://github.com/pelican-plugins/neighbors/pull/2
Can I assist in any capacity to package up the pelican-deadlinks plugin? 🙂

@kdeldycke Hi Kevin! I am really sorry to say that I am no longer interested in development of this plugin. I've written it for my own needs and decided to share it with others without realization that this repository would require maintanance from me (my first open-source contribution).
I also don't want to hold any pelican-plugins' issues because of my plugin. If you think the plugin is worth keeping, I'd be more than happy to make it move from my external repository to just a subfolder. Maybe this way someone decided to improve it and continue development of it.

Thanks @silentlamb for the reply!
I totally understand your current position, maintaining open-source components might ends up being really time-consuming and excruciating at times. And it is totally normal to lost interest after a while. I myself somewhat surprised how some of my (very) old stuff still get an audience.
That being said, thanks a lot for allowing the continuation of that project. The next phase consist in transferring the ownership to the pelican-plugins organization. I still not have enough permissions to help with that.
So the next steps are:

Kindly ask for @justinmayer or @avaris (👋) to temporarily grant you permission for repository transfer (like we did last month with similar-posts plugin)
For you to perform the transfer of the repository. Should be easy: see the red Transfer button at the bottom of your repo settings: https://github.com/silentlamb/pelican-deadlinks/settings
Let the community (me, likely 😅) properly package the plugin to be distributable to PyPi.

Now that I'm thinking of it, @silentlamb , you can add @justinmayer or @avaris as admin to this repository so they can transfer the project to its new pelican-plugins home. What do you think?

you can add @justinmayer or @avaris as admin to this repository so they can transfer the project to its new pelican-plugins home. What do you think?

That would actually be the easiest way to do this. If you would be so kind as to add me (justinmayer) with Admin role, I'd be happy to manage the plugin's relocation to the Pelican Plugins organization. You can do that here: https://github.com/silentlamb/pelican-deadlinks/settings/access
Thank you, Marcin! 💫

Hello!
I couldn't find any admin access persmissions on that page, only an "add collaborator" action so I've send @justinmayer the request.  If that's not enough then I'm happy to help and resolve this issue as finally I got some spare time for github. Just let me know.

Mainly bumping this; but I am super curious to hear if this landed somewhere?

Hi @Jalict. Not yet. But I'd like to rectify that, so I just now temporarily invited @silentlamb to join the Pelican Plugins organization.
@silentlamb: Once you accept that invitation, you should be able to initiate the transfer to the Pelican Plugins organization. Once the transfer is complete, I will set the permissions so you have full maintainer access to the project at its new home. 😊
I'm sorry that GitHub's process for this is a bit cumbersome.
Does that make sense? Please let me know if you have any questions or if you need assistance!

I think the transfer is finished. Thanks!

It does indeed seem like the transfer is complete. Thanks, Marcin!
@kdeldycke: Any chance you'd like to assist with migrating this plugin to resemble what would be generated via the current Cookiecutter template?

Thanks @justinmayer for the update! Will try to integrate it into my broken blog ahah


Kojimaizer sometimes cuts a multi-byte character in half, corrupting it

I discovered this issue in a discord server; one person's username is "🅱🅾I" and Hideo would always greet him with "Hi 🅱 i". What happened to the 🅾?
I suspected it was an issue with emojis being multiple bytes long, but I needed some evidence, so I did some investigation.
I went to the kojimaize.xyz website and pasted 🅱🅾I. It returned Hi 🅱� �i. The space got put right in the middle of where the 🅾 was supposed to be, and the two halves were replaced by � U+FFFD: REPLACEMENT CHARACTER characters.
I tried figuring out what the server was trying to send, but even after looking at the server response as binary, it still showed the U+FFFD character. The character replacement must have been done on the server-side.
I've tried this with other text too. I've only gotten it to work with 4-byte characters, such as "🅱", "𓀄𓀅𓀆" and "🁤🁥🁦".

This may actually be an issue with compromise-syllables upstream, though I will need to test further to reproduce.

Finally fixed. Let me know if you see this behavior still.


A keychain cannot be found

When logging in to a mac that hasnt been logged in to before by that user. I get an error. A keychain cannot be found to store USERNAME@DOMAIN.
I am using the following prefrences
Create keychain = true
Add nomad to keychain = true
Reset keychain if password doesnt match = true
If i remove add nomad to keychain i can login but have no keychain
If i then run
Chmod 777 /Users/USERNAME/Library/Keychains
And enable add nomad to keychain
Then logout and backin. A keychain is created.
The premissions on the keychain folder before was USERNAME:staff rwx--x--x or  711

OS is monterey 12.2.1

If i pecreate the user directory it seems to login ok
Sudo mkdir /Users/USERNAME
Sudo chown USERNAME /Users/USERNAME

Opened issue in wrong repo ive closed and reopened in the correct repo


Don't warn about SemVer

Closing this for now until we have additional clarity around what the real problem is here.


Feature Request: Tap Support

The App works great on AndroidTV.
But I noticed you are also able to install it on your phone, which also works great.
The navigation is just weird because you gotta swipe to nagivate around.
Is there a way to detect the device and have simple touch and swipe commands work?

duplicated #93


Cannot select other organizations in JetBrains Rider 2021.2.2 on Arch Linux with KDE

After having logged on to Azure DevOps, I am unable to switch organizations.
The below dialog has a pop-up dialog, but that pop-up dialog always disappears before I am able to reach the "Show all my organizations" link.

        Icons: Papirus-Dark [Plasma], Papirus-Dark [GTK2/3]
      :osssssss/        osssso+++.       Terminal: yakuake
     /ossssssss/        +ssssooo/-       CPU: AMD Ryzen 7 4800U with Radeon Graphics (16) @ 1.800GHz
   `/ossssso+/:-        -:/+osssso+-     GPU: AMD ATI 03:00.0 Renoir
  `+sso+:-`                 `.-/+oso:    Memory: 8135MiB / 15428MiB
 `++:.                           `-/+/
 .`                                 `/

Same thing on a MacOS Montery 12.0.1

Would it be possible for somebody to move those links outside the stupendous on-mouse-over dialog to the main dialog?


web presentation: clld or light-weight custom JS

The current web-presentation is a very simple JS-only app. It will be easy to further expand the web-app to e.g., allow for translation across alphabets and other things. The advantage is that I can push this myself, while I'd need more guidance and help with a clld application. It also seems that right now we do not serve that much data there, but rather a software-tool, so client-based seems enough to handle the data. On the other hand, having a clld-app would of course add the look-and-feel for users that might make it easier to be used. I am open to either solution, but as minimal requirements, I think we should try to have:

[ ] a lookup system similar to the one we already have, with links to the TranscriptionData, but which additionally allows users to pick one of the available transcription systems before entering data (this will be trivial to implement, I think)
[ ] a translation system that allows users to insert data in one transcription system and then tries to translate it
[ ] some information and references for each transcription system and transcription dataset we use.

I think a custom JS app is very appropriate in this case, because the app can also serve as example of how to integrate CLTS into in-house workflows.

Yes, good point. In some sense, it's not more than a simple JS plugin.


Update readme

Thank you for contributing! Please check the following things before submiting your PR:
Required:

[x] I have read and followed the contributing guidelines

If necessary:

[x] I have updated the README and documentation.
[ ] I have updated the ChangeLog with the changes I have made.

Description
Adds a section about the different Comment options you can use in markdown files.

Closes #

Note: we will close your PR without comment if you do not check the required boxes above and provide ALL requested information.

@Andre601 Is this pr ready for review?

@abhijoshi2k Please review

@abhijoshi2k Can you merge branch updation-time into this branch

The changelog is handled in #41 :)

@Andre601 @PuneetGopinath
Can we remove RECENT_ACTIVITY:end and RECENT_ACTIVITY:last_update_end from the Options table?
It might confuse the users. Also, users don't have to add it themselves. Workflow will take care of it.
I can see that you clearly mentioned this fact. But I still feel we should remove those rows.

The changelog is handled in #41 :)

Ok

@Andre601 @PuneetGopinath
Can we remove RECENT_ACTIVITY:end and RECENT_ACTIVITY:last_update_end from the Options table?
It might confuse the users. Also, users don't have to add it themselves. Workflow will take care of it.
I can see that you clearly mentioned this fact. But I still feel we should remove those rows.

Oh yes, you are right
@Andre601 Can you remove I am little busy.

@Andre601 Can we add a Wiki to show supported placeholders in date format?
Supported formats: https://www.npmjs.com/package/dateformat
We support the masked options as well as named formats

@Andre601 Can we add a Wiki to show supported placeholders in date format?
Supported formats: https://www.npmjs.com/package/dateformat
We support the masked options as well as named formats

You can get raw README of that package on this repo: https://github.com/felixge/node-dateformat

@Andre601 Can we add a Wiki to show supported placeholders in date format?
Supported formats: https://www.npmjs.com/package/dateformat
We support the masked options as well as named formats

Added an example

I was thinking we can add something like this:

I was thinking we can add something like this:

It's available here : https://github.com/felixge/node-dateformat

Not worth to add this info imo if it already exists. I already link to the npm package and that should be enough.
You should better try to fix the conflicts in this PR because I won't touch JS stuff here.

I think we can add

Not worth to add this info imo if it already exists. I already link to the npm package and that should be enough.
You should better try to fix the conflicts in this PR because I won't touch JS stuff here.

Okay. I'll resolve the conflicts.
Should I merge after that?

Not worth to add this info imo if it already exists. I already link to the npm package and that should be enough.
You should better try to fix the conflicts in this PR because I won't touch JS stuff here.

Okay. I'll resolve the conflicts.
Should I merge after that?

Yes

Not worth to add this info imo if it already exists. I already link to the npm package and that should be enough.
You should better try to fix the conflicts in this PR because I won't touch JS stuff here.

Okay. I'll resolve the conflicts.
Should I merge after that?

No, after resolving conflicts you should pull branch updation-time

@abhijoshi2k Better delete node_modules folder.
I messaged you in discord that "Yes, I afterwards saw in GitHub docs that if you use ncc then you should remove node_modules folder.
We are using @vercel/ncc npm package"

Better I itself will delete, because you started working and you are not going to see my comment

Better I itself will delete, because you started working and you are not going to see my comment

The bot added it back

Better I itself will delete, because you started working and you are not going to see my comment

The bot added it back

Yeah, I see I will force push

Better I itself will delete, because you started working and you are not going to see my comment

The bot added it back

Yeah, I see I will force push

I think it's fine if we have node_modules. Only the cache files cause conflicts which can be ignored

Why? GitHub docs itself says to remove it and and node_modules to .gitignore

Idk why, but I don't see any conflicts on local. Should I merge this into updation-time then?

Conflicts seem resolved. Just the action was failing for some reason, but I leave this up to you to figure out

They fail because there is nothing to commit, or no changes happen to the files when you run npm run build and npm run format.


remove legacy deploy classes

@nbashirbello Code @akerekes  pulled over from GPE that we don't need, at least not yet.

lgtm


Use users' credential providers for working with authenticated NuGet sources

Currently, Upgrade-Assistant uses NuGet.config files relevant to the project being upgraded to pull NuGet packages from the right feeds. But if any of the packages come from authenticated feeds, it can fail (with a FatalProtocolException; 401) due to not using available credential providers.

Is there any workaround for this?

Have you tried this?  https://github.com/microsoft/artifacts-credprovider
It's been a year or two since I've looked at it. (I'm not on the .net team, just a person with an idea)

@grayjeremy I have it installed. It doesn't work.

Im also having this issue. Any solutions?

StackTrace:
System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at NuGet.Protocol.HttpSource.<>c__DisplayClass15_0`1.<<GetAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at NuGet.Common.ConcurrencyUtilities.ExecuteWithFileLockedAsync[T](String filePath, Func`2 action, CancellationToken token)
   at NuGet.Common.ConcurrencyUtilities.ExecuteWithFileLockedAsync[T](String filePath, Func`2 action, CancellationToken token)
   at NuGet.Protocol.HttpSource.GetAsync[T](HttpSourceCachedRequest request, Func`2 processAsync, ILogger log, CancellationToken token)
   at NuGet.Protocol.PackageMetadataResourceV3.LoadRegistrationIndexAsync(HttpSource httpSource, Uri registrationUri, String packageId, SourceCacheContext cacheContext, Func`2 processAsync, ILogger log, CancellationToken token)
   at NuGet.Protocol.PackageMetadataResourceV3.GetMetadataAsync(String packageId, Boolean includePrerelease, Boolean includeUnlisted, VersionRange range, SourceCacheContext sourceCacheContext, ILogger log, CancellationToken token)
   at NuGet.Protocol.PackageMetadataResourceV3.GetMetadataAsync(String packageId, Boolean includePrerelease, Boolean includeUnlisted, SourceCacheContext sourceCacheContext, ILogger log, CancellationToken token)
   at Microsoft.DotNet.UpgradeAssistant.MSBuild.PackageLoader.CallWithRetryAsync[T](Func`1 func)
   at Microsoft.DotNet.UpgradeAssistant.MSBuild.PackageLoader.GetLatestVersionAsync(String packageName, Boolean includePreRelease, String[] packageSources, CancellationToken token) in /_/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/PackageLoader.cs:line 113
   at Microsoft.DotNet.UpgradeAssistant.Steps.Packages.Analyzers.UpgradeAssistantReferenceAnalyzer.AnalyzeAsync(IProject project, PackageAnalysisState state, CancellationToken token) in /_/src/steps/Microsoft.DotNet.UpgradeAssistant.Steps.Packages/Analyzers/UpgradeAssistantReferenceAnalyzer.cs:line 50
   at Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep.RunPackageAnalyzersAsync(IUpgradeContext context, CancellationToken token) in /_/src/steps/Microsoft.DotNet.UpgradeAssistant.Steps.Packages/PackageUpdaterStep.cs:line 206
   at Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep.InitializeImplAsync(IUpgradeContext context, CancellationToken token) in /_/src/steps/Microsoft.DotNet.UpgradeAssistant.Steps.Packages/PackageUpdaterStep.cs:line 89

Looks like a bug in the package loader. I'll take a look as soon as I'm done with #367, probably end of this week.

Quick status update - I've managed to reproduce the issue locally and am investigating how we can use authentication plugins to avoid the error.

@mjrousos I'm having trouble seeing how often upgrade-assistant is released or what the meaning of the version number is. How do I know when your commit makes it into a release?
Thanks for the quick fix!

@thomas11 The best place to map a commit to a release is the changelog - https://github.com/dotnet/upgrade-assistant/blob/main/CHANGELOG.md. We will update the release version to changelog once we release. The typical cadence we have currently is once in 2 weeks.

@thomas11 I too am eagerly waiting for this fix! 🤞 they release it soon!
(Thanks for the amazingly quick fix @mjrousos)

This fix is released to nuget.org - https://www.nuget.org/packages/upgrade-assistant/0.2.222702

I tried it but unfortunately I'm seeing no difference. Interactive mode is the default, correct? Do I need to do anything else to make it use the credential providers?
-----------------------------------------------------------------------------------------
- Microsoft .NET Upgrade Assistant v0.2.222702+aa9fd4e57ceef6ec3c09e585da50b2c0ba8986b4 -
-----------------------------------------------------------------------------------------

[16:50:19 INF] MSBuild registered from C:\Program Files\dotnet\sdk\5.0.202\
[16:50:19 INF] Registered 1 extensions:
        Default extension
[16:50:41 INF] Loading upgrade progress file at E:\AzureSearch\.upgrade-assistant
[16:50:41 INF] Initializing upgrade step Back up project
[16:50:41 INF] Initializing upgrade step Convert project file to SDK style
[16:50:41 INF] Initializing upgrade step Clean up NuGet package references
[16:51:02 INF] Marking package Microsoft.Spatial for removal because it appears to be a transitive dependency
[16:51:02 INF] Marking assembly reference System.configuration for removal based on package mapping configuration System.Configuration
[16:51:02 INF] Adding package System.Configuration.ConfigurationManager based on package mapping configuration System.Configuration
[16:51:02 FTL] Unexpected exception analyzing package references for: E:\AzureSearch\Source\Common\Product\Util\Util.csproj
NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://msdata.pkgs.visualstudio.com/bbd6e814-7e33-452b-9cc7-690473457fb8/_packaging/AzureSearch-Aggregated/nuget/v3/index.json.
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized)

Yes, interactive mode should be the default. Can you try running with -v to get more details on the failure?

This is the verbose output. Seems like it doesn't find a credential provider.
Before that there's a bunch of [Warning] Problem loading file in MSBuild workspace Found project reference without a matching metadata reference, not sure if that could have an impact.
[09:15:43 DBG] Analyzing packages with Duplicate reference analyzer
[09:15:44 DBG] Analyzing packages with Transitive reference analyzer
[09:15:44 DBG] Analyzing packages with Package map reference analyzer
[09:15:44 DBG] Looking for package maps in Default extension
[09:15:44 DBG] Loaded 4 package maps from C:\Users\thkapple\.dotnet\tools\.store\upgrade-assistant\0.2.222702\upgrade-assistant\0.2.222702\tools\net5.0\any\PackageMaps\AspNetPackageMap.json
[09:15:44 DBG] Loaded 3 package maps from C:\Users\thkapple\.dotnet\tools\.store\upgrade-assistant\0.2.222702\upgrade-assistant\0.2.222702\tools\net5.0\any\PackageMaps\AssemblyPackageMaps.json
[09:15:44 DBG] Loaded 7 package maps from C:\Users\thkapple\.dotnet\tools\.store\upgrade-assistant\0.2.222702\upgrade-assistant\0.2.222702\tools\net5.0\any\PackageMaps\DefaultPackageMap.json
[09:15:44 DBG] Finished loading package maps from extension Default extension
[09:15:44 DBG] Analyzing packages with Target compatibility reference analyzer
[09:15:44 DBG] NuGet package DynamicIssuerCertificateAuthorization, Version=3.13.1499 not found in package cache
[09:15:45 DBG] Using NuGet credential providers:
[09:15:45 FTL] Unexpected exception analyzing package references for: E:\AzureSearch\Source\Common\Product\Util\Util.csproj
NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://msdata.pkgs.visualstudio.com/bbd6e814-7e33-452b-9cc7-690473457fb8/_packaging/AzureSearch-Aggregated/nuget/v3/index.json.
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).

The warnings about the MSBuild workspace are probably unrelated. I agree that it looks like it's not finding the credential provider. This is what my output looks like:
[14:11:15 DBG] Analyzing packages with Upgrade assistant reference analyzer
[14:11:17 VRB] [NuGet] Using C:\Users\mikerou\.nuget\plugins\netcore\CredentialProvider.Microsoft\CredentialProvider.Microsoft.dll as a credential provider plugin.
[14:11:17 DBG] Using NuGet credential providers: SecurePluginCredentialProvider_C:\Users\mikerou\.nuget\plugins\netcore\CredentialProvider.Microsoft\CredentialProvider.Microsoft.dll

A couple follow-up questions -

What credential provider are you using? Maybe the logic I added to register them isn't finding all relevant providers.

I'll see if I can find more guidance on CredentialService and ICredentialProvider to make sure we're using them correctly.

Do you get any more of that callstack so that I can see where the HttpRequestException is coming from?

Looking at how NuGet.exe gets credential providers, there are a few differences. They have their own handlers for searching for plugin providers and prompting for credentials beyond what's exposed through SecurePluginCredentialProviderBuilder. I can try to replicate those behaviors in Upgrade Assistant.

Here's the full stack trace. I'll look into whether we're doing anything special regarding Nuget credentials.
[09:15:45 FTL] Unexpected exception analyzing package references for: E:\AzureSearch\Source\Common\Product\Util\Util.csproj
NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://msdata.pkgs.visualstudio.com/bbd6e814-7e33-452b-9cc7-690473457fb8/_packaging/AzureSearch-Aggregated/nuget/v3/index.json.
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at NuGet.Protocol.HttpSource.<>c__DisplayClass15_0`1.<<GetAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at NuGet.Common.ConcurrencyUtilities.ExecuteWithFileLockedAsync[T](String filePath, Func`2 action, CancellationToken token)
   at NuGet.Common.ConcurrencyUtilities.ExecuteWithFileLockedAsync[T](String filePath, Func`2 action, CancellationToken token)
   at NuGet.Protocol.HttpSource.GetAsync[T](HttpSourceCachedRequest request, Func`2 processAsync, ILogger log, CancellationToken token)
   at NuGet.Protocol.ServiceIndexResourceV3Provider.GetServiceIndexResourceV3(SourceRepository source, DateTime utcNow, ILogger log, CancellationToken token)
   --- End of inner exception stack trace ---
   at NuGet.Protocol.ServiceIndexResourceV3Provider.GetServiceIndexResourceV3(SourceRepository source, DateTime utcNow, ILogger log, CancellationToken token)
   at NuGet.Protocol.ServiceIndexResourceV3Provider.TryCreate(SourceRepository source, CancellationToken token)
   at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token)
   at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T]()
   at NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResourceProvider.TryCreate(SourceRepository sourceRepository, CancellationToken token)
   at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token)
   at Microsoft.DotNet.UpgradeAssistant.MSBuild.PackageLoader.GetPackageArchiveAsync(NuGetReference packageReference, CancellationToken token) in /_/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/PackageLoader.cs:line 262
   at Microsoft.DotNet.UpgradeAssistant.MSBuild.PackageLoader.DoesPackageSupportTargetFrameworksAsync(NuGetReference packageReference, IEnumerable`1 targetFrameworks, CancellationToken token) in /_/src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/PackageLoader.cs:line 59
   at Microsoft.DotNet.UpgradeAssistant.Steps.Packages.Analyzers.TargetCompatibilityReferenceAnalyzer.AnalyzeAsync(IProject project, PackageAnalysisState state, CancellationToken token) in /_/src/steps/Microsoft.DotNet.UpgradeAssistant.Steps.Packages/Analyzers/TargetCompatibilityReferenceAnalyzer.cs:line 48
   at Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep.RunPackageAnalyzersAsync(IUpgradeContext context, CancellationToken token) in /_/src/steps/Microsoft.DotNet.UpgradeAssistant.Steps.Packages/PackageUpdaterStep.cs:line 206
   at Microsoft.DotNet.UpgradeAssistant.Steps.Packages.PackageUpdaterStep.InitializeImplAsync(IUpgradeContext context, CancellationToken token) in /_/src/steps/Microsoft.DotNet.UpgradeAssistant.Steps.Packages/PackageUpdaterStep.cs:line 89

@mjrousos Could we either reopen this issue or create a new one?

Yep, sounds like there are some scenarios that this still isn't working for. I'll reopen while we investigate.


Enhance log() to display on Success the text (or a summarized version of it) that a rule processed.

This is code for https://github.com/lihaoyi/fastparse/issues/81 "Enhance log() to display on Success the text (or a summarized version of it) that a rule processed."
Source code changes are in Combinators.scala.
Two test files affected, and the change log have been updated for it.

Apologies, 1st time creating a github pull request, didn't realize a 2nd issue would be created.

Dang, didn't try to close it either :/


"workingDirectory" parameter seems to be ignored for DotNetCoreCLI@2  "dotnet restore" task

Question, Bug, or Feature?
Type: Bug
Enter Task Name: DotNetCoreCLI@2
Environment

Server - Azure Pipelines

Issue Description
Running build (for example) with the following configuration specifying a workingDirectory works as expected:
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    workingDirectory: 'src'

but running restore with the following similar configuration fails to find a project / solution file
- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    workingDirectory: 'src'

This fails with:
MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.

It seems as if the restore task is ignoring the workingDirectory parameter
Task logs
[command]"C:\Program Files\dotnet\dotnet.exe" restore --configfile d:\a\1\Nuget\tempNuGet_31.config --verbosity Detailed
MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.
##[error]Error: The process 'C:\Program Files\dotnet\dotnet.exe' failed with exit code 1
##[error]Packages failed to restore
##[section]Finishing: DotNetCoreCLI

Error logs
MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.

Hey @stevewillcock
You're correct, the restore, pack and push commands don't honour workingDirectory input. Which is causing this issue, you can however use projects input to give paths to projects or wildcards.
This seems to be in accordance to this issue, hence referencing: #9789

Ah, thanks for the clarification. It would be good to clear up the documentation around this (unless I missed something already in the docs). If adding / rationalising these features takes a while then documentation would prevent wasted time wondering why things didn't work :)
Thanks!

I am currently seeing the same behavior for build command.
The value of workingDirectory is being ignored and default back to the value of System.DefaultWorkingDirectory.
This is critical with the introduction of multi-checkout where we have sources in multiple path and projects needs to remain a generic wildcard (like **/*) in order to go through the list of checked-out repositories.
The only solution I currently see is to move away from the DotNetCoreCLI task and rely only on some PowerShell script with the native .Net Core CLI...

Is there any ETA on this?

...?

@ggirard07 if I understand correctly, you want to build all projects (**/*.csproj) in the sub-tree of a particular directory. For that you can use an appropriate minimatch pattern which will match all csproj files under a directory. I believe something like "///*.csproj"

The minimatch pattern is not adequate when order matters. Which in case of projects can be resolved if they belong to the same solution (in which case - why build projects and not the solution)?
However, in my case I need to build solutions and there is no way to specify order with minimatch. Using it produces wrong order, actually.

That's interesting @MarkKharitonov. I am afraid this scenario is something the task might not been thought for.
Can you not have a number of tasks one after another in right order? Or do you have huge number of solutions?

Just 6. I am using a YAML template which is given an array of solutions and it iterates over them invoking the task for each solution individually. While doing it we need to pass workingDirectory, which is not respected. So, we modify the path given to the projects parameter. Which in turn fails if the path starts with a dot. But this is another issue - https://github.com/microsoft/azure-pipelines-tasks/issues/12717

@bishal-pdMSFT The step is part of a template we use for every repo checked-out with the multi-repo checkout principle.
In that case we cannot hard-code path relative to System.DefaultWorkingDirectory because we need each step in the template to be contextualized to the current repo root, which is $(Agent.BuildDirectory)/{repo-alias}.
The easiest solution in that case is to pass the current repo path as a parameter to the template, then use this parameter either to populate the workspaceDirectory anywhere it is supported, which apparently is not the case of the DotNetCoreCLI task.

Is it that hard to fix?

Bump.
Hit this on a multi repository pipeline for pack. Any plans to fix it any time soon?

Bump.
Hit this on a multi repository pipeline for pack. Any plans to fix it any time soon?

Here is my workaround if it can help anyone, while this issue gets fixed. I'm using a variable which contains the relative path to the project/solution I want to build, e.g. src/service1, src/service2
- task: DotNetCoreCLI@2
      displayName: 'dotnet restore'
      inputs:
        command: 'restore'
        feedsToUse: 'select'
        projects: '$(codeBase)/**/*.csproj'
        includeNuGetOrg: true

- task: DotNetCoreCLI@2
      displayName: "Test"
      inputs:
        command: test
        projects: '$(codeBase)/**/*tests/*.csproj'
        arguments: '--configuration $(BuildConfiguration)'

quack

For what it's worth, this burned me too.

If it is not possible to fix it can we at least get a warning that we use parameter which is not supported for specific commands?

Is there any update on this ticket? If the workingDirectory is not going to be honoured, then the documentation available should at least be updated to specify: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops
workingDirectoryWorking Directory | Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory)

Seems to also be ignore when running custom commands.
I'm trying to run the swagger cli tool, and it needs to be in the correct folder to work correctly.

Try adding publishWebProjects: false. Otherwise it is looking for a web project and building that instead of the path you're trying to configure

That's interesting @MarkKharitonov. I am afraid this scenario is something the task might not been thought for. Can you not have a number of tasks one after another in right order? Or do you have huge number of solutions?

another scenario :/ i'm running a ps1 script for a node project. can that work in any way with projects ?

Issue is still relevant.

If you specify workingDirectory and projects, workingDirectory is ignored.
- task: DotNetCoreCLI@2
  displayName: Build projects
  inputs:
    command: build
    projects: src/**/*.csproj
    arguments: '-p:Version=$(Build.BuildNumber) --configuration $(BuildConfiguration) --output $(Build.BinariesDirectory)'
    workingDirectory: ${{ parameters.workingDirectory }}

My scenario was creating a pipeline template that assumes a specific and consistent directory structure.

Yawn, yet another task where the custom option actually works a lot better than the build-in commands..
The following works for restore, build, test and will automatically restore/build/test any projects in $(some-directory) as you would expect (and how the cli behaves).
- task: DotNetCoreCLI@2
  displayName: 'DotNet Restore'
  inputs:
    command: custom
    custom: 'restore'
    workingDirectory: $(some-directory)

publish command is also suffering, please help
  - task: DotNetCoreCLI@2
    displayName: "Publish project"
    inputs:
      command: "publish"
      workingDirectory: $(Build.SourcesDirectory)/identity
      arguments: "-c $(buildConfiguration)"
      outputDir: $(Build.ArtifactStagingDirectory)

This is still an issue and should still be open

It's still a problem.


ok

[Enter feedback here]

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

ID: 260c283c-f5e9-e00d-19ec-ee9df18335e5
Version Independent ID: d1525408-36d3-6575-2331-a16379744a59
Content: Create a bot for Telegram - Bot Service
Content Source: articles/bot-service-channel-connect-telegram.md
Service: bot-service
GitHub Login: @RobStand
Microsoft Alias: kamrani

This looks like a mis-click. Please provide more information if you found a documentation issue in this topic.


twitchdownloader: Fix shortcuts, add persist

Fixes this issue I encountered during the installation process of the app:

[x] I have read the Contributing Guide.

/verify


Add tests for backend/

Which issue this PR addresses:
Further refactoring as a part of https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/6118707
What this PR does / why we need it:
This makes the openshiftcluster Manager an Interface and adds direct tests for backend/.
Test plan for issue:
It is tests :D
Is there any documentation that needs to be updated for this PR?
N/A

/azp run e2e

/azp run ci


Help Executing Notebooks: multiple undefined references/imports

Hi, has anyone besides @dome272  succeeded in running the notebooks?  There are several references that I can't find so the code won't execute for me.
The Stage B notebook has from modules_prev import Paella which is undefined, as well as set_verbosity_error() which is undefined,
...as well as several imports that aren't included in references.txt or anywhere else but one can find them on PyPI.
Though I haven't been able to find from diffnext_v2 import DiffNeXt, EfficientNetEncoder, Prior.
The Stage C notebook has from modules import Paella, sample, EfficientNetEncoder, Prior. Again not seeing any modules...  from diffuzz import Diffuzz... etc.
Thanks.

Also the encode method defined in the Stage B notebook violates the definition in vqgan which has no such kwarg:
      1 def encode(x):
----> 2     return vqmodel.encode(x, quantize=True)[2]

TypeError: VQModel.encode() got an unexpected keyword argument 'quantize'


Support all entities untokenized in the sentence

If an entity is not extracted by the tokenizer, try to look it up
with its tokens exactly in the sentence. Previously we did so
for hashtags and usernames, now we add the missing entities:
path names, urls, email address, phone numbers.
This fix is particularly important for path names because strings
can no longer be used as path names, and path names are typically
not identifiable by preprocessing.

I noticed this while updating the annotations of the staging devices in thingpedia-common-devices, in order to build a better OOD dataset.

Pull Request Test Coverage Report for Build 1410

4 of 9 (44.44%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 77.587%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/entity-retriever.ts
4
9
44.44%

Totals

Change from base Build 1407:
-0.02%

Covered Lines:
10211

Relevant Lines:
12652

💛  - Coveralls


iltorb inclusion fails builds on environments without GCC/G++ compilers

The recent inclusion of the dependency iltorb fails our travis builds.
We have included this as dependency
"grunt-contrib-compress": "^1.1.1",

Our builds suddenly went from successful to failed.
This is because of the sudden inclusion of
><EMAIL_ADDRESS>install /home/travis/build/KC3Kai/KC3Kai/node_modules/iltorb
> node-gyp rebuild

in the build (Node 6) without the GCC/G++ Addons/Compilers. This made the node-gyp rebuild fail.
If anyone else is reading this for the same situation, and unable to figure out a fix / or just want to fix it quick, just stick your dependency to a lower version. In our case, just removed ^. Making it look like this:
"grunt-contrib-compress": "1.1.1",

This will pull a specific version of grunt-contrib-compress that doesnt have iltorb. If you know of a higher version without iltorb please let me know as well. The grunt-contrib-compress developers should know which version.
My general recommendation, is just bump the version to 2.x.x since there's really a backward incompatibility. Though you guys are still free to number it whichever, but I'd just wanna let you know in case you want to announce it / give notice to others.
Edit; to those who want the true fix while getting the latest version of grunt-contrib-compress, follow travis guide for including GCC/G++ compilers

Same issue. Pegged to<EMAIL_ADDRESS>for now

@XhmikosR should we pull the brotli compressor or should we make the dep optional?

Fails also under Cygwin. Even after windows-build-tools installed.

@vladikoff: this is unfortunate :/
I expected that it would use the pre-built binaries when the system lacks of the compiler... apparently it doesn't and CI environments have the needed compiler.
How do you mean make it optional?

Or you just mean https://docs.npmjs.com/files/package.json#optionaldependencies?

Can someone try the iltorb-optional branch?
"grunt-contrib-compress": "https://github.com/gruntjs/grunt-contrib-compress.git#iltorb-optional"`?

Haven't tried yet, but the patch looks OK. Awaiting for the release.
Thank you!

BTW, under Windows / Cygwin, they do not want a C++. They want to install a "windows tools" package. However, even after it's installed successfully, compilation fails.
(I am a multi-OS guy. Need to have everything working on all of them :) )

Well, I'm on Windows with VS2015 installed and works fine. The same it did for our Windows CI (AppVeyor).

Windows / Cygwin


Baud rate above 115200

I use your library in my application that works with ELM327. The problem is that you can not get it to work at a speed of more than 115200. On Windows, this device works fine when setting a speed of 500,000. I tried elm327 with FTDI, PL2303, CP210С. Is it possible to adjust for high speed?

@Vlvic 500000 is not a standard baud rate. Right now only standard baud rates are supported

Thanks for the answer!
And what is the maximum speed you can achieve using your library?

@Vlvic Try this 921600

Thank you for your job!! It's works!


BGP-LS RFC7752 & RFC9086

implement bgp link state
rfc7752
rfc9086

Thank you @mxyns , I think finally reaching good enough to merge. Few things left:

Make sure to rebase on latest main
Implementing of RFC7752 Section 6.2.2 to handle the errors in the BGP speaker, this will fix the build error
Running the fuzzers, to make sure we didn't introduct faults: cargo +nightly fuzz run fuzz-bgp-pkt and  cargo +nightly fuzz run fuzz-bgp-pkt-serialize. cargo-fuzz is needed and I can run it for it you if need.

@ahassany looks okay now? :)


Producer/Consumer same VM on 4G ram

Hi Ric,
I know this is not the right forum to ask this, but i'm going to ask anyway. I spawn 3 consumers I notice that I can only consume 46 message and acknowledge the message at peak. the PHP code that your client is calling is virtually doing nothing, I just confirm the message exit(0); and nothing else in there.
prefetch count was set to 3,5,10,20 and nothing seems to work for me :) I can stress the queue at ease but consuming is really slow.
Thanks in advance

Do you have some stats of other consumers (pure PHP consumers maybe?) to compare with? We don't have that high loads on our consumers so I don't recognise the problem (but I don't deny it exists).

HI Richard,
Thanks for the reply, I can easily reproduce it at will send the stats in a short while.
Best

On Mon, 10/5/15, Richard van den Brand<EMAIL_ADDRESS>wrote:
Subject: Re: [rabbitmq-cli-consumer] Producer/Consumer same VM on 4G ram (#21)
To: "ricbra/rabbitmq-cli-consumer"<EMAIL_ADDRESS>Cc: "hellracer"<EMAIL_ADDRESS>Date: Monday, October 5, 2015, 2:58 PM
Do you have some stats of other
consumers (pure PHP consumers maybe?) to compare with? We
don't have that high loads on our consumers so I
don't recognise the problem (but I don't deny it
exists).
—
Reply to this email directly or view
it on GitHub.

Cool, thanks!

Hi Ric,
Please see below stats as requested, please see below PHP code as well.

basically the php code is just like this
#!/usr/bin/env php56

And do you also have stats on the same VM with pure PHP consumer? So without my client?


chore: add upgrading guide

Description
Adds an upgrading guide from v1 to v2.

@pieh I'm going to leave that to whoever is going to handle the release of the new adapters. I just wanted to get the content out there. Most likely it should go in the main docs


Swiper will not work correctly inside a ScrollView on Android

Images will not animate if you're swiping vertically at the same time you're swiping horizontally. It working for iOS, but not for android

Good work! :+1:


Fix links in TOC

".md" was missing in some of the TOC links

2 approvals, merging, thank you @cboulanger !


added gitignore and added auth.js

cool beans

Pull request to main by mistake. Resubmitting to staging.


install with google mfa auth

hello ,
I can install this script and work.
but also I need feature with google mfa auth
how can I do ?

This is not a feature implemented into the script, sorry.


[WIP] zulip_tools: Use mkstemp inplace of insecure mktemp method.

See CodeQL Rule - py/insecure-temporary-file
Functions that create temporary file names (such as tempfile.mktemp and
os.tempnam) are fundamentally insecure, as they do not ensure exclusive
access to a file with the temporary name they return. The file name
returned by these functions is guaranteed to be unique on creation but
the file must be opened in a separate operation. There is no guarantee
that the creation and open operations will happen atomically. This
provides an opportunity for an attacker to interfere with the file
before it is opened.
Note that mktemp has been deprecated since Python 2.3.

This is not ready for review.

@andersk can you please help me out with this. Pasting the error log for your convenience:
Jul 09 09:33:59 Using cached node modules from /srv/zulip-npm-cache/affcbee088d6eab7a73c259381166b772374d018/node_modules

Jul 09 09:33:59 + sudo -- tools/setup/install-shellcheck

Jul 09 09:33:59 sudo: setrlimit(RLIMIT_CORE): Operation not permitted

Jul 09 09:33:59 2020-07-09 09:33:59 URL:https://github-production-release-asset-2e65be.s3.amazonaws.com/6731432/1e1bab80-76a6-11ea-8aac-54b81eab6895?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200709%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200709T093154Z&X-Amz-Expires=300&X-Amz-Signature=dbc96831ba4b36225a8a81aa52f1abd1be36d75aedbd1cb8f9795ae05d155306&X-Amz-SignedHeaders=host&actor_id=0&repo_id=6731432&response-content-disposition=attachment%3B%20filename%3Dshellcheck-v0.7.1.linux.x86_64.tar.xz&response-content-type=application%2Foctet-stream [1443836/1443836] -> "shellcheck-v0.7.1.linux.x86_64.tar.xz" [1]

Jul 09 09:33:59 shellcheck-v0.7.1.linux.x86_64.tar.xz: OK

Jul 09 09:33:59 + sudo -- tools/setup/install-semgrep

Jul 09 09:33:59 sudo: setrlimit(RLIMIT_CORE): Operation not permitted

Jul 09 09:34:00 2020-07-09 09:34:00 URL:https://github-production-release-asset-2e65be.s3.amazonaws.com/227803815/4aa0e780-ab6f-11ea-95d2-7c9a74f2ad3f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200709%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200709T093154Z&X-Amz-Expires=300&X-Amz-Signature=415d2926090fbbf32795c0646749e369cb8f80afc2566680cae615e6f0af43f2&X-Amz-SignedHeaders=host&actor_id=0&repo_id=227803815&response-content-disposition=attachment%3B%20filename%3Dsemgrep-v0.10.1-ubuntu-16.04.tgz&response-content-type=application%2Foctet-stream [18919795/18919795] -> "semgrep-v0.10.1-ubuntu-16.04.tgz" [1]

Jul 09 09:34:00 semgrep-v0.10.1-ubuntu-16.04.tgz: OK

Jul 09 09:34:00 Using cached Python venv from /srv/zulip-venv-cache/5ee9b5764cdd2179ab84ab94293b7a766aeeab36/zulip-thumbor-venv

Jul 09 09:34:00 + sudo -- ln -nsf /srv/zulip-venv-cache/5ee9b5764cdd2179ab84ab94293b7a766aeeab36/zulip-thumbor-venv /srv/zulip-thumbor-venv

Jul 09 09:34:00 sudo: setrlimit(RLIMIT_CORE): Operation not permitted

Jul 09 09:34:00 Using cached Python venv from /srv/zulip-venv-cache/a837ee45103f7e062bed43af4b6312286ad8c5f8/zulip-py3-venv

Jul 09 09:34:00 + sudo -- ln -nsf /srv/zulip-venv-cache/a837ee45103f7e062bed43af4b6312286ad8c5f8/zulip-py3-venv /srv/zulip-py3-venv

Jul 09 09:34:00 sudo: setrlimit(RLIMIT_CORE): Operation not permitted

The use of mktemp here was intentional and is not a security problem.
The security problems with mktemp happen when you open the resulting filename (without O_EXCL) in a publicly writable directory, because then someone else might have predicted the filename and created or symlinked or hardlinked something there between the mktemp and the open, causing you to write to a file you didn’t expect.
Here we don’t open the resulting filename, we symlink to it. symlink will refuse to clobber an existing file, and we handle the error that arises from this case. This is the normal way to atomically create a symlink.
We should still replace mktemp because it’s deprecated, but we can’t replace it with a function that creates the temporary file. Although that’s exactly what you need to secure the open use case, it entirely breaks this symlink use case. For this we need to build a random filename ourselves, with something like
os.path.join(
    os.path.dirname(dst),
    f".{os.path.basename(dst)}.{random.randrange(1 << 40):010x}",
)

Closing in favor of #15736.

Thanks for the explaining!


New error with dart 2.12

I have been using your xml package to easily parse an xml file.    But after upgrading my project to 2.12 with the latest xml software I get  a typing error,  at the beginning of the translation
throwing an exception up to my code.
At my code: var doc = xml.XmlDocument.parse(input);
to  the XML parser
final parser = documentParserCache[mapping];
eventually to petit parser
_resolve(Reference(start ?? this.start, arguments)) as Parser;
and then  eventually to an exception on equal check
other.function  is a   f  bound document  ()    tested against function
in reference.dart at line 19:
bool operator ==(Object other) {
if (other is Reference) {
if (other.function != function ||
{}other.function._equals is not a function
TypeError: other.function._equals is not a function
at reference$.Reference.new._equals (http://localhost:53322/packages/petitparser/src/definition/grammar.sound.ddc.js:81:29)
at Object.equals (http://localhost:53322/packages/build_web_compilers/src/dev_compiler/dart_sdk.sound.js:5074:47)
at LinkedMap.new._get (http://localhost:53322/packages/build_web_compilers/src/dev_compiler/dart_sdk.sound.js:21993:24)
at _dereference (http://localhost:53322/packages/petitparser/src/definition/grammar.sound.ddc.js:177:36)
at parser$.XmlParserDefinition.new.[_resolve] (http://localhost:53322/packages/petitparser/src/definition/grammar.sound.ddc.js:208:30)
at parser$.XmlParserDefinition.new.build (http://localhost:53322/packages/petitparser/src/definition/grammar.sound.ddc.js:172:49)
at XmlCache.new. (http://localhost:53322/packages/xml/src/xml/entities/default_mapping.sound.ddc.js:2309:174)
at XmlCache.new._get (http://localhost:53322/packages/xml/src/xml/entities/default_mapping.sound.ddc.js:1915:52)
at Function.parse (http://localhost:53322/packages/xml/src/xml/entities/default_mapping.sound.ddc.js:2242:49)
at Object.translateXML (http://localhost:53322/drpond.sound.ddc.js:39699:38)
at http://localhost:53322/drpond.sound.ddc.js:38502:22
at Object._checkAndCall (http://localhost:53322/packages/build_web_compilers/src/dev_compiler/dart_sdk.sound.js:4869:16)
at Object.dcall (http://localhost:53322/packages/build_web_compilers/src/dev_compiler/dart_sdk.sound.js:4874:17)
at FileReader. (http://localhost:53322/packages/build_web_compilers/src/dev_compiler/dart_sdk.sound.js:97033:100)

I encountered that problem a couple of days ago as well and reported it here: https://github.com/dart-lang/webdev/issues/1291. The workaround I found was to use a --release build, instead of the --debug build.
Please follow up on the mentioned bug, to show that this is not only me that is affected 😉

This is almost certainly caused by https://github.com/dart-lang/sdk/issues/45762 - there's some bug in DDC. flutter_svg is also suffering from this problem fr the same reasons.

This has been fixed in Dart and will be cherry picked into the current Dart beta for the next Dart stable. It should also be fixed in the next Flutter stable release.

I can no longer reproduce the problem with the latest dev version of Dart (2.14.0-32.0.dev (dev) (Thu Apr 22 20:17:19 2021 -0700) on "macos_x64"). Thank you!