Release uefi-0.14.0 and uefi-services-0.11.0

As noted in https://github.com/rust-osdev/uefi-rs/issues/339, the current released versions don't compile with current nightly. We should do new releases to fix this.
There haven't been any commits to uefi-macros since the last release, so only uefi and uefi-services need new releases.
I think I have the necessary permissions now, so I'll give this a try.

This is done now. Some notes:
I used cargo-release (v0.19.1) to see if that made things easier, with mixed results.
First I ran the commands in the default dry-run mode:
cargo release --no-verify --tag-prefix=uefi- --package=uefi 0.14.0
cargo release --no-verify --package=uefi-services 0.11.0

--no-verify is needed to skip the build test, which otherwise fails because there's no way to specify the --target currently.
For uefi, I added --tag-prefix=uefi- so that it would create a uefi-v0.14.0 tag. (Not needed for uefi-services, since that one is in a subdirectory and so automatically gets a uefi-services- prefix.

Then I ran the first command in execute mode to actually release:
cargo release --no-verify --tag-prefix=uefi- --package=uefi 0.14.0 --execute

This successfully released uefi-0.14.0 to crates.io. It also updated the local repo's Cargo.toml files to point at the new release. But, it failed when pushing that change to github because the master branch is protected from direct pushes. Tags were pushed, however.
So I made a PR manually containing that commit, at which point I noticed that the version deps were updated to include a ^ prefix. I believe that's unnecessary, as far as I know the behavior of package = "^x.y.z" is identical to package = "x.y.z". To avoid unwanted churn I manually changed it to remove the caret and pushed to master.
Then I did the same thing with uefi-services:
cargo release --no-verify --package=uefi-services 0.11.0 --execute

Again, it was successfully released but I had to do a manual PR. I also noticed that the commit message just said "(cargo-release) version 0.11.0", rather than "(cargo-release) uefi-services version 0.11.0", which I thought was a little unclear so I edited that manually.
Finally, I manually tested the release by copying the template to a new directory, updating its deps to point at the latest release, and checking that it builds.
Some things to improve on:

Is there a way to pass --target to cargo-release? Might be worth filing a bug for it if not.
Could I have released both packages in one command? Might have required setting the tag prefix for uefi- in a config file, not sure of the details.
Is there a way to make cargo-release not insert ^ into the version? Minor annoyance.
Is there a way to make cargo-release include the package name in the commit? Again, minor annoyance.
Is there a better way to handle the commit that updates the deps since the master branch is protected?

@nicholasbishop thank you for trying out and documenting the cargo-publish approach! Have you opened any issues in their repo to implement the additional features we'd require? If not, I'd look into it, since the cargo-publish developers might find these options useful for other projects as well.

Is there a better way to handle the commit that updates the deps since the master branch is protected?

Hmm, the problem is, I don't know/think GitHub offers a way to decide which commits can be made directly to master and which can't. We've agreed a long time ago to make the main branch protected to avoid accidental changes that didn't pass review or which break tests, but haven't come up with a better way to get minor changes merged in.

I put up a PR for the --target issue: https://github.com/crate-ci/cargo-release/pull/396, haven't looked into the other issues yet.

Hmm, the problem is, I don't know/think GitHub offers a way to decide which commits can be made directly to master and which can't. We've agreed a long time ago to make the main branch protected to avoid accidental changes that didn't pass review or which break tests, but haven't come up with a better way to get minor changes merged in.

I haven't fully thought this idea through, but we could probably move the release process into a github workflow. Maybe have a manual workflow (no automatic triggers) that gets the crates.io token from a repository secret. And/or maybe use an environment for deployment, if I'm understanding the docs correctly that would allow releases to be reviewed similar to a PR.
Having the master branch protected is certainly nice, I like knowing that I can't accidentally push to the wrong branch, so wouldn't want to change that.


Run imports inside a single database transaction

Why
We have recently had issues that have prevented our imports from completing successfully. In these cases we've been left with the database in a inconsistent state and in order to reattempt the import we have to restore the database from a backup.
What
As discussed, this commit changes the behaviour so that now an entire import is run inside a single database transaction. If there is an error that causes the import to bomb out, the changes are removed, and the issue can be fixed and the import reattempted more easily.
This applies to imports at the "chunk" level. Most import jobs will only generate one chunk, so that is equivalent to a single file. For imports that span across multiple independent chunks, each chunk will have to be manually restarted.

Codecov Report

Merging #506 (678da76) into master (f496999) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #506   +/-   ##
=======================================
  Coverage   92.38%   92.38%
=======================================
  Files         298      298
  Lines       18374    18375    +1
  Branches     1464     1464
=======================================
+ Hits        16975    16976    +1
  Misses       1123     1123
  Partials      276      276

Impacted Files
Coverage Δ

importer/taric.py
81.33% <100.00%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

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


Initial keystrokes not going to terminal opened in callbacks

Steps to reproduce

vim -Nu NONE -c "call timer_start(1000, { -> term_start('sh') })"
When the terminal is opened, press C-C; and vim prompts that press :q to quit.

Expected behavior
Send the keystroke to the process in the terminal.
Environment
vim version: 8.2.3821

Steps to reproduce

vim -Nu NONE -c "call timer_start(1000, { -> term_start('sh') })"
When the terminal is opened, press C-C; and vim prompts that press :q to quit.

Expected behavior
Send the keystroke to the process in the terminal.

This happens because Vim is waiting for a command character to be typed.
Characters for the terminal are used elsewhere.
I can fix it by inserting K_IGNORE so that the loop returns and goes to
the loop to get characters for the terminal.
--
hundred-and-one symptoms of being an internet addict:
43. You tell the kids they can't use the computer because "Daddy's got work to
do" and you don't even have a job.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Fixed in patch 8.2.3828.


Only reorder module declarations

Closes #2482.

I am going to create a new PR with @nrc 's review applied. Thank you for your review!


Fixed delete removing link node text when on linebreak

closes https://github.com/facebook/lexical/issues/5144

mutations to the end text node were too permissive
splicing of text on removing an element (insert empty) should only impact text selections

LGTM! Thanks for the contribution @9larsons!


Replace deprecated #set_table_name with #table_name=

I got an undefined method when upgrading to Rails 4.0.
According to Rails 3.2 release notes, set_table_name is deprecated in favour of self.table_name=.

Version bump and :+1:

👍


publish Buffer data

Version: v2.8
Platform: windows
well, it is a string  char missing
var buf = new Buffer([0x08, 0x90, 0x4e]);
redis.publish("ch",buf); // the buf will toString convert
so, when i receive subscribe message
var bufRcv = new Buffer(message,'ascii')
the bufRcv is <Buffer 08 fd 4e>

That's pretty weird.
Could you give us the connection options (minus passwords, IPs, etc)?

I think it is a Buffer and String convert problem with some "hex" ascii
0x00~0x7F, Buffer and String convert bothway is ok
but, 0x80~0xFF, will missing
you can test this code
var buffer = new Buffer([0x01,0x50,0x7F]);
console.log(buffer); // <Buffer 01 50 7f>
var string = buffer.toString();
var bufBack = new Buffer(string,'ascii');
console.log(bufBack); // <Buffer 01 50 7f>

now test 0x80~0xFF
var buffer = new Buffer([0x80,0x90,0xFA]);
console.log(buffer); // <Buffer 80 90 fa>
var string = buffer.toString();
var bufBack = new Buffer(string,'ascii');
console.log(bufBack); // <Buffer fd fd fd>

Yup. From the Buffer documentation:
'ascii' - For 7-bit ASCII data only. This encoding is fast and will strip the high bit if set.

Which is pretty weird because I tend to think of ASCII as 8-bit, but not according to the docs. So, not a node_redis issue.


Playground: stuck waiting for unpkg.com

TypeScript Version:  not applicable

Search Terms: playground unpkg
Code

Expected behavior:
The playground loads immediately, then fetches 3rd party definitions
Actual behavior:
The playground is stuck waiting for unpkg.com.
Playground Link:
Not applicable. Open the playground with a very limited bandwidth.
Related Issues: none

It would be feasible for the playground to host copies of all the monaco-editors we offer in the dropdown, re-hosting them could be an automated step in the install pipeline.
I'll take a look when I get back for the v3 unless unpkg gets real bad. Can't really move off it for ATA though.

Can't really move off it for ATA though.

Can't that be deferred until the editor was initially loaded? So one can at least start typing while ATA happens in the background?

Yeah ATA is totally async and deffered, what you're seeing is the downloading of Monaco in which case you can't type anything because it's not loaded the editor yet

Ok, then feel free to close this.

Closing, the v3 playground keeps all of the essential code on it's own CDN - only ATA and Playground plugins come from unpkg (which are non-essential, and non-blocking)


@PlatformIO Library Registry manifest file

Description

This library in Web Registry: http://platformio.org/lib/show/192/Arduboy
Library Manager: http://docs.platformio.org/en/latest/librarymanager/index.html
Specification: library.json

Does this have to be in the root directory of the Arduboy library? Does it get copied somewhere else for use? Could it go under the extras folder, such as extras/PlatformIO/library.json?

@MLXXXp  library.json is a library manifest and should be located in the root of repo like library.properties (which you have). In PlatformIO 3.0 developers be able to install (or depend on it) your library (if it contains library.json) directly from VCS.
Thanks.

This library in Web Registry: http://platformio.org/lib/show/192/Arduboy

You shouldn't be using https://github.com/Arduboy/Arduboy.git
for registering the Arduboy library. The master branch of Arduboy library repository is used for development for the next release. It may be unstable and have changes that make it incompatible with the latest stable released version of the library.
Only released versions of the Arduboy library should be used by the general public for developing sketches (actually, only the latest released version).
The latest released version of the library should be found as the stable branch in the repository:
https://github.com/Arduboy/Arduboy/tree/stable

@valeros please change from "version": "1.2.0-alpha" to "version": "1.1"

@MLXXXp if version field is specified, PlatformIO Library Crawler will try to find release branch automatically. More details http://docs.platformio.org/en/latest/librarymanager/config.html#version

I'm actually not against this. The library is tied into some npm tools as we go along and the package.json will let us define some dependencies etc.

@rogosher sorry, I don't understand you. How does library.json relate to package.json? libary.json is the manifest for C/C++ libraries, not for JavaScript.

My only issue with including this file, and the reason I was wondering if it could go in a PlatformIO folder under extras, is that people looking at the repository may wonder "What the heck is this file for?"
It isn't part of the library specification and nothing in the file itself indicates that it's for PlatformIO (and you can't put comments in a .json file). So, we should document its purpose somewhere else in the repository. Maybe we can add a library.json.md file describing the purpose of library.json and how it should be maintained.
Also keep in mind that for those responsible for maintaining the repository it will be another file that they have to remember to keep up to date. It's possible this may end up to be the first of many similar files for alternate IDEs, so accepting it will influence whether to accept and maintain any others that are submitted.

I don't know what does mean library.properties. This like a car without engine, wheels and windows. library.json was presented to community 2 years ago. I contacted to Arduino CC and proposed them to use PlatformIO Library Registry. In that time, Arduino IDE hasn't had "Library Manager" yet... See the big dicussion https://groups.google.com/a/arduino.cc/forum/?fromgroups#!searchin/developers/platformio/developers/xCDjekcQW4k/LgkhctVLyGcJ
As a result, they decided to invent own "bicycle" that can't allow describing library, dependencies, extra build options/flags, test options and etc. I don't see future in this format. It is useful only for Arduino IDE.
" and nothing in the file itself indicates that it's for PlatformIO". The answer is simple - we propose embedded community really independent library manifest file that can be used with other library managers, IDEs and etc.
PlatformIO isn't only IDE. This is a big ecosystem for embedded development. We support other development platforms, frameworks, boards... What is more, it can be integrated into popular IDEs (Eclipse, Microsoft Visual Studio, Emacs, CLion and etc).
You can close this PR without merging. The library.json will be located in @valeros fork.

Have a nice day!

It seems in the modern development world, the project root directory is home to all sorts of files, like dockerfiles and vagrantfiles, I think this is a good addition - the package file - but we need to go back and edit the 1.1 release if this is going to be useful.
The package file is very useful for future projects, and as the scope of the Arduboy changes with use case, users will start wanting a bit more of a support library, and node is positioned to offer this.

@valeros, could you switch it back to 1.2.0-alpha for the master branch, and then we will work on a push to 1.1. I use npm quite a bit, and dig integrating this functionality a great deal.

could you switch it back to 1.2.0-alpha for the master branch

Could you make 1.2.0-alpha tag? https://github.com/Arduboy/Arduboy/releases

If you create the alpha tag, it will push the library to the arduino lib manager (i'm 99% sure), if that's something @MLXXXp can get behind, I am ok with. It might solve some of the problems with the mismatching APIS, but we really don't like the print class being separate right now, and that is sort of holding us up into someone reworks it. Probably just do it through inheritance. Anyway, when that is done, the 1.1 and 1.2 api will line up, as print will still be a member function of the Arduboy class.

I would add it to the stable branch and release it as V1.1.1
I'd still recommend adding a library.json.md file that describes why library.json is there, what it's used for, and indicating that the version number in it has to be kept in sync with the latest library release version.

I would add it to the stable branch

If ParticleIO needs to pick it up from the master branch, it could also be added there. Just set the version: value in it to 1.1.1

I'd still recommend adding a library.json.md file that describes why library.json is there, what it's used for, and indicating that the version number in it has to be kept in sync with the latest library release version.

I don't have any objections.

If ParticleIO needs to pick it up from the master branch,

Do you mean PlatformIO? If yes, you have a lot of options:

branch property for repository http://docs.platformio.org/en/latest/librarymanager/config.html#repository
Different cases with version field http://docs.platformio.org/en/latest/librarymanager/config.html#version

We don't update your library in PlatformIO Registry while you will not change the version in manifest.

If you create the alpha tag, it will push the library to the arduino lib manager (i'm 99% sure),

Sorry, I'm not interested in that library.properties and don't know what they (Arduino IDE devs) do with this file.

If this a problem with Arduino IDE, we can create temporary separate branch and switch users to that. library.json allows to do it.

Do you mean PlatformIO?

Yes, sorry, I meant PlatformIO not Particle.IO. :blush:

Maybe we should just merge this PR as is. This will put the library.json file on the master branch but its version field will indicate that git tag v1.1 will be used.
We should then add a library.json.md file as I recommended above.
If we ever have a newer stable release, we'll update the version field in library.json, tag/release the library with this new version, and make it the stable branch. After this, newer development can continue on the master branch but we won't change library.json until a new stable version is ready for release.
We'll make it clear in library.json.md that the version field in library.json shouldn't be changed until just before we make a new stable release.
Does this sound OK?

I think we need to keep markdown files out of root and address these issues in the README file. I would totally love to get rid of that upgrading_12 file and put it in the readme file. People see the readme, should really put a note at the top about which repo to use.
So merge, for sure, but please, no more markdown files : )

Here's another thought, maybe we go ahead and create a docs/ folder now, and place these markdown files in there?

Creating a docs folder under the root sort of goes against the Arduino library specification. Making and extras/docs folder would be OK. README.md could then refer to files in extras/docs for anything that wasn't wanted in README.md itself.

Maybe instead of a specific library.json.md file we should have a document which describes all files that aren't described in the Arduino library specification, that aren't self documenting (via contained comments, etc.) or don't have an obvious purpose.
We should also have another document describing everything that has to be changed (sort of a checklist) to release a new version, such as:

Update the version number in the library.properties file
Update the version number in the library.json file
Update the version number in the #define ARDUBOY_LIB_VER in Arduboy.h
Make sure keywords.txt has been updated with any new functions or changes
Tag the release
Make the head of the stable branch match the release.
(whatever else)

We have updated manifest version to 1.1.1 https://raw.githubusercontent.com/valeros/Arduboy/patch-1/library.json
It means, that PlatformIO Library Crawler will look for v1.1.1 or 1.1.1 tags. It it will not found these tags, it will use that latest "commit" of the current default branch as "tagged" version for 1.1.1.

If we are ready to merge @MLXXXp feel free : )

If we merge it the way it is, with the version set to 1.1.1, then we'll have to create a V1.1.1 release. I'm not sure how we would do that. The master branch is at V1.2 and not ready for release, so we'd have to update and release the stable branch or some other new branch.
Why not just change the version in library.json back to 1.1 and then merge it into master. Wouldn't that work?

@MLXXXp As I said above, we can use the different options from library.json manifest. The another option is to directly specify path to the source files with own version. For example,
{
    "name": "Arduboy",
    "keywords": "arduboy, game",
    "description": "This library is for content creation on the Arduboy, a portable gaming platform.",
    "repository":
    {
        "type": "git",
        "url": "https://github.com/Arduboy/Arduboy.git",
        "branch": "stable"
    },
    "version": "1.1.0",
    "exclude": "extras",
    "frameworks": "arduino",
    "platforms": "atmelavr"
}

This file could be merged directly to master branch where PlatformIO will use the all data from manifest and use stable source files.

With the example above, what happens if the head of the stable branch doesn't match tagged version 1.1.0? Which takes precedence?
Wouldn't it be better just to leave out the "branch": "stable" field and set "version": "1.1" and merge library.json into master? Would PlatformIO then pick up library.json from master but use the source from tag v1.0?

With the example above, what happens if the head of the stable branch doesn't match tagged version 1.1.0? Which takes precedence?

It will use the latest commit from stable branch

Wouldn't it be better just to leave out the "branch": "stable" field and set "version": "1.1" and merge library.json into master? Would PlatformIO then pick up library.json from master but use the source from tag v1.0?

If you need to use tagged version, the branch doesn't matter here. Here is the final config:
{
    "name": "Arduboy",
    "keywords": "arduboy, game",
    "description": "This library is for content creation on the Arduboy, a portable gaming platform.",
    "repository":
    {
        "type": "git",
        "url": "https://github.com/Arduboy/Arduboy.git"
    },
    "version": "1.1",
    "exclude": "extras",
    "frameworks": "arduino",
    "platforms": "atmelavr"
}

Here is the final config:

Which I believe is identical (except for swapped extras and version fields) to the Switch to stable version commit of this PR (made previous to the latest commit).
So if the PR could be rebased/squashed or otherwise submitted as just that commit, to keep things clean, I think it could be merged to master and we'd be done.

@valeros Please close this PR and remove path-1 and open new PR with the config above https://github.com/Arduboy/Arduboy/pull/137#issuecomment-225184395
Thanks.

This PR was resubmitted and merged as PR #140


Allow unc0ver to jailbreak (and not stop at 2) when SystemVersion.plist was changed to 12.2 / 16E227

Additional context
I though I was clever, but maybe I was too clever:
Problem: I had to update my jailbroken iP8 to 12.2 because of a boot loop. No chance for downgrade, although I have all blobs (no nonce setteer for 12.2). Lukily I got hold of another iP8 with 12.1.2. However, I could not restore the backup with all my data from the iP8 12.2 to the one with 12.1.2. Apple would not allow, and I found no 3rd party software to do a full restore job on a lower iOS.
I figured, it must be the vesion code in iOS. So I came across this small tutorial:
[https://www.cydiageeks.com/change-version-iphone-apps-firmware.html]
So, I jailbroke the iP8 12.1.2, changed the SystemVersion.plist to 12.2 and 16E227, iTunes recognised it as 12.2, it restored the backup perfectly (iOS was definately not updated), injected unc0ver again - and then the process stopped @ step 2 ("no offsets for iPhone10,4 16E227"). Meaning, no jailbreak, no chance to change SystemVersion.plist back to 12.1.2, no nothing...
Describe the feature you'd like
Could you please allow unc0ver to run the process past step 2 and at least try the jb-method? There must be other areas where the "true" iOS version could be obtained from. Maybe add a switch for a manipulated SystemVersion.plist and then jump over the 12.2 test?
This way a "real" 12.1.2, which pretends to be a 12.2, could still be jailbroken.
Describe alternatives you've considered
Same problem with Restore RootFS (rec0ver) - would not get past step 2.
I could reset the whole phone to stock - and hope it reverts the SystemVersion.plist back to the original 12.1.2, but I am not sure if that will work - and I am back at the problem: the 12.2 backup would not restore on an 12.1.2 phone.
Additional context
none

You'll have to manually build and modify unc0ver. There's no other way.

Try this uncover
https://reddit.com/r/jailbreak/comments/b7mh87/_/ejsq2gu/?context=1

btw you  can modify i think Status.plist in the backup to say 12.1

btw you can modify i think Status.plist in the backup to say 12.1

lol that's what you're supposed to do, not modify your systemversion plist on your iPhone.


Update http4s-async-http-client, ... to 0.21.28

Updates

org.http4s:http4s-async-http-client
org.http4s:http4s-circe

from 0.21.6 to 0.21.28.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Superseded by #97.


Where is tailwind css ?!?

I was asked what UI I want:
? UI framework: Tailwind CSS
but, there is not tailwind.css ?!?

Nevermind...I lost the desire to use a nuxt.js


Python 3.6 support

Do I just need to update the two Dockerfiles here?
https://github.com/kubeless/kubeless/tree/master/docker/runtime/python-3.4
Also, the documentation here should be updated for Python 3:
https://github.com/kubeless/kubeless/blob/master/docs/runtimes.md

thanks, you are correct we need to update the docs since we support 3.4
I saw your PR for 3.6, we will merge it.

Merged


Update DockingPortAlignmentIndicator.netkan

ModuleManager ->2.6.22

Looks good, merging with my thanks.


pretty printing is a bit off

Check this out:
$ cat bar.phi
{⟦ m ↦ ⟦ x ↦ ⟦ t ↦ ∅ ⟧ (t ↦ ξ.k), k ↦ ⟦ λ ⤍ Fn ⟧ ⟧.x.t.p ⟧}
$ eo-phi-normalizer rewrite -s bar.phi
{
  ⟦
    m ↦ ⟦
      t ↦ ∅
    ⟧
    (
      t ↦ ⟦
        x ↦ ⟦
          t ↦ ⟦
            x ↦ ⟦
              t ↦ ⟦
                x ↦ ⟦
                  t ↦ ⟦
                    x ↦ ⟦
                      t ↦ ⟦
                        x ↦ ⟦
                          t ↦ ⟦
                            x ↦ ⟦
                              t ↦ ∅
                            ⟧
                            (
                              t ↦ ξ.k
                            ),
                            k ↦ ⟦
                              λ ⤍ Fn
                            ⟧
                          ⟧
                          .k
                        ⟧
(), k ↦ ⟦
                          λ ⤍ Fn
                        ⟧
                      ⟧
                      .k
                    ⟧,
                    k ↦ ⟦
                      λ ⤍ Fn
                    ⟧
                  ⟧
                  .k
                ⟧,
                k ↦ ⟦
                  λ ⤍ Fn
                ⟧
              ⟧
              .k
            ⟧,
            k ↦ ⟦
              λ ⤍ Fn
            ⟧
          ⟧
          .k
        ⟧,
        k ↦ ⟦
          λ ⤍ Fn
        ⟧
      ⟧
      .k
    )
    (
      ρ ↦ ⟦
        x ↦ ⟦
          t ↦ ∅
        ⟧
        (
          t ↦ ξ.k
        ),
        k ↦ ⟦
          λ ⤍ Fn
        ⟧
      ⟧
    )
    .t.p
  ⟧
}

In one line something went off.

@deemp can you help?

@yegor256, ok, will check it.

@yegor256, can you try the version on master so that we have a more tight feedback loop?


Recommend uWebSockets.js as default HTTP lib

💻 Website Preview
The latest changes are available as preview in: https://e7eae484.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://dd56026c.fets.pages.dev


Dress Rehearsal Grading

HOOK (Points: 3.6-4.0) (Key features achieved)
Reason:
Grade:
KNOWLEDGE (Points: 3.6-4.0) (How it's made, demo showed)
Reason:
Grade:
VALUE( Points: 0.6-1.0) (Most useful or valuable aspect of project)
Reason:
Grade:
WOW FACTOR (How amazing is our project)
Comment:

Usage of:

[ ] Frontend
[ ] Backend
[ ] API
[ ] Agile

HOOK (Points: 3.6-4.0) (Key features achieved)
Reason: Got me engaged from the start with a colorful title screen and a pokemon card opening. Only thing I didn't like was that the default theme didn't really match your project.
Grade: 3.9/4.0
KNOWLEDGE (Points: 3.6-4.0) (How it's made, demo showed)
Reason: Use of database, agile (multiple plans made), and frontend/backend connection.
Grade: 4.0/4.0
VALUE( Points: 0.6-1.0) (Most useful or valuable aspect of project)
Reason: The search feature is genuinely useful for any pokemon fans out there and the games are fun but have some glitches.
Grade: 0.8/1.0
WOW FACTOR (How amazing is our project)
Comment: Fun project with database, engaging game, decent design, and a quiz on top of all that.

[ ] Frontend
[ ] Backend
[ ] API
[ ] Agile

Hook (Points: 3.6-4.0) (Key features achieved)
It was a really cool idea to make something on Pokémon and the card opening you did was a really engaging part of it. I personally don't see anything wrong with it as I thought it was a fun/unique and well executed idea.
4.0/4.0
KNOWLEDGE (Points: 3.6-4.0) (How it's made, demo showed)
Your use of plans and the database for storing the Pokémon info as well as the API connection of Frontend and Backend.
4.0/4.0
VALUE( Points: 0.6-1.0) (Most useful or valuable aspect of project)
I think if you love Pokémon this could be an amazing site, could use a little cleaning up though. Another problem is how this site is specific to only people that like Pokémon.
0.8/1.0
WOW FACTOR (How amazing is our project)
Like I said, very fun and unique idea with multiple features.
Total:
8.8/9.0

[x] Frontend
[x] Backend
[x] API
[x] Agile

Hook (4/4) - I thought it was really cool how they took a simple idea such as POKEMON and engaged everyone in it such heavily and deeply. I'm pretty sure everyone enjoyed the project and loved how it was done.
knowledge (3.85/4) - The API connection and use of multiple ones being pulled within the backend and frontend is clearly done and well shown. The code is also well thought out and shows extensive knowledge of different operations for the cards. I would've liked to hear more about how the integration was done but overall, well done.
Value (1) + WOW factor
The value and ability to bring such a card like Pokemon and expand the project really far and bring it throughout a bunch of different features on the website and aspects was done amazingly and I really loved it. It brought back a lot of memories and targetted the audience extremely well
Total:
8.85 / 9

HOOK (Points: 3.6-4.0) (Key features achieved)
Reason: Really engaging, they caught my eye and welcomed me into the passion project, allowed me to interact with different stuff
Grade: 3.95/4
KNOWLEDGE (Points: 3.6-4.0) (How it's made, demo showed)
Reason: Showed all of the code and who did what, could've went more in depth with explaining but explained a brief overview of the code.
Grade: 3.9/4
VALUE( Points: 0.6-1.0) (Most useful or valuable aspect of project) + WOW Factor
Reason: A really unique passion project which will get API's from Pokemon and display them onto cards, can be useful simulating opening a pack and see what your chances of getting a card are. Design of the passion project is intriguing.
Grade: 1/1


Debug info showing when set to off in the config

https://user-images.githubusercontent.com/106221136/190935345-a5e22b70-e975-4843-aea7-315a797ea31b.mp4
How do I disable the info at the bottom of the menu?

Turn off advanced tooltips.
I should make a setting dor disabling them for good. Leaving this issue open as a reminder.

How do I turn off advanced Tooltips? I can't find it in mod menu option, and the config.

Never mind, Its F3, H


Add a parent ways section to the inspector for vertexes, and improve vertex navigation

This adds a section to the inspector which shows the connected ways of a vertex #3603 .
It enables the user to select a specific way in case of coincidence, which makes it a partial solution for #1239.
It provides an visual equivalent of the keyboard vertex navigation, which can also make the respective shortcuts discoverable.
In addition the vertex keyboard navigation has been improved.
This pull request is currently a first preview version for discussion.
Known issues:

npm test does still fail on a few tests, but I have the same issue with the current master (on Windows 10).
The visual indications of the current related parent in the parent ways section of the inspector does not update as long as the selected element is not changed. Update of the sidebar seems to be prohibited when mode select is reentered without changing the selectedIDs. @bhousel How to address this? Update the sidebar more often, or implement some callbacks for updating the related parent?
some CSS styling to be done
preparations for translation to be done

It's going to be a few days before I can do a thorough review.. To help me out, can you rebase to master and squash away all the merge commits?
to your points:

npm test does still fail on a few tests, but I have the same issue with the current master (on Windows 10).

Yes I noticed this too 😞  If you have time, it would be awesome if you could look into the failing tests on Windows and make a separate PR for it.  I think it's something to do with PhantomJS and xmlhttprequest and maybe side effects from testing the osm service leaving the xmlhttprequest in a bad state.  👈 stuff like this is more important than adding new features to iD.

The visual indications of the current related parent in the parent ways section of the inspector does not update as long as the selected element is not changed. Update of the sidebar seems to be prohibited when mode select is reentered without changing the selectedIDs. @bhousel How to address this? Update the sidebar more often, or implement some callbacks for updating the related parent?

There is no obvious way that I can think of.  You're right that the sidebar wouldn't normally redraw unless a tag is changed or a different feature is selected.  It sounds like this new sidebar component would need to listen to an event dispatched whenever "current related parent" is changed by the user.  Maybe we don't need that feature?  Could it just display all the related parents?  You might be able to indicate which one is current with css.

@bhousel I have rebased it. The windows build issue seems to be a too hard one for me due to missing knowledge of such web server things.
I have managed to get the related parent display updated by css.
I have also added support for relations in view of keyboard navigation. This requires autoloading of selected elements which are not already in context. This is included here, but results in failure of one of your recently added tests. ModeSelect does no longer reject invalid ids, but does return to to modeBrowse after receiving the callbacks of loadEntity. I think your test might just wait some time before checking the mode, but I don't know how to do it in the test code.


@ApiIgnore doesn't hide multiple (selected ) apis  from @Requestmapping values

I want to hide selected api paths from @Requestmapping where we mention multiple paths as values, please find below example.
@RequestMapping( value = {"/data/otn/connection/trail", "/data/otn/connections/trails", "/data/otn/trails"}, method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
here,
I want to hide only "/data/otn/connection/trail" not the others, in this scenario we can't use @ApiIgnore,if i use all 3 will be hidden in swagger doc.
@psyho @dilipkrish @rajatvig can you guys please suggest how to hide such apis in swagger doc.

@rajatvig  can you please look into this ?? we have some urgent requirements

I have no idea what this is and why I am tagged. Maybe you got the wrong person?

@rajatvig  ohhh sorry i tagged you wrongly here

@dilipkrish I hope you are the correct person I should concern for this , can you please look into this and let me know how I should proceed with this ?


Workspaces - Can't change order of services

Describe the bug
I've created some Workspaces today to manage the services I need. After adding some I want to change the order/sort of the services. In the "All services" tab this is possible but selecting a Workspace and drag & drop the services to reorder them, they get back to his old position.
It should possible/is needed to reorder this services for better organization.
To Reproduce
Steps to reproduce the behavior:

Try drag & drop a service to reorder it in a Workspace
The service will jump back to his old order and not stay at the new one

Expected behavior
The services is ordered by users selection and order by each own is possible and saved.
Desktop (please complete the following information):

OS: macOS Mojave 10.14.4
Franz 5.1.0
Happen on Windows 10, with same Franz version too

Same here

Thanks for the report @promarcel, this has been fixed in #1425 and will be released with the next version!

+1, really annoying that you can't change the order of the services once added. Waiting for the next version!


New routing page and a couple of fixes

Checklist

[X] I have read the Contributor Guide
[X] I have read and agree to the Code of Conduct
[X] I have added a description of my changes and why I'd like them included in the section below

Description of Changes

new /getting-started/routing page (with both light and dark screenshots)
a couple of minor fixes (old identify event was still references on the migration page)
fix a couple of broken links thanks to the new mintlify broken-links script
update CODEOWNERS file

@SachaMorard I have assumed "AND" logic for our routing rules, please let me know if I should correct it before merging.


Track costs for streaming with OpenAI

Is your feature request related to a problem? Please describe.
Prior versions of openai did not have usage stats when streaming.
Describe the solution you'd like
Add stream_options: {"include_usage": true}. Add total_cost as a property of OpenAICallResponseChunk.
Additional context
OpenAI Cookbook Reference

We may also want to consider updating the generator to just return total cost separate from the response chunk so the generator would have type Generator[BaseCallResponseChunkT, None, Optional[float]] and then return total cost at the end of the generator if available, otherwise return None.

The stream_options: {"include_usage": true} has been implemented with https://github.com/Mirascope/mirascope/pull/239

I imagine the other providers will follow how OpenAI and Cohere include usage when streaming. So rather than have return type be the cost, we should add properties, cost, usage, input_tokens, and output_tokens like we do for BaseCallResponse.
It would be as follows:
class BaseCallResponseChunk(BaseModel, Generic[ChunkT, BaseToolT], ABC):
    """A base abstract interface for LLM streaming response chunks.

    Attributes:
        response: The original response chunk from whichever model response this wraps.
    """

    chunk: ChunkT
    tool_types: Optional[list[Type[BaseToolT]]] = None
    cost: Optional[float] = None  # The cost of the completion in dollars

    model_config = ConfigDict(extra="allow", arbitrary_types_allowed=True)

    ...

class OpenAICallResponseChunk(BaseCallResponseChunk[ChatCompletionChunk, OpenAITool]):
    """Convenience wrapper around chat completion streaming chunks.

    When using Mirascope's convenience wrappers to interact with OpenAI models via
    `OpenAICall.stream`, responses will return an `OpenAICallResponseChunk`, whereby
    the implemented properties allow for simpler syntax and a convenient developer
    experience.

    Example:

    ```python
    from mirascope.openai import OpenAICall

    class Math(OpenAICall):
        prompt_template = "What is 1 + 2?"

    for chunk in OpenAICall().stream():
        print(chunk.content)

    #> 1
    #  +
    #  2
    #   equals
    #
    #  3
    #  .
    """

    response_format: Optional[ResponseFormat] = None

    @property
    def choices(self) -> list[ChunkChoice]:
        """Returns the array of chat completion choices."""
        return self.chunk.choices

    @property
    def choice(self) -> ChunkChoice:
        """Returns the 0th choice."""
        return self.chunk.choices[0]

    @property
    def delta(self) -> Optional[ChoiceDelta]:
        """Returns the delta for the 0th choice."""
        if self.chunk.choices:
            return self.chunk.choices[0].delta
        return None

    @property
    def content(self) -> str:
        """Returns the content for the 0th choice delta."""
        return (
            self.delta.content if self.delta is not None and self.delta.content else ""
        )

    @property
    def tool_calls(self) -> Optional[list[ChoiceDeltaToolCall]]:
        """Returns the partial tool calls for the 0th choice message.

        The first `list[ChoiceDeltaToolCall]` will contain the name of the tool and
        index, and subsequent `list[ChoiceDeltaToolCall]`s will contain the arguments
        which will be strings that need to be concatenated with future
        `list[ChoiceDeltaToolCall]`s to form a complete JSON tool calls. The last
        `list[ChoiceDeltaToolCall]` will be None indicating end of stream.
        """
        if self.delta:
            return self.delta.tool_calls
        return None

    @property
    def usage(self) -> Optional[CompletionUsage]:
        """Returns the usage of the chat completion."""
        if self.response.usage:
            return self.response.usage
        return None

    @property
    def input_tokens(self) -> Optional[int]:
        """Returns the number of input tokens."""
        if self.usage:
            return self.usage.prompt_tokens
        return None

    @property
    def output_tokens(self) -> Optional[int]:
        """Returns the number of output tokens."""
        if self.usage:
            return self.usage.completion_tokens
        return None

What will also need to be updated are our  stream and stream_async functions. We can check if usage exists, and call openai_api_calculate_cost if we detect it.
Finally, the user when iterating through the stream can check if cost exists.
from mirascope.openai import OpenAICall

class BookRecommender(OpenAICall):
    prompt_template = "Please recommend a {genre} book."

    genre: str

stream = BookRecommender(genre="fantasy").stream()
for chunk in stream:
    print(chunk.content, end="")
    if chunk.cost is not None:
        print(chunk.cost)

I wonder if we could take advantage of the generator return value to push the cost check inside of the generator if desired.
For instance:
stream = BookRecommender(genre="fantasy").stream()
for chunk in stream:
    print(chunk.content, end="", flush=True)
cost = stream.value  # Optional[float]

Internally we would check for the chunk cost (i.e. do everything the same as above) but return it so the user doensn't have to manually check if cost is not None

To enhance the functionality of streaming with OpenAI by incorporating cost tracking directly within the streaming process. This involves modifying the BaseCallResponseChunk class to include properties for cost, usage, input tokens, and output tokens, and adjusting the streaming functions (stream and stream_async) to calculate and handle these costs dynamically.
This steps are need to follow:
Step 1: Update the BaseCallResponseChunk Class
First, ensure that the BaseCallResponseChunk class includes properties for cost, usage, input tokens, and output tokens. This class acts as a base for all streaming response chunks, providing a consistent way to access these properties across different tools.
from pydantic import BaseModel, Field, Optional
from typing import Generic, Type, List, Union, Any, Dict, Optional
from abc import ABC, abstractmethod

class BaseCallResponseChunk(BaseModel, Generic[Any, Any], ABC):
    chunk: Any
    tool_types: Optional[List[Type[Any]]] = None
    cost: Optional[float] = Field(None, description="The cost of the completion in dollars")
    usage: Optional[Dict[str, int]] = Field(None, description="Usage statistics")
    input_tokens: Optional[int] = Field(None, description="Number of input tokens")
    output_tokens: Optional[int] = Field(None, description="Number of output tokens")

    @abstractmethod
    def __init__(self, **data: Any) -> None:
        super().__init__(**data)

Step 2: Modify Streaming Functions
Next, adjust the stream and stream_async functions to calculate costs dynamically based on the usage data returned by the API. You'll need to integrate the openai_api_calculate_cost function (or its equivalent for other APIs) to perform this calculation.
async def stream_async(self, *args, **kwargs):
    async for chunk in await self._api_call(*args, **kwargs):
        yield chunk
        if chunk.usage:
            cost = await openai_api_calculate_cost(chunk.model_name, chunk.input_tokens, chunk.output_tokens)
            chunk.cost = cost

Step 3: User Interaction
Users interacting with the stream can now easily access the cost information along with the content of each chunk. Here's an example of how they might use this enhanced functionality:
from mirascope.openai import OpenAICall

class BookRecommender(OpenAICall):
    prompt_template = "Please recommend a {genre} book."
    genre: str

stream = BookRecommender(genre="fantasy").stream()
for chunk in stream:
    print(chunk.content, end="")
    if chunk.cost is not None:
        print(f"\nCost: {chunk.cost}")

Additional Considerations

Ensure that the openai_api_calculate_cost function (or its equivalent for other APIs) accurately reflects the pricing model of the API you're using.
Test thoroughly to confirm that cost calculations are accurate and that the streaming process behaves as expected under various conditions.
Consider implementing error handling for cases where cost or usage data cannot be retrieved from the API.

By following these steps, you'll enhance the Mirascope project's ability to track costs during streaming sessions, providing users with valuable insights into their usage and expenses.

Hi, @willbakst, I am working on this issue and I was able to add the feature for OpenAI. Now while working for Cohere API, the usage() property for CohereCallResponse returns a type Optional[ApiMetaBilledUnits].
But now for the usage() property on  CohereCallResponseChunk; according to Cohere's Stream API it does not give the response with the same type (It gives the token_count property). Any ideas on how should I tackle that? I thought of creating a variable of the type Optional[ApiMetaBilledUnits] based on the data available from token_count.
Example:
 "token_count": {
            "prompt_tokens": 2821,
            "response_tokens": 29,
            "total_tokens": 2850,
            "billed_tokens": 37
        }

can be converted to:
 "billed_units": {
            "input_tokens": 8,
            "output_tokens": 29
        }

Please submit the PR for OpenAI first without the cohere stuff so we can review in smaller chunks.
Please also move the discussion on Cohere to its issue so we can continue tracking even if we close this issue. I’ll need to take a deeper look into the cohere API to give the best answer. My quick answer would be that massaging the data into the desired format could work, but if you think there’s a better option we can always review in the PR where we can better see how it works all together.
Thanks!

I was going to raise the PR for OpenAI, but the issue with that was that as I made changes to the BaseCallResponseChunk abstract class it required changes to be made in all the classes implementing this class and was failing some test cases. So should I raise the PR anyways?

I would only add the abstract methods if we’re going to require these methods on all response chunk types, but given that not all of them currently support streaming cost tracking we should just make the methods specific (for now) to the providers that support it.

This is released in v0.16 🎉


Fix paths, dcpy install for qa app docker build

quick fix for a broken docker build
Fixed action
I feel like I'm starting to tie myself in knots with these python dependencies within the apps. Difficulty of getting dcpy into data-library very tied to this as well. Think we should merge this as is assuming all goes well, but we need to brainstorm a better long term solution - copying around files manually and then having assumptions made in the dockerfile, needing to only build it from a specific script, etc all seems a bit unsustainable.

Reverting to draft as I fix a bug in the app, separate from docker stuff


Overlay Polylines

I want to overlay two Polylines. One has a strokeWidth of 4, the other one of 2. How would I tell react-native-maps that the one with the strokeWidth of 4 is the underlaying one? Simply rendering it after the thinner line isn't doing the trick.

https://github.com/airbnb/react-native-maps/issues/1181
By adding a zIndex higher to both lines works.


firefox-bin: add maintainer

Motivation for this change
As I have joined the Package Maintainer Team and the firefox-bin package have no maintainer.
Should I also add @edolstra and @andir, who are the maintainers of the firefox package? @adisbladis is also a candidate as they updates beta and deveditions.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Should I also add @edolstra and @andir, who are the maintainers of the firefox package?

No, the maintainership of -bin and source based derivations are completely separate for a reason.

@adisbladis is also a candidate as they updates beta and deveditions.

Yes, I'll add myself as a maintainer for this package.


Fix Issue Mag does not start

https://github.com/i4mi/MobileAccessGateway/issues/145

Okay, let's merge that. I should review the default configuration, I don't know why we are loading dummy keystores.


add attribution for kernel-kernel delay and check for sync on same strea

…ream
What does this PR do?
This was helpful in while i was debugging a change in critical path graph while fixing #117
It ensures that two GPU kernels do not get marked with sync dependencies on the same stream
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos, doc improvements)

[ ] N/A

[ ] Did you write any new necessary tests?

[x] N/A

[ ] Did you make sure to update the docs?

[x] N/A

[ ] Did you update the changelog?

[x] N/A

Codecov Report
Attention: Patch coverage is 65.21739% with 8 lines in your changes are missing coverage. Please review.

Project coverage is 91.20%. Comparing base (c980c48) to head (6a7ba71).

Files
Patch %
Lines

hta/analyzers/critical_path_analysis.py
63.63%
8 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #125      +/-   ##
==========================================
- Coverage   91.30%   91.20%   -0.10%
==========================================
  Files          50       50
  Lines        4727     4744      +17
==========================================
+ Hits         4316     4327      +11
- Misses        411      417       +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Build failures on OOM

Recently, after adding another sub-module, there are frequent build failures, caused by OutOfMemoryErrors.

#856 is just a proposal. Maybe we can just increase -Xmx?

Closed by #851


OpenAPI (Swagger)

Feature Request
Autogenerated OpenAPI
Motivation
The C# implementation has (in addition to existing Tonic features for a JSON API) an autogenerated OpenAPI spec that can be consumed by Swagger UI to generate a grpcui like test console that runs in a browser (not electron) for the JSON API.
Proposal
This should probably be implemented in a way similar to gRPC Reflection: as a service.
Alternatives
Currently, there's not any good alternatives. There may be a way to generate OpenAPI with gRPC-Gateway, but that's redundant with Tonic's JSON API. The information is already present.

I just had to do a project in C# since gRPC, gRPC-Web and a JSON over HTTP with OpenAPI and Swagger UI were all requirements.
I could have done it with the Go based gRPC Gateway generated from the .proto file, and although that would go into a single k8s pod, they didn't like having 2 containers.
Is any work being done in this area?

I don't know of anyone working on this.
Is it something that could be explored in standalone crate?

Maybe. I don't have time to deep dive into Tonic to find out, right now. I'll post here if I start working on it.

I think that it might be best to look at Prost first. Because REST can be HTTP 1 as well, there may need to be some Hyper and/or Axum parts to make all of it work, but first, I'll look at Prost, since the code generated by it seems to be a big part of Tonic. https://github.com/tokio-rs/prost/issues/592


Lite version cannot update settings, cannot open user chat area

Hi, Antony here, testing on codeigniter
I Installed lite free version, the chat bubble appears well, users appear well but i cannot save settings nor open users chat area. something am doing wrong?

You need to set Admin User Id, check this-
https://addchat-docs.classiebit.com/docs/1.0/admin/settings#Widget-Config

I have a problem when saving in the profile in the admin its always saying The userfield is required


Fix TN-702 (TN-724, TN-725)

Fix TN-702 (TN-724, TN-725)
Organiation:ResearchProtocol now a many:many with retired date.
QB lookup now considers historical research protocols if given
an as_of_date (say from paper assisted) backdated to previous QB.

Hello @pbugni! Thanks for submitting the PR.

In the file portal/migrations/versions/63262fe95b9c_.py, following are the PEP8 issues :

Line 21:5: E128 continuation line under-indented for visual indent
Line 22:5: E122 continuation line missing indentation or outdented
Line 23:5: E122 continuation line missing indentation or outdented
Line 24:5: E122 continuation line missing indentation or outdented
Line 25:5: E122 continuation line missing indentation or outdented
Line 26:5: E122 continuation line missing indentation or outdented
Line 26:101: E501 line too long (101 > 100 characters)
Line 27:5: E122 continuation line missing indentation or outdented
Line 28:5: E122 continuation line missing indentation or outdented
Line 28:101: E501 line too long (106 > 100 characters)
Line 37:101: E501 line too long (120 > 100 characters)
Line 38:101: E501 line too long (127 > 100 characters)

In the file portal/models/organization.py, following are the PEP8 issues :

Line 73:9: E116 unexpected indentation (comment)

In the file tests/test_questionnaire_bank.py, following are the PEP8 issues :

Line 41:45: E231 missing whitespace after ','


[BUG]

Environment
In my application, requirement is to connect the pages on button click action. I have created 2 to 3 pages, and i have to navigate from one page to another page on button click. How can we achieve that?
//this is the code i have tried
At first i created a class
import ButtonComponent from 'formiojs/components/button/Button.js';
export class FormioButtonComponent extends ButtonComponent {
constructor(component, options, data) {
super(component, options, data);
}
build() {
super.build();
this.addEventListener(this.buttonElement, 'click', (event: any) => {
console.log('event', event);
//Here i am trying to extend click functionality with my custom logic
router.navigatebyURL(page);
}
}
}

so that i could be able to pass the page name for navigating.
Regards in Advance

We're currently addressing a backlog of GitHub issues, and as part of this effort, some inactive issues may be marked as closed. This isn't a dismissal, but a step toward more efficient tracking.
If you feel the issue is still relevant, please re-open and we'll ensure it gets the attention it deserves. Your understanding is appreciated as we work to enhance our open-source responsiveness.


Update paragraph.rs

Adds a note about paragraphs in blocks.  This is after a bug we struggled with for half a day.

This behavior is shared by all widgets using a block. Would you consider this concept easier to approach if it was mentioned on the Block documentation directly ?


⚠ ClamAV has degraded performance

In 4e4df51, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 450 ms

Resolved: ClamAV performance has improved in 60badde.


SVG morphing

Dependence: https://github.com/alexk111/SVG-Morpheus
Demo: https://codepen.io/DIYgod/pen/Bdqjbj

Your idea for this feature is build it in a separate bundle?
Ex.: dplayer-with-morpheus.min.js
I think make SVG animations optional is better for the final bundle size

No, I think we should regard SVG-Morpheus as a optional plugin. Load svg-morpheus.js before DPlayer.min.js, like hls.js and flv.js.

Sure, I'll separate some time to analyze the impacts for this implantation

Not worth it unless you want to maintain svg-morpheus. As you can see on the github link it is no longer maintained. https://github.com/alexk111/SVG-Morpheus

https://useanimations.com/#explore


⚠ Minecraft has degraded performance

In a9c367a, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1336 ms

Resolved: Minecraft performance has improved in 6737173.


migrate flask-babelex to Flask-Babel

the flask-babelex is archived by the owner
and in the repo page, suggest us migrate to the new Flask-Babel

I love the suggestion, but it would be necessary to do modification inside all the exemple (requirements and import), readme, setup and requirements-dev

+1 for this!

The latest release appears to support both libraries at the moment (with preference to flask-babelex)

Closing to move new discussion here: https://github.com/pallets-eco/flask-admin/issues/2447


Create a pull request “First release to production”

Create a pull request “First release to production”


Carbon package version needs update in composer

Your requirements could not be resolved to an installable set of packages.

Problem 1     - Installation request for gerardojbaez/laraplans ^2.2 -> satisfiable by gerardojbaez/laraplans[v2.2.0].     - gerardojbaez/laraplans v2.2.0 requires nesbot/carbon ~1.21 -> satisfiable by nesbot/carbon[1.21.0, 1.22.0, 1.22.1, 1.23.0, 1.24.0, 1.24.1, 1.24.2, 1.25.0, 1.26.0, 1.26.1, 1.26.2, 1.26.3, 1.26.4, 1.27.0, 1.28.0, 1.29.0, 1.29.1, 1.29.2, 1.30.0, 1.31.0, 1.31.1, 1.32.0, 1.33.0, 1.34.0, 1.34.1, 1.34.2, 1.34.3, 1.34.4, 1.35.0, 1.35.1, 1.36.0, 1.36.1, 1.36.2] but these conflict with your requirements or minimum-stability.

:+1:

+1

+1, laravel 5.8 cannot install

+1, laravel 5.8 cannot install

Try installing laraplans manually for now. I have pull it down, changed the version to "nesbot/carbon": "~1.21" and update composer afterwards to pick up changes. I haven't noticed any issues yet but I can continue working with my project.

Try installing laraplans manually for now. I have pull it down, changed the version to "nesbot/carbon": "~1.21" and update composer afterwards to pick up changes. I haven't noticed any issues yet but I can continue working with my project.

I tried what you told but i can't install it on laravel 5.8, cause when i change "nesbot/carbon" version to "~1.21" i got this :
Problem 1
    - Conclusion: remove laravel/framework v5.8.13
    - Conclusion: don't install laravel/framework v5.8.13
    - rennokki/plans 1.6.0 requires illuminate/support ~5.5.0|~5.6.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev], illuminate/support[5.5.x-dev, 5.6.x-dev, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9].
    - rennokki/plans 1.6.1 requires illuminate/support ~5.5.0|~5.6.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev], illuminate/support[5.5.x-dev, 5.6.x-dev, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9].
    - rennokki/plans 1.6.2 requires laravel/framework ~5.5.0|~5.6.0|~5.7.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev, 5.7.x-dev].
    - rennokki/plans 1.6.3 requires laravel/framework ~5.5.0|~5.6.0|~5.7.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev, 5.7.x-dev].
    - Can only install one of: laravel/framework[5.6.x-dev, v5.8.13].
    - Can only install one of: laravel/framework[5.7.x-dev, v5.8.13].
    - Can only install one of: laravel/framework[5.5.x-dev, v5.8.13].
    - don't install illuminate/support 5.6.x-dev|don't install laravel/framework v5.8.13
    - don't install illuminate/support v5.6.0|don't install laravel/framework v5.8.13

Try installing laraplans manually for now. I have pull it down, changed the version to "nesbot/carbon": "~1.21" and update composer afterwards to pick up changes. I haven't noticed any issues yet but I can continue working with my project.

I tried what you told but i can't install it on laravel 5.8, cause when i change "nesbot/carbon" version to "~1.21" i got this :
Problem 1
    - Conclusion: remove laravel/framework v5.8.13
    - Conclusion: don't install laravel/framework v5.8.13
    - rennokki/plans 1.6.0 requires illuminate/support ~5.5.0|~5.6.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev], illuminate/support[5.5.x-dev, 5.6.x-dev, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9].
    - rennokki/plans 1.6.1 requires illuminate/support ~5.5.0|~5.6.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev], illuminate/support[5.5.x-dev, 5.6.x-dev, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9].
    - rennokki/plans 1.6.2 requires laravel/framework ~5.5.0|~5.6.0|~5.7.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev, 5.7.x-dev].
    - rennokki/plans 1.6.3 requires laravel/framework ~5.5.0|~5.6.0|~5.7.0 -> satisfiable by laravel/framework[5.5.x-dev, 5.6.x-dev, 5.7.x-dev].
    - Can only install one of: laravel/framework[5.6.x-dev, v5.8.13].
    - Can only install one of: laravel/framework[5.7.x-dev, v5.8.13].
    - Can only install one of: laravel/framework[5.5.x-dev, v5.8.13].
    - don't install illuminate/support 5.6.x-dev|don't install laravel/framework v5.8.13
    - don't install illuminate/support v5.6.0|don't install laravel/framework v5.8.13

I assume you changed the dependancy in laraplans package and not the main carbon package?
{
"name": "gerardojbaez/laraplans",
"description": "SaaS style recurring plans for Laravel.",
"keywords": ["plans", "laravel", "subscriptions", "memberships"],
"license": "MIT",
"type": "library",
"require": {
"php": ">=5.5.9",
"nesbot/carbon": "~1.21",
"illuminate/support": "~5.3",
"illuminate/database": "~5.3"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"orchestra/testbench": "~3.3.0",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0"
},
"autoload": {
"psr-4": {
"Gerardojbaez\Laraplans\": "src/Laraplans/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
],
"psr-4": {
"Gerardojbaez\Laraplans\Tests\": "tests/"
}
},
"minimum-stability": "dev"
}

Okay let me try this time. I will download the laraplans package in my laravel project

This is temporary solution, package should fix requirements

Same problem. I've been using this package in many of my projects, my new laravel project is version 5.8 and this won't install with it. Kindly, update it as soon as possible.
I don't understand the temporary solution you guys are discussing. how do I change the dependency "nesbot/carbon": "~1.21"  in laraplans package.

@gerardojbaez any updates?


Inclusion of DirectStorage

Both an entry and link for DirectStorage have been added to the graphics and multimedia page.

Assigning to Steve


Does optional work in class constructor?

I've made a class with this constructor:
MyClass::MyClass(sol::optional<std::string> a)
{
	std::string value = a.value_or("nothing");
	printf("%s", value.c_str());
}
and an usertype:
lua.new_usertype<MyClass>("MyClass",
	"new", sol::constructors<sol::types<sol::optional<std::string>>>()
);
In Lua I did:
MyClass.new("test") -- works fine, prints "test"
MyClass.new(nil) -- works fine, prints "nothing"
MyClass.new() -- error
in the last line Sol says "no matching function call takes this number of arguments and the specified types"
shouldn't it automatically be nil if there isn't arguments?
I know I could use other constructor, I just want to know if it's possible to use optional in class constructors. Thanks a lot for the library :)

It's not possible right now, unfortunately, because it means it would be almost-impossible to differentiate between 2 overloads like:
MyClass( )
MyClass( sol::optional<int> )
I could try to enable it anyways, hope that it doesn't break anything, but on some basic testing it turns out it ruins a LOT of the overloading and construction assumptions...

Thanks for the reply, it's okay if you can't add this feature because of the overloading and etc


GCE: Reduce the frequency of calls to "compute.instances.get" API

The current default free quota for requests to the GCE API is 250,000 requests/day.
We're finding that we easily exceed that when attempting to run a k8s cluster with 20 or more minions.
Some numbers for reference (pulled from the GCE console):
20 minions ~ 3.2 /sec ~ 276K requests/day to "compute.instances.get", which exceeds the daily quota
12 minions ~ 2.1 /sec ~ 181K requests/day
We're running k8s v0.8.1 FWIW.
The number of calls to the other GCE API methods pales in comparison, with compute.instances.get making up ~95% of all the API traffic:

method
count
%

compute.instances.get
960,002
95.2%

compute.instances.list
33,347
3.3%

compute.zones.list
6,050
0.6%

...
...
...

We've scaled down the number of minions for now, until we either request a quota increase, or the API call frequency is reduced somewhat.

@ddysher can you look at the minion controller and see if it is doing anything silly that might cause it to send so many requests?

Hmm.  thinking about this more, if the rate is higher with more minions, then this may be something on the minions rather than in controller manager.  I'll take a look.

The three places I can see we call compute.instances.get are in Instances.GetNodeResources, Instances.IPAddress and Instances.AttachDisk.

worklog:
GetNodeResources just gets called from cloudNodes in pkg/cloudprovider/controller/nodecontroller.go.
which is called by SyncCloud in that file.
which is called in a util.Forever loop in that file with period of every 10 seconds.
So, unless the period is somehow wrong, that doesn't seem like it would be the problem.

IPAddress is used by nodecontroller in the same 10-second loop.

I think we're doing the exact same grepping.  :-)

I take back what I said before.
At 24 hours a day, 60 minutes an hour, and 6 10-second periods per hour, that would be 8640 SyncCloud calls per day.
At 20 minions, with one call to IPAddress and one to GetNodeResources resulting in 2 calls each, you get 345600 calls per day.  That is significant.

The quickest thing would be for me to put together a PR to make the period flag controllable in cmd/kube-controller-manager/controller-manager.go.

The one concern I have about lowering that rate is that if we make it wait, say, 60 seconds between SyncCloud calls, then will it take up to a minute for a cluster to come up?  That would be bad for our e2e testing.
Possible improvements:

gradually increase period from 10s to 60s after restart of node controller.
keep listing 10-second-ly, but if the list of names is the same, then only check for different ip address or resources every nth time.  If it is different, always check at least the newly added minions.

@dcarney if I put together a PR, are you readily able to build and deploy a binary from head to verify the fix?

IPAddress also gets called by the apiserver's NewIPCache 30-secondly.  That would account for 57600 calls per day at 20 minions.

@erictune Sure.  I'll have to coordinate the cluster downtime/switchover (since it's a working cluster) to test it out.

