Multi-subject openneuro: fix in ack: Ives Lesveques → Ives Lesvesque

will be addressed in https://github.com/sct-pipeline/spine-generic/issues/75

It is Levesque

thanks Eva.

Fixed in snapshot created here: https://openneuro.org/datasets/ds001919/versions/1.0.8


[PoC] Create for bridge connection in tedge-mapper-c8y

Proposed changes
This adds the bridge connection to the mapper discussed in #2592. It is currently Cumulocity only, and doesn't support all the possible mosquitto connection restrictions, but does function correctly on a basic level.
It also adds support for a configurable topic prefix in the mapper bridge via the configuration c8y.bridge.topic_prefix.
In 556a661f8bd3d447ca3130e503cf9bb301cf55bc, I've added a (hidden) configuration c8y.bridge.in_mapper to control where the mapper runs. When set to false, currently the default, this should work like it does now: the mosquitto bridge configuration is generated as before, and the mapper doesn't attempt to run a bridge. When set to true, the mapper will run the bridge components, and the mosquitto configuration will be deleted. Upgrading tedge and then running tedge reconnect c8y mostly worked, although tedge-mapper failed to start due to insufficient permissions to open /etc/tedge/device-certs, and the connect flow doesn't currently respect the fact we don't expect the bridge to be connected until after the mapper is started if the bridge is running in the mapper.
We will also need to ensure at some point that the upgrade flow works with the packaging system. I didn't not manage to do that, although due to the configuration existing, the flag is redundant anyway.
Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

Checklist

[ ] I have read the CONTRIBUTING doc
[ ] I have signed the CLA (in all commits with git commit -s)
[ ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

I noticed that the tedge connect c8y --test command is no more working as expected.
✗ tedge connect c8y --test
Detected mosquitto version >= 2.0.0
Error: failed to test connection to Cumulocity cloud.

Caused by:
    Device is not connected to Cumulocity cloud

While the built-in bridge is properly up and running:
✗ tedge mqtt sub 'te/+/+/+/+/status/health'
[te/device/main/service/mosquitto-c8y-bridge/status/health] 0
[te/device/main/service/tedge-mapper-c8y/status/health] {"pid":277988,"status":"up","time":1710251252.6182034}
[te/device/main/service/tedge-mapper-bridge-c8y/status/health] 1

And telemetry data actually forwarded to c8y.

I noticed that the tedge connect c8y --test command is no more working as expected.
✗ tedge connect c8y --test
Detected mosquitto version >= 2.0.0
Error: failed to test connection to Cumulocity cloud.

Caused by:
    Device is not connected to Cumulocity cloud

While the built-in bridge is properly up and running:
✗ tedge mqtt sub 'te/+/+/+/+/status/health'
[te/device/main/service/mosquitto-c8y-bridge/status/health] 0
[te/device/main/service/tedge-mapper-c8y/status/health] {"pid":277988,"status":"up","time":1710251252.6182034}
[te/device/main/service/tedge-mapper-bridge-c8y/status/health] 1

And telemetry data actually forwarded to c8y.

Fixed. I forgot this API existed, but it was checking for the existence of the bridge config file, which obviously doesn't exist with the built-in bridge


Use relative path to prefix module

Seen this quite a lot with VS code - if that's what you're using. Might try find some time to see if it's our setup that's the issue.

Thanks @jamesgorrie I'll have a look as well. I was thinking it has something to do with webpack aliases, but I don't know what makes VS Code think they're a thing.

That or the workspaces potentially... more 🔍 needed.

This pref seems to make VS Code behave how we want:
  "typescript.preferences.importModuleSpecifier": "relative"

It's not a long-term fix but it should prevent another goof like this ☝


Tag feature in updated repo

This feature helps users to tag another user online by using the @ symbol. When a person(for eg with user id: abcd) is being tagged, then all the online users will get a window prompt of the following message " abcd you have been tagged!".
This feature can be improved, by making the window prompt a desktop notification instead and also ensuring that this notification reaches the required client only( instead of getting sent to all the users)

Hey @ggggg-15, the tag feature looks fine but right now its alerting everyone that a person has been tagged. Can you modify it so that it only alerts the person who is being tagged instead of everyone?


Split RSA padding configuration options

PKCS#1 defines 4 padding modes for RSA: PKCS#1 v1.5 encryption, PKCS#1 v1.5 signature, OAEP (v2.1 encryption) and PSS (v2.1 signature). In Mbed TLS, the first two are controlled by the compile-time option MBEDTLS_PKCS1_V15, and the latter two by MBEDTLS_PKCS1_V21. But there's no particular reason why they should be grouped: no code is used by both v1.5 encryption and v1.5 signature but not other RSA modes, and only the MGF code is used by both OAEP and PSS. On the application side, an application that uses one encryption mode is not much more likely to use the same-version signature mode or vice versa.
The mismatch between this grouping in classic configuration options, and PSA configuration which has 4 separate options (following the generic principle of one option per algorithm), complicates configuration translations.
So I think we should split MBEDTLS_PKCS1_V15 into MBEDTLS_RSA_PKCS1_V15_CRYPT and MBEDTLS_RSA_PKCS1_V15_SIGN, and MBEDTLS_PKCS1_V21 into MBEDTLS_RSA_OAEP and MBEDTLS_RSA_PSS.

We can do that in any version, not just a major version, as long as we keep the old option names for backward compatibility. So I'm removing this from the 3.0 epic.
I'm also removing “needs design approval” since this is a backward-compatible change and doesn't need any particular architectural review.


CMakeLists.txt: expose include directory as target_include_directories

So that users of this target can write #include <SDL_mixer.h> instead of #include <include/SDL_mixer.h>.

Thanks


Please consider renaming to something less generic

I'd like to add this to awesome-zsh-plugins, but the name zsh-theme is awfully generic. Please consider renaming it to something descriptive, or even just name it after your github username.
Thanks!

@unixorn admittedly I wasn't extremely clever when creating this theme.  I have no problem changing it.  I'll make some changes and we'll go from there.


HOWTO: Use DRM with CastPlayer

I'm using ExoPlayer and CastPlayer in my app. I managed to configure ClearKey drm for my Dash stream and got it working in ExoPlayer. I want to ask if there's any way to configure ClearKey drm for CastPlayer?

Thanks for your question. I'm not talking from experience in the sense that I'd have done this myself. The follwoing is kust about the APIs as far as I understand it from the documentation. Somereaders may be much better informaed about how the Cast SDK or devices on which cast is running support Dash with DRM.
As far as I understand from the Cast documentation there are two types of DASH streams with DRM that are supported.
The first type has all the information in the manifest and just works.
The second type need a licence URI that need to be passed from the sender (the Android app with CastPlayer) to the receivever. The receiver then needs to get the licence URI from the load request and set it accordingly with a PlaybackRequest updated accordingly. Latter is something that needs to be done on your receiver side, I can't help you with this due to lack of knowledge and experience.
As the snippet in [1] shows, you can pass the licence in any way your receiver understands. DefaultMeidItemConverter adds any DRM information that are part of the Media3 MediaItem in the JSON document that it writes to the custom data of the cast media item. You can reuse that and get the DRM info from that JSON. As an altarnative, you can write your own MediaItemConverter and pass it to the constructor of CastPlayer. There you can then convert the DRM linces into the cast item in a diffeent way if this is required.
It' important to note that your receiver needs to understand this, get the data from the load request (like from the JSON do in the custom data )  and do what's documented in [1].
I hope this helps as a  starting point. There are users here that read this that have more experience with DRM on cast devices I guess. If you are lucky someone shares with you from their DASH with DRM on cast devices. Else [1] and [2] are the Cast/DASH/DRM resources I was using to respond to your question.
[1] https://developers.google.com/cast/docs/media/streaming_protocols#drm
[2] https://developers.google.com/cast/docs/media/streaming_protocols#dynamic_adaptive_streaming_over_http_dash


The zsh-theme file not exists in my theme folder

I use oh-my-zsh to clone the repo. this is my code:
git clone https://github.com/denysdovhan/spaceship-prompt.git "~/.oh-my-zsh/themes/spaceship-prompt" --depth=1
ln -s "~/.oh-my-zsh/themes/spaceship-prompt/spaceship.zsh-theme" "~/.oh-my-zsh/themes/spaceship.zsh-theme"
However, after cloning and making link, I still cannot see the theme file in my theme folder. And also when I set my theme to spaceship in .zshrc and then restart zsh, it didn't work.

Did you install Oh-My-Zsh??

ya I have installed it.

Can you use cd ~/.oh-my-zsh/themes then ls. I want to see the output.

Like these:

I don't know why it says "File exists" while it couldn't be found.

As Spaceship prompt is Not a Default theme of Oh My Zsh,
So spaceship should be installed in ~/.oh-my-zsh/custom/themes instead of .oh-my-zsh/themes.
To reinstall:
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
and do
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"


Meteor 1.3.3

Hi,
its not yet compatible with Meteor 1.3.3
nicolaslopezj:roles           1.5.3* The most advanced roles package for meteor
thanks! Lukas

Strange: meteor update nicolaslopezj:roles did not work, but when I just git clone it into the packages folder, it works fine.

Try with the version 2.2.0


Add ability to redirect users where they wanted to go

Redirect user to their intended location after logging in.
If nothing is stored in the session[:user_return_to] then
redirect to a root_path.
Also, reset_session is added on login and logout to prevent session
fixation.
Reference -> https://guides.rubyonrails.org/security.html#session-fixation-countermeasures

Shouldn't session[:user_return_to] be cleared after redirect?

Shouldn't session[:user_return_to] be cleared after redirect?

Yeah, probably should do like session.delete(:user_return_to) || root_path

Thanks @drale2k , sorry for late response I've missed notification from your comment.
I've solved issue in a different way, added reset_session on login and logout to prevent session fixation, which also solves issue you've found.


embree: Fix build failure due to TBB split

Description of changes
Fixes #216390.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

i did try this myself and it worked but it would have to be applied always when tbb is used with cmake

i did try this myself and it worked but it would have to be applied always when tbb is used with cmake

At least in case of embree, they are using their own specific CMake find module common/cmake/FindTBB.cmake, so the issue is specific to embree.

sadly FindX such as FindTBB.cmake are a common thing in the cmake world

@Artturin Ubuntu is also splitting tbb, maybe that's still the best practice?
https://packages.ubuntu.com/bionic/libtbb-dev
Seems like a situation we want a consistent best practice in nixpkgs to be documented.

Hi! Not sure if this is applicable, but since openimagedenoise is affected by the exact same issue, could the PR maybe also include the added cmake flags on the openimagedenoise package? As in,
diff --git a/pkgs/development/libraries/openimagedenoise/default.nix b/pkgs/development/libraries/openimagedenoise/default.nix
index 8d02b976c91..39cc5ec3b52 100644
--- a/pkgs/development/libraries/openimagedenoise/default.nix
+++ b/pkgs/development/libraries/openimagedenoise/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-i73w/Vkr5TPLB1ulPbPU4OVGwdNlky1brfarueD7akE=";
   };

