Demo site is missing styling

https://mandrasch.github.io/11ty-plain-bootstrap5/
On the other hand, using this actual template includes styling.

Hey @jessegrosjean, thanks very much for letting me know! 👍  Setting the pathprefix in the Github Action failed, works again. Have a nice day! Cheers!


First prediction

I was wondering if it mattered at all if we ran a different sequence other than the T1050 for the first prediction, would this affect drift or how alpha fold handles future sequences?

It doesn't matter, all AlphaFold runs are completely independent of each other, there is no state carried over from run to another. It is absolutely fine to start with any sequence.


Add optimized solution for the problems in your favorite programming language

Add optimized solution for the problems in your favorite programming language.
Add comment and explain each and every line.
Variable name should be meaningful and in camelCase like FooBar,FooBarTest.
Add solution link in readme file with language category in solution section like C, C++, Java, Javascript, Python.
Your Code must be pretty formated.
Have a good commit message.

Can you assign me this issue?

Can I work on this ?

please assign this to me

Please  assign me this issue

Hey!
I'm Hacktoberfest'22 contributor .I would like to work on this issue. Please assign me this issue.

pls assign me this


Make the Search all items setting tool-tip readable

During a random conversation, I was linked an image showing of the current tool-tip for the Search all items setting, which is frankly unreadable.
So I went ahead and added some crispy HTML to actually wrap the text around to a readable state
I pointed this PR to the 3.6.0 branch, if you want to create a 3.6.1 branch and swap it to that, that's perfectly fine :+1:

before:

after:

added in f78375d42b1e28f41bbe64c826b53111755309fb


updated threatmodel using supervisor domains terms

updated threatmodel using supervisor domains terms and normative or non-normative refs to mitigations.
new PR opened to correct inadvertent merge of previous.

@NicholasWoodIMG commented on this pull request.
Just some high-level comments on structure. I realise it's early days.
In specification/threatmodel.adoc:

memory, CPU registers, IO devices and IOMMU etc.

-Simple Hardware adversary __ - This includes adversaries that can use
-hardware attacks such as bus interposers to snoop on memory/device
-interfaces, voltage/clock glitching, observe electromagnetic and other
-radiation, analyze power usage through instrumentation/tapping of power
-rails, etc. which may give the adversary the ability to tamper with data in
+Simple Hardware adversary __ - This includes adversaries that can use
+hardware attacks such as bus interposers to snoop on memory/device
+interfaces, voltage/clock glitching, observe electromagnetic and other
+radiation, analyze power usage through instrumentation/tapping of power
+rails, etc. which may give the adversary the ability to tamper with data in
memory.
Best avoid "simple"/"advanced". It's all subjective and changes all the time. A scanning electron microscope attack, for example, might be expensive but isn't difficult. And readily available in most research labs. Same with physical disassembly, etc.
Better to state what specific adversary capabilities are in scope for this feature, and which are not.
In specification/threatmodel.adoc:

debug mode accessible information.

T21: A TVM causes a denial of service on the platform
[NOTE]
-This is not an exhaustive list and will be updated on a regular basis as attacks evolve._
+This threat model is not an exhaustive list and will be updated (via the RISC-V
+Security Model specification <>) on a regular basis as attacks evolve.
I don't think this T-list adds much?
Edit: Table that follows is better.
In specification/threatmodel.adoc:

====

=== Scope
-This specification does not prescribe the scope of mitigation and focusses
-on the TEEI interface and use-of/impact-on the RISC-V ISA. It is
-recommended that implementations of this reference architecture address
-threats from system software adversaries. Implementations may choose to
-mitigate threats from additional adversaries. For all cases, denial of
-service by TVMs must be prevented. At the same time, denial of service by
+This specification does not prescribe the scope of mitigation and focusses
+on the TEEI interface and use-of/impact-on the RISC-V ISA. It is
+recommended that implementations of this reference architecture address
+threats from system software adversaries. Implementations may choose to
+mitigate threats from additional adversaries. For all cases, denial of
+service by TVMs must be prevented. At the same time, denial of service by
host software is considered out of scope.
Not sure I understand this scope... The list above and table below both have threats that go beyond both RV ISA and TEEI interfaces?

In specification/threatmodel.adoc:

host software is considered out of scope.

[[design_survey]]
-=== TVM Security Requirements to address threat model
+=== TVM Security Requirements to address threat model
For something as complex as CoVE, might be better to break it down in manageable portions by security guarantees, and then a simple threat-mitigation table for each?
For example: memory isolation guarantees; memory protection guarantees; execution state guarantees; device assignment guarantees; security lifecycle guarantees; sealing guarantees; ...
And then for each, a simple threat/mitigation table that describes what each main component in the CoVE architecture contributes - system (including HW RoT, ...); monitor; TSM; TVM; ISA; ...
Might make it easier to work out what CoVE/ISA solves; what a system implementing CoVE needs to do on top; what a TVM needs to do on top; etc.?
In specification/threatmodel.adoc:

-| Memory Assignment | Ability to make memory confidential or non-confidential | Required | MMU, MPU, PMA/MTT extension | Confidential memory should be dynamically allocated/unallocated as required | "AP-TEE to specify priv. architecture"
+| TEE CPU State Protection | State Isolation | Required | Priv. levels (M,S,HS,
+U) and Execution context (ASID, VMID, SDID) | Prevent untrusted code from
Nit: "Untrusted"/"Trusted" - coarse, and people can take offence having "their" bit called "untrusted"/"non-secure"/etc. :-)
Use "more/less privileged"; "confidential/non-confidential" (defined CoVE terms); etc.?
In specification/threatmodel.adoc:

-| Memory Confidentiality | Memory isolation (read)     | Required                | cryptography and/or MMU, MPU, PMA/MTT extension | Prevent untrusted components from reading TEE memory       | AP-TEE TG specify
-| Memory Confidentiality | Cipher text read prevention | Required                | cryptography and/or MMU, MPU, PMA/MTT extension | Prevent untrusted code from accessing encrypted TEE memory | AP-TEE TG specify
-| Memory Confidentiality | Per TEE encryption          | Implementation-specific | cryptography and/or MMU, MPU, PMA/MTT extension | Each VM has one or more unique keys                        | AP-TEE TG to recommend
-| Memory Confidentiality | Memory encryption strength  | Implementation-specific | cryptography                                    | Encryption algorithm and key strength                      | AP-TEE TG to recommend
-| Memory Confidentiality | Number of encryption keys   | Implementation-specific | cryptography                                    | Number of TEE keys supported                               | AP-TEE TG to recommend
+| Memory Confidentiality | Cipher text read prevention | Required | cryptography
Cipher text read prevention
I agree "prevent unauthorized access to memory assigned to a different domain/TVM, regardless of memory protection" is a sensible isolation guarantee.
But in a memory protection context it's about freshness guarantees.
Maybe rephrase in terms of freshness requirements? Boot freshness; domain freshness; TVM freshness; temporal freshness; etc.?
And then do the same for replay protection, integrity protection.
And build a simple threat/mitigation table around that.
Actual implementations will have different threat models for what is in/out of scope - software attacks, physical attacks, whatever - and what performance/security trade-offs they accepts.
—


feat: dark/light mode switch (easiest would be chakra ui or tailwind)

closed in 4ef1f375f22699ea1c481e7c0c4281436e4ef45c


Use full names for status, not acronyms

https://github.com/datasette/datasette-enrichments/blob/e87a8cbf155728f7555379c982035694b019f250/datasette_enrichments/__init__.py#L25-L28
Given the size of the other columns in this table - in particular the config JSON column - saving some characters with those abbreviations does not feel worth it. It just makes things harder to debug.


Do you have any plans to port this to 1.16.5?

If not, would you have any issues with me including these patches in a 1.16 performance mod (with credit)?

Hey, no I don't intend to back-port to 1.16 at all. Feel free to do that (the MIT licence allows it I believe 🙂), and credit is appreciated but not required 😄


Metrics: GC stale series separately from truncating WAL

Background
Today, Grafana Agent performs a metrics "garbage collection" every 60 minutes (when metrics collection is enabled). The garbage collection process does the following for a specific point in time (the "GC timestamp"):

Mark in-memory series that haven't received a write since the last GC for deletion.
Remove in-memory series that were marked for deletion during the previous GC.
Cut the current WAL segment and create a new one.
Create a new WAL checkpoint from the lower 2/3rds of segment files, composed of all active series records and samples newer than the GC timestamp.
Delete the lower 2/3rds of WAL segment files which composed the checkpoint.

The details of how the GC timestamp is determined is out of scope for this proposal.
When Grafana Agent first released, this GC process happened every minute, but was lowered 60 minutes due to the high constant IOPS introduced by the frequency of the GC.
Performing the GC every 60 minutes has the following effects compared to the original 60 second frequency:

Average IOPS rate is dramatically lowered, due to only needing to create checkpoints 60x less often
Memory usage increases, due to keeping stale series in-memory 60x longer

Proposal
The proposal is to supplement the current process with two following additions:

Use the staleness marker added by Prometheus' scraper as a marker for deletion.
Delete marked in-memory series every 5 minutes in a background goroutine. Only series that have been marked for deletion for at least 5 minutes should be deleted.

5 minutes is chosen slightly arbitrarily: it needs to be big enough to allow for flapping series to be unmarked for deletion, and 4 minutes is the maximum recommended scrape interval for any target.
This change will reduce the overall memory consumption of Grafana Agent in environments that experience frequent series churn by allowing stale series to be removed within 10 minutes instead of 2 hours.
Trade-offs
Pros

Lowers total memory usage in environments that have frequently changing targets or series churn

Cons

May cause more duplicate series records in the WAL: new series records will be created for targets which have flapping series that are scraped very infrequently. Being able to disable this enhancement may be a suitable workaround.

Memory Impact
Let's imagine a Prometheus target that returns a unique set of 1000 series every 60 seconds, and is scraped every 15 seconds.
Today, when the GC runs after the first hour, there will be 60k active series, and roughly all of them will be marked for deletion. During the second GC, after another hour, there will be a total of 120k active series, and the marked series will be deleted, bringing the total back down to 60k. The active series will continue fluctuating between 60k and 120k for this target for the process lifetime.
With this proposal, series will be marked as stale on subsequent scrapes, and deleted within 10 minutes. After 5 minutes, there will be 5,000 active series. The active series will continue fluctuating between 5,000 and 10,000 for this target for the process lifetime.
Summary
We are not able to directly correlate specific memory improvements to this change; too many factors determine the cost of an individual series. Similarly, we are not able to say whether this would improve agent memory usage in the general case.
We will only be able to say that this change deletes stale series roughly 12x faster than before, which may lower memory usage in some cases.
Upstreaming to Prometheus Agent
This change is something that Prometheus Agent can also benefit from. While we are still working on unifying the code and using Prometheus Agent directly, I propose we implement this downstream first to experiment, and then upstream once we know whether it's a good idea.