The AttachDisk does not appear to do a get in the normal case.  If could do a lot of some minions were stuck in loops where they repeatedly failed to attach PDs.  Assume that isn't the case right now.

@erictune Correct.  The PDs we do have in the cluster right now are successfully attached.

Thinking about this more, I think a flag is a good fix for the near future:

longer lags make debugging harder.  better to at least make it more obvious when a longer lag is introduced.
changing the check interval will interact with any horizontal or vertical auto-scaling that may be added in the future, as well as dealing with node reboots, device attaches, etc.  It is not obvious that list-often get-less-often heuristic works with all those cases.
until we have a better fix, like higher GCE free quotas or a watch interface, users will have to make cheap vs fast tradeoff.
flag-controlled interval should work with all cloud providers.  List vs Get distinction may not exist for all.

I'll get to this later today or tomorrow.

@erictune I think flag controlled period works for now, do you want me to put a PR for this?
The syncing procedure will 1. monitor the number of minions in cluster, and 2. keep their info up to date.  The first function should have a higher priority for k8s to be responsive, and the second one is not that important as a node resources / ipaddress won't that so frequent.
Apart from flag control, I'd want to cache the node resources / ipaddress information in controller.  We still keep the sync time to 10s, but make the cache expire time to be n times sync-time.  So we have a fast cluster bootstrap and new node registration (cache empty), while also restrict calls to cloud provider.
I'd really like a watch interface from gce BTW.