+  cmakeFlags = [
+    "-DTBB_ROOT=${tbb}"
+    "-DTBB_INCLUDE_DIR=${tbb.dev}/include"
+  ];
+
   nativeBuildInputs = [ cmake python3 ispc ];
   buildInputs = [ tbb ];

@MultisampledNight i did try that and it did not work. Not sure if i'm doing something wrong.
https://github.com/NixOS/nixpkgs/issues/216580#issuecomment-1435102413

Result of nixpkgs-review pr 216844 run on x86_64-linux 1

3 packages failed to build:

blender
blender-hip
python310Packages.bpycv

1 package built:

embree

Hmm, interesting, it works (and is just building Blender fine on my local system) with this overlay, not including this PR:
      (final: prev: {
        # TODO: this overlay can be removed after https://github.com/NixOS/nixpkgs/pull/216844 is merged
        embree = prev.embree.overrideAttrs(old: rec {
          cmakeFlags = old.cmakeFlags ++ ["-DTBB_ROOT=${final.tbb}" "-DTBB_INCLUDE_DIR=${final.tbb.dev}/include"];
        });
        openimagedenoise = prev.openimagedenoise.overrideAttrs(old: rec {
          cmakeFlags = ["-DTBB_ROOT=${final.tbb}" "-DTBB_INCLUDE_DIR=${final.tbb.dev}/include"];
        });
      })

@MultisampledNight you could create a PR for openimagedenoise. Maybe then it also works on my system.

@MultisampledNight I would also look into the openimagedenoise issue, but it only makes sense if @Artturin is OK with that instead of the revert PR. I want to avoid both PRs being merged at the same time resulting in a mess, that's why it's still marked as a draft

@MultisampledNight @davidak It turns out that openimagedenoise can be fixed by the exact same flags. I added a commit to fix openimagedenoise as well. That should resolve all breakage due to #212787
@davidak the reason your change didn't work was that you used TBB_ROOT_DIR (vs TBB_ROOT)

I have a PR that fixes both versions of openimagedenoise. If you want it in one PR, you can cherry-pick my commit from https://github.com/NixOS/nixpkgs/pull/216853.
It would make sense to have both in one PR because both break the same packages.

Right, I missed the other openimagedenoise... sigh.. my nixpkgs-review run was already halfway through compiling Blender, but I guess I'll have to start again

Result of nixpkgs-review pr 216844 run on x86_64-linux 1

1 package failed to build:

openimagedenoise_1_2_x

5 packages built:

blender
blender-hip
embree
openimagedenoise
python310Packages.bpycv

Result of nixpkgs-review pr 216844 run on x86_64-linux 1

5 packages built:

blender
blender-hip
embree
openimagedenoise
python310Packages.bpycv


Background images aren't rendering

Background images aren't rendering in the latest commit, as seen here: http://jsfiddle.net/j7etuy4q/
The JSFiddle was taken from #458 where the issue was supposed to be fixed, although now it seems to be broken again.
Tested in Chrome 39 (Win 64 & OS X 64), Firefox 34 (Win 64 & OS X 64), Safari 8 and Internet Explorer 11. There aren't any error messages in the log, and none of the images are tainted.

This seems to have been introduced in 498527918c3324dce77260057bc47c280cc3324f

Fixed, thanks!


Perform hash verification in native thread

Downloads are slow and its probably the hashing
Reported by Vitor

Test if worth calculating hash in one go vs streaming

Not the hashing, it was the actual chunked download fixed in #172 . Isolate running pretty well (4 seconds for a 120MB+ APK), closing


I want more informative navigation to the downloads page

Acceptance Criteria:

[ ] Change "Download all resources" to be a button (See figma)
[ ] Change the individual download links to have an black arrow button (see figma)
[ ] All tracking events still work
https://www.figma.com/file/LSjbzdvHo17XqXGBRNJjQP/Old-%2F-new-content?type=design&node-id=83-57168&t=eJTi8ETWxp1QqAyQ-4

notion


views: check last modified

Signed-off-by: Lars Holm Nielsen<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling 3625bb0b6b09077817f7e6a582b7ed338f02ba1a on lnielsen:lastmodified into 83c77f17167a9f6b3903a5e1189a515aa94f3b8a on inveniosoftware:master.


Odd server crash due to minecells?

Had a odd crash on a fabric server with minecells, not entirely sure what the issue is but here's the error from crash-report.
`Time: 2023-11-23 22:12:20
Description: Exception in server tick loop
java.lang.NullPointerException: Cannot read field "key" because "id" is null
at com.github.mim1q.minecells.world.state.MineCellsData$PlayerData.writeNbt(MineCellsData.java:200)
at com.github.mim1q.minecells.world.state.MineCellsData$RunData.writeNbt(MineCellsData.java:157)
at com.github.mim1q.minecells.world.state.MineCellsData.method_75(MineCellsData.java:67)
at net.minecraft.class_18.method_17919(class_18.java:36)
at net.minecraft.class_26.method_32384(class_26.java:123)
at java.base/java.util.HashMap.forEach(HashMap.java:1421)
at net.minecraft.class_26.method_125(class_26.java:121)
at net.minecraft.class_3218.method_14188(class_3218.java:775)
at net.minecraft.class_3218.method_14176(class_3218.java:757)
at net.minecraft.server.MinecraftServer.method_3723(MinecraftServer.java:526)
at net.minecraft.server.MinecraftServer.method_39218(MinecraftServer.java:550)
at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:844)
at net.minecraft.server.MinecraftServer.handler$cfj000$carpet$modifiedRunLoop(MinecraftServer.java:7385)
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:644)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
at java.base/java.lang.Thread.run(Thread.java:833)`
MC Version: 1.19.2
MineCells Mod version: 1.5.3
Fabric Loader: 0.14.24

I have the same issue.

I have the same issue.

Might just be an issue that the mod not supporting multiple worlds. Removing portals in another dimension besides the overworld seems to have fixed it so far for me. As the portals in another dimension spawn at the exact same coords as the one's in the overworld, and thus causing that crash.

Sorry for not responding - so this happens when you place the Prisoners' Quarters Doorway in a dimension other than the overworld, right?

抱歉沒有回覆 - 所以當你將囚犯宿舍門口放置在主世界以外的維度時就會發生這種情況，對嗎？

Yes

Sorry for not responding - so this happens when you place the Prisoners' Quarters Doorway in a dimension other than the overworld, right?
Yes, did create a seperate dimension with default overworld generation (it generates the protal int aht dimension as well). Seems to happen when players enter the portal inside that dimension. My current fix was to regenerate the dimension without the mod loaded so it doesn't generate the portals there, kinda a hotfix but would be nice to support multiple dimension portals as well but if thats too much work/effort, don't worry about it as this hotfix currently works fine.

Issue is still present in May 2024. Entered the Promenade of The Condemned portal and it crashed my server. Crashes the server every time i attempt to rejoin as well.

Issue is still present in May 2024. Entered the Promenade of The Condemned portal and it crashed my server. Crashes the server every time i attempt to rejoin as well.

Can you please send the crash log?

Issue is still present in May 2024. Entered the Promenade of The Condemned portal and it crashed my server. Crashes the server every time i attempt to rejoin as well.

Can you please send the crash log?


Use gpu instancing

todo: add metadata support

make combination option use_external_model = true and use_gpu_instancing = true not possible

same for option rtccenter, maybe remove this setting and use true hardcoded

q: what to do with support for multiple models when using gpu instancing? Like we did in composite of multiple i3dm's.

another issue: there is a problem with z values - for example putting a larger model like a tree on the ground. Tree gets drawn too low or high.


Clairfication of Features

Most of the documentation and features emphasize the use of this tool to compile and produce documents.  Am I correct that this can also be used to load a production produced to us and review the documents in a streamlined manner?
For example, if I have a standard load file from relativity or concourse, will this load the documents for processing?

Matt,
I recommend looking at the latest release (V10) with VM and AI.
Thank you,
Mark
Mark Kerzner, President, Elephant Scale http://elephantscale.com/,
Book a call with me https://go.oncehub.com/markkerzner<PHONE_NUMBER>
On Fri, Jan 26, 2024 at 4:02 PM Matt Wetherington @.***>
wrote:

Most of the documentation and features emphasize the use of this tool to
compile and produce documents. Am I correct that this can also be used to
load a production produced to us and review the documents in a streamlined
manner?
For example, if I have a standard load file from relativity or concourse,
will this load the documents for processing?
—
Reply to this email directly, view it on GitHub
https://github.com/shmsoft/FreeEed/issues/400, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAETM6PBYLX3RAKIXBJ2GTLYQQRZDAVCNFSM6AAAAABCMY6PFOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYDEOJWGM3DGMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Compiling Folders is not working as I expected.

I would love to make a PR to "fix" this, but maybe what I am expecting it's not what you want for the API.

it is not importing from subfolders

You have explicitly set max Depth to 1 for the walkSync, so maybe you won't like a PR that removes it.
In that case would you be open to accept a parameter to set a different depth?
sass([folder, ...], { maxDepth: n })

files with the same name are overriding each other

You have a Map to make sure you are only compiling one file with the same name.
I think this behavior can be problematic, and there are tradeoffs with any alternative.
I don't feel confortable making a PR with a decision taken on my own.

