Support receiving data in utf8 from storage / driver

Today, all of our code base assumes base64:
export interface IChannelStorageService {
    /**
     * Reads the object contained at the given path. Returns a base64 string representation for the object.
     */
    read(path: string): Promise<string>;

This means that server (SPO) receives our utf8 data, encodes it in base64, and sends over in base64, and client decodes.
This has 3 types of inefficiencies:

server spends time encoding base64
network traffic is larger
clients spends time decoding base64.

All of that can be addressed, as IBlob we receive already has encoding, so we can support utf8, and server can start sending utf8 after that.
All places where we call fromBase64ToUtf8() would need to be examined.

Ok, some more digging:
I believe Scriptor puts text into Sequence as is, i.e. no encoding. We have tested Chinese characters and a bunch of others. When summarizing, Merge Tree does not do anything special with text
I see that summaries (via convertToSummaryTree) always put Unicode string (i.e. even if base64 payload was provided by DDS, we decode it).
And looking at ODSP’s uploadSummaryWithContext() implementation, we just write it out as is, no encoding, nothing.
"Content-Type" = "application/json" header is supplied there.
And glancing through https://www.ietf.org/rfc/rfc4627.txt, it sounds like protocol guarantees correct handling of Unicode and auto-detection of encoding (utf-8 / 16 / 32) in such case.
Given that summaries have no encoding, it means that reading back (snapshot) can be symmetrical and not require returning base 64. Users that deal with (let's say) Uint8Array, would need to encode it in some other format (given json does not support that type or any binary type), and client can decode it as well. I.e. maybe it's base64, maybe it's something else, but none of protocols / APIs should care.
Blob API (readBlob, writeBlob) should be binary and they are already (Uint8Array).
The only other thing left here is crossing APIs, i.e. creating blobs via snapshot, and reading then not via read() but via readBlob(). This should be banned, as protocol does not describe how strings are encoded (utf-8 or utf-16 or utf-32), so getting binary data can give you different results depending on implementation.
Note that at storage level, we can have single API for reading blobs. But depending on what client is asking (i.e. calls read() or readBlob()), proper conversion to string (i.e. auto-detection of encoding per rfc4627) is required in the driver when creating a string.
@tanviraumi , @wes-carlson - can you please take a look?

Here is plan:

Change OdspDocumentStorageService.read() to respect encoding on IBlob. I.e. if it's base64, keep doing what it does, if it's utf-8, encode it using base64, to keep current contract of read() API the same - it always returns base64 string.
Add IDocumentStorageService.readString() API: It should return decoded (from base64) string.

It can call IDocumentStorageService.read() for starters, and decode returned string from base64 using fromBase64ToUtf8().
But better if we refactor code such that it does not do any unneeded computation. I.e. if blob came in as base64, it need to decode it, but if it came as utf-8, it does nothing, i.e. pass-through.

Wait at least one release. I.e. previous item should be available in release/0.x.y branch when next items can be completed.
All code in runtime that calls IDocumentStorageService.read() and later into fromBase64ToUtf8() is changed to call into readString() API.
Wait at least one release. I.e. previous item should be available in release/0.x.y branch when next items can be completed.
Remove IDocumentStorageService.read()

Note - we should merge changes as they become available. I.e. # 1 & # 2 are independent and need different type of seasoning - first change needs to reach Bohemia and ship to prod before SPO can make changes on their side. Second needs to be released before we can actually start depending on it in runtime due to versioning - all clients would need to consume this change before we can ship changes in runtime (later points).
Once # 1 ships to production, we need to notify SPO folks about it such that they can stop returning base64 encoded streams.

@chensixx - FYI - please take a look at this issue, ask questions, etc. - per @curtisman, this work is coming your way for November.
Please assign it to yourself, github gives me troubles here.

So the work item of changing r11s driver to return "plain string" is coupled with work item 2?

Yes, clarified # 2 in place.

I'm not sure if I fully followed the thread but some context...
A lot of the confusion comes from GitHub's REST API which our driver interfaces are based on. When posting data there is an encoding field which can be either "utf-8" or "base64" https://developer.github.com/v3/git/blobs/#create-a-blob. This is somewhat of a poorly named field though. The "base64" definition is correct but in the case of "utf-8" it really just means "when you write this to disk store it as utf-8." In memory I think JavaScript strings are UTF-16. And JSON can be 8/16/32... So the API really is just trying to differentiate between a string or a binary encoded representation. And if it's a string then the encoding specifies how to serialize it.
Once stored the assumption is everything is binary with no stored content types.
Although the return type of GitHub's REST API provides the encoding option as well it's always base64. This is because there's no content type so they don't know the format the data is in.
Given that it shows up as a property in a JSON object the binary data needs to be base64 (or other) encoded since it may have invalid character values for the sent encoding (most likely utf-8). If you were sending the data directly over HTTP you could not encode it at all and just send the raw binary data.
I always liked the idea of moving to a place where all driver APIs only took a Buffer or better yet a Stream. It gives the higher level layers more flexibility in what/how they're storing/retrieving things. And keeps what the service needs to send and do to a minimum. Also minimizes what the driver needs to implement. Helpers to return a value as JSON, a string, binary seem like they could be layered on top of this (the fetch api does this).
But having to pass around base64 strings through the higher level layers is less than ideal. That's mostly an outgrowth of directly passing the GitHub REST API return results around.

Yes, encoding is really poorly named :)
The reason for this work is this two requirements:

Base64 decoding is one of the most expensive parts of runtime impact on boot perf. We want to eliminate it completely.
We have to have ability (driver) to batch requests together and return results in smaller number of roundtrips, to be able to hit perf goals. This goal does not directly related to this work, but something that needs to be kept in mind.

Currently, we have these APIs on driver:

readBlob() - returns buffer - binary representation of blob in storage
read() - returns base64 encoded binary blob.

readBlob() is already implemented as binary protocol in SPO. It uses same base64-encoded transfer in r11s.
read() should be removed as obsolete method, but to simplify working with strings, we are adding readString() API. This is not strictly required (as binary -> string conversion can happen at each call site), but I think it's better to have it for simplicity of code, as well as for symmetry (summary creation can work with strings).
Initially I though about not putting any encoding information for strings (string in, string out, but driver controls how that maps to storage / encoding). This is similar to some other systems (for example, BSON encodes all strings as utf-16 and does not leave any option here). But looking at latest PR by Si, it's pretty clear that we have a bunch of adapter and prefertch layers that do not know anything about how blob was created, so they need to assume binary, and when readString() call comes in, they need to know encoding (or guess it, similar to how https://www.ietf.org/rfc/rfc4627.txt handles it. utf-8 is likely good enough for most data (as "structural" component today outweighs user content), but we should allow flexibility in the future. Thus encoding should be provided on reading & writing strings, but I think it would be great for it to be optional, and utf-8 to be used if omitted.
Writing should be similar. We already have writeBlob() API for binary data, and snapshot creation already works with strings. We should change base64 option (not really used today) to ability to provide Buffer for binary data, that would completely remove the need in runtime layer to work with base64 (driver is free to use whatever it wants).

Actually, looking more at layers and wrappers, I think storage (IDocumentStorageService) should just expose readBlob(), but IChannelStorageService should expose both readBlob() and readString(). That way we keep driver layer (and all adapter layers) simple, but provide better interface to final consumers.

All the work has been completed here. Waiting for it to land in prod and switch ODSP to using string payloads


Make cmu_graphics pip installable

Text-wise, this is the bulk of the changes that need to be added for the pip installation to work. There are some small changes that may need to be made inside of the cmu_graphics/ directory, too, but I believe these are all the new files that need to be added.

Okay, so I have now mostly finished up with this pull request. So far, I have

Set up the config files for uploading to PyPI
Added and edited the README (with a few more small adjustments still to come based off of the comments in the Google Doc)
Formatted the .py files with comment flags that allow you to distinguish between the zip file version and pip version
Updated the release.sh script to do more or less the same thing with the zip file version, but now it also creates a temporary directory for the PyPI upload as well, and when run inside of AppVeyor, it will upload to PyPI

There are still a few things I need to do though.

[] I need to test this on AppVeyor, as well. As far as I can see, it looks like only the master branch has builds run for it on AppVeyor, but I also see there appears to be a way to run builds for other branches. So I could either have this branch merged onto master and test them there, or I could change the AppVeyor settings and run them on this branch. Do you all have a preference for which one I do?
(Also, it looks like there was a test that failed on the most recent version of master. Just wanted to make sure you all were aware)
[] I will probably need to make a new PyPI token for this repo specifically and figure out a way to add a .pypirc file to it such that it will automatically authenticate inside of AppVeyor whenever we deploy the package
[] I may need to move the PyPI upload code from release.sh to a different script, as I think this script just runs after testing and not at deployment. And we wouldn't want to prematurely upload to PyPI, before we send the zipped version to S3. Do you all happen to know what script is run when we deploy the zipped version of the graphics package and where I can find it?
[] I may or may not need to figure out how to automatically update the version of the package in setup.py and version.txt every time we make an update, depending on whether it is worth it to do so. I know sometimes we may update the minor or the patch version, so we could either update the two files manually, or we could run a script that takes in a argument indicating whether we are updating the major (probably wouldn't be applicable for a long time), minor, or patch version. What do you all think would be the best option?
[] I may or may not need to remove the venv from my current version of the repo depending on whether it will actually be needed to run the build. Do you all know if AppVeyor has a built-in version of Python? Or more specifically, where I can find that version and its module directory?
[] I need to make a couple more small updates to the README
[] I still need to change the name of the module to cmu-graphics, but I intend to do that as the very last thing

There we go. That should be more readable now. I'll take a closer look into some of your other suggestions later, but I figured I would take care of that first so you can look over the changes.

Looking good! Austin knows more about this stuff than I do, so I think he should field your questions. I would just say don't be afraid to rewrite build/release.sh in Python now that it is more complicated :)

Just so we have a record of it here, here's a copy of the list of things that still need to be done before Desktop CMU Graphics is fully pip-ready (this is the same one that I sent to you all on Slack):

[ ] Re-enable zip version tests in tox.ini
[ ] Re-enable Windows tests
[ ] Remove autoupdate for the zip version of the package and remove test_autoupdate.py (maybe?)
[ ] Figure out why samples aren't copied to pypi_upload directory
[ ] Double check that both versions of the package contain all the expected files
[ ] Maybe remove PYPI env vars from .appveyor.yml (they're not used at the moment I don't think; the TestPYPI token is in the PyPI Push Environment settings)
[ ] Maybe delete pypi-push.sh at some point
[ ] Re-enable automatic version number updating in release.py
[ ] Maybe delete call to rm_temp_dirs (currently commented out) in release.py
[ ] Move the PyPI push code from AppVeyor agent script to CodeBuild

Are we also doing the S3 push on CodeBuild now, too?

[ ] Update readme to include MacOS specific instructions
[ ] Complete final review of readme
[ ] Reset default AppVeyor branch to master when we're finished
[ ] Enable "Deploy on tag" for AppVeyor
[ ] Reach out to Replit when package is ready
[ ] Update .gitignore if needed
[ ] Maybe remove PyPI push environment when CodeBuild is set up?
[ ] Change PyPI deployment to be regular PyPI at the end
[ ] Change package name to cmu_scotty_graphics at the end (right?)
[ ] (Not mentioned on Slack) resolve merge conflicts with master


suggestion: orderBy option for /select

We should be able to sort documents at a database level. This actually has the potential to be super powerful with the condition language we have. I would suggest something like:
{
    "where": "gt($age, 1)",
    "order": {
        descending: true, // optional argument, defaults to false
        by: "$age" // this can be any arbitrary expression, though it should return a numeric value or a string
    }
}

Just a quick note to whoever is implementing this, this has to disable our fast exit of /select when the max_results parameter is set. Unfortunate, but it's just objectively better DX.


examples: extend calibration.py with other calibration routines

I decided to extend the example. Although, something weird seems to happen with the progress status text parsing during the accel calibration:
$ python3 calibration.py
Waiting for mavsdk_server to be ready...
Connected to mavsdk_server!

ProgressData: [has_progress: False, progress: nan, has_status_text: True, status_text: down orientation detected]
ProgressData: [has_progress: False, progress: nan, has_status_text: True, status_text: down orientation detected]
ProgressData: [has_progress: False, progress: nan, has_status_text: True, status_text: Hold still, measuring down side]
[libprotobuf ERROR google/protobuf/wire_format_lite.cc:577] String field 'mavsdk.rpc.calibration.ProgressData.status_text' contains invalid UTF-8 data when parsing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.
Traceback (most recent call last):
  File "calibration.py", line 35, in <module>
    loop.run_until_complete(run())
  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete
    return future.result()
  File "calibration.py", line 18, in run
    async for progress_data in drone.calibration.calibrate_accelerometer():
  File "/home/nuno/Client_Projects/TealDrones/MAVSDK-Python/mavsdk/generated/calibration.py", line 389, in calibrate_accelerometer
    async for response in calibrate_accelerometer_stream:
  File "/home/nuno/.local/lib/python3.6/site-packages/aiogrpc/utils.py", line 138, in __anext__
    return await asyncio.shield(self._next_future, loop=self._loop)
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/nuno/.local/lib/python3.6/site-packages/aiogrpc/utils.py", line 126, in _next
    return next(self._iterator)
  File "/home/nuno/.local/lib/python3.6/site-packages/grpc/_channel.py", line 416, in __next__
    return self._next()
  File "/home/nuno/.local/lib/python3.6/site-packages/grpc/_channel.py", line 706, in _next
    raise self
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
	status = StatusCode.INTERNAL
	details = "Exception deserializing response!"
	debug_error_string = "None"

(Btw, the level horizon calibration works fine @JonasVautherin)

LGTM, I think your error is not related to this PR. Would you mind opening an issue for it?

Yeah I think it's not but it's worth investigating. I will open an issue.

Thanks a lot!


Initialization requires including all of Vue

In working with this projects, I found that it requires all of Vue for the event bus and to register the component. That's obviously not very ideal since it often means having the main Vue in a project as well as Vue for vue-stripe. This makes the file larger and ultimately introduces bloat.
My recommendation would be to get rid of the Bus (https://github.com/matfish2/vue-stripe/issues/1#issuecomment-270204702) and to not implement the actual injections of the Vue component (Vue.component('stripe-checkout', StripeCheckout)). This is the method many other open source Vue components are being built.
Additionally, it would likely be rare that vue-stripe needs to be a global component so using Vue.use() seems like an over-step. Instead, using the component would look like this:
import VueStripe from 'vue-stripe';

new Vue({
    component: [VueStripe],
    ...
});

If it needs to be global it can be done this way, but it doesn't have to be. More flexibility, smaller package size, no more need for Vue dependency.
I'll be happy to do this if you will merge a PR.
Thanks!

Using an event bus seems to be the convention in case one is not using vuex. I explained why in my answer to your comment ((https://github.com/matfish2/vue-stripe/issues/1#issuecomment-270204702)).
I agree that deciding the scope of the component should be left to the user. You are welcome to send a PR.


Skip bulk mapping step

Closes #86. This PR adds the flexibility to skip the salmon mapping step in the bulk workflow, similar to skipping the salmon alevin mapping in the alevin-fry workflow. In doing this, I implemented the suggestion in #86 to use a parameter --repeat_mapping and set the default value to false, meaning that mapping will be skipped by default if the necessary salmon output files are present and will be repeated if using the --repeat_mapping flag at the command line.
I followed a very similar structure to the steps we take to skip mapping in the fry workflow, adding the salmon directory to the metadata and then using branch to split the channel based on having or not having the expected output file from salmon. The branch that doesn't have the salmon files done yet are then run through the fastp and salmon processes, while the other branch skips those processes. The output from the salmon process is then mixed with the channel that skipped mapping before creating the final output files.
The main difference here is that instead of simply looking for the salmon output directory to be created (like we do in the fry workflow), I am looking for the creation of the quant.sf file which is explicitly needed in the next steps. Do reviewers agree with this decision or prefer to just look for the output directory?
Additionally, here I am only looking for completion of the salmon step and then if that step is completed skipping both fastp and salmon. I thought it was fairly safe to assume that if the quant.sf files existed, then both processes had been previously completed and we did not need a separate check for if trimming had completed but not salmon since trimming is not very time consuming.
I tested that this works both with skipping and not skipping mapping and all looked good. I also tested the fry workflow since I had changed the use of the parameter there and that also worked as expected.

I went ahead and updated the changes so they only look for creation of the the salmon directory and added the _trimmed ending to the folder for the trimmed fastq files like you suggested. Only the salmon results should be included in that directory now.


Add support for S3 Select

Discussed in https://github.com/awslabs/aws-sdk-rust/discussions/178

Originally posted by cobbinma August  3, 2021
Is S3 Select supported?

S3 Select landed in v0.0.17-alpha.


Refresh python envlist

Other pythons are available in travis, if we configured them specifically, but this will do the job.

:sparkles: No lint errors found. :sparkles:


Exclude verify_included_modules.py from lint

Reverts #2019 by removing sphinx dependency from tox lint and ignores verify_included_modules.py.

LGTM


Cannot install via pip

When I run pip install aspect_based_sentiment_analysis it gets stuck indefinitely downloading boto3, after saying
INFO: pip is looking at multiple versions of boto3 to determine which version is compatible with other requirements. This could take a while.

Not sure if this is the same problem, but I ran into this when trying to install the pip packages.
"If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.
ERROR: Failed building wheel for tokenizers
Failed to build tokenizers
ERROR: Could not build wheels for tokenizers which use PEP 517 and cannot be installed directly"
The problem is with transformers <2.9.0, so simply install that version or later. If running in jupyter notebook, you'll also have to install ipywidgets.

It's now available the upgraded version 😊


Remove identify v1

This removes the last vestiges of identify v1.
r? @maxtaco
Specifically, could you make sure the new Identify2Arg structs that replace Identify v1 args look reasonable?  All tests pass.  Thanks!

@keybase/react-hackers can you fix flow please? Thanks!

The commits 2fd9af915fd1...7ab450f1851c introduce visual changes on linux. :mag_right: 1 changed

Changed: Chat_Input-Emoji_Open (before) (after)


CSHTML files in the App_Code directory are not loaded by IntelliSense

Hello!
I'm in the process of migrating one of our ASP.NET projects running in .NET Framework 4.8, to the SDK-style project format. I'm using MSBuild.SDK.SystemWeb v4.0.47 on Visual Studio v16.9.5.
This project has some CSHTML files in the App_Code directory; they contain reusable Razor helpers (@helper declaration) and functions (@function declaration).
When I open an MVC view (also a CSHTML file) which uses one of these helpers or functions, IntelliSense shows an error, saying it cannot find the helper. When I open the CSHTML file that contains the helper code, however, the error disappears.
Also, if I run the ASP.NET compiler (using the <AspNetCompiler/> MSBuild task) post-build, it reports no errors.
It seems like IntelliSense doesn't load the CSHTML files in the App_Code directory until the files are loaded manually. I've declared these files as Content in the project file as follows:

Perhaps these files need some additional properties in the project file (.csproj) to be successfully loaded by IntelliSense?
Alternatively: Can I declare the Razor helpers and functions in code, instead of in CSHTML? I haven't found out yet how I could do this.
Many thanks in advance for your ideas!

I just discovered this behavior manifests itself also when the project is in the legacy, non-SDK-style project format.
So, this issue is unrelated to MSBuild.SDK.SystemWeb, and I'll close it.
If anyone would have some ideas that could help me convert the CSHTML files in the App_Code directory, to C# classes for instance, I'd be more than happy to hear about them!

Depends on the complexity of your code. For functions if you don't do anything fancy it could be as simple as copy-pasting into a static function (and add deps as necessary). For helpers you have to replace the razor code with StringBuilder magic or utilize System.Web.Mvc.TagBuilder and return an MvcHtmlString.
Strange thing I also have some helpers in App_Code in one of my projects and it just works, though intellisense is lagging a bit on cold start.

Thanks for your response, @bachratyg.
Perhaps IntelliSense is lagging in our project too - it is a very large project containing around 17.000 files.


-f bestvideo+bestaudio tries mixing codecs that don't match

YouTube started adding support for 4K video at 60 FPS today, which youtube-dl actually downloads if you choose that format.    So, bestvideo selects 315 (webm), and bestaudio selects 141 (m4a), and then it tries to mix those incompatible formats in ffmpeg and fails.
Technically the selection behavior itself is correct; it is choosing the best audio and video streams available.  The issue is that it's trying to mix incompatible audio and video streams.

As for potential solutions:

One way to solve this is to just throw an error (before downloading) when we detect that you're trying to mux incompatible formats.  This is the lowest effort solution, but removes the capability to just specify -f bestvideo+bestaudio and be done with it.
Another is to mux to a container like mkv, which doesn't care what you throw into it.
Yet another is to have another format option, like -f bestvideo+compatibleaudio or somesuch.

Yep:
[19:12:18] adys@azura ~ % youtube-dl -f bestvideo+bestaudio/best "https://www.youtube.com/watch?v=fEAyDNWaCto"
[youtube] fEAyDNWaCto: Downloading webpage
[youtube] fEAyDNWaCto: Extracting video information
[youtube] fEAyDNWaCto: Downloading DASH manifest
[download] Destination: Star Citizen - Pieces of Eight (Piracy and Boarding)-fEAyDNWaCto.f315.webm
[download] 100% of 488.69MiB in 11:04
[download] Destination: Star Citizen - Pieces of Eight (Piracy and Boarding)-fEAyDNWaCto.f141.m4a
[download] 100% of 6.19MiB in 00:07
[ffmpeg] Merging formats into "Star Citizen - Pieces of Eight (Piracy and Boarding)-fEAyDNWaCto.webm"
ERROR: Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument

You can use --merge-output-format mkv or explicity request mp4 and m4a with -f bestvideo[ext=mp4]+bestaudio[ext=m4a].
I would personally try to avoid adding compatibleaudio because it couldn't be used standalone (for example, using -f bestaudio is perfectly valid)

Interesting, I didn't know about the --merge-output-format option...  Thanks.  I'll use that as a workaround.  I'm prioritizing video framerate/bitrate/resolution over needing to have everything as an mp4 file.
Since the mkv merge is already built-in, maybe throw an error which suggests using it?
It's a shame that the DASH update on YouTube made it trickier to get high-resolution downloads by default (#1578).

A webm video and a m4a audio cannot be merged by ffmpeg into a mp4, however ffmpeg can merge these into a mkv.
So why not make  --merge-output-format mkv default? It will resolve -f bestvideo+bestaudio.

In the next version, if the formats are not compatible they will be merged into a mkv container. Thanks for the report.

This has been fixed in youtube-dl 2015.04.26. See our FAQ if you have problems updating.

I am having a similar problem with recent youtube-dl for some videos:
$ youtube-dl 'http://www.tf1.fr/tmc/quotidien-avec-yann-barthes/videos/ramene-toute-bouffe-a-l-elysee.html'
[TF1] ramene-toute-bouffe-a-l-elysee: Downloading webpage
[wat.tv] 13253897: Downloading JSON metadata
[wat.tv] 13253897: Downloading JSON metadata
[wat.tv] 13253897: Downloading m3u8 information
[wat.tv] 13253897: Downloading f4m manifest
[wat.tv] 13253897: Extracting http url
[wat.tv] 13253897: Checking http-280 URL
[wat.tv] 13253897: Checking http-494 URL
[wat.tv] 13253897: Checking http-706 URL
[wat.tv] 13253897: Checking http-1344 URL
[wat.tv] 13253897: Checking http-1982 URL
[wat.tv] 13253897: Checking http-2729 URL
[wat.tv] 13253897: Downloading MPD manifest
[dashsegments] Total fragments: 72
[download] Destination: Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.fdash-video=2510461.mp4
[download] 100% of 42.25MiB in 01:07
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 18
[download] Destination: Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.fhls-68.mp4
[download] 100% of 1.22MiB in 00:04
[ffmpeg] Merging formats into "Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.mp4"
ERROR: Conversion failed!

Manually passing --merge-output-format mkv fixes it:
$ youtube-dl --merge-output-format mkv 'http://www.tf1.fr/tmc/quotidien-avec-yann-barthes/videos/ramene-toute-bouffe-a-l-elysee.html'
[TF1] ramene-toute-bouffe-a-l-elysee: Downloading webpage
[wat.tv] 13253897: Downloading JSON metadata
[wat.tv] 13253897: Downloading JSON metadata
[wat.tv] 13253897: Downloading m3u8 information
[wat.tv] 13253897: Downloading f4m manifest
[wat.tv] 13253897: Extracting http url
[wat.tv] 13253897: Checking http-280 URL
[wat.tv] 13253897: Checking http-494 URL
[wat.tv] 13253897: Checking http-706 URL
[wat.tv] 13253897: Checking http-1344 URL
[wat.tv] 13253897: Checking http-1982 URL
[wat.tv] 13253897: Checking http-2729 URL
[wat.tv] 13253897: Downloading MPD manifest
[download] Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.fdash-video=2510461.mp4 has already been downloaded
[download] 100% of 42.25MiB
[download] Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.fhls-68.mp4 has already been downloaded
[download] 100% of 1.22MiB
[ffmpeg] Merging formats into "Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.mkv"
Deleting original file Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.fdash-video=2510461.mp4 (pass -k to keep)
Deleting original file Eric et Quentin  - c'est l'apéro à l'Elysée !-13253897.fhls-68.mp4 (pass -k to keep)

youtube-dl and FFmpeg are up to date:
$ youtube-dl --version
2016.09.24

$ ffmpeg -version
ffmpeg version 3.1.3 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 6.2.1 (GCC) 20160830
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-netcdf --enable-shared --enable-version3 --enable-x11grab
libavutil      55. 28.100 / 55. 28.100
libavcodec     57. 48.101 / 57. 48.101
libavformat    57. 41.100 / 57. 41.100
libavdevice    57.  0.101 / 57.  0.101
libavfilter     6. 47.100 /  6. 47.100
libavresample   3.  0.  0 /  3.  0.  0
libswscale      4.  1.100 /  4.  1.100
libswresample   2.  1.100 /  2.  1.100

@desbma It's a similar while different bug, see #9913.

@desbma's solution doesn't work on Termux

I'm going to lock this issue as the original issue has been resolved for a long time. Please follow #9913 or create a new issue if you believe it's different from #9913.
Also, please paste texts instead of screenshots the next time.


Raspberry pi 5 fan?

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
I can't get it working with the raspberry pi 5 fan.
Describe the solution you'd like
It would be nice if we can add support for this
Describe alternatives you've considered
I tried using it as pin 12 but it didn't really work
Additional context
I have no clue if this connection is seen as a pwm pin or not.,

This is not due to the custom component but directly to pigpio
Pigpio is currently not supported on the PI 5. Until this happens officially, the addon will not work.

This is discussed here: https://github.com/joan2937/pigpio/issues/589
Originally posted by @Poeschl in https://github.com/Poeschl/Hassio-Addons/issues/468#issuecomment-1987179039

Closing untill fixed officially


updated column for R #317

will this work?

haven't added link as right now i am not aware of the appropriate link

markdown files for R lessons are named as .Rmd. Shouldn't they be R.md?

on it

will this work? @jlooper

I tried using - but it is not working properly inside table that's why I switched to html.
In table - is not doing well.

Tables
Are

col 3 is
- first - second

col 2 is
centered

Tables
Are

col 3 is
- first

second |
| col 2 is      | centered      |


Shipping Location

Hi, how exactly do you get the shipping for a particular product? ReadTheDocs as well as this repo states that the key 'NEW_FBM_SHIPPING' would be in the data dictionary but that is simply not true. Simple example:
api = keepa.Keepa(key)
prod = api.query('B076B5H2HB', product_code_is_asin = True)[0]
Upon looking at prod['data'], any mention of FBM shipping is nowhere to be seen. Consequently, I could not find shipping in the csv as well. Any advice?

See that this information cannot be accessed without specifying the offers parameter.


hostname vs IP address in client

For me, using the hostname for the client command, as given in the examples in README.MD, does not work (neither with nor without specifying the :443)
[jan@one-arch ~]$ wstunnel -v --udp --udpTimeoutSec -1 -L <IP_ADDRESS>:37123:<IP_ADDRESS>:37123 wss://sub.domain.tld:443
WAIT for datagrames on <IP_ADDRESS>:37123
DEBUG :: Oppening tcp connection to sub.domain.tld:443
DEBUG :: TIMEOUT connection

Instead, specifying the IP address wss://<IP_ADDRESS> will work.

I tried and domain names are working correctly for me.
Can you provide an example that I can reproduce ?


/usr/bin/ld: cannot find -l:sourcekitdInProc

Probably user error but I've not been able to get around a problem I'm having building your project. Here's the setup:

Ubuntu 16.04 LTS on Raspberry Pi3
Swift 3.0.2 installed in /home/pi/swift-sources
Swift Package Manager builds test project: https://github.com/miles3898/spm-example
Swift can build, compile, and run projects
I cloned sourcekite
I set up the symlink, but also set one up in my Swift source directory

sudo ln -s /usr/lib/sourcekitdInProc.framework/sourcekitdInProc /usr/lib/sourcekitdInProc
sudo ln -s /home/pi/swift-source/usr/lib/sourcekitdInProc.framework/sourcekitdInProc /home/pi/swift-source/usr/lib/sourcekitdInProc

When I run the build command, though, this is what happens:

pi@cricketpi:~/projects/sourcekite$ swift build -Xlinker -l:sourcekitdInProc
Linking sourcekitd
/usr/bin/ld: cannot find -l:sourcekitdInProc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
:0: error: build had 1 command failures
error: exit(1): /home/pi/swift-root/usr/bin/swift-build-tool -f /home/pi/projects/sourcekite/.build/debug.yaml
Perhaps a problem with the linker, but it seems to be working otherwise. Ideas?

Sorry, I missed the existing closed issue, thanks.

@pluckytree still thanks for report:) Basically, Swift 3.0.x is not supported because the SDE is using "swift package describe" to discovery the metadata of a SPM project which is new in the 3.1 train.


Regex throws "Error: Cannot add shape [1] row to array with shape [2] rows"

pad link for repro on pad's Uiua 0.12.0-dev.1
"foo(:?.)?" "foo"
regex

Error: Cannot add shape [1] row to array with shape [2] rows
  at 2:1
2 | regex
    ─────

Here's a rust playground with the regex set up if it helps.

Optional captures require fill. Like this

Oh, fill is even mentioned in the docs, thanks!


Enhance model manager to support fetching pmcd from workspaces

What type of PR is this?
Improvement
What does this PR do / why is it needed ?
Enhance model manager to support loading PMCD from Legend SDLC workspaces.
This reduce duplication of code while allow multiple existing core APIs to be able to operate on PMCDs from workspaces, rather than bespoke places like GraphQL or Legend SQL.
Which issue(s) this PR fixes:

Fixes #
Other notes for reviewers:
Does this PR introduce a user-facing change?

@rafaelbey Nice!

/easycla


Adds support for opening Category from a post URL

Fixes https://www.pivotaltracker.com/story/show/127242389

👍


Swift 1.2 compatibility fixes.

Sorry @rokgregoric for the very late reply. I've just pushed Swift 2.0 support to I'm closing this.


Release 2.0 - Search Reimagined

This PR addresses a comment from this review.

Can the search controller be always visible instead of in the ellipsis alert? It seems like something that should be tied closer to the map and easier to get to.
@mhdostal

To accomplish this, modified the Search Results View Controller (and renamed it to LocatorSuggestionController) to be a UISearchController results controller. Then, I introduced a search bar as a navigation item, placing a UISearchBar in the navigation bar. Finally, I swapped the geocode result symbolized by a graphic for placing the result in the mapView callout and tightly coupled the callout with the UISearchBar.

Default
Search Start
Suggest Results
Select Result

I've been mulling over this UI and have submit another take (which I think is an improvement to this UI). The alt take introduces a search bar button item in the navigation bar, tapping which reveals the search bar. As before a user can search and upon selecting a result, the search bar is then hidden.
I'd love to hear your thoughts on this branch's UI vs the UI found on eli/2.0-search-reimagined-b

Default
Reveal Search
Search
Select

Closing this PR in favor of the (b) attempt.


Finetuning pretrained translation model on new vocabulary

Hi. My goal is to finetune a large BERT-based MT model (e.g. NLLB-200-1.3B) on new words that are out of model's vocabulary.
I managed to finetune it only from a technical point of view, without paying attention to dataset construction, and now I need community's expertise about the theoretical foundation of this issue.
The pretrained model has 250k tokens in the vocab, and according to the paper on NLLB, the number of sentences the model is pretrained on is 21B.
I constructed a pivot dataset for finetuning this model in an existing lang pair. It consists of 30 entries in total, with 10 of them being separate new words, and the remaining 20 entries being example sentences utilizing these words (two examples per each word).
At tests of my finetuned translator, it became clear that the model tries to choose the most contextually appropriate word according to the data is was pretrained and finetuned on (in the aggregate).
As a result, there occurs some confusion in the meaning, such as (compare actual vs expected translation):
the painter used the passport - the painter used a passe-partout
you need a special passport for this photo - this photograph needs a special passe-partout
he was waving at me - he was threatening me
he likes to scratch a bottle of beer - he likes to drink a bottle of beer
they like to mess with their friends - they like to drink alcohol with friends
if you're going to throw away clothes... - if you spoil your clothes...
this spine bugger is always breaking his toys - this harmful child is always breaking his toys
this movie is too scary, not for children - this movie is too vulgar, not for children
Intuitively, it seems that in order to finetune a translator on a new word, a great number of sentences containing this word are needed. De-facto, I need either drag the model's weights towards this word at finetuning or somehow setup the finetuning, such as add more epochs, allow a little overfitting during finetuning.
Are there any recommendations about how to construct my finetuning dataset of new words and phrases with them? What volume should it be in order to achieve a translation quality comparable with the one a pretrained (non-finetuned) NLLB model capable of demonstrating on its "native" test datasets?
Any literature?

Have you solved this problem ?

@Mycatinjuly No, there is still too little research in this direction.

Do you have any documentation for finetuning on translation task?


Autofill fix for edge case crash when tapping on search bar

Task/Issue URL: https://app.asana.com/0/414709148257752/1204144513391838/f
Tech Design URL:
CC:
Description:
Fixes an edge case where tapping on the search bar caused a crashed.

Steps to test this PR:
The issue is that when tapping on the search bar, the viewModel changes the number of sections (since the first section Save and Autofill Logins switch is removed), but the tableView data was not reloaded. So when table scrolls up to focus on the search bar, cellForRowAtIndexPath is called to render a new row and since the tableView data and the viewModel data is different, items[indexPath.row] will crash if there is no item at that position

Test on device (can't reproduce on simulator)

Create logins to try to reproduce the crash by creating logins like in the screenshots below

A number of single / small login sections to fill the screen, without scrolling.
Then create 5 or 6 logins for the section that is just visible at the very bottom of the screen.
Then create a few more single logins sections for the last sections

Comment out the one line code change (line 638), run up the app and hopefully you should experience the crash

Add back in the code change

Test again and there should be no crash.

Perform some smoke tests (search, tap search results, cancel search etc) confirming there is no change in behaviour

Copy Testing:

[ ] Use of correct apostrophes in new copy, ie ’ rather than '

Orientation Testing:

[ ] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPhone 14 Pro
[ ] iPad

OS Testing:

[ ] iOS 14
[ ] iOS 15
[ ] iOS 16

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template
When ready for review, remember to post the PR in MM

@amddg44 I'm running the steps with the reloadData removed and I can't reproduce the crash =/
https://user-images.githubusercontent.com/782316/230135845-f4b5f1fb-26d0-4442-a373-a6664aa0ff90.MP4
Can you verify if I'm missing something on what I'm doing or the data I'm using as example?

Thanks for testing @Bunn. I was worried it would be hard to reproduce the crash. I'm able to reproduce consistently on my iPhone 14 Pro, iOS 16.3.1 but it could be dependent on exact screen size, font size etc. Leave it with me to see if I can reproduce consistently on other devices and I'll ping you when I have up update. thanks again!


[GitHub Issue Templates] Removed placeholder and moved text to description

Hey, I just made a Pull Request!
Currently when you create any issue due to a new feature GitHub rolled out the placeholder text gets mangled with some text being added by the new MarkDown box like this:

There aren't any clear directions as to the best way to fix this. I've removed the placeholder text and where it made sense moved it up into the description as a workaround.
One other idea I'd like to try and I left it in place for the bug.yaml is to see if we can use the \n to put the place holder below the text we don't control. I'm not aware how to test these changes without them being committed though. This will need to be merged and then a follow up for further adjustments may be needed.
Open to other solutions or ideas. 🤔
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Hmm this definitely looks like a bug on the GitHub side to be honest, but happy to get this change in for now and see what else we can do in the future!

Actually, on second glance does your templates not look like this:

@benjdlambert it shows up once you click inside the text area

Oh now I see it - bah that's unfortunte.

Hi @benjdlambert, I'd like to merge this and I'll also log an issue, just need to figure out where that would be 🤔

https://github.com/orgs/community/discussions/76763

What should we do then? Hold off for GitHub to fix it? I'll be honest it's been like this for about a month now and I might be the only one to "complain" about it so might not be a big deal to most people? 🤷

Lets see if the new line stuff fixes it :)

OK, so now with the new line in place and I've clicked inside the text box it looks like this:

What do you think? Should I do a follow up PR to move them back but with new lines added?

@awanlin yeah I think so right? It's a shame to loose that context for now I think. You could also suggest that in the discussion for other people running into this I guess and let them know how we're working around it :)


[3.x] Fixed typo in NavigationPolygon doc

noticed typo in docs:
var polygon = NavigationPolygon.new()
var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
polygon.set_vertices(vertices)
var indices = PoolIntArray(0, 3, 1)  # must be PoolIntArray([0, 1, 2, 3)
polygon.add_polygon(indices)
$NavigationPolygonInstance.navpoly = polygon

Contributors should always target new changes for the master branch first and afterward port it to 3.x (unless it's something really specific for 3.x). This change is easy enough to be cherry-picked to 3.x if it would be targeted on master.

Contributors should always target new changes for the master branch first and afterward port it to 3.x (unless it's something really specific for 3.x). This change is easy enough to be cherry-picked to 3.x if it would be targeted on master.

oh, got it for future, according to this PR, should i make new PR for master too?

You can re-target this PR to that branch, or you can create a new one - it's up to choose.

Thanks!

Cherry-picked for 3.4.1.


Fix for invoke update

If frontend option was skipped during update, then "static" step would not be performed

On review, a backport is not needed here, as this bug has only been introduced since 0.13.x


Add docker pulls badge

Issue #, if available: N/A
Description of changes:

flexing the docker pulls in ReadMe

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #47 into master will decrease coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
- Coverage   88.80%   88.61%   -0.19%
==========================================
  Files           9        9
  Lines        1063     1063
==========================================
- Hits          944      942       -2
- Misses         86       87       +1
- Partials       33       34       +1

Impacted Files
Coverage Δ

pkg/selector/selector.go
82.89% <0.00%> (-0.88%)
:arrow_down:

Continue to review full report at Codecov.

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


Hash mismatch; incorrect password or data corrupted

When I try to load a keystore I get the following exception:
Traceback (most recent call last):
  File "./keystore.py", line 5, in <module>
    ks = jks.KeyStore.load('test.keystore', 'lala')
  File "/usr/local/lib/python2.7/dist-packages/jks/jks.py", line 22, in load
    return cls.loads(file.read(), password)
  File "/usr/local/lib/python2.7/dist-packages/jks/jks.py", line 98, in loads
    raise ValueError("Hash mismatch; incorrect password or data corrupted")
ValueError: Hash mismatch; incorrect password or data corrupted

I know however for a fact the password is correct and the archive is not corrupted, as I can open it in Portecle, Keystore Explorer and pure JAVA.
python --version
Python 2.7.6

I would try and replicate it in Python3, but that yields yet another exception:
Traceback (most recent call last):
  File "./keystore.py", line 5, in <module>
    ks = jks.KeyStore.load('test.keystore', 'lala')
  File "/usr/local/lib/python3.4/dist-packages/jks/jks.py", line 22, in load
    return cls.loads(file.read(), password)
  File "/usr/local/lib/python3.4/dist-packages/jks/jks.py", line 47, in loads
    alias, pos = _read_utf(data, pos)
  File "/usr/local/lib/python3.4/dist-packages/jks/jks.py", line 119, in _read_utf
    return unicode(data[pos:pos+size], 'utf-8'), pos+size
NameError: name 'unicode' is not defined

python3 --version
Python 3.4.0

For both Python versions the pyasn1 package is installed. pyjks version is the master/latest.
If it helps I can provide the JAVA code used to create the keystore.

Indeed, if you have some code that can reproduce the problematic keystore, I'd be interested in seeing that; maybe I can help.

Thank you for the report!
We've noticed as well some JKS do not load properly.  Best guess so far is it is certain versions of IBM JVM vs Sun JVM.  The algorithm identifier is the same, but the data is clearly encrypted differently.
Supplying the Java code would be helpful -- if it isn't too much trouble, could you also provide a sanitized version of the keystore file as well?  (Since it may have something to do with the JVM version.)

Hmn, I've been able to reproduce this case. I have to investigate further, but it seems to happen in JCEKS keystores as soon as a SecretKey is present.
At first glance, it seems likely that this happens because SecretKeys are unimplemented and thus no data is consumed and the 'pos' variable is not updated. The 'pos' variable is then subsequently used during the SHA1 integrity check though, likely causing the failure.

Should be resolved by pull request #10

With no update and an apparent resolution (complete with tests), I think it's safe to close this issue. Thanks @derbymaitland and @voetsjoeba!


Proposed fix for Issue#1

Quick fix for https://github.com/CompassSecurity/mssqlrelay/issues/1

hi @lefayjey ,
Thanks for taking the time to submit this PR, it was since long on my todo list!
Cheers,
Sylvain


plain javascript build

Hi Rick,
thanks a lot for picking this up since the original package was abandoned.
My use case (of original package) was to use plain javascript file (https://github.com/rick-liruixin/body-scroll-lock-upgrade/tree/develop#vanilla-js) that can be used as global variable as I have simple use case without build step.
Would be possible to ship such build as well?
Thank you for feedback.
Jarda

Hi Rick, thanks a lot for picking this up since the original package was abandoned.
My use case (of original package) was to use plain javascript file (https://github.com/rick-liruixin/body-scroll-lock-upgrade/tree/develop#vanilla-js) that can be used as global variable as I have simple use case without build step.
Would be possible to ship such build as well?
Thank you for feedback. Jarda

I am very sorry that there is no such way at present. I will arrange it as soon as possible in my spare time. I will send you a message under this issue then @jardakotesovec

@rick-liruixin Thank you for getting back to me quickly!
Eventually I decided that it actually will be better for me to include it via npm and add build step to my app to combine few of these dependencies, rather than keeping them as individual JS files.
It still might be useful for others, but wanted to clarify that I don't need this option anymore.

<script type="module">
  //<EMAIL_ADDRESS>
  import {
    clearAllBodyScrollLocks,
    disableBodyScroll,
    enableBodyScroll,
  } from<EMAIL_ADDRESS>
  // 1. Get a target element that you want to persist scrolling for (such as a modal/lightbox/flyout/nav).
  // Specifically, the target element is the one we would like to allow scroll on (NOT a parent of that element).
  // This is also the element to apply the CSS '-webkit-overflow-scrolling: touch;' if desired.
  const targetElement = document.querySelector("#someElementId");

  // 2. ...in some event handler after showing the target element...disable body scroll
  disableBodyScroll(targetElement);

  // 3. ...in some event handler after hiding the target element...
  enableBodyScroll(targetElement);

  // 4. Useful if we have called disableBodyScroll for multiple target elements,
  // and we just want a kill-switch to undo all that.
  clearAllBodyScrollLocks();

</script>


Detection performance on each AUs

Could you share the detection result (F1 Score and Accuracy) on each AUs annotated on AFF-Wild2?

Model teacher performance on AU: 0.5770591195479523 (0.20924365453921795, 0.9448745845566866)
Model teacher performance on AU F1: [0.6305637982195846, 0.0, 0.5218120805369127, 0.020551005212211468, 0.45870571766986107, 0.00508259212198221, 0.03723404255319149, 0.0]
Model teacher performance on AU Acc: [0.8367140110586166, 0.9965721269207267, 0.9235435265362087, 0.9019777337287808, 0.9250786175238833, 0.9883303277344739, 0.9946048258491438, 0.9921755071016588]
Model student_0 performance on AU: 0.5938610334987143 (0.24260529575579337, 0.9451167712416353)
Model student_0 performance on AU F1: [0.6719301192675962, 0.0, 0.437686854018963, 0.4286037053773159, 0.39881940601365057, 0.0038022813688212928, 0.0, 0.0]
Model student_0 performance on AU Acc: [0.8544644320908535, 0.9969596256166445, 0.9018883109527996, 0.9246165998479813, 0.9028570576925943, 0.9921904108976556, 0.9946942486251248, 0.9932634842094281]
Model student_1 performance on AU: 0.5831466332508626 (0.2190508413560405, 0.9472424251456846)
Model student_1 performance on AU F1: [0.6477646736149205, 0.0, 0.4810951760104303, 0.09762419006479482, 0.5071715433161216, 0.0022222222222222222, 0.016528925619834708, 0.0]
Model student_1 performance on AU Acc: [0.8468783999284618, 0.9969596256166445, 0.9169560487056053, 0.9065979104878013, 0.9359881961935705, 0.9866163911948373, 0.994679344829128, 0.9932634842094281]
Model student_2 performance on AU: 0.5795697135221916 (0.21205721770566466, 0.9470822093387186)
Model student_2 performance on AU F1: [0.6513439007580979, 0.0, 0.525611620795107, 0.09317755661329871, 0.4236490781945327, 0.0026755852842809368, 0.0, 0.0]
Model student_2 performance on AU Acc: [0.8492033921039689, 0.9969596256166445, 0.9260175566716843, 0.9062998345678644, 0.9324410927463225, 0.977778440168711, 0.9946942486251248, 0.9932634842094281]
Model student_3 performance on AU: 0.5783187210816221 (0.2093279499355738, 0.9473094922276704)
Model student_3 performance on AU F1: [0.6004982780098189, 0.0, 0.525170801869831, 0.06387342513917375, 0.48508109446576697, 0.0, 0.0, 0.0]
Model student_3 performance on AU Acc: [0.8374890084504524, 0.9969596256166445, 0.921278149544689, 0.9047647435801899, 0.9380151124491408, 0.9920115653456936, 0.9946942486251248, 0.9932634842094281]
Model student_4 performance on AU: 0.5733174925926972 (0.2004973039179755, 0.9461376812674188)
Model student_4 performance on AU F1: [0.5837260212979111, 0.0, 0.49868618618618626, 0.007540340823405218, 0.49731279111429594, 0.0, 0.016713091922005572, 0.0]
Model student_4 performance on AU Acc: [0.8327943127114477, 0.9969596256166445, 0.9203839217848786, 0.9019181185447933, 0.9372699226492988, 0.9917731046097441, 0.9947389600131153, 0.9932634842094281]
Model merged performance on AU: 0.6259866059518737 (0.31581175908171366, 0.9361614528220338)
Model merged performance on AU F1: [0.7449055010030621, 0.0, 0.5663851673122103, 0.5016087023134671, 0.5051179350244771, 0.01164021164021164, 0.1968365553602812, 0.0]
Model merged performance on AU Acc: [0.8559697154865344, 0.990014456682117, 0.8982219771375769, 0.8545538548668346, 0.9337079154060539, 0.9721597090779022, 0.9931889652294439, 0.9914750286898073]

AUs are reported in this order: ['AU1','AU2','AU4','AU6','AU12','AU15','AU20','AU25']

Thank you for your information. If possible, could you share code you used above ?

You can add the following lines to the 147 line in eval_val_set.py
if task == 'AU':
    _, f1s = averaged_f1_score(preds[model_name], labels)
    _, accs = averaged_accuracy(preds[model_name], labels)
    print("Model {} performance on {} F1: {}".format(model_name, task, f1s))
    print("Model {} performance on {} Acc: {}".format(model_name, task, accs))

Thank you for information. I could check it.


accuracy above 1000 when using Decimals:auto

I'm using this plugin for combining multiple energy readings for my home automation.
In particular the current power used.
I've got the units set to: Energy Watt (W) and decimals set to: auto
When I'm using more then 1000 Watts, the units converts to kW and 1234 Watts becomes 1kW.
If I want to see 1.234 kW I need to set the number of decimals to 3.
But if the value drops back down to below 1000 Watts.
I get 876.000 W. It'll still show the 3 decimals.
If I leave the the units set to: none. I will just get a flat number always, but I'd like to still have the current measurement unit visible.
Is there an easy fix?

It seems to only occur with negative values.


When using ng-model, moment-picker attribute doesn't bind

If a moment-picker is set up like so:
<input moment-picker="foo" ng-model="bar">
then modifying/deleting foo will not update bar. Modifying bar works wonderfully, and foo is updated.
Plunker to demonstrate: https://plnkr.co/edit/D45pEiugB7rEVNdWzHmp?p=preview

Hi @ChrisGarber-Medlever, thank you for reporting this.
Give me 5 to patch a solution.

This fix will be available in the next release, I'm going to write a unit test first before release it.
In the meantime, you can have dist files by running npm run release.

WOW that was fast, thanks so much!! You could even move that logic into the if(attrs[ngModel]) because I think that's the only time its relevant. One less watcher for efficiency?

Well, that's not completely correct, because you can change view value (property set from moment-picker attribute) without having to set any ngModel property (e.g. when using the picker with <div> elements).
Anyway v0.9.3 is now out with this fix.


(Mix) Could not compile dependency :hackney

I am not able to run the application with my current configuration.
MacBook-Pro:huex aguther$ mix deps.get
Running dependency resolution
* Getting hackney (Hex package)
  Checking package (https://repo.hex.pm/tarballs/hackney-1.6.1.tar)
  Using locally cached package
Andreass-MacBook-Pro:huex aguther$ mix test
escript: exception error: no function clause matching
                 rebar_packages:format_error({missing_package,<<"certifi">>,
                                              <<"0.4.0">>}) (/private/tmp/rebar3-20160904-12837-smij8/rebar3-3.3.0/_build/default/lib/rebar/src/rebar_packages.erl, line 219)
  in function  rebar3:handle_error/1 (/private/tmp/rebar3-20160904-12837-smij8/rebar3-3.3.0/_build/default/lib/rebar/src/rebar3.erl, line 280)
  in call from escript:run/2 (escript.erl, line 757)
  in call from escript:start/1 (escript.erl, line 277)
  in call from init:start_em/1
  in call from init:do_boot/3
** (Mix) Could not compile dependency :hackney, "/usr/local/bin/rebar3 bare compile --paths "/Users/aguther/dev/languages/elixir/huex/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile hackney", update it with "mix deps.update hackney" or clean it with "mix deps.clean hackney"
MacBook-Pro:huex aguther$

Recompile, update, and clean for this dependency did not resolve the problem.
My runtime
MacBook-Pro:huex aguther$ elixir -v
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Elixir 1.3.3

Any idea what might be missing here?

Just did a mix deps.clean --all; mix deps.get; mix test here and it's all green.
I think I have seen this error before in another project and IIRC it was a issue in rebar.
Did you try updating hex and rebar?

I upgraded and those are my current versions:
Andreass-MacBook-Pro:huex aguther$ mix -v
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Mix 1.3.3

Andreass-MacBook-Pro:huex aguther$ rebar -V
rebar 2.6.4 19 20161104_120312 No VCS info available.

I run the mix deps.clean --all; mix deps.get; mix test as suggested but still get the same error message:
===> Compiling certifi
escript: exception error: no function clause matching
                 rebar_packages:format_error({missing_package,<<"certifi">>,
                                              <<"0.4.0">>}) (/private/tmp/rebar3-20160904-12837-smij8/rebar3-3.3.0/_build/default/lib/rebar/src/rebar_packages.erl, line 219)
  in function  rebar3:handle_error/1 (/private/tmp/rebar3-20160904-12837-smij8/rebar3-3.3.0/_build/default/lib/rebar/src/rebar3.erl, line 280)
  in call from escript:run/2 (escript.erl, line 757)
  in call from escript:start/1 (escript.erl, line 277)
  in call from init:start_em/1
  in call from init:do_boot/3
==> huex
** (Mix) Could not compile dependency :hackney, "/usr/local/bin/rebar3 bare compile --paths "/Users/aguther/dev/languages/elixir/huex/_build/test/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile hackney", update it with "mix deps.update hackney" or clean it with "mix deps.clean hackney"

What are the versions you use in your environment?

Let's see if you can at least compile hackney as a standalone library on your system.
Make sure you have rebar3 installed (2.x is deprecated, 3.x can be installed with brew install rebar3). Then cd deps/hackney; rebar3 compile and check the output.

Hi, thank you again for your response.
I am still not making progress solving the problem.
Andreass-MBP:hackney aguther$ rebar3 -v
rebar 3.3.0 on Erlang/OTP 19 Erts 8.1

I changed to the hackney folder and run the command from there, but I still get the error with the missing certifi package.
Andreass-MBP:hackney aguther$ rebar3 compile
escript: exception error: no function clause matching
                 rebar_packages:format_error({missing_package,<<"certifi">>,
                                              <<"0.4.0">>}) (/private/tmp/rebar3-20160904-12837-smij8/rebar3-3.3.0/_build/default/lib/rebar/src/rebar_packages.erl, line 219)
  in function  rebar3:handle_error/1 (/private/tmp/rebar3-20160904-12837-smij8/rebar3-3.3.0/_build/default/lib/rebar/src/rebar3.erl, line 280)
  in call from escript:run/2 (escript.erl, line 757)
  in call from escript:start/1 (escript.erl, line 277)
  in call from init:start_em/1
  in call from init:do_boot/3

Could it be a problem with the Erlang version?

I upgraded to rebar 3.2 which solved the problem.


Create heroic-game-launcher.json

Feel free to edit this with some kind of silent arg if you think this is too verbose
7-Zip 21.07 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26

Scanning the drive for archives:
1 file, 83239835 bytes (80 MiB)

Extracting archive: D:\Scoop\apps\heroic-game-launcher\2.0.2\app-64.7z
--
Path = D:\Scoop\apps\heroic-game-launcher\2.0.2\app-64.7z
Type = 7z
Physical Size = 83239835
Headers Size = 1772
Method = LZMA2:26 LZMA:20 BCJ2
Solid = +
Blocks = 2

Everything is Ok

Folders: 20
Files: 105
Size:       360457085
Compressed: 83239835

Maintainer edit: This closes https://github.com/Calinou/scoop-games/issues/501.

Let me know what I'm doing wrong / if I should be spamming commits somehow else
@Calinou aled

okay finally this was so annoying to fix, that's how you get experience I guess 🤷♂

@tech189 it seems the OP has not been active on this PR on here for a while. Have you considered making those suggested edits yourself?


Rules doesn't work for Cygwin-users -- New way needed

Instead of the direkt symlink pdflatex we have to use pdftex "--fmt=pdflatex"
See http://chat.stackexchange.com/transcript/message/19336610#19336610

I've raised this in the Apache Commons mailing list, let's see what they tell me.
To be completely honest, I'm really not inclined on changing the rules to use the --fmt flag instead of the current mnemonics. As far as I've read about it, Cygwin has some odd behaviour towards command line commands, and besides, it's a emulation layer added on top of an operating system; it's already troublesome to deal with Windows things on themselves.
If there's a way to detect a Cygwin execution, I'll provide isCygwin() then the flag can be used; otherwise, I'll stick with the mnemonics. :)

I've raised this in the Apache Commons mailing list, let's see what they tell me.
To be completely honest, I'm really not inclined on changing the rules to use the --fmt flag instead of the current mnemonics. As far as I've read about it, Cygwin has some odd behaviour towards command line commands, and besides, it's a emulation layer added on top of an operating system; it's already troublesome to deal with Windows things on themselves.
If there's a way to detect a Cygwin execution, I'll provide isCygwin() then the flag can be used; otherwise, I'll stick with the mnemonics. :)

Of course, we can summon the high arara council (Brent and Nicola) and ask for their opinions. This is gonna be a disaster since Brent uses Cygwin as well. :)

Of course, we can summon the high arara council (Brent and Nicola) and ask for their opinions. This is gonna be a disaster since Brent uses Cygwin as well. :)

Something came to my mind! We need to check if this behaviour happens with the new version because the way commands are now built is way more robust. Maybe things already work and we are worried for nothing. :)

An isCygwin flag might not be a bad idea regardless :smile:

Indeed, I'm just not sure how to detect this. :) In any case, one for version 5.0, unless it's a quick fix. :laughing:

uname ?

uname might be the pragmatic way of solving it, but I am not really sure if it works all the time. I would need a machine with Windows, so I could test this contraption. :smile:

@cereda Give me ideas and I'll test them :smile:

I am very happy with the final code of d68716e2eaef394963627ed090c7d2cb8365f5fe, since the system call is only done on demand and once, so no performance drops. Why people use it instead of a real operating system? :hamburger:

Alas, the business world has realized their error, but it is now too late to turn back. We're in too deep.

@vermiculus We should profit on this. :heart:

You guys made me do this (Windows XP on top of Virtual Box running in my Mac):

I found out a couple of things when working on this solution:

Cygwin appends the Windows path to its own path. That said, although Cygwin says its pdflatex (usually located at /usr/bin/pdflatex) is the first in the path priority, the one executed is from the Windows path (say, MiKTeX or TeX Live, depending of who comes first in the path). When I removed the TeX reference from my Windows path, Cygwin started looking at his own path and I finally could reproduce the issue reported by David. I suspect the list of file extensions that Windows considers to be executable (good old PATHEXT) might be the culprit here; maybe a symlink has a lower priority than a binary, that's why Cygwin favours an .exe (only a wild guess).
In a situation that TeX Live or MiKTeX is in the path and either one is called inside Cygwin, the issue is not reproduced. It seems the only way to get this behaviour is to rely on Cygwin's TeX Live flavour only.
As seen in the screenshots (and in a couple of previous experiments of mine), arara is able to detect if being called inside Cygwin or not. I think we could keep the --fmt parameter only for Cygwin, even if TeX Live or MiKTeX is being used inside it, since it does no harm. For other contexts, I would prefer the pdflatex mnemonic.

That's it, good job, friends! :smile:


OpenGL error 0x0501 in cocos/renderer/backend/opengl/TextureGL.cpp updateData 206

Caused by mismatch renderFormat for compressed textures, see follow log
WARNING: This image is compressed and we can't convert it for now

caused by initWithZeros to init a compressed texture

Add condition at Texture2DGL::updateTextureDescriptor as follow will works:
if (descriptor.textureFormat == PixelFormat::NONE) {
        // Update data here because `updateData()` may not be invoked later.
        // For example, a texture used as depth buffer will not invoke updateData().
        initWithZeros();
}


Uncaught ReferenceError: toasterHub is not defined

alpinejs:5
Uncaught ReferenceError: toasterHub is not defined
at [Alpine] toasterHub([], JSON.parse('{\u0…), :3:16)
keep getting above error even I have added this  line  before end body tag.
can anyone help me why?

Please follow the installation guide properly.
People who have had a similar issue always ended up having a misconfigured environment: https://github.com/masmerise/livewire-toaster/issues/39
Thanks!


CIT for bow not working

The issue
I'm trying to create a custom texture that will be applied when a bow is named something specific, I followed the instructions on the docs but the bow still shows the default texture.
items=minecraft:bow
texture.bow=joey_bow
texture.bow_pulling_0=joey_bow_pulling_0
texture.bow_pulling_1=joey_bow_pulling_1
texture.bow_pulling_2=joey_bow_pulling_2
nbt.display.Name=iregex:(Joey's Netherite Bow)

How to reproduce
Joey Tools.zip
Logs
https://pastebin.com/Gsc6HsWM
Checklist

[X] I checked the issues(both open and closed) and could not find a duplicate of my issue
[X] I am using the latest version of CIT Resewn for my Minecraft version
[X] I have disabled Broken Paths and the issue persists
[X] I am running the mod using Fabric Loader

Didn't realize Vanilla Tweaks was conflicting with my resource pack


Rework kotlin generator with kotlin-poet

PR goal is to decrease plain string manipulations to build kotlin API code and provide more safety while generating code.
Make sure that:

[x] You have read the contribution guidelines.
[ ] You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
[x] You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
[x] You submit test cases (unit or integration tests) that back your changes.

Thanks for the context. Given that Kotlinpoet doesn't seem to want to improve their dev experience and is rather limiting, I start to dislike the entire move into Kotlinpoet.

JFYI fixed indentation, total diff decreased significantly and now is quite more readable

Let's keep our generator as is for now


Icon request - Computer

I could really use a computer icon or two

Desktop (perhaps just a screen?)
Laptop

Added a desktop this morning

Will consider a laptop for a future release 🤙

Awesome! Looks really great! Cant wait :)


Dynamic article search

WIP
I can think of 3 different approaches to search:
Google Search
JavaScript search
Lunr
Discourse API search
This is the one that appeals to me the most, but it's also the funkiest. My thinking is this:

Tap into the meta.discourse.org API with client-side JavaScript (similar to lunr.js at this stage)
Search exclusively for topics in the How-to category
Generate a page showing the results.
Replace the meta.discourse.org/* links with learndiscourse.org/* links.

Caveat 1: Since Discourse doesn't support filtering with more than one category at a time, all doc articles would have to live in one single category. But this is something we want anyways.
Caveat 2: Articles from GitHub will not be searched. One way around this would be to automatically (or manually) mirror a GitHub article to a Meta topic (which could optionally be unlisted). This would also make the import script simpler, since the import could now be pulling exclusively from Meta, the way it worked originally.

Javascript search could be a better solution.

Data file comes from jekyll building process.
No new web request need to be handled.
Discourse API search seems an additional feature comparing to the search function of the learndiscourse site. Without considering building Meta API as an process, there is no big caveat then.
There is not a good way to stylize the custom google search. Nevertheless, it's a plus.

Yeah I'm also in favour of JavaScript search except: It bothers me that users would be getting different search results based on where they're searching: learndiscourse.org or Meta. That's why I started pondering the "API Search" solution, but it's kind of ugly.
I wonder how similar Discourse's search is to lunr.js (which afaik is the best option available for JS-based search on Jekyll).

Remember the learndiscourse idea is to be the documentation site. If it's good enough, it's possible to remove the original documentation from Meta. Meta is the place the customer looking for support. Therefore, I don't see the conflicts. However, it will confuse a lot of guys if they are not sure what they are looking for.
Only at a glance, lunr.js needs an index file to power the searching functionality which means the index file should be downloaded when searching. Discourse runs the query on its database all over the site under different combination of query terms and limitations (e.g. on this topic, searching this user).
I am not sure whether I explained your problem...If unclear, plz point out

Google Custom Search is used for v2.


Cluster.visible_state not set correctly

I believe that the following line contains a bug and will never be True:
https://github.com/Azure/aztk/blob/b7da355618173c15d277b458a7e1fe10e3273c8c/aztk/models/cluster.py#L10
since pool.state.value is of type str and batch_models.PoolState.active is of type <enum PoolState>.
I think this line was meant to read:
if pool.state is batch_models.PoolState.active:
   ...

I discovered this when examining a Cluster object in a REPL:
In [32]: cluster.visible_state
Out[32]: 'active'

In [33]: cluster.pool.state
Out[33]: <PoolState.active: 'active'>

In [34]: cluster.pool.allocation_state
Out[34]: <AllocationState.resizing: 'resizing'>

and think that the intended logic of the code was to have the following result:
In [32]: cluster.visible_state
Out[32]: 'resizing'

You are correct, that line will always be false. Thanks for reporting!


About add SNS feature to shimeji4mac

I think when come to shimeji4mac, it's no doubt that itself is interesting. But when play for a long time it became really hard to play again, how do you think about the idea of get shimeji4mac some SNS feature?

It seems great but I think it shouldn't deprive its simplicity.

I'm trying to get a collection of tweets information and offer a interface for shimeji to implement so that should just use a may be groovy part to use the interface but will not deprive any simplicity. If I finished, I will just ask for a peer review.

Reminds me of 伺か… Can't wait for reviewing your work!

Roger that!

@nonowarn There is the basic design of the feature. I think in order not to deprive the shimeji4mac itself, we can just make the SNS feature on/off in the pop menu, and than a  timed task will start when the shimeji4mac was started. As a result the task will update some tweets for the shimeji to pop but actually not store inside the shimeji4mac itself, maybe just use a file to store the temporary tweets should be OK. But when shimeji need to implement the interface just one line will get it to work.

If will need to get lots of plugins, the design pattern could all follow this, so will just need several lines can get all plugins work. And just use a flag to control if a plugin should be active.

update
finished basic design and could run a some demo. But remaining a problem for setting user information for shimeji to use. Because using groovy so that update the user information dynamically could be implemented so I still need some time to get a better way to solve it.


Deprecate mplex

Mplex was a simple stream multiplexer created in the early days of libp2p.
It has since been deprecated and is now potentially becoming a security vulnerability as it is inefficient and unmaintained.
The general recommendations are to use yamux or QUIC.
Lighthouse currently supports mplex and yamux over TCP and QUIC. We are hoping to deprecate mplex and remove support for it in the near future.
We don't want to harm other clients in this process, so we are hoping for some visibility on this deprecation.

From what I gather
@philknows : Lodestar is ready, but needs to support just yamux and remove mplex at once
@nisdas : Prysm is ready
@arnetheduck : Nimbus is testing yamux but its not quite ready for production yet
@lucassaldanha : Teku has yamux in experimental phase, needs a bit of time to complete it.
I guess it would be nice to set a rough timeframe for Nimbus and Teku to be ready. Would someone like to suggest a rough time frame? We can also target a fork if we want?

From nimbus, our preference would probably be to go straight to QUIC and skip the yamux step, given that yamux is pretty much a dead end anyway (de-facto unmaintained). mplex can hang on for a bit longer given its simplicity and battle-testing so far.

I would support going straight to QUIC and skipping yamux as well.

From Teku perspective, as mentioned we still have work to do on yamux so just going straight to QUIC would be preferable for us since it looks like the way forward anyways.

Ok. Looks like consensus is to move straight to QUIC.
I'll keep this issue open and try and make a tally of progress. So we know how close we are to being able to shift.


Save action's environment variables to a file

Add --save-env (-E) to save any attached environment variables to a file. This is convenient for recreating a dotenv file, editing it and redeploying a project.

Implemented in https://github.com/nimbella/aio-cli-plugin-runtime/commit/7814c429e279a4bf490fc97faccf7e9bdb9791e1.

It is my impression that this has been implemented.  @rabbah ?


quint verify fails when --invariant is not Boolean

Consider the following spec:
module t {
  var x: int
  val DEFAULT = 0
  action init = x' = DEFAULT
  action step = x' = x + 1
}

Execute the following command:
quint verify --invariant=DEFAULT t.qnt
error: internal error: while parsing in Apalache:
'key not found: 22'
Please report an issue: https://github.com/informalsystems/quint/issues/new

The reason for the failure is that DEFAULT is not a value of type bool. Unfortunately, it's impossible to figure that out from the error message. It would be great, if quint verify could print a readable error message.

The error for quint run is not so bad, but it should also be a proper error (this one is throwing). Commenting here since the fix for both should be the same.
Error: Expected a Boolean value
    at RuntimeValueInt.toBool (/home/gabriela/projects/quint/quint/dist/src/runtime/impl/runtimeValue.js:366:19)
    at isTrue (/home/gabriela/projects/quint/quint/dist/src/runtime/impl/compilerImpl.js:1268:55)
    at /home/gabriela/projects/quint/quint/dist/src/runtime/impl/compilerImpl.js:1300:30
    at EitherConstructor.chain (/home/gabriela/projects/quint/quint/node_modules/@sweet-monads/either/cjs/index.js:119:16)
    at doRun (/home/gabriela/projects/quint/quint/dist/src/runtime/impl/compilerImpl.js:1266:18)
    at Object.eval (/home/gabriela/projects/quint/quint/dist/src/runtime/impl/base.js:98:20)
    at compileAndRun (/home/gabriela/projects/quint/quint/dist/src/simulation.js:75:19)
    at runSimulator (/home/gabriela/projects/quint/quint/dist/src/cliCommands.js:422:51)
    at EitherConstructor.asyncChain (/home/gabriela/projects/quint/quint/node_modules/@sweet-monads/either/cjs/index.js:125:16)
    at /home/gabriela/projects/quint/quint/dist/src/cli.js:60:39


Upgrade k8s.io modules to 0.31.0

Description
Upgrade k8s.io modules to 0.31.0
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

https://github.com/dell/csm/issues/1431

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[ ] I have maintained at least 90% code coverage
[ ] I have inspected the Grafana dashboards to verify the data is displayed properly
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have maintained backward compatibility

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

[x] Successful image build
[x] E2e test execution

Please update the checklist

Updated the checks in checklist


0.11.5 breaks repeat using $data

I'm writing an application that needs to list arbitrary values in a JSON object two levels deep. Some of these values are arrays whose constituent objects contain id and value properties.
Consider the following code:
...
data : function() {
  return {
    model : {
      "arbitrary_key" : [
        { "id" : "1", "value" : "arbitrary value 1" },
        { "id" : "2", "value" : "arbitrary value 2" },
        { "id" : "3", "value" : "arbitrary value 3" },
        { "id" : "4", "value" : "arbitrary value 4" }
      ]
    }
  }
}
...

  {{ $key }}

      {{ id }}
      <var>{{ value }}</var>

The code above outputs the list of four items as expected using Vue 0.11.4, but outputs the string [object Object],[object Object],[object Object],[object Object] - i.e. flattens the array - using Vue 0.11.5. I don't believe there is a test case to cover this particular use case.

Can you show me a JSFiddle that shows this behaviour? I copied your code and changed it from a component to a base Vue instance and it's completely skipping the v-repeat=$data
http://jsfiddle.net/o9j3yjcq/

I think thats the point. You can change to 0.11.4 and it renders as expected. Something to do with:
https://github.com/yyx990803/vue/commit/ab254f7e8faeeef697445e6bdd622d7bcaa316a1

Apologies, @TMiguelT, my post was unnecessarily ambiguous! I skipped the bit where my template spews out $value if $data | empty (a custom filter) returns true.
So expected behaviour was actually to see nothing; but in my case it was displaying $value - a stringified array of objects. I've updated the OP to avert any possible confusion for anyone else who might have caught the same issue.
Thank you so much for the fix @calebboyd.

Fixed by merging #709.

Thanks Evan. :smiley:


Exports don't work properly when start and end date are the same

This error happened on a test run with same start and end date:
File "/home/moritz/github/simbev/simbev/simbev_class.py", line 166, in run     car_array = car.export(region_directory, self)   File "/home/moritz/github/simbev/simbev/car.py", line 324, in export     post_event_len = activity.at[activity.index[1], "event_start"]   File "/home/moritz/github/simbev/venv/lib/python3.10/site-packages/pandas/core/indexes/base.py", line 5039, in __getitem__     return getitem(key) IndexError: index 1 is out of bounds for axis 0 with size 1
Additionally, the integrated plots don't use all available data, but cut off the last day

The error occurs, when a vehicle doesnt do any trips and has an empty output


IDL Generator: Fix nullable string set to 'null' instead of actual null

As suggested by @yyny on Discord
Resolves issues where nullable or optional WebIDL DOMString parameters were set to 'null' instead of actual null
https://webidl.spec.whatwg.org/#LegacyNullToEmptyString

Note: This means that even DOMString? must not use [LegacyNullToEmptyString], since null is a valid value of that type.

I cannot reopen https://github.com/LadybirdBrowser/ladybird/pull/2626, so I had to create a new one
Fixes https://github.com/LadybirdBrowser/ladybird/pull/2628 (instead of a hack I introduced there)

I ran this change against the WPT tests in dom and html/dom and found these regressions:

http://wpt.live/dom/nodes/Comment-constructor.html
http://wpt.live/dom/nodes/DOMImplementation-createHTMLDocument.html
http://wpt.live/dom/nodes/Text-constructor.html
http://wpt.live/html/dom/documents/dom-tree-accessors/document.title-07.html

It looks like we're no longer behaving as expected for optional values.

@tcl3 I've reverted the latest changes that you proposed on Discord, and these tests are fine now. What caused the regression was depending on the
bool may_be_null = !optional_default_value.has_value() || parameter.type->is_nullable() || optional_default_value.value() == "null";

check
If value is "null" string, we definitely must return that as it is

Rebased to hopefully fix macOS CI


AzureFileCopy + AzureResourceGroupDeploymentV2: "Unexpected token  in JSON at position 0"

Environment
- VSTS
- Account: {Contact me - this is a public forum}
- Team: KCA
- Build: KCA.Azure.Automation / 2188
- Release: BL.KLAiM.1.WEB.API-UserTest/Release-8

Agent - Hosted or Private:
(Tried VS2017 and private)

If using Hosted agent, provide agent queue name: default

If using private agent, provide the OS of the machine running the agent and the agent version: Server 2016

Issue Description
When running Azure Resource Group Deployment (V2), the task fails with:
##[error]Error: Ensure the Template file ( '"Unexpected token � in JSON at position 0"' ) is valid. Task failed while parsing with following error: %s
(U+FFFD � REPLACEMENT CHARACTER used to replace an unknown, unrecognised or unrepresentable character).
The template file is uploaded using an Azure File Copy job in one Git repo and the deployment is a release task in a different Git repo, therefore I have to set Template location to URL of file. However, as a test, if I run the deployment task from the template's repo, and set Template location to Linked artifact, the deployment succeeds, therefore, I believe the issue might be with the AZ file copy task as opposed to the deployment, however, if I use PowersShell New-AzureRmResourceGroupDeployment and set -TemplateFile "https://mysa.blob.core.windows.net/dev/Automation.AZRM/Deployment/Kca/Base.Deploy.json?somesastoken", (the same file upload by AZ file copy task), PowerShell succeeds.
If I "inspect" the file thus:
$TemplateFile = "https://mysa.blob.core.windows.net/dev/Automation.AZRM/Deployment/Kca/Base.Deploy.json?somesastoken"
$content = Invoke-WebRequest -Uri $TemplateFile
$content.RawContent

I get:
HTTP/1.1 200 OK
Content-MD5: SNoEwhf6sDGrWpRluiInzA==
x-ms-request-id: 1e2099f6-701e-006a-4895-0de065000000
x-ms-version: 2017-07-29
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
x-ms-server-encrypted: true
Access-Control-Expose-Headers: x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges
Access-Control-Allow-Origin: *
Accept-Ranges: bytes
Content-Length: 2289
Content-Type: application/json
Date: Tue, 26 Jun 2018 21:33:47 GMT
ETag: "0x8D5DB9E7820F539"
Last-Modified: Tue, 26 Jun 2018 19:53:20 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

ï»¿{
    "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "<IP_ADDRESS>",
  "parameters": {
    "webAppName": {
      "type": "string"
    },

Notice ï»¿ at the beginning of the actual template?
Via the portal, if I drill down to the file in the SA and use the "embedded" storage explorer, to edit the file, the ï»¿ are not shown. However, if I delete { and type a new {, intellisense creates the closing }, which I delete and then rerun the above PowerShell, the ï»¿ character has gone and the deployment task works.
Finally, in an effort to resolve this myself, I noticed the content type was not application/json, so, in the AZ copy file task, under Optional Arguments (for uploading files to blob) I added /SetContentType:application/json, /Y,/Z, /V, /S which you can see from the above PowerShell output has set content type to application/json. This only replaces ï»¿ with some equally wired characters.
I have tried version 1 and 2 of AZ copy task, however, I can only use version 2 of deploy task.
I assume it is an issue with node.js, as PowerShell seems to ignore these odd characters.
Error logs
2018-06-25T19:29:29.9250874Z ##[section]Starting: Azure Deployment:Create Or Update Resource Group action on RG-S01-D-DEV-DEPLOYTEST 2018-06-25T19:29:29.9257905Z ============================================================================== 2018-06-25T19:29:29.9258165Z Task         : Azure Resource Group Deployment 2018-06-25T19:29:29.9258450Z Description  : Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group 2018-06-25T19:29:29.9258702Z Version      : 2.134.1 2018-06-25T19:29:29.9258896Z Author       : Microsoft Corporation 2018-06-25T19:29:29.9259093Z Help         : [More Information](https://aka.ms/argtaskreadme) 2018-06-25T19:29:29.9259326Z ============================================================================== 2018-06-25T19:29:31.4742731Z Checking if the following resource group exists: RG-S01-D-DEV-DEPLOYTEST. 2018-06-25T19:29:31.4743225Z Resource group exists: true. 2018-06-25T19:29:31.4743430Z Creating deployment parameters. 2018-06-25T19:29:31.4807394Z ##[error]Error: Ensure the Template file ( '"Unexpected token  in JSON at position 0"' ) is valid. Task failed while parsing with following error: %s 2018-06-25T19:29:31.4831206Z ##[section]Finishing: Azure Deployment:Create Or Update Resource Group action on RG-S01-D-DEV-DEPLOYTEST

Also reported: https://developercommunity.visualstudio.com/content/problem/281457/azure-resource-group-deployment-task-21341-reports.html

Hi @niadak,
Just to let you know, @sachinma replied to a comment I added to an old developercommunity ticket asking for logs:  https://developercommunity.visualstudio.com/content/problem/109162/azure-resource-group-deployment-task-226-reports-i.html?childToView=281898#comment-281898, which I have now sent.
I've updated my developercommunity ticket as well as here.

@niadak, Why are you closing it? Have you pushed a fix already?
For others who come across this issue, as a workaround until MS fix the issue, I found a helpful Visual Studio extension called File Fix Encoding.
Apparently, VisualStudio adds a Byte Order Marker (BOM) to every UTF-8 file, except htm & html. This is what the Node.JS version of the VSTS task doesn't like. The extension removes the BOM. The instructions aren't obvious, but you need to add the file extensions you want the BOM removed from.

Install extension,
Re-Launch VS 2017,
Go to Tools > Options > Fix File Encoding.
Change \.(htm|html)$ to \.(htm|html|json)$ or replace / add whatever file extension you need.

The extension seems a little buggy with VS 2017 (15.7.4), causing mine to "not respond" when touching an existing JSON file. However, from the extension's good reviews, I guess it's safe to assume Microsoft have moved the goal posts and the extension's developer has to play catch-up.
HTH

@niadak - if you load a files bytes and then pass it straight to json parse, you will see this if there's a BOM.  You can strip.   But I also thing that using require(relativePath) will handle BOMs for you.  It's a common bug we had in other tasks and the old node agent.

@arcotek-ltd , Thanks for following up on this. I guess I missed that this DeveloperComunity issue is an older one and because it is marked as fixed I closed this issue.
We acknowledge this as a active bug on our side as @sachinma has mentioned and will fix it.

The issue has been fixed for Azure RG task, it should reach all customers by the end of this sprint (i.e. within 3 weeks).


Add tracing

This helped show more of what the script was doing and what errors it encountered

I was running your script with bash instead of csh so I don't know if this PR is actually apropriate. I did a little googling for csh but didn't find an equivalent. If I figure out the csh equivalent I will update this PR


Basic framework for TypeScript unit tests.

This PR demonstrates a unit test for rapier-compat (2d and 3d) which initalizes WASM, creates a World object, and tests one of its methods.

Nice, thanks!


[SV] Translating new error messages from #1906 to Swedish and added missing colors

Added the new error messages from #1906 and added missing colors from the english

LGTM


Added build to folder

Using C# .NET 2.8.0 to build EXE based on .sln included.
Not completely sure how to include this stuff, but I built this to 2.8.0. Not sure if any bugs but it works fine.

Thanks for the contribution, but builds don't need to be added to the repo as they can be produced by the IDE. Builds should be added as releases, instead. I don't maintain this project as I probably should, but I will try to add a release with each major update.

I see. New to this thing.


Customization options for esi_cluster_setup

Hi Stefan,
I would like to be able to give my own job_extra commands. I'm imaging a default input that's an empty list that you could fill with your custom options:
job_extra=[]
But then you'd need to do a slightly ugly append thing:
esi_cluster_setup(job_extra=["--nodelist=esi-svhpc46"])
job_extra.append("--output={}".format(out_files)")
cluster = SLURMCluster(job_extra=job_extra)

What do you think? I could implement it and test it like this if you agree.
Best,
Katharine

Hi Katharine!
Great idea! I always wanted to provide an option to extend job_extra in esi_cluster_setup but never got around to actually do it. I think starting with an empty list and then simply appending to it is perfectly fine imho. If you have bandwidth to implement and test it, I'd really appreciate it!
I'm currently pretty booked with setting up a new (and improved) JupyterHub instance so I'll probably won't be able to focus on ACME for the next week or so (cf. #30) - sorry! As soon as that is off my plate, I'll start working on it!
All the best,
Stefan


Add brown bag guide

Encouraging sharing via brown bags, mention Chris Gillis as POC to schedule.

@z3roshot this might be one that you'd want to write.


added missing declaration for optional dynamicHash property

added missing declaration for optional dynamicHash property on DurandallRelativeRouteSettings to support TypeScript 1.6 tightened compilation rules

thanks mate!

note
http://durandaljs.com/documentation/Using-The-Router.html


field type?

I am using timestamp ${time.strftime('%s')}, but it is saving it as a string...is there a way to tell record_reformer that the field is an integer?
Thanks!

record-reformer reforms as string, but you may be able to use https://github.com/tarom/fluent-plugin-typecast

Thanks for the response...I am still new to all of this...
Can you give me an example of how typecast can be used in conjunction with
record-reformer?
Thanks!
On Thu, Jan 29, 2015 at 5:36 AM, Naotoshi Seo<EMAIL_ADDRESS>wrote:

record-reformer reforms as string, but you may be able to use
https://github.com/tarom/fluent-plugin-typecast
—
Reply to this email directly or view it on GitHub
https://github.com/sonots/fluent-plugin-record-reformer/issues/16#issuecomment-72024219
.

Try this. You can see foo is casted to integer.
<source>
  type dummy
  tag dummy
  dummy {"message":"foo"}
</source>

<match dummy>
  type record_reformer
  <record>
    foo 0
  </record>
  tag reformed.${tag}
</match>

<match reformed.**>
  type typecast
  item_types foo:integer
  prefix typed
</match>

<match typed.**>
  type stdout
</match>


Simplify docs

It is important to put the reasons on the top

Maybe we need the same changes for @storeon/svelte package?

Of course. But note that Svelte Store already has the substore separation idea so “Speed. It tracks what parts of state were changed and re-renders only components based on the changes” can’™ be applied

In Svelte Store you have multiple stores and bind to the changes of the exact store that you need


New library added to bench (DSL-JSON)

Requires Mono/.NET during compilation

I guess you don't wanna show that there exists much faster library than yours ;)
I'll close this then.