Capturing WebcamSource freezes on Remote Peer's offer

Describe the bug
Hi guys, I have problems with the "WebcamSource" behaviour during execution in HoloLens 2.
Here is the description of one of them, that is the easiest to reproduce: when the webcam is capturing and the remote peer (in my case the Unity Editor) creates the offer to this peer, then the capture freezes (the texture and the statistics of the "LocalVideoPlayer" stop to update).
I also made two different tests: in the first one, I assigned the "RemoteVideoPlayer" to the same media line of the "WebcamSource" in one, and in the second one, to the other media line. I got the same result: I received the streaming from the Unity Editor to the RemoteVideoPlayer in HoloLens 2 but not vice versa, and the capture in HoloLens 2 still froze.
To Reproduce
Steps to reproduce the behaviour:

Open the "VideoChatDemo" scene.

Click on the "PeerConnection" GameObject.

Set the correct IP into the HTTP Server Address field of the "NodeDssSignaler" component.

(Optional) Invert the "LocalPeerId" and "RemotePeerId" strings.

Build the UWP solution.

Deploy the new solution to HoloLens 2.

In Unity, in the "PeerConnection" GameObject, invert the "LocalPeerId" and "RemotePeerId" strings.

Start the signaling server.

Start the app in HoloLens 2. Notice that the "LocalVideoPlayer" works.

Start the Play Mode in Unity Editor.

Create the offer from the Unity Editor Game view.

See the error in HoloLens 2: the "LocalVideoPlayer" is frozen.

Expected behavior
The "LocalVideoPlayer" doesn't freeze and the HoloLens 2 capture is sent to the Remote Peer (in case the "LocalVideoPlayer" and the "RemoteVideoPlayer" are in the same media line).
Environment
Peer 1

Platform: UWP
Architecture: HoloLens 2
Unity version: 2019.2.21f1
Target device: Unity Editor
Peer 2
Platform: Unity Editor
Architecture: x64
Unity version: 2019.2.21f1
Target device: HoloLens 2

Additional context
In another scene I made, I also noticed a behaviour that I couldn't reproduce in your scene, but exists in mine, and is about the fact that when the "WebcamSource" is frozen and I call the method to shut it down before uninitializing the PeerConnection, then the app crashes with this error message:

Consider that, in this other scene, the WebcamSource is not assigned to any media line because I'm using it only to populate a "VideoPlayer" instance in order to frame it and share to the other peer using a "SceneVideoSender" component.

I hope I gave you all the information you need to investigate. Please let me know if you need to know anything else!
Thanks for your help,
Riccardo