it's not appending files (PermissionDenied)

I would workaround  it by creating the string on memory and writing to the disk only once. But maybe you know how to fix it properly.

If you have a working PR by all means go for it, however I have plans to rework this with something more.. stable and reliable but I don't have time anymore.
feel free to make a PR if you think you can add usefull feature or fixes, i'll review it on a weekend

Since these PR have been merged #13 #12 if there isn't anything else we can close this issue !


Two digit milliseconds L sometimes returns three digits

I have a dateformat string that uses L, which should return milliseconds with 2 digits. The full dateformat string is yyyymmddHHMMssL, which should generate a 16 digit string that is then followed by other data - it's used for a filename generator.
I have a unit test doing a sanity check on this, which checks the presence of 16 digits using regexp.
Once in a blue moon this test fails because the resulting date format string contains 17 digits. The resulting string this morning was<PHONE_NUMBER>4011100.
Is it possible that L gave 100 here because it ended with 00?
Either way, the expected behaviour is that L should always return two digits as the spec says. I'll change to use l for now.

Hello!
I encountered the same problem and made PR for this issue in #88.

Fixed in fork<EMAIL_ADDRESS>

Pity the author never fixed this bug.


tsconfig.json does not reflect config.srcDir

Version
v2.8.1
Reproduction link
https://codesandbox.io/s/nuxt-tsconfig-issue-sample-zkx3o
Steps to reproduce
yarn dev

Note that this sandbox is in the state of before first run, so tsconfig.json is a just empty file.
What is expected ?
Nuxt will create content of tsconfig.json automatically, and dev build will continue successfully.
What is actually happening?
tsconfig.json is created with "baseUrl": "." even config.srcDir is set to src, and type check for import MyComponent from '~/components/MyComponent.vue' in src/pages/index.vue fails.