Yes, please do put out a PR for just the flag to stop the hurting.  And
then let's talk with internal folks about what the prospects are for higher
quota or watch,  And then design something smarter in the minion controller
if necessary.
On Tue, Jan 20, 2015 at 4:34 PM, Deyuan Deng<EMAIL_ADDRESS>wrote:

@erictune https://github.com/erictune I think flag controlled period
works for now, do you want me to put a PR for this?
The syncing procedure will 1. monitor the number of minions in cluster,
and 2. keep their info up to date. The first function should have a higher
priority for k8s to be responsive, and the second one is not that important
as a node resources / ipaddress won't that so frequent.
Apart from flag control, I'd want to cache the node resources / ipaddress
information in controller. We still keep the sync time to 10s, but make the
cache expire time to be n times sync-time. So we have a fast cluster
bootstrap and new node registration (cache empty), while also restrict
calls to cloud provider.
I'd really like a watch interface from gce BTW.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/3643#issuecomment-70763419
.

SGTM

@ddysher are you still looking at this?  if not, could you please summarize and unassign?

Yeah, it's still relavant to what i'm working on, but a little bit of summary here.  We have different syncs:
Sync Node From CloudProvider
This sync is to make sure k8s nodes are kept in sync with VMs in cloudprovider.  The frequency is controlled by flag "node_sync_period", default is 10s.   Every 10s, we call:

