Running app on macOS Sonoma shows a warning dialog

Steps to reproduce
Run a new or a existing app on macOS Sonoma. (Only shows after upgrading to macOS Sonoma)
This warning should either be suppressed or provide documentation on how to get rid of this dialog.
This happens every time when running the app on Sonoma.
Expected results
No warning dialog
Actual results

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.13.8, on macOS 14.0 23A344 darwin-arm64, locale en-US)
    • Flutter version 3.13.8 on channel stable at /Users/tahatesser/Code/flutter
    • Upstream repository git@github.com:TahaTesser/flutter.git
    • FLUTTER_GIT_URL = git@github.com:TahaTesser/flutter.git
    • Framework revision 6c4930c4ac (21 hours ago), 2023-10-18 10:57:55 -0500
    • Engine revision 767d8c75e8
    • Dart version 3.1.4
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/tahatesser/Code/android-sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_SDK_ROOT = /Users/tahatesser/Code/android-sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A240d
    • CocoaPods version 1.13.0

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

[✓] Android Studio (version 2022.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 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.83.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.74.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 14.0 23A344 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 118.0.5993.88

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Is this when using flutter run? If not, how are you launching the application?

It occurs when running the app from editor or terminal (flutter run -d macos)

The dialog is show at "Building macOS application...        " and logs are paused.
Up on selecting "Open anyway", the app proceeds to launch normally.
Building macOS application...
Syncing files to device macOS...                                    86ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on macOS is available at: http://<IP_ADDRESS>:59195/HqTTQKk76Yg=/
The Flutter DevTools debugger and profiler on macOS is available at: http://<IP_ADDRESS>:9102?uri=http://<IP_ADDRESS>:59195/HqTTQKk76Yg=/
2023-10-19 16:45:26.874 playground[65946:519778] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.

Important to note that it is happening when running app second or third time as the warning is about opening previously opened app.

Strange, macOS only used to show Gatekeeper (or similar) warnings when launching from the Finder, not when directly launching an app from a terminal.
Presumably running from Xcode doesn't do this? In which case we should see if we can figure out what's different about how we're launching.

As further detail, I'm seeing this on the first run after a new build, though not on re-runs of the same binary.

I have a similar issue on MacOS Sonoma. Dialog opens the second time the app is run.
I also see a message in the log, which might be related.
Running from the terminal and not through XCode.
A Dart VM Service on macOS is available at: http://<IP_ADDRESS>:59371/kQnKY8pVqFY=/
The Flutter DevTools debugger and profiler on macOS is available at: http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:59371/kQnKY8pVqFY=/
2023-10-24 18:27:57.315 myapp[27417:331017] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.

flutter doctor -v
[✓] Flutter (Channel stable, 3.13.7, on macOS 14.0 23A344 darwin-x64, locale
   en-BE)
   • Flutter version 3.13.7 on channel stable at
     /Users/navaronbracke/Documents/flutter
   • Upstream repository git@github.com:navaronbracke/flutter.git
   • FLUTTER_GIT_URL = git@github.com:navaronbracke/flutter.git
   • Framework revision 2f708eb839 (2 weeks ago), 2023-10-09 09:58:08 -0500
   • Engine revision a794cf2681
   • Dart version 3.1.3
   • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
   • Android SDK at /Users/navaronbracke/Library/Android/sdk
   • Platform android-34, build-tools 34.0.0
   • ANDROID_HOME = /Users/navaronbracke/Library/Android/sdk
   • Java binary at: /Applications/Android
     Studio.app/Contents/jbr/Contents/Home/bin/java
   • Java version OpenJDK Runtime Environment (build
     17.0.6+0-17.0.6b829.9-10027231)
   • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
   • Xcode at /Applications/Xcode.app/Contents/Developer
   • Build 15A507
   • CocoaPods version 1.13.0

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

[✓] Android Studio (version 2022.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
     17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.83.1)
   • VS Code at /Applications/Visual Studio Code.app/Contents
   • Flutter extension version 3.74.0

[✓] Connected device (2 available)
   • macOS (desktop) • macos  • darwin-x64     • macOS 14.0 23A344 darwin-x64
   • Chrome (web)    • chrome • web-javascript • Google Chrome 118.0.5993.88

[✓] Network resources
   • All expected network resources are available.

• No issues found!

second_run.txt

I've got a fix for this locally, will clean it up and get it landed.

Patch is out in https://github.com/flutter/flutter/pull/137188

Patch is out in #137188

Thank you! This issue has been bugging me since Sonoma beta but I waited for the stable release.

Taking a look at alternatives to this patch.
Apple's position on this is that the correct solution is to configure your projects to sign with a stable signing identity both locally and on CI.
In a Flutter project, you can do this from Xcode by:

Select the Runner project
Select the Signing & Capabilities tab
In the Signing section, select your team, and in the macOS subsection, select the Development signing certificate.

There's some discussion here: https://developer.apple.com/forums/thread/739988
To quote, specifically:

macOS 14 introduced a new container data protection feature. To learn more about that, see the link in Trusted Execution Resources.
The solution here is to sign your code with a stable signing identity. For day-to-day development, that should be your Apple Development signing identity. Do this locally and on your CI system.
This isn’t a new requirement. When your code is unsigned, or ad hoc signed, macOS is unable to track the code’s identity, which can cause all sorts of weird problems. I discuss this in some detail in TN3127 Inside Code Signing: Requirements.

I'm going to do a little bit more digging to see if there's a way for us to automate this a bit better. We did something similar for iOS years ago, so that may be the better solution than just trying to work around it. I imagine that eventually, this will be locked down even tighter and we'll need to ensure a signing certificate is applied.

Unassigning as I'm not immediately working on this. If anyone wants to have a go at this work, I'd recommend looking at how we locate and apply a signing cert (if present) on iOS in the tool code here: https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/ios/code_signing.dart
If no one has got to it by the time I'm freed up from current work, I'll come back and take a look.

I was able to suppress the "explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState" warning by adding the following lines to macos/Runner/AppDelegate.swift
import Cocoa
import FlutterMacOS

@main
class AppDelegate: FlutterAppDelegate {
  override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
    return true
  }
+  override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
+    return true
+  }
}


Define name mangling for double-underscore names

This is a follow-up to #1382 and #3123.
Python mangles double-underscore names inside of class bodies and methods:
  >>> class T:
  ...   def f(self): return __xyz
  ...
  >>> __xyz = 2
  >>> T().f()
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "<stdin>", line 2, in f
  NameError: name '_T__xyz' is not defined

However, double-underscore names are not uncommon in C APIs, which conflicts with the semantics of Python's name mangling.
Proposal:

mangle names according to Python rules
on compile-time lookups, if a mangled name is not found, look up the non-mangled (plain) name
if a plain name is found, assume the reference refers to that
otherwise, assume that the mangled name will become available at runtime.

Optional:

exclude global Python (module dict, non-cdef) names from the plain name lookup (would that inconsistency be surprising for users?)

This issue was originally raised on the mailing list.

otherwise, assume that the mangled name will become available at runtime.

if error_on_unknown_names would normally allow it?

exclude global Python names from the plain name lookup (would that inconsistency be surprising for users?)

I'm a little undecided about this. I'm also not 100% sure if we have the information to do this or not (and that may end up deciding it anyway). Just to clarify, my idea was that it's the cdef definition that decides this, not whether an object is a PyObject.
The advantage would be that it maximizes Python compatibility. It does seem potentially confusing, and I'd definitely give a warning where possible.
Other than that this seems like a good solution.

I guess error_on_unknown_names is rarely disabled by users, but yeah, it seems related enough to look at it as well. Although, I guess we already do that at this point. I'm not sure anything would change there. I wouldn't want to require users to disable this option in order to make this fallback lookup work.
I'd say, let's only include cdef declarations for now (excluding is_pyglobal module level names and builtins), since that's the main concern here. If we find that it's confusing to users, we can open it up to Python dict globals, but it would be more difficult to close it down later than to open it up.