This bug report is available on Nuxt community (#c9375)

@nandenjin It's a limitation we have for now, the issue is that a tsconfig.jsonis needed to be able to read ts files, and nuxt.config.ts is one of them. So we can't read config before setup TypeScript.
Something we could do is generate tsconfig.json, read config, and then rewrite tsconfig.json to override paths property with right srcDir. /cc @pi0 paths override could be done by @nuxt/typescript-build module.
You can fix your project by manually edit the generated tsconfig.json paths property with :
"paths": {
  "~/*": [
    "./src/*"
  ]
}

I understand, currently I fix baseUrl manually as you mentioned in all of my projects, and they work well for me. Thanks.

(Don't pay attention of the referenced pull-request, it's just to ping its author so he understand a little more why his PR can't work)
Alright, I'll see if we can ensure that baseUrl is automatically updated with right srcDir with upcoming TypeScript support externalizations.


Add Compliance check: verifiedActionsOnly

How the Check Works
Provide a clear definition based on the spreadsheet
Pending Tasks
You can find more details in the contributing guide

[ ] 1. Define a Good Implementation Example

[ ] Read the documentation (guidelines, best practices...)
[ ] Brainstorm how to implement this check (logic, alerts, tasks, validations, edge cases...).
[ ] Achieve an agreement on the implementation details before starting to work on this.

[ ] 2. Update Check Record Example

[ ] Update the compliance_checks row with the following fields: how_to_url, implementation_status, implementation_type and implementation_details_reference
[ ] Check the migration scripts using npm run db:migrate and npm run db:rollback
[ ] Update the database schema by running npm run db:generate-schema

[ ] 3. Implement the Business Logic Validator Example and Check Example

[ ] Add the specific validator in src/checks/validators/index.js
[ ] Add the check logic in src/checks/complianceChecks
[ ] Ensure that the check is in scope for the organization (use isCheckApplicableToProjectCategory)
[ ] Ensure that the severity value is well calculated (use getSeverityFromPriorityGroup)
[ ] Add the alert row in the compliance_checks_alerts table when is needed.
[ ] Add the task row in the compliance_checks_tasks table when is needed.
[ ] Add the result row in the compliance_checks_results table.

[ ] 4. Ensure It Works as Expected

[ ] Add new unit tests for the validator check.
[ ] Add new integration test cases for this check.
[ ] Verify that all tests are passing.
[ ] Run the command check run --name {check_code_name} and verify the changes in the database. Update the seed script if needed (npm run db:seed)

[ ] 5. Update the website Example

[ ] Review the current content it in https://openjs-security-program-standards.netlify.app/details/{check_code_name}
[ ] Create a PR in https://github.com/secure-dashboards/openjs-security-program-standards to include how we calculate this check and include additional information on the mitigation if needed.

This is blocked by https://github.com/OpenPathfinder/visionBoard/issues/150. Once that change is ready we can use the column github_actions_enabled_repositories and github_actions_allowed_actions to build the check logic.
Some scenarios:

If the github_actions_enabled_repositories=false we unknown the check status.
If the github_actions_enabled_repositories=true && github_actions_allowed_actions=local_only|selected we passed the check status. Otherwise is failed

We need to decide if alerts/tasks are needed here. WDYT @ruddermann?


Doesn't pass AMP validation

There are a few issues with this version of Tachyons:

The AMP spec disallows !important declarations.
.cf cannot have the .cf { *zoom: 1;} clearfix hack, it doesn't pass the validator. Is it even necessary since we're not targeting IE?
Is there a need for -l sizes, as AMP is intended for mobile use only?

@dangayle

Is there a need for -l sizes, as AMP is intended for mobile use only?

Really depends. If you have a separate mobile and desktop code base, then probably not. We serve a responsive site so we end up using relying on media queries.

This is for AMP though, which never goes to desktop. Regular Tachyons is perfect for that.
--
Dan Gayle
On Dec 27, 2017, 10:21 AM -0800, claudina sarahe<EMAIL_ADDRESS>wrote:

@dangayle

Is there a need for -l sizes, as AMP is intended for mobile use only?
Really depends. If you have a separate mobile and desktop code base, then probably not. We serve a responsive site so we end up using relying on media queries.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Right. A responsive website serves both mobile and desktop. We don’t split out our code on our project. Desktop gets the benefit of performance because we’re designing/coding for AMP. If you have two different builds, then by all means slim the CSS code to your liking.

Em 27 de dez de 2017, à(s) 14:40, Dan Gayle<EMAIL_ADDRESS>escreveu:
This is for AMP though, which never goes to desktop. Regular Tachyons is perfect for that.
--
Dan Gayle
On Dec 27, 2017, 10:21 AM -0800, claudina sarahe<EMAIL_ADDRESS>wrote:

@dangayle

Is there a need for -l sizes, as AMP is intended for mobile use only?
Really depends. If you have a separate mobile and desktop code base, then probably not. We serve a responsive site so we end up using relying on media queries.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/tachyons-css/tachyons-amp/issues/1#issuecomment-354156892, or mute the thread https://github.com/notifications/unsubscribe-auth/AADKZKaEp3T80Djh7VONhPT4NtC7xS9Cks5tEo8MgaJpZM4QeF0W.

You serve AMP pages to desktop and don’t use the regular Tachyons at all? It doesn’t validate as-is.
On Dec 27, 2017, 2:36 PM -0800, claudina sarahe<EMAIL_ADDRESS>wrote:

Right. A responsive website serves both mobile and desktop. We don’t split out our code on our project. Desktop gets the benefit of performance because we’re designing/coding for AMP. If you have two different builds, then by all means slim the CSS code to your liking.

Em 27 de dez de 2017, à(s) 14:40, Dan Gayle<EMAIL_ADDRESS>escreveu:
This is for AMP though, which never goes to desktop. Regular Tachyons is perfect for that.
--
Dan Gayle
On Dec 27, 2017, 10:21 AM -0800, claudina sarahe<EMAIL_ADDRESS>wrote:

@dangayle

Is there a need for -l sizes, as AMP is intended for mobile use only?
Really depends. If you have a separate mobile and desktop code base, then probably not. We serve a responsive site so we end up using relying on media queries.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/tachyons-css/tachyons-amp/issues/1#issuecomment-354156892, or mute the thread https://github.com/notifications/unsubscribe-auth/AADKZKaEp3T80Djh7VONhPT4NtC7xS9Cks5tEo8MgaJpZM4QeF0W.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I use a modified build of standard Tachyons.

Hey! 👋 Is anyone working on making this pass AMP validation? Is there something I can help with? I love Tachyons, and I am trying to make it work for a big AMP project.

No one's currently working on it to my knowledge, will gladly accept a PR if you'd like to lend a hand.

At first glance, !important is only used in the debug, 'background-sizeandvisibility` modules. Would it be acceptable to comment out these modules and just not support those for the AMP version?

Cool. Thank you for fixing this.


[🐛] Basket Access challenge solved by switching between two users

View another user basket challenge solved itself after logging with another user on the same browser..
( After changing between users multiple times ) I think that was cause of cookies

To reproduce this behavior, could you tell us what users you used and if the behavior is reproducable after a specific number of switches or occurs rather "randomly"? Also, are you using a single tab or multiple ones? The session handling is terrible by design, but it shouldn't hit the challenge too easily, so every bit of information would help. Thanks!

I can't reproduce the behavior you describe when doing the following loop 5 times:

Log in as demo
View basket
Log out
Log in as<EMAIL_ADDRESS>View basket
Log out
Repeat step 1

So I would assume you have done something else in the meantime as well, but without knowing what it is, I can't determine if that is a bug or not.

May be I had another tabs logged in with another user, then refreshed basket in one of those tabs. It sent api the action via socket and found that the basket wasn't mine.
That is what I guessed.
I'll reproduce it and inform you soon.


Docs changes for api release

Coverage decreased (-0.03%) to 70.86% when pulling 5d00351014213f27408c288bbaa05a332e79413f on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling 00a4fd3a84925333aad93947802b60d38cce9cec on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling 0dc0feba829e682145f0ae53264143854681bf4c on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling 0dc0feba829e682145f0ae53264143854681bf4c on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling a46e225d35d796d1342ad88b4dc2ce0002beda3c on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling a46e225d35d796d1342ad88b4dc2ce0002beda3c on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling 48b8e05fa7efc415bb78cb6934792fb7400c93ad on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling e28cb02f47a54f732523c8688600c07e6db6c2d3 on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.

Coverage remained the same at 70.887% when pulling e28cb02f47a54f732523c8688600c07e6db6c2d3 on Dorthu:hf-v0.12.5 into 2cde12db9274d203d9356a21d3b1b60e0b0822d3 on linode:master.


Concourse cf-deploy-infra script should not wait for external services

Currently if there are other services deployed in the same org and space, the cf-deploy-infra script will fail. This PR proposes a fix that will make the script wait only for the abacus services.

Coverage remained the same at 90.909% when pulling 90d7d6826128132b04a4efe63275e3559b210946 on SAP:services into c8596e08942a964ef4b7b625fc3b53ecf466189b on cloudfoundry-incubator:master.

Coverage decreased (-0.1%) to 90.802% when pulling fe211ed6df02e4e6360740bf5ab3b508d40e32bb on SAP:services into c8596e08942a964ef4b7b625fc3b53ecf466189b on cloudfoundry-incubator:master.


Flaky-test: org.apache.pulsar.broker.stats.MetadataStoreStatsTest.testBatchMetadataStoreMetrics

Search before asking

[X] I searched in the issues and found nothing similar.

Example failure
https://github.com/apache/pulsar/actions/runs/4383540966/jobs/7674179427
Exception stacktrace
i don't known where to find unit test fail stacktrace. please let me know.
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

1 https://github.com/apache/pulsar/actions/runs/4413158692/jobs/7736015420#step:11:2577

Reopen this issue by https://github.com/apache/pulsar/actions/runs/4424020709/jobs/7763604452#step:11:1277

fixed by https://github.com/apache/pulsar/pull/19829


ItchioLibrary: Remove covers import during library update

Currently the extension sets game covers during library update. This will causes these issues:

It will set a cover that could not have the aspect ratio and resolution desired by the user
Because the cover is already set during import, metadata download after library update will skip fetching the Cover Image using the configured preferences of the user in Metadata settings and the game original, undesired cover will remain, requiring the user to manually start metadata download afterwards to fix it

In my opinion removing them is better and the image that the itchio plugin would have set, could still be obtained using the Official Store metadata download choice.

I'm not sure if that's the case taking a quick look at my library.
I'll be using Community scores as reference to correlate how many games are on the Steam store by grouping by that field since I use the Universal Steam Metadata plugin for that. These are my non-Hidden games, with only 1 game not having a community score and from inside the groups, only 2 games are not available on Steam (But have entries on SteamGridDB and VNDB, as well as other databases):

These are my Hidden games, 808 have community scores (Meaning they are available on Steam) and 845 don't have one.

And I'd have to fetch their metadata since from a brief check to the top items in the None group, I can quickly recognize many games that I know are on Steam:

Considering this, I think it's not stretched to think that at least a considerable portion of games on itchio will either be available on Steam or any of the other available databases which Playnite has metadata plugins for, including IGDB, MobyGames, RAWG or VNDB, among others and would cause an issue in users as their metadata download configuration would not be respected.
I also think that it needs to be considered that configuring Metadata to download Official Store in the last place, will basically result in the same current behavior of falling back to the cover available on itchio, with the only caveat being the need to make an additional request when that happens.

Those are my reasons why I think it could be a reasonable change but I'll understand if you don't agree with them.

I don't think this is a good idea for similar reason why icon download support was recently added despite being very low res: It's very likely that most itch games in your library will be very niche games and those won't be in other databases so you'll end up with no covers at all.

If you are referring to this commit then I'd like to add that this is a change done in the plugin metadata provider, which does not cause the issue I pointed to here where metadata download configuration doesn't apply. If it was a change done to be applied during the library update process, then it would result in the same problematic behavior I explained here but this time for icons instead.

I see your point, I mainly always had itch in mind as distributor of niche games, but I guess people also have a lot of popular games in library thanks to various bundles. I still think this is not a good idea to remove this completely for those niche games I mentioned.
In general I think this is a case where this would simply need to be configurable, like it's planned for P11 where metadata download settings will be configurable on per library level.

Got it no worries I understand, I'll close the PR then.


Recommendation

I don't know how to use C# so I can't send a example of how it could be done, but, it would be nice to have the shortcut be open above the taskbar itself, not above the mouse, just a little thing that could make it more comfortable, since sometimes I'm playing and use Windows+ and then use like 1 to open the first app but sinse the window opens above the mouse it sometimes is inconvenient.

I would also like to see icons of no longer existing programs auto removed from the list. Love this program and I hope it gets even better!


#241 applicant job links

Checked this PR :

[ ] For duplication.
[ ] For performance.
[ ] Usage of recursive methods, loops, and algorithms.
[ ] For readability and understanding.
[ ] For functions with multiple responsibilities.
[ ] For scope of refactoring.
[ ] For coupling
[ ] For alternative approaches to the implementation.
[ ] For how the change impacts other parts of the system.
[ ] For validations. client side and server side validations are present.

For more insights on code reviews checkout our guidelines.


Task to upload a file to Salesforce

@ddaniels888  - Don't merge.  But this seems the easiest way to do the pull request right now.

@ddaniels888 do you know the status on this PR?

@mrdrozdov This is unmerged for now; still working out upstream stuff in the spotify/luigi PR. For now, you can pick up salesforce stuff directly in the dd-analytics project in salesforce_tasks.py

@ddaniels888 Trello (https://trello.com/c/qxLCAzZ7) has a list-item: "Merge in PR (https://github.com/mortarcode/dd-analytics/pull/9) about Salesforce task that uses our own api code instead of external libraries."
Although, https://github.com/mortarcode/dd-analytics/pull/9 has a comment "Don't merge until feedback is given on mortardata/luigi#19". I don't fully grasp the relation between these two PRs.

My real question is how do I proceed with the Trello task without merging these PRs? I suppose I could work on allowing the SF task to take multiple files just like the Redshift task. Although, that may leave us with 3 unmerged PRs, which may be fine.


Corrupted display name when passing c_str() to begin()

I am attempting to dynamically set up the display name using the homespan.begin(...) function. However, when I pass the c_str() of a String object into the begin function, it seems to affect the character pointer, resulting in the display name being corrupted. I assume that the begin() function should not modify the display name. This functionality was working correctly in version 1.8.
This is example code:
char nameSuffix[20];
sprintf(nameSuffix, "%06d", 101);
String displayName = "My Device Number " + String(nameSuffix);

...

homeSpan.begin(Category::Lighting, displayName.c_str());

The output looks something like this:
Accessory configuration number: 1

l��? is READY!

Trying to connect to XXXXXX_XXXXXX.  Waiting 1 sec...
Trying to connect to XXXXXX_XXXXXX.  Waiting 2 sec...
E (7391) wifi:sta is connecting, return error
WiFi Connected!  IP Address = xxx.21.31.205

Starting MDNS...

HostName:      HomeSpan-CAE729DD642F.local:80
Display Name:  l��?
Model Name:    HomeSpan-ESP32
Setup ID:      HSPN

Passing a constant string into begin() call works perfectly fine.
homeSpan.begin(Category::Lighting, "My Device 101");

My Device 101 is READY!

Trying to connect to XXXXXX_XXXXXX.  Waiting 1 sec...
WiFi Connected!  IP Address = xxx.21.31.205

Starting MDNS...

HostName:      HomeSpan-CAE729DD642F.local:80
Display Name:  My Device 101
Model Name:    HomeSpan-ESP32
Setup ID:      HSPN

Thank you for the amazing library!

This is because the homeSpan.begin() function does not copy the full character array for any names passed to it (though I probably should do that in a future update). It only copies the pointers.
This means that if String is declared within setup(), it will go out of scope once the setup() function is completed by the time homeSpan.poll() is called within the main loop(), the pointer to displayName will likely no longer be valid.  Depending on the sketch, the memory occupied by displayName may or may not still contain a valid character array.  If this worked in 1.8.0, it was only by luck.
The workaround is to define your String as a global variable instead of within setup so the name is retained and can be used once homeSpan.poll() is called.  I'll see about reserving space to copy the full string in a future update.

This means that if String is declared within setup(), it will go out of scope once the setup() function is completed by the time homeSpan.poll() is called within the main loop(), and the pointer to displayName will likely no longer be valid. Depending on the sketch, the memory occupied by displayName may or may not still contain a valid character array. If this worked in 1.8.0, it was only by luck.

Thank you for the clarification. I've been using the same pattern for both serial numbers and pairing codes. I will transfer all related data to a global scope until a permanent fix is implemented.

I've updated the logic in homeSpan.begin() and homeSpan.setHostNameSuffix() to copy the specified strings instead of copying the pointer.  This should solve the problem above and allow you to use strings that go out of scope without any issue.  New code is in the dev branch and will be rolled out in next release.

Thank you so much for addressing this promptly. When do you plan to release v1.10.0?

Will release in probably a few more weeks.  Working out some final tweaks.

Note the new version will be 1.9.1 (there is a branch for it, though it's not yet been tagged for release since I'm still making changes).

These changes have now been released into production as version 1.9.1.


No more video download since yesterday evening

Hi,
It's seems that since yesterday I only can download story pictures and not videos anymore.
Other add-ons have this problem too. So is this a local problem with my account or something Instagram changed again?

No issues with that here in Firefox.


Infinite loop if we change the URL of the consolePublicURL and MAsterPublicURL to use the route address

When we create an Openshift route to expose the WebConsole, in order to resolve the address using an external DNS, as such
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  labels:
    app: openshift-web-console
  name: admin
  namespace: openshift-web-console
spec:
  host: admin-openshift-web-console.<IP_ADDRESS>.nip.io
  port:
    targetPort: https
  tls:
    termination: passthrough
  to:
    kind: Service
    name: webconsole
    weight: 100
  wildcardPolicy: None

next reconfigure the configMap of the webconsole to use the Route Address
oc get configmap/webconsole-config -o yaml
apiVersion: v1
data:
  webconsole-config.yaml: |
    apiVersion: webconsole.config.openshift.io/v1
    clusterInfo:
      consolePublicURL: https://admin-openshift-web-console.<IP_ADDRESS>.nip.io/console/
      loggingPublicURL: ''
      logoutPublicURL: ''
      masterPublicURL: https://admin-openshift-web-console.<IP_ADDRESS>.nip.io
      metricsPublicURL: ''
    extensions:
      properties: {}
      scriptURLs: []
      stylesheetURLs: []
    features:
      clusterResourceOverridesEnabled: false
      inactivityTimeoutMinutes: 0
    kind: WebConsoleConfiguration
    servingInfo:
      bindAddress: <IP_ADDRESS>:8443
      bindNetwork: tcp4
      certFile: /var/serving-cert/tls.crt
      clientCA: ''
      keyFile: /var/serving-cert/tls.key
      maxRequestsInFlight: 0
      namedCertificates: null
      requestTimeoutSeconds: 0
kind: ConfigMap

modify the Oauthclient resource
[root@cloud ~]# oc get OAuthClient/openshift-web-console -o yaml
apiVersion: oauth.openshift.io/v1
grantMethod: auto
kind: OAuthClient
metadata:
  name: openshift-web-console
redirectURIs:
- https://admin-openshift-web-console.<IP_ADDRESS>.nip.io/console

and recreate a new pod
oc scale --replicas=0 deploy/webconsole
oc scale --replicas=1 deploy/webconsole

Then, when we access the web console, the screen is looping continusouly

and the log of the webconsole's pod reports this error
W0518 08:10:08.940019       1 start.go:93] Warning: config.clusterInfo.loggingPublicURL: Invalid value: "": required to view aggregated container logs in the console, web console start will continue.
--
  | W0518 08:10:08.940336       1 start.go:93] Warning: config.clusterInfo.metricsPublicURL: Invalid value: "": required to view cluster metrics in the console, web console start will continue.
  | I0518 08:10:09.256195       1 start.go:201] OpenShift Web Console Version: v3.9.0+b600d46-dirty
  | I0518 08:10:09.256502       1 serve.go:89] Serving securely on <IP_ADDRESS>:8443
  | I0518 08:10:19.139673       1 logs.go:41] http2: server: error reading preface from client <IP_ADDRESS>:33750: read tcp4 <IP_ADDRESS>:8443-><IP_ADDRESS>:33750: read: connection reset by peer
  | I0518 08:10:19.342687       1 logs.go:41] http2: server: error reading preface from client <IP_ADDRESS>:33754: read tcp4 <IP_ADDRESS>:8443-><IP_ADDRESS>:33754: read: connection reset by peer
  | I0518 08:10:19.704623       1 logs.go:41] http2: server: error reading preface from client <IP_ADDRESS>:33746: read tcp4 <IP_ADDRESS>:8443-><IP_ADDRESS>:33746: read: connection reset by peer
  | I0518 08:10:37.052718       1 logs.go:41] http2: server: error reading preface from client <IP_ADDRESS>:33796: read tcp4 <IP_ADDRESS>:8443-><IP_ADDRESS>:33796: read: connection reset by peer