cloud.Instances()  x 1
instances.GetNodeResources() x NumberOfNodes
instances.ExternalID() x NumberOfNodes

Sync Node Status
When k8s operates in pull mode, node controller keeps polling node status from kubelet, as well as other status information from cloudprovider.  The frequency is controlled by flag "node_sync_period", default is 10s.   Every 10s, we call:

cloud.Instances()  x 1
instances.NodeAddresses() x NumberOfNodes

Sync Node Status
When k8s operates in push mode, node controller monitors node status posted from kubelet, so it will not contact cloudprovider.  However, this means node addresses will never be updated.
The direction is to have kubelet post node status; so a lot of calls to cloudprovider will be eliminated.  I'll keep the thread updated.
As to other places calling cloudproviders, I think I've removed them, unless we recently added some.

/cc @gmarek

I believe it's obsolete. Please reopen if I'm mistaken.


modify the lazy iterator of index#574

What changes were proposed in this pull request?
The goal of this pr is to improve the efficiency of the usage of cache.
Change BTreeIndexRecordReader.initialize implementation：
1、internalIterator  is not lazy iterator.
2、close is always called in finally.
How was this patch tested?
Existing unit tests passed.
Add a new test in BTreeIndexScannerSuite:
"read rowId after remove fiberCache"
Modify other tests for 'findRowIdRange' to new change.