I'm going to close this. At the time I wrote this, I thought that every series would eventually receive a staleness marker. However, this is not true for series that are scraped with an explicit timestamp, or series received over the network.
I do believe there are opportunities to decouple removing stale series from truncating the WAL, but I don't believe this proposal has properly identified what that opportunity is.


Create Audit Service

Overview
Provides functionality for analyzing a budget, and reporting issues with it
A/Cs
TBD

See #20


Update env vars cosign

@sabre1041 I pulled in your commit for the env vars

shoot - have to rebase against gamma branch....

closing, need to open against release-1.0.gamma


Set IP set block retention period using DynamoDB - ability to set a retention period on the IP address list within the IPSet Rules so that you can Allow, Block or Count IP addresses for a period of time.

Please up-vote if you want this feature. Do not submit a new feature request.

We launched the allowed and denied ip retention feature in release v3.2


⚠ ClamAV has degraded performance

In 1ad4118, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 745 ms

Resolved: ClamAV performance has improved in 1529740 after 5 minutes.


Error: SHA256 mismatch

Describe the bug
brew install maestral fails with error; retrying does not help
brew install maestral
==> Downloading https://github.com/SamSchott/maestral/releases/download/v1.5.2/Maestral-1.5.2.dmg
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/159194638/e2049bbb-88
######################################################################## 100.0%
Error: SHA256 mismatch
Expected: f02cbfaea33173b6e2654d3764a6444b1ed64b9e335fbbb56e252beea55b8381
Actual: f0bfa344ebc5a0cee425c61a1848c11ff3a82ef4e9e93c14fb9643846eb19c70
File: /Users/xxxxxxxx/Library/Caches/Homebrew/downloads/0454f80f3d5afc605e6c3e5ef49cb1ef6aa61c010eeed150d53e642f9abd7552--Maestral-1.5.2.dmg
To retry an incomplete download, remove the file above.
To Reproduce
installed homebrew
ran "brew install maestral"
Expected behaviour
I expect maestral.dmg to be available on my mac
System:
macos 11.6.1
Additional context
How do I fix this?

Same here.
macOS 12.0.1

Not sure what went wrong here, but I have a suspicion. Shortly after the releasing v1.5.2, I had to replace the macOS DMG on the GitHub releases page since it was missing a bundled dependency. Since this was not a change of the code, I only incremented the build number but did not create a new release. Homebrew might be checking the download against the SHA of the old DMG.
@franklouwers is in charge of the homebrew cask. @franklouwers, could this be fixed?
In the meantime, downloading directly from GitHub releases should work.

Automatic update from within app is also broken and failing.

@AlexisSerneels, thanks for flagging this. I've just updated the Sparkle appcast to provide the correct hash.

FYI I was able to download the release directly, install it, and it seems to work fine. Thanks.

This should have resolved the issue

Closing since this is resolved now. Apologies for the trouble!


Updated links to Extensions and appendices

I've updated a few of the broken links in the Old Axon Framework reference guide to point to the modules corresponding to Extensions and appendices from the old docs moved to the library.

Please don't telete this branch, as it is still WIP: some other links to still missing contents (architectural concepts) still need to be migrated when those pages are published in the corporate site.


Bundling  'index.android.js' [development, non-minified, hmr disabled] 0.0%(0/1), failed

Is this a bug report?
Yes
Have you read the Contributing Guidelines?
No
Environment
1.react-native -v:
react-native-cli: 2.0.1
react-native: n/a - not inside a React Native project directory
2.node -v: v6.11.2
3.npm -v: v3.10.10
4.yarn --version: v0.27.5
Then, specify:
Platform: Android
Operating system: Windows 10 *64
Buidling tool: Android studio 2.3
Steps to Reproduce

react-native init myapp
cd myapp
react-native run-android

I have tried to do the 'yarn remove babel-preset-react-native' and 'yarn add<EMAIL_ADDRESS>still didn't work for me.
Expected Behavior
Welcome to React Native Page
Actual Behavior

The development server returned response error code: 500
URL: http://<IP_ADDRESS>:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false
Body:
{"message":"TransformError: C:\Users\Administrator\jiekeapp\index.android.js: Unexpected token ) (While processing preset: "C:\\Users\\Administrator\\jiekeapp\\node_modules\\babel-preset-react-native\\index.js")","type":"TransformError","lineNumber":0,"description":"","errors":[{"description":"","lineNumber":0}]}
processBundleResult
BundleDownloader.java:170
access$100
BundleDownloader.java:39
onResponse
BundleDownloader.java:139
execute
RealCall.java:135
run
NamedRunnable.java:32
runWorker
ThreadPoolExecutor.java:1113
run
ThreadPoolExecutor.java:588
run
Thread.java:818
This problem has got me stuck for 3 days, still can't solve it after I did a lot of searching. #15513 #15496 #15524 #14961
Thanks for helping me ahead of time!

i have the same issue on windows

+1

Bundling index.ios.js  [development, non-minified, hmr disabled]  0.0% (0/1), failed.
error: bundling failed: "TransformError: /Users/guochao/Desktop/rndemo/AwesomeProject/index.ios.js: Unexpected token ) (While processing preset: "/Users/guochao/Desktop/rndemo/AwesomeProject/node_modules/babel-preset-react-native/index.js")"

Same problem here with macOS 10.12.6 and React Native 0.47.1

Any fix with this issue ?

Maybe because of  "babel-preset-react-native": "3.0.0"   ，  I have solved this problem by  back to 2.1.0

+1

uninstalling watchman fixed my issue

@FaridSafi dude, I don't think I have installed watchman, couldn't find it at all

"babel-preset-react-native": "3.0.0" change to 2.1.0 . still same problem.

@huzcNo1 I think I have downgraded the version of react-native, the current version of react-native-cli is 2.0.1, but still doesn't work, and how do you back it to 2.1.0?

@duanj3
yarn remove babel-preset-react-native
yarn add<EMAIL_ADDRESS>

@huzcNo1 yeah, that's exactly what I did before, and react-native-cli just automatically turned to 2.0.1, I mentioned in the issue as well, thanks anyway, have you got Wechat (QQ) or something if it doesn't bother you, cause I want to check that I didn't make it wrong

Can  I  have a look  the file of package.json in your  project @duanj3

@huzcNo1

oh, it shows "babel-preset-react-native": "3.0.0", what can I do?

do this  in the root dir  of  you project
yarn remove babel-preset-react-native
yarn add<EMAIL_ADDRESS>

run android fail -- Bundling index.android.js  [development, non-minified, hmr disabled]  0.0% (0/1), failed.
error: bundling failed: "TransformError: /Users/chaos/Desktop/demo/MyApp/index.android.js: Unexpected token ) (While processing preset: "/Users/chaos/Desktop/demo/MyApp/node_modules/babel-preset-react-native/index.js")"
run ios success...
Why?

@huzcNo1 Thank you .  in Mac, using npm remove and install 2.1.0,  that work!

omg, it is solved, thanks a lot, but new issue comes out...nearly broke down

@huzcNo1 nothing to worry, I have fixed it, thank you so much, it has annoyed me for so long thanks

@huzcNo1 I do this,then run ios success  but run android failed...

my pleasure @duanj3  @afeifly

@guochao285575  I am  sorrry , maybe I don't known how to fix the problem that you come across

@huzcNo1 thank you anyway

Guys this solution fixed the problem for me: https://github.com/facebook/react-native/issues/15332#issuecomment-319770048


[Feature Request] 3 finger middle button drag

Is it possible to enable dragging with 3 (and maybe 2) fingers like in MacOS or Linux?
It works by pushing the touchpad down until it clicks with 3 fingers, then when moving the mouse, it will act like a middle click + drag.
It's very useful when using CAD software.
Thank you very much

Hi, this is a great idea. However, the click status of a touchpad is an optional property and is not available on all touchpads.
See https://learn.microsoft.com/en-us/windows-hardware/design/component-guidelines/touchpad-windows-precision-touchpad-collection#:~:text=Button%201,Optional
I don’t have a compatible touchpad, but I’ll try to add this feature soon.


Error on adding temporary record