Web Console - Javascript reports API discovery error

The infinite loop problem is tracked by https://github.com/openshift/origin-web-console/issues/2758
/close


Different maker per project?

Issue type

Feature request

Description
Using Neomake primarily for javascript projects. Not all projects use the same maker: some use standard, some jshint, some eslint.
Expected behavior
The ability to specify a maker per project would be ideal, either via some rcfile or .*lint file detection.
Thank you for such a great plugin!

You can currently use any of the vim localrc plugins + autocmds to set b:neomake_* vars for files in a project (e.g. autocmd Filetype javascript let b:neomake_javascript_enabled_makers = ['eslint'] in the project's local vimrc)
local vimrc plugins https://www.google.com/search?q=vim+localrc

Ah, that's a great idea. Thanks for your time, @davidosomething!


feat: added MintByOwnerOnly functionality from sc pr #9

This PR is dependent on the one in the sc repo
https://github.com/juliancwirko/elven-nft-minter-sc/pull/9

closed in favor of the giveaway function


Adding a Listener

With the previous API I could throw an instance of my class in the API as Listener, now I can't seem to do that.
Can you provide an example on that?
And maybe tell why you want to know which handler is using which event?

Something like that:
class ED implements Event.Listener {
  public static void main(String... args) {
    EliteDangerousAPI eliteDangerousAPI = new EliteDangerousAPI.Builder()
      .addEventListener(SupercruiseEntryEvent.class, this)
      .build();
    eliteDangerousAPI.start();
    //...
    eliteDangerousAPI.stop();
  }
  @Override
  public void onTriggered(Event event) {
    // Event triggered
    switch (event.getClass().getSimpleName()) {
      case "SupercruiseEntryEvent":
        // SupercruiseEntryEvent triggered
        break;
    }
  }
}

And to answer to "why you want to know which handler is using which event?", that is how I architectured the Listener part, it is way easier and flexible like that. What are you implying?

I would personally not care about who is using what event.
Certainly not would want the user to do the same checks again that you already made before.

I don't care about the who, but do care about the if. If there is no listener added by the developer, I don't want to call an empty method like it was before...
That is why you can use lambdas instead of your class implementing the Event.Listener like so:
class ED implements Event.Listener {
  public static void main(String... args) {
    EliteDangerousAPI eliteDangerousAPI = new EliteDangerousAPI.Builder()
      .addEventListener(SupercruiseEntryEvent.class, event -> System.out.println(((SupercruiseEntryEvent) event).starSystem))
      .build();
    eliteDangerousAPI.start();
    //...
    eliteDangerousAPI.stop();
  }
}

Extra cast and check though (if using multiple events on the same listener), more map access as well (not sure how bad that is though)
If I would use lambda's then I would just call a different function (after casting in this case)

My original idea was to have a method signature for addEventListener like:
public <T extends Event> Builder addEventListener(Class<T> eventClass, T.Listener listener)

I had in mind that T.Listener would force the developer to pass the right interface, but it just doesn't work as I had it in my head.
Also, keep in mind that the Library is still under heavy refactoring. I just hadn't the time to solve this tricky part and judged that it could remain like that for now. The v1.0.0 isn't released yet...
Finally, if you have a better method in mind, please explain it to me or make a pull request ;)

I would personally revert to the many methods system.
The public vars are probably just an effect of the refactor.

 We can always discuss this in Discord if you want: Chris2A#3613
Yes.

Considered doing something like this?
https://miro.medium.com/max/700/1*JsTvB7yiA51JpkwRLDjwRQ.png

I'm currently refactoring the Listeners part, it should allow you to do what you want

Still not quite what I wanted but it's getting closer. I need to take the time to think this through.
Now you can do:
class ED {
  public static void main(String... args) {
    EliteDangerousAPI eliteDangerousAPI = new EliteDangerousAPI.Builder()
      .addEventListener(MusicEvent.class, (MusicEvent.Listener) this::onMusic)
      .addEventListener(BountyEvent.class, (BountyEvent.Listener) bountyEvent -> System.out.println("onBountyEventTriggered " + bountyEvent))
      .build();
    eliteDangerousAPI.start();
    //...
    eliteDangerousAPI.stop();
  }

  private void onMusic(MusicEvent musicEvent) {
    System.out.println("onMusicEventTriggered " + musicEvent);
  }
}

Didn't even know that Java could do that.
Currently in the process of switching to C# and JS though.
Software that I use is able to provide overlays / undocked windows, better than having it running next to the game.


add arguments to MockNetProvider to change the taget environment (chipnet vs mainnet vs experimental VM)

consider adding arguments to MockNetProvider to change the taget environment (chipnet vs mainnet vs experimental VM)

in LibauthTemplate.ts we now default to supported: ['BCH_2023_05'], instead of ['BCH_SPEC'] or any of the other options
in debuggint.ts we use createVirtualMachineBCH2023 since commit
https://github.com/CashScript/cashscript/commit/5e30b90adc57b38b88b6dd86af8094b5f0d89517#diff-a0f4807095ac442ac53b058c9dc658503e3ec60f004f41e37299868e0140214eR1
both of these parameters shouldn't be hardcoded but configurable


html5 doesn't send with icon on the notification area

Home Assistant release with the issue:

0.71
Last working Home Assistant release (if known):
0.68
Operating environment (Hass.io/Docker/Windows/etc.):

Rasbian
Component/platform:

Description of problem:
After the upgrade to 0.71 the notification on my android device are not showing the correct icons that i configure for each notification, it is only show a bell icon (the default icon for HA)
I think that it can be related to the chrome app update in android, i have tried to clean all the HA data in the chrome and it didn't fix it
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
This is the configuration for the notification:
{ "data": { "badge": "/local/images/water-soak.png", "icon": "/local/images/water.png" }, "message": "Boiler is ON", "title": "Boiler is ON" }

Traceback (if applicable):

Additional information:

I can confirm this as well. My notifications are ignoring the configured icon and defaulting to the bell.

Any update to fix it?

The problem is only in the chrome beta app, with the regular app it is not appear

I still have this issue with Home Assistant 0.75.1 and Chrome 68.0.3440.85 (regular version) on Android. Regular Icons still work, but badges seem to default to the bell icon. I'm using the following JSON as service data to test.
{
  "title": "Home",
  "message": "Someone just got home.",
  "data": {
    "badge": "/local/icons/home-enter.png",
    "icon": "/local/icons/home-enter.png"
  }
}

I've verified both icons are accesible from the public url from inside my browser. It used to work before and I can't relate it to a Home Assistant update. Perhaps the bug from chrome beta hasn't been squashed before it was released to stable.

Something has changed after the chrome app update, this problem was at the Chrome Beta app, but now it is also in the Chrome regular app

Is there a way to verify it's an issue with Chrome and not with Home Assistant?

I don't think that google code is the problem, there is something that changed in the Google Chrome code that need to be fixed in the Home Assistant , i will try to see the change log in the Chrome app to figure out what change have made this problem

@leranp why did you close this? I'm also seeing this issue...

No one tried to fix it, so I opened a new issue that focus on the changing in the Chrome app version

Fair, but you should always link the issues by referencing them. Everyone else, see #15992.


ERROR: Unable to download JSON metadata: HTTP Error 400

hi
I using windows server 2012 vps
I want to download with youtube-dl but show this error
please help me

please help me


PR test

I saw