This PR is not a good idea, close it.


Fixes: #41 - Added .editorconfig file

Fixes: #41
Changes:

Added .editorconfig file

@rajikaimal  please review

Nice !

Note: Build fails because of timeout issue, will be fixed with #39

Thanks @isuruAb


Customize Virtual Paths

Hi!
Is there any form to customize the virtual paths, in my case in visual studio, with vpath genie function? I tried this without success:
function projectExtraConfig_BuilderGui()     files {         path.join(BUILDER_GUI_DIR, "src/*.h")     } 	vpaths { 		["Sources"] = {"**.cpp"}, 		["Headers"] = {"**.h"} 	} end
But it does not work, maybe placing it in other function?

Check configurations.lua - at the very end of the file you can see how it's handled.
You can modify it to your liking.


DomainMapping exposes the cluster-local knative service to the public

Expected behavior:
After creating a domainmapping to map a custom domain to a cluster-local service, the domainmapping should only be effective within the cluster. The knative service should not be accessible from outside of the cluster.
Note: this is my personal understanding. We could also disallow creating DomainMapping to a cluster local service. At least I don't think we should expose cluster-local service to public through DomainMapping

Actual behavior:
After creating a DomainMapping to map to a cluster-local service, the service is able to be accessed by using the custom domain from outside of the cluster.

