Add map

Showcase a map showing user location
That would be much more descriptive view of weather.

I am interested in this. Please assign this task to me.

Hello, @boradesanket13 I am interested to contribute to this issue. Please assign this issue to me.

Showcase a map showing user location That would be much more descriptive view of weather.

I'm interested to contribute this issue.

i am interested to work on this issue ....

@shivamgupta2020 Go ahead!

We're assigning issues on a first come first serve basis. If @shivamgupta2020 isn't able to complete the issue, we'll reassign accordingly. In the meantime, you can find another codepeak issue here.

We're assigning issues on a first come first serve basis. If @shivamgupta2020 isn't able to complete the issue, we'll reassign accordingly. In the meantime, you can find another codepeak issue here.

kindly assign me the issues on quotebuzz .....also created a pr for the same

@boradesanket13, how do you want me to add the map:
-Should I add it beside the weather information table on the main page or,
-Should I add it to a different page as the space available on the main webpage is less?

@Ajeetesh2003 add it to a different page

@Ajeetesh2003 Any update on this?


UUU tool stucking while flashing imx-boot - Coral Dev Board(IMX8MQ)

I'm trying to flash bootloader(imx-boot) and image(.wic, created with yocto) to EMMC with UUU tool but stucking after wrote "imx-boot".
UUU and u-boot output: pastebin.com/1BFrTJvQ
also, u-boot config: pastebin.com/snxCVxA1

Sorry, nxp block pastebin.com access. Can you parse your result in github issue?

uboot_defconfig.txt
serial_debug_output.txt
emmc_all_output.txt
uuu_lsusb_output.txt

Your uboot may too old.
The method of "Back to ROM, SDP" already not used.  we already change to using SPL SDP HID download. You can refer our release uboot.


Feature/2097 outreach report

What's included?
Only Sean Cuddihy needs to test this!
https://jac-apply-admin-production--2097-outreach-j3l1v5bc.web.app [expires 2023-10-20 11:09:48]
Please remember to press the 'refresh' button for the report!
We currently ask candidates the following questions when applying:

where they heard about the role
have they attended an outreach event on JAC selection exercises
did they participate in a Judicial Workshadowing Scheme
have they taken part in the Pre-Application Judicial Education Programme (PAJE)

The outreach report collates the figures for the answers to these questions.
Closes #2097
Who should test?
Sean Cuddihy
How to test?
Go to the Outreach Report and ensure the report numbers accurately reflect the answers from the applications.
Risk - how likely is this to impact other areas?
🟢 No risk - this is a self-contained piece of work

PREVIEW:DEVELOP
can be OFF, DEVELOP or STAGING

It would be beneficial to have all of this information in one place and to, therefore, add the additional fields from the diversity monitoring form to the outreach report on the platform.
In addition, the declaration rate on the report is currently listed amongst the outreach options. At the top of the report is a grey box showing the 'Total applications'. Could the grey box also include the declaration rate?