@LK4D4 you saw nothing!

Dammit, our secret planned is compromised.


Update the release documentation

I've updated this documentation based on notes from the past two releases.  We should try to follow the steps described in this document for the next release and take another pass at updating it if necessary.

did u intentionally remove the update to the community operator ?

I think it's in there.  See line 261 of new doc.  If not, let me know what to add, or we can add the instructions in an update after we do the next release.

also we have now split repo so should we split the release doc or create common docs repo under and have that doc there as we as any general doc ?

Good point.  We can discuss, but maybe we add a RELEASE.md file to bpfman-operator that says something like, we synchronize the releases.  Do bpfman first.  And, point to the instructions in bpfman?

Thanks for your reviews @msherif1234  and @Billy99!  I think I've addressed all of your comments.  Let me know if I missed anything.


8.0: switch entity manager away from newDefaultAnnotationDriver for flexibility?

From a comment on #3495 :
I suggest that Concrete5 shouldn't use the "newDefaultAnnotationDriver()" method of the Doctrine configuration class.
$driverImpl = $config->newDefaultAnnotationDriver($this->entitiesPath);
The method uses the SimpleAnnotationReader (SimpleAnnotationReader can only handle annotations from one single namespace) which maps all doctrine annotations directly to "Doctrine\ORM\Mapping".
This raises the issue, that developers are not able to use existing doctrine extensions like "Atlantic18/DoctrineExtensions" or even using their own without altering core components and the annotations in core entities.
Concrete5 should use instead the doctrine configuration setup as described here.
This solution would eliminate the previously described issue and add the advantages which are described next.
Doctrine provides a DriverChain class, which can handle an infinite number of mapping driver instances (YAML, Annotations, XML ....).
Each mapping driver can hold an array with lookup paths. Each driver instance is mapped to at least one namespace to look for ORM information. (Same mapping driver instance can be mapped to multiple namespaces.)
The DriverChain can set a default Driver. In the case of concrete5, I guess this would be the AnnotationDriver.
So Doctrine already provides a mechanism to handle different drivers for different name spaces with their look up paths.
Additionally, it would be great to add by default a "Doctrine" EventManager to the EntityManager (as showed in the doctrine configuration setup link). With this additional setup developers will be able to subscribe to events triggered by core entities or entities of other packages.
Concrete5 should provide the functionality to register additional look up paths for the desired drivers or provide the possibility for packages to register/create their own mapping driver.
It would also add a great value for developers if the mapping driver for the application could be chosen through the concrete5 configuration (maybe application/config/app.php).
All the mapping drive information needs to be available prior the EntityManager instance is created. This could be handled with the Concrete5 event system.

Originally posted by @kaapiii
Question: is this change completely backward incompatible? Won't we need to change every single annotation in the core (not a huge deal) but also every single annotation in packages? And furthermore doesn't that mean the same package can't work for 5.7 and v8 at the same time ?

The change is not backward compatible for entities which use annotations as a mapping source.
Entities mapped with XML or another mapping driver wouldn't be affected.
If the SimpleAnnotationReader is replaced by an "normal" \Doctrine\Common\Annotations\AnnotationReader() each core entity has to be changed by adding a use statement
use Doctrine\ORM\Mapping as ORM; and prefixing the annotation with "ORM".
@ORM\Entity

The core entities are certainly something we can work with – I'm mostly
worried about the package entities – especially the fact that we'd be
telling our developers they'd need different versions of their entities
with v8 vs v7 and before.
Let's keep thinking about this and see if there's anything we can do to
make this fail gracefully and/or be something we can enable via config
switch? I realize that's probably impossible given it dictates how we write
our core entities – but maybe if we can get everything together and write a
cohesive migration guide we'd be able to mitigate the damage this might
cause.

I see your concerns. I have to admit, that a compatibility break can hardly be seen as an option.
I have some vague idea, how we could solve this issue, but I'll have to dig deeper into Doctrine and the package handling of concrete5.

It is possible to use an AnnotationReader and a SimpleAnnotationReader at the same time. The AnnotationsReaders just scans a defined namespace and collects all annotations matching the filter criteria. So it’s possible that Concrete\Core uses the “normal” AnnotationReader with annotations prefixed @ORM\... and the package XY uses the SimpleAnnotationReader with no prefixes.
To overcome over issue, we basically need to create 2 AnnotationDrivers. The first AnnotationDriver contains an instance of the AnnotationReader. The second AnnotationDriver, I’ll call it “SimpleAnnotationDriver” contains an instance of the SimpleAnnotationReader. Both Drivers are injected into the DriverChain which it self is then infected in to the doctrine configuration. The AnnotationDriver is going to be the main driver for all annotation mapping information. The SimpleAnnotationDriver can be seen as a legacy driver, to keep the backwards compatibility.
Lets assume these changes will be released in v8.0. The AnnotationDriver is going to be used by the Concrete core, the application and all packages with the minimal required version of Concrete5.8 appVersionRequired = 5.8.0. All packages with a lower required version of Concrete5 are automatically registered to the (legacy) SimpleAnnotaionDriver.
With this solution this solution there will be no backwards incompatibility. And developers are free to update their plugin when they like. Any concerns on this?

Another topic that needs to be discussed is, if we should support also YAML and “PHP code” mapping format, now that all doors are open? With the DriverChain in place, each namespace could have his own driver type. The package developers should also be able to choose, with which mapping type they want work with.

I’ve just updated my latest project with concrete<IP_ADDRESS> as a small proof of concept. I use the SimpleAnnotationReader with an AnnotationDriver for the mapping of core entites and a YamlDriver for my custom entites (located in Application\Src). It’s a slight variation of what I’ve described above as a solution, but it’s working flawlessly. Here is the code of the "create" method of my customized "EntityManagerFactory" located in “application/Src/Database”.
    /**
     * Create Application Specific EntityManager
     *
     * @param \Concrete\Core\Database\Connection\Connection $connection
     * @return type
     */
    public function create(\Concrete\Core\Database\Connection\Connection $connection) {

        $args = isset($_SERVER['argv']) ? $_SERVER['argv'] : null;
        $environments = require DIR_APPLICATION . '/bootstrap/environments.php';

        $detector = new \Concrete\Core\Foundation\EnvironmentDetector();
        $env = $detector->detect($environments, $args);

        if($env == 'production'){
            $cache = new \Concrete\Core\Cache\Adapter\DoctrineCacheDriver('cache/expensive');
        }else{
            $cache = new \Doctrine\Common\Cache\ArrayCache();
        }
        $config = \Doctrine\ORM\Tools\Setup::createConfiguration(
            Config::get('concrete.cache.doctrine_dev_mode'),
            Config::get('database.proxy_classes'),
            $cache
        );

        // Handling the automated creation of proxies
        /*if($env == 'production'){
            $config->setAutoGenerateProxyClasses(false);
        }else{
            $config->setAutoGenerateProxyClasses(true);
        }*/

        // Customized
        $path = DIR_APPLICATION . '/' . DIRNAME_CLASSES;
        if ($context instanceof Package) {
            $path = $context->getPackageEntitiesPath();
        } elseif ($context === 'core') {
            $path = DIR_BASE_CORE . '/' . DIRNAME_CLASSES;
        } elseif (is_object($context) && method_exists($context, 'getEntitiesPath')) {
            $path = $context->getEntitiesPath();
        }

        // Register the doctrine Annotations
        \Doctrine\Common\Annotations\AnnotationRegistry::registerFile(DIR_BASE_CORE . '/vendor/doctrine/orm/lib/Doctrine/ORM' .'/Mapping/Driver/DoctrineAnnotations.php');
        \Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Application\Src', DIR_BASE.'/application/src');

        // Create manualy the next function $config->newDefaultAnnotationDriver()
        // To get a instance of the cached AnnotationReader
        \Doctrine\Common\Annotations\AnnotationReader::addGlobalIgnoredName('package');
        $annotationReader = new \Doctrine\Common\Annotations\AnnotationReader();

        // Silent error handling of not recognized annotions
        //$annotationReader->setIgnoreNotImportedAnnotations(true);

        // add different annotations to the ignoreing list
        $cachedAnnotationReader = new \Doctrine\Common\Annotations\CachedReader($annotationReader, $cache);
        $driverChain = new \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain();

        // Register Gedmo Doctrine Extensions

        // Register Concrete5 customized classes in application with YamlDriver
        $yamlDir = DIR_CONFIG_SITE.DIRECTORY_SEPARATOR.'yaml';
        $yamlDriver = new \Doctrine\ORM\Mapping\Driver\YamlDriver($yamlDir);
        $driverChain->addDriver($yamlDriver, 'Application\Src');

        // Legacy
        // Collect Mapping Info of the Concrete5 core wiht the simple annotation reader and add it to the driver chain
        // You can pass multiple paths/directories as array
        $reader = new \Doctrine\Common\Annotations\SimpleAnnotationReader();
        $reader->addNamespace('Doctrine\ORM\Mapping');
        $cachedSimpleAnnotationReader = new \Doctrine\Common\Annotations\CachedReader($reader, $cache);

        // Acts as the main AnnotaionDriver
        $annotationDriver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($cachedAnnotationReader, DIR_BASE_CORE . '/' . DIRNAME_CLASSES);
        $driverChain->addDriver($annotationDriver, 'Concrete\Package\MyTestPackage');

        // Acts as an lecay AnnotationDriver -> Annotions of the core are mapped all automatically to \Doctrine\ORM\Mapping
        $simpleAnnotationDriver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($cachedSimpleAnnotationReader, DIR_BASE_CORE . '/' . DIRNAME_CLASSES);
        $driverChain->addDriver($simpleAnnotationDriver, 'Concrete\Core');

        // Register Gedmo Doctrine Extensions
        // 1.) AbstractMapping vs Mapping @See https://github.com/Atlantic18/DoctrineExtensions/issues/790
        \Gedmo\DoctrineExtensions::registerMappingIntoDriverChainORM($driverChain, $cachedAnnotationReader);
        //\Gedmo\DoctrineExtensions::registerAbstractMappingIntoDriverChainORM($driverChain, $cachedAnnotationReader);

        // Inject DriverChain into the doctrine config
        $config->setMetadataDriverImpl($driverChain);

        // Concrete event
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('connection', $connection);
        $event->setArgument('context', $context);
        $event->setArgument('configuration', $config);
        Events::dispatch('on_entity_manager_configure', $event);
        $config = $event->getArgument('configuration');

        // Get EventManager
        $evm = $connection->getEventManager();

        // Register the needed Gedmo extensions
        self::registerEvents($evm,$cachedAnnotationReader);

        // Inject the ORM EventManager into the EntityManager so ORM Events
        // can be triggered.
        return EntityManager::create($connection, $config, $evm);
    }

    /**
     * Attach event listeners to the event manager
     *
     * return \Doctrine\Common\EventManager
     */
    protected static function registerEvents(\Doctrine\Common\EventManager $evm, \Doctrine\Common\Annotations\CachedReader $cachedAnnotationReader){
        //$cachedAnnotationReader = new \Doctrine\Common\Annotations\CachedReader(new \Doctrine\Common\Annotations\AnnotationReader(), new \Doctrine\Common\Cache\ArrayCache());

        // Sluggable
        $sluggableListener = new \Gedmo\Sluggable\SluggableListener();
        $sluggableListener->setAnnotationReader($cachedAnnotationReader);
        // Register custom Sluggifiers (Replace Special Characters)
        $callable = array('\Application\Src\Product\Model\Event\Transliterator', 'replaceSecialSigns');
        $sluggableListener->setTransliterator($callable);
        $evm->addEventSubscriber($sluggableListener);

        // Tree
        $treeListener = new \Gedmo\Tree\TreeListener();
        $treeListener->setAnnotationReader($cachedAnnotationReader);
        $evm->addEventSubscriber($treeListener);

        // Timestampable
        $timestampableListener = new \Gedmo\Timestampable\TimestampableListener();
        $timestampableListener->setAnnotationReader($cachedAnnotationReader);
        // The issue is here with SimpleAnnotationReader for Concrete and AnnotationReader for Gedmo
        $evm->addEventSubscriber($timestampableListener);

        // and so on....
    }