I've had the same issue when compiling uvloop (https://github.com/MagicStack/uvloop) with the cython master branch, it threw tons of errors related to undefined variables, but compiled fine against 0.29.16.
With #3546, it got better and only throws two errors now:
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-8ak75u3u/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-8ak75u3u/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-req-build-8ak75u3u/pip-egg-info
         cwd: /tmp/pip-req-build-8ak75u3u/
    Complete output (57 lines):
    running egg_info
    creating /tmp/pip-req-build-8ak75u3u/pip-egg-info/uvloop.egg-info
    writing /tmp/pip-req-build-8ak75u3u/pip-egg-info/uvloop.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-req-build-8ak75u3u/pip-egg-info/uvloop.egg-info/dependency_links.txt
    writing top-level names to /tmp/pip-req-build-8ak75u3u/pip-egg-info/uvloop.egg-info/top_level.txt
    writing manifest file '/tmp/pip-req-build-8ak75u3u/pip-egg-info/uvloop.egg-info/SOURCES.txt'

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                            os_set_inheritable(fd, True)
            except Exception:
                self._abort_init()
                raise

            if __forking or loop.active_process_handler is not None:
              ^
    ------------------------------------------------------------

    uvloop/handles/process.pyx:62:11: local variable '_UVProcess__forking' referenced before assignment
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-8ak75u3u/setup.py", line 234, in <module>
        setup(
      File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 144, in setup
        return distutils.core.setup(**attrs)
      File "/usr/local/lib/python3.9/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/local/lib/python3.9/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 297, in run
        self.find_sources()
      File "/usr/local/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 304, in find_sources
        mm.run()
      File "/usr/local/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 535, in run
        self.add_defaults()
      File "/usr/local/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 571, in add_defaults
        sdist.add_defaults(self)
      File "/usr/local/lib/python3.9/distutils/command/sdist.py", line 228, in add_defaults
        self._add_defaults_ext()
      File "/usr/local/lib/python3.9/distutils/command/sdist.py", line 311, in _add_defaults_ext
        build_ext = self.get_finalized_command('build_ext')
      File "/usr/local/lib/python3.9/distutils/cmd.py", line 299, in get_finalized_command
        cmd_obj.ensure_finalized()
      File "/usr/local/lib/python3.9/distutils/cmd.py", line 107, in ensure_finalized
        self.finalize_options()
      File "/tmp/pip-req-build-8ak75u3u/setup.py", line 145, in finalize_options
        self.distribution.ext_modules[:] = cythonize(
      File "/usr/local/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1105, in cythonize
        cythonize_one(*args)
      File "/usr/local/lib/python3.9/site-packages/Cython/Build/Dependencies.py", line 1263, in cythonize_one
        raise CompileError(None, pyx_file)
    Cython.Compiler.Errors.CompileError: uvloop/loop.pyx
    Compiling uvloop/loop.pyx because it changed.
    [1/1] Cythonizing uvloop/loop.pyx
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Is there any chance that this can be fixed, too?

@Gelbpunkt I think your remaining bug is from the deliberate decision that: "Python globals shouldn't be found because that contradicts Python's name lookup rules". This decision may still change....
It should work if you define __forking (and the other variables as needed) with cdef at the module level:
cdef __forking

It'd be useful to know if that fix works (even if we change our minds about that the rule that leads us there)?

https://github.com/MagicStack/uvloop/blob/2870219558eba983813aeab249e08371266ab524/uvloop/handles/process.pyx#L29
Yes, it's a global Python variable, and thus falls under Python semantics in the currently discussed state of affairs. However, I wonder why it wasn't defined as cdef bint __forking in the first place. A Python variable seems unnecessarily inefficient here. Maybe it's meant to be visible for debugging purposes?

Anyway – given that we clearly break code here without a strict necessity, I now think we should take the time for a proper deprecation cycle and warn about the Python name case first in 3.0, while keeping a lookup fallback for all names, and then (maybe) switch to full Python semantics for Python names later. The main goal should be to prevent newly written code from depending on the old behaviour and allowing existing code to adapt, so a warning is better than breakage.

@da-woods Good tip - I tried! I am not a C expert at all, but it seems that the variable is declared already:
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    include "server.pyx"

    # Used in UVProcess
    cdef vint __atfork_installed = 0
    cdef vint __forking = 0
             ^
    ------------------------------------------------------------

    uvloop/loop.pyx:3205:10: '__forking' redeclared

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    cdef __forking
                 ^
    ------------------------------------------------------------

    uvloop/handles/process.pyx:1:14: Previous declaration is here

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                            os_set_inheritable(fd, True)
            except Exception:
                self._abort_init()
                raise

            if __forking or loop.active_process_handler is not None:
              ^
    ------------------------------------------------------------

    uvloop/handles/process.pyx:64:11: local variable '_UVProcess__forking' referenced before assignment

Right - I've pushed an update so Python variables should be matched (but with a warning).
I'm slightly puzzled about your multiple definitions right now (but haven't really looked at it yet). See if the update works on the original code

The original code with the update produces the same error as before.

@Gelbpunkt Even more puzzled about your code now. I don't think "include .pyx files into one big .pyx file where certain key definitions are outside the include" is a good structure. However, it does look like __forking was defined as cdef in the first place so should have been found. Unless you're building "process.pyx" both on its own and and as part of "loop.pyx" (please tell me you're not!)?
Hopefully the updated PR fixes this and we don't have to investigate further...

I'm not the author of uvloop - I'm just building a wheel from source with pip wheel . in the source directory. If you have cython installed, you should be able to reproduce it:
git clone https://github.com/MagicStack/uvloop
cd uvloop
git submodule update --init --recursive
pip wheel .

The updated PR does not fix the issue for me.

include .pyx files into one big .pyx file

Yeah, the conventional file extension for include files would be .pxi, not .pyx. It's just a convention, though, so unless someone is really trying to build the include files separately as modules, it should not make a difference. Cython's parser will only see the complete resulting main .pyx file in the end, not the separate include files.

Right - I think what's happening is that global __forking is being interpreted as "I promise there is a global variable called _UVProcess__forking (i.e. the mangled name) available". At his stage it doesn't check if there's actually a match to the name.

The code order might make a difference here. If the global is used before the cdef declaration has been seen, then it would declare a global object variable for the time being. Maybe we could extend the ForwardDeclareTypes pipeline stage to include cdef variable declarations as well, i.e. basically all static declarations?

OTOH, variables should be declared in code order. That's less of an issue for extension types (where the opposite is a problem due to forward references, inheritance, etc.). Hmm…

Updated my PR.
@Gelbpunkt this definitely fixes uvloop (I've tested it on that specifically). Thanks for pointing it out - there was a useful slightly obscure case hidden in there.

One further design question - should we be stricter about this in pure Python mode? Given .py files will normally have been written to work in Python too, it might be worth actually enforcing the original behaviour there?

@da-woods thanks a lot! Compiles perfectly fine now - you are a lifesaver :smile:

I've merged #3548 as a fix. I'll close this ticket for now, assuming that we solved the issue in a good way. Please add comments if there are still problems with the new behaviour.


Posh-Git and ssh behaves differently than git in cmd

System Details

posh-git version/path: 1.0.0  C:\Program Files\WindowsPowerShell\Modules\posh-git\1.0.0
PowerShell version: 5.1.18362.1593
git version 2.19.1.windows.1
OS: Microsoft Windows NT 10.0.18363.0

Issue Description
I am experiencing a problem with...
When trying to work with a remote repo over ssh, I am getting prompted to validate the known host key, and provide a password repeatedly. The repo is configured to use ssh key pair for its auth. If I switch over to cmd, and run git pull it works as expected without prompting for credentials.

Interesting. Can you try in a PowerShell session started with powershell -noprofile (without posh-git) to confirm if this is actually related to posh-git or just a general Git+PowerShell issue?

Ran powershell -noprofile then git pull in the resulting prompt, and it worked with the ssh auth, no prompts.

Ran powershell -noprofile then git pull in the resulting prompt, and it worked with the ssh auth, no prompts.

Please try again in a -noprofile shell after you Import-Module posh-git?

Progressively loading like that, the problem did not re-occur. Tested across a few different repos and it was isolated to only one. Re-cloned, and the problem vanished.


Set up better configuration for code climate

https://docs.codeclimate.com/docs/advanced-configuration
Maybe set up pmd

Not doing this after setting up detekt and ktlint


startingTime per track

I'm going to be implementing a feature that will have to set a different startingTime per track, basically as long as you keep a track in the playlist but play another one, the time you were in is stored so that it can resume from there when you play that track again.
I wonder if this is something you would like to have in cassette, since you already have some logic for that, with props.startingTime and when you set this.media.currentTime = this.state.currentTime. The current props.startingTime isn't useful in this case since it's only used in the constructor.

Should it go in the state snapshot if you move away from a track before it's finished? And then you could have a prop for whether you use that or not. And maybe a timeout prop for the amount of time you let a track play before you start saving its lastCurrentTime?

I already have the logic that adds the currentTime in the playlist track after the actions that involve changing the active track, I think the playlist is a nice place to store the startingTimes, because the snapshot is only for the activeTrack and restoring snapshots is only done at the constructor.
I thought that maybe you can leave the logic to the users on how they provide the startingTime, but making sure that if the track has it, it plays from there.

That probably makes enough sense for what you're doing, but for Cassette I would rather not build any features that modify playlist contents, since it relies on the user saving their updated playlist to replace the previous one.
What I was imagining besides just the snapshot is an internal state object that maps track urls to lastCurrentTime values. Every time currentTime updates, we update the object with the currentTime of the current track and include that object in the snapshot that gets saved. Every time a track finishes naturally, it gets removed from that object. Every time we construct a new PlayerContextProvider with a state snapshot, the object gets restored into state.

I think I get why you want to store them in the playlist - it's because you have data on the backend on the last currentTime and they might not have had that track loaded in the last playlist, and it could make the state snapshot really huge over time if you're skipping away from a lot of different tracks.
What API did you have in mind?

Sorry just re-read:

I thought that maybe you can leave the logic to the users on how they provide the startingTime, but making sure that if the track has it, it plays from there.

You don't think there should be a "blessed" way to get updates on the starting time? I'm ok if not, just thinking about it.

That probably makes enough sense for what you're doing, but for Cassette I would rather not build any features that modify playlist contents, since it relies on the user saving their updated playlist to replace the previous one.
What I was imagining besides just the snapshot is an internal state object that maps track urls to lastCurrentTime values. Every time currentTime updates, we update the object with the currentTime of the current track and include that object in the snapshot that gets saved (assuming we've passed the timeout I mentioned earlier). Every time a track finishes naturally, it gets removed from that object. Every time we construct a new PlayerContextProvider with a state snapshot, the object gets restored into state.

In my case with SSR, I can't even use snapshots, since I have to get the snapshot after the component mounts (to avoid differences on what's rendered), if I created the PlayerContextProvider after the app mounts, I might be able to use it, but all the other components in the app rely on the context provider being in the tree, so at the end I didn't end up passing the snapshot, I read the current time and set it manually to media element.
And if we were to keep a map of the current times, you would have to keep in sync with the playlist  depending on what the user wants, some would like to keep the current time even if track is removed, that's not my case though, that's why I think it might not be necessary for cassette to handle how these are stored, and leave it to the user, since he's the one that handles everything that is related to the playlist.

I don't have an issue modifying the playlist since doing so just run the checks of componentDidUpdate and getDerivedStateFromProps, which already run pretty frequently when you update the currentTime in state. However since playlist should be immutable, if you were to update the playlist every time you receive a time update, you would have the overhead of creating the new playlist, spreading the arrays and so... that's why I only update the playlist when the active track changes, we already get the currentTime with the snapshot handler, and I don't modify the playlist in there, currently store it in local storage, but could send to an API as well. There's no need to modify the startingTime in the playlist until you change the track in my opinion.

Sorry just re-read:

I thought that maybe you can leave the logic to the users on how they provide the startingTime, but making sure that if the track has it, it plays from there.

You don't think there should be a "blessed" way to get updates on the starting time? I'm ok if not, just thinking about it.

I've been doing fine getting it from onStateSnapshot. What else would you do different in a "blessed" way?

I think I get why you want to store them in the playlist - it's because you have data on the backend on the last currentTime and they might not have had that track loaded in the last playlist, and it could make the state snapshot really huge over time if you're skipping away from a lot of different tracks.
What API did you have in mind? I don't think it makes sense to modify the playlist live, but maybe there's a hook we need for handling currentTime updates.

I don't have nothing conclusive yet, but something that lives in the track object, similar to the duration wouldn't be too bad from my pov.

In my case with SSR, I can't even use snapshots, since I have to get the snapshot after the component mounts

So I was assuming you were using snapshots after the discussion in https://github.com/benwiley4000/cassette/issues/318. Did something change? It sounded to me like storing a single track in your cookies to initialize the playlist on the server side was sufficient. If that didn't solve your use case I'd like to come back to that issue (I know it's sort of off-topic here but I'd like to come up with a good solution).

I've been doing fine getting it from onStateSnapshot. What else would you do different in a "blessed" way?

Well I intentionally didn't document the insides of that object and stuck it under an __unstable__ key so no one would try to read anything inside of it. 😉  I might change it in a non-major release (in a way that older snapshots would auto-upgrade). Maybe I need to make the __unstable__ key longer and more annoying to type.. 😄

I don't have nothing conclusive yet, but something that lives in the track object, similar to the duration wouldn't be too bad from my pov.

Makes sense. Probably best to support the same form for both.

There's no need to modify the startingTime in the playlist until you change the track in my opinion.

The only use case I thought of was:

I am playing a track and my browser crashes
I come back to the page later and have a different playlist at the start, without the tracking I was playing before
I end up adding that track to the playlist and when I get to it, I want it to resume where I left off

Of course, as you mentioned just now, you aren't looking for this feature. So I agree that for your case it would make sense to only check when the active track changes.

In my case with SSR, I can't even use snapshots, since I have to get the snapshot after the component mounts

So I was assuming you were using snapshots after the discussion in #318. Did something change? It sounded to me like storing a single track in your cookies to initialize the playlist on the server side was sufficient. If that didn't solve your use case I'd like to come back to that issue (I know it's sort of off-topic here but I'd like to come up with a good solution).

I ended up dropping the cookies, it made the whole thing too complicated to only get the player view from the server render, and at the end it wouldn't be interactive until React hydrates, so nothing much to gain. The reason it got complicated is that we have something called placeholder tracks, basically if you don't have any track in the playlist, we set the first episode you see in the page you are, and until you play that episode or another one, the placeholder track is changed when you move between pages, also when the last track finishes (and it's the only one left), it becomes placeholder, so it gets changed when you navigate to another page.
The placeholder track logic made the storage in cookie complicated at the end.

I've been doing fine getting it from onStateSnapshot. What else would you do different in a "blessed" way?

Well I intentionally didn't document the insides of that object and stuck it under an __unstable__ key so no one would try to read anything inside of it. 😉 I might change it in a non-major release (in a way that older snapshots would auto-upgrade). Maybe I need to make the __unstable__ key longer and more annoying to type.. 😄

Haha, something like dangerouslySetInnerHTML, sorry, I can always subscribe to the timeupdate event, but if you want to be able to pass a handler as a prop, I'm cool with that.

I don't have nothing conclusive yet, but something that lives in the track object, similar to the duration wouldn't be too bad from my pov.

Makes sense. Probably best to support the same form for both.

There's no need to modify the startingTime in the playlist until you change the track in my opinion.

The only use case I thought of was:

I am playing a track and my browser crashes/I leave the page
I come back to the page later and have a different playlist at the start, without the track I was playing before
I end up adding that track to the playlist and when I get to it, I want it to resume where I left off

Of course, as you mentioned just now, you aren't looking for this feature. So I agree that for your case it would make sense to only check when the active track changes.

Yes, you could always store the map yourself in local storage or all the currentTimes in a database, and when you add the track back, you check if you have it stored, and add it to the playlist track object before adding it to the playlist.

I think that it would be easy for cassette to just deal with handling a track with a startingTime and a way to get the currentTime as you play a track, so you can store it in any way you like for the use case you want to have.

The placeholder track logic made the storage in cookie complicated at the end.

Cool... I'm willing to revisit adding a way to restore state from snapshot after component mount, if you have an idea for the API. I didn't see a great reason for it originally, but I'm not trying to make your life difficult. 😆

Haha, something like dangerouslySetInnerHTML, sorry

Well my intention was more like __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED lol... (although to be transparent/fair I started using that in the hooks package but as you can see I'm being extra careful I don't break anything if the API changes).

I think that it would be easy for cassette to just deal with handling a track with a startingTime and a way to get the currentTime as you play a track, so you can store it in any way you like for the use case you want to have.

Yeah, I can see now that's the least-complicated thing to do and we don't need a silver bullet. An onTimeUpdate method could work? And we could pass it the current track and index, just like onActiveTrackUpdate - just to avoid confusion over what the current track is.

The placeholder track logic made the storage in cookie complicated at the end.

Cool... I'm willing to revisit adding a way to restore state from snapshot after component mount, if you have an idea for the API. I didn't see a great reason for it originally, but I'm not trying to make your life difficult. 😆

I haven't found the need yet to use the snapshot other than to restore currentTime, and that could be solved with this solution. However, we might think of a solution to restore snapshots after component mounts later on.

Haha, something like dangerouslySetInnerHTML, sorry

Well my intention was more like __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED lol... (although to be transparent/fair I started using that in the hooks package but as you can see I'm being extra careful I don't break anything if the API changes).

Haha, yeah, that one came to mind as well.

I think that it would be easy for cassette to just deal with handling a track with a startingTime and a way to get the currentTime as you play a track, so you can store it in any way you like for the use case you want to have.

Yeah, I can see now that's the least-complicated thing to do and we don't need a silver bullet. An onTimeUpdate method could work? And we could pass it the current track and index, just like onActiveTrackUpdate - just to avoid confusion over what the current track is.

This makes sense.

Did not mean to close lol. Did you want to make a PR?

Yes, I will

Thanks for bearing with me while we thought this one through!

I haven't found the need yet to use the snapshot other than to restore currentTime, and that could be solved with this solution. However, we might think of a solution to restore snapshots after component mounts later on.

Does this mean you don't want to restore other state like muted/volume? Or is it more that you need a way to filter out things you don't want to restore?

It's because I'm not using those yet, but I might in the future, so we can open an issue  for it later, since I'd need a way to restore snapshot after it mounts

In order to set currentTime correctly on iOS, you have to set it after the canplaythrough event. See here: https://stackoverflow.com/questions/18266437/html5-video-currenttime-not-setting-properly-on-iphone. Would you be ok with changing when is trackLoading set to false?

During the loading process of an audio/video, the following events occur, in this order:
loadstart
durationchange
loadedmetadata
loadeddata
progress
canplay
canplaythrough

I think it makes sense to do it in handleMediaCanplaythrough instead of handleMediaLoadedmetadata, since that's when it can start playing and the loading ends.
The event handlers would end up like this (dist code, sorry):
_proto.handleMediaLoadedmetadata = function handleMediaLoadedmetadata() {
  if (this.state.trackLoading && this.media.currentTime !== this.state.currentTime) {
    // correct currentTime to preset, if applicable, during load
    this.media.currentTime = this.state.currentTime;
  }
};

_proto.handleMediaCanplaythrough = function handleMediaCanplaythrough() {
  if (this.state.trackLoading && this.media.currentTime !== this.state.currentTime) {
    // correct currentTime to preset, if applicable, during load
    this.media.currentTime = this.state.currentTime;
  }

  this.setState(function (state) {
    return state.stalled === false && state.trackLoading === false ? null : {
      stalled: false,
      trackLoading: false
    };
  });
};

We set the currentTime in the metadata event as well, since that happens faster, and it works well on other platforms with the exception of iOS.

Notice the comment from stackoverflow: https://stackoverflow.com/questions/18266437/html5-video-currenttime-not-setting-properly-on-iphone#comment75364746_18283198

This is mostly right except that you can listen to the loadedmetadata event instead of canplay since it's fired earlier. – bfred.it May 25 '17 at 7:40

That was what I thought, and I knew this sounded familiar. You can see here we used to set currentTime immediately but now we wait until loadedmetadata. https://github.com/benwiley4000/cassette/blob/next/packages/core/src/PlayerContextProvider.js#L226
I also see this answer which suggests loadeddata (in case loadedmetadata really doesn't work?): https://stackoverflow.com/a/50951559/4956731
So I'm a bit confused. Are you sure it needs to wait until canplaythrough? That will be a super long time for a long clip I think?

I can tell you that it doesn't work in loadedmetadata, when it starts to play, it starts from 0;. Let me check if another event before canplaythroughworks.

canplay works as well.

What's your opinion on trackLoading?

Is it possible to check immediately after setting currentTime if it worked or not? That way you could set track loading false if it did work, and wait until loadeddata if it didn't?

The value after you set it is the one that you set, but then at some point between loadedmetadata and play, it's reset to 0.
Even if there wasn't this issue with currentTime, there's still a period between loadedmetadata and the track playing, wouldn't it be better to stop showing a loading indicator in the UI, when the audio can start playing?

Yeah I see your point. You're probably right.
My main question is about this line: https://github.com/benwiley4000/cassette/blob/next/packages/core/src/PlayerContextProvider.js#L677
As long as the track is still loading we prevent any time updates from happening. Is there any scenario where a timeupdate would happen between metadataloaded and dataloaded and we would cause problems? I would suspect not.. as long as we're good there, I think your proposed change makes sense. We can probably just change the metadataloaded handler to a dataloaded handler?

I looked and it seems like no that will never happen, so it makes sense to listen to loadeddata instead of loadedmetadata.


Some tentative improvements

Here I propose some changes:

using the Docker networking API to create the bridge and to connect containers to it, instead of netns

adding the --target-config-file to allow the target BGP daemon to use an existing configuration file that is on the host

adding some arguments to config and bench to allow to set the local IP prefix and the local IP addresses of monitor, target and testers

changing testers.testerX.tester in testers.testerX.neighbors

testers:
- name: tester1
  neighbors:
    <IP_ADDRESS>:
      ...
    <IP_ADDRESS>:
      ...
- name: tester2
  neighbors:
    <IP_ADDRESS>:
      ...
    <IP_ADDRESS>:
      ...

adding ExaBGP MRT tester (based on mrtparse)

@pierky Thanks a lot for your work and sorry for the delay.
I tried your branch and I couldn't run a test except for bird.
It seems the startup script of gobgp and bird is blocking.
Could you look into it?

This should work now.

thanks!


Long delay after execution completion due to data upload

Environment data

VS Code version: 1.63.2 (user setup)
Jupyter Extension version: v2021.11.1001550889
Python Extension version: v2021.12.1559732655
OS: Windows_NT x64 10.0.19043
Python and/or Anaconda version: Python 3.6.13, 3.8.8 via Anaconda, conda version 4.10.1
Type of virtual environment used: conda
Jupyter server running: Local (VS Code running Remote via SSH)

Expected behaviour
When I am connected via a VS Code remote SSH session running an interactive window (which is running in the same remote machine): for every cell, once evaluation is complete and output displayed, I should be able to evaluate the next cell nearly immediately.
Actual behaviour
When displaying images in the notebook, a lot of data is being sent to Jupyter server, much more than is being received. Consequently, the notebook hangs until the upload is complete and other cells cannot be evaluated.
Steps to reproduce:

Connect to an SSH remote in VS Code
Open a Python file with the following code

# %%
import numpy as np
import matplotlib.pyplot as plt

for i in range(10):
    im = np.random.uniform(0, 1, (200, 200))
    plt.imshow(im)
    plt.show()

# %%
print(2 + 2)

Open a network monitor and run all cells. You will notice a large delay after the last image is displayed and before the next cell is evaluated. During the run and the delay after, the network monitor will show a large amount of data uploading.

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

Jupyter Extension Version: 2021.11.1001550889.
Python Extension Verison: 2021.12.1559732655.
Info 15:48:45: Experimentation service retrieved: [object Object]
User belongs to experiment group 'jupyterTestcf'
User belongs to experiment group 'jupyterEnhancedDataViewer'
Info 15:48:45: ZMQ install verified.
Info 15:48:45: Experiment status for python is {"enabled":true,"optInto":[],"optOutFrom":[]}
Info 15:48:46: Process Execution: > ~\AppData\Local\Continuum\anaconda3\envs\numa\python.exe -m pip list
> ~\AppData\Local\Continuum\anaconda3\envs\numa\python.exe -m pip list
Info 15:48:59: Creating controller for interactive with interpreter ~\AppData\Local\Continuum\anaconda3\envs\numa\python.exe
...
Info 15:53:53: Restart requested vscode-interactive:Interactive-1.interactive
Info 15:53:53: Restart kernel execution
Info 15:53:53: Cancel pending cells
Info 15:53:53: Starting raw kernel myenv (Python 3.6.13)
Info 15:53:53: installMissingDependencies ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe
Info 15:53:53: IPykernel found previously in this enviornment ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe
Info 15:53:53: Restarting 12345678-3f5e-4466-a6bd-12345678f921
Info 15:53:53: Kernel launching with ports 9007,9008,9009,9010,9011. Start port is 9000
Info 15:53:53: Launching kernel daemon for Python 3.6.13 64-bit ('myenv': conda) # ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe
Info 15:53:53: Creating daemon process for ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe with env variables count 77
Info 15:53:53: Process Execution: > ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Info 15:53:53: Starting kernel from scratch
Warn 15:53:54: Didn't get response for requestKernelInfo after 34ms.
Info 15:53:54: Got new session 12345678-ba19-4762-b3f8-12345678cce7
Info 15:53:54: Started new restart session
Info 15:53:54: Dispose Kernel process
Info 15:53:54: kill daemon
Info 15:53:54: UpdateWorkingDirectoryAndPath in Kernel
Info 15:53:54: changeDirectoryIfPossible
Info 15:53:54: Executing (status idle) silently Code = import os\nimport sys\n%cd "d:\Projects\myenv\research"\nif os.getcwd() not in sys.path:\nsys.path.in
Info 15:53:54: Executing silently Code (completed) = import os\nimport sys\n%cd "d:\Projects\myenv\research"\nif os.getcwd() not in sys.path:\nsys.path.in
Info 15:53:54: Executing (status idle) silently Code = %config Completer.use_jedi = False
Info 15:53:54: Executing silently Code (completed) = %config Completer.use_jedi = False
Info 15:53:54: Executing (status idle) silently Code = %config InlineBackend.figure_formats = ['png']
Info 15:53:54: Executing silently Code (completed) = %config InlineBackend.figure_formats = ['png']
Info 15:53:54: Executing (status idle) silently Code = import sys\nprint(sys.executable)
Info 15:53:54: Executing silently Code (completed) = import sys\nprint(sys.executable)
Info 15:53:54: Waiting for idle on (kernel): 12345678-ba19-4762-b3f8-12345678cce7 -> idle
Info 15:53:54: Finished waiting for idle on (kernel): 12345678-ba19-4762-b3f8-12345678cce7 -> idle
Info 15:53:54: Executing (status idle) silently Code = __file__ = 'd:\\Projects\\myenv\\research\\vscode_jupyter_img_ssh_issue.py'
Info 15:53:54: Executing (status idle) silently Code = __file__ = 'd:\\Projects\\myenv\\research\\vscode_jupyter_img_ssh_issue.py'
Info 15:53:54: Executing silently Code (completed) = __file__ = 'd:\\Projects\\myenv\\research\\vscode_jupyter_img_ssh_issue.py'
Info 15:53:54: Executing silently Code (completed) = __file__ = 'd:\\Projects\\myenv\\research\\vscode_jupyter_img_ssh_issue.py'
Info 15:54:35: Executing (status idle) silently Code = # Query Jupyter server for the info about a dataframe\nimport json as _VSCODE_json\nimport builtins as
Info 15:54:35: Executing silently Code (completed) = # Query Jupyter server for the info about a dataframe\nimport json as _VSCODE_json\nimport builtins as
Info 15:54:35: Executing (status idle) silently Code = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:35: Executing silently Code (completed) = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:35: Executing (status idle) silently Code = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:35: Executing silently Code (completed) = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:36: Executing (status idle) silently Code = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:36: Executing silently Code (completed) = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:41: Executing (status idle) silently Code = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:41: Executing silently Code (completed) = _rwho_ls = %who_ls\nprint(_VSCODE_getVariableTypes(_rwho_ls))
Info 15:54:42: Adding hash for 1 = 0b6cb553f4b5 with 8 lines
Info 15:54:44: Cell 1 executed with state Success
Info 15:54:44: Finished execution for 12345678-1c92-4709-9041-12345678804a
Info 15:54:55: Pre-warming kernel daemon for d:\Projects\myenv\research
Info 15:54:55: IPykernel found previously in this enviornment ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe
Info 15:54:55: Creating daemon process for ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe with env variables count 77
Info 15:54:55: Process Execution: > ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~\AppData\Local\Continuum\anaconda3\envs\myenv\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Info 15:55:12: Adding hash for 2 = 33d6a4e9a2bd with 1 lines
Info 15:55:12: Cell 2 executed with state Success
Info 15:55:12: Finished execution for 12345678-04e7-4a06-8e8e-12345678b2fd

I should add that I often need to display ~40 plots. In this case the delay is of several minutes after execution is complete.

This looks like a dupe of microsoft/vscode#140116

The duplicate is filed under vscode, while I believe this to be a problem specific to Jupyter. @greazer can you comment on this?


Add new function droits_acces_specifiques GRDF API version 1.2

Add function droits_access_specifique which is a new function in GRDF API 1.2

Merged with some modifications and CLI added, thanks!


Intel ssp blob ver1.5 and aux data

Add support for:

ssp blob ver 1.5
ssp auxiliary data

@kv2019i tried to combine as much logs as possible to still look "clean". Yeah was exactly adding the INF to see exactly what is called or not, these are really rare and called in driver config. So no streaming runtime spamming...

@abonislawski updated for the link clock to be valid only in ace.

@abonislawski good for you?

please just fix this optional comment and we are good to merge

@abonislawski new version. Changed the clock struct name to include "mclk" and "_2" to describe the versioning. Also "optional" removed from comment. Did not remove this comment from legacy blob, as it is not part of this PR (and not from me originally), should be probably fixed later.


Feat: shorthands for all subcommands.

It should be possible to use just the first one/two letter/s of a subcommand instead of the whole subcommand.
Example:
instead of add => a

Implemented by PR #64


Dedicated search functionality in log.html

Searched a bit on the issue tracker but didn't find a similar request. A colleague in my organization who wanted to start using Robot Framework asked me if there is the possibility to search the logs with regular expressions. This question immediately triggered an enhancement idea for Robot Framework, because there were a few times in which I would have found it useful to have a dedicated search functionality directly in the log.html file. The search box provided by the web browser is pretty limited in this regard as it only searches elements that are already displayed in the page. For example, if a test case is collapsed all the containing keywords are hidden and not available for search.
Having to search a huge file for a specific keyword call (that may have failed or not) can be sometimes really tedious and a dedicated search box in the bottom of the page would help a lot. I know that we already have a search button on the keyword documentation html file that helps finding keywords faster, so I think it should fit logs well.
If this is considered a valid enhancement request, I am also interested in trying to implement it.

I agree this would be handy. Probably wouldn't be too complicated to implement but coming up with a nice UI requires some thinking. Anyone interested to prototype this?

Recap (complete quote) from the duplicate ^^^:

I would like to be able to search for a keyword (that I know it has executed) on an execution, but I don't want to find out under which keyword it is hiding.
More ideas. Search box with:

Search only keyword names
Search on Fully Qualified Keyword Names
Search on visible log level
Search on all log levels

Additionally, it would be nice if the anchor-quote did not change as part of said search; sometime it is troubling to me that an existing anchor in the URL would block from the failed keywords being expanded.

Recap (complete quote) from the duplicate ^^^:

I would like to be able to search for a keyword (that I know it has executed) on an execution, but I don't want to find out under which keyword it is hiding.
More ideas. Search box with:

Search only keyword names
Search on Fully Qualified Keyword Names
Search on visible log level
Search on all log levels

Additionally, it would be nice if the anchor-quote did not change as part of said search; sometime it is troubling to me that an existing anchor in the URL would block from the failed keywords being expanded.

Can we merge this PR? It's very difficult for us to search for anything, we have to expand all steps in order to search! That's so annoying


Rocket.Chat won't start on Fedora Linux

Describe the bug
Rocket.Chat won't start. If run from a shortcut, nothing happens. Running from terminal gives the following:
rocketchat-desktop
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[7852:0820/114837.080563:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process.
[bugsnag] Loaded!
[bugsnag] Uncaught exception, the process will now terminate…
TypeError: Error processing argument at index 0, conversion failure from
    at BrowserWindow.setBounds (node:electron/js2c/browser_init:33:520)
    at applyRootWindowState (/opt/Rocket.Chat/resources/app.asar/app/main.js:1001:23)
    at BrowserWindow.<anonymous> (/opt/Rocket.Chat/resources/app.asar/app/main.js:1193:13)
    at BrowserWindow.emit (node:events:390:28)
    at BrowserWindow.emit (node:domain:475:12)
    at node:electron/js2c/browser_init:161:13146
    at processTicksAndRejections (node:internal/process/task_queues:78:11)

OS: Fedora 36 x64 Wayland
Version of Rocket.Chat (Electron/Desktop): 3.8.7 RPM

@vorons this is a bug that will be fixed on the next release. For now, you can go to /home/<username>/.config/Rocket.Chat/ and delete the config.json or edit it. There will be a -1 number on the rootWindowState bounds, just change it to 0 (zero). It's a infinity number bug from chromium.

The value 0 is already set for rootWindowState bounds. Deleting the file config.json is solved.
Thanks a lot.


[DO] Indicating non-development for WebGPU API

Summary

Removing references to words that imply we'll work on WebGPU in future, such as "yet" and "currently".
Redirecting users to Workers-AI for GPU-related projects.
Repurposing the "note" component into a "caution" component.

Screenshots (optional)

Documentation checklist

[x] The documentation style guide has been adhered to.
[ ] If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.
[ ] Files which have changed name or location have been allocated redirects.

@vy-ton I didn't explicitly say that we're no longer developing it - I thought that might come across too abrupt? Let me know if you think we should say it anyway.


Implement new form error styles

As seen in figma: https://www.figma.com/file/YdjrVsNumbBsWVo82Wje2h6N/alonetone-white-theme?node-id=1361%3A7177

Default rails does let us highlight the field with errors but we'd have to do a bit of custom wrangling on each field if we wanted to display the error inline there. I'll let you decide if you want that implemented. If so, I can hook up individual pages.
Task for Sudara:

[ ] Use rails translations to make the error messages actually sane.

🥇 🥇


Adding information about basic authentication support

the SQL ODBC Connector for PolyBase only supports basic authentication, not Kerberos authentication.

@EricBuMSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@MikeRayMSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Set tail correction to F in MCCCS simulations

Something terrible happened. I got so many junk files.


feat: Usermanagement with peribolos

Adding peribolos configuration and workflows for easier community management. Added members based on community repo.
TODO:

[ ] repo dump to create all the repos automatically
[ ] team assignments, as I am not part of the org, I can't see teams

closes: #158

Following things happened:

i renamed the teams.yaml to workgroup.yaml: main reason is to reduce misunderstandings and confusion when we talk about github teams and now workgroups. I think this could have been quiet confusing for people. Now there is a clear difference between them
i added a readme in the config folder, to clarify what is actually happening
i added default values, which will overwrite the configuration if nothing else is specified :) this way the org.yaml is smaller and has less configuration in it


Support environment role for internlm2

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily receiving feedbacks. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Support a new environment role in InternLM2 and fix the issue:
https://github.com/InternLM/lmdeploy/issues/1135
Modification

Add new role environment
Update eox_map in messages2prompt method

BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repositories?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit tests to ensure the correctness.
If the modification has a dependency on downstream projects of a newer version, this PR should be tested with all supported versions of downstream projects.
The documentation has been modified accordingly, like docstring or example tutorials.

Hi, @arkohut thanks for your contribution.
As I explained in issue #1135, LMDeploy does not support the function call, you can refer to another project lagent for the LLM agents, which I think can meet your requirements.


Redirect to wiki page?

It would be cool if clicking on the see.page link automatically redirected you to GitHub

Ah sorry this is a WONTFIX. Or rather if it was fixed this way, it would risk getting the content unindexed or penalized.
I don't do this because if a search engine crawler visits such a link and gets automatically redirected, it won't index the content. Search engines crawlers will see the content at the link as a redirect, and then just ignore the content at the link and then not index it. In fact, the search engines crawlers will actually land on the original GitHub Wiki page and sees that it's unindexable, making the whole crawl pointless.
I also do not selectively try to redirect only search engines crawlers and not users. That would be cloaking and it might violate the guidelines. I'm sure that large search engines "secret shopper" the links to check for this automatically. I don't want to risk any penalizing of the content so I err on not doing this approach either. It's probably debatable if the current approach is cloaking "because it provides our users with different results than they expected" but as we all know, some of the search engines are uncaring inhuman organizations and I prefer to err on the side of pleasing the dumb, human-made computers by having a dumb interstitial for all, robots and humans.
The only wikis/pages with this behavior are the decommissioned wikis that GitHub allows direct indexing of. I actually want this service to fall off search engines for those Wikis and I have the service configured to automatically redirect. Because search engines crawlers will be automatically redirected to GitHub's content and GitHub does allow that content to be indexed on GitHub.com, the content is not at risk of being unindexed.

In place of this, I do try the following:

Make the buttons and URL to get to the original GitHub page as obvious and easy to tap or click as possible.
Also make said buttons and URL use window.replace() instead of a plain anchor link to make the service's content page disappear in history if the user goes to GitHub. When they press back or look in their history, the service's content page won't be there contaminating it and will go back to their search engine result page or however they got to the service's content page.

Actually, I think I might even back out of the window.replace thing. Looking in Google's search console, that might be tripping Google's redirect nose.

You can see a fight I'm having like in #137.

no worries, i will implement the redirect myself using a browser extension in my setup.

If you do a write up on it, I would love to link to it. Keep me posted!

I use PageExtender which allows user-defined JS and CSS per domain.
So I create a file: github-wiki-see.page.js
Contents:
if (document.getElementById('header_button')) document.querySelector(".visit_url_button").click();

That's it!

Hmm, I think I might make a bit of a contract to provide some elements via ID to click.


Simplify settings pages with item list

Gitea SSH key seeting page display a column with a point indicating if the key is used recently.
It's more simple to display recent use of key like github and color the key icon and date of recent use.
Before :

After :

Still need to be apply in repository key list.

I have gone a little further in little cleaning. In some case there we're item with grid with only one column and other with a "useless" column (the point) for indicating activity when it could be display in icon.
Before :

After :

Why not keeping the octicon-key icon in deploy-keys as in your first screeshot ?
About !important CSS I'm afraid I removed that with a9de85d31d8ba3ce8801d03e66866e527f5f39d7 by using lessc 1.6.3 (LESS Compiler) [JavaScript] (lessc --version). Similar to the gofmt issue, this may be one of those cases in which different tooling version result in different behavior, which would require us to restrict the allowed version to run generative commands (see #1366)

Please also check if we need to update the templates version (I'm pretty sure Gogs had the concept of a "template version" to make sure templates and code reading them would be consistent, not sure if that concept is still working in Gitea)

@strk I have use a icon from semantic because it need the class .icon to be well display in .item but the class .icon override .octicon-* classes so I will need add some "hack" to fix it. If we want to keep octicon icon.

Looking at it should be only add
.ui.list > .item > i.octicon (or mega-octicon){
display: table-cell;
margin: 0;
padding-top: .07142857em;
padding-right: .28571429em;
vertical-align: top;
-webkit-transition: color .1s ease;
transition: color .1s ease;
}
based from .ui.list > .item > i.icon

I replace key icon with original octicon key

LGTM

LGTM

@sapk Why you delete ".key" class from less file? I am working (testing) on patch to fix multiple broken pages after your commit and this one missing word is problem. You changed styling in whole "settings" scope. Is it only becouse you wanted to use it for both, repo and user settings page?

This PR simplify the html and remove some specific css "hack" with a more generic and global css for all items lists.

In fact the .key is not completely removed but only the .key.meta specific code is kept for color and better spacing between line.

Looking at your issue, I will have a look if it doesn't have impacted others pages

@sapk It has impact also on dropdown options (repo ->collaborators -> actions). If i revert ".key" in less file it looks OK and your change should still work fine (tested booth shh key settings).

Make a PR because I don't see exactly what you mean.
For dropdown impact just restrict parent with > is enough without further impact.
I will force me to take time to propose a quick solution or look at your PR soon.
I think you catch that more part of template could be simplify and follow more semantic ui design overall (so +1 for the good catch). That could be done in a other PR after a simple fix.


execute sql lose data,sql=INSERT INTO final_all SELECT FROM tmp_all

Describe the bug or unexpected behaviour
We use flink to write kafka data to clickhouse, first to the temporary table (this step does not lose data problems).then The temporary table written to the final table (tmp, final table are all ReplicatedMergeMergeTree and Distributed engine), but this step often loses data, and the java code in flink finds no errors and exceptions. Clickhouse's log also found no problem. The sql statement is as follows: INSERT INTO final_all(checkpoint_id,checkpoint_timestamp) SELECT checkpoint_id,checkpoint_timestamp FROM tmp_all WHERE checkpoint_id = %s AND checkpoint_timestamp = %s. Can you see it? Thank
How to reproduce

tmp,final table are all ReplicatedMergeTree and Distributed engine
write to tmp table.  sql= INSERT INTO tmp_all VALUES %s ,this step does not lose data problems
write tmp table to final. sql=INSERT INTO final_all SELECT FROM tmp_all , usually lose data
tmp_all and final_all are Distributed table
Write the final table immediately after writing the TMP table

https://clickhouse.yandex/docs/en/operations/table_engines/replication/
Data blocks are deduplicated. For multiple writes of the same data block (data blocks of the same size containing the same rows in the same order), the block is only written once. The reason for this is in case of network failures when the client application doesn't know if the data was written to the DB, so the INSERT query can simply be repeated. It doesn't matter which replica INSERTs were sent to with identical data. INSERTs are idempotent. Deduplication parameters are controlled by merge_tree server settings.

@den-crane no this reason, tmp_all and final_all table  is not the same table

Can you provide the numbers of lost rows against total rows? And sample queries on how you compare both tables?

@den-crane no this reason, tmp_all and final_all table is not the same table

Please, show the output  grep "already exists; ignoring it" /var/log/clickhouse-server/clickhouse-server.log


Generate mathematical statements rather than questions

Is there an easy way to modify the code in this repo so that you can generate statements rather than questions?
For example, instead of generating a sample with Question "What is 4 + 4?" and Answer "8". Is it possible to generate the statement "4 + 4 = 8"?

The code is pretty easy to modify assuming you know python. E.g., to change the addition question, you could modify some of the templates here: https://github.com/deepmind/mathematics_dataset/blob/master/mathematics_dataset/modules/arithmetic.py#L141 (maybe putting what you want just as a question template), then modify the generation to only print out the question (see e.g., https://github.com/deepmind/mathematics_dataset/blob/master/mathematics_dataset/generate.py)


need a proper documentation of Readme.md

Kindly assign it to me.

Kindly assign it to me.

yeah sure and make sure to make a pr after hacktoberfest has officially start other it will not be counted

@Arman-ali-khan-786 It will be starting from tomorrow isn't it?

@Arman-ali-khan-786 It will be starting from tomorrow isn't it?

Yes

@Arman-ali-khan-786 assign me

@Arman-ali-khan-786 assign me

yeah work on it and update the contributors list like adding a api that fetches automatically the list of names

@Arman-ali-khan-786 I have already created PR for the issue. Merge the PR. @himanshu251001 Buddy kindly make new issue else you will face merge conflicts. Happy Contributing :)

@Arman-ali-khan-786 assign me

yeah work on it and update the contributors list like adding a api that fetches automatically the list of names

you also work on it


Using these lists in pfsense without pfblockerng

Hi guys,
Is it possible to use these lists(adware + malware )  in pfsense  without using pfblockerng  ? For example in an Alias  and then make a firewall rule using this Alias on the WAN Interface ?
Kindly advise.

Hi @marcoczen thank you for posting your question but I feel this is out of our scope.
Closing.

Hi @marcoczen thank you for posting your question but I feel this is out of our scope.
Closing.

Thank you.
My apologies.
I couldnt find an answer ( without pfblockerng )  anywhere else -  so i thought I try here.


MM-36054, MM-35968: Fix following button and prevent no-op/server error

Summary

Fixes RHS Follow button not reflecting 'Following' when there are no replies
Prevents a (should be no-op) server-error when:

opening a message in RHS that has no replies
following a message with no replies
first-replying to a message (that is converted to a Thread)

Ticket Link

https://mattermost.atlassian.net/browse/MM-36054
https://mattermost.atlassian.net/browse/MM-35968

Related Pull Requests

https://github.com/mattermost/mattermost-server/pull/17683

Screenshots

Release Note

NONE

cc @jgilliam17 / @ogi-m


Fix ElectionTermCollector UT

By default collector is disable and because of that UT is failing. Fixed the UT for ElectionTerm Collector.

We can enable the collector by mocking and setting the value to true. This will help us to test the collectMetrics functionality.
Sample: https://github.com/opendistro-for-elasticsearch/performance-analyzer/blob/main/src/test/java/com/amazon/opendistro/elasticsearch/performanceanalyzer/collectors/ShardStateCollectorTests.java#L103
Any reason why we cant go through this route instead of removing the test?


VideoPlayer plugin missing from ionic-native modules

Cannot import VideoPlayer from the native library (ionic-native) even after downloading the plugin via the ionic 2 docs page. Error says there is no exported member. I have tried lots of solutions online but it just didn't work. I also realized that the plugin is not in the ionic-native modules folder. Is there a problem or is there a special way to get it to work ?

This issue was moved to driftyco/ionic-native#563

Hello, because this issue was related to Ionic Native and not the Ionic Framework I have moved this issue to the appropriate repo. Thanks for using Ionic!


Detox postinstall fails in non-React Native projects

What happened?
If I try to install detox in a fresh or standalone project, I see this error:
npm ERR! code 1
npm ERR! path /Users/yaroslavs/Projects/1/node_modules/detox
npm ERR! command failed
npm ERR! command sh -c node scripts/postinstall.js
npm ERR! node:internal/modules/cjs/loader:1147
npm ERR!   throw err;
npm ERR!   ^
npm ERR!
npm ERR! Error: Cannot find module 'react-native/package.json'
....

What was the expected behaviour?
Detox should be able to install without errors.
Was it tested on latest Detox?

[X] I have tested this issue on the latest Detox release and it still reproduces.

Help us reproduce this issue!

Create an empty folder, e.g. my-project.
Go inside my-project.
Run: npm init -y
Run: npm install detox

In what environment did this happen?
Detox version: 20.19.1
React Native version: N/A
Has Fabric (React Native's new rendering system) enabled: N/A
Node version: 20.11.1
Test-runner (select one): N/A
Detox logs
Detox logs
➜  1 npm install detox
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm ERR! code 1
npm ERR! path /Users/yaroslavs/Projects/1/node_modules/detox
npm ERR! command failed
npm ERR! command sh -c node scripts/postinstall.js
npm ERR! node:internal/modules/cjs/loader:1147
npm ERR!   throw err;
npm ERR!   ^
npm ERR!
npm ERR! Error: Cannot find module 'react-native/package.json'
npm ERR! Require stack:
npm ERR! - /Users/yaroslavs/Projects/1/node_modules/detox/src/utils/rn-consts/rn-consts.js
npm ERR! - /Users/yaroslavs/Projects/1/node_modules/detox/scripts/updateGradle.js
npm ERR! - /Users/yaroslavs/Projects/1/node_modules/detox/scripts/postinstall.js
npm ERR!     at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
npm ERR!     at Module._load (node:internal/modules/cjs/loader:985:27)
npm ERR!     at Module.require (node:internal/modules/cjs/loader:1235:19)
npm ERR!     at require (node:internal/modules/helpers:176:18)
npm ERR!     at parseRNVersion (/Users/yaroslavs/Projects/1/node_modules/detox/src/utils/rn-consts/rn-consts.js:2:23)
npm ERR!     at Object.<anonymous> (/Users/yaroslavs/Projects/1/node_modules/detox/src/utils/rn-consts/rn-consts.js:11:3)
npm ERR!     at Module._compile (node:internal/modules/cjs/loader:1376:14)
npm ERR!     at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
npm ERR!     at Module.load (node:internal/modules/cjs/loader:1207:32)
npm ERR!     at Module._load (node:internal/modules/cjs/loader:1023:12) {
npm ERR!   code: 'MODULE_NOT_FOUND',
npm ERR!   requireStack: [
npm ERR!     '/Users/yaroslavs/Projects/1/node_modules/detox/src/utils/rn-consts/rn-consts.js',
npm ERR!     '/Users/yaroslavs/Projects/1/node_modules/detox/scripts/updateGradle.js',
npm ERR!     '/Users/yaroslavs/Projects/1/node_modules/detox/scripts/postinstall.js'
npm ERR!   ]
npm ERR! }
npm ERR!
npm ERR! Node.js v20.11.1

Device logs
N/A
More data, please!
No response

@instesti try locking to 20.17.1 . I hope @gosha212 will find an hour to fix that.


termination round

after termination, a committee signs the hare results.
This should not be part of the Hare protocol. It is merely a step that should be done after consensus is terminated.
This is part of protocol 2.0.

@barakshani wrote:

Termination round: since in protocol SM2 we would also need, sometimes, to sync hare results, there was an idea to add another round, after termination, where the active participants sign the outset set. Do we really need this to be a round, similar to previous ones? For comparison, for old enough history (where we don't store the hare results), in one of the last research meetings we discussed "just asking" for the correct blocks from our neighbours. So the question is, whether is it really critical to be able to prove hare results that are synced.


Add Hello World Mesh examples for Sept Preview

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
This updates the template for hello world to include the changes required to run on isolated network and gateway resources.

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

The API version for the network and gateway is 2018-09-01-privatepreview. I have moved this change there. Feel free to close this PR.


Add arm-linux-gnueabihf linker when adding arm-linux-gnueabihf target

Since the arm-linux-gnueabihf target will fail a cargo build --target=arm-unknown-linux-gnueabihf without an appropriate linker, I think the linker should be automatically checked / included in the target install.

I'm trying to figure out how to set up the linker manually in the meantime, it's tricky: https://github.com/crosstool-ng/crosstool-ng/issues/396#issuecomment-222263347

OSX doesn't allow static binaries

Just disable static linking in your menuconfig, and you should be able to move forward ;)

You might have to look in multiple spots. Maybe just edit the .config and grep for STATIC

ok, retrying

@bhundven: next error:
[INFO ]  Installing C library headers & start files
[EXTRA]    Configuring C library
[ERROR]    configure: error:
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing C library headers & start files'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_libc_backend_once[scripts/build/libc/glibc.sh@348]
[ERROR]  >>        called from: do_libc_backend[scripts/build/libc/glibc.sh@153]
[ERROR]  >>        called from: do_libc_start_files[scripts/build/libc/glibc.sh@70]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@646]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/Volumes/CrossTool2NG/crosstool-ng-1.22.0/docs/B - Known issues.txt'
[ERROR]
[ERROR]  (elapsed: 30:28.00)
[30:29] / make[1]: *** [build] Error 1
make: *** [build.4] Error 2

next error:
[INFO ]  Installing C library
[ERROR]    /Volumes/CrossTool2NG/armv7-unknown-linux-gnueabihf/.build/src/newlib-<IP_ADDRESS>60226/newlib/libc/sys/arm/arm.h:32:25: fatal error: acle-compat.h: No such file or directory
[ERROR]    make[7]: *** [lib_a-trap.o] Error 1
[ERROR]    /Volumes/CrossTool2NG/armv7-unknown-linux-gnueabihf/.build/src/newlib-<IP_ADDRESS>60226/newlib/libc/sys/arm/arm.h:32:25: fatal error: acle-compat.h: No such file or directory
[ERROR]    make[7]: *** [lib_a-libcfunc.o] Error 1
[ERROR]    /Volumes/CrossTool2NG/armv7-unknown-linux-gnueabihf/.build/src/newlib-<IP_ADDRESS>60226/newlib/libc/sys/arm/arm.h:32:25: fatal error: acle-compat.h: No such file or directory
[ERROR]    make[7]: *** [lib_a-syscalls.o] Error 1
[ERROR]    make[6]: *** [all-recursive] Error 1
[ERROR]    make[6]: *** [crt0.o] Error 1
[ERROR]    make[5]: *** [all-recursive] Error 1
[ERROR]    make[4]: *** [all-recursive] Error 1
[ERROR]    make[3]: *** [all] Error 2
[ERROR]    make[2]: *** [all-target-newlib] Error 2
[ERROR]    make[1]: *** [all] Error 2
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing C library'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@259]
[ERROR]  >>        called from: do_libc[scripts/build/libc/newlib.sh@128]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@652]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/Volumes/CrossTool2NG/crosstool-ng/docs/B - Known issues.txt'
[ERROR]
[ERROR]  (elapsed: 25:35.00)
[25:35] / make: *** [build] Error 2

next error:
[ALL  ]    make[3]: *** No rule to make target `/Volumes/CrossTool2NG/armv8-rpi3-linux-gnueabihf/.buil
d/armv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/IBM1388.so', needed by `others'.  Stop.
[ALL  ]    make[3]: *** Waiting for unfinished jobs....
[ALL  ]    /bin/sh ../scripts/move-if-change /Volumes/CrossTool2NG/armv8-rpi3-linux-gnueabihf/.build/a
rmv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/iso8859-7jp.T /Volumes/CrossTool2NG/armv8-r
pi3-linux-gnueabihf/.build/armv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/iso8859-7jp.h
[ALL  ]    /bin/sh ../scripts/move-if-change /Volumes/CrossTool2NG/armv8-rpi3-linux-gnueabihf/.build/a
rmv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/cp774.T /Volumes/CrossTool2NG/armv8-rpi3-li
nux-gnueabihf/.build/armv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/cp774.h
[ALL  ]    touch /Volumes/CrossTool2NG/armv8-rpi3-linux-gnueabihf/.build/armv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/iso8859-7jp.stmp
[ALL  ]    touch /Volumes/CrossTool2NG/armv8-rpi3-linux-gnueabihf/.build/armv8-rpi3-linux-gnueabihf/build/build-libc-final/iconvdata/cp774.stmp
[ERROR]    make[2]: *** [iconvdata/others] Error 2
[ERROR]    make[1]: *** [all] Error 2
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing C library'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@259]
[ERROR]  >>        called from: do_libc_backend_once[scripts/build/libc/glibc.sh@471]
[ERROR]  >>        called from: do_libc_backend[scripts/build/libc/glibc.sh@152]
[ERROR]  >>        called from: do_libc[scripts/build/libc/glibc.sh@57]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@652]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/Volumes/CrossTool2NG/crosstool-ng/docs/B - Known issues.txt'
[ERROR]
[ERROR]  (elapsed: 54:36.00)

ok, I guess I'm giving up for now. I suppose it's more convenient to spin up a VM w/ ubuntu to do the cross-compile. Maybe someone else can give it a shot.

I gave up too. It's really sad!

crosstool-NG aims at building toolchains

You guys forgot to mention that this excludes Mac!

It's been a while since the last update to the thread. Hopefully this still helps.
Increasing the number of open files should get you past the "IBM1388.so" error.
I did uname -n 2048, but uname -n 1024 may be sufficient. (By default macOS limits open files to 256.)

@mmayer the command uname -n 2048 is wrong, you have to use ulimit -n 2048


Replace strings.Cut() with strings.Index()

Please provide a description of this PR:
Replace strings.Cut() with strings.Index(), strings.Cut() is a new feature in go 1.18
This feature will not be available for the developer's go version < 1.18, e.g: my current go version is go1.17.6 I can't use strings.Cut().

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.
none

[x] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

Hi @xichengliudui. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

This pr does not simply replace Cut() with Index(), It doesn't matter to me whether I use Cut() or Index().
Importantly, I can't use Cut() when my go version is below 1.18.
Do we have to upgrade golang to >= 1.18?

ok


flatten_indices doesn't work with pandas format

Describe the bug
Hi,
I noticed that flatten_indices throws an error when the batch format is pandas. This is probably due to the fact that flatten_indices uses map internally which doesn't accept dataframes as the transformation function output
Steps to reproduce the bug
tabular_data = pd.DataFrame(np.random.randn(10,10))
tabular_data = datasets.arrow_dataset.Dataset.from_pandas(tabular_data)
tabular_data.with_format("pandas").select([0,1,2,3]).flatten_indices()
Expected behavior
No error thrown
Environment info

datasets version: 2.10.1
Python version: 3.9.5
PyArrow version: 11.0.0
Pandas version: 1.4.1

Thanks for reporting! This can be fixed by setting the format to arrow in flatten_indices and restoring the original format after the flattening. I'm working on a PR that reduces the number of the flatten_indices calls in our codebase and makes flatten_indices a no-op when a dataset does not have an indices mapping, so I'll incorporate the fix in that PR.


No Add-ons allowed on Raspberry Pi 4

Using hassos_rpi4-3.3.img.gz from 20190716.2 on a Raspberry Pi 4 and joined the dev channel. All Add-ons, both official and community) are unavailable.
The log output if you try to install any add-on is like this:
19-07-17 12:39:12 ERROR (MainThread) [hassio.addons] Add-on a0d7b954_logviewer not supported on that platform
System info:

Setting
Value

arch
armv7l

dev
false

docker
true

hassio
true

os_name
Linux

python_version
3.7.4

timezone
Europe/Stockholm

version
0.96.0b4

virtualenv
false

Not sure if it's an issue with how the architecture is tagged or what architectures all the add-ons are allowed on?

Which is interesting, as arch is reporting working architecture.
# /bin/arch
aarch64

might be some miss-configuration

On a 32-bit RPi 4 though it returns:
# /bin/arch
armv7l

Same error with the 64-bit build:
19-07-17 19:27:02 ERROR (MainThread) [hassio.addons] Add-on a0d7b954_traccar not supported on that platform

Setting
Value

arch
aarch64

dev
false

docker
true

hassio
true

os_name
Linux

python_version
3.7.4

timezone
Europe/Stockholm

version
0.96.0b4

virtualenv
false

Could this PR be related?
https://github.com/home-assistant/hassio/commit/5e8007453f98f57fa2b1f948711235edfe243b91#diff-14aba126950bc23275de21fa6270e0d4

Installed manually on top of raspbian, and got the same issue.

same here.
rpi4, 4gb, 64bit HassIO

arch
aarch64

dev
false

docker
true

hassio
true

os_name
Linux

python_version
3.7.4

timezone
Europe/London

version
0.96.0b3

virtualenv
false

Same goes for 32bit too

Confirmed fixed!
The upgrade from 169 to 170 however left home assistant stopped and I had to go into the hassio client to start it.


Semver and compatible version issue

Hi great work with this package, it suits almost perfectly my project needs. One minor caveat:
"dependencies": {
"vanilla-modal": "^1.3.0"
}
I have this in my package.json for your vanilla-modal. Watching your releases by version 1.5.1 you make the breaking change. I have made a fresh npm install and got your dependency with all the breaking changes, that I can't deal with right now. The solution for me will be to point directly to the 1.3.0 version and not to a "compatible" version.
According to:
https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004
You should have bumped your major version number because everyone using that syntax will not get a compatible version, thus breaking their project.
I'll try to update to the newer version ASAP, but i think it would be nice that semver would work as expected on this magnific package :)

Hi @frankcs, and thank you for your great comments!
I was debating whether to bump to a major, but ultimately decided against it due to the fact that there are no breaking changes to the methods and calls within the API. There are, however, changes to the default settings with which the modal is instantiated.
Say you currently have something like:
const modal = new VanillaModal();

You'll need to update that to:
const modal = new VanillaModal({
  open: '[rel="modal:open"]',
  close: '[rel="modal-close"]'
});

That should be the only step you need to take to get everything working with v1.5+.
Please let me know if this solves your problem!


fix strains group, small fixes & merge V3data_pdf_json notebook

It looks like this file is based on an older version of the notebook - I posted the newer version for sharing on trello yesterday afternoon and provided in a pull request this morning.

Please confirm if you would still like this branch to be merged, I've just approved the other pull request that @tbucci100 mentioned

@nacharov @tbucci100 @dnsosa Sorry to intrude but I noticed this PR contains Jupyter notebook files that are hard to review on GitHub due to the JSON diffs.
You might want to checkout ReviewNB, a code review tool for Jupyter notebooks. It's free for open source repositories. Provides visual diffs for notebooks & ability to comment on notebook cells.


Digital Signature

Hi! Thanks for reporting this feature!
Please keep / fill in the relevant info from this template so that we can help you as best as possible.
NLog version: all (I checked 4.7.15 and 5.2.3)
Platform: .Net 4.8, .NET 6
Current NLog config (xml or C#, if relevant)
not relevant
Autodesk software requires all loaded dlls to be digitally signed. I see, nlog dlls have a strong name, but not a digital signature. Could you please sign the nlog dlls?

I'm guessing this requires one to obtain a code signing certificate from a trusted certificate authority (CA). Guessing this service is not for free, and the NLog-project doesn't have any money.
Pull-request are ofcourse wellcome that will produce a fully signed NLog-dll and NLog-nuget-package.

Expiration should not be an issue, because the certificate must be valid at the time of signing, not the time of execution. But for everything else you should be right.
I guess you are responsible for keeping the certificate (or at least it's password). Aren't you able to do so in your build pipeline?
But then is still the issue of obtaining a code signing certificate. I hoped, it would be free for open source projects, but obvisiously not? How are other open source projects handling this?

Closing issue due to inactivity. Always wellcome to post an update, when you discover a path for how to make digital signing work with open-source-projects.


added tynandebold.com

location of the webring is in the list of nav links at the top of the page

Welcome aboard :)
Beautiful site btw


Tests don't pass on clean repository

I tried to follow the documentation in README.md to get the tests to work:

go geting the repo
godep restoreing the dependencies
executing scripts/test

Expected: The tests run successfully
Actual: The tests fail
Here is the test output
[1429518944] Gorouter Suite - 5/6 specs [e][gnatsd] [26351] 2015/04/20 10:35:47.018219 [INF] Starting gnatsd version 0.6.0
[e][gnatsd] [26351] 2015/04/20 10:35:47.018329 [INF] Listening for client connections on <IP_ADDRESS>:51253
[e][gnatsd] [26351] 2015/04/20 10:35:47.018477 [INF] gnatsd is ready
{"timestamp":1429518947.169410229,"process_id":26353,"source":"router","log_level":"info","message":"Waiting 1s before listening...","data":null}
{"timestamp":1429518948.171354294,"process_id":26353,"source":"router","log_level":"info","message":"Listening on [::]:51259","data":null}
{"timestamp":1429518948.171914577,"process_id":26353,"source":"router.main","log_level":"info","message":"gorouter.started","data":null}
{"timestamp":1429518953.750549316,"process_id":26353,"source":"router.main","log_level":"info","message":"gorouter.stopping","data":null}
{"timestamp":1429518953.750906706,"process_id":26353,"source":"router.main","log_level":"info","message":"gorouter.stopped","data":{"took":"350.72µs"}}

And here is the error at the end:
------------------------------
• Failure [6.757 seconds]
Router Integration Drain [It] prevents new connections
/Users/voelzmo/go/src/github.com/cloudfoundry/gorouter/main_test.go:247

  Expected
      <bool>: false
  to be true

  /Users/voelzmo/go/src/github.com/cloudfoundry/gorouter/main_test.go:225
------------------------------

Then, the entire test script hangs and I have to ctrl+c to exit.
I'm working on Yosemite and here is the output of go env if that is helpful:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/voelzmo/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.4.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.4.2/libexec/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

Hi @voelzmo,
Thanks for bringing this to our attention. It looks like we have some flaky tests and we created a story to fix these problems. We have not noticed the the script hanging and needing to manually kill it. That sounds like it could be some sort of race condition hanging, but we run our tests with Go's race detection. If you can replicate the hang it would be useful to have the random seed that the tests run with so we could try it.
Thanks,
@utako && @DanLavine, The CF Runtime Team

@DanLavine thanks for creating the story. However, all I can see using this link is You are not allowed to view the requested page. - Is there a way to move this somewhere public so I can track this?
The test script seems to hang all the time for me, so I'm not sure if there is a different issue with my test setup here. The seed in the last run I did was<PHONE_NUMBER>. Thanks for looking into this!

@voelzmo I ended up deleting the story he linked as it was a duplicate of this [one] (https://www.pivotaltracker.com/story/show/91653940)

Thanks @dieucao, that link works!

@DanLavine finished that story. Tests should be less flaky now. Thanks again for bringing this up!

@DanLavine @zaksoup Thanks for fixing this so quickly!


Deployment name at the Environment page is not updated if deployment build name has been updated

Version of your agent?
Current agent version: '2.195.1'
OS of the machine running the agent?
Windows
Azure DevOps Type and Version
dev.azure.com
If dev.azure.com, what is your organization name?
https://dev.azure.com/csscmt/
What's not working?
I have two YAML pipelines: one for CI and one for CD. The CD pipeline is kicked off by the CI, and both pipelines are working fine. CD pipeline has two deployment jobs, one deploys to UAT environment, the other job deploys to PROD environment. The CI pipeline generates a custom version name at the start, which is used to update the name of the CI and CD builds by using by a PowerShell task:
Write-Host "##vso[build.updatebuildnumber]$versionNumber"
All works fine, and I see both pipelines completing their job, and showing the correct build names:

However when I go to the Environment page, the deployment names are not showing the updated names of the jobs with the version number, but just the default job names:

Interestingly when you go to the deployment run, you see the updated name:

I have tried to use the release.updatereleasename in a PowerShell task like:
Write-Host "##vso[release.updatereleasename]$versionNumber"
But then I got an error:
"Release commands are not supported for build flow"
Question:

Is it normal behaviour or a bug that the deployment run's name is not updated?
If this is a normal behaviour how can I update the name of the release? release.updatereleasename looked like a promising option, but they cannot be used in YAML deployment pipelines?

I'm closing this due to inactivity, feel free to request a reopening if you have further questions.


Cucumber tests failing due to intermittently 'undefined' steps

From @dimirey on August 1, 2016 22:42
The problem
My cucumber tests often fail due to an issue where defined steps are mistakenly considered undefined. When run again, the failed 'undefined' steps occasionally pass correctly as defined. This happens when running ~16 tests in parallel. The failures started after updating webdriverio and the cucumber framework to the latest versions.
Environment

WebdriverIO version: v4.2.3
Node.js version: v6.1.0
Standalone mode or wdio testrunner: wdio testrunner
if wdio testrunner, running synchronous or asynchronous tests: synchronous
Additional wdio packages used (if applicable<EMAIL_ADDRESS>
Details
This doesn't seem to happen when running tests individually, only when tests (which share step definitions) are run in parallel.
Link to Selenium/WebdriverIO logs
unable to find any logs which have significance to this
Code To Reproduce Issue [ Good To Have ]
Create a user and assert that the settings conform with the Org settings I enter in the user details "A" "B" "C" "D":
module.exports = function(){

var add_user = require("../support/pages/page_admin_users_adduser.js");

this.When(/^I Enter in the user details "([^"]*)" "([^"]*)" "([^"]*)" "([^"]*)"$/, function (arg1, arg2, arg3, arg4) {

            add_user.first_name_textfield.waitForVisible()
            add_user.first_name_textfield.setValue(arg1)

            add_user.last_name_textfield.waitForVisible()
            add_user.last_name_textfield.setValue(arg2)

            add_user.display_name_textfield.waitForVisible()
            add_user.display_name_textfield.setValue(arg1 + " " + arg2)

            add_user.email_textfield.waitForVisible()
            add_user.email_textfield.setValue(arg3)

            add_user.password_textfield.waitForVisible()
            add_user.password_textfield.setValue(arg4);

      });
}

Copied from original issue: webdriverio/webdriverio#1507

@dimirey can you share a reproducible example?

Closing due to inactivity.