Feedback from Sean Cuddihy:
On the production link in your email (https://jac-apply-admin-production--2097-outreach-j3l1v5bc.web.app/) some exercises seemed to be working (00129 worked after I pressed refresh), but 00162 gave an error after I pressed refresh (see screenshot) and I tried an older archived exercise 00115 and that didn't have a refresh button at all.

So there was a memory issue with 00162. We have increased the memory and I was able to hit the refresh button fine. That exercise has under 2000 applications and we are ideally supporting 5000 so we are going to do some work to make the memory usage more efficient
Regarding the missing Refresh button for 00115 I didn't see this. I was able to press the button and the numbers got generated ok
I'll make changes to the PAJE question so that the 'online only' and 'judge-led' are displayed and i'll give you a shout as soon as that's done


Wished to know does ark supports backup and restore from 1.8 to 1.10 version of kubernetes

We have a kubernetes cluster which is running on 1.8 version of k8s and wish to create a backup of my cluster and will then restore it to my new k8s 1.10 version of kubernetes cluster. Will the ark supports this. Bdw this utility rocks as its easy simple and does what it state.
Please do let me know if this can be done as we will then continue using it.
Regards

As long as the apiVersions for all the items in the backup are still present in the 1.10 cluster, we can do the restore. See https://github.com/heptio/ark/blob/bbc6caf7fe93faac57f3fc7652d816fb47cbf457/docs/about.md#backed-up-api-versions for more details.

From: Sam123ben<EMAIL_ADDRESS>Sent: Tuesday, February 5, 2019 7:31 AM
To: heptio/ark
Cc: Subscribed
Subject: [heptio/ark] Wished to know does ark supports backup and restore from 1.8 to 1.10 version of kubernetes (#1182)
We have a kubernetes cluster which is running on 1.8 version of k8s and wish to create a backup of my cluster and will then restore it to my new k8s 1.10 version of kubernetes cluster. Will the ark supports this. Bdw this utility rocks as its easy simple and does what it state.
Please do let me know if this can be done as we will then continue using it.
Regards
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fheptio%2Fark%2Fissues%2F1182&data=02|01|goldsteina%40vmware.com|f0e0f2f0b2c54046a52708d68b65e8de|b39138ca3cee4b4aa4d6cd83d9dd62f0|0|0|636849667147964590&sdata=XhifL%2BE2Owox9tkRN7AR9WtOOAfPWehPuzbg3xKI448%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAABYterEk8Cfo03N-4M7TudkJZCwWEpks5vKXm4gaJpZM4ajHYn&data=02|01|goldsteina%40vmware.com|f0e0f2f0b2c54046a52708d68b65e8de|b39138ca3cee4b4aa4d6cd83d9dd62f0|0|0|636849667147964590&sdata=AAcFic0BfWE0HK87v%2BMipH77flnzASMFU3rSgwTB6FA%3D&reserved=0.

@ncdc Thanks for that information, but we are facing issues while trying to install the ark-server itself on the 1.8 version of kubernetes and also sometimes on the 1.10 as well.
helm upgrade --install ark-server --namespace backup ./helm-charts/ark-server -f $ENVIRONMENT_FOLDER/config/config.yml -f $ENVIRONMENT_FOLDER/config/secrets/secrets.yml
Release "ark-server" does not exist. Installing it now.
Error: object is being deleted: customresourcedefinitions.apiextensions.k8s.io "backups.ark.heptio.com" already exist
Any idea about the above issue?
Thanks in advance

@Sam123ben this looks like a dupe of #1195 so I'm closing this one.  If that's not the case feel free to reopen.


Vibrancy and opacity not working in linux

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Ubuntu 16.04
Hyper.app version: Hyper 1.3
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/telmen/3ab5f895b0b4134029724f78ba08bff7
Relevant information from devtools (CMD+ALT+I on Mac OS, CTRL+SHIFT+I elsewhere):
The issue is reproducible in vanilla Hyper.app:

Issue

Vibrancy or opacity not working on linux at all,

any suggestion?

Try another theme, like hyper-material-theme by @equinusocio, add the extra settings and enable vibrancy.

It's not working, I guess vibrancy not possible on linux

@telmen vibracy only support macOS ref

Yeah, vibrancy is MacOS only, what you can do is start Hyper with --enable-transparent-visuals --disable-gpu and put rgba(0, 0, 0, 0.8) in hyper.js under background-color.

Yeah, it gives transparency effect to hyper. Thanks. 👍

@stefanivic how to start hyper with keys --enable-transparent-visuals --disable-gpu?. Where I need to write this if I using Windows?

@Zx-EvM Just make a shortcut and edit the link by adding flags
https://superuser.com/questions/29569/how-to-add-command-line-options-to-shortcut

@stefanivic @equinusocio thanks. It's doesn't work on Windows. Apparently hyper.is team did not implement support for opacity/transparent/vibrancy on Windows.
Or do you have it working?

Hm, electron doesn't provide windows and linux. For linux, its because gpu driver
On Mar 11, 2017, 15:42 +0800, Dmitry<EMAIL_ADDRESS>wrote:

@stefanivic (https://github.com/stefanivic) @equinusocio (https://github.com/equinusocio) thanks. It's doesn't work on Windows. Apparently hyper.is team did not implement support for opacity/transparent/vibrancy on Windows.
Or do you have it working?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub (https://github.com/zeit/hyper/issues/1625#issuecomment-285850627), or mute the thread (https://github.com/notifications/unsubscribe-auth/AFvlFwcYL_PqukLeaCFo449CpfeWqS7mks5rklBMgaJpZM4MZD0h).

Hi, i know the thread is closed, but i proved the flags in arch linux and nothing happens more that to get darker if i increase the transparency but full opacity.

Then it's probably not supported in Arch linux 😢  @jcdino

If i remember, there was something about Electron dropping the transparent support on Linux, but don't quote me on this one.

FTR: https://github.com/electron/electron/issues/2170#issuecomment-217405460

When I am trying the command hyper --enable-transparent-visuals --disable-gpu to start hyper in Ubuntu 16.04, it is showing this output. Please help me.

Output

❯  hyper --enable-transparent-visuals --disable-gpu
The option "enable-transparent-visuals" is unknown. Here's a list of all available options:

  Usage: hyper [options] [command]

  Commands:

    <default>                    Launch Hyper
    d, docs, h, home             Open the npm page of a plugin
    help                         Display help
    i, install                   Install a plugin
    ls, list                     List installed plugins
    lsr, list-remote, ls-remote  List plugins available on npm
    s, search                    Search for plugins on npm
    u, uninstall, rm, remove     Uninstall a plugin

  Options:

    -h, --help     Output usage information
    -v, --verbose  Verbose mode (disabled by default)

When I am trying the command hyper --enable-transparent-visuals --disable-gpu to start hyper in Ubuntu 16.04, it is showing this output. Please help me.
* Output

❯  hyper --enable-transparent-visuals --disable-gpu
The option "enable-transparent-visuals" is unknown. Here's a list of all available options:

  Usage: hyper [options] [command]

  Commands:

    <default>                    Launch Hyper
    d, docs, h, home             Open the npm page of a plugin
    help                         Display help
    i, install                   Install a plugin
    ls, list                     List installed plugins
    lsr, list-remote, ls-remote  List plugins available on npm
    s, search                    Search for plugins on npm
    u, uninstall, rm, remove     Uninstall a plugin

  Options:

    -h, --help     Output usage information
    -v, --verbose  Verbose mode (disabled by default)

yeah, me too

When I am trying the command hyper --enable-transparent-visuals --disable-gpu to start hyper in Ubuntu 16.04, it is showing this output. Please help me.
* Output

❯  hyper --enable-transparent-visuals --disable-gpu
The option "enable-transparent-visuals" is unknown. Here's a list of all available options:

  Usage: hyper [options] [command]

  Commands:

    <default>                    Launch Hyper
    d, docs, h, home             Open the npm page of a plugin
    help                         Display help
    i, install                   Install a plugin
    ls, list                     List installed plugins
    lsr, list-remote, ls-remote  List plugins available on npm
    s, search                    Search for plugins on npm
    u, uninstall, rm, remove     Uninstall a plugin

  Options:

    -h, --help     Output usage information
    -v, --verbose  Verbose mode (disabled by default)

as described https://github.com/vercel/hyper/issues/1625#issuecomment-285774582 its not a command.
you should put them in the target box of a shortcut. don't bother though! i tried that and didn't get any transparency effect :(


Typo correction and punctuation

The fields that are being displayed on the GUI are not punctuated properly. Make sure all the fields (such as temperature, pressure, etc..) are capitalised properly and replace '=' (equals to)signs with ':' (colon).

Could I have this issue assigned to me
Aditya Rajendra Shinde
PES2202200479

@Tree1527 pls revert back in 15 mins. Go for it :)


Wrong property name

Hi,
I'm receiving the error below when I try to change a user's password using the Microsoft.AspNet.Identity.AspNetCoreCompat project.

An exception of type 'System.ArgumentException' occurred in EntityFramework.dll but was not handled in user code
Additional information: The property 'ConcurrencyToken' on type 'ApplicationUser' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method.

The cause is in the line https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNet.Identity.AspNetCoreCompat/IdentityDbContext.cs#L129.
There is no ConcurrencyToken property in the IdentityUser class. Changing the line to entityEntry.Property("ConcurrencyStamp").CurrentValue = Guid.NewGuid().ToString(); fixed the error.
And I had to convert the Guid to string since the type of the ConcurrencyStamp property is string.
How to replicate:

Create an ASP.NET MVC 4.6.1 application with Individual User Accounts
Reference the AspNet.Identity.CoreCompat assembly
Change the ApplicationUser class to inherit from the Microsoft.AspNet.Identity.CoreCompat.IdentityUser
Change the ApplicationDbContext class to inherit from the Microsoft.AspNet.Identity.CoreCompat.IdentityDbContext
Run the application
Create a user and try to change the password

@HaoK OnModelCreating() refers to ConcurrencyStamp but ValidateEntity() refers to ConcurrencyToken as string so I guess it is just a typo. FWIW, you can use lambdas in ValidateEntity() :smile:

d4d105d5b529c8e1701010cb49bc115f0aa23ed0


Improve README with more details and fix a typo

Codecov Report

Merging #23 (4086014) into master (9e0aa48) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 4086014 differs from pull request most recent head 6d8c837. Consider uploading reports for the commit 6d8c837 to get more accurate results

@@            Coverage Diff            @@
##            master       #23   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          177       177
=========================================
  Hits           177       177

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 4a39615...6d8c837. Read the comment docs.


Orangutan SVG (svg/emoji_u1f9a7.svg) not rendering correctly

The orangutan SVG (svg/emoji_u1f9a7.svg) is broken, in what looks to be the same way it was broken before being fixed by 24a33c4 -- there's a reference to a jpg that doesn't actually exist.

Yes, I can confirm the orangutan has a badly broken arm, it looks like this when I load the emoji_u1f9a7.svg in Chrome

Inspecting it in a text editor reveals that it suddenly grew an unsupported <image> element that references an external (missing) JPEG file:
<image style="overflow:visible;" width="139" height="153" xlink:href="72D8D7011A0AC19D.jpg"  transform="matrix(0.48 0 0 0.48 59.52 -1.44)"></image>

Removing the line containing the <image> element still leaves the arm broken like so:

According to git blame the commit that first introduced this was https://github.com/googlefonts/noto-emoji/commit/9bdaf2e265ad7e8e81e65965a50ea91af6647be3 from 11 May this year (5 montsh ago)

A previous commit https://github.com/googlefonts/noto-emoji/commit/24a33c49 on main from November 2020 was meant to fix the orangutan (and two others) that had been broken in a similar way by an even older commit https://github.com/googlefonts/noto-emoji/commit/31f714f3.
It looks like https://github.com/googlefonts/noto-emoji/commit/9bdaf2e265ad7e8e81e65965a50ea91af6647be3 involutarily reverted the orangutan to a broken state (with the arm pointing to a missing JPG image).
I suggest we revert it again to the good state from https://github.com/googlefonts/noto-emoji/commit/24a33c4 --  I'll send a PR


Android: Link to shared library xmlSerializer

The PFw as recently removed (this trick was not working on osx)
it's *_include libraries. They were used to include headers
without linking against the libraries in the android build system.
There is two way to include headers from a library:

copy the headers (but that would be in contradiction with how the main pfw headers are included)
link against the library (chosen solution)
To avoid linking against a static libxmlserializer - ie add it and it's dependency to all plugins - the xmlserializer library is now dynamic.

Link against the dynamic library xmlserializer and no longer use *_include.

:+1:

commit/PR message issues:

s/PFw/Parameter Framework/
"as" -> "has"
"it's *_include libraries" -> "its *_includes libraries"

Apart from that, :+1:


PR: Tyrant unleashed optimizer

Hi,
this is a tool I used a bit personally as support tool for an Android game.
It isn't in the best shape upstream, has weird errors if you use it wrong and an incomplete build system.
But OTOH it is small, works and isn't packaged in the repository yet.
So I thought it could be a nice applications to experiment with snaps.
Following the nice Mail of dholbach this morning, I used snappy-playpen as base for my snap experiments.
It builds fine in a cleanbuild environment now and - due to its simplicity - I consider it rather readable and easy to follow.
Time for a PR, please review and let me know if I have to fix up something before it could be merged.

Nice work! :-)


Update specs2-cats, specs2-core to 4.9.4

Updates

org.specs2:specs2-cats
org.specs2:specs2-core

from 4.6.0 to 4.9.4.
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.specs2" } ]

labels: library-update, semver-minor

Superseded by #115.

Superseded by #115.


Commenting on review comment creates a new pending review.

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.60.0
OS Version: macOS 11.5.2

Github extension:
I've noticed an issue where I commented(answered) on a review comment on my PR from Visual Studio code. My answer was added as expected under the comment I was answering too, but it also appears as a pending comment for a review at the bottom of the PR.
The review cannot be removed after, there is no option to dismiss it.
Steps to Reproduce:

Comment on a code review inside VScode, inside the file the comment relates to.
Check PR, this comment has been added as a pending review comment, as well as a normal respond to the comment.

Moved to the extensions repo https://github.com/microsoft/vscode-pull-request-github/issues/2990


Working nix-shell - a bit convoluted but allows quick iteration.

I've been trying to make a nix shell that can take an IncludeOS package directly from a cmake install as input, to allow fast iteration on OS features, that link into a bootable, without having to rebuild the OS every time.

shell.nix is working to the point where cmake configure step finds the right versions of libcxx, libcxxabi, liunwind and musl, but compilation doesn't pick up the right clang by default. I hack it in by defining $CXX, but then it doesn't find libcxx, so c++ includes like <string> are unavailable.

shell_overlay.nix is a little simpler, where the idea was to expose the paths to the link time dependencies from pkgsIncludeOS. It has the same result - I get to the point where I think I can link, but I can't compile the bootable binary due to missing includes.

How can we make the nix shell use the same stdenv as nix-build?

Perhaps we could use substituteInPlace to replace the paths we need in the make files directly. See the solo5 example in  https://nixos.org/manual/nixpkgs/stable/#ssec-stdenv-dependencies-overview-example. If we substitute the paths to point to the right location in cmake/os.cmake during postInstall we wouldn't have to specify them everywhere.


I edited a php file and git diff shows me a lot of odd newly added characters

I edited a php file and git diff shows me a lot of odd newly added characters, see sceenshot, they are not expected, just my text changes.

@wolfgangihloff i'm closing this issue as it looks like a Windows CRLF issue. Please reopen this issue if you continue seeing problems.


IMessageFormatter param is not nullable

I use your lib for sending message to Telegram, it works great, thank you!
But today I enable nullable in project
and get error on code:
   logConfig = logConfig.WriteTo.Telegram(config => { ....  }, null, logLevelError);

null is param IMessageFormatter messageFormatter
in ctor I see that it is not nullable
    public static LoggerConfiguration Telegram(
      this LoggerSinkConfiguration loggerConfiguration,
      Action<TelegramSinkConfiguration> configureAction,
      IMessageFormatter messageFormatter,
      LogEventLevel restrictedToMinimumLevel = LogEventLevel.Verbose)

but in next ctor TelegramSink is nullable
    public TelegramSink(
      ChannelWriter<LogEvent> channelWriter,
      ILogsQueueAccessor logsQueueAccessor,
      TelegramSinkConfiguration sinkConfiguration,
      IMessageFormatter? messageFormatter)

pls make IMessageFormatter nullable in LoggerConfiguration Telegram

@onatsko please check this version: https://www.nuget.org/packages/X.Extensions.Logging.Telegram/2.0.1-rc

thanx!


Correct grammar

Description

Issue

Closes: #

Current grammar is correct, and although either wording could work, I think the existing text is slightly better.

I agree with @stmcginnis.

The word in that position should be a verb.
increase is the correct form of word that should be used.
increment is a noun as in these dictionaries here and here.

/hold
The existing text is, for technical writing, idiomatic. Let's not make this change.
Sorry to be the bearer of bad news @minhtaile2712 but I can't see any grounds to accept it. If you do see some, please update the PR description and also reply briefly in a comment.

After seriously researching the terms again, I admire that the existing wording is more thoughtful. You guys are correct and this should not be changed.
Thank you for your comments. I'm happy and cheerful to contribute next time.
Let's close this.


Create omni-wheel driver.

Introduction
2016 competition involves very precise manipulations, which may mean that something unreliable and unstable like mecanum wheels might be a bad move. Omni wheels solve a similair function.  #161 is the task for physically building it.
It's possible to use them the same way as Mecanum wheels using Mecdriver, as experimented with in #179 , but ideally we'd use them the 'right' way, where it turned and drove when needed.
Requirements

a hardware abstraction and interface where it can be issued commands such as rotate, strafe, etc. Deciding the appropriate interface is a part of the task, but one with the same level of abstraction as Mec_driver is expected.

Resources

Use mecdriver as a model

Mecdriver uses the same hardware (motor, cape, and signal wise), just a different frame and wheels.
https://github.com/IEEERobotics/bot/wiki/Using-mec_driver

Talk to @ahmedsamara for help.

@khweerak

I am interested!

Interested

I am interested

@EthanAnd
@HaydenLawrence
@Djvacto

I'm going to set up the BB for this.

I'll work on this too

I am still interested but I wont be at the meeting tonight, could you guys update me when you finish tonight? Thanks!

I cannot make it this evening.

@kvijay1995 Did this and it's working pretty well.


'onSlideChangeEnd' not working properly on fade effect

Example 16 fade effect
When you go from initial slide to next slide it works. But when you go back to the first slide, the callback is not triggered. Same problem for 'onTransitionEnd'.
Tested on both Firefox and Chrome. Windows 7 OS

Hmm, can't replicate it neither in Chrome nor in FF

set 'initialSlide' to something other than 0. Once the slider initializes, go back (by swiping) . 'onSlideChangeEnd' is not triggered.
   <script>
    var swiper = new Swiper('.swiper-container', {
		keyboardControl: true,
        pagination: '.swiper-pagination',
        paginationClickable: '.swiper-pagination',
        nextButton: '.swiper-button-next',
        prevButton: '.swiper-button-prev',
        spaceBetween: 30,
        effect: 'fade',
		initialSlide: 2,
		keyboardControl: true,
		mousewheelControl:true,
	    onSlideChangeEnd: function(){alert("onSlideChangeEnd")},

    });
    </script>

@srikanthegdee still works for me

But on Chrome it can be related to this Chrome bug #1402


feat: log warning for unused names in split_ifs with

When split_ifs with splits a single if-then-else, it only consumes a single name (this matches the mathlib3 behavior). I noticed some places where we seem to be assuming that it consumes a separate name for each branch. To avoid that kind of confusion in the future, this PR adds a warning for any unused names.

bors merge


feat: polling for new emails should also return messages > last uid available in folder

This is required if another client queries the same folder and receives latest messages before extjs-app-webmail. When extjs-app-webmail polls, it does not see the new messages since they have been fetched in another client's session. In this case, the uid should me used to compare for messages not available with extjs-app-webmail and include those in the response, along with possible recent messages.


perf: internal objects optimization (BaseAccount, Balance & Supply)

replaced cdc.(Un)MarshalInterface() with protobuf (Un)Marshal for
internal objects: BaseAccount, Balance & Supply
PubKey in BaseAccount has three seperate entries for publick keys to
avoid MarshalInterface.
custom json marshaler for BaseAccount to show a single pub key for
json compatibility

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Let's update CHANGELOG.

Updated CHANGELOG


updated sidebar and prod dockerfile

@Uma, I had asked you to rephrase the replica access method topics like Once changing to After and other things.

done


Bizarre circular type false positive

Bug Report

🔎 Search Terms
implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.(7022)
🕗 Version & Regression Information
This changed between versions 4.6.2 and 4.7.0-beta
⏯ Playground Link
Playground link with relevant code
💻 Code

type Wrapper = {
    data: number | null;
};

function example(wrapper: Wrapper) {
    // The error goes away if this line is removed and `null` is removed from the type
    if (wrapper.data === null) return;

    // The error goes away if the loop body is inlined o_O
    for (const _ of []) {
        const d = wrapper.data;
        //    ^ 'd' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.

        // The error goes away without these lines o_O
        const t = d;
        const list = [0];
        if (list[t]) {}
    }
}

🙁 Actual behavior
Error: implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer
🙂 Expected behavior
No error

cc @ahejlsberg since you made some significant type flow analysis changes

Have a similar repro; was looking to file a bug and this seems like the right place for it.
interface A {
    m: string
}

function foo(a: A) : void {
    let working : A | undefined = a;

    while (working) {
        // 'xxx' has type 'any' because it is referenced in its own initializer
        const xxx = working.m;
        if (xxx) {
            working = xxx;
        }
    }
}

playground link

I looked a bit into what part of https://github.com/microsoft/TypeScript/commit/162713fac9da0304769ef0b7cfdd568f319a55ea caused this regression. It seems like adding isEntityNameExpression(expr.argumentExpression) to isNarrowableReference allows flowNodes to be set on expressions where they weren't previously during the binding phase. This in turn seems to lead to a circular type resolution when typing the expression along the getFlowTypeOfReference code path.
I haven't looked deep enough yet to understand why the circular type resolution happens yet, but I'm sharing my findings here in case it helps someone else pick up this investigation.

@Andarist you've been pretty capable at fixing random bugs I've stumbled upon before, so maybe this one would be of interest to you 😉

The error also goes away if you simple move just the initialization out of the loop:
type Wrapper = {
    readonly data: number | null;
};

function example(wrapper: Wrapper) {
    if (wrapper.data === null) return;

    const d = wrapper.data;
    for (const _ of []) {
        const t = d;
        const list = [0];
        if (list[t]) {}
    }
}

Also, per the Playground link, the change happened after 4.6.4. I presume https://github.com/microsoft/TypeScript/commit/162713fac9da0304769ef0b7cfdd568f319a55ea is post 4.6.4?


Remove requests to fonts.googleapis.com

For privacy concerns it may be good to remove references to fonts.googleapis.com and to distribute (or not) fonts locally.
→ https://github.com/modess/git-pretty-stats/blob/c8defa546dfe77910189b078c241e42af3bc9f52/app/views/index.php#L12

This have never crossed my mind. I can easily just make it distribute locally instead.

Thanks.

I released a patch version (https://github.com/modess/git-pretty-stats/commit/79e296272b75a97a1d2cd0d4fa24ab3651fc836a) now that serves the fonts locally instead from big brother :)


support since parameter for incremental scans

fixes #312.
@pudo is this what you had in mind?

Perfect! Do we know what this does with last_change=null? This doesn't happen with OpenSanctions data but people can load other stuff, too.
p.s. I'm out on a trip for the rest of the week. Would it be OK if I merged this on Monday (and got more involved in the OpenSearch issue)?

Good question. I'll figure it out and update it here. In the meantime, enjoy your trip :-)


[Bug] Folder pointed by a GrafanaDashboard using folderUID is deleted even if the folder is not handled by the operator

Describe the bug
I have a folder deployed manually in Grafana and a dashboard is deployed inside it using the GrafanaDashboard CR using folderUID field. There is only the created dahsboard in the folder.
When I delete the GrafanaDashboard CR with a kubectl, the dashboard is deleted and the folder is deleted too even if it is not handled by the operator.
Version
v5.12.0
To Reproduce
Steps to reproduce the behavior:

Create a folder in Grafana
Create a file test.yml with the following content:

apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
  name: test-bug-delete-folder
  labels:
    dashboards: "grafana"
spec:
  folderUID: <your folder UID>
  instanceSelector:
    matchLabels:
      dashboards: "grafana"
  json: |
    {
      "id": null,
      "title": "Folder UID",
      "tags": [],
      "style": "dark",
      "timezone": "browser",
      "editable": true,
      "hideControls": false,
      "graphTooltip": 1,
      "panels": [],
      "time": {
        "from": "now-6h",
        "to": "now"
      },
      "timepicker": {
        "time_options": [],
        "refresh_intervals": []
      },
      "templating": {
        "list": []
      },
      "annotations": {
        "list": []
      },
      "refresh": "5s",
      "schemaVersion": 17,
      "version": 0,
      "links": []
    }

Apply the yaml in your kubernetes cluster using kubectl apply -f test.yml
Check the dashboard is successfully created in the Grafana UI
Delete the GrafanaDashboard CR using kubectl delete -f test.yml
The dashboard AND the folder is destroyed

Expected behavior
The dashboard should be destroyed but not the folder
Suspect component/Location where the bug might be occurring
I think the main problem come from the GrafanaDashboard controller in the Reconcile method when the dashboard is not found by the kubernetes client and the method GrafanadashboardReconciler.onDashboardDeleted is called.
When this function is called, it will call GrafanaDashboardReconciler.DeleteFolderIfEmpty method (l340) without checking that the dashboard is created or not by the operator. (Probably because we assume that the folder field (from GrafanaDashboard CR) behavior apply by default and remove the folder without checking if the folder is declared from a CR or not.
Screenshots
N/A
Runtime:

OS: Ubuntu 22.04
Grafana Operator Version: v5.12.0
Environment: Kind cluster
Deployment type: Helm
Other: I have the same result in the testing environment for the operator (if it is easier)

Additional context
Because this method is called when the resource is already deleted, I have found no way to check if the dashboard is created or not by the operator. If you have an idea on how to avoid this behavior...

I have another version which could not create an issue but a better version of the GrafanaDashboard CR. I close and open a feature request.


Updated SetupDiag info.

https://docs.microsoft.com/en-us/windows/deployment/upgrade/setupdiag#release-notes
6/19/2019 - SetupDiag v<IP_ADDRESS> is released with 60 rules, as a standalone tool available from the Download Center.

Just realized that this is the What's new in 1903 article. SetupDiag <IP_ADDRESS> was just released in June, so this edit may not actually be necessary.

@greg-lindsay The PR that introduces a minor version update is available for review. Thanks.

@greg-lindsay Following up for updates. Thanks.

@AdamGrossTX We have been informed that the deployment docset is being updated and reviews should follow the update. Thank you for your contributions.
cc @greg-lindsay

This is out of date. 1.6 is the current version.

https://docs.microsoft.com/nb-no/windows/deployment/upgrade/setupdiag
Current version of SetupDiag: <IP_ADDRESS>
Oh. Right. We need a new PR for this content.


⚠ Bofrost.be has degraded performance

In aeeda5d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1641 ms

Resolved: Bofrost.be performance has improved in 257dd42.


Two asterisks for “strong”?

Djot could use two asterisks for strong:

Upside: backward compatibility with Markdown. The single-asterisk strong formatting is one of the few frequently used djot syntaxes that’s not backward compatible.
Downside: more verbose. In my Markdown documents, I always use _ for emphasis and ** for strong and I never particularly liked the clutter caused by the latter.

No.  See my article "Beyond Markdown" and the README.md.

Sure!
(I did read the readme. Double asterisks per se did not make parsing complicated in CommonMark – it was allowing both single and double asterisks.)

Ah, I see. Just double asterisks.  Well, that is another choice that could have been made.


Update 14.x changelog

The added changelog thing was part of a update before, so we will not add this in 14.x


Thread specific coverage measurement is stopped in no_loop after leaving target

If no_loop DynamoRIO mode was used and coverage was measured thread specific, threads that exit the target function would continue to measure their coverage.  The threads may do something nondeterministic before returning to the target function.  As an example, the target program could be a server that has a thread pool serving a REST API.  The target function could be a single API method that is served by the pool.  The tester would only be interested in the coverage of the target method.  After threads have returned from the target method to the queue, they could serve other methods that the fuzzer has to call to maintain the global state or they could do some timed background operations like logging thread inactivity or optimizing the size of the thread pool.  These operations would interfere measuring coverage in the target method.
This PR attempts to solve that issue by stopping the coverage measurement for threads that exit the target function.

Hey, it's true that getting coverage after the target method returned might be undesirable. But IIRC this is solved by always clearing the afl_map before the start of the target method, as seen here:
https://github.com/googleprojectzero/winafl/blob/master/winafl.c#L545
Then, on the target method exit (in the post_fuzz_handler), the fuzzer gets notified and can collect the coverage only corresponding to the target method.
Any reason why this is not working for you?

Hey, it's true that getting coverage after the target method returned might be undesirable. But IIRC this is solved by always clearing the afl_map before the start of the target method, as seen here:
https://github.com/googleprojectzero/winafl/blob/master/winafl.c#L545
Then, on the target method exit (in the post_fuzz_handler), the fuzzer gets notified and can collect the coverage only corresponding to the target method.
Any reason why this is not working for you?

I am using WinAFL to test a gRPC server. gRPC uses a thread pool to serve requests. Let's say that there are 2 threads in the thread pool. Thread 1 starts serving an rpc request from the fuzzer and enters the target function. The code under test is executed and thread 1 exits the target method back into the pool. The fuzzer now send the second rpc request and thread 2 starts serving it, entering the target function and clearing afl_map. Before thread 2 exits the target function, the timeout on thread 1 to wait for new rpc requests expires and thread 1 might do something like logging inactivity or resizing the pool. Alternatively, thread 1 could start serving a request from some other source than the fuzzer.
In both of these cases, thread 1 could start executing some other code while thread 2 is running in the target function. Wouldn't this cause nondeterministic coverage in afl_map?

I see now. I think it should be OK to merge. Thanks!


PHP

Microsoft support is going away, so would be nice to have an alternative
https://news.ycombinator.com/item?id=23788602

If the request is for https://windows.php.net/download/ then the blocking issue is .zip support. https://github.com/microsoft/winget-cli/issues/140


cshtml pages don't always update to latest when modifying during debug session

Describe the bug
I have been working with a relatively simple webapp using latest version of ASPNET Core 2.2 using Razor Pages. For the past few months I have been doing a lot of local testing IE running the local webserver in debug mode (Default VS2019 stuff). I make a lot of use of being able to update a cshtml page, save it, and reload the webpage in the browser. It is integral to quick iteration.
I have been noticing for quite a long time (months) that at least 2-5 times an hour my saved changes to a cshtml file do not get reflected on to the web browser. I no longer have confidence in this feature and will often have to open the chrome console to double check my changes are there. It is quite a shocking "bug" as before I became aware of this I'm sure I spent weeks trying to problem solve front-end bugs when my fixes weren't even being applied.
I have also found that I can "force" the changes to happen by going back to VS2019 and slapping ctrl+s a bunch of times. It could be that whatever is watching for file changes doesn't always catch it?
To Reproduce
Part of the reason I haven't yet bothered raising this issue is that I have no solid repro. It just happens at random from my PoV.
Additional context
output of dotnet --info:
.NET Core SDK (reflecting any global.json):
 Version:   2.2.202
 Commit:    8a7ff6789d

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.202\

Host (useful for support):
  Version: 2.2.4
  Commit:  f95848e524

.NET Core SDKs installed:
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.100 [C:\Program Files\dotnet\sdk]
  2.1.101 [C:\Program Files\dotnet\sdk]
  2.1.201 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.300-preview1-008174 [C:\Program Files\dotnet\sdk]
  2.1.301 [C:\Program Files\dotnet\sdk]
  2.1.403 [C:\Program Files\dotnet\sdk]
  2.1.502 [C:\Program Files\dotnet\sdk]
  2.1.602 [C:\Program Files\dotnet\sdk]
  2.2.202 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0-preview1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0-preview1-final [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0-preview1-26216-03 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

I just wanted to add that this is occurring almost 100% of the time now. It is extremely infuriating. Please do let me know if I can help debug anything at all.

Thanks for contacting us, @strich.
It sounds like you end up running your app in different environments and observing different behaviors.
Please share a repro application so we can investigate this.

It sounds like you end up running your app in different environments and observing different behaviors.
Can you expand on this? AFAIK my env stays exactly the same between builds.

Please share a repro application so we can investigate this.
Hrm, I'll try. I'm concerned that it could take me a long time to build a repro that has the same combo of config/content that causes the problem whilst having none of the app secrets.

Hi. We're closing this issue as we have heard no response from you for some time now. If you have more details and are encountering this issue please add a new reply and re-open the issue.

I don't think this is really acceptable. It is a potentially serious issue and what if the root cause is some local config rather than something specific to the repro project? I feel you need to make SOME effort to help me debug the problem rather than simply sweep it under the rug.
Whilst I am on the subject - I tried the same project on another PC I own and the problem does not present itself. So it is definitely some local config/software issue on my primary PC.

Closing this is a piss-poor response @mkArtakMSFT.


use keypad in button remote example

@dhalbert I do, definitely. Simplifying the initialization and handling the debouncing are great. I forgot this could be used with individually wired pins in addition to key matrices.


[SPARK-48522][BUILD] Update Stream Library to 2.9.8 and attach its NOTICE

What changes were proposed in this pull request?

Update Stream Library to 2.9.8 and attach its NOTICE
Why are the changes needed?

update dep and notice file
Does this PR introduce any user-facing change?

no
How was this patch tested?

passing ci
Was this patch authored or co-authored using generative AI tooling?
no

cc @LuciferYang thanks

Unrelated to this PR, but the stream-lib has already been archived, perhaps we need to consider what alternatives there might be for the future.

Yeah, it looks like we have a builtin HLL implementation to replace the one in steam-api

Merged into master for Spark 4.0. Thanks @yaooqinn


Get username

swift get userinfo

After login, do something like this
let users = ["dkhamsing"]
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
    let list = FHSTwitterEngine.sharedEngine().lookupUsers(users, areIDs: false)

    dispatch_async(dispatch_get_main_queue()) {
        print(list)
    }
}

(
        {
        "contributors_enabled" = 0;
        "created_at" = "Fri Sep 08 03:50:06 +0000 2006";
        "default_profile" = 1;
        "default_profile_image" = 0;
        description = "Writes iOS bugs for @CirrusInsight \U263a";
        entities =         {
            description =             {
                urls =                 (
                );
            };
        };
        "favourites_count" = 40;
        "follow_request_sent" = 0;
        "followers_count" = 208;
        following = 0;
        "friends_count" = 90;
        "geo_enabled" = 1;
        "has_extended_profile" = 0;
        id = 5532;
        "id_str" = 5532;
        "is_translation_enabled" = 0;
        "is_translator" = 0;
        lang = en;
        "listed_count" = 13;
        location = California;
        name = dkhamsing;
        notifications = 0;
        "profile_background_color" = C0DEED;
        "profile_background_image_url" = "http://abs.twimg.com/images/themes/theme1/bg.png";
        "profile_background_image_url_https" = "https://abs.twimg.com/images/themes/theme1/bg.png";
        "profile_background_tile" = 0;
        "profile_banner_url" = "https://pbs.twimg.com/profile_banners/5532/1399710563";
        "profile_image_url" = "http://pbs.twimg.com/profile_images/3708185374/fbc4da6b4c61fe60373dcb8e2cbb64fa_normal.jpeg";
        "profile_image_url_https" = "https://pbs.twimg.com/profile_images/3708185374/fbc4da6b4c61fe60373dcb8e2cbb64fa_normal.jpeg";
        "profile_link_color" = 0084B4;
        "profile_sidebar_border_color" = C0DEED;
        "profile_sidebar_fill_color" = DDEEF6;
        "profile_text_color" = 333333;
        "profile_use_background_image" = 1;
        protected = 0;
        "screen_name" = dkhamsing;
        status =         {
            contributors = "";
            coordinates = "";
            "created_at" = "Mon Nov 30 18:14:29 +0000 2015";
            entities =             {
                hashtags =                 (
                );
                symbols =                 (
                );
                urls =                 (
                                        {
                        "display_url" = "twitter.com/lilbitesofcoco\U2026";
                        "expanded_url" = "https://twitter.com/lilbitesofcocoa/status/670296556487245824";
                        indices =                         (
                            22,
                            45
                        );
                        url = "https://t.co/2ibwyy0DK0";
                    }
                );
                "user_mentions" =                 (
                );
            };
            "favorite_count" = 0;
            favorited = 0;
            geo = "";
            id =<PHONE_NUMBER>80546049;
            "id_str" =<PHONE_NUMBER>80546049;
            "in_reply_to_screen_name" = "";
            "in_reply_to_status_id" = "";
            "in_reply_to_status_id_str" = "";
            "in_reply_to_user_id" = "";
            "in_reply_to_user_id_str" = "";
            lang = en;
            place = "";
            "possibly_sensitive" = 0;
            "retweet_count" = 0;
            retweeted = 0;
            source = "Tweetbot for Mac";
            text = "Wow love this emoji \Ud83e\Udd16 https://t.co/2ibwyy0DK0";
            truncated = 0;
        };
        "statuses_count" = 1503;
        "time_zone" = "Pacific Time (US & Canada)";
        url = "";
        "utc_offset" = "-28800";
        verified = 0;
    }
)


IAT Hooking doesn't work

iat_hook_createmutex->SetupHook("kernel32.dll", "CreateMutexA", (BYTE*)&HkCreateMutex, "Game.exe");
if (!iat_hook_createmutex->Hook())
{
    auto error = iat_hook_createmutex->GetLastError();
    iat_hook_createmutex->PostError(error);
}

Console output:
Import By Name: [Ordinal:34156] [Name:gluOrtho2D]
Posted Error [SEVERITY:2]:
PolyHook IATHook:Failed to find import
Posted Error [SEVERITY:2]:
PolyHook IATHook: Failed to find import
Posted Error [SEVERITY:2]:
PolyHook IATHook: Failed to find import
Import By Name: [Ordinal:34156] [Name:gluOrtho2D]
Posted Error [SEVERITY:2]:
PolyHook IATHook:Failed to find import

There's a couple issues here:

You used the error interface wrong, i'll take some of the blame here, i shouldn't have exposted post error to the public interface. I've moved PostError to protected, and i've exposed a PrintError method that you can call. Please check my latest commit to master

2)I don't think you are telling it to look for the import where you think you are. Try this:
PLH::IATHook* IATMutexHk= new PLH::IATHook();
IATMutexHk->SetupHook("kernel32.dll", "CreateMutexA", (BYTE*)&hkCreateMutex);
if (!IATMutexHk->Hook())
{
    PLH::RuntimeError err = IATMutexHk->GetLastError();
    IATMutexHk->PrintError(err);
}

that last param where you have "Game.exe" is meant for submodules. For example if Game.exe loaded a module called "Submodule.dll" you would pass in "Submodule.dll" and it would then scan the imports inside of that module, instead of the game.
Also try CreateMutexW instead of CreateMutexA

I'm using now "development" branch.
Game calling "CreateMutexA" from kernel32: http://prntscr.com/9ugxqq
Still the same:
Import By Name: [Ordinal:34156] [Name:gluOrtho2D]
Posted Error [SEVERITY:2]:
PolyHook IATHook:Failed to find import
Posted Error [SEVERITY:2]:
PolyHook IATHook: Failed to find import
Error PolyHook IATHook: Failed to find import

Debugging line by line:
http://prntscr.com/9ugzra
This is executed only one time for (; pOriginalThunk->u1.Function != NULL; pOriginalThunk++, pThunk++).. then jumping back to begin for (int i = 0; pImports[i].Characteristics != 0; i++) and searching in other libraries...

Are you using the updated code i posted? I'm not sure why it's failing I would have to be able to see the import table of the game myself, you can always just detour using GetProcAddress.

Yes i used your code.
Gonna hook with GetProcAddress ^^

Hey,
i had a look at the FindIATFunc.
The Problem is that he only Graps the first dll.
`for (int i = 0; pImports[i].Characteristics != 0; i++)
{
char* _ModuleName = (char*)ResolveRVA(hInst, pImports[i].Name);
if (_stricmp(_ModuleName, LibraryName) != 0)
continue;
	//Original holds the API Names
	PIMAGE_THUNK_DATA pOriginalThunk = (PIMAGE_THUNK_DATA)
		ResolveRVA(hInst, pImports->OriginalFirstThunk);

	//FirstThunk is overwritten by loader with API addresses, we change this
	PIMAGE_THUNK_DATA pThunk = (PIMAGE_THUNK_DATA)
		ResolveRVA(hInst, pImports->FirstThunk);`

As you can see he checks if the Dll is in the Inports with  pImports[i].Name, but then he uses
ResolveRVA(hInst, pImports->OriginalFirstThunk); which will take then the wrong module. If you change it to  ResolveRVA(hInst, pImports[i].OriginalFirstThunk); and 		PIMAGE_THUNK_DATA pThunk = (PIMAGE_THUNK_DATA) 			ResolveRVA(hInst, pImports[i].FirstThunk);
Then it finds the Imports, but the hooks fails it doesnt change the func address, i dont know but it looks like *pFuncThunkOut = pThunk; . fails it and returns shit, althought the func is found i checkt it and it findes the export

Good catch S0pex! I've commited the change to master, 026642c48e77d13bb20a5dd4172d7b5ae2a79b81. From what i tested the fix still successfully hooks the function, can you confirm if im correct?

For me its still not hooking right.
Seems it doest override the Func or smt.
I am hooking BitBlt : ```
std::shared_ptrPLH::IATHook IATHook_Ex(new PLH::IATHook);
IATHook_Ex->SetupHook("Gdi32.dll", "BitBlt", (BYTE*)&hookBitBlt);
IATHook_Ex->Hook();
g_fnOriginalBitBlt = IATHook_Ex->GetOriginal<BitBlt_t>();
auto error = IATHook_Ex->GetLastError();
printf("%s", error.GetString().c_str());
My Hook :

BOOL WINAPI hookBitBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop)
{
	MessageBoxA(NULL, "Hallo", "JJAA", NULL);

	//BOOL bRet = g_fnOriginalBitBlt(hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSrc, dwRop);

	return false;
}

This should denie BitBlt so i get a black Screen.
But the hook doesnt give me any errors anymore, but the BitBlt Func isnt hooked. It performs normal and the Msg Box isnt shown. I used http://www.unknowncheats.me/forum/c-and-c-/173907-iat-hooking-class.html all is working fine. I will try to find the error.

I cannot duplicate your issue, it's hooking correctly from my tests. I added a BitBlt test to tests.cpp, 232d4f195c51f25594d9636c953de8df5069039c, can you run this and tell me if it works correctly for you? What application are you installing a hook on?

So in your Project everything is working fine.
I am trying to hook it in D3D9 Test Enviroment, if i detour it and using gerprocadress all is fine.
Weird. If I get new infos i will keep you updatet

post a link to the test environment you are using so i can investigate please.

#include <d3d9.h>
#pragma comment(lib,"d3d9.lib")

//-----------------------------------------------------------------------------
// Global variables
//-----------------------------------------------------------------------------
LPDIRECT3D9             g_pD3D = NULL; // Used to create the D3DDevice
LPDIRECT3DDEVICE9       g_pd3dDevice = NULL; // Our rendering device
LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; // Buffer to hold Vertices

									  // A structure for our custom vertex type
struct CUSTOMVERTEX
{
	FLOAT x, y, z, rhw; // The transformed position for the vertex
	DWORD color;        // The vertex color
};

// Our custom FVF, which describes our custom vertex structure
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_SPECULAR)

//-----------------------------------------------------------------------------
// Name: InitD3D()
// Desc: Initializes Direct3D
//-----------------------------------------------------------------------------
HRESULT InitD3D(HWND hWnd)
{
	// Create the D3D object.
	if (NULL == (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
		return E_FAIL;

	// Set up the structure used to create the D3DDevice
	D3DPRESENT_PARAMETERS d3dpp;
	ZeroMemory(&d3dpp, sizeof(d3dpp));
	d3dpp.Windowed = TRUE;
	d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
	d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;

	// Create the D3DDevice
	if (FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
		D3DCREATE_SOFTWARE_VERTEXPROCESSING,
		&d3dpp, &g_pd3dDevice)))
	{
		return E_FAIL;
	}

	// Device state would normally be set here

	return S_OK;
}

//-----------------------------------------------------------------------------
// Name: InitVB()
// Desc: Creates a vertex buffer and fills it with our Vertices. The vertex
//       buffer is basically just a chuck of memory that holds Vertices. After
//       creating it, we must Lock()/Unlock() it to fill it. For indices, D3D
//       also uses index buffers. The special thing about vertex and index
//       buffers is that they can be created in device memory, allowing some
//       cards to process them in hardware, resulting in a dramatic
//       performance gain.
//-----------------------------------------------------------------------------
HRESULT InitVB()
{
	// Initialize three Vertices for rendering a triangle
	CUSTOMVERTEX Vertices[] =
	{
		{ 150.0f,  50.0f, 0.5f, 1.0f, 0xffff0000, }, // x, y, z, rhw, color
		{ 450.0f, 450.0f, 0.5f, 11.0f, 0xff00ff00, },
		{ 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, },
	};

	// Create the vertex buffer. Here we are allocating enough memory
	// (from the default pool) to hold all our 3 custom Vertices. We also
	// specify the FVF, so the vertex buffer knows what data it contains.
	if (FAILED(g_pd3dDevice->CreateVertexBuffer(3 * sizeof(CUSTOMVERTEX),
		0, D3DFVF_CUSTOMVERTEX,
		D3DPOOL_DEFAULT, &g_pVB, NULL)))
	{
		return E_FAIL;
	}

	// Now we fill the vertex buffer. To do this, we need to Lock() the VB to
	// gain access to the Vertices. This mechanism is required becuase vertex
	// buffers may be in device memory.
	VOID* pVertices;
	if (FAILED(g_pVB->Lock(0, sizeof(Vertices), (void**)&pVertices, 0)))
		return E_FAIL;
	memcpy(pVertices, Vertices, sizeof(Vertices));
	g_pVB->Unlock();

	return S_OK;
}

//-----------------------------------------------------------------------------
// Name: Cleanup()
// Desc: Releases all previously initialized objects
//-----------------------------------------------------------------------------
VOID Cleanup()
{
	if (g_pVB != NULL)
		g_pVB->Release();

	if (g_pd3dDevice != NULL)
		g_pd3dDevice->Release();

	if (g_pD3D != NULL)
		g_pD3D->Release();
}
#include <Olectl.h> //BitBlt

HDC hdcClean = NULL;

bool saveBitmap(LPCSTR filename, HBITMAP bmp, HPALETTE pal)
{
	bool result = false;
	PICTDESC pd;

	pd.cbSizeofstruct = sizeof(PICTDESC);
	pd.picType = PICTYPE_BITMAP;
	pd.bmp.hbitmap = bmp;
	pd.bmp.hpal = pal;

	LPPICTURE picture;
	HRESULT res = OleCreatePictureIndirect(&pd, IID_IPicture, false,
		reinterpret_cast<void**>(&picture));

	if (!SUCCEEDED(res))
		return false;

	LPSTREAM stream;
	res = CreateStreamOnHGlobal(0, true, &stream);

	if (!SUCCEEDED(res))
	{
		picture->Release();
		return false;
	}

	LONG bytes_streamed;
	res = picture->SaveAsFile(stream, true, &bytes_streamed);

	HANDLE file = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ, 0,
		CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);

	if (!SUCCEEDED(res) || !file)
	{
		stream->Release();
		picture->Release();
		return false;
	}

	HGLOBAL mem = 0;
	GetHGlobalFromStream(stream, &mem);
	LPVOID data = GlobalLock(mem);

	DWORD bytes_written;

	result = !!WriteFile(file, data, bytes_streamed, &bytes_written, 0);
	result &= (bytes_written == static_cast<DWORD>(bytes_streamed));

	GlobalUnlock(mem);
	CloseHandle(file);

	stream->Release();
	picture->Release();

	return result;
}

bool screenCapturePart(int x, int y, int w, int h, LPCSTR fname)
{
	HDC hdcSource = GetDC(NULL);
	HDC hdcMemory = CreateCompatibleDC(hdcSource);

	int capX = GetDeviceCaps(hdcSource, HORZRES);
	int capY = GetDeviceCaps(hdcSource, VERTRES);

	HBITMAP hBitmap = CreateCompatibleBitmap(hdcSource, w, h);
	HBITMAP hBitmapOld = (HBITMAP)SelectObject(hdcMemory, hBitmap);

	BitBlt(hdcMemory, 0, 0, w, h, hdcSource, x, y, SRCCOPY);

	hdcClean = hdcMemory;

	hBitmap = (HBITMAP)SelectObject(hdcMemory, hBitmapOld);

	DeleteDC(hdcSource);
	DeleteDC(hdcMemory);

	HPALETTE hpal = NULL;

	if (saveBitmap(fname, hBitmap, hpal)) return true;

	return FALSE;
}

//-----------------------------------------------------------------------------
// Name: Render()
// Desc: Draws the scene
//-----------------------------------------------------------------------------
VOID Render()
{
	static int frameID = 0;
	// Clear the backbuffer to a blue color
	g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 80, 255), 1.0f, 0);

	// Begin the scene
	if (SUCCEEDED(g_pd3dDevice->BeginScene()))
	{
		// Draw the triangles in the vertex buffer. This is broken into a few
		// steps. We are passing the Vertices down a "stream", so first we need
		// to specify the source of that stream, which is our vertex buffer. Then
		// we need to let D3D know what vertex shader to use. Full, custom vertex
		// shaders are an advanced topic, but in most cases the vertex shader is
		// just the FVF, so that D3D knows what type of Vertices we are dealing
		// with. Finally, we call DrawPrimitive() which does the actual rendering
		// of our geometry (in this case, just one triangle).
		g_pd3dDevice->SetStreamSource(0, g_pVB, 0, sizeof(CUSTOMVERTEX));
		g_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
		g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN, 0, 1);

		// End the scene
		g_pd3dDevice->EndScene();
	}
	frameID++;

	if (frameID > 40)
	{
		screenCapturePart(0, 0, 1920, 1080, "hallo.bmp");
		frameID = 0;
	}

	// Present the backbuffer contents to the display
	g_pd3dDevice->Present(NULL, NULL, NULL, NULL);
}

//-----------------------------------------------------------------------------
// Name: MsgProc()
// Desc: The window's message handler
//-----------------------------------------------------------------------------
LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg)
	{
	case WM_DESTROY:
		Cleanup();
		PostQuitMessage(0);
		return 0;
	}

	return DefWindowProc(hWnd, msg, wParam, lParam);
}

int x = (GetSystemMetrics(0) / 2);
int y = (GetSystemMetrics(1) / 2);
//-----------------------------------------------------------------------------
// Name: WinMain()
// Desc: The application's entry point
//-----------------------------------------------------------------------------
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
	// Register the window class
	WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,
		GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
		"winA", NULL };
	RegisterClassEx(&wc);

	// Create the application's window
	HWND hWnd = CreateWindow("winA", "D3D9 Test Envroiment",
		WS_SYSMENU | WS_MINIMIZEBOX, x - 300, y - 300, 600, 600,
		GetDesktopWindow(), NULL, wc.hInstance, NULL);

	// Initialize Direct3D
	if (SUCCEEDED(InitD3D(hWnd)))
	{
		// Create the vertex buffer
		if (SUCCEEDED(InitVB()))
		{
			// Show the window
			ShowWindow(hWnd, SW_SHOWDEFAULT);
			UpdateWindow(hWnd);

			// Enter the message loop
			MSG msg;
			ZeroMemory(&msg, sizeof(msg));
			while (msg.message != WM_QUIT)
			{
				if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
				{
					TranslateMessage(&msg);
					DispatchMessage(&msg);
				}
				else
					Render();
			}
		}
	}

	UnregisterClass("winA", wc.hInstance);
	return 0;
}

There you go

ConsoleApplication1.zip I tested the hook using you d3d9 test environment, it worked as expected. I don't know what you're doing wrong, i've appended a zip file of the project i used to test with.

Ohh my good.
I found my mistake, like i fixed the thing with the adress of the func and stuff right.
Then
But then I had a look at my code :
namespace Hooks
{
	//---------------------------------------------------
	// Hook vars
	//---------------------------------------------------
	BitBlt_t						g_fnOriginalBitBlt = nullptr;

	//static auto IsReady = reinterpret_cast<void(__cdecl*)()>(Utils::FindSignature(XorStr("client.dll"), XorStr("55 8B EC 51 56 8B 35 ? ? ? ? 80 7E 58 00")));
	//---------------------------------------------------
	// Hook functions
	//---------------------------------------------------
	void InitializeHooks()
	{
		IATHook_Ex->SetupHook("Gdi32.dll", "BitBlt", (BYTE*)&hookBitBlt);
		IATHook_Ex->Hook();
		g_fnOriginalBitBlt = IATHook_Ex->GetOriginal<BitBlt_t>();
	}

	void RestoreHooks()
	{
		IATHook_Ex->UnHook();
	}
}

So what happen is the Function Ini get called hooks it then the function returns right, so the instance deconstructor gets called and unhooks again :dango:  sorry for taking your time, this type of errors shouldnt happen to me any more :D


Week 4 URLs

Go through the document and verify that all the URLs for Week 4 are correct. Also Add URLs to the programs in the "programs" list.

fixed all urls


Support Statistics in PyArrow

Description
Use Case
I'd like to use polars to read delta files, using the statistics from delta log. I asked for support there, but seems to be something that should be implemented in this repo
If I understand correctly, it should be possible to tell pyarrow some statistics about the columns (https://arrow.apache.org/docs/python/generated/pyarrow.parquet.Statistics.html), which should be done using delta log in our case
Related Issue(s)
https://github.com/pola-rs/polars/issues/6260

Hi @aersam  - indeed we do use the file statistics when creating pyarrow Datasets. Here is how it is done internally.
https://github.com/delta-io/delta-rs/blob/8e0b8cbcb397ba040fba743049134262390fcc5d/python/deltalake/table.py#L360-L371
the dataset_partitions method reads the log and does the required processing. Does that already help? And if not, yould you elaborate a bit what you would need for an integration to work?

oh, that looks good. Found no docu and assumed it's not implemented, my error :) I would reopen it if there is something missing.
thanks a lot and continue your great work :)


Money system issues

Something is wrong with the money system again. When you pay for anything, your money goes way down to negative values.

This can be caused by setting a value for "cash" or "bank" variables on the client side. The new money system works together with the database and you have to use the functions provided for adding cash and bank balance or use the replicateMoney function yourself to give players money.


Remove "application/javascript" fopr W3C validator

Affected Version
4.12.0
Description
W3C says that "The type attribute is unnecessary for JavaScript resources".
So, in order to pass the validation, in "vendor\silverstripe\framework\src\View\Requierements_Backend.php", please delete
              'type' => isset($attributes['type']) ? $attributes['type'] : "application/javascript",

Dupe of https://github.com/silverstripe/silverstripe-framework/issues/8710 I think


Making form purpose clearer in titles.

The forms for requesting SWC and DC workshops didn't say which kind of workshop it was - this adds that. It also make the title of the instructor info update form clearer.
Question: why are the SWC and DC workshop request forms classes, while the instructor info update form is a function?

Question: why are the SWC and DC workshop request forms classes, while the instructor info update form is a function?

Instructor's update view doesn't have to be inherited. Originally SWC and DC workshop request views were functions too, but they shared a lot of the same code.


CFE-754: Add seccompProfile RuntimeDefault to operator deployment

Add seccompProfile RuntimeDefault to deployment which helps avoid pod security violation of operator pod(s).
Signed-off-by: Swarup Ghosh<EMAIL_ADDRESS>

Operator deployed with these changes applied gets correct scc annotations.
$ oc get pods -n cert-manager-operator cert-manager-operator-controller-manager-7f65dc5697-wbx4g -o json | jq '.metadata'
{
  "annotations": {
    "k8s.ovn.org/pod-networks": "{\"default\":{\"ip_addresses\":[\"<IP_ADDRESS>/23\"],\"mac_address\":\"0a:58:0a:80:02:0d\",\"gateway_ips\":[\"<IP_ADDRESS>\"],\"ip_address\":\"<IP_ADDRESS>/23\",\"gateway_ip\":\"<IP_ADDRESS>\"}}",
    "k8s.v1.cni.cncf.io/network-status": "[{\n    \"name\": \"ovn-kubernetes\",\n    \"interface\": \"eth0\",\n    \"ips\": [\n        \"<IP_ADDRESS>\"\n    ],\n    \"mac\": \"0a:58:0a:80:02:0d\",\n    \"default\": true,\n    \"dns\": {}\n}]",
    "k8s.v1.cni.cncf.io/networks-status": "[{\n    \"name\": \"ovn-kubernetes\",\n    \"interface\": \"eth0\",\n    \"ips\": [\n        \"<IP_ADDRESS>\"\n    ],\n    \"mac\": \"0a:58:0a:80:02:0d\",\n    \"default\": true,\n    \"dns\": {}\n}]",
    "kubectl.kubernetes.io/default-container": "cert-manager-operator",
+    "openshift.io/scc": "restricted-v2",
+   "seccomp.security.alpha.kubernetes.io/pod": "runtime/default"
  },
  "creationTimestamp": "2023-02-02T07:28:25Z",
  "generateName": "cert-manager-operator-controller-manager-7f65dc5697-",
  "labels": {
    "name": "cert-manager-operator",
    "pod-template-hash": "7f65dc5697"
  },
  "name": "cert-manager-operator-controller-manager-7f65dc5697-wbx4g",
  "namespace": "cert-manager-operator",
  "ownerReferences": [
    {
      "apiVersion": "apps/v1",
      "blockOwnerDeletion": true,
      "controller": true,
      "kind": "ReplicaSet",
      "name": "cert-manager-operator-controller-manager-7f65dc5697",
      "uid": "f9cb2208-305d-4591-ae7d-b418a1ce3718"
    }
  ],
  "resourceVersion": "31922",
  "uid": "51067b80-329d-489d-ba9b-08dff8b6be0d"
}

I tried out running the operator pod with current changes from master, and I can now confirm that without these changes the pods get the right annotations too.
$ oc get pods -n cert-manager-operator cert-manager-operator-controller-manager-7877b5bf49-929mk -o json | jq '.metadata'
{
  "annotations": {
    "k8s.ovn.org/pod-networks": "{\"default\":{\"ip_addresses\":[\"<IP_ADDRESS>/23\"],\"mac_address\":\"0a:58:0a:80:02:16\",\"gateway_ips\":[\"<IP_ADDRESS>\"],\"ip_address\":\"<IP_ADDRESS>/23\",\"gateway_ip\":\"<IP_ADDRESS>\"}}",
    "k8s.v1.cni.cncf.io/network-status": "[{\n    \"name\": \"ovn-kubernetes\",\n    \"interface\": \"eth0\",\n    \"ips\": [\n        \"<IP_ADDRESS>\"\n    ],\n    \"mac\": \"0a:58:0a:80:02:16\",\n    \"default\": true,\n    \"dns\": {}\n}]",
    "k8s.v1.cni.cncf.io/networks-status": "[{\n    \"name\": \"ovn-kubernetes\",\n    \"interface\": \"eth0\",\n    \"ips\": [\n        \"<IP_ADDRESS>\"\n    ],\n    \"mac\": \"0a:58:0a:80:02:16\",\n    \"default\": true,\n    \"dns\": {}\n}]",
    "kubectl.kubernetes.io/default-container": "cert-manager-operator",
+    "openshift.io/scc": "restricted-v2",
+    "seccomp.security.alpha.kubernetes.io/pod": "runtime/default"
  },
  "creationTimestamp": "2023-02-02T08:58:16Z",
  "generateName": "cert-manager-operator-controller-manager-7877b5bf49-",
  "labels": {
    "name": "cert-manager-operator",
    "pod-template-hash": "7877b5bf49"
  },
  "name": "cert-manager-operator-controller-manager-7877b5bf49-929mk",
  "namespace": "cert-manager-operator",
  "ownerReferences": [
    {
      "apiVersion": "apps/v1",
      "blockOwnerDeletion": true,
      "controller": true,
      "kind": "ReplicaSet",
      "name": "cert-manager-operator-controller-manager-7877b5bf49",
      "uid": "c9e715fc-4278-4c89-a438-54e46f6db2f9"
    }
  ],
  "resourceVersion": "64525",
  "uid": "6d4a71f1-6764-4b7a-a071-502043c9453b"
}

But as a nit would still prefer pushing for this change, as currently the container security context have the right seccomp profiles but it'd be good for ensuring that the pod security context has it added to, for completeness.
/cc @thejasn

/cc @xingxingxia

Operator deployed with these changes applied gets correct scc annotations.
$ oc get pods -n cert-manager-operator cert-manager-operator-controller-manager-7f65dc5697-wbx4g -o json | jq '.metadata'
{
  "annotations": {
    "k8s.ovn.org/pod-networks": "{\"default\":{\"ip_addresses\":[\"<IP_ADDRESS>/23\"],\"mac_address\":\"0a:58:0a:80:02:0d\",\"gateway_ips\":[\"<IP_ADDRESS>\"],\"ip_address\":\"<IP_ADDRESS>/23\",\"gateway_ip\":\"<IP_ADDRESS>\"}}",
    "k8s.v1.cni.cncf.io/network-status": "[{\n    \"name\": \"ovn-kubernetes\",\n    \"interface\": \"eth0\",\n    \"ips\": [\n        \"<IP_ADDRESS>\"\n    ],\n    \"mac\": \"0a:58:0a:80:02:0d\",\n    \"default\": true,\n    \"dns\": {}\n}]",
    "k8s.v1.cni.cncf.io/networks-status": "[{\n    \"name\": \"ovn-kubernetes\",\n    \"interface\": \"eth0\",\n    \"ips\": [\n        \"<IP_ADDRESS>\"\n    ],\n    \"mac\": \"0a:58:0a:80:02:0d\",\n    \"default\": true,\n    \"dns\": {}\n}]",
    "kubectl.kubernetes.io/default-container": "cert-manager-operator",
+    "openshift.io/scc": "restricted-v2",
+   "seccomp.security.alpha.kubernetes.io/pod": "runtime/default"
  },
  "creationTimestamp": "2023-02-02T07:28:25Z",
  "generateName": "cert-manager-operator-controller-manager-7f65dc5697-",
  "labels": {
    "name": "cert-manager-operator",
    "pod-template-hash": "7f65dc5697"
  },
  "name": "cert-manager-operator-controller-manager-7f65dc5697-wbx4g",
  "namespace": "cert-manager-operator",
  "ownerReferences": [
    {
      "apiVersion": "apps/v1",
      "blockOwnerDeletion": true,
      "controller": true,
      "kind": "ReplicaSet",
      "name": "cert-manager-operator-controller-manager-7f65dc5697",
      "uid": "f9cb2208-305d-4591-ae7d-b418a1ce3718"
    }
  ],
  "resourceVersion": "31922",
  "uid": "51067b80-329d-489d-ba9b-08dff8b6be0d"
}

Since containers have the correct seccompProfile set it doesn't raise an issue. As for as I know pod security context is applied first followed by container security context which overrides the values. I know for fields like runAsUser container security context overrides pod security context but I'm not sure if that is case for seccompProfile as well. If that is the case, then adding to pod security context behaves similar to a default.

Since containers have the correct seccompProfile set it doesn't raise an issue. As for as I know pod security context is applied first followed by container security context which overrides the values. I know for fields like runAsUser container security context overrides pod security context but I'm not sure if that is case for seccompProfile as well. If that is the case, then adding to pod security context behaves similar to a default.

This is some of the code I found in upstream k8s: https://github.dev/kubernetes/kubernetes/blob/release-1.26/pkg/api/pod/warnings.go#L210-L215, regarding raising warnings for pod's seccompProfile, but it shouldn't exactly related to our current context.
However, I did find OpenShift adding the seccompProfile: type: "RuntimeDefault" to the deployment similar to what we are doing now, so ultimately no warning as container security context is seccomp compliant; so upto us if we want to add it in pod securitycontext additionally or not.
IMHO, now the only possible perk would be to use the same RuntimeDefault seccompProfile in future side containers we add to the same deployment where we do not add their own container security context, no other advantage apart from that in this case I guess.

/lgtm

Checked your comments about the reason you keep it. It is OK to me. About the question, yes it overrides: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#security-context-2 :
General:
SecurityContext defines the security options the ephemeral container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
Specific:
If seccomp options are provided at both the pod & container level, the container options override the pod options.
/label qe-approved

/cc @bergerhoffer @davemulford
for docs-approved and px-approved labels respectively

/label docs-approved
/label px-approved


correct grammatical typo

There was a typo in the documentation for loaders. This is a quick correction.

Thanks!


Search smoke test failing

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=102321&view=logs&j=3792f238-f35e-5f82-0dbc-272432d9a0fb&t=b4255493-5d6b-5e5c-80d7-ebab0307fbf4
1) VSCode Smoke Tests (Web)
       VSCode Smoke Tests (Web)
         Search
           dismisses result & checks for correct result number:
     Error: Timeout: get text content '.search-view .messages .message>span' after 20 seconds.
      at /Users/runner/work/1/s/test/automation/out/code.js:181:23
      at Generator.next (<anonymous>)
      at fulfilled (/Users/runner/work/1/s/test/automation/out/code.js:9:58)

Tried locally a few times and couldn't get a repro. Any ideas @roblourens ?

Tried locally a few times and couldn't get a repro. Any ideas @roblourens ?

Same, I ran it many times and it passed 100%

Same, I ran it many times and it passed 100%

Going to reenable, 8a3a5d9b74723c4167d8415ae6228997c80fb108 may have fixed.

Seeing this
       Search ** Timeout! page.evaluate: Evaluation failed: Error: Active element not found. Current active element is 'HTML > BODY.windows.web'. Looking for .search-view .search-widget .search-container .monaco-inputbox textarea     at BrowserWindowDriver.isActiveElement (http://localhost:9888/static/out/vs/platform/driver/browser/baseDriver.js:63:23)     at eval (eval at evaluate (:300:31), <anonymous>:1:15)     at eval (<anonymous>)     at UtilityScript.evaluate (<anonymous>:300:31)     at UtilityScript.<anonymous> (<anonymous>:1:44)     at Connection.sendMessageToServer (C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\connection.js:69:15)     at Proxy.<anonymous> (C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\channelOwner.js:44:61)     at C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\frame.js:157:48     at Frame._wrapApiCall (C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\channelOwner.js:72:34)     at Frame.evaluate (C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\frame.js:156:21)     at C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\page.js:344:60     at Page._attributeToPage (C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\page.js:205:20)     at Page.evaluate (C:\Users\merogge\repos\vscode\node_modules\playwright\lib\client\page.js:344:21)     at Proxy.isActiveElement (C:\Users\merogge\repos\vscode\test\automation\out\playwrightDriver.js:72:55)     at Proxy.<anonymous> (C:\Users\merogge\repos\vscode\test\automation\out\code.js:208:39)         √ searches for body & checks for correct result number         √ searches only for *.js files & checks for correct result number         - dismisses result & checks for correct result number         √ replaces first search result with a replace term       Quick Access         √ quick access search produces correct result         √ quick access respects fuzzy matching       Notebooks         - moves focus in and out of output         - cell action execution       Language Features         √ verifies quick outline         √ verifies problems view         √ verifies settings       Editor         √ shows correct quick outline       Statusbar         √ verifies presence of all default status bar elements         √ verifies that 'quick input' opens when clicking on status bar elements         √ verifies that 'Problems View' appears when clicking on 'Problems' status element         - verifies that 'Tweet us feedback' pop-up appears when clicking on 'Feedback' icon         √ checks if 'Go to Line' works if called from the status bar         √ verifies if changing EOL is reflected in the status bar       Extensions         - install and enable vscode-smoketest-check extension
when testing #119524

Seeing this
using yarn smoketest --build <path to latest version> --stable-build <path to stable version>
pending - dismisses result & checks for correct result number due to timeout with this error
** Timeout!
Error: Active element not found. Current active element is 'HTML > BODY.windows > DIV.file-icons-enabled.monaco-workbench.windows.chromium.nopanel.vs-dark.vscode-theme-defaults-themes-dark_plus-json > DIV.monaco-grid-view > DIV.monaco-grid-branch-node > DIV.monaco-split-view2.vertical > DIV.monaco-scrollable-element > DIV.split-view-container > DIV.split-view-view.visible > DIV.monaco-grid-branch-node > DIV.monaco-split-view2.horizontal > DIV.monaco-scrollable-element > DIV.split-view-container > DIV.split-view-view.visible >
DIV.monaco-grid-branch-node > DIV.monaco-split-view2.vertical > DIV.monaco-scrollable-element > DIV.split-view-container > DIV.split-view-view.visible > DIV#workbench.parts.editor.part.editor.has-watermark > DIV.content > DIV.grid-view-container > DIV.monaco-grid-view > DIV.monaco-grid-branch-node > DIV.monaco-split-view2.vertical.separator-border > DIV.monaco-scrollable-element > DIV.split-view-container > DIV.split-view-view.visible > DIV.editor-group-container.active > DIV.editor-container > DIV.editor-instance > DIV.monaco-scrollable-element > DIV.welcomePageFocusElement'. Looking for .quick-input-widget .quick-input-box input
    at g.isActiveElement (file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:570:78242)
    at v.call (file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:2792:63919)
    at w.onPromise (file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:75:68877)
    at w.onRawMessage (file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:75:68236)
    at file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:75:67489
    at c.fire (file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:60:1836)
    at EventEmitter.N (file:///C:/Users/merogge/insiders/resources/app/out/vs/workbench/workbench.desktop.main.js:58:60411)
    at EventEmitter.emit (events.js:315:20)
    at Object.onMessage (electron/js2c/renderer_init.js:117:979)

On remote,
  1) shows results from all folders is failing with this message:
1) VSCode Smoke Tests (Electron)
      VSCode Smoke Tests (Electron)
        Multiroot
          shows results from all folders:
    Error: Timeout: get elements '.quick-input-widget .quick-input-list .monaco-list-row .label-name' after 20 seconds.
     at poll (C:\Users\merogge\repos\vscode\test\automation\out\code.js:173:19)
     at async Code.waitForElements (C:\Users\merogge\repos\vscode\test\automation\out\code.js:250:16)
     at async QuickInput.waitForQuickInputElements (C:\Users\merogge\repos\vscode\test\automation\out\quickinput.js:24:9)
     at async Context.<anonymous> (out\areas\multiroot\multiroot.test.js:39:13)

Those look like errors from the quick input rather than search?

@JacksonKearl depends on https://github.com/microsoft/vscode/issues/128479. We are happy for any help we can get, the item is up for grab.

Just reported this again in https://github.com/microsoft/vscode/issues/138552

Another failure: https://dev.azure.com/monacotools/Monaco/_build/results?buildId=145908&view=logs&j=672276a2-8d3a-5fab-615d-090c51352f92&t=d239d20c-b192-5a3e-69bb-696f63b250a5&l=173
  4 failing

  1) VSCode Smoke Tests (Web)
       Language Features
         verifies quick outline:
     Error: Timeout: get elements '.quick-input-widget .quick-input-list .monaco-list-row .label-name' after 20 seconds.
      at poll (D:\a\1\s\test\automation\out\code.js:48:19)
      at async Code.waitForElements (D:\a\1\s\test\automation\out\code.js:152:16)
      at async QuickInput.waitForQuickInputElements (D:\a\1\s\test\automation\out\quickinput.js:25:9)
      at async QuickAccess.openQuickAccessAndWait (D:\a\1\s\test\automation\out\quickaccess.js:46:13)
      at async QuickAccess.openFile (D:\a\1\s\test\automation\out\quickaccess.js:74:9)
      at async Context.<anonymous> (out\areas\languages\languages.test.js:16:13)

  2) VSCode Smoke Tests (Web)
       Language Features
         verifies problems view:
     Error: Timeout: get elements '.quick-input-widget .quick-input-list .monaco-list-row .label-name' after 20 seconds.
      at poll (D:\a\1\s\test\automation\out\code.js:48:19)
      at async Code.waitForElements (D:\a\1\s\test\automation\out\code.js:152:16)
      at async QuickInput.waitForQuickInputElements (D:\a\1\s\test\automation\out\quickinput.js:25:9)
      at async QuickAccess.openQuickAccessAndWait (D:\a\1\s\test\automation\out\quickaccess.js:46:13)
      at async QuickAccess.openFile (D:\a\1\s\test\automation\out\quickaccess.js:74:9)
      at async Context.<anonymous> (out\areas\languages\languages.test.js:22:13)

  3) VSCode Smoke Tests (Web)
       Language Features
         verifies settings:
     Error: Timeout: get element '.view-overlays .cdr.squiggly-error' after 20 seconds.
      at poll (D:\a\1\s\test\automation\out\code.js:48:19)
      at async Code.waitForElement (D:\a\1\s\test\automation\out\code.js:156:16)
      at async Context.<anonymous> (out\areas\languages\languages.test.js:33:13)

  4) VSCode Smoke Tests (Web)
       Editor
         shows correct quick outline:
     Error: Timeout: get elements '.quick-input-widget .quick-input-list .monaco-list-row .label-name' after 20 seconds.
      at poll (D:\a\1\s\test\automation\out\code.js:48:19)
      at async Code.waitForElements (D:\a\1\s\test\automation\out\code.js:152:16)
      at async QuickInput.waitForQuickInputElements (D:\a\1\s\test\automation\out\quickinput.js:25:9)
      at async QuickAccess.openQuickAccessAndWait (D:\a\1\s\test\automation\out\quickaccess.js:46:13)
      at async QuickAccess.openFile (D:\a\1\s\test\automation\out\quickaccess.js:74:9)
      at async Context.<anonymous> (out\areas\editor\editor.test.js:15:13)

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=146345&view=results

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=146305&view=logs&j=672276a2-8d3a-5fab-615d-090c51352f92&t=d239d20c-b192-5a3e-69bb-696f63b250a5&l=144

Trend looks pretty good lately:

I am also refactoring how openQuickAccessAndWait works in https://github.com/microsoft/vscode/commit/38f026eb35735f22602d1919a87a785b561e6dcc so maybe we should close this one until we see it happening again?

If it hasn't failed in a week, we can call this fixed 🎉
Thanks for the fixes @roblourens @bpasero


[firebase_auth] providerId renamed to PROVIDER_ID

firebase_auth 0.18.0 introduced a bunch of changes, including that Providers (EmailAuthProvider, FacebookAuthProvider, GoogleAuthProvider, TwitterAuthProvider) used to have a providerId constant, but that was replaced with a static property called PROVIDER_ID.
Aren't the SCREAMING_CAPS of PROVIDER_ID a violation of Dart Style?

And worth, PROVIDER_ID is not const as provider_id use to be, which is a (non documented) breaking change, as it breaks switch.

Thanks for the feedback! Whilst it does go against Dart's style preference, this is now a major version removed, and we feel it's worked out pretty well and adequately documented.


proposal: make this project international

Would you mind if changing all the docs and comments to English, it might be more friendly to all the other folks.

I can't agree more with @HuKeping , if this is ready to publish, PLEASE be more professional and offer an English version at least, give a hug to the world, not only focus on Chinese people.
And, keep Chinese in git commit and comments is extremely ugly, please consider removing them.
-- From an employee of Huawei

花精力先在国内搞起来再说吧。

in open source convention, the english is standard language to open source world. please keet it on correct things. thanks a lot.

@keping @zhangwei meet again in open source community，of course，totally need to be in english if we wish there will be more and more people join us. This is a important point in the nearly future milestone.

文档和资料有有点混乱，不太像个大公司提供的东西。zip包解压出来个HuaweiLiteOStar。想了好久file下才发现还是个tar包。建议把手册整理下，步骤带资料整理链接，step by step 帮助快速入门。

I think programmers coding LiteOS have got used to read code in English.


source URL in Plain not working

Hello
I am testing source URL in Plain, but its not working.
request in base64, success:
http://imgproxy.dev/unsafe/aHR0cHM6Ly92aWEucGxhY2Vob2/xkZXIuY29tLzE1MC5qcGc
request in plain, fail:
http://imgproxy.dev/unsafe/plain/https://via.placeholder.com/150.jpg
logging:
WARNING [2021-06-23T06:26:19Z] Completed in 1.335423ms /unsafe/plain/https:/via.placeholder.com/150.jpg  request_id=n60EpII1-bp9n2LO-GkNJ method=GET status=404 error="Get \"https:///via.placeholder.com/150.jpg\": http: no Host in request URL"
docker-compose:
version: '3'

services:
  imgproxy:
    image: docker.io/darthsim/imgproxy:latest
    ports:
    - 80:8080/tcp
    restart: always
    environment:
      IMGPROXY_LOG_LEVEL: debug

Hey!
It looks like a very old bug that was fixed a long time ago. Did you try to update the image?

Hello, I am using docker image docker.io/darthsim/imgproxy:v2 and docker.io/darthsim/imgproxy:v2.16.4 both fail.

Sorry, I can't reproduce the issue. Your logs look pretty suspicious though. It looks like something in front of imgproxy rewrites the URL.

Thank you for quick reply, I can confirm the weird casue is the proxy in front of imgproxy.

@devudopw Hi, may I ask how did you resolve this? I have the exact same issue, but running in K8s with Kong infront of imgproxy.

@terrpan
I guess Kong will sanitize the URI before hitting the upstream, for a quick fix, you have to use base64 encode the image URI

@devudopw Yes that was my guess as well.
Thanks for getting back!

Happens with Azure App Service too


.rvmrc file unneeded & specifies wrong version

This is defunct, right?

Coverage remained the same at 92.43% when pulling a6a2814a322efb03b8c70c5cace4859eb1750fd1 on remove-rvmrc into 8eb3bbb6c28b9edb78c00cb3be555feaedd29b98 on master.

Ugh, yeah I hope so. :+1:


Caching not working

Thank you very much for your fantastic actions and sorry for my inability to understand them fully.
We are trying to use them in the yolo/Darknet project (feel free to add them to real world examples if you want, after they will be fixed...).
Unfortunately I am experiencing no cache at all for vcpkg artifacts. May I ask you what am I doing wrong?
https://github.com/AlexeyAB/darknet/blob/master/.github/workflows/ccpp.yml
Thank you very very much for your time

@cenit I've got a brief look to the logs of the workflow, and it looks like that the problem is that run-vcpkg with setupOnly:true does not store anything in cache when the workflow fails. Same topic has been discussed here:
https://github.com/lukka/run-vcpkg/issues/58
Is this correct?
On the contrary, when setupOnly:false, the cache is stored at the end of the run-vcpkg step  execution (and not at the end of the workflow).
I still have to implement a solution that is letting the user to choose whether to store the cache always even when something failed in the workflow before reaching the post actions phase.

@cenit I've got a brief look to the logs of the workflow, and it looks like that the problem is that run-vcpkg with setupOnly:true does not store anything in cache when the workflow fails. Same topic has been discussed here:
https://github.com/lukka/run-vcpkg/issues/58
Is this correct?
On the contrary, when setupOnly:false, the cache is stored at the end of the run-vcpkg step  execution (and not at the end of the workflow).
I still have to implement a solution that is letting the user to choose whether to store the cache always even when something failed in the workflow before reaching the post actions phase.

Let me know if there is otherwise anything that can be done on run-vcpkg side to address this problem

sorry for no reactions on your nice reply.
It was/is a very busy time for me on many other projects, but that problem was solved thanks also to a better script refactor. I am stuck with other strange behaviours related to CUDA and run-vcpkg, but that's another topic and I will open another issue in case of persisting problems.
Thanks again for your nice actions!


Add a default i18n setup

I'm opening this in response to this tweet
Good Internationalisation and Localisation can greatly increase the potential market for a service. If you live / work in a country with multiple languages it may even be a hard requirement. (I live in Switzerland, everything needs 2-4 Languages)
I'm proposing to add a default i18n setup to this template, which would entail:

Setting up Starlight i18n for the Astro Site
Setting up i18n for the App

Use localStorage to store the language, since SEO isn't as necessary for the App
Extracting all hard-coded strings from the App & use an i18n library (may I shamelessy promote ParaglideJs)

I am not proposing to ship the template in multiple languages by default, only to have setup in place to add more languages.
I would be happy to contribute this if you're interested!

Yes please, this would be awesome !

I would be happy to contribute this if you're interested!

This sounds like a great feature. Go ahead and assign yourself @LorisSigrist if you're still willing to take this on 🙏

This is quite interesting. I wonder if it should be a feature at Wasp level at some point. Let's see how this goes, and it might give us some good inspiration for that!

This would be very useful feature.

Lets go

That would be really helpful @LorisSigrist!

I really need multiple languages!

i18n and lemonsqueezy payment required.

User adding i18 to his Wasp app: https://discord.com/channels/686873244791210014/686873245428875297/1316335720977272852


Image Block Hover

The "Image Hover" image is not displaying on mouse over, tested same on two 8.2.1 sites

I tested Image Hover in the develop branch and it is working correctly.
@pvernaglia
The image hover effect requires constraining the image size.

Yes it does work in 8.2.1 if you have constraints set, kind of odd having to do that and not something we needed to do in the past. -thanks

When you constrain an image it is displayed as an img and as a picture when unconstrained. Image Hover does not work with the picture element.