/cc @julz

Hm. This is working as designed. If you create a domain mapping you are creating an external name for the service and exposing it. You may want to point a DM at a cluster local service for example if you only want to expose the fancy name and not the auto generated one foo.myns.mydomain one. Since the user explicitly creates the DM, and only DMs within a target in the same namespace are supported, I don't think DMs can expose a service outside a ns a user controls?

I also think this is expected design.
As julz mentioned, the cluster-local ksvc could be exposed but it is done by a user controls, so it should be no problem.

OK this sounds fair. I created a PR to explicitly point it out in our doc https://github.com/knative/docs/pull/3704

/close


[Feature] Make a qrcode-generator based on mmagic

Make a QRcode generator based on mmagic

Nice job.
But I got an error when I run the demo.
OSError: class ControlStableDiffusion in mmagic/models/editors/controlnet/controlnet.py: class ControlNetModel in mmagic/models/archs.py: ioclab/control_v1p_sd15_brightness does not appear to have a file named diffusion_pytorch_model.bin.

Hi @yayoyo66,
We'd like to express our appreciation for your valuable contributions to the playground. Your efforts have significantly aided in enhancing the project's quality.
It is our pleasure to invite you to join our community thorugh Discord_Special Interest Group (SIG) channel. This is a great place to share your experiences, discuss ideas, and connect with other like-minded people. To become a part of the SIG channel, send a message to the moderator, OpenMMLab, briefly introduce yourself and mention your open-source contributions in the #introductions channel. Our team will gladly facilitate your entry. We eagerly await your presence. Please follow this link to join us: https://discord.gg/UjgXkPWNqA.
If you're on WeChat, we'd also love for you to join our community there. Just add our assistant using the WeChat ID: openmmlabwx. When sending the friend request, remember to include the remark "mmsig + Github ID".
Thanks again for your awesome contribution, and we're excited to have you as part of our community!