Hi @CabbageWarrior,
I can't reproduce this behavior on HoloLens 2, but I want to confirm that you are using some Release build of mrwebrtc.dll and the internal Google WebRTC implementation. In Debug, things can get very slow and the update rate drop to 1-2 FPS only, even lower, which would appear has a (temporary) freeze. Note that this is irrelevant of the configuration selected in the IL2CPP generated solution; this one adds some overhead in Debug but it is a smaller overhead.
The crash you have experienced in the last part is a known issue, and not much we can do about it : when video capture gets delayed too much, the internal Media Foundation pipeline may timeout, in which case the capture will return an error which is converted to an exception by WinRT (this is the code we see in the screenshot). This is an intrinsic limitation of Media Foundation, and should never happen under normal conditions (the capture timeout is fairly large, I don't know exactly but something like 10 seconds without a single frame delivered, which obviously means something else went awfully wrong and needs to be fixed).

Hi @djee-ms,
thanks a lot for your reply.
I confirm I built the DLL from commit https://github.com/microsoft/MixedReality-WebRTC/commit/14c92e936cfc81108094ffd7436e15c1732eaa73. I have to update it with your new commits; sorry, I forgot to mention it.
So, about the crash part, the problem is at a more low-level part than the WebRTC one, right?
In my case I'm sure it's not a timeout problem because it happens when the WebcamSource component (and the LocalVideoPlayer) is frozen, but the recording indicator is still active, and I execute the "StopCapture" method. I'll try to gain more info about my pipeline in the next days.
The freeze happens in this way: my WebcamSource is capturing correctly, then one Remote Peer disconnects. It doesn't happen every time (I have to get more data for this issue too), but when it happens, it's 100% sure that my next "StopCapture" execution will make my instance crash.
The thing that increases my headache is that I'm not able to figure out how all these WebRTC operations may have a consequence on the webcam, even if I didn't connect it to anything. If I don't do connection operations, my webcam switches on and off without any problem. (I'm not assuming that it's a problem of your code, I'm only confused by this "strange" behaviour" xD)
Consider that, at the moment, all these operations I do are executed by UI buttons that I press at runtime, connected to prefabs that contain the PeerConnections: I create and initialize them (by giving to every signaler its correct couple of Local and Remote Peer Ids), I create all the single connection offers, and I uninitialize and destroy them when the relative Remote Peer ends its instance. Anyway, the time between the critical operations that make my instance die forever is less than 10 seconds; that's why I think that it's not a timeout problem.
I hope I could give you more details about these problems when I understand with more precision which are the methods I call that generate these problems.
Thanks again for your help and your patience. I'll also update the mrwebrtc.dll in order to check if something changes!

Hi @djee-ms, I confirm that I updated the DLLs to commit https://github.com/microsoft/MixedReality-WebRTC/commit/1a58b7be6c9f4cbfac9d55e22bef3b75e7a18530 but the problem persists.
I continue with my investigation. Do you know eventually which is the correct place in which I can open an issue about the crash problem?
Thank you very much for your time!

Hello, I am having similar issues that I am exposing on:
HoloDevelopers
I was able to identify which part of the code is blocking the webcam.
When I have two PeerConnections, during the second negotiation the peerConnection2.Peer.CreateAnswer () method done on HoloLens side stops the image. I also reproduce the crash when I try to disable the webcam after the freeze. Of course, peerConnection2 is receive only, but I have the impression that 'CreateAnswer ()' is trying something with the webcam. A workaround that I have found: disable the WebcamSource -> negotiate with peerConnection2 (receiveOnly) -> activate the WebcamSource -> negotiate with peerConnection1 (send and receive).


Added Earlopain to maintainers list

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Maintainer invitation sent to @Earlopain

Got it and accepted, thanks everyone (:

Got it and accepted, thanks everyone (:


Leaderboard: Add an Overview leaderboard

Instead of having either English or Multilingual as the default why not have "overview" as the default?
Something like:

Model Name
Multilingual
English
LongEmbed
...

M1
...

M2

(this does not need to be added for the first version of the benchmark)

That's an interesting idea! When we think of a leaderboard, we think of rankings. Would this be sort of a "meta" leaderboard, where the models have a rank based on all the benchmarks, e.g. a borda count over all benchmarks? Or based on one of multilingual or English?
If it's the former, one probable scenario I'm not sure how to deal with is with missing values, i.e.  if that model does not have values for a particular benchmark(s).
Otherwise, we could enable sorting models based on each benchmark available. And users can click into each benchmark's breakdown.


Updated to 0.12

Signed-off-by: Brooks Townsend<EMAIL_ADDRESS>

non blocking: is there any way we can automate this stuff?

@mattwilkinsonn I am sure there is, but we just haven't put the effort into it yet. Also, I should add you as a maintainer on this repo

@mattwilkinsonn yeah I'd love to automate this and the homebrew repository

I can work on the homebrew automation


Use npm instead of yarn

Small changes to make using npm our default instead of using yarn including:

replaced yarn commands with npm ones
removed yarn.lock
added package-lock

Looks good to me!


Add a POST endpoint to create or update articles in World Anvil article from within a remote application like Foundry VTT.

Example use cases

session notes. During a game session players can use the in-game Foundry journal to take notes, but at the end of the session they could use a button to create a new World Anvil article.

Actors. During a game session, you might create some NPCs on the fly as the heroes encounter characters you had not yet planned. It would be great to be able to, after the session, push those new characters to World Anvil so they become part of your world lore and you can remember them later.

From the WorldAnvil documentation there are both POST and PATCH endpoints for articles
https://www.worldanvil.com/api/aragorn/documentation
POST is for creating new articles, PATCH for updating existing ones
The biggest issue IMO for updating articles would be resolving conflicts in case the same article was modified both on WA and in Foundry

To not to have to deal with conflicts ATM I suggest

Storing last update time of each imported article, using "update_date"->"date" field
If the update time wasn't changed since the last sync check if the content was modified
If update time wasn't changed but the content was modified it means the user has changed content locally: push local changes to WA
If the update time was changed move local content to a "Last local version" page and update the local article with version from WA, also notify the user about this and make them resolve any conflicts manutally

This can be further improved by also having last sync content stored invisibly to the user and check if the current content is different than the last sync content - if it's the same then the user didn't make any changes locally to the article
Also this functionality should be disabled by default as it can potentially lead to issues. This includes but it's not limited to 1. Not being able to differentiate between changes made by GM and by Players if they have edit access to an article, 2. Irreversibly deleting part of content from WA by making mistake change on Foundry, 3. Potentially exploit the WA EULA - players being able to modify the articles means the user is de facto increasing the number of article authors - but everything will be published under one, GM, name
Another take is to have a little bit less automation, and add a new button to push changes from local to WA. This could first fetch the current article and check the update date and if the update date was modifies since the last sync - prompt the user that they might override some changes from the WA and if they're sure they want do it
Also worth noting is that this shouldn't be a very common issue, especially if we tell the GMs to automatically sync changes from WA when they start a world (or even add a feature to do it upon world startup), to minimize the chances of someone editing the same entry both in WA and Foundry at the same time

Hi @DawidIzydor thanks for pointing that out - these endpoints must have been added within the last year. I'll update the title of the issue to reflect the next steps being to make use of them. I probably won't have time to work on this in the near future, but I'm open to receiving contributions from capable community devs who would like to see this support added.


updated readme

auth changed to authenticator

auth changed to authenticator

@tamojit-123 thanks for the PR!  I am going to close it though because "Authenticator" is not the term we want to use, we use "Auth" on purpose.


[DDW-880] Forward data attributes to input field components

This PR forwards html attributes to input field to be used by integration tests.
Added htmlFor attribute to label node to create a relationship between label and form element id.
Username
<input id="username-input" />

import {screen} from '@testing-library/react'
const inputNode = screen.getByLabelText('Username')

Support data-* and aria-* attributes as well:

import {screen} from '@testing-library/dom'
const element = screen.getByTestId('custom-element')

This will need a version bump for react-polymorph, have you been added to the npm package as an author?


Update the posthog-js dependency to the latest and keep it up to date

Currently the posthog-js dependency is a few versions behind.
This updates it to the latest version and uses ^ to keep it up to date.
(Keeping as a draft while I verify this won't break anything)

Thanks @lharries !
I'll also test it 👌

@Ismaaa thanks for making this package! Bumped up the repo to the latest version. I've checked and it should work well.


Fix some typescript issues

Fixes around 30 or so typescript errors. No runtime changes.

FYI, in case anyone is wondering about the no-undef TODO: Typescript fully covers this rule and recommends it to be disabled. Currently the rule raises false-positives for global type annotations like JQuery. So my plan is to fix all tsc errors and then enable tcs and disable this rule. Until then, type annotations like JQuery can only be used with a accompanying // eslint-disable-line.


simple implementation of IsDarkModeCSEnabled switch

just a naïve implementation of an "enable/disable switch"
feel free to reject the PR it if I missed anything.
I am aware that toggling the switch while some forms are already displayed would lead to chaotic results but I would leave it up to  the developer's intelligence and responsibility...

Thanks for the code, i will check it.

Actually.... I am not at my PC right now and checking the code from my phone is uncomfortable. But I realized: if there are any public properties whose values the user might want to check, than this simple implementation would not be sufficient and they might not be correctly set up.


[PDI-18803] - Shell Job entry Argument List too long

Based from https://github.com/pentaho/pentaho-kettle/pull/7603
@ppatricio
@ssamora

:white_check_mark: Build finished in 32m 1s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 4982, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:white_check_mark: Build finished in 33m 1s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 4983, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


make mesos connector singleton

Signed-off-by: kevin xu<EMAIL_ADDRESS>

Current coverage is 44.55% (diff: 100%)

Merging #171 into master will increase coverage by 0.74%

@@             master       #171   diff @@
==========================================
  Files            16         16
  Lines          8950       8950
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3921       3988    +67
+ Misses         4022       3937    -85
- Partials       1007       1025    +18

Powered by Codecov. Last update 5a4b82d...d328d98

+1


Galleria

I am using Galleria (http://galleria.aino.se/docs/1.2/) which utilizes jQuery and I would like to be able to use cufon in to format the fonts.  But for some reason I can' t get the cufon to replace a class that is defined in galleria.  I am using this for the cufon

and I have tried a variety of other classes and id's, e.g.
Cufon.replace(.'galleria');
Cufon.replace('#galleria');

but the font won't change
Here is the script for Galleria (with a space behind lt so it will show the code)
< div id="galleria">
        < a href="/images/Showcase/Image.jpg">
           	< img title="Some Title "
        	     alt=""
        	     src="/images/Showcase/Image.jpg">
    < /a>

</ div>
< script>
// Load the classic theme
Galleria.loadTheme('/_scripts/galleria/themes/classic/galleria.classic.js');
// Initialize Galleria
$('#galleria').galleria({
// put add'l options here
autoplay: 5000, // will move forward every 5 seconds
clicknext: true,
pauseOnInteraction: false,
transition: 'fade',
_toggleInfo: false,
lightbox: true
});
</ script>
I have tried to load cufon before and after the galleria and jQuery but it doesn't seem to help..
Thanks in advance to  anyone that can help
GWC

That won't work.   Galleria (from what I can tell) is swapping in the text dynamically into:

Dynamic Text Title
Dynamic Text Description

so in other words, to get it to work you'll need to add javscript function call to Cufon to do a cufon.refresh(); or a cufon.replace(); added to the function in Galleria that manages the buttons or timed delay that swaps the images and text.


Persistent term benchmark

Hey 👋
I wondered if you have a benchmark to compare to this approach to a persistent term?

Seconded. @Adzz have you run any benchmarks?


chore(package): update babel-preset-env to version 1.3.2

Closes #39
https://greenkeeper.io/

Coverage remained the same at 73.394% when pulling 31cf6ab7a8120bc0f29f9f4851223d3e7d9d4219 on greenkeeper/babel-preset-env-1.3.2 into 97df512b1bc01b39aad38dc3f628a924fc7e75d3 on master.


Bypass downloading files locally after completion

Is your feature request related to a problem? Please describe.
I am storage-constrained on my computer and do not have the space to have local copies of files downloaded to put.io locally.
Describe the solution you'd like
Skip the local downloading of files from put.io to the configurable storage location.
Describe alternatives you've considered
It would be cool to be able to transfer completed files to Dropbox/Google Drive!

I'll implement the option to not download. The issue however is that your radarr/sonarr will not import it either. In this case, I think it'd be best to remove the transfer from put.io (while leaving the files there).
On the Dropbox/Gdrive, I'd recommend using rclone and mounting those in order to write to.

Cool, I think that would work for me. I probably don't need this feature solved then. You can close it out if you'd like

Awesome! I'll do that!


[BUG] Inconsistent Logging of Jax Systems

Describe the bug
Jax system logs look different compared to tf system logs.
To Reproduce
Steps to reproduce the behavior:

Run jax example.
Run tf example.
Compare tensorboard logs.

Expected behavior
Same logs.
Context (Environment)

Additional context

Possible Solution
Use the same env stats wrapper.

This issue has been resolved.


Cannot change styles

Hi @haorenW1025 ,
I am trying to have either Floating / Virtual text styling work properly, but nothing I tried worked yet.
I've set all highlight groups like this (tried a lot of configurations, but nothing works) :
        hi! LspDiagnosticsErrorSign cterm=bold ctermfg=196 ctermbg=235
        hi! LspDiagnosticsError cterm=italic ctermfg=196 ctermbg=235
        hi! LspDiagnosticsErrorFloating cterm=italic ctermfg=196 ctermbg=235

Checking that the values are properly set looks good :
:hi LspDiagnosticsErrorFloating
LspDiagnosticsErrorFloating xxx cterm=italic ctermfg=196 ctermbg=235

However, everything (signs, virtual text, floating, etc...) seems to use an autogenerated style based on my current colorscheme.
Maybe linked to https://github.com/nvim-lua/diagnostic-nvim/issues/43

Hmm I never tries to modified the floating and the sign highlight so I don't know how to do it...Maybe asking it in neovim gitter will help.

I have noticed this behavior as well while developing a colorscheme not too long ago.
My fix was to put all highlighting information at the very last line of my init.vim (here is my exact config; my colorscheme defines the Lsp* highlight groups). I am able to reproduce this issue without diagnostic-nvim consistently by changing the location of my highlight commands. Can you make it happen without diagnostic-nvim too?
It seems like whenever the LSP's settings or changed / when it initializes the highlight groups are reset. If putting the highlight commands at the very end of init.vim also works for you then I'll create an issue on neovim/neovim since that would make two people who can verify the fix.

I've never managed to have the hightlight work when I set them myself.
However, I tried with your colorscheme (highlite), and they indeed worked (as they did work with some other colorschemes like dracula).
Maybe there is something that clears them if they are not defined in the colorscheme ?

Investigated a little more, and I think I got it.
Basically, if the groups are not defined in the color scheme, they are automatically set based on the values in the colorscheme.
I made it work by plugging in an autocmd on the Colorscheme event:
    function! SetLSPHighlights()
        hi LspDiagnosticsError guifg=#FF0000 guibg=NONE guisp=NONE gui=NONE cterm=bold
    endfunction

    autocmd ColorScheme * call SetLSPHighlights()

So far this seems to work as expected.
No relation with diagnostic-nvim, so I'm closing this.

Seems like it's definitely unintended though. The other highlight groups generally don't behave that way… I can imagine the intended behavior is that if the groups were not defined at all (not just by the colorscheme) then a default would be provided. It seems strange to have to use an event just to :highlight something.
I also looked for an issue on neovim/neovim to match this one but all I could find was this which doesn't fit.


Build fails for Android Only

I cloned the repo and when I tried to build it for android, it fails. I don't understand why.
This is my flutter doctor summary:
% flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.2 20G95 darwin-x64, locale en-DE)
    • Flutter version 2.2.3 at /Users/blenassefa/Developer/flutter
    • Framework revision f4abaa0735 (9 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/blenassefa/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] Connected device (3 available)
    • SM A515F (mobile)          • R58NB0K9ZFN                          • android-arm64  • Android 10 (API 29)
    • iPhone 12 Pro Max (mobile) • AF3F7A2B-E1AE-4CC9-BA65-3988FCC5825E • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 92.0.4515.159

• No issues found!

The error is this:
Launching lib/main.dart on SM A515F in debug mode...
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Multiple task action failures occurred:
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.core:core-ktx:1.7.0-alpha02.
        AAR metadata file: /Users/blenassefa/.gradle/caches/transforms-2/files-2.1/a8f84a6d61cecdb8c36d41658fbd6021/jetified-core-ktx-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.core:core:1.7.0-alpha02.
        AAR metadata file: /Users/blenassefa/.gradle/caches/transforms-2/files-2.1/ee509bf32fde46b5d93aab909f9ad4dd/core-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 5s
The build failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetifier to solve the incompatibility.
Building plugin audioplayers...
Running Gradle task 'assembleAarRelease'...

Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/blenassefa/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.18.3/android/build.gradle' line: 25

* What went wrong:
A problem occurred evaluating root project 'audioplayers'.
> Failed to apply plugin [id 'kotlin-android']
   > The current Gradle version 4.10.2 is not compatible with the Kotlin Gradle plugin. Please use Gradle 5.3 or newer, or the previous version of the Kotlin plugin.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

Exception: The plugin audioplayers could not be built due to the issue above.

Thanks in advance :)

@BlenDaniel you need to update your Gradle
Try ext.kotlin_version = '1.3.50' to ext.kotlin_version = '1.4.32'

Thank you veryy much!!


SAK-45987 rubrics: cancel evaluation and don't set total points

https://sakaiproject.atlassian.net/browse/SAK-45987
Also, added console.debug to all methods in sakai-rubric-grading.js

I've got some cypress tests for SAK-45987 ready to commit when this is in.

@ern This is ready to go and is a blocker. Could you have a look? I've got a cypress test PR ready for when this is in, testing  this evaluate/cancel behaviour.


hw spec: add new cpu property: flag

This might need a bit more of a discussion: do we wish to support multiple flags via a single flag key? It's always possible to use and:
and:
  - cpu:
      flag: avx
  - cpu:
      flag: avx2
  - cpu:
      flag: "!= smep"

Ugly, but it should work as expected. Shall we foresee a shortcut, e.g.
and:
  - cpu:
      flag:
        - avx
        - avx2
  - cpu:
      flag:
        - "!= smep"

# Or...
cpu:
  flag:
    - avx
    - avx2
    - "!= smep"

A bit cleaner, but, we do not have a precedent for using operators outside of key/value context, wouldn't this be a bit puzzling? I like the look of it, and people might be interested in matching multiple flags at the same time, so making it easier to list all the flags with less boilerplate would be nice...
We probably don't have any similar field yet, with a key & operator being applied against a set of values - there's just one "memory" size, and just one "CPU model" value, but multiple flags under "CPU flags" "container". When it comes to CPU flags, the operators get slightly different meanings, it might be a good idea to mention it in documentation - it's not about equality, but rather a presence, as in "does have"/"does not have". Also, magnitude comparison probably has no meaning at all, I don't know what would flag: ">= mmx" should match. And the third point WRT docs, when it comes to regex, I for one would expect requirements like flag: "~ awx.* would pick a guest with either of avx, avx2, avx99, etc. being applied to each flag in "CPU flags" set. Any preferences WRT this impression of mine? The behavior should also be mentioned in docs.

@happz yes, matching a regex should be handled as far as I understood.
Either way: a single cpu flag key or a list is ok with me. @psss any thoughts on this one?

So, after yesterday's discussion on tmt hacking meeting:

the last example is deemed to be the best:

cpu:
  flag:
    - avx
    - avx2
    - "!= smep"

documentation should mention flag field applies an implicit "and" to listed flags, i.e. all listed flags must be present (or not present when != operator is used for a particular flag)
documentation should mention only some operators are supported, = and !=. The rest, namely the regular expression operators ~ and !~, are not allowed for now.

@juk would you mind updating the PR, please?


untangle test dependencies

some fixtures aren't wiped properly, so db query will have different results depending on the order of the tests ran; this is introducing unnecessary dependencies and causing some tests to be flaky.

It seems that #231 has fixed this issue. May I close this? @ztsai


[wip] API v2

I think this is pretty much there now. There is one slighly flaky test, the cause of which is eluding me... (See the FIXME in tests/main.js)


@map:click event fired when clicking a marker

Hello,
I'm using a @clickevent in a div inside my marker because there is no native event for the marker. The only problem is that @map:clickis also fired. I've tried using the .stop modifier on my marker's @click event, which works but doesn't propagate the popup opening :
<template>
  <mgl-map
   @map:click="current = undefined"
  >
    <mgl-marker v-for="m in markers">
      <template v-slot:marker>

 current = m.id"
          class="flex flex-col items-center"
        >

      </template

      <mgl-popup>

Hello

      </mgl-popup>
    </mgl-marker>
  </mgl-map>
</template>

Is this intentional or a bug?
Is there another way to detect when a click is made outside a marker?
Could @marker:click and @marker:clickoutside events be added?

Outstanding work on this fork! This fills a crucial gap in the Vue ecosystem. The community has been waiting for something like this - thank you for making it happen! ✨

Hi,
Thanks for reporting this issue.
It seems to be the behavior of maplibre, si not a bug.
I see two way to work with it:

you handle the opening of the popup yourself (with a v-if) inside your custom marker and you stop the propagation.
you look at the event in the map:click handler and you filter out clicks from markers.

I try to not add abstraction over maplibre, as it make thinks difficult to maintain.
Hope it helps,

Thank you for your reply! I understand the need to keep the library maintainable.
Since I'm already using vueuse in my project, I simply used the v-on-click-outside directive and it now works pretty well, without degrading performance.
<mgl-marker v-for="m in markers">
  <template v-slot:marker>

 current = m.id"
      v-on-click-outside="() => current = undefined"
    >

  </template>
</mgl-marker>


Building/Compiling the app on Windows

Hello all,
Is here somebody who can provide a step-by-step guide (for rookies like me) how to compile the app on Windows 10.
I am asking because the official release is 450 commits behind master and that is just too much.
Thanks

Having a document outlining how to step-by-step build the application on Windows would be great!
e.g. a step saying "run npm install to pull in dependencies" assumes people have a CLI environment that's all set up already.
Please include:

Build prerequisites (and how to get the environment set up)
Getting the source
Configuring
Building (to create a binary executable/complete app)

I don't see how adding a "consider this" document addresses this issue. It certainly doesn't provide anything asked for.


feat(color-eyre): Add pre-hook callbacks

This adds the ability to add custom pre-hook callbacks to the panic /
error hook. These callbacks will be called before the panic / error hook
is called and can be used to print additional information or perform
other actions before the panic / error hook is called (such as clearing
the terminal, printing a message, etc.)
Often in an interactive TUI application, the terminal state is set to
raw mode (where newlines do not automatically cause the cursor to move
to the start of the next line), and is in the alternate screen buffer
(which is a separate screen buffer that is used for full-screen apps).
This means that when a panic occurs, the terminal will display the panic
message all janky. By adding a pre-hook callback that restores the
terminal state to normal mode, the panic message can be displayed
properly.
HookBuilder::default()
    .add_pre_hook_callback(Box::new(|| eprintln!("pre-hook callback")))
    .install()?

In a crossterm based app, that might look like the following instead of
the more lengthy code in https://ratatui.rs/recipes/apps/color-eyre/
use crossterm::terminal::{disable_raw_mode, LeaveAlternateScreen};

HookBuilder::default()
    .add_pre_hook_callback(Box::new(|| {
        let _ = disable_raw_mode();
        let _ = execute!(stdout(), LeaveAlternateScreen);
    }))
    .install()?

Discussion moved to https://github.com/eyre-rs/eyre/issues/184

ping

ping

Thank you
I think it is a good addition, and I've asked the other maintainers on discord if they think it is a good idea, have yet to get a response.
@yaahc, would you want this in the library?

Some questions to think about:

should this be able to attach a callback for each hook type (panic / error)?
should this be another method similar to the install method (e.g. color_eyre::install_with_pre_hook_callback(...) instead of having to resort to using the hookbuilder?

It turns out that my mental model for how the eyre_hook worked was a bit wrong (as noted in https://github.com/ratatui-org/ratatui-website/issues/663). I thought it acted similarly to the panic hook (catch unhandled errors at the main program level and run some code then). Instead, this triggers when running the display / debug methods on Report, and it's the Termination implementation of Result that handles the actual writing to the stderr. As such maybe this is the wrong thing to do at this level (at least for the eyre hook).
The use case mentioned in https://github.com/ratatui-org/ratatui-website/issues/663 was that the user wanted to have recoverable color-eyre reports that are presented to the user. These shouldn't run the pre-hook that would have been setup here. This means the code that I suggested would be inserted in the pre-hook makes more sense to put in the main function.
That leaves the panic hook. There's another approach to handling that hook that is to just replace the panic hook with one that calls the pre-hook first. This is probably a better approach. E.g.:
color_eyre::install()?;
let hook = std::panic::take_hook();
std::panic::set_hook(Box::new(move |pi| { pre_hook(); hook(pi); });

I'm inclined to close this on that basis.

I see, so your solution would be to just bubble the error all the way, and log it or in a similar vain handle it

Yes basically.


different ports

If i build the front end with npm i get a web ui. But when i upload my json file i get 404 upload not found because the backend is running on my Apache server port(8080) and nodejs is using port 4200.
404 not found  localhost:4200/upload?filename=someone.json
How can fix this issue?

If you build the backend and serve it, it should also be serving the frontend.

Due to more than 3 months of inactivity, this issue is being closed.
If you think the resolution is in error, please re-open the request with fresh information.


options not working correctly

in geoblog configuration page 3 options added to zip attribute but in view page one option available

Fixed


redact paper keys in log sends

@jzila @heronhaye @jakob223 @maxtaco should I be concerned about this If I was using keybase log send  before this fix landed? Where would I find this in the release notes?

@tintinweb this was shipped in v4.1.0: https://github.com/keybase/client/commits/v4.1.0?after=952fee6c593f42b72831510c7a4b1f5399ae41f3+76
We delete all logs within some timeframe on the order of weeks to months (not sure of the exact number right now), so I wouldn't be concerned about any logs sticking around that were before this change.

My recollection too, is that this PR had two major intents:

preventing people from pasting paper keys as feedback
preventing transmission of paper keys via command line arguments to keybase oneshot

We never put paper keys in logs, that would have been horrible.

In addition, we already strip sensitive arguments from commands like keybase oneshot and keybase encrypt. This is just extra protection in case we forget about a case (but it's mainly for the feedback, as Max mentioned--people would send paper keys in their feedback message).


SCRUM-4305 set obsolete / internal variables explicitly when being up…

…dated. (#1629)
(cherry picked from commit bc8af6e7164f7ec3870915b904ea46e9aa1c2d2c)

I think you want to go into production with this PR?


[footer UI] : arrangement of footer elements to enhance UI

Description
to change arrangement of sign up for newsletter section, moksh summary, and others elements.
to enhance padding and margin

@akshitagupta15june kindly check and assign this issue under GSSOC23

I would like to work on this issue for hacktoberfest. Please assign it to me if it is available.


Append cmp_group when cluster config is changed

@haom-pinterest @sjoshi6  Can you take a look at this urgent fix. Right now, if user change cluster configuration, we will remove the cmp_group from user data

r+


Dont Redirect to App in iOs 13

Hello
I have updated the plugin to version 1.1.0 in two apps, and in iOs 13, in both cases, when you perform 3D Secure authentication in sandbox mode, the web does not redirect you to the App.
A big blue button appears that tells you that it redirects you to the app if it doesn't do it automatically, but pressing it doesn't redirect you.
You can only get out of there by pressing DONE and the app interprets it as having canceled it.
Do you know what this error could be due to?
Thank you very much
a greeting
Adrian Casabuena

same is happening to me

There some workaround for this?

I fix it for me. My problem is that i followed the package example and wrote  this in the AppDelegate.swift
`    override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
if url.scheme == "com.example.flutterBraintreeExample.payments" {
return BTAppSwitch.handleOpen(url, options:options)
}
    return false
}`

instead of this
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {     if url.scheme?.localizedCaseInsensitiveCompare("com.example.flutterBraintreeExample.payments") == .orderedSame {         return BTAppSwitch.handleOpen(url, options: options)     }     return false }
like I should have look and is shown here https://developers.braintreepayments.com/guides/paypal/client-side/ios/v4

Please try the latest version and reopen if the issue persists.


"Could not find signature" issues when loading DLLs with Mod Engine 2

Turns out ME2 has an undocumented, working DLL loader:
Under [modengine] put external_dlls = [ "dllname1.dll", "dllname2.dll" ] etc. (If providing folder paths, use double slashes \\)
Looks like your mods don't play too well with this, though.

This way of loading mods is increasingly popular, given that EML makes it a chore to boot up the Vanilla game. Metis Mod Launcher makes use of Mod Engine 2 standalone for loading DLLs.
I hope you will be able to find some time to consult with the community irt how your hooking mechanism can be improved to work with ME2 (a few people have told me that ME2 loading isn't "faulty" per se, but rather that it's your hooking mechanism that tries to locate stuff before it's ready), as this problem is affecting a decent amount of users by now.

Assorted comments:

at least one of the mods always can't find the signature
yes its always the same one depending onn load order
so for example if i load skip intro, remove chromatic, and ultrawide fix in that order, then remove chromatic will allways not load
if i switch up the load order some other dll will not load

"Is it always the same one?"
no
in the ultrawide fix, skip intro, chromatic load order ultrawide fix doesnt find signatures

it works fine if its just one dll
and if its two you swap them until you find the right order
but at 3 dlls its impossible to not have one of the dlls fail
there is no combination of ultrawidefix, skiptheintro, and removechromaticaberration that does not result in at least one of the dlls not loading

Looking into this, I have found that it seems to be an issue of time? I replaced SigScan with a version of it that, instead of calling VirtualQuery, just scans the entire mapped game image by reading the PE header and setting the start and end region.
This caused all the mods to find their signature.
I also removed the pattern conversion from byte array to string, in the SigScan method. I can try replacing it and see what happens, but likely this takes a lot of time, as well, as it is probably a lot of allocations. Could try using patternString.reserve(pattern.size() * 3); to turn the entire process into a single allocation. Or could make it a debug build only thing.
SkipTheIntro is, unfortunately, incompatible with loading in ModEngine2, as ME2 doesn't have a priority load feature for extensions, and it doesn't load the module fast enough for it to be effective.

P.S. I wouldn't bother you with this if these weren't popular mods, but a lot of people DO use them.

All good brother, I will take a look this weekend to see what can be done.
I've never actually used ME2, so I don't have any insight into the issues. I've always wanted to take the loose file loading from ME2 and put it into EML, so I can have full control of what's going on. But probably that would take too much time for me to bother doing it, I'm not familiar with the rabbit hole of souls file formats and such. I'll see what I can do though.

All good brother, I will take a look this weekend to see what can be done.
I've never actually used ME2, so I don't have any insight into the issues. I've always wanted to take the loose file loading from ME2 and put it into EML, so I can have full control of what's going on. But probably that would take too much time for me to bother doing it, I'm not familiar with the rabbit hole of souls file formats and such. I'll see what I can do though.

Alright. No worries. If I can help, at all, let me know!

Seems to simply be an issue of ME2 loading the mods too quickly. Not sure how this is affected by having 1, 2 or 3+ mods installed, or why getting the image size from the PE header yields different results compared to using VirtualQuery. Loading extra libraries might increase the load time of the game slightly, worsening the issue of not having any delay implemented.
I'll see if I will bother adding loose file loading to EML (looking at ME2 source code, it looks somewhat digestible), or simply implement my mod loading into ME2.

ME2 loads dlls as soon as it starts eldenring.exe, and does not have a delay load option like ModLoader.
Just add a single Sleep(xxxx) before mod's sigscan to avoid this issue.

I can confirm that what Nord outlined in his post has led to the problem being solved for ME2 (I have been running additional DLLs for a while). I no longer get the message and the mods seem to run fine.
I would not recommend re-inventing the ME2 wheel in EML, because EML is currently strictly the less practical solution due to requiring a DLL in the game folder, which needs to be moved in and out if you want to play the vanilla game. Support should be shifted to ME2 instead, either through patching your mods or integrating EML practices in ME2.

Seems to simply be an issue of ME2 loading the mods too quickly. Not sure how this is affected by having 1, 2 or 3+ mods installed, or why getting the image size from the PE header yields different results compared to using VirtualQuery. Perhaps loading a certain amount of DLLs is increasing the load time of the game a tad too much, causing the game memory to not be in the state the mods are expecting when there is no forced delay.
I'll see if I will bother adding loose file loading to EML (looking at ME2 source code, it looks somewhat digestible), or simply implement my mod loading into ME2.

Hey @techiew ,
So it turns out that adding a 5 second delay at the start of each MainThread function (except the mod for skipping the intro) seems to work.
So far have tested:
SkipTheIntro
IncreaseAnimationDistance
and UnlockTheFps
I am sending a PR with these changes. I can also put a release of these DLLs on my fork so that people can test them, to make sure they all work, if you are okay with that.

Has anyone figured out SkipTheIntro yet? I was able to get it loading using Nordgaren's fork, but, as already noted, it doesn't actually do what it says on the tin and skip the intro.

@blackwind Chainfailure has made a different intro skip dll which works better. It's unfortunate that the DLLs here receive no updates.

@ividyon I see a repo on GitHub but no releases anywhere. Do you have a link to the DLL?

The best workaround I've found for the Mod Engine 2 issue is to load these DLL files with SpecialK.
You need to add a section like this for each DLL you want to load:
[Import.ModName]
Architecture=x64
Role=ThirdParty
When=Early
Filename=X:\Path\To\DLL\File\FileToLoad\ModName.dll

Issue Description
EML (EldenRingModLoader) mods appear to depend on the load_delay which EML offers.
However ME2 (ModEngine2) instantly loads the mods,
without a load_delay, which causes issues for EML mods.
Work Around
Use both EML (EldenRingModLoader) and ME2 (ModEngine2) in combination with each other.

EML for EldenRingMods (and other mods that specify EML)
ME2 for other mods

Then launch the game through ME2, which also loads EML with it's mods.
Linked ME2 Issue
https://github.com/soulsmods/ModEngine2/issues/210

So if anyone is similar to me obsessed with not altering the Game folder and having all mods placed in separate folders and the .toml file configured correctly instead, then compiling the .dlls from https://github.com/gixxpunk/EldenRingMods works.
Just make sure to put the skip intro as the very first .dll that gets loaded by ModEngine2 and make sure to build the whole solution so that it created all the .dlls in one go.
This is my .toml:
# Global mod engine configuration
[modengine]
# If set to true the debug console will appear while the game is running
debug = false

# List of files that will be loaded into the game as DLL mods.

external_dlls = [
    "mods/skip_the_intro/mods/SkipTheIntro.dll",
    "mods/adjust_fov/mods/AdjustTheFov.dll",
    "mods/disable_chromatic_aberration/mods/RemoveChromaticAberration.dll",
    "mods/disable_sharpen_filter/DisableSharpenFilter.dll",
    "mods/disable_vignette/mods/RemoveVignette.dll",
    "mods/increase_animation_distance/mods/IncreaseAnimationDistance.dll",
    "mods/unlock_fps/mods/UnlockTheFps.dll",
    "mods/fix_camera/mods/CameraFix.dll",
    "mods/pause_the_game/mods/PauseTheGame.dll",
    "mods/temporal_upscaling/dxgi.dll",
    "mods/temporal_upscaling/ERSS2.dll",
    "mods/transmogify_armor/ertransmogrify.dll",
]

# Mod loader configuration
[extension.mod_loader]
enabled = true

# Not currently supported for Elden Ring
loose_params = false

mods = [
    { enabled = true, name = "skip_the_intro", path = "mods/skip_the_intro"},
    { enabled = true, name = "unlock_fps", path = "mods/unlock_fps" },
    { enabled = true, name = "adjust_fov", path = "mods/adjust_fov" },
    { enabled = true, name = "disable_chromatic_aberration", path = "mods/disable_chromatic_aberration" },
    { enabled = true, name = "disable_sharpen_filter", path = "mods/disable_sharpen_filter" },
    { enabled = true, name = "disable_vignette", path = "mods/disable_vignette" },
    { enabled = true, name = "increase_animation_distance", path = "mods/increase_animation_distance" },
    { enabled = true, name = "fix_camera", path = "mods/fix_camera"},
    { enabled = true, name = "pause_the_game", path = "mods/pause_the_game" },
    { enabled = true, name = "ps5_icons", path = "mods/ps5_icons" },
    { enabled = true, name = "temporal_upscaling", path = "mods/temporal_upscaling" },
    { enabled = true, name = "texture_improvement", path = "mods/texture_improvement" },
    { enabled = true, name = "transmogify_armor", path = "mods/transmogify_armor" }
]

[extension.scylla_hide]
enabled = false

All EldenRingModLoader mods are installed like they are uploaded on nexus and I just replaced the .dll files with the ones build from the linked repository.
I did the same with a different .toml to play Seamless CO-OP (Haven't played this one beyond testing that it launches with seamless coop installed properly, so I don't know if the stuff I read about corrupted saves when not launched without other mods via the default seemless coop launcher for creating the character and first save are still relevant and would need to do some more testing for that):
# Global mod engine configuration
[modengine]
# If set to true the debug console will appear while the game is running
debug = false

# List of files that will be loaded into the game as DLL mods.
external_dlls = [
    "mods/skip_the_intro/mods/SkipTheIntro.dll",
    "mods/adjust_fov/mods/AdjustTheFov.dll",
    "mods/disable_chromatic_aberration/mods/RemoveChromaticAberration.dll",
    "mods/disable_sharpen_filter/DisableSharpenFilter.dll",
    "mods/disable_vignette/mods/RemoveVignette.dll",
    "mods/increase_animation_distance/mods/IncreaseAnimationDistance.dll",
    "mods/unlock_fps/mods/UnlockTheFps.dll",
    "mods/fix_camera/mods/CameraFix.dll",
    "mods/transmogify_armor/ertransmogrify.dll",
    "mods/temporal_upscaling/dxgi.dll",
    "mods/temporal_upscaling/ERSS2.dll",
    "mods/seamless_coop/SeamlessCoop/ersc.dll"
]

# Mod loader configuration
[extension.mod_loader]
enabled = true

# Not currently supported for Elden Ring
loose_params = false

mods = [
    { enabled = true, name = "skip_the_intro", path = "mods/skip_the_intro"},
    { enabled = true, name = "adjust_fov", path = "mods/adjust_fov" },
    { enabled = true, name = "disable_chromatic_aberration", path = "mods/disable_chromatic_aberration" },
    { enabled = true, name = "disable_sharpen_filter", path = "mods/disable_sharpen_filter" },
    { enabled = true, name = "disable_vignette", path = "mods/disable_vignette" },
    { enabled = true, name = "increase_animation_distance", path = "mods/increase_animation_distance" },
    { enabled = true, name = "fix_camera", path = "mods/fix_camera"},
    { enabled = true, name = "ps5_icons", path = "mods/ps5_icons" },
    { enabled = true, name = "temporal_upscaling", path = "mods/temporal_upscaling" },
    { enabled = true, name = "texture_improvement", path = "mods/texture_improvement" },
    { enabled = true, name = "transmogify_armor", path = "mods/transmogify_armor" },
    { enabled = true, name = "unlock_fps", path = "mods/unlock_fps" },
    { enabled = true, name = "seamless_coop", path = "mods/seamless_coop"}
]

[extension.scylla_hide]
enabled = false

@EzioTheDeadPoet I tried this but as soon as I added the config file for the SkipTheIntro mod then I got the signature error. Where did you put config files ?

@EzioTheDeadPoet I tried this but as soon as I added the config file for the SkipTheIntro mod then I got the signature error. Where did you put config files ?
Edit: I have this error when I change hide_initial_white_screen = 1 to hide_initial_white_screen = 0

using
[skip_the_intro]
skip_intro_logos = 1
hide_initial_white_screen = 1
hide_initial_white_screen_duration = 0

and with that it works.
I don't see why one would like to be flahbanged by an unnecessary white screen so testing that functionality seems pointless to me.

@EzioTheDeadPoet @Yashirow @Rikj000
I had the same problem while using AdjustTheFov, UnlockTheFps and SkipTheIntro (and some unrelated mods that seemingly didn't have any impact and didn't fail to inject) with ModEngine 2.
After some testing I found that the order of injection (as specified with external_dlls in ModEngines's config_eldenring.toml) affects which of the dlls fails to inject. I am assuming the ordering to affect the timing of the injection which is most likely the actual cause.
The failure to inject always stems from the same source: the function  ModUtils::AobScan(std::string) in ModUtils.h. It uses VirtualQuery at line 323 to check the access protection of the memory pages. If the protection is PAGE_EXECUTE_READWRITE, PAGE_READWRITE, PAGE_READONLY, PAGE_WRITECOPY or PAGE_EXECUTE_WRITECOPY (line 342) it proceeds to scan the page for given signature. It ignores all other pages. In my testing, the protection of the relevant page was PAGE_EXECUTE_WRITECOPY whenever the injection succeeded. It was PAGE_EXECUTE_READ whenever the injection failed.
Interestingly, sometimes two different dlls receive different access protection constants for the same page. For example, either AdjustTheFov received PAGE_EXECUTE_WRITECOPY and UnlockTheFps recevied PAGE_EXECUTE_READ or vice versa meaning one dll succeeds and the other doesn't. At no point did both or neither succeed.
These two mods scan for different signatures which are however always located on the same memory page. This means that something changes the page's access protection after the first but before the second dll gets injected. Further testing and experimenting revealed that it is not the dlls themselves that change the access protection (they do change it but those changes aren't causing the injection of the other dll to fail). Either ModEingine 2 or the game itself have to be responsible for the interference.
The solution to the problem is quite simple: Add PAGE_EXECUTE_READ to the list of accepted access protection constants at line 342:
bool isMemoryReadable = (
	protection == PAGE_EXECUTE_READWRITE
	|| protection == PAGE_READWRITE
	|| protection == PAGE_READONLY
	|| protection == PAGE_WRITECOPY
	|| protection == PAGE_EXECUTE_WRITECOPY
	|| protection == PAGE_EXECUTE_READ	// added by myself
	)
	&& state == MEM_COMMIT;

The list already contains execute constants and no-write constants. Adding a constant that is both execute as well as no-write shouldn't cause any problems. I recompiled the two mods, injected them with ModEngine 2 and everything worked as expected.
Delaying the injection might work but IMO it is a band-aid solution. This fix should be a bit more robust.
Btw. it should be fine to add the other two access protection constants (PAGE_EXECUTE and PAGE_EXECUTE_READWRITE) as well but i didn't test that.


Swift 4.0

This is a work in progress converting to Swift 4. It should resolve Issue #69 . This is currently using a beta version of Moya and rc version of RxSwift.
I will update when these libraries go live.

Great work, @jPaolantonio! I went off of your changes and updated to Moya 10 stable today: https://github.com/ivanbruel/Moya-ObjectMapper/pull/75.
Thanks!

Updated to support Moy 10.0.0 and ObjectMapper 3.0.0.


Adding a simple age checker for a BinderHub

This adds a page in the BinderHub documentation with a mini form that does the following (checked boxes means it is implemented in this PR, unchecked means I'd like to implement it, but not sure how to)

[x] Takes as input the URL of a BinderHub
[x] Press a button to grab the latest versions of software on the BinderHub
[x] Display the versions w/ success or fail note
[ ] List the number of commits of these versions relative to the latest published versions
[ ] List the number of days of these versions relative to the latest published versions

I've got the versions reading in properly (using mybinderhub.org/versions) but I can't figure out how to compare these versions to the "latest" versions (which I assume we should pull from here: https://jupyterhub.github.io/helm-chart/). Anybody have ideas for how this could happen?
Here's what the age checker looks like: https://302-89419368-gh.circle-artifacts.com/0/html/age-checker.html

https://mybinder.org/versions shows the version as reported by versionneer for BinderHub itself and the value set in the helm chart for repo2docker:
https://github.com/jupyterhub/binderhub/blob/5544f704cb0dd9b8d3d67442a0c744e1ddcb6089/binderhub/base.py#L111-L120
This means that the repo2docker one should be directly comparable to what is in the helm chart. The BinderHub one is a bit more tricky. It consist of the last released version (0.1.0), how many commits were made since then (218), the revision checked out (g5544f70), and indicates that the repo has been modified since that commit (dirty): "0.1.0+218.g5544f70.dirty"

Was playing around with this again. I'm a bit closer, but now I'm running into CORS requests errors when trying to access versions/ of some BinderHubs. For some reason this doesn't happen with the mybinder.org binderhub, but it does with the pangeo binderhub. Any idea how get around this? :-/

The Pangeo BinderHub doesn't allow cross origin requests. For mybinder.org we do allow them. More details on that https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

ahh I see - so approach in this PR (get versions from yourbinderhub.org/versions) is going to be fundamentally limited by whether those binderhubs allow this kind of traffic. Perhaps this is not the right place for this kind of information to live.

We could change the versions handler so it always allows people to access (only) this endpoint. Or you have to implement the fetching of versions in the server of the "age display" instead of fetching it browser side.

it seems reasonable to me that versions/ should be accessible from anywhere (a main point is to provide machine-readable access)...maybe something that's "on by default" but that people can turn off if they really want to ?

Closing this as we haven't worked on it for a while and there is /versions now which thanks to the version string updates we've made tells you how many commits since the last release have passed as well as the git SHA in use.
If you want to keep working on this reopen it :)


Add new error to skip endpointslices with empty OwnerReferences

Adding a new error to skip endpointslices with empty OwnerReferences instead of causing the entire matrix build to fail.

/retest


[WIP] SpringNative func template

Changes

:gift:  Add the template for cloudevents using Spring Native and the packeto paketobuildpacks/builder:tiny builder.

/kind enhancement
Fixes #630

@lance  this is quite working but I am having trouble setting BuildEnvs in the manifest.yaml file -> https://github.com/knative-sandbox/kn-plugin-func/pull/631/files#diff-28190f6036cdaf54ab876572d9b9d6ef126ce167b164c127143ba9a6cce333ddR4
That variable is not propagated to func.yaml and that variable needs to be there for the builder to be found (i think) can you give me some pointers on where to look at? Is this the correct place to put those buildEnvs ?

@lance a bit of change in the approach here.. I think that I will close this PR that adds a completely new template with 90% overlap with the spring boot and I will make a separate PR to make the spring-boot one use spring-native and document how to disable it if needed. do you have any objections to that plan?

Sounds good 👌


[Problem] Testnet node hosting guilde is not updated

The docs needs to be updated accordingly with the testnet upgrade from v0.6.* to v0.7.*

run 0.6.0-testnet until block 1553700
upgrade to 0.7.0-rc1-testnet  and update ~/.cronos/config/app.toml (link) and resume to sync from block 1553700

Updated at https://github.com/crypto-org-chain/cronos-docs/pull/110


Fixed typographical error, changed accross to across in README.

@Railk, I've corrected a typographical error in the documentation of the T3S project. You should be able to merge this pull request automatically. However, if this was intentional or if you enjoy living in linguistic squalor, please let me know and create an issue on my home repository.

@orthographic-pedant i didn't know the meaning of linguistic squalor (but thanks to your pseudonyme i could guess the meaning ;p) i add to translate it, in french it's even more strong "misère linguistique" rien que ça ! Ca ma fait rire merci :) and i accept your pull request. May the orthographic force be with you !

I am at a loss for words -- "misère linguistique" is beautiful. Too bad @orthographic-pedant doesn't correct french.

@thoppe yes too bad that would be a nice addition to your orthographic bot.

Indeed. If you ever would like to create the French version you've already
got the name! All you have to do is fork this repository and starting
correcting the world!
On Sat, Oct 3, 2015 at 5:07 AM, Railk<EMAIL_ADDRESS>wrote:

@thoppe https://github.com/thoppe yes too bad that would be a nice
addition to your orthographic bot.
—
Reply to this email directly or view it on GitHub
https://github.com/Railk/T3S/pull/90#issuecomment-145229904.


Add KEGG database

We have access to the KEGG database, and it's well known among biologists. While the main value of the database is the reactions and pathways (which likely will be awesome for enrichment analysis), as a starting point we should import the lists of molecules.
The main files on the network drive (should be accessible to anyone in the team):

/g/scb/bork/yuan/kegg/ligand/compound.tar.gz
/g/scb/bork/yuan/kegg/ligand/glycan.tar.gz (should be imported as a separate DB)

The files are in a custom format, so you'll likely need to write a converter script. This should be saved in metaspace/engine/scripts.
These files are updated regularly, so be sure to use the modification date of the files as the database version on METASPACE.

Filtration of molecules
We decided to add only the compound database. Most of the information about molecules is in the compaund file, the INCHI information is in the compaund.inchi file. For the final list, we had to filter out some of the molecules. The criteria for filtering molecules were as follows:

The formula ends in R or R with some number:

C2H4NO2R
C4H6N2O3R2
C10H14N4O4S2R4

Formula ends in n or n-1:

C4H6N2O3R2(C7H9N2O2R)n
C5H8O(C5H8)n-1

Formula ends in (R2):

C19H30N12O6(R1)(R2)

For a molecule there is no INCHI.

The remaining molecules were saved to a TSV file.
Generation of images of molecules
Image generation (SVG) was carried out for each molecule from the TSV file. Generation with Open Babel gave a lot of errors and warnings:

19 error cases "Open Babel Error  in SVGFormat. Molecule  needs 2D coordinates to display in SVGformat"
The files were deleted as they did not contain images of molecules. Also, the molecules were removed from the TSV file.
List of molecules: [C01358, C08142, C08219, C12538, C12567, C12568, C12569, C12570, C13140, C13198, C13515, C13563, C14042, C15226, C15473, C17379, C17392, C18670, C18672]

4 warning cases "Open Babel Warning  in InChI code. Unsupported stereo type has been ignored."
Files were not deleted. List of molecules: [C08596, C08606, C13431, C14044]

14 warning cases "Open Babel Warning  in InChI code. For InChI=INCHI; Problems/mismatches: Mobile-H( ....."
Files were not deleted. List of molecules: [C04446, C04536, C05306, C05307, C06488, C11242, C11243, C11829, C11850, C11851, C18151, C19423, C21217, C21435]

719 warning cases "Open Babel Error  in TetStereoToWedgeHash. Failed to set stereochemistry as unable to find an available bond"
Files were not deleted.


Manually scroll to offset

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #6322

Details of Changes
Add details of changes here.

Fixes an issue for which typing a letter does not scroll the file list to the first matching item

Explanation: in a custom ListView template the ItemsPresenter must be the first child of the ScrollViewer or ScrollIntoView stops working. In this PR we manually scroll to "item index * item height".
Note: why we can't change the ListView Template -> #6667
Validation
How did you test these changes?

[x] Built and ran the app

Sorry for the triple PR, I was getting angry at ListView 😂

Thank you!


Add references parameter to transformSequences/transformSequences/countKmers etc.

If singular rather than plural, roll back commit 5070db2ff4afe4a03c02fb72a2857f08f19ce692

Closing as WontFix


pip package is not up-to-date

https://pypi.org/project/webwhatsapi/#history
It should be good if you can update it whenever you have time, as README suggests using PyPI to install

Was waiting for a more stable version before updating, but sure, I'll update right now.

any luck there mate?

New user here and immediately stumbled upon #79 due to PyPi package being so behind.
Most pip users like myself will seek installing this package using, obviously pip.
And looking at the project page in PyPi, this library is last updated May 28, 2018 there.
Very inconvenient having to git clone or whatever when you have a Python package manager usable in virtualenv...

pip install -U git+https://github.com/mukulhase/WebWhatsapp-Wrapper.git


Backward compatability

Defines Fybrik backward compatibility requirements, and policy.
Lists of possible Fybrik components that might influence backward compatibility
Checks which kind of CRD changes do not change its schema and do not require webhooks for cross-version conversation.
/closes #1675

Hi @alexey. I see that you have added a folder /docs in the fybrik/fybrik repository. Is this meant for design docs? If so a couple of comments/questions:

@simanadler I see your points and comments that you provided during our f2f discussion. Therefore, I plan to run a vote and ask other developers what are their preferences about design docs.
Some answers to your comments:

Do we really want the design docs included in the fybrik  releases?

The docs folder is not part of the release charts and goLang modules, so I don't see a problem here. Do I miss something?

Where do we put design docs not related only to fybrik/fybrik or a specific release of it?

I planned to put them here in the fybrik/docs, as a main fybrik repository. For example, we use Zenhub here for all other repos, but let's ask others.

How do other open source projects address the location of design docs?

Do you mean other fybrik sub-projects, or completely independent open-source projects ? If they are projects under the fybrik github organization, we return to the previous question.
Another option is that this folder will contain only fybrik/fybrik design documents, other projects are able to add similar directories too, and if required, use links to the fybrik design docs.

There are no mandatory/base OPA policies are there? We don't require OPA as part of an installation so how could there be?

If OPA is not being used as the governance engine then there are no OPA policies deployed (except for IT config policies which you address in the next section.)

I changed the test, but I do think that for the OPA governance engine case these policies are a backward compatibility point too.

@shlomitk1 , thanks for the comments, I fixed most of them and answer to others. Please take a look.


change for checking permission

We checked that as an outside collaborator I have restricted permissions. No need to merger this commit, closing.


Remove Widget, add post-render hooks

/cc @jdegoes @cryogenian @garyb @puffnfresh
This PR is a bit more drastic. @garyb and I were discussing widgets, and this demonstrates an idea we were considering - since widgets are effectful, instead of trying to shoehorn them into the pure world of Component, it makes sense to provide a low-level, imperative escape hatch to deal with them. It's not pretty, but widgets aren't either, and it fits with the "push effects to the application boundary" approach.
Namely, I've removed Widget, and added support for a "post-render hook" to runUIWith. Widgets can be synchronized in the post-render method after every patch is rendered.
The Ace example shows an example of using data- attributes to synchronize the Ace widget state with the state of the component.
@jdegoes I think this is more in line with the "big record of widget state" approach that we discussed in #84.

Also, if we go this route, I don't think we need to have a separate halogen-echarts repo, since we will just be using the ECharts API directly.

Resolves #98, since we can create data- attributes to represent the focus state.
Resolves #100.

Brilliant. I think these updates will unblock me with integration of Ace into SlamData. Thank you!

@jdegoes I think this is more in line with the "big record of widget state" approach that we discussed in #84.

I can't help but feel this approach will implode at some point in the very near term (Ace with a large enough buffer, a Canvas-based paint component, a chart with a lot of data points, etc.). But overall I think these changes are a positive direction from where we are right now, so in the spirit of making incremental progress. :+1: .

@paf31 The other thing: there's no need for p anymore, is it time to remove that to simplify HTML and Component?

My original PR also removed p, but I decided to change things in stages because it broke the downstream libraries, and I also wasn't sure if we wanted to keep install etc.
If we want to remove p, I can work on that today.

:+1: for removing p.


pull request for e2e test at 12/08/2016 08:15:02

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


aio app init doesn't recognise and list my organization

Expected Behaviour
When using the command aio app init tutorial2, I expect it to show the organizations associated with my account correctly for me to select and set up my project.
Actual Behaviour
When using the command aio app init tutorial2, it never recognizes my organization though I am the System Administrator for the organization.

Steps to Reproduce

Run aio auth login to login
Run the command aio app init <app_name> to set up a project

Platform and Version

M1 MacBook
Node v20.8.0
AIO v10.0.0

I still managed to use the workaround as mentioned in the Getting Started tutorial but was unable to run the test application's generic events without a valid Authorization token. The Token given to me after aio auth login was from my personal account and not the organization that I was associated with. Later I managed to generate a new token within my project workspace under my organization's OAuth credential section and that made the application work and be deployed (still with a few strange issues).

same for me,
$ aio app create
? Select Org: (Use arrow keys or type to search)
  No results...

$ aio --version
@adobe/aio-cli/10.0.0 linux-x64 node-v21.7.0

$ node --version
v21.7.0

$ npm --version
10.5.0

Linux 6.7.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000 x86_64 GNU/Linux

The access token that you probably got from aio login is probably not correct, and was probably from another type of login. The aio-cli needs certain scopes, so if you were already logged in via the web browser from before (and not via the aio-cli) you will have to logout on the web, and re-attempt login via the aio-cli.
To resolve:

Go to https://developer.adobe.com/console, logout from the browser
aio logout
aio login
aio console:org:ls

The expected Org should be there.

Thanks, Shazron! Let me give it a try.
Thanks and Regards,
Ranjith V K
Technical Architect
m: +91-9964407215
skype: ranjith_vk
Echidna, Inc.
Win Together!
New York | Dubai | Bangalore
echidna.co
https://in.linkedin.com/company/echidna https://instagram.com/echidna
https://www.facebook.com/Echidna/
On Tue, Mar 12, 2024 at 8:26 AM Shazron Abdullah @.***>
wrote:

The access token that you probably got from aio login is probably not
correct, and was probably from another type of login. The aio-cli needs
certain scopes, so if you were already logged in via the web browser from
before (and not via the aio-cli) you will have to logout on the web, and
re-attempt login via the aio-cli.
To resolve:

Go to https://developer.adobe.com/console, logout from the browser
aio logout
aio login
aio console:org:ls

The expected Org should be there.
—
Reply to this email directly, view it on GitHub
https://github.com/adobe/aio-cli/issues/592#issuecomment-1989930033, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AGCRR3INOYW5HGPMNF6IH3LYXZVFPAVCNFSM6AAAAABEAAEOSOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBZHEZTAMBTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
The information
contained in this message (including any attachments) is
confidential and may
be privileged or otherwise protected from disclosure.
If you are not the
intended recipient, you must not copy this message or
attachment or disclose
the contents to any other person.  If you have
received this transmission
in error, please notify the sender immediately
by return e-mail and permanently
delete this message and any attachments
from your system.  Any
dissemination, use, review, distribution, printing
or copying of this message
in whole or in part is strictly prohibited.
Please note that e-mails are
susceptible to change.
Echidna, Inc.
(including its group companies) shall not be liable for any
omission or
error in the message, improper or incomplete transmission of the
information contained in this communication or for any delay in its receipt
or
damage to your system.  Echidna, Inc. (or its group companies) does not
guarantee that the integrity of this communication has been maintained or
that this
communication is free of viruses, interceptions or interference.

@shazron Thanks for your guidance. This worked perfectly for me. If this is updated on the document instead of saying there must be some problem with the permission that would be great :)


Improve user attributes requested by default in a new OIDC application

Describe the issue:
In the console application, a newly created OIDC application will have username automatically added as a mandatory attribute. With this configuration, when logging in with an external identity provider using federated authentication it will always prompt for username if it is not received by default. It is not sent by default by many external identity providers.
Eg: If a client application is configured only with Google login, Google will not send username attribute after authentication. Therefore username will always be prompted to be manually entered by the application users.
How to reproduce:

Go to the console application and create a new OIDC application
Go to the created application User Attributes section and check the added attributes

Username attribute has been added as a mandatory attribute.
For better UX, the username attribute should only be a requested attribute, and not made mandatory.

Related Issue: https://github.com/wso2/product-is/issues/14589

Closing the issue since https://github.com/wso2/identity-apps/pull/3331/ fixed this.


Proper handling of Safari and iOS

Closes #30
Closes #16

Yay! Thanks! When to expect an NPM release?

It's released to npm, sorry for the delay.