@Kaapiii sorry for the delay. The solution you detail about using the annotation reader and the simple annotation reader in a driverchain sounds great. Very smart about using the package minimum required version check to determine which to load sounds great as well.
Do you think you'd be able to whip this into a pull request against the release/8.0.0 branch?

@aembler  No Problem. I'll add the changes to a pull request for the release/8.0.0
To prevent a missunderstanding, i have listed the changes, which I think should be included in the pull request:
Goal of pull request:

EntityManager is no more context specific, but connection specific.  Concrete5 uses by default one single EntityManager in the entire Concrete5 installation. Exception: If a new database needs to be added, then there will be created a new EntityManager
Core  and packages entities will use the "normal" annotation reader
no compatibility break for packages using annotations
Add support for Yaml annotations for packages and the application folder
Add ORM EventManager to EntityManager + provide a way so packages can register EventListeners to the ORM EventManager

Details:

Change Concrete/Core anotations to the "ORM"
Update the EntityManagerFactory with DriverChain, AnnotationDriver, SimpleAnnotationDriver, XMLDriver, YamlDriver
Change package installation and update process, so packages can register their entities to the single EntityManager, based on configuration settings (minimum required version and ORM Driver)
Handle the schema changes of entities during a package update -> for new drivers
Provide the fallback mechanism for plugins still using the SimpleAnnotationReader
Developers need to be able to register/create a new separate EntityManager for Packages and the application folder (new database connection)
Vendor update -> Yaml Driver
Proxies of all Entities and all EntityManagers are created and saved in application/config/doctrine/proxies

Let me know, if it’s okay to add all these changes in one pull request.

Yes, that all sounds great. Oh, and FYI: some of these may already be in place in release/8.0.0 (specifically the single entity manager.) We needed that because in 8.0 attributes are run out of Doctrine – and they use entity inheritance, meaning that if the core and its entities use a single entity manager and the packaged attributes used a different one there'd be no way for our inheritance to work. So I had to already make a single entity manager work in release/8.0.0.
You may already know this but I thought I'd mention it.

I read somithing about the single entity manager in #3495. But I didn't know, about the new inheritance struff.

One thing I realized about the current single entity manager approach. Not directly related to this issue but I thought this is close enough.
Currently if you e.g. update a pacakge, the entity definitions are loaded for every entity, even if they are not related to that package. They are compared against the current database schema based on which the database is updated.
This would not necessarily sound like a big issue but it might become one due to #3634. If that is fixed, then I think this is fine, although it still introduces a slight performance hit (i.e. comparing all the entity tables against current schema VS comparing a couple of package tables against current schema).
What I basically mean by this is that should we think of separating the table installation logic so that during package installations, only the database tables defined by that package are affected?

Thankyou for pointing this out.
The following only applies for the branch 8.0.0.
During the package installation and the update process a new "temporary" EntityManager is create,
which contains only the metadata for the specific package. This code is located in the new PackageService class, and was added before this issue was created.
With this approach there won't be any unintented updates or installations of other pachages.
However the issue with different information sources for the database tables and the related overriding potential (Concrete xml and Doctrine entities) still exists.

If a package contains entities the only source for the schema should be the entity metadata files or  the entity annotations.  If a additional table is needed with no entity bound to it, the Concrete5 db.xml file can be used (like block settings).  To prevent some unitented behavior the package update process and the packages installation should be updated.

The schema changes of the entity metadata should be applied first.
If the db.xml file accidentally also contains some information of a table mapped by entities the update/installation should be skipped.
This behavior needs to be added to the documentation

Any thoughts on this?

During the package installation and the update process a new "temporary" EntityManager is create,
which contains only the metadata for the specific package.

Ok, great. So this shouldn't be a problem after all.
For the DB definition format, I think it's up to the developer as discussed in some other threads as well. I do agree that we should primarily recommend using the entities for better interoperability.
For the other problem itself, I think the priority should be to fix this in the core, not for the packages.
For the suggested path to fix this, I think your suggestion sounds very good. But can we apply it to the core as well or should we just remove the extra table definitions from the core's db.xml and match the entity column definitions with the db.xml (i.e. make nullable columns nullable as shown in #3634).

And actually, we should probably anyways update the core entity definitions to match the db.xml in case the suggested approach is implemented because it would have direct impact on the database schema.

The metadata drivers for packages and the application folder are created based on settings stored in the config file under application/config/generated_overrides/concrete.php. Are there situations where this file is deleted or regenerated? If so, where do I find the functionality in the core.

Yeah, that file is generally considered to be ephemeral. Or, rather, nothing in it should break if you decide to remove it, it should all just go back to the defaults. If you look in concrete/config/concrete.php, you'll see all the default values for things. Do you mean for settings like "concrete.doctrine_dev_mode" ?

If a package is installed or updated a configuration entry is created. At the moment this looks basically like this:
// part of a configuration array
'metadatadriver' => array(
        'annotation' => array(
            'legacy' => array(
                'entity_example' => array(
                    'namespace' => 'Concrete\\Package\\EntityExample',
                    'paths' => array(
                        '/var/www/projects/concrete5800/web/packages/entity_example/src',
                    ),
                ),
            ),
            'default' => array(
                'entity_example_annotations' => array(
                    'namespace' => 'Concrete\\Package\\EntityExampleAnnotations',
                    'paths' => array(
                        '/var/www/projects/concrete5800/web/packages/entity_example_annotations/src',
                    ),
                ),
            ),
        ),
        'yaml' => array(
            'kaapiii_slider' => array(
                'namespace' => 'Concrete\\Package\\KaapiiiSlider',
                'paths' => array(
                    '/var/www/projects/concrete5800/web/packages/kaapiii_slider/config/yaml',
                ),
            ),
        ),
    ),

The
But if application/config/generated_overrides/concrete.php is a ephemeral file, I have to reconsider the storage location. I guess the best storage choice  would be. application/config/database.php As the information is application specific, database related and not ephemeral. Or should I store this in a separete configuration file.

We could use $package->getDatabaseConfig() (I believe that's the method).
It retrieves the database config saver rather than the file config saver –
which isn't something that's as easy to nuke.
It's not ephemeral in the sense that we will randomly delete it like the
files/cache/ directory – but it's probably not a great practice to store
something that's critical in the generated_overrides/ directory.
On Mon, Mar 28, 2016 at 10:42 AM, Kaapiii<EMAIL_ADDRESS>wrote:

If a package is installed or updated a configuration entry is created. At
the moment this looks basically like this:
// part of a configuration array
'metadatadriver' => array(
'annotation' => array(
'legacy' => array(
'entity_example' => array(
'namespace' => 'Concrete\Package\EntityExample',
'paths' => array(
'/var/www/projects/concrete5800/web/packages/entity_example/src',
),
),
),
'default' => array(
'entity_example_annotations' => array(
'namespace' => 'Concrete\Package\EntityExampleAnnotations',
'paths' => array(
'/var/www/projects/concrete5800/web/packages/entity_example_annotations/src',
),
),
),
),
'yaml' => array(
'kaapiii_slider' => array(
'namespace' => 'Concrete\Package\KaapiiiSlider',
'paths' => array(
'/var/www/projects/concrete5800/web/packages/kaapiii_slider/config/yaml',
),
),
),
),
The
But if application/config/generated_overrides/concrete.php is a ephemeral
file, I have to reconsider the storage location. I guess the best storage
choice would be. application/config/database.php As the information is
application specific, database related and not ephemeral. Or should I store
this in a separete configuration file.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5/issues/3554#issuecomment-202502260

OK, thanks. I'll give it a try.


Pass RUSTFLAGS when we learn about target info

This should help us learn about target_feature additions!
Closes #2628

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)

r? @brson

@bors r+

:pushpin: Commit c25c1ae has been approved by brson

:hourglass: Testing commit c25c1ae with merge 2d84f3e...

:sunny: Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


Create CHEF form to track tickets

Issue:
Spencer at the TSC used to track SPAR issues or suggestions for improvements in JIRA. JIRA is not the most user friendly application and other users at the TSC haven't used it before or don't have access to it.
Solution:
A CHEFS form, or something equivalent could allow  for TSC users (or other SPAR users) to log improvement suggestions as they thing of them or notice issues. Submissions could then be sent to the FSA Delivery Team 2 email or to the PO