Hi! When trying to get a certificate with a not publicly available server I get this error:
"logger":"tls.obtain","msg":"will retry","error":"[ABC.DEF.de] Obtain: [ABC:DEF.de] solving challenges: presenting for challenge: adding temporary record for zone de.: expected 1 zone, got 0 for de.
Caddyfile:
sub1.domain.de {
        reverse_proxy /* frontend:3001
        reverse_proxy /api/* backend:3000
        reverse_proxy /swagger backend:3000
        reverse_proxy /spec backend:3000
}
sub2.domain-dev.de {
        tls {
                dns cloudflare TOKEN
                resolvers <IP_ADDRESS>
        }

        reverse_proxy /* frontend:3001
        reverse_proxy /api/* backend:3000
        reverse_proxy /swagger backend:3000
        reverse_proxy /spec backend:3000
}

The first domain works fine when publicly available for the ACME challenges, but the second won't work.
Dockerfile:
FROM caddy:2-builder-alpine AS builder
RUN xcaddy build --with github.com/caddy-dns/cloudflare

FROM caddy:2-alpine
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
COPY Caddyfile .

CMD ["caddy", "run"]

Cloudflare token settings:

I tried setting the image version to 2.2.1, as I found other dockerfiles that got it running with that one, but it didn't work for me.
Is this extension still supported? What am I doing wrong?

I feel like this is a Cloudflare account misconfiguration (or something like that). Can you please open a help topic in the forum and fill out the help template? Thanks! https://caddy.community


Update chart kubernetes-replicator to 2.11.0

This PR contains the following updates:

Package
Update
Change

kubernetes-replicator
minor
2.10.2 -> 2.11.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


read: Make Abbreviations::get take a NonZeroU64

This fixes a subtraction overflow when Abbreviations::get is called with zero now.
Alternative fix to #505; @philipc do you have a preference between these two patches?

Let's stick with the checked_sub in #505.

Let's stick with the checked_sub in #505.

:+1:


Verify patch file for LF line endings

Warn about .patch files with unsupported line endings
Try auto-conversion of Windows/Mac line endings to Unix

Fixes #44

Codecov Report
Attention: 8 lines in your changes are missing coverage. Please review.

Files
Coverage Δ

gen-pack
55.39% <33.33%> (-1.54%)
:arrow_down:

:loudspeaker: Thoughts on this report? Let us know!.


Export antenna metadata

Description of the feature
In 2024R1 there is a new option to export antenna metadata (ffd, parameters...) it is interesting for 3DComponent array postprocessing.
Steps for implementing the feature
oModule = oDesign.GetModule("ModelSetup")
oModule.ExportMetadata(...)
Useful links and references
No response

A New Farfield class implemented that uses this method.
https://github.com/ansys/pyaedt/blob/main/pyaedt/generic/farfield_visualization.py


feat(extras): expose prios to users for customization

Description
Offer to users capability to customize priorities of the Extras.

Related Issue(s)
Closes #4584

Screenshots

Checklist

[x] I've read the CONTRIBUTING guidelines.

ty!


A question about the customization of "CF push" process

Now I have some requirements to do some customizations to the ”CF push” process. The idea is that we still use "CF push"command to deploy our applications, but we want to do some validation(by validate the MD5 of the binary file or  by  some signature way) before being deployed to Diego cell. Now We plan to implement by different appraches:
Approach 1: by implement a customized CF CLI plugin and implement the validation logic in the plugin, the disadvantages is I need to use another syntax to do the validated push other than “CF push”
Approach 2: Is it possible to develop an interceptor before calling CF API, the interceptor will listen to events to indicate some milestones of the push process such as the app files has been stored completely in Blobstore. But the question is that I do not know whether this kind of interceptor is reasonable. Whether Cloud Foundry exposes the events I need?

Approach 3:  I am not sure whether the CF API calls go through some  proxy/gateway or not, Is it possible to implement it by customizing the gateway?
Approach 4: I am are not sure whether there are some other way to implement our requirement. So it is open to give more options.

Hi @maoyi8212
If your requirement is to do validation on app bits before allowing it to be staged and started, I believe there is a proposal to support mandatory buildpacks that would be run before any other buildpack to support this use case.
@sclevine Do you have more information on this proposal and its current state?

I am considering writing a proposal to add functionality to CC that would allow the operator to create buildpack groups. These groups would represent a multi-buildpack series of system buildpacks. System buildpacks specified in a group could be individually disabled, so that they could only run as part of the group. This should provide a more flexible version of mandatory buildpacks.
I don't have a timeline for this proposal yet.

@sclevine Thank you for your information. Currently do you have a buildpack which can do the validation to app bits already? Or I need to develop a buildpack to implement the logic by myself ? If there is sourcecode to do the validation already, could you please share the link with me?

I am not aware of a buildpack that does this already. I think the common workflow would be validate your app bits before running cf push, and I'm not sure I understand your motivation for doing this in the platform. How would the validating buildpack know the checksums of the app files? Do you plan to sign the app files using a private key and have the buildpack validate them using public key?

@sclevine Now we plan to store the checksums of the app files in a artifact repository with the app bits. When we push the application, maybe upload the validation information(checksums, signed keys) together with the the app bits to the blob store. Then we implement the validation logic in buildpack to make the integrity and consistency of the app bits

If you're validating the app bits for security reasons, pushing the app bits with checksums would be vulnerable to a malicious user modifying the checksums at the same time that they modify the app bits. I would definitely encourage you to include a public key in the buildpack and use that to verify signatures.

@sclevine Make sense. Thanks a lot for your suggestions!


Common styling, @tryghost/content-api as a dependency and french translation corrected

Hi @eddiesigner,
I'd like to provide few updates for the liebling theme :

Add .editorconfig in order to have common styling in files (particularly .js ones),
Add @tryghost/content-api as a dependency instead of adding the file statically in the project,
Correct the "More" translation in French (did not exists before),
Order dependencies and updated assets : to comply with the existing practice (but you will surely not use this last commit).

You can count on me for futur pull requests since i'm using the theme for my company.
All the best and thanks for your work,
Christophe
PS: This is my first pull request in a public project so don't hesitate to correct me if I'm doing something wrong

Hi @clitzinger 👋🏻
I truly appreciate your work on this but I can just merge the changes related to the .editorconfig (which is great btw) file and the french translation 😅
I don't use the content-api module because it doesn't work on IE 11, at least the previous version, while the UMD build (the one I use currently) it does, that's why I would prefer using that version at least for now.
Also in general the double quotes are the preferred way in HTML files (or Handlebars files) and personally I prefer writing Javascript without ; at the end of each sentence, those are added by Laravel Mix anyway after the build.
It would be great if you can just keep the .editorconfig file and the french translation 😄
Thanks!

Just to let you know that I just released a new version with some of your changes :)
I added the .editorconfig file and added the missing French translation. Thanks again for your contribution! I will close this MR now ;)


support additional markers

Scenario: When creating the MapLocationPicker, I would like to specify my own additional markers
So they can be loaded in _MapLocationPickerState.build
    const additionalMarkers = widget.additionalMarkers.map(entry => {
      return Marker(
        markerId: MarkerId(entry.key),
        position: entry.value,
      );
    }).toList();

    final markers = Set<Marker>.from(additionalMarkers);
    markers.add(Marker(
      markerId: const MarkerId("one"),
      position: _initialPosition,
    ));

//...
    markers: markers,
//...

https://github.com/rvndsngwn/map_location_picker/pull/9 Merged.


1.0.0.M4 Release

@sobychacko We're ready to run the release script, as soon as this is merged.

LGTM - Can you merge the PR?


consider changing the signature source from an individual to CFF

right now the README states that files are signed by the @sclevine keybase.io. is there a better approach than using an individual in the future?

There's some discussion about this here. Bret has also reached out to me directly about signing the CF Local binaries with a trusted code signing certificate so that it can be used on locked-down Windows machines.
I should follow up with @chipchilders to see if the CFF could send me a hardware token with the same code signing certificate that's used by the CF CLI, or alternatively, if the CFF could purchase additional certificates for CLI plugin authors.


Improve sample script for tests for multimodel statistics preprocessor function

[x] Add ocean datasets
[x] Use directory structure
[x] Improve horizontal slicing
[x] Clean up
[ ] Run the script, download data and upload to GitHub

Doing acceptable horizontal slicing of ocean data is more difficult than expected. Will use just variable ta for now.


TypeError: PostOrPut() got multiple values for keyword argument 'extra_headers'

ERROR:gdata:gdata API error. PostOrPut() got multiple values for keyword argument 'extra_headers'
Traceback (most recent call last):
File "T:\Migration\GoldenMasterTools\sip_validator.py", line 104, in
source.sync(sip_data)
File "C:\Python27\lib\site-packages\sheetsync_init_.py", line 864, in sync
return self.update(raw_data, row_change_callback, delete_rows=True)
File "C:\Python27\lib\site-packages\sheetsync_init.py", line 918, in update
row_change_callback):
File "C:\Python27\lib\site-packages\sheetsync_init.py", line 1063, in _change_row
self.write_cell(cell_elem)
File "C:\Python27\lib\site-packages\sheetsync_init.py", line 620, in _write_cell
self.flush_writes()
File "C:\Python27\lib\site-packages\sheetsync_init.py", line 633, in _flush_writes
raise e
TypeError: PostOrPut() got multiple values for keyword argument 'extra_headers'

Hi Ash, I've just published a newer version (0.1.5)  https://pypi.python.org/pypi/sheetsync/0.1.5  which should fix most occurrences of this problem. You can upgrade to it with "pip install -U sheetsync".
Let me know how it goes.
M


New script prevent guest account at M365 group/Teams

New sample script prevent guest account at M365 group/Teams

Wow another one, your on fire 🚀 - thank you, another really useful one. This will be live shortly 🎉🥳


Refactor Globals.cs to use Dependency Injection

Description of problem
In DNN 9.4.0 we introduced Dependency Injection and it is time to start refactoring the Globals.cs file to use Dependency Injection. This is a massive undertaking and should not be attempted in 1 Pull Request. This work item should serve as an epic that we can link others back to as we solve small problems.
Description of solution
Refactor sections of Globals.cs into manageable interfaces grouped in logical chunks. For example all of the NavigateURL methods should move to an interface called INavigationManager.
Description of alternatives considered
N/A
Screenshots
N/A
Affected browser

[x] Chrome
[x] Firefox
[x] Safari
[x] Internet Explorer
[x] Edge

Work Items
A table of work items of chunks that we will break out the Globals.cs into

Work Item ID
Manager
Description

#3159
INavigationManager
All navigation methods should exist in an easy to use interface

When we implement this throughout the platform should we be recommending GetService<T>() or GetRequiredService<T>() for resolving dependencies using the Service Locator pattern. As we migrate away from the Globals.cs we are going to need to use the Service Locator pattern quite a bit.
GetService()
If the container fails to find the dependency, the method will return null, which will most likely cause a NullReferenceException
GetRequiredService()
If the container fails to find the dependency, the container will throw an exception and stop the app right there
Most of the Globals and usage throughout the internals of DNN are required, so I tend towards GetRequiredService<T>() but it is hard to tell when one should be used over the other.

To properly migrate from Globals.cs to using dependency injection we should mark as many APIs as [Obsolete] and deprecated as soon as we can. I would hate for us to mark APIs as deprecated that we haven't identified a good Dependency Injection Story for.
My goal is to get as many of these marked for deprecation for v11 as I don't want to have to migrate a Globals file to .NET Core and we have no idea when we are ready for the switch, but I want us to be prepared
@mitchelsellers @bdukes
Do you have any thoughts on what we should do for Globals.cs as we start documenting and migrating it to Dependency Injection? Could we create an issue and submit a PR that just deprecates all APIs and then we can deal with them on a case-by-case basis?

I think that makes sense @ahoefling.  Do we need to require that these new interfaces are .NET Standard compliant (i.e. don't reference types from System.Web, et al)?

@bdukes this is a great question! I am all for creating a new library called DotNetNuke.Common.Interfaces or something similar that we can put these interfaces in. My first PR on this I created a new namespace called DotNetNuke.Common.Interfaces and placed the interface in there.
I think this is an important change, can you leave this feedback on PR #3160 so we can set the stage right for follow-up PRs and how we want it implemented

Just for triage, this issue is not complete right, it is a big item that will be done as multiple PRs correct?
Also how much of this can we do in 9 or does it all need to go to 10. One issue was that existing modules would need to be recompiled if used APIs or dependencies get moved into a new library...

Hi folks, I see the latest DNN release marks Globals.NavigateURL as becoming obsolete in a future release:
[Obsolete("Deprecated" in Platform 9.4.2. Scheduled removal in v11.0.0.")]
There doesn't appear to be any recommendations in the code moving forward. Is there guidance on how we are to replace our usage of Globals.NavigateURL in 3rd party modules? I'd prefer to not suppress these messages for now unless I have to.
Thanks!

@tpperlman The recommendation will be to use the new INavigationProvider interface with Dependency Injection for your custom solutions - https://github.com/dnnsoftware/Dnn.Platform/pull/3160

Thanks @mitchelsellers!
So if I understand correctly the new way going forward would be to add a reference DotNetNuke.Abstractions in the project and replace entries like:
return DotNetNuke.Common.Globals.NavigateURL(SomeTabId);
with
using DotNetNuke.Abstractions;
...
protected INavigationManager NavigationManager { get; }
...
return NavigationManager.NavigateURL(SomeTabId);

Yes!

I guess this would be for Dnn10? Just asking for triage, will put it there but if I am wrong feel free to change or comment

If any of the labels I put don't make sense, please edit or let me know...

Hi everyone. I stumbled upon issue and as I understand it has to do with this refactoring. I checked versions 9.6.0 and 9.6.1. When I pulled source code of these release versions and tried to compile it and run it from visual studio 2019 at localhost, it fails.
It throws NullReferenceException at line 585, because attempt to get instance of DataProvider returns null. How can it be fixed?

@Constantine-Ketskalo that doesn't appear (to me) to be related to this issue.  You'll want to review the build documentation, which describes using Cake to build packages and setup a dev site.  Just running the site from Visual Studio doesn't provide a complete site install, unfortunately. /cc @donker

Thank you so much, @bdukes.

Thanks @mitchelsellers!
So if I understand correctly the new way going forward would be to add a reference DotNetNuke.Abstractions in the project and replace entries like:
return DotNetNuke.Common.Globals.NavigateURL(SomeTabId);
with
using DotNetNuke.Abstractions; ... protected INavigationManager NavigationManager { get; } ... return NavigationManager.NavigateURL(SomeTabId);

Actually，You can get a instance of INavigationManager  when your control inherit  from PortalModuleBase.
navigationManager = DependencyProvider.GetRequiredService();
Or
IServiceProvider serviceProvider2 = DependencyProvider;
navigationManager = ((serviceProvider2 != null) ? ServiceProviderServiceExtensions.GetRequiredService(serviceProvider2) : null);
I verified them in DNN 9.10.2

Thanks @mitchelsellers!
So if I understand correctly the new way going forward would be to add a reference DotNetNuke.Abstractions in the project and replace entries like:
return DotNetNuke.Common.Globals.NavigateURL(SomeTabId);
with
using DotNetNuke.Abstractions; ... protected INavigationManager NavigationManager { get; } ... return NavigationManager.NavigateURL(SomeTabId);

I'm building an MVC module on 9.11 and am attempting to migrate to this new structure. I'm getting an "Object reference not set to an instance of an object." error when running the return NavigationManager.NavigateURL(SomeTabId); line. I've tried everything I can think of to instantiate the NavigationManager with no luck. Can you tell me what I'm missing?
Thank you

In MVC you can get the services injected for you using constructor injection like described here:
https://docs.dnncommunity.org/content/getting-started/development/fundamentals/dependency-injection/mvc/index.html
Note that since you need INavagationManager, this is already registered by DNN itself so for that one, you don't need to also implement IDnnStartup


Enhancement: Decouple AdminDemoteCommand from application container

This PR

[x] decouples the AdminDemoteCommand from the application container

Follows #717.

Thank you, @BackEndTea!


Remove usage of snake_case helper function

Changed the reference in the SnakeCase middleware to use the updated Str::snake()

Thanks!


remove gofr's dependency from ftp package

Pull Request Template
Description:

Resolves #1259 partially.

Checklist:

[ ] I have formatted my code using  goimport  and  golangci-lint.
[ ] All new code is covered by unit tests.
[ ] This PR does not decrease the overall code coverage.
[ ] I have reviewed the code comments and documentation for clarity.

Thank you for your contribution!

The failing S3 tests and build for the workflow run can be addressed by this PR: https://github.com/gofr-dev/gofr/pull/1324


build: add second run time

This is just for testing and will be reverted.

Coverage remained the same at 100.0% when pulling a6b722f05c8bfa1d6e89519c35d06ddce966e881 on add-second-schedule-time into 08bf6faffc309225863b77b17c58af21323568a0 on main.

:tada: This PR is included in version 1.2.30 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Configuration suggests using glob, doesn't work

Was setting up todoman and reading through the documentation which suggests to use
# A glob expression which matches all directories relevant.
path = ~/.local/share/calendars/*

Using the glob expression results in no available lists, removing the star helps.

That does work for me. Which version do you use?

Also, do you have subfolders in ~/.local/share/calendars? Because if you don't have those, then there are no task lists and the behavior is correct.

Oh. I presumed the glob expressions would include files. My bad.

Ah, I see what you mean... no, it should only match the folders that contain such items.


Bug: JsonConvert.SerializeObject( JToken ) converts any integer to string

Description
JsonConvert.SerializeObject() converts integers to strings, if we pass JToken !
Example
var str = "{\"a\":123}";
var jtoken = JsonConvert.DeserializeObject<JToken>(str);
var badSerializedString = JsonConvert.SerializeObject(jtoken);
var goodSerializedString = jtoken.ToString(Formatting.None);
Debug.Log(badSerializedString);  // outputs: {"a":"123"}
Debug.Log(goodSerializedString); // outputs: {"a":123}

Expected behavior
badSerializedString should be just the same as goodSerializedString: {"a": 123}
Versions
Newtnosoft.Json-for-Unity version: 12.0 (latest)
Unity version: 2019.1.14f1
Platforms affected: android, ios, webgl, editor

Hi! Thanks for reporting this!
I do not have a computer with Unity installed at the moment so can only try reproduce later, but I tried it in dotnet fiddle where it works as expected. This is intriguing!
Will get back to you once I've tested your example.

I am unable to reproduce this issue. I tried it with the following tests:
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NUnit.Framework;

namespace Tests
{
    public class Issue60
    {
        [Test]
        public void BadSerialized()
        {
            var str = "{\"a\":123}";
            var jtoken = JsonConvert.DeserializeObject<JToken>(str);
            var badSerializedString = JsonConvert.SerializeObject(jtoken);
            Assert.AreEqual(@"{""a"":""123""}", badSerializedString);
        }

        [Test]
        public void GoodSerialized()
        {
            var str = "{\"a\":123}";
            var jtoken = JsonConvert.DeserializeObject<JToken>(str);
            var goodSerializedString = jtoken.ToString(Formatting.None);
            Assert.AreEqual(@"{""a"":123}", goodSerializedString);
        }
    }
}

And received the results:

BadSerialized (0,089s)
---
Expected string length 11 but was 9. Strings differ at index 5.
  Expected: "{"a":"123"}"
  But was:  "{"a":123}"
  ----------------^

I ran the tests in a matrix of the following setups:

Editor and in a built player with IL2CPP
Unity 2019.1.14f1, 2019.3.14f1, and 2020.1.0b6
.NET 4.x and .NET Standard 2.0

I was unable to reproduce your issue in neither of those configuration combinations.

If you could supply a full repro of when this occurs then I can investigate further (that is, for example a minimalistic Unity project zipped and uploaded here), but as of right now I cannot help you as it works on my machine

Amazing! But I have the following ^) :

Windows 7 and Mac OS X
Unity 2019.1.14f1
.NET Standard 2.0

Maybe we use different libraries?
Can you attach dlls here?

Which DLLs are you interested in?
Also, do you have any custom converters registered at all? Do you get this issue in a newly created project as well with ONLY these tests and the jillejr.newtonsoft.json-for-unity package added?

I tried to run it on an empty project, and the result is similar to yours. Can can it be so ?

My guess is that you have some JsonConverter that does it. If you upload your project to me I could investigate. I would love to get to the bottom of this, it's an interesting case. If you're worried about uploading it publicly here you can upload it to wetransfer.com or something and send it privately to my email if you're ok with that option.

I've found the reason!
The reason is in UnityConverterInitializer from Newtonsoft.Json-for-Unity.Converters . UnityConverterInitializer goes through all assemblies and register all converters in your code as default converters! I think that's not good idea, because the project can be very big, with dozens of custom logics.
I suggest to limit the list of auto-registered converters to the list of your library converters.

Ah! Did not realize you also used the converters package.
Yea I'm not too proud of how it registers converters. I copied the registering routine from Wanzyee Studios solution, but explicit is far better than implicit. Especially when you can't turn it off 😅
I'll move this issue over to that repo and see if I can get a fix implemented within reasonable time.
Nice debugging by the way!


Allow IPC's for stop/start/restart of specific systems within Alluxio

Is your feature request related to a problem? Please describe.
Rebooting the entire Alluxio Master process can be expensive depending on the size of the journal/inodetree. In some scenarios, errors can be corrected with a restart of just the internal gRPC server (gRPC server thread limits, buffer limits, potential issues with the server itself). Having the ability to reset other systems like Metrics/BackupManager/Copycat may also be helpful to change certain settings i.e. Automated Backup Time, Cluster Metric heartbeats without incurring the overhead of a full restart of the service and interrupting existing clients.
Describe the solution you'd like
Add a CLI utility to 'bin/alluxio fsadmin' to allow stop/start/restarting of some of the different Alluxio Master Internal systems.
Describe alternatives you've considered
No clear alternative for this. Allowing a stop option may be more complicated since the impact of stopping certain services indefinitely aren't fully understood. Restart would be more preferred.
Urgency
Allows for more flexibility in cluster operation, tuning, and triage of issues.

I think we should carefully think about the implementation of something like this because being able to start/stop the system via an RPC is susceptible to security issues with denial-of-service attacks being carried out in environments that are not properly secured.

@ZacBlanco I'll modify the description to be an IPC. It doesn't need to be executable from a remote host and since part of the reason for implementing this is to restart the RPC server anyway, it wouldn't make sense to have it rely on the RPC framework for this call.

As added clarification, this could be done using a UNIX domain socket with permissions set as 700 so that only the Alluxio process owner would be able to issue the specific calls and only from the leader-master host.

Will close it for now, feel free to reopen it and contact us if this is a strong request.


Plugin requires unnecessarily recent weekly release of Jenkins

https://github.com/jenkinsci/vk-notifier-plugin/blob/5c1836a23bb730723b2d46f537385ec2750a15fb/build.gradle#L35
This (likely unnecessarily) limits who can use your plugin. See https://www.jenkins.io/doc/developer/plugin-development/choosing-jenkins-baseline/

Done


mgmt: hawkbit: option for cold reboot

add option for cold reboot.

ping @kartben

Adding @nandojve as I think hawkBit & updatehub share quite a bit of similarities, and would appreciate a review from you


[DEVOPS-1137] remove tmp dir at beginning of script

Description

Linked issue

Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

How to merge
Send the message bors r+ to merge this PR. For more information, see
docs/how-to/bors.md.

Is there cruft we need to routinely clean up on D: if it exists, as it does with our existing agent?

Nevermind, I had missed https://github.com/input-output-hk/cardano-sl/pull/3899/files#diff-c5aa9925bed3c393326c0d3301228976R9.


about the image insert the excel.

hi. when i insert the img, i can't insert the img by QPoint.
because the excel calculates with pound and Qt inserts the img with pixel.
then i try to transform the lb to pixel. it looks successful. but when i insert many imgs on vertical.
The coordinate error is becoming more and more obvious.

Dear @LiuLikeQian
Thanks for reporting.
Can I see the example code you tested?
Me or others may be able to help you.


It would be better to limit the number of the added tags in the upload dialog

Storage Explorer Version: 1.16.0-dev
Build: 20201029.1
Branch: main
Platform/OS: Windows 10/ Linux Ubuntu 16.04/ MacOS Catalina
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Expand one storage account -> Blob Containers.
Select one blob container (make sure the 'Supports Tags' is True) -> Click 'Upload -> Upload Files'.
Add more than 10 tags -> Check the result.

Expect Experience:
Can't add more than 10 tags.
Actual Experience:
Can add more than 10 tags.
More Info:

Show the below error activity log when trying to uploaded one blob with more than 10 tags.

Error details:
	{
	  "message": "\"failed to parse user input due to error: at-most 10 tags can be associated with a blob\""
}

It would be better to provide an information saying that 'at-most 10 tags can be added for one blob'.

This issue is fixed on build rel/1.16.0_20201030.5. so close it.


Add-on constants are not namespaced

Due to the way the DSL is creating classes, they do not have a namespace during definition.
This means that any duplicate constants will generate a warning: already initialized constant and change the value globally.
Pharos.addon "foo" do
  PATH = "/etc/config"
end

Pharos.addon "bar" do
  PATH = "/etc/bar"
end

# warning: already initialized constant PATH
# Pharos::Addons::Foo::PATH => "/etc/bar"
# Pharos::Addons::Bar::PATH => "/etc/bar"
# PATH => "/etc/bar"

The best solution, I think, is to get rid of the addon DSL.

The best solution, I think, is to get rid of the addon DSL.

Or less drastically, use methods/class instance attributes instead of consts. That would just call for something like a rubocop cop to check for const assignment outside of real class/module scopes.

The best solution, I think, is to get rid of the addon DSL.

The bad part is that the DSL has been given as THE interface to develop external addons with.
Is it not possible to dynamically also create the namespace for the add-on classes?

So, add Rubocop as a runtime dependency and somehow run it against the addons before requireing them? 🤔
Or "something like rubocop", meaning something like ruby2ruby and analyze the sexp thing.
Probably easier to just tell the users to do class Foofoo < Pharos::Addon instead of Pharos.addon do.

Classes get their name when you assign the class to a constant, except if doing that via const_set:
Foo = Class.new { puts "#{name}" } # => Foo
Addons.const_set(:Foo, Class.new { puts "#{name}" } # =>

Dynamic constant assignment is not something that is supposed to be done, I guess.
The anonymous classes do have their own constant namespaces that you can use like:
c = Class.new do
  self::FOO = "bar"
end

c::FOO # => bar

But this would then make the DSL mostly ruby, but have this strange quirk "if you use constants, use self::CONSTANT".
Getting rid of the DSL means that you have to change one line of your DSL:
- Pharos.addon "ingress-nginx" do
+ class IngressNginx < Pharos::Addon

(the addon name can be set via a method or inflected from the class name through some sort of underscore)

In the light of this, I find it very strange that the https://github.com/kontena/pharos-cluster/blob/master/spec/pharos/addons/ingress_nginx_spec.rb#L47 passes on travis. It never does on my machine.
The Pharos::Addons::IngressNginx::DEFAULT_BACKEND_ARM64_IMAGE it refers to should give const missing and so it does.
The correct const in this case would be Object::DEFAULT_BACKEND_ARM64_IMAGE or just DEFAULT_BACKEND_ARM64_IMAGE and changing it to that makes the spec pass.

It would be possible to parse the addon files, get the content between Pharos.addon and the last end, replace it with some class definition and just eval the resulting string.
This would keep the current "api" but define the addons as regular classes instead of anonymous ones.


School

@ivygracebisnar file/lib/domains/ph/edu/southernleytestateu.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@ivygracebisnar First stage of verification passed, official domain is southernleytestateu.edu.ph as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@ivygracebisnar Thank you for your patience while waiting for a review and processing your request. Pull request merged.


TypeError: Expected signal to be an instanceof AbortSignal

We experience a bug in node-fetch in relation to minifying code: https://github.com/node-fetch/node-fetch/issues/784 when using<EMAIL_ADDRESS>The bug is fixed in node-fetch@3 (according to https://github.com/node-fetch/node-fetch/issues/784#issuecomment-1286116443), so updating the dependency of node-fetch might help.

We explored the upgrade path from node-fetch v2 -> v3 for jsforce a few weeks ago and decided we'll stay on node-fetch v2 for jsforce v3.
I'll post the details later post GA, but a few things that blocks us from using node-fetch v3 are:

it's an ESM module jsforce is still CJS (there will be an ESM build but we don't plan to keep different branches just for these).
dropped support for usage in browsers

Also, now node has native a fetch we want to explore dropping node-fetch and just use the nativefetch in node and browsers (probably in the jsforce v4 roadmap).

@anwbfvr did any of the workarounds in the linked node-fetch issue resolve your issue? I'm also running into this issue deploying my code with jsforce 2.0.0

@anwbfvr did any of the workarounds in the linked node-fetch issue resolve your issue? I'm also running into this issue deploying my code with jsforce 2.0.0

Yes, we are now using https://esbuild.github.io/api/#keep-names


Modified Makefile to build also for ARM architecture

I tried to merge your approach used in the snappy-java project to also crosscompile for ARM and tested the ARM libraries on the BananaPi platform.
Can you please have a look at the changes, if I forgot something...

Please do not use CXX. This is for g++ (CXX_FLAGS). sqlite is compiled with GCC (CC_FLAGS)

And changes to Makefile might include newline codes? It's hard to track the differences.

I fixed the CXX_FLAGS and reverted them to CC_FLAGS - I didn't know that they were for g++
and unfortunately I wasn't able to fix the newline issue...

Finally manage to resolve the line endings issue

Added an option to detect armhf in Oracle JDK 8

Looks good. Thanks!


About Views

Tidied up iOS
Adds refreshed About view to macOS 12+
About.plist is now shared

If you use two different hosting controllers, one for AboutNetNewsWireView  and one for CreditsNetNewsWireView , then you could swap them in AboutWindowController . Take a look at PreferencesWindowController.switchToView to see how to do this.
You wouldn't need to use the Notification then and you wouldn't need AboutView either.
It's a small change, but I think it would clean things up a little.

@vincode-io This is now tidied up. The AboutHostingController manages the toolbar and segmented control, and will switch its rootView to About/Credits appropriately.


Is it possible to specify the ID encoding or encode by lexicographical order?

In Sample usage, xcdat produces a string-to-ID encoding which seems to be random and not in lexicographical order. Is it possible to specify string IDs or make them ranked in lexicographical order? If not, what is the strategy/order for generating the encoding?

@jiguanglizipao Sorry for the late reply.

Is it possible to specify string IDs or make them ranked in lexicographical order?

No. String IDs must be in random order due to the data structure. If you want to obtain lex order mapping, you need to construct permutation outside Xcdat.

If not, what is the strategy/order for generating the encoding?

This is because Xcdat (almost randomly) arranges trie nodes in an array based on the double-array scheme and assigns string IDs based on the arrangement.


Windup addon ensure image pull policy is set

The windup addon image pull policy is now controlled by the global image_pull_policy parameter in the Tackle CR.
This addresses possible inconsistencies between the windup addon pull policy and the rest of Tackle components.
Signed-off-by: Franco Bladilo<EMAIL_ADDRESS>

@djzager @jmontleon IIRC the addon CI test needs an IfNotPresent policy because it builds an image in the local docker registry.  The default for the image_pull_policy in the operator is Always. The Tackle CR used in the test will need to be updated to override to image_pull_policy: IfNotPresent.

The windup workflow is already using it https://github.com/konveyor/tackle2-addon-windup/blob/50a60382a4ab39ae86e5247680df277f6d9e14af/.github/workflows/test-windup.yml#L51 thanks for the reminder @jortel


Use squared spinner for active pipelines

Fixes: https://github.com/woodpecker-ci/woodpecker/discussions/2162#discussioncomment-8205012

Use squared spinner to have a bit more space
Display "9+" if more than 9 pipelines are running

https://github.com/user-attachments/assets/3f6c3836-f7c0-429f-ab76-cc8a1d22856f

Thanks. Will look into it

Sure I can adjust it I also dont have a strong opinion on that.


Return type union with empty object is just empty object

Bug Report

🔎 Search Terms

conditional return
return type option missing
only first return type
empty object return
🕗 Version & Regression Information

This is the behavior in version 5.1.3 and nigtly 5.2.0-dev.20230705

⏯ Playground Link

Playground link with relevant code
💻 Code

type Expressions={isCoolExpression:true}

type ActionStep = {
    input?: Expressions | undefined;
}

export function evaluateInput(step: ActionStep) {
  if (!step.input) return {};
  return 1;
}

const u=evaluateInput(null as any); // u's type is "{}" instead of "{} | 1"

🙁 Actual behavior
If a function returns either an empty object or a number (could also be or a promise or anything) the return type will be just empty object instead of a union type. It is wrong because a number or promise doesnt equal to an empty object. A promise is much more than an empty object and it should be typed that way, a number is just totally different in usage and should therefore be typed with a union.
🙂 Expected behavior
The expected behaviour would be a return type as a union like "1 | {}" or "{} | Promise"

This is just normal subtype reduction.  Everything (except null & undefined) is a subtype of {}.

Duplicate of https://github.com/microsoft/TypeScript/issues/50171, among others.
Also see: https://www.typescriptlang.org/docs/handbook/type-inference.html#best-common-type

But it is a mistake to do the subtype reduction for infered return types, because it hides the actual returns.

But it is a mistake to do the subtype reduction for infered return types

The inferred return type here is no different in concept to the inferred type of the ternary expression in #50171.  It's inconvenient, but ultimately not considered a bug.

{} does not mean "empty object", it means anything with any properties you want, or in other words any value except null and undefined. In particular, every number is already assignable to the type {}, so even if it did return 1 | {}, there would be no way to make use of this information.

closing since ts wont solve the problem... There should be a type saing its just an empty object or sth else and not a "base type" that just includes everything since its just wrong...

See #12936.


Add dimension comparison

Add dimension comparison to the dashboard
https://www.notion.so/rilldata/Enable-users-to-compare-time-series-trends-of-different-dimension-values-in-the-Overview-page-3bb82762a902415f8dce7178038a636c

QA finding: circles are not centered with the text

UX finding:

On Cloud (maybe on Local too, but haven't checked), navigate to a dashboard fresh w/o any URL state
Click on "Compare" button for a dimension
Change the time grain
It's unresponsive, and I see this in the browser console:

UX nit: when a dimension is actively being compared, I'd expect that clicking its "Compare" button would remove the comparison

Here's a Notion doc with UXQA feedback: https://www.notion.so/rilldata/Dimension-Comparison-UXQA-eb2c55dab48f49399c9b8af6780e1ce8

Left some small comments, but overall code looks great!

I'm not sure if this is existing behavior, but each dimension selection triggers two calls to /totals. One returns "count", one returns "total_records":

I'm not sure if this is existing behavior, but each dimension selection triggers two calls to /totals. One returns "count", one returns "total_records":

This is because we need the count for the Row Viewer at the bottom of the dashboard. We can just have one query and work it out as well but first we need to centralize our queries and put them out of the components.


Debugger: scroll to newly created methods

As described in this pull request, newly created methods are not visible and users have to scroll up.

Stack scroll position before a method creation:

Stack scroll position right after the method creation:


evhtp_send_reply_chunk evhtp_send_reply   evhtp_send_reply_chunk_end memoryleak

Details
memory leak
Steps or code to reproduce the problem.
code as flows:
 void
      reqHandler(evhtp_request_t * req, void * arg)
      {
          struct evbuffer * buffer    = evbuffer_new();
          char              buf[4096] = { 0 };
          int               i;

          evhtp_send_reply_chunk_start(req, EVHTP_RES_OK);

          for (i = 0; i < 10000; i++)
          {
              evbuffer_add(buffer, buf, sizeof(buf));
              evhtp_send_reply_chunk(req, buffer);
              evbuffer_drain(buffer, -1);
          }

          evhtp_send_reply_chunk_end(req);

          evbuffer_free(buffer);
      }

      int main(int argc,char **argv)
      {
              evbase_t          * evbase;
              evhtp_t           * evhtp;

              evbase            = event_base_new();
              assert(evbase);
              evhtp             = evhtp_new(evbase, NULL);
              assert(evhtp);

              evhtp_set_gencb(evhtp, reqHandler, NULL);
              int ret = evhtp_use_threads(evhtp, NULL, 64, NULL);

              ret = evhtp_bind_socket(evhtp, "<IP_ADDRESS>", 9010, 1024);

              ret = event_base_loop(evbase, 0);
      }

Version
1.2.12

Looking into it. I will get back to you.

I also found antoher problem that memory is very large before executing this line of code.
evhtp_send_reply_chunk_end(req);

I was having a similar issue, but after looking at https://github.com/erikarn/libevhtp-http/blob/master/src/clt/clt.c i realize the proper usage is to set
evbuffer_set_flags(buffer, EVBUFFER_FLAG_DRAINS_TO_FD);
on this intermediate buffer before doing any evbuffer_add_file_segment operations, otherwise libevent will copy the data out instead of using sendfile or memmap.
The libevent documentation states that you should never have to set this manually, yet not setting it causes huge memory overhead when doing evbuffer_add_file_segment(..)

Thank you @wolfchimneyrock!

There indeed seems to be strange behavior here regarding memory usage, but it's not an actual leak.
Running this example with different workloads, sometimes memory usage after a given sequence of requests stays relatively high. That usage somewhat correlates with the number of concurrent requests. In one example session (several runs of requests, without restarting the server), I got these numbers, for instance:
100 requests with 30 concurrent connections: 629M RES
100 requests with  2 concurrent connections: 3.5K RES
100 requests with 30 concurrent connections: 3.5K RES
150 requests with 30 concurrent connections: 3.5K RES
150 requests with 30 concurrent connections: 2195M RES
150 requests with 30 concurrent connections: 3.5K RES
It's not a memory leak, because the memory definitely is still reachable and is recycled eventually, however an inactive server could potentially hold on to much more memory than required. Repeating the above experiment while running another client issuing a single request each second in parallel shows that memory usage always returns to ~3.5K on every such "standalone" request.
Interestingly and strangely this behavior doesn't seem to occur at all when a evhtp_hook_on_connection_fini hook is registered.
@sunchengbi
You seem to assume that you're dealing with a synchronous networking API here - that's not the case. When you're using evhtp_send_reply_chunk the data is queued for sending, not necessarily sent immediately: When you're queuing 40MB per request (like in this example - or almost 2GB like in one of the examples in another issue you opened here) at once, you'll obviously have a lot of allocated memory until the data is sent and the respective buffers are freed.
What you're doing amounts to a misuse of the API. What you should do instead is register an evhtp_hook_on_chunk_complete hook (and an evhtp_hook_on_chunks_complete hook to do the final cleanup) to send each subsequent chunk after the preceding one has been written out.

Closing, not a bug: Please see @ousado epic reply.
Thanks!

I added a quick example (with lots of comments) on how to stream large amounts of data without consuming memory using chunked replies here: https://github.com/criticalstack/libevhtp/blob/develop/examples/example_chunked.c
Cheers!


Store result in triple store database

Hi,
How can I store the org.eclipse.rdf4j.model.Model in an RDF Triple Store?

Hi @SebeiHiba,
That depends on which triple store you're using.
The easiest is if your triple store has an RDF4J binding. Then you can directly add your org.eclipse.rdf4j.model.Model to your store.
See http://docs.rdf4j.org/programming/#_the_repository_api and http://docs.rdf4j.org/programming/#_rdf_collections_and_repositoryconnections
If not, you will have to translate the org.eclipse.rdf4j.model.Model to something your triple store API supports.

Hi !!! first Thank you for your response.
I tried to store as this
RDF4JStore rmlStore = new RDF4JStore(model);
Executor executor = new Executor(rmlStore, new RecordsFactory(new DataFetcher(cwd, rmlStore)));
But the RDF4JStore is not defined. (The package be.ugent.rml.store is not available) so now I want to store it with OpenLink Virtuoso.

There is a RDF4J connector for Virtuoso. See http://vos.openlinksw.com/owiki/wiki/VOS/VirtSesame2Provider. I have no experience with Virtuoso, but It seems pretty straight forward to use.
The be.ugent.rml.store.RDF4JStore is not part of CARML but of RMLio's rml-mapper, so I don't know what that does.

Closing as not related to CARML functionality


Make hono aware of Accept header

What is the feature you are proposing?
I want to be able to send HTML or JSON for a status check route based on the Accept header from the client.  I can write this myself by parsing the Accept header, but it would be nice if there was something built-in to support me in making that choice via the Hono API.

Amazing work, thank you!


Travis-CI

Would you like to add Travis-CI support for your tests? (https://travis-ci.org/)
config like this: https://github.com/icoz/habraparse/blob/master/.travis.yml
some doc: https://docs.travis-ci.com/
And add badge to Readme like this:

[![Build Status](https://travis-ci.org/icoz/habraparse.svg?branch=master)](https://travis-ci.org/icoz/habraparse)

Good point. Added Travis support for 2.7 and 3.5


TDC just exits rather than raising an exception

Describe the bug
This isn't so much of a bug as it is a suboptimal developer. In certain instances when attempting to load a dataset with an improper task name, TDC causes the whole program to exit
To Reproduce
from tdc.single_pred import ADME
ADME("caco2_wang", label_name="bad task name")
# Found local copy...
# Loading...
# ['Drug_ID' 'Drug' 'Y']
# Please report this error to<EMAIL_ADDRESS>thanks!

Expected behavior
That TDC would raise a more descriptive Exception rather than just exiting, allowing the end user to (1) except it, if necessary, and (2) diagnose it via a full stack trace.
More Details
the culprit in my instance is specifically here. The blanket except in L334 is likely catching the appropriate exception raised in fuzzy_search() and instead just exiting the program. IMO you should be propagating the error or at least convert it to a different error rather than just exiting

Great point, will update the try-exception scheme


Enable CodeQL or LGTM scans for pull requests

GitHub now offers code scanning that is based on CodeQL (the same engine that is used in LGTM.com). Shortly, that's a static analysis tool that is able to catch various issues including security ones. Once enabled for pull requests, it would help with catching issues earlier.
The scan may be run via GitHub Actions for pull requests. Or, LGTM checks may be added, the instructions are here.
How about enabling the scans for Netty? If it's okay, I can try to set it up but maybe it will need some support from project admins.

Good idea.... see https://github.com/netty/netty/pull/10696


open question about race with kernel that liburing had to fix

I found this commit to liburing some time ago. It may have no bearing on this repo because the atomic code is necessarily different anyway. But didn't want to lose track of this before I or someone else had made sure.
https://github.com/axboe/liburing/commit/744f4156b25d8630fee279cfd852ecc4c73952d4,

https://github.com/axboe/liburing/pull/542
fixing issue
https://github.com/axboe/liburing/issues/541

I suspect that using SeqCst is not the most reasonable solution, but I don't mind following liburing

My grains of salt, using SeqCst is a misinterpretation of the kernel documentation:

When using the SQ poll thread (IORING_SETUP_SQPOLL), the application

needs to check the SQ flags for IORING_SQ_NEED_WAKEUP after
updating the SQ tail; a full memory barrier smp_mb() is needed
between.

To the Rust memory model we need to establish the right happens-after relationship between the two operations. It should be sufficient to merely use AcqRel instead. Also, SeqCst semantically only affects the ordering with respect to other SeqCst operations which is dubious since none of that is guaranteed by any of the interfaces.

After having another think about this and re-re-reading the diagrams in the original issue, I don't think I really understood the cross-language-atomic-semantics properly yet. That might mean there are not the proper tools to properly solve this in Rust. Sorry for the noise.
A newer kernel which I was reading does use appear to be using an extra acquire fence. However it establishes another order than the one required for AcqRel to be definitely sufficient: https://github.com/torvalds/linux/blob/a93289b830ce783955b22fbe5d1274a464c05acf/io_uring/sqpoll.c#L334-L352

I had a look at the code here and the same bug is present here as in liburing/the kernel. The code here is almost the same as in liburing, the only difference is that liburing is using C/C++11 were as Rust follows the C++20 memory model but the differences between the two are not relevant to this bug.

A newer kernel which I was reading does use appear to be using an extra acquire fence. However it establishes another order than the one required for AcqRel to be definitely sufficient

The code you link to is using a full memory barrier like the documentation mentioned in your previous comment talked about, not an acquire barrier. That smp_mb__after_atomics wasn't there originally, I added it in a patch that I sent at the same time as the patch to liburing. That full barrier is meant to synchronize with a full barrier in the user application (In this case, a SeqCst fence).
As for why SeqCst is needed exactly, that requires diving a little into the C++20 standard and making some assumptions about the kernel's memory model (like assuming that smp_mb is equivalent to a SeqCst fence for our purposes). It's crucial that when the application submits new work to the kernel, it first writes to the tail field and only then reads from the flags field. Without a SeqCst fence, nothing in the C++20/Rust memory model prevents the write from being reordered with the read.

"making some assumptions" is the confusing part. Quite obviously Release and AcqRel only synchronize around a write-then-read pair but here we need to synchronize on the inverse. We care about the visibility of events that happened before the read: something similar to a non-existent load(release) order. There's no way to achive these with Acquire and Release semantics in combination.
Under the assumption that SeqCst interacts with smp_mb, the fix is indeed sufficient.

This might be owed to the kernel's difference in approach to that terminology. The descriptions of their ordering terminology focus more on _how is X observed by other threads_ whereas the C/C++/Rust model operate on _what other things can our thread observe_ (thus requiring describing the operations on kernel thread to make _any_ kind of statement on it). My confusion is owed to that [`smp_mb__after_atomics` ends up being the default in the macro to an `acquire` fence](https://github.com/torvalds/linux/blob/5eb4573ea63d0c83bf58fb7c243fc2c2b6966c02/include/linux/atomic.h#L43).
To put it into the semantic model for Rust and visualize happens-before relationships:
Kernel                   User
K1: store(flags, WAKE)   U1: store(head)
|                        |
K2: smp_mb()             U2: fence(SeqCst)
|                        |
V                        V
K3: load(head)           U3: load(flags)

If K2 > U2 then K1 > K2 > U2 > U3 and user space gets the flag, whereas when K2 < U2 then  U1 > U2 > K2 > K3 and the kernel observes the updated head. Since there's a synchronizing ordering relationship between any pair of SeqCst operations, including a fence, this provides the necessary correctness guarantee.
As an aside to vindicate AcqRel a little bit, replacing the load with flag.fetch_xor(0, AcqRel) is also sufficient for similar reasons as the writes then generate one of the two happens-before sequences through the operations on the memory location of flags. But that actual write pessimizes codegen, specifically on weak memory order architectures such as arm quite a bit (amusingly, on x86 llvm  generates precisely the same mfence; mov sequence).

It's surprising how a SeqCst is sufficient here, but it is. That kind of non-deterministic correctness guarantee is quite unexpected on its own, no?  (Do you happen to know of any good CS paper on the transfer of invariants in this manner—the responsibility of waking might as well be some other affine state? It's fascinating.)

I had a look at the code here and the same bug is present here as in liburing/the kernel.

Is there a fix for tokio-rs/io-uring that you think presents itself, or are you saying the API, as it stands now, should come with an unsafe method with a comment saying to the effect that the application  must perform the SeqCst fence between their last tail field writes and their next flags field read?
I've been involved in other work since about this issue was raised in liburing so am not in a position to test - plus I wouldn't know how to test for correctness of a memory issue like this. I wonder if anyone has been bitten by this (momentarily) but would not have noticed because if their read was handled prematurely, they would have another read happening later on anyway?

Is there a fix for tokio-rs/io-uring that you think presents itself, or are you saying the API, as it stands now, should come with an unsafe method with a comment saying to the effect that the application must perform the SeqCst fence between their last tail field writes and their next flags field read?

I think you can apply the same fix here that was used in liburing:
in submit[_...] if SQPOLL is enabled insert a SeqCst fence before calling sq_need_wakeup. Inside sq_need_wakeup itself the load can be replaced with a relaxed load since the acquire is not necessary.

As an aside to vindicate AcqRel a little bit, replacing the load with flag.fetch_xor(0, AcqRel) is also sufficient for similar reasons[...]

AcqRel is not sufficient because acquire and release are used to create happens-before relations using the synchronizes-with relation but there is no way as far as I can see to create a happens-before relation between the kernel's store to the flags field and the application's load of the flag, even if the load uses flag.fetch_xor(0, AcqRel). On x86 atomic read-modify-write operations always act like full barriers but that's not the case in all architectures.
The actual reason SeqCst solves the problem is through the coherence-ordered before relation and the constraints on the single total order S of all SeqCst operations:

An atomic operation A on some atomic object M is coherence-ordered before another atomic operation B on
M if
[...]
— A and B are not the same atomic read-modify-write operation, and there exists an atomic modification
X of M such that A reads the value stored by X and X precedes B in the modification order of M [...]

There is a single total order S on all memory_order::seq_cst operations, including fences, that satisfies the
following constraints. [...]
Second, for every pair of atomic operations A and B on an object M,
where A is coherence-ordered before B, the following four conditions are required to be satisfied by S [...]
— if a memory_order::seq_cst fence X happens before A and B happens before a memory_order::seq_-
cst fence Y , then X precedes Y in S.

From the above, if neither side sees the other's write (the kernel doesn't see the store to tail and the application doesn't see the store to flags) then each side's read is coherence ordered before the other's write which means each side's respective SeqCst fences must precede each other in the total order S which is impossible. This means that at least one side must see the other's write.

 (Though: edited in above, discuss in another thread if you want¹) The kernel should just ensure that fence(SeqCst) and smp_mb are compatible and in practice it'll only be sensible to do that. I don't think any of the rest of your comment disagrees with the explanation of the two concrete, possible causal relationships ("coherency-order" / "happens-before" is common in CS literature) chains between the annotated RMW operations already provided in the details comment above. Thank you for providing the direct quotation of relevant sections. Proof by contradiction appears to work just as well as the proof over case distinction ("There is a single total order S").
So yes, I've been convinced enough this library should be using SeqCst when the wake flag must be observed reliably. I don't think it needs to be unsafe though. There's no safety problem associated with this failure to synchronize—blocking forever is safe as far as Rust is concerned. I agree it shouldn't be the default behavior and deserves expert treatment, providing a separate sq_need_wakeup_with_intermittent_seqcst might work?

Big thanks to you for looking into this again. In the past year, I've gained a new appreciation for just how many crates are building their io_uring features off of this one. The Rust on Linux community really benefits from getting this right.
Can I reopen this just long enough to raise a related question given the work and PR you-all did yesterday?
There are these two reads now: https://github.com/tokio-rs/io-uring/blob/4e52bca1f2c3ee24b2a51f4b5d9f3d8652f26cab/src/submit.rs#L57C5-L72C1
    /// Whether the kernel thread has gone to sleep because it waited for too long without
    /// submission queue entries.
    #[inline]
    fn sq_need_wakeup(&self) -> bool {
        unsafe {
            (*self.sq_flags).load(atomic::Ordering::Relaxed) & sys::IORING_SQ_NEED_WAKEUP != 0
        }
    }

    /// CQ ring is overflown
    fn sq_cq_overflow(&self) -> bool {
        unsafe {
            (*self.sq_flags).load(atomic::Ordering::Acquire) & sys::IORING_SQ_CQ_OVERFLOW != 0
        }
    }

Without a comment explaining why, it is glaring that they perform the loads with different atomic ordering.
Fair to say the three of you know this stuff way better than I so I'm just in a position to ask the question. Is the second one Acquire and not Relaxed related to no fence being required for it?
These two functions are not public so their documentation or comments don't have to say much but perhaps while this context is still fresh for you, one of you could suggest a comment for one or the other that says why their load instructions are different?

The load in sq_need_wakeup is relaxed because we are not acquiring anything and the kernel's setting of the NEED_WAKEUP flag is not done using a release operation. The SeqCst fence that precedes the call to sq_need_wakeup gives us all the synchronization we need since the only constraint on that code is that if we submitted new work right as the kernel's SQPOLL thread went to sleep, we need to be able to see that and wake it up.
I believe the load in sq_cq_overflow can also be relaxed since again we are not acquiring anything and the kernel doesn't set that flag with a release store. That flag is used to indicate that the CQ overflowed and in order to get the extra CQEs we need to enter the kernel with GETEVENTS. This will cause the kernel to flush the overflowed entries to the CQ after which it will perform a release store to the CQ's tail. When we later try to get completions, we acquire the CQ's tail, resulting in correct synchronization.

Thank you for these details. At least for now to me, it seems much clearer.
@quininer Would you be amenable to a PR for the sq_cq_overflow function being relaxed?

@FrankReh of course.


support default replica and partition

Feature Request
Is your feature request related to a problem? Please describe:

Every time createApp by pegasus client  should specify replica and partition,  this is relate to the deployment of server, sometime is not easy to get.
Describe the feature you'd like:

Inspire by https://cwiki.apache.org/confluence/display/KAFKA/KIP-464%3A+Defaults+for+AdminClient%23createTopic
we can support default replica and partition, make createApp more simple
Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

@shalk The new API would like this?
public void createApp(String appName, long timeoutMs, boolean successIfExist) throws PException

And the default replica count and partition count is configured on MetaServer?


[FLINK-35829][table-planner] Fix StreamPhysicalWindowTableFunction always requires watermark

What is the purpose of the change
Fix that StreamPhysicalWindowTableFunction always requires watermark.
Brief change log

Change StreamPhysicalWindowTableFunction#requireWatermark
Add tests

Verifying this change
Some tests are added to verify it.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented?

@xuyangzhong Could you also create a backport pr into release-1.20 since we still have time to fix it before releasing 1.20.0?


Bug: Empty productUpdate mutation triggers PRODUCT_UPDATED

What are you trying to achieve?
I'm discovering increased traffic for products mutation.
I discovered that empty mutation like this
mutation {
  productUpdate(id:"UHJvZHVjdDo3Mg==", input:{

  }){
    product {
      id
    }
    errors{
      message
    }
  }
}

Is triggering a webhook event PRODUCT_UPDATED.
This is possible cause of infinite loops. Some app can send periodically products to Saleor. It doesn't check if data is up to date, it just overwrites. Its expected that noop operation should not trigger any event. But Saleor will trigger it, even if product is not updated. This can cause this, or other app to trigger again (it thinks Saleor changed something, so its updating).
Saleor should verify if there was a change and break the circuit
Steps to reproduce the problem

Listen to PRODUCT_UPDATED
Run mutation above
Check webhook delivery

What did you expect to happen?

I expect webhook not to be delivered
I expect this behavior in every entity

Logs
No response
Environment
3.16.7
Saleor Cloud

Moved to Saleor internal backlog


Add blank space under collapse_template()

You may already know this, but I see that the text window that appears when a template is shown does not have very much space between it and the lines/fields below (see screenshot). Does there need to be a different default margin or padding on the card (if that's the right thing to ask)?

I was able to address this by adding the following css (thanks MB!), but I don't know if this will cause issues elsewhere. Please let me know if you have any questions. Thanks!
.collapse.show {
margin-bottom: 1rem;
}

That's a good suggestion. We can add it to the default css

Thanks @nonprofittechy !
I forgot to add that my solution causes the expand scroll to hiccup. It looks like it slides open then adds the margin. I can demo if you like. I'd love to figure out a way to make it smooth.

@mnewsted - to fix your rule just remove .show
.collapse {
     margin-bottom: 1rem;
}

I'll be working on the template functions so I'll add this rule to ALToolbox which will fix AssemblyLine

Thanks! So I should remove the following after ALToolbox/AssemblyLine is updated? It's still only in dev, so I have time.
.collapse.show {
margin-bottom: 1rem;
}

Yes. It may take a couple of weeks for us to update though.

Thanks! I'll keep it in until then. I appreciate the help!


[DTSSTCI-1157] Update configuration DMN for task due dates

Change description
Review and fix discrepancies with Task Due Dates
JIRA link
DTSSTCI-1157


feat(query): added PostgreSQL Server Threat Detection Policy Disabled…

… for Terraform
Proposed Changes

added a query to check if Threat Detection Policy is enabled for PostgreSQL Server

I submit this contribution under the Apache-2.0 license.

@tiagocruz20 make sure all PR checks are passing


Add bookmark or last slideshow

Please add a feature to continue last slideshow or add bookmarks or favourites option. Thanks

This is a cool feature idea. Thanks for the suggestion!

FYI there is already an option to remember the last location you started a slideshow and another for immediately starting at the last image too. I think that is enough for this ticket


Application lifetime events (suspend audio on Android)

Objective

Handle pausing audio when Android app is suspended

Solution

This is the start of application lifetime events. They are mostly useful on mobile
Next version of winit should add a few more
When application is suspended, send an event to notify the application, and run the schedule one last time before actually suspending the app
Audio is now suspended too 🎉

https://github.com/bevyengine/bevy/assets/8672791/d74e2e09-ee29-4f40-adf2-36a0c064f94e

On most platforms, this is done by callbacks which translates more easily to events. Adding a state later if there's need for it should be easy enough.

the code resuming audio is in the example code, and is not general. it uses single() anyway so it will panic if there are more than one audio source.


Introduce e2e testing for frontend

Story
As a developer who is working on near-explorer, I want to e2e test my written code so I can verify that my implementations is working and valid.
Acceptance Criteria

[x] Configuration for e2e testing is setup for frontend
[ ] Unit testing is working locally
[ ] Unit testing is working in the CI

Waiting for a fix from frol to be able test it

Pull request created!


WIP: v4.14.x - Optimize kernel parameters

Cherry-picking changes from #5 which make sense for our production version too.

Bump up to 4.14.216
Use GCC parameters -O2 which optimizes performance instead of size.
Disable sysfs memory/probe testing interface
Disable BIOS corruction checking
Disable memory corruption checking
Enable TSX if capable HW that is believed to be safe against side channel attacks
Disable workqueue power-efficient mode
Increase max CPU count to 512
Change default hostname to burmilla

Sources:
https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/
https://cateee.net/lkddb/web-lkddb/ARCH_MEMORY_PROBE.html
https://unix.stackexchange.com/questions/602551/what-is-the-point-of-the-kernel-reserving-config-x86-reserve-low-memory-for-the
https://lkml.org/lkml/2019/11/15/85
https://cateee.net/lkddb/web-lkddb/WQ_POWER_EFFICIENT_DEFAULT.html
Marked as WIP because need to be benchmark tested against of current version (how must ISO file will increase, how boot time is affected, other performance parameters).

Small increase on size but not showstopper if those changes other way make sense:

linux-4.14.213-burmilla-x86.tar.gz (kernel on v1.9.1-rc1) - 41.2 MB
linux-4.14.216-burmilla-x86.tar.gz - 45.5 MB

Small increase on size but not showstopper if those changes other way make sense:

linux-4.14.213-burmilla-x86.tar.gz (kernel on v1.9.1-rc1) - 41.2 MB
linux-4.14.216-burmilla-x86.tar.gz - 45.5 MB

Increase on ISO file looks to be less than on kernel package it selves:

burmillaos-v1.9.1-rc1.iso - 166 MB
with this kernel - 169M

but based on my tests boot time is exactly same than without these changes and I didn't saw any difference on memory or CPU usage so at least those tests does not justify these changes.

Increase on ISO file looks to be less than on kernel package it selves:

burmillaos-v1.9.1-rc1.iso - 166 MB
with this kernel - 169M

but based on my tests boot time is exactly same than without these changes and I didn't saw any difference on memory or CPU usage so at least those tests does not justify these changes.


tiff: fix deprecation warning (photometric no longer inferred)

Why this PR?
tifffile no longer automatically infers what photometric type it is dealing with, so now we have to do it.

Since which version of tifffile is this? Should a bug fix entry be added to the changelog?
Can it be covered with a test?

Since which version of tifffile is this?

Seems to be 2021.7.2 (most recent).

Should a bug fix entry be added to the changelog?

I'm not sure. Nothing was broken. It was just a DeprecationWarning.

Can it be covered with a test?

It is already covered. That's why it cropped up. I was working on something else and the test fired on CI.

OK, cool! You might still want to mention it in the changelog as something like "Resolved DeprecationWarning with tifffile >= 2021.7.2". So that users can know about it if they run into the same thing.


Enable to deploy to minikube

[ ] Update README.md

[ ] asdf plugin add minikube & install
[ ] minikube start
[ ] minikube setup

[ ] Create/Update K8S manifest files

To work with minikube, k8s manifest files are required. We are working on a pull request here.


when parsing a local_time, parse up to 9 digits worth (nanoseconds) o…

…f fractional seconds
I'm not able to build the tests--for some reason it's not able to find the boost libs, even though they are there in /usr/lib. But using my own tests I have confirmed that this change works as expected.

Thank you for finding and fixing the problem! LGTM.


Handle http_proxy environment variable

I had several issues making the library work behind enterprise proxies using the async http mode. This fix works well

@das7pad I applied the update.  I could not find a recent version of Linux SUSE that is not capable of uppercase environment variables. @insanediv Which SUSE version are you using?
We could drop the duplicate lookup to improve performance and require using the uppercase version HTTP_PROXY.

Hi @das7pad I'm running your library on enterprise branch of SUSE (SUSE sles12.2). I'm configuring proxy the persistent way by editing
/etc/sysconfig/proxy

Thanks for the hint.
We could use the mentioned stdlib function from that thread: urllib.request.getproxies
HTTP_PROXY = urllib.request.getproxies().get('http')

@insanediv and @das7pad, thanks for the work.
After some considerations, I have decided the existing methods of using proxy is too ad-hoc. If we want to give both traditional and async version proxy support, at least I should make it consistent. I have done that in the newest version 12.4. Please refer to #309 for usage.


system packages hide appimages one

Let say that we generate a conda image with numpy packaged inside, e.g. as:
export CONDA_CHANNEL=anaconda
export CONDA_PACKAGES=numpy
./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin conda -i numpy.png -d numpy.desktop --output appimage

Then if there is a system install of numpy, in /usr/local/lib/python3.7/site-packages/ it will be loaded instead of the AppImage one. You can check this by running:
sudo pip3.7 install numpy
./numpy-x86_64.AppImage -c "import numpy; print(numpy)"
sudo pip3.7 uninstall numpy
./numpy-x86_64.AppImage -c "import numpy; print(numpy)"

The reason is that at its init Python thinks it is running from a system install and as so it adds this fixed location to is search path before the AppImage site packages. You can see this by running:
./numpy-x86_64.AppImage -c "import sys; print(sys.path)"

The last item is the AppImage site packages. It is preceded by the fixed /usr/local/lib/python3.7/site-packages/ search path.
Possible solution: remove this /usr/local/lib/python3.7/site-packages/ at Python's init by adding a sitecustomize.py file to the AppImage site packages. For example as here. Note that it might happen that someone explicitly requests this location by adding it to PYTHONPATH. In this case it should not be removed from the search path.

That's quite new to me. I was pretty sure that conda stuff really is isolated.
Your solution looks somewhat elegant to me, may I just copy that (giving credit, but using this project's license)? I'm pretty confident conda supports putting your own sitecustomize.py somewhere into the prefix.

@TheAssassin : I think that it is a problem in the Python path initialisation itself. It is not meant to operate with a variable install prefix, as we have with the AppImage. Then, Python fails to properly initialise its search path for site packages, and it sets a fallback.
Please feel free to copy / adapt the sitecustomize.py file.  I change the whole license to MIT to be consistent with linuxdeploy.


Day 271

Good morning! Here's your coding interview problem for today.
This problem was asked by Netflix.
Given a sorted list of integers of length N, determine if an element x is in the list without performing any multiplication, division, or bit-shift operations.
Do this in O(log N) time.

The weird part of this question is that it's classified as hard despite it appearing to be a simple binary search.

you performed a division in your binary search!  I think that is why it's considered hard!

you performed a division in your binary search! I think that is why it's considered hard!

@mgkeeley I forgot to link the follow-on PRs to this issue that fixed that mistake. If you're interested please take a look at the revised solution. I used this algorithm to divide by 2 without multiplication, division or bit shifting.

Anyone got answer?

We can do (num2)+(num2) instead of divide by 2. There is only one exception for this method, when the num is 4 we should do just (num**2).