flitterbat, experiencible

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 5
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[e,f]

/trunk merge


moved windows workflow to Kubernetes hosted runner

moved the windows MSVC workflow to a kubernetes hosted windows runner.  Also moved a file location to Azure instead of GCP.
ci-exactly: windows_x64_msvc

Please also follow the policies at https://iree.dev/developers/general/contributing/

Follow the branch naming conventions

And general github best practices

Capitalize the first word in the PR title (and follow similar writing guidelines for the PR description)
Avoid force pushing once code review has started


[Karpenter] Allow pod-identities statement to be disabled

Is your request related to a problem? Please describe.
EKS pod-identities are not available in all regions. Thus the newest version of the Karpenter sub-module does not work in such regions when trying to create an IAM role:
Error: creating IAM Role (KarpenterController-20240205212716330000000002): MalformedPolicyDocument: Invalid principal in policy: "SERVICE":"pods.eks.amazonaws.com"

If the pod-identity statement was able to be disabled, this would not be an issue and the toggleable IRSA statement would be used instead.
Describe the solution you'd like.
An enable_pod_identities variable (defaults to true)
Describe alternatives you've considered.
Continuing to use the previous module version, without the nice new updated Karpenter policy, access entries, etc.

This issue has been resolved in version 20.2.0 :tada:


Webview can not download image file

Bug description:
Hi,
I am using html file to create image and download.
These are my HTML Image creation java script.
      var link = document.createElement("a");
      link.download = "image.png";

      canvas.toBlob(function(blob){
        link.href = URL.createObjectURL(blob);
        console.log(blob);
        console.log(link.href);
        link.click();
      },'image/png');

The site link is https://test.bdanam.com/index3.html?data=0
When I use mobile browser I can download the image but when I use the webview, I can not download the image.
From the site I take a picture and download to the mobile.
This is my React Native Webview Code.
<WebView
        source={{ uri: 'https://test.bdanam.com/index3.html?data=0' }}
        originWhitelist={['*']}
        mixedContentMode={'always'}
        scalesPageToFit={true}
        allowsInlineMediaPlayback={true}
        allowsFullscreenVideo={true}
        allowFileAccess={true}
        domStorageEnabled={true}
        startInLoadingState={true}
        allowUniversalAccessFromFileURLs={true}
        javaScriptEnabled={true}
        mediaPlaybackRequiresUserAction={false}
        {...platformProps}
        style={{ flex: 1 }}
      />

I can not download the image from React Native.
I follow this method. https://github.com/react-native-webview/react-native-webview/blob/master/example/examples/Downloads.tsx
To Reproduce:
Open the Webview from the site and take picture, no image start download. https://test.bdanam.com/index3.html?data=0
But from mobile browser can download.

Environment:

OS: Android
OS version: Emulator API 34
react-native version: 0.71.11
react-native-webview version: 13.2.2

You put "Windows" as the OS, but assuming that you mean Android, it sounds like you're running into the lack of support for blob downloads.
You could look at https://github.com/react-native-webview/react-native-webview/pull/3022

Hi,
According to your advice, I have implemented the blobDownloadingEnabled.
Below is my ReactNative code.
      <View style={{ height: 520 }}>
        <WebView

          source={{ uri: 'https://test.bdanam.com/index3.html?data=0' }}
          startInLoadingState={true}
          javaScriptEnabled
          blobDownloadingEnabled
          allowFileAccess
          domStorageEnabled
          mixedContentMode='always'
          allowUniversalAccessFromFileURLs
          originWhitelist={['https:*', 'blob:*']}
          {...platformProps}
        />
      </View>

It is not working. Please guide me. I have updated the OS information.

I did not work on that PR and cannot guide you.

Any one who is expert please guide me.

Since that change hasn't been merged into the library yet, the only expert would be the author of the PR.

thanks

try this https://github.com/react-native-webview/react-native-webview/issues/3445#issuecomment-2349318406

still issue exists


Proposed fix for WW-5029 for the 2.5.x branch

Proposed fix for WW-5029 for the 2.5.x branch:

NOTE: If the PR is accepted please credit Maxime Clement for this change as they found
the issue, identified the probable cause/related details and opened the JIRA.
Updated XWorkConfigurationProvider buildAllowedMethods(), loadGlobalAllowedMethods() so that
they now handle situations when a SAX parser produces multiple elements to represent the tag
body value.
No changes to unit tests.

Coverage increased (+0.006%) to 47.003% when pulling 7d6c9456d60cdde0c42c15fdd22b4714b2fc7f57 on JCgH4164838Gh792C124B5:localS2_25x_B7 into<PHONE_NUMBER>2b1e673402e21d52320fe41dbda500 on apache:struts-2-5-x.

Hello Apache Struts Team.
It wasn't possible to re-create the issue that Maxime Clement identified in the JIRA, but the analysis that was provided in the JIRA makes sense given the code.
Please review the PR and advise what you think.  It should be a pretty safe change, but something may have been overlooked.
The regression passed and debug output of the Showcase application (with some artificial global-allowed-methods and allowed-methods added in for testing) showed expected results for the "Collected allowed methods:" log output.

Oops ... please ignore the intermediate commit above.  Accidentally copied changes meant for another branch into this one and had to unwind the changes with a force-push.  :blush:
Unfortunately it upset coveralls ... but otherwise I think I restored the PR to its proper state ...

Thanks to @mclem the PR has been updated with (hopefully) corrected logic to guard against the scenario he identified.
If anyone can confirm the fix appears to work (or appears to still fail) when running under WebSphere please advise.

Hello Again.
Some unit tests for this PR's intended fix have been added.  In addition two new unit tests for testing Result types were also added.  The mock objects being used are a little rough, but appear to be sufficient for test purposes.
If anyone notices issues with the tests, please advise.

Hello @mclem .
Please advise if the updated changes look OK now.  If the intermittent SAX parsing issue can happen with WebSphere 8.5 it might affect other application servers (intermittently) as well.
If @lukaszlenart , @aleksandr-m and @yasserzamani have any recommendations for additional changes or improvements to this PR they can advise.

Nope, astonish work! 👏

LGTM too  👏


add option to use active/used memory

fixes #1.
~Let me know if the styling conventions are not to your expectation.~
well human's infinite wisdom forgets to run npm test

Coverage decreased (-0.6%) to 73.171% when pulling 7607ccb1fa40b617e769cfee5eba786945d02364 on zllovesuki:master into d0146730e4f86973916464009d7c73d1dbc93149 on valeriansaliou:master.

for some reasons I can't run istanbul
Rachels-MacBook:node-vigil-reporter rachel$ npm run coveralls

><EMAIL_ADDRESS>coveralls /Users/rachel/code/node-vigil-reporter
> istanbul cover _mocha --report lcovonly && cat ./coverage/lcov.info | coveralls