Created a survey monkey form here: https://www.surveymonkey.com/r/XXQJQ3X


Fix/david/image download

Task/Issue URL: https://app.asana.com/0/715106103902962/1200473921845317
Description:
Currently we've got an average of 90k occurrences per day where we don't properly detect the file type and so a generic .bin extension is given, making not possible for the user to locate and/or open the file
This PR solves the issue of detecting the content-type of the file by making a HEAD request to the file URL and extracting the content-type and content-disposition if present
Steps to test this PR:

Make an image query to SERP
Download the image
You'll download a png / jpg image instead of a .bin file

Internal references:
Software Engineering Expectations
Technical Design Template

Thanks @aitorvs  @marcosholgado


Test improvements

Context
Lots of changes to be made, but it's hard to be confident that our changes don't break things without tests. This is my first attempt at improving test coverage in this codebase.
Notable changes

NPM dependencies updated
New dev dependency: Sinon—used for mocking/stubbing things in our test suite
Rubocop typescript class now exports the Rubocop class definition by default. This means instead of import { Rubocop } from './rubocop', you now use import Rubocop from './rubocop'
Change the function signature of the Rubocop typescript class to allow injection of process.platform—the allows for easier testing of how this class behaves on different operating systems
Add test coverage for Rubocop typescript class constructor

@misogi Let me know what you think! Next on my list for test coverage is Rubocop.execute and Rubocop.resetConfig. Sadly, each of those methods are pretty complex and will likely require a lot of tests to fully verify. I'll probably end up making separate PRs for each of them.

@damien Great PR! I'm grad to improve tests.
You are right. We should create separate PR for other test. Some methods like Rubocop.execute are very complicated. We need to refactor/divide huge methods.  I'm sorry about implement those methods without considering testability.
We are happy if you contribute to more test improvement by other PR. But you could give priority to bundler support.

This PR will merge soon. Because there is no need to release.

@misogi Bundler improvements are high on my list or priorities for work I'm doing in this extension, I'm just nervous changing things without knowing how all the different components of the codebase interact with each other.
After adding these tests it looks like most of the changes to support Bundler are likely going to be in Rubocop#resetConfig, Rubocop#autodetectExecutePath, and Rubocop#execute. It's a lot of code to touch, and none of that code has test coverage. :(


nixos/httpd: rewrite module to support overridable virtual hosts

Motivation for this change
The NixOS httpd module has fallen behind the nginx module in every possible way. The module has received no contributions of substance aside from myself in the past several years now - partly because the code base is overly complicated, but also partly because the module is so limited in functionality compared to nginx. Few people have motivation to use this module as is.
The biggest problems with the httpd module, in contrast with nginx, which cannot be fixed without breaking backwards compatibility are:

the virtualHosts option is of type listOf instead of attrsOf which doesn't allow users to modify a virtualHost once created
each virtualHost defined is specific to either http or https which makes it extremely difficult to implement integration with security.acme.certs
the servedDirs and servedFiles options suffer the same problem of being a listOf instead of attrsOf which means once defined no modifications can be made

Things not yet done

[ ] Rewrite the servedDirs and servedFiles options to use attrsOf instead of listOf
[ ] Continue to cleanup the code
[ ] Write comprehensive documentation for the new module including a wide variety of examples
[ ] Write a migration guide for any existing users, with explanation of how to (temporarily) opt out of these changes
[ ] Adjust any other modules in NixOS which use services.httpd, and update existing modules to take advantage of new features
[ ] Extensive testing, including updates to nixos/tests/

Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @

Example of current test configuration, keeping in mind I haven't rewritten the servedDirs or servedFiles options yet, so subject to change:
{
  imports = [ /home/aaron/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix ];
  disabledModules = [
    "services/logging/awstats.nix"
    "services/web-servers/apache-httpd/default.nix"
  ];

  # run httpd as a non root user for enhanced security
  systemd.services.httpd.serviceConfig = {
    User = "wwwrun";
    AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SETGID CAP_SETUID" ];
    CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" "CAP_SETGID CAP_SETUID" ];
  };

  services.httpd = {
    enable = true;
    enablePHP = true;
    adminAddr =<EMAIL_ADDRESS>    logPerVirtualHost = true;
    virtualHosts = {
      "test1.example.org" = {
        documentRoot = "/var/www/test1.example.org";
        addSSL = true;
        enableACME = true;
      };
      "test2.example.org" = {
        documentRoot = "/var/www/test2.example.org";
        forceSSL = true;
        useACMEHost = "test2.example.org";
      };
    };
  };

  security.acme.certs."test1.example.org" = {
    user = "wwwrun";
    group = "wwwrun";
    webroot = "/var/lib/acme/acme-challenges";
  };
}

cc @Izorkin as potentially interested party. If this PR is merged I think https://github.com/NixOS/nixpkgs/pull/56304 might no longer be required.

I'm breaking this into several smaller PRs which are more targeted.


ct-aft-account-provisioning-customizations fails with IAM Create Role issue

Terraform Version & Prov:
AFT Version:
1.9.1
Terraform Version & Provider Versions
terraform version
v1.3.6

Bug Description
I pushed those files here on my CodeCommit and I was expecting to have the resources getting created but I got an access denied error.
To Reproduce
Steps to reproduce the behavior:

Push those files to the repo and let the codepipeline run.

Expected behavior
Step function and role created.
Related Logs
Terraform will perform the following actions:
306 |
307 | # aws_iam_role.aft_states will be created
308 | + resource "aws_iam_role" "aft_states" {
309 | + arn                   = (known after apply)
310 | + assume_role_policy    = jsonencode(
311 | {
312 | + Statement = [
313 | + {
314 | + Action    = "sts:AssumeRole"
315 | + Effect    = "Allow"
316 | + Principal = {
317 | + Service = "states.amazonaws.com"
318 | }
319 | },
320 | ]
321 | + Version   = "2012-10-17"
322 | }
323 | )
324 | + create_date           = (known after apply)
325 | + force_detach_policies = false
326 | + id                    = (known after apply)
327 | + managed_policy_arns   = (known after apply)
328 | + max_session_duration  = 3600
329 | + name                  = "aft-account-provisioning-customizations-role"
330 | + name_prefix           = (known after apply)
331 | + path                  = "/"
332 | + tags_all              = {
333 | + "managed_by" = "AFT"
334 | }
335 | + unique_id             = (known after apply)
336 |
337 | + inline_policy {
338 | + name   = (known after apply)
339 | + policy = (known after apply)
340 | }
341 | }
342 |
343 | # aws_iam_role_policy.aft_states will be created
344 | + resource "aws_iam_role_policy" "aft_states" {
345 | + id     = (known after apply)
346 | + name   = "aft-account-provisioning-customizations-policy"
347 | + policy = (known after apply)
348 | + role   = (known after apply)
349 | }
350 |
351 | # aws_sfn_state_machine.aft_account_provisioning_customizations will be created
352 | + resource "aws_sfn_state_machine" "aft_account_provisioning_customizations" {
353 | + arn           = (known after apply)
354 | + creation_date = (known after apply)
355 | + definition    = jsonencode(
356 | {
357 | + StartAt = "Pass"
358 | + States  = {
359 | + Pass = {
360 | + End  = true
361 | + Type = "Pass"
362 | }
363 | }
364 | }
365 | )
366 | + id            = (known after apply)
367 | + name          = "aft-account-provisioning-customizations"
368 | + name_prefix   = (known after apply)
369 | + role_arn      = (known after apply)
370 | + status        = (known after apply)
371 | + tags_all      = {
372 | + "managed_by" = "AFT"
373 | }
374 | + type          = "STANDARD"
375 |
376 | + logging_configuration {
377 | + include_execution_data = (known after apply)
378 | + level                  = (known after apply)
379 | + log_destination        = (known after apply)
380 | }
381 |
382 | + tracing_configuration {
383 | + enabled = (known after apply)
384 | }
385 | }
386 |
387 | Plan: 3 to add, 0 to change, 0 to destroy.
388 | aws_iam_role.aft_states: Creating...
389 |
390 | Error: creating IAM Role (aft-account-provisioning-customizations-role): AccessDenied: User: arn:aws:sts::XXXXXXXXX:assumed-role/AWSAFTAdmin/AWSAFT-Session is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::XXXXXXXX:role/aft-account-provisioning-customizations-role because no identity-based policy allows the iam:CreateRole action
391 | status code: 403, request id: 43f65746-716f-4c17-8ddc-cb305a744da8
392 |
393 | with aws_iam_role.aft_states,
394 | on iam.tf line 4, in resource "aws_iam_role" "aft_states":
395 | 4: resource "aws_iam_role" "aft_states" {
396

My bad working now, I had to adapt the provider.jinja file. The role_arn must be set to "{{ aft_admin_role_arn }}"


Basic HTML and HTML5: Define the Head and Body of an HTML Document - Hangs indefinitely if missing a backslash.

I know I wrote the code wrong initially, but I believe the RESPONSE to that incorrect code to be the bug here. The whole time I've been doing freecodecamp, it's been telling me, when you hit the 'Run the test' button, what is wrong in the bottom of the page. Standard stuff. I got to this segment and when I hit the test button, the browser window (google chrome), would cease to function. No forward, back, refresh etc. The middle test text would just read 'running tests'. I had to close the browser tab in order for it to restart. The first time, I lost my data on 5 previous sections which I had to re-do. No big deal, I knew how to do them quickly now. I did this 5 more times with various losses. Below is the code I wrote.

Note the lack of / on  For some reason, that creates a hang/freeze in the website when attempting to test that section. I fixed the code to reflect the proper  and it was accepted.

Hi, thanks for the report.
Please open a fresh issue adding all the details that were requested to you on the template. It will help us understand and address your concern.
The above report is quite vague and doesn't help us much in investigation or reproducing the issue.
Help us help you :)
Thanks.


Ability to display exported data

Ability to display the exported data in Spring Cloud Azure starter monitor from the APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL environment variable.
The API surface has also been reduced.

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.spring:spring-cloud-azure-starter-monitor