Unable to resolve file [_mocha]

I've refactored a bit your code to move the use_active_memory option to a new optional tuning parameter. I'll make it generic over all Vigil libraries in any language, to define library-specific tuning parameters, that may not follow the same format over different programming languages.
I've also released all this under v1.0.8 on NPMJS. Thanks again! 😃


Allow use of Signet and Regtest networks

I think this issue pairs well with #4. When creating a wallet, the user should be able to choose a network to use, including:

Any signet they want
Local regtest networks if they have a valid esplora/electrum/rpc enpoint they can point a client to

Because there might be many different version of each of those, they probably need some sort of user-defined name for display and debugging.

Done!


Refactor system resources into type pgtune.SystemConfig

For the maintainability of interfaces it is going to be easier to
expand/modify a separate type containing all variables that may
affect pgtune settings rather than passing each one as a separate
argument to all the methods that need to know about them.

Codecov Report

Merging #10 into master will decrease coverage by 0.03%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   87.27%   87.24%   -0.04%
==========================================
  Files          14       14
  Lines         621      627       +6
==========================================
+ Hits          542      547       +5
- Misses         69       70       +1
  Partials       10       10

Impacted Files
Coverage Δ

pkg/pgtune/tune.go
100% <100%> (ø)
:arrow_up:

pkg/tstune/tuner.go
74.4% <66.66%> (-0.3%)
: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 6dbddb3...f1c182a. Read the comment docs.


[SPARK-10397] [PySpark] Made python SparkContext self-descriptive

Can one of the admins verify this patch?

Is it too verbose to contain so much information in the normal repl string?

Its going to be hard for us to guess what info will be useful to the user when inspecting the context. This way you get a dump of it all, with on average around 10-15 lines (guessing) which is not too bad for a manual triggered inspection.

On the second thought, I can take out the pretty print from "repl" to make it more condensed. Is that what you were referring to?

pull request updated


storiesPattern doesn't need be prefixed by rootDir

I notice that storyUrls are listed using the glob storiesPattern using rootDir as current working directory, then it's unnecessary prefixing it.
Without prefixing rootDir we have more flexibility with stories config flag (very useful in monorepos)
https://github.com/open-wc/open-wc/blob/bb3875dd7e356a2ca6b723d89b71d78ed3827ce7/packages/demoing-storybook/src/start/cli.js#L23-L24

I merged https://github.com/open-wc/open-wc/pull/1152 but I'm not sure if it fixes your issue. A user would expect that the stories pattern resolves relative to your current working directory, not the root dir. Especially in monorepositories. With this change, you'd still be resolving from the root dir I think.
@daKmoR should we change this to resolve relative to the working directory?

Yes, I tested locally and works in rootDir and monorepository. But It could be great if someone else can test it.
Thanks!

Closing this as we settled on a solution in https://github.com/open-wc/open-wc/pull/1160


error after setup.

Hey, thanks for making this integration! I am so looking forward to use it.
I installed and set it up fine, but I get the following error.
I am running 2022.08, hosted/supervised on an ordroid n2.
Logger: custom_components.biketrax.coordinator
Source: custom_components/biketrax/coordinator.py:115
Integration: PowUnity BikeTrax (documentation, issues)
First occurred: 01:06:16 (4 occurrences)
Last logged: 01:08:28
Unexpected error fetching biketrax--subscription data:
Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 205, in _async_refresh     self.data = await self._async_update_data()   File "/config/custom_components/biketrax/coordinator.py", line 115, in _async_update_data     await device.update_subscription()   File "/usr/local/lib/python3.10/site-packages/aiobiketrax/client.py", line 167, in update_subscription     ] = await self._account.admin_api.get_subscription(   File "/usr/local/lib/python3.10/site-packages/aiobiketrax/api.py", line 400, in get_subscription     return models.subscription_from_dict(response)   File "/usr/local/lib/python3.10/site-packages/aiobiketrax/models.py", line 730, in subscription_from_dict     return Subscription.from_dict(s)   File "/usr/local/lib/python3.10/site-packages/aiobiketrax/models.py", line 544, in from_dict     subscription_id = from_none(obj.get("subscriptionId"))   File "/usr/local/lib/python3.10/site-packages/aiobiketrax/models.py", line 35, in from_none     assert x is None AssertionError
Let me know if I should pull more logs etc ?

I read from the aiobiketrax library discussion that this may be related to the "from_none" change in the works.
Let me know if there is a way I can test it for you.

@gllmlbrt thanks for reporting the issue.
It is likelike that this issue will be fixed with the next version of aiobiketrax, because subscriptionId can also be string. I hope to have a new version ready soon.

I've managed to implement everything I want in the next release, including a bunch of fixes. I am testing this version now, and will release it after a few days of testing.


experimental: Setup sourceExts to resolve ios.visionos.js files

Summary:
This draft's intention is to show anyone interested in having platform extensions for visionOS on how to do it.
We can consider converting that to documentation (not sure where to put it though).
Changelog:

Test Plan:

This PR is so behind it's not useful to keep it as a reference, let's reopen it when/if we get back to this subject

Here is a solution for this problem by @douglowder: https://github.com/douglowder/metro-resolver-platform-variants/blob/main/README.md


[GCI] Move user authorization methods to policy, with tests

Fixes #663
Describe the changes you have made in this pr -
Move authorization methods from user model to project policy.
Includes tests to ensure no decrease in coverage.
GCI task

Coverage decreased (-28.6%) to 54.678% when pulling e8ac499d6e82ee7d29f799a606183b2199773dbb on junron:663auth_mov into 0617f123c2653b67c4697400724ad0b49cc2b144 on CircuitVerse:master.

@tachyons Please review. At least the files changed have 100% coverage.

Can you also add tests to check of.user has edit açcess after deadline passed , in other words test related to assignment submission

Excellent idea! I think that's possible.

@tachyons I have implemented the tests @fluctix suggested.

@tachyons What do you think

@tachyons Coverage is now in the green!

@tachyons Please review


Finish step-2 of the week-3 tutorial.

description: link to week 3 tutorial? what is step 2?

Now I've added the link, sorry!


Proposed README.md file using standardized template

Purpose

New README.md file format
Leveraging https://nasa-ammos.github.io/slim/documentation/starter-kits/#software-project-template
NOTE: this is a DRAFT pull-request and it needs to be customized / adapted to your repo - please commit to this PR branch with your customizations before merging!
NOTE: make your modifications by searching for the string INSERT in the file and replacing with appropriate values for your repo
NOTE: read through the file thoroughly to ensure its well adapted for your repo and your scenario, feel free to modify as needed

Proposed Changes

[ADD/CHANGE] README.md file with sample content

Testing

For live example, see: https://github.com/riverma/terraformly/blob/main/README.md

Hey @galenatjpl -
Some recommendations on expediting this PR:

I’d recommend at least filling out the [INSERT MORE DETAILED DESCRIPTION OF YOUR REPOSITORY HERE] and the [INSERT MORE DETAILED DESCRIPTION OF YOUR REPOSITORY HERE] and the [INSERT CONTACT INFORMATION OR PROFILE LINKS TO MAINTAINERS AMONG COMMITTER LIST] fields
For all the other [INSERT... fields that you all don’t have values for yet, I think it’s safe to just put TBD or just remove them if they're not applicable and merge

Hi @galenatjpl - happy to take a crack at this, but quick question: is the purpose of the unity-cs repo to actually store code? Or is it more a documentation repo? Put more succinctly: what's the purpose of this repo given there are other unity-cs-* repos in the Unity org?


Typescript support is broken

What were you expecting to happen?
When I follow the steps outlined in this stack-overflow post, it should allow us to write our gulp files in pure Typescript:
https://stackoverflow.com/a/49849088/1611058
These were steps that used to work back in 2020 but don't work anymore.
What actually happened?
As sydd's comment says:

I get SyntaxError: Cannot use import statement outside a module if the project's type is commonjs and TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" if the project's type is module

Please give us a sample of your gulpfile
// gulpfile.ts

import gulp from 'gulp'

gulp.task('default', function (done) {
    console.log('test');
    done()
});

Terminal output / screenshots

Please provide the following information:

OS & version: Windows 10 - 20H2
node version (run node -v): v12.18.2
npm version (run npm -v): 6.14.5
gulp version (run gulp -v):  CLI version: 2.3.0; Local version: 4.0.2

You are using esm, so this is a duplicate of https://github.com/gulpjs/rechoir/issues/43 - it requires an insane amount of work that we probably won't get to for awhile. You can switch back to CJS.

@phated I got those errors when I tried to add Gulp to a Vite project.
Do you know a way to ensure that Gulp uses CJS while Vite can still use ESM?

I don't have generic advice, sorry. Would have to take it case-by-case and I don't have the bandwidth right now.

You can switch back to CJS.

Basically I'm asking, is it possible to use both ESM and Common JS in the same project?
ESM gets used by some stuff while Gulp uses Common JS.

I've asked on Stack Overflow.
https://stackoverflow.com/q/68899837/1611058
I hope it's possible...

Yes, you need to remove the module field in package.json and then you need to use .mjs on all your ESM files. However, you might need 2 different tsconfig.json files. I don't know - I hate typescript...

I've investigated the issue a bit more.
This is an issue with ts-node, not Gulp.
It is highly related to this issue:
https://github.com/TypeStrong/ts-node/issues/922
I created a reduced test case and was able to determine that something in the tsconfig file causes the error in ts-node.
When I added a tsconfig file to the project, it caused the error to happen.
When I removed the tsconfig file, gulp worked perfectly.
Not an issue for Gulp maintainers but still an issue in general since tsconfig files are important.
At least I've managed to narrow down the problem a bit.

This fixed it! 😃
https://github.com/TypeStrong/ts-node/issues/922#issuecomment-667076602
In tsconfig.json you need the following:
{
    "compilerOptions": {
        "module": "commonjs",
    }
}


AllowPrerelease parameter error

Hello. I was installing Git for PowerShell (https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-PowerShell), and when I put Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force in the console, it log me that the paramater AllowPrerelease  doesn't exist. My PowerShell version is:  5.1.18362.1171 and I have the Desktop version. Can someone help me, please?

My PowerShell version is: 5.1.18362.1171

You should use latest PowerShell 7.1.
Notice, Windows PowerShell is frozen - all new feature appear only in PowerShell 7+.

Apropos of a recent discussion: /cc @SeeminglyScience, @alexandair, @SteveL-MSFT.