vcpkg: init at 2023.10.19

Description of changes
Closes https://github.com/NixOS/nixpkgs/issues/151096
This PR packages vcpkg, a C++ package manager: https://vcpkg.io/
The goal of this package is to make vcpkg usable inside a nix environment as developer environment, and behave as closely as possible to other package managers such as pip and npm.
To have reproducible packages that uses vcpkg to be built, we would need a tool such as vcpkg2nix, but projects that work with vcpkg can normally skip vcpkg and uses packages from nix directly.
I will kindly ask for some help to make this PR ready to merge, I really intent to make this an official package but I'm not sure what's left to be done, and how to test the package.
This is based on the work of @Guekka

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Hi @AndersonTorres ! I updated my PR. I now ensured it also works on linux, and I cleaned up the code a bit, I think it follows the contributing guidelines. I was wondering what would be required to make the PR not a draft anymore. Thank you!

I'm waiting for vcpkg-tool to be released to avoid adding the fmt_10_0 package before continuing

Should be all good now

Should be all good now
Still marked as work in progress btw.

Tested nixpgs-review on aarch64-darwin and it builds fine. vcpkg list seems to want to write to the nix store tho:
[nix-shell:~/.cache/nixpkgs-review/pr-251465]$ vcpkg list create_directories("/nix/store/0nj7wqcs97i4kchw9h8qfh609kwfzzbl-vcpkg-2023.08.09/share/vcpkg/installed"): Permission denied

@marcusramberg
I left the default behaviour when you use vcpkg outside of manifest mode, so it will try to write into its root folder. You can send the argument to specifiy the install root:
$ vcpkg install fmt --x-install-root=$HOME/vcpkg_installed

When using vcpkg in manifest mode, you don't need to do that since it will automatically install in the build dir of your project.
I could make it so it installs into the mutable root in the user directory, but I figure we should not. The reason is that no other package manager in nix do that. Doing npm install -g yarn will fail with nix with an error that the nix store is not writable.
Python's pip will also fail if you try to install a package globally.
vcpkg's install command defaults to install globally, which should fail according to other package manager's behaviour.

It should be all good now. Note that vcpkg needs CMake 3.27 and only 3.26 is packaged as far as I can see. This will cause vcpkg to download a pre-compiled cmake. It works on macos, it works on Linux when nix packages are used outside of nixos, but I doubt it will work on nixos. I see that #261427 has been merged, but testing staging seems to be taking a lot of time (I'm 9 hours in getting it built)

Cmake 3.27 should be on the way from staging...
https://github.com/NixOS/nixpkgs/pull/261427

I was able to tests with CMake 3.27 and it works flawlessly, it doesn't attempt to download its own version anymore. It was probably overkill but I tried this PR with the whole staging branch.

This looks good to me @gracicot
However, I see that you have removed my patching system. This means we have no way to disable packages that will fail to build. Unless I'm missing something?

This looks good to me @gracicot However, I see that you have removed my patching system. This means we have no way to disable packages that will fail to build. Unless I'm missing something?

For now I would leave the failing packages as is. The patching system made it possible to ignore certain packages when attempting to install it, but it would simply result in CMake failing to find the packages in many projects since system packages are disabled by default when using vcpkg in manifest mode.
In the case where vcpkg cannot install a particular dependency, I think per project package overrides would be the way to go.

For now I would leave the failing packages as is. As far as I understood the patching system made it possible to ignore certain packages when attempting to install it, but it would simply result in CMake failing to find the packages in many projects since system packages are disabled by default when using vcpkg in manifest mode.
Unless I'm mistaken, using the Nix Qt + ignoring vcpkg Qt worked correctly on my side

In the case where vcpkg cannot install a particular dependency, I think per project package overrides would be the way to go.
That's exactly my point, but how? What toggle do we leave to the user?

Unless I'm mistaken, using the Nix Qt + ignoring vcpkg Qt worked correctly on my side

Then Qt don't need to be installed by vcpkg for this project when compiled in a partiacular nix environment, and the system's package manager works for its needs. Does it matter if a vcpkg package fails to install in the case a user decide to use nix's package?

That's exactly my point, but how? What toggle do we leave to the user?

vcpkg support overlay ports in vcpkg-configuration.json, CMake variable/environment variable VCPKG_OVERLAY_PORTS and vcpkg command line --overlay-ports. Users can simply add an overlay ports that disable Qt, and set the environment variable in the nix shell to use them. A custom registry that overrides Qt would also do the trick.
Actually, even though I wasn't able to make gettext and qt to work using vcpkg, it doesn't mean someone else won't be able to make them work and document it. We should leave that to the user. Replacing certain ports also won't help in the case users configure their default registry to point directly on vcpkg's repo like some projects do.

Is anything else required for this to go? Design-wise I tried to make it as close as possible to vanilla and other package managers, but if something looks off I'm willing to do changes. Let me know if anything needs to be done.

@AndersonTorres gentle ping :)

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1264

I have no commit rights now. I will put this on the list:
https://discourse.nixos.org/t/prs-already-reviewed/2617/

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

3 packages built:

cmakerc
vcpkg
vcpkg-tool


Add CWS E2E tests windows

What does this PR do?
This PR adds the CWS E2E tests for windows hosts

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


jquery.browser is deprecated

Any ideas regarding this error?

Sorry, not a huge problem, I just noticed that the VRML component was linking to an older A-Frame version. Linking it to a more recent one also raises a few other warnings but manageable ones.


Updating ose-jenkins-agent-nodejs-10 builder & base images to be consistent with ART

Updating ose-jenkins-agent-nodejs-10 builder & base images to be consistent with ART
Reconciling with https://github.com/openshift/ocp-build-data/tree/f66c03011773dc3755ad874fc691be612914d65f/images/ose-jenkins-agent-nodejs-10.yml
If you have any questions about this pull request, please reach out to @art-team in the #aos-art coreos slack channel.
Depends on https://github.com/openshift/jenkins/pull/1165 . Allow it to merge and then run /test all on this PR.

/ok-to-test

/ok-to-test

/lgtm


Can::builder

Currently (after https://github.com/stm32-rs/bxcan/pull/37), users have to perform 2 steps to use bxCAN: Call Can::new, then call Can::modify_config. The rest is very hard to forget because of #[must_use] on CanConfig.
We could reduce this to 1 step by replacing Can::new by Can::builder, and have that return a CanBuilder that functions similar to CanConfig, but gives you a Can instance when finished.

Would be really nice to implement timing configuration without involving raw numbers. CAN controller frequency can probably be provided by HALs and time quantas by user.


Testing with x-model changes

Hi!
I'm testing some components that use the x-model directive and I was having a little bit of trouble asserting that changes happened using only await component.$nextTick(). Here's an example:
<div x-data="ModalDeleteConfirmation" x-init="init('DELETE')">
    <input type="text" x-model="confirmationInputValue"/>
    <button :disabled="blockDelete()">Action!</button>
</div>

If I just change the input value or dispatch a change event, this is not enough to reflect the button state.
const confirmationMessage = 'DELETE'

const component = render(html)

let button = component.querySelector('button')

let input = component.querySelector('input')

expect(button).toBeDisabled()

expect(input).not.toHaveValue()

// Change input setting the value or dispatching a change event

await component.$nextTick()

button = component.querySelector('button')

expect(input).toHaveValue(confirmationMessage)

expect(button).toBeEnabled()

Since I'm also using the package @testing-library/dom to help with some corner-cases, I found that this behavior is already documented for VueJs: https://github.com/testing-library/vue-testing-library/issues/83.
There's an especial update function that I had to look up the implementation for this to work. In this particular case goes something like this: fireEvent.input(input, {target: {value: confirmationMessage}}).
So, I wanted to ask if there's a way to test this case without depending on this lib and if not, are you open to add a new function that could react to the x-model update?
Cheers!

@thiagomajesk I'm tempted to add a waitFor helper in the style of dom-testing-library


Topic sandboxing npk

See sandboxes/jQcloud-sandboxnNPK

Just noticed categoricalHmap still astray.  Closing this, moving it and starting over.


There is an error when updating one entity with an empty partitionkey/rowkey value

Storage Explorer Version: 1.22.0-dev
Build Number: 20211102.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 18.04/MacOS Big Sur 11.6
Architecture: ia32/x64
How Found: From running test cases
Regression From: Previous release (1.21.3)
Steps to Reproduce

Expand one storage account -> Tables.
Open one table -> Click 'Add'.
Click 'Insert' on the 'Add Entity' dialog -> Right click the entity.
Click 'Edit...' -> Click 'Update'.
Check there is no error.

Expected Experience
There is no error.
Actual Experience
There is an error.

Related to #5120.

The SDK team have come out with several updates in response to issues we've found. I'm not able to reproduce with the current main, so I believe this is fixed.

Verified on the build 20211119.4. Fixed.


[Snyk] Security upgrade org.apache.spark:spark-core_2.12 from 3.3.1 to 3.4.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

768/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-JAVA-ORGXERIALSNAPPY-5710960
org.apache.spark:spark-core_2.12:  3.3.1 -> 3.4.1
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

no longer required


Create admission webhook to more thoroughly validate a CosmosFullNode

https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks
Kubebuilder: https://book.kubebuilder.io/cronjob-tutorial/webhook-implementation.html

Make sure one of spec.chain.versions or spec.podTemplate.image is provided


Develop RSI strategy

https://www.sunshineprofits.com/gold-silver/dictionary/rsi-indicator/

https://github.com/TulipCharts/tulipnode

Use RSI:
if MACD says buy and RSI is lower than 50, place order..
if MACD says sell and RSI is upper than 50, place order..

calculate caída y subida de la pendiente RSI
if raise, it is secure for buying.
if fall, it is secure for selling.


What if I don't want to have everything below pushe up? I only wan't to have the Textfield scrolled into view. See this two pichtures:

I don't want to have the TabBar (it's not in the bottom of the Scaflold but in an outer Column)pushed up too:
        child: Scaffold(resizeToAvoidBottomPadding: true,
          appBar: new AppBar(
            backgroundColor: Colors.white,
            centerTitle: true,
            title: new Text("Create Event"),
          ),
          body: new Center(
            child: Column(
              children: <Widget>[
                Expanded(
                  child: TabBarView(
                    controller: _tabController,
                    children: [
                      SingleChildScrollView(
                                              child: Container(
                          padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 20.0),
                          child: Column(crossAxisAlignment: CrossAxisAlignment.stretch,
                            children: [
                              ClipRRect(
                                borderRadius:
                                    BorderRadius.all(Radius.circular(10.0)),
                                child: Image.network(
                                  'https://firebasestorage.googleapis.com/v0/b/join-or-create.appspot.com/o/event_type_images%2Ffootball.jpg?alt=media&token=218c0a14-f6e9-48ed-b6a0-ca339a2ff555',
                                ),
                              ),
                              Padding(
                                padding: const EdgeInsets.only(top: 20.0),
                                child: Text('EVENT TITLE', textAlign: TextAlign.left,),
                              ),
                              JoCFormField(hintText: 'Select a appealing title',),
                              Padding(
                                padding: const EdgeInsets.only(top: 20.0),
                                child: Text('DESCRIPTION', textAlign: TextAlign.left,),
                              ),
                              JoCFormField(hintText: 'What are you planing to do?', height: 100.0,),
                              // Expanded(child: Container(color: Colors.blue,)),
                            ],
                          ),
                        ),
                      ),
                      Container(
                        color: Colors.red,
                      ),
                      Container(
                        color: Colors.green,
                      ),
                    ],
                  ),
                ),
                Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: TabBar(
                    labelColor: Theme.of(context).accentColor,
                    controller: _tabController,
                    tabs: [
                      Tab(
                        text: "General",
                      ),
                      Tab(
                        text: "Location & Time",
                      ),
                      Tab(
                        text: "Requirements",
                      ),
                    ],
                  ),
                )
              ],
            ),
          ),
        ),
      ),

PS C:\Entwicklung\FlutterApps\Projects\JoinOrCreate\JoinOrCreate_Mobile> flutter doctor -v
[√] Flutter (Channel master, v0.5.5-pre.45, on Microsoft Windows [Version 10.0.17134.112], locale de-DE)
• Flutter version 0.5.5-pre.45 at C:\Entwicklung\Flutter
• Framework revision 592c5ba91a (3 hours ago), 2018-06-18 06:37:01 +0100
• Engine revision c3976b3c71
• Dart version 2.0.0-dev.61.0.flutter-c95617b19c
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at C:\Users\escam\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• All Android licenses accepted.
[√] Android Studio (version 3.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 24.2.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[!] VS Code, 32-bit edition (version 1.24.1)
• VS Code at C:\Program Files (x86)\Microsoft VS Code
• Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected devices (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)
! Doctor found issues in 1 category.

@zoechi done

Another bug for @goderbauer's comment. :)

@escamoteur  try this ...... Until this is fixed, a workaround on android is to remove android:windowSoftInputMode="adjustResize" from the manifest. This is a behaviour change, but at least you can use the textfields, without blocking the whole screen.

@escamoteur try this ...... Until this is fixed, a workaround on android is to remove android:windowSoftInputMode="adjustResize" from the manifest. This is a behaviour change, but at least you can use the textfields, without blocking the whole screen.

iOS is also broken.
Any updates on the fix?

Hello,
I have the same issue, sometime, the resizeToAvoidBottomInset to false solved the issue, but when we have multiple textfields, we can't see the lasts because the scaffold is not resized.

Seems this is the behaviour in Column widget as of now. Can you replace with Column widget with ListView widget and add its childrens there. It will be working fine as you have expected.

Hello,
Any updates on it?

Hi, any update on this? I am trying to build a signup form with submit button. Submit button needs to sit at the bottom. So now when I tap on any text field, keyboard comes up and pushes the button up, which covers the form (in case of resizeToAvoidBottomInset = true). In case of resizeToAvoidBottomInset = false, scrolling has been disabled on ListView that has all my text fields in it. Designing a simple form shouldn't be this hard :(

ummm..though using siglechildscrollview on the pushed item

P4 for a bug that makes an app unshipable ? This should be really high on the list sir.

@RollyPeres This is how I solved my problem -
Scaffold(
        resizeToAvoidBottomPadding: true,
        body: SingleChildScrollView(
              child: Container(
              height: MediaQuery.of(context).size.height -
                    AppBar().preferredSize.height -
                    MediaQuery.of(context).padding.top -
                    MediaQuery.of(context).padding.bottom,
                  child: Column()
             )
      )
)

It makes the whole form scrollable when keyboard comes up, which is acceptable due to lack of better solution. Give it a go and see if it works for you.

@varundroid thanks for suggestion, will give it a go. I'm playing around with a couple of workarounds as my tree is a bit more complex.

Persists with current master 1.21.0-6.0.pre.129

code sample
import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: MyApp()));

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> with TickerProviderStateMixin {
  TabController _tabController;

  @override
  void initState() {
    super.initState();
    _tabController = new TabController(vsync: this, length: 3);
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        resizeToAvoidBottomInset: false,
        appBar: new AppBar(
          backgroundColor: Colors.white,
          centerTitle: true,
          title: new Text("Create Event"),
        ),
        body: new Center(
          child: Column(
            children: <Widget>[
              Expanded(
                child: TabBarView(
                  controller: _tabController,
                  children: [
                    SingleChildScrollView(
                      child: Container(
                        padding: EdgeInsets.symmetric(
                            horizontal: 30.0, vertical: 20.0),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.stretch,
                          children: [
                            ClipRRect(
                              borderRadius:
                                  BorderRadius.all(Radius.circular(10.0)),
                              child: Image.network(
                                'https://flutter.dev/images/flutter-logo-sharing.png',
                              ),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(top: 40.0),
                              child: Text(
                                'EVENT TITLE',
                                textAlign: TextAlign.left,
                              ),
                            ),
                            TextField(
                              decoration: InputDecoration(
                                hintText: 'Select a appealing title',
                              ),
                            ),
                            Padding(
                              padding: const EdgeInsets.only(top: 20.0),
                              child: Text(
                                'DESCRIPTION',
                                textAlign: TextAlign.left,
                              ),
                            ),
                            TextField(
                              maxLines: 8,
                              decoration: InputDecoration(
                                hintText: 'What are you planing to do?',
                              ),
                            ),
                            // Expanded(child: Container(color: Colors.blue,)),
                          ],
                        ),
                      ),
                    ),
                    Container(
                      color: Colors.red,
                    ),
                    Container(
                      color: Colors.green,
                    ),
                  ],
                ),
              ),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: TabBar(
                  labelColor: Theme.of(context).accentColor,
                  controller: _tabController,
                  tabs: [
                    Tab(
                      text: "General",
                    ),
                    Tab(
                      text: "Location & Time",
                    ),
                    Tab(
                      text: "Requirements",
                    ),
                  ],
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-6.0.pre.129, on Mac OS X 10.15.6 19G73, locale en-GB)
    • Flutter version 1.21.0-6.0.pre.129 at /Users/nevercode/dev/flutter
    • Framework revision 30aef0a3b9 (14 hours ago), 2020-07-30 14:20:21 -0700
    • Engine revision a9910e409c
    • Dart version 2.10.0 (build 2.10.0-1.0.dev 24c7666def)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.1

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (6 available)
    • Redmi Note 7 (mobile)       • 6345c469                                 • android-arm64  • Android 9 (API 28)
    • Nevercode’s iPhone (mobile) • b668e524315069f3db3661ac11ff1f66afafebdb • ios            • iOS 13.6
    • iPhone 11 Pro Max (mobile)  • 55C8466B-5367-492B-8EFE-EC45D980571F     • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)
    • macOS (desktop)             • macos                                    • darwin-x64     • Mac OS X 10.15.6 19G73
    • Web Server (web)            • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)                • chrome                                   • web-javascript • Google Chrome 84.0.4147.105

• No issues found!

Thanks @varundroid ! , your code works but it's a shame to have not very clean workarounds... :/

Hi,
The second example from here https://api.flutter.dev/flutter/widgets/SingleChildScrollView-class.html helped me solve a similar problem, check that out!

Verifying this using latest versions, the current property is resizeToAvoidBottomInset and per documentation, the original behavior reported is expected:
If true the [body](https://api.flutter.dev/flutter/material/Scaffold/body.html) and the scaffold's floating widgets should size themselves to avoid the onscreen keyboard whose height is defined by the ambient [MediaQuery](https://api.flutter.dev/flutter/widgets/MediaQuery-class.html)'s [MediaQueryData.viewInsets](https://api.flutter.dev/flutter/widgets/MediaQueryData/viewInsets.html) bottom property.

For example, if there is an onscreen keyboard displayed above the scaffold, the body can be resized to avoid overlapping the keyboard, which prevents widgets inside the body from being obscured by the keyboard.

Defaults to true.

https://api.flutter.dev/flutter/material/Scaffold/resizeToAvoidBottomInset.html
Per above documentation, I am going ahead and closing this as WAI. If anybody disagrees, please open a new issue using latest framework code so that we can address it accordingly.


feat(admin): Customizing admin panel.

Everything LGTM :)
Just one thing, in commit message keep it Customize rather than Customizing.

Done @gutsytechster.


Remove version: Ryujinx.Ryujinx version 1.1.1382

Repository has been taken offline
Relevant GitHub organization & project page response with HTTP 404, official download page of the project becomes blank. The package is no longer availalbe for installation.

Resolves #176342

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1382/ryujinx-1.1.1382-win_x64.zip
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 896)


Set a limit to log size

Some student submissions generate huge logs...
Put a limit and keep the head (20 lines) and the tail (20 lines) to be able to process them when doing the results.

We could even fetch it with paramiko sftp service:
https://stackoverflow.com/questions/51298467/how-to-fetch-sizes-of-all-sftp-files-in-a-directory-through-paramiko


Add a Gitter chat badge to README.md

ospray/ospray now has a Chat Room on Gitter
@jeffamstutz has just created a chat room. You can visit it here: https://gitter.im/ospray/ospray.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

This was manually added to devel.


Unable to find suppressions file

I've cloned the git repository and executed the following:
> cd build-tools
> mvn clean install
...
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:check (default) on project schema-registry-build-tools: Failed during checkstyle execution: Unable to find suppressions file at location: .../aws-glue-schema-registry/build-tools/build-tools/src/main/resources/suppressions.xml: Could not find resource '.../aws-glue-schema-registry/build-tools/build-tools/src/main/resources/suppressions.xml'. -> [Help 1]

It seems that mvn clean install works fine when executed in the root folder, although I'm getting a bunch of warnings like
[WARNING]
[WARNING] Some problems were encountered while building the effective model for software.amazon.glue:schema-registry-build-tools:jar:1.1.15
[WARNING] 'groupId' contains an expression but should be a constant. @ ${parent.groupId}:schema-registry-build-tools:${parent.version}, .../aws-glue-schema-registry/build-tools/pom.xml, line 29, column 14
[WARNING] 'version' contains an expression but should be a constant. @ ${parent.groupId}:schema-registry-build-tools:${parent.version}, .../aws-glue-schema-registry/build-tools/pom.xml, line 31, column 14
[WARNING] The expression ${parent.groupId} is deprecated. Please use ${project.parent.groupId} instead. @ ${parent.groupId}:schema-registry-build-tools:${parent.version}, .../aws-glue-schema-registry/build-tools/pom.xml
[WARNING] The expression ${parent.version} is deprecated. Please use ${project.parent.version} instead. @ software.amazon.glue:schema-registry-build-tools:${parent.version}, .../aws-glue-schema-registry/build-tools/pom.xml
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]

Same issue happens here, also wondering does all these libs has jar fromat releases

Same issue here


Fixed an issue where an irrelevant error was thrown when the given list was not found, instead of 'undefined'

Fixes #546

Closed #546


net: if: streamline interface name checking logic

This commit reduces #if / #endif pairs by leveraging the IS_ENABLED macro:

Removed #ifdef / #endif around NET_L2_DECLARE_PUBLIC in net_l2.h, enabling compilation without affecting link time if the configuration is unavailable.

set_default_name function:

Replaced multiple if statements with else if to use the last else without indirectly checking name[0] == '\0'.
Since snprintk guarantees null-termination if sizeof(name) > 0, the -1 subtraction is unnecessary, eliminating the need for zero initialization in char name[CONFIG_NET_INTERFACE_NAME_LEN + 1];.

Actually, I would prefer not to touch this 5k+ lines file, but if it's worth reducing the complexity, I'll try. 😃
By the way, I think line 235 will ensure '\0' termination.
https://github.com/zephyrproject-rtos/zephyr/blob/6f5b183de736b6f4e408ad567f58c54b2e0df9e5/lib/os/printk.c#L227-L242


Publish connector maven artifacts to maven central (Release & Merge)

In https://github.com/odpi/egeria/issues/4664 the main egeria code switched to publishing maven artifacts for a release via github actions direct to maven central. Additionally snapshots are also published to maven central
Github actions need to be put in place for this repo once the connector is updated & in a representative state
cc: @wbittles

This can likely follow the same approach as adopted for base egeria (above) which has now been proven for the 2.7 release.
However here we are using gradle vs maven so will need to implement using the appropriate gradle plugins - an ideal way to identify the details prior to switching egeria fully to gradle in future.
The end result would be connectors available on maven central  - snapshot or released.
The only additional questions are :

Do we need the connector pushed to another repo (like github maven repo) - I'd be inclined to not do so
Do we want to store any specific build output alongside the build (for download or more likely debugging)

My proposal is to:

get the connector up to date - see #14 and https://github.com/odpi/egeria-database-connectors/pulls
modify the gradle build to create a single artifact org.odpi.egeria:postgres-connector (though I expect the name will be the toughest one to get agreement too - perhaps worth bringing up on the status call tomorrow). I'd personally err on a simple, obvious name, any ideas?
Modify the build pipeline along the lines of what egeria does but i) gradle [not maven] ii) no docker - ie publishing snapshots and releases to maven central

With this done we could think about #5 where the intent was to actually deploy an environment using the connector - live/real server then test against

^ @wbittles

As per discussion - feel free to assign back if you need a hand or would like me to do this

The sas viya connector is now publishing artifacts to maven central. See

https://github.com/odpi/egeria-connector-sas-viya/blob/main/.github/workflows/merge.yml
https://github.com/odpi/egeria-connector-sas-viya/blob/main/.github/workflows/release.yml

We probably don't need a custom docker image, but if so that repo also has a custom Dockerfile
Credentials need adding to this repo for publishing to work
@wbittles let me know if/when you'd like me to do this, or you would like to do it (except the credentials which I need to manage until the LF take them over)

Builds are consistently failing with:
/home/runner/work/egeria-database-connectors/egeria-database-connectors/egeria-connector-postgres/src/main/java/org/odpi/openmetadata/adapters/connectors/integration/postgres/mapper/PostgresMapper.java:55: error: cannot find symbol
> Task :egeria-connector-postgres:compileJava
        schemaProps.setOwner(sch.getSchema_owner());
                   ^
  symbol:   method setOwner(java.lang.String)
  location: variable schemaProps of type org.odpi.openmetadata.accessservices.datamanager.properties.DatabaseSchemaProperties
1 error

> Task :egeria-connector-postgres:compileJava FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/7.0.2/userguide/command_line_interface.html#sec:command_line_warnings
1 actionable task: 1 executed
FAILURE: Build failed with an exception.

Happened consistently with multiple PRs
not addressed by flipping java version (in case of env. differences)
consistent build locally
even the merge build, that ran before, now fails when run manually, yet no code has changed in main

This should be done, so closing. WIll validate release pipeline when we are ready to release.


[Bug Report] el-table bug of scroll y and max-height

Element UI version
2.1.0
OS/Browsers version
window 7/firfox 59.0.1 (64 位)
Vue version
2.5.17-beta.0
Reproduction Link
https://jsfiddle.net/pj71jkyw/944/
Steps to reproduce
1、set max-height of table
2、when current table rows greeter than 2 but the table height less than max-height
3、the scroll-y will not visible but place the table space，the row width is not 100% of the table width
What is Expected?
the scroll-y will not visible and the row width is 100% of the table width
What is actually happening?
the scroll-y will not visible but place the table space，the row width is not 100% of the table width

max-height, now, type number ok,  but when I pass  max-height="50vh", it's wrong, can we use calc(50vh - headerHeight - footerHeight)

same problem for, any issue someone?


Mint count seems to have +1

On drop page:

On explorer:
https://canary.kodadot.xyz/ahk/collection/379

missing sn = 12

This user tried to mint sn = 12 but failed because of insufficient balances. but, on DB update claimed = 1
https://assethub-kusama.subscan.io/extrinsic/6464553-2


BoxCLI 2.0: Why Colon delimited  Commands?

I downloaded the new 2.0 install.
Is there a design reason for separating commands with colons?
I'm probable just not yet used to the commands but having to add Colons feels a bit cumbersome,
Especially when using this in combination with autocomplete.
autocomplete will add an extra : at the end of each command eg:box folders:
I want to look up what options are available I add a -h  but because of the : it is not accepted as an argument and boxcli would bark at me.
I have to delete the :  and "then" type -h
Also, this change seems to be a bit drastic since I already have scripts written in the old format (without the :). I would have to rewrite all my stuff to adjust with the new style.

@Band-Aid From a design perspective, the colons disambiguate the command from arguments — it makes it possible to use a general-purpose parser that can take an arbitrary argv and correctly identify the command to route to, even when some commands have subcommands under them.  For example, in the v2 CLI we have box groups and box groups:memberships commands.  If we used spaces, it would be difficult to correctly identify that when the user types box groups memberships they mean the memberships subcommand and not box groups with a first argument of memberships.  Opting for colons makes it possible to organize commands this way without having "topic" commands that don't do anything and make many commands shorter (e.g. box groups used to be box groups list in v1).
I definitely understand that this might look strange at first, but we believe that shorter commands and improved internal architecture will outweigh that over time.  Additionally, other popular tools like Heroku's CLI also use colons — no accident, since we're using the same open-source CLI framework that CLI is built on!


[Feature] On/Off Toggle Switch

Description
Create an interactive on/off toggle switch widget using HTML, CSS, and JavaScript. This widget allows users to toggle between two states with a simple click, enhancing user interface (UI) functionality on your website or web application.
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100 @saurabhsingh720

@Rakesh9100 new addition

@thevijayshankersharma go ahead
I am assigning u
As admin is busy for some days
Do your task and provide your PR asap.
Then admin merge it with the proper labels .


ARXIVNG-999 implemented route for archive-specific searches in simple interface

This behaves much the same way that it does for advanced search, but the mechanics are a bit different.
There is a URL mapping rule that catches /<archive:archives>, where the URL converter archive is search.converters.ArchiveConverter (see diff). This looks for active or subsumed archives, and injects a list of archive IDs into the simple search route.
The current archives are displayed above the search box, with a link that takes the user to an arXiv-wide search.

Coverage decreased (-0.4%) to 82.183% when pulling 6b89373b730f00430009cda7c49fa5e5f4abbb08 on feature/ARXIVNG-999 into fb82483991129b8d3aaa237ee37eac77becd03a6 on develop.

Hit highlighting on the tags was there before, so at least we're not creating new confusion... ;-)


Multiple lines sent on pty input by expect are not seen by process

When sending input via expect, rustyline doesn't appear to process anything but the first line.
example.expect
spawn cargo run --example numeric_input
send "1\n2\n"
expect "123"

Run expect example.expect
spawn cargo run --example numeric_input
1
2
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running `target/debug/examples/numeric_input`
> 1
Num: 1
> ^C✘-INT ~/Documents/github/rustyline [master|✔]

Expected:
Output should be Num 1 followed by Num 2.
Actual:
Output is just Num 1
Workaround:
It does work without using expect, however:
$ echo -e "1\n2" | cargo run --example numeric_input
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running `target/debug/examples/numeric_input`
Num: 1
Num: 2
Error: Eof

I will try to reproduce.
Would you mind trying this setting: https://docs.rs/rustyline/latest/rustyline/config/enum.Behavior.html#variant.PreferTerm ?
    let config = Config::builder()
        .behavior(Behavior::PreferTerm)
        .build();
    let mut rl = DefaultEditor::with_config(config)?;

Ok, I can reproduce.
Liner seems OK.
But not linenoise, replxx, ...
I tried with env_logger::init(); and export RUST_LOG=rustyline=debug but that didn't help.
It may be caused by the way we activate raw mode with TCSADRAIN here ?
I will try to investigate further...

Ok,
rustyline uses a BufReader.
And the whole input "1\n2\n" is read at once but only "1\n" is treated ("2\n" is discarded).
diff --git a/src/tty/unix.rs b/src/tty/unix.rs
index 23bfcce..70e02f4 100644
--- a/src/tty/unix.rs
+++ b/src/tty/unix.rs
@@ -144,6 +144,7 @@ impl Read for TtyIn {
                     return Err(error);
                 }
             } else {
+                debug!(target: "rustyline", "read: {:?}", &buf[..res as usize]);
                 #[allow(clippy::cast_sign_loss)]
                 return Ok(res as usize);
             }

[DEBUG rustyline] read: [49, 10, 50, 10]

The BufReader is used for bracketed paste.
See https://en.wikipedia.org/wiki/Bracketed-paste
Maybe we should the buffer size to 1 when bracketed paste is disabled ?

With the following patch, I manage to fix the issue:
diff --git a/src/tty/unix.rs b/src/tty/unix.rs
index 23bfcce..ff96dd6 100644
--- a/src/tty/unix.rs
+++ b/src/tty/unix.rs
@@ -229,8 +229,13 @@ impl PosixRawReader {
         key_map: PosixKeyMap,
         pipe_reader: Option<PipeReader>,
     ) -> Self {
+        let buffer_size = if config.enable_bracketed_paste() {
+            1024
+        } else {
+            1
+        };
         Self {
-            tty_in: BufReader::with_capacity(1024, TtyIn { fd, sigwinch_pipe }),
+            tty_in: BufReader::with_capacity(buffer_size, TtyIn { fd, sigwinch_pipe }),
             timeout_ms: config.keyseq_timeout(),
             parser: Parser::new(),
             key_map,

Or maybe the expect file could be like this:
spawn cargo run --example numeric_input
send "1\n"
expect "1"
spawn cargo run --example numeric_input
send "2\n"
expect "2"

?

I think I am running into this issue when I pipe the output of a command with multiple lines into my app that uses rustyline,
here is a simulation of my example, I can create a code example if needed.
echo "test\ninput" | cargo run rustylineapp
Should produce:
Result: test
input

but it produces
Result: test
Result: input

@cosmikwolf For me, this is the expected behaviour when stdin is not a tty (here a pipe). expect creates a pty.
liner % echo "test\ninput" | target/debug/examples/comments history
History file: history
[prompt]
% test
[prompt]
% nput
[prompt]
% exiting...

linenoise % echo "test\ninput" | ./linenoise_example
echo: 'test'
echo: 'input'

replxx % echo "test\ninput" | ./build/replxx-example-c-api
starting...
thanks for the input: test
thanks for the input: input

Exiting Replxx

isocline % echo "test\ninput" | ./example
...
-----
est
-----
-----
input
-----
done

https://github.com/prompt-toolkit/python-prompt-toolkit/blob/0aa8a9762a51289e753a6e311edcb40b65224c66/src/prompt_toolkit/input/typeahead.py

To support type ahead, this module will store all the key strokes that were
read too early, so that they can be feed into to the next prompt() call

@mmastrac could you please try #761 ?


Certain crashes of siad ruin the Explorer module

From time to time siad crashes with this error report in my Windows Server 2012 R2:

goroutine 3263627 [running]:
runtime/debug.Stack(0x44441e, 0x0, 0xc0430a7618)
/usr/local/go/src/runtime/debug/stack.go:24 +0x80
runtime/debug.PrintStack()
/usr/local/go/src/runtime/debug/stack.go:16 +0x29
github.com/NebulousLabs/Sia/build.Critical(0xc0430a76f0, 0x2, 0x2)
/home/luke/go/src/github.com/NebulousLabs/Sia/build/critical.go:16 +0xae
github.com/NebulousLabs/Sia/modules/explorer.(*Explorer).ProcessConsensusChange(
0xc042064a50, 0xe3715b0977bc7484, 0xc7f2bb24ccdf10e7, 0x34d3ce24e6da6000, 0x66e9
4fe73a5ad56, 0xc049a0d7a0, 0x1, 0x1, 0xc044902f00, 0x2, ...)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/explorer/update.go
:282 +0x161
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).updateSubscribers(
0xc042214000, 0xc043479860, 0x1, 0x1, 0xc04524f0c0, 0x2, 0x2)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/subscrib
e.go:114 +0x17a
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedAcceptBlock
s(0xc042214000, 0xc045ca5d18, 0x1, 0x1, 0x1e8400, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/accept.g
o:338 +0x750
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedReceiveBloc
k.func1(0xde41c0, 0xc048ad65c0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:529 +0x210
github.com/NebulousLabs/Sia/modules/gateway.(*Gateway).managedRPC(0xc042172000,
0xc042861540, 0x11, 0xad6e67, 0x7, 0xc042ad5aa0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/gateway/rpc.go:66
+0x339
github.com/NebulousLabs/Sia/modules/gateway.(*Gateway).RPC(0xc042172000, 0xc0428
61540, 0x11, 0xad6e67, 0x7, 0xc042ad5aa0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/gateway/rpc.go:76
+0xd8
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).threadedRPCRelayHe
ader.func5(0xc043eb5010, 0xc043eb4ff0, 0xc042214000, 0xde41c0, 0xc048ad64a0, 0xc
043ac94f0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:459 +0x151
created by github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).threade
dRPCRelayHeader
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:463 +0x481
Critical error: explorer update failed: runtime error: invalid memory address or
nil pointer dereference
Please submit a bug report here: https://github.com/NebulousLabs/Sia/issues

The problem is that after restarting siad, any block request to the Explorer module will return several fields with data = 0, including block height, transaction count and others. I am only able to recover the functionality of the module restoring a backup of Sia. I have suffered this issue about 4 times in the last month.
For SiaStats.info is not a critical issue as I can restore a backup, but I can imagine this could be problematic for other critical apps like wallets or explorers

The runtime error: invalid memory address or nil pointer dereference error also shows up in #2395 and #2374 but in different modules.  Not sure if they're related or not.
Recommendation to Devs: "Bug"


Filled in blank Past Live Streams

In past live streams Live Stream 18-26 did not have a description. I copied each of the title verbatim from YouTube.

So helpful, thank you!


fix iOS implementation for isLocationEnabled

the implementation didn't match the android api, and therefore resulted in an error

We have to use your fork because this one doesn't build for us. We're hoping this PR is merged! :)

we have to use your fork too expecting this PR is merged 👍

I get this error on RN 0.48. Shouldn't this be merged already?

Merged. Thank you for your contribution.


it looks like filters are not working properly

Steps to reproduce:

go to projects page
choose "quantity surveying and aged care"
3)notice that no results are found
now change to "Project advisory" and "aged care"
open the shown result in different tab and notice that it has 2 services "quantity surveying and prject advisory"

Actual result: result was not shown when "quantity surverying " was selected in step 2
Expected result: filters should work correctly.
video:
https://go.screenpal.com/watch/cZiZXRVPwmQ

Reported by: Vinod<EMAIL_ADDRESS>Source URL: https://kensway.webflow.io/projects
Issue details: Open in Marker.io
Device typedesktopBrowserChrome <IP_ADDRESS>Screen Size1366 x 768OSWindows 10 (10.0.0)Viewport Size1366 x 641Pixel Ratio@1x

🤖 Marker.io bot - 💬 Vinod commented:

it is still not working properly.
a) choose "choose quantity surveying and commercial:
result:  it shows project 11 but not project 17 which also has quantity surveying
https://kensway.webflow.io/projects/wellington-city-mission---whakamaru-17
video: https://go.screenpal.com/watch/cZjif9V9i7F

Reply here


Example data is vulnerable to link rot

The datasets used by this package are quite useful but

are hidden to the user by the create_data module and
are dependent on websites outside of the author's control.

I would recommend removing those datasets and functions as part of the package and instead make them part of the tutorials:

https://github.com/behrouzz/astrodatascience/raw/main/data/hubble1929.csv
http://astroweb.cwru.edu/SPARC/Rotmod_LTG.zip

If data munging isn't a learning goal, you could also consider re-bundling the data into simpler formats without the excess columns and include those files as part of this repository.
Submitted as part of JOSE Review.
https://github.com/openjournals/jose-reviews/issues/261

Thank you for this suggestion. I have now inlcuded these dataset in the package and will use the same strategy in the future.


support server-side rendering use cases

adds check for window global variable
adds check for navigator global variable
also fixes missing gulp-jslint dependency

Resolves issue #440

apologies, did not add in new /build/player files, will submit another pr


Typelevel move

Changes package to org.typelevel.unique
Changes group ID to org.typelevel
Back to cats-effect-2.3.1.  cats-effect-3 is for a major revision.
Scala 3.0.0-M2 and 3.0.0-M3
Modernize the build a bit
Modernize the microsite a bit

Um, hey, I did run gihtubWorkflowGenerate.

Um, hey, I did run gihtubWorkflowGenerate.

Thank you, thank you, thank you!  I still don't understand the error message, but it's now obvious why it was bad, and more importantly, it works.

Thank you, thank you, thank you!  I still don't understand the error message, but it's now obvious why it was bad, and more importantly, it works.


Sensitive content detection using BERT

I have seen Google has mentioned that BERT can be applied to sensitive content detection. Can someone point to this code or similar code approach done in this area?

wouldn't this just be a single sentence classification task like the CoLA example?

Let me check and revert


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 1596 ms

Resolved: Bofrost.be performance has improved in 82d4ac5 after 6 minutes.


Made getGateway private in  ConnectionManager

Checklist:

[ ] Read the Code of Conduct and Contributing Guidelines.

[ ] Followed the commit message guidelines.

[ ] Stack adheres to Appsody stack structure.

Modifying an existing stack:

[ ] Updated the stack version in stack.yaml

Contributing a new stack:

Describe how application dependencies are managed:

Explain how Appsody file watcher is utilized:

Describe other Appsody environment variables defined by the stack image:

Describe any limitations and known issues:

Related Issues:

Wrong repo - sorry.


pkg/trace: Support for dynamic sampling rates and rare sampler in AgentPayloads

What does this PR do?
When we send an AgentPayload to the backend, the TargetTPS, ErrorTPS and RareSamplerEnabled now reflect the actual configuration of the samplers instead of the values coming from the static configuration. This will allow the backend to know the effective sampler configuration for each agent.
Motivation
Following the introduction of remotely configurable agent rates, we noticed that the way the AgentPayload reported this information to the backend had not been updated. As a result, even after remotely configuring remote rates, the AgentPayload sent to the backend still contained the target TPSs from the static configuration file and did not include any information about the rare sampler.
Fixing this issue also made https://github.com/DataDog/datadog-agent/pull/14478 less relevant since the information will be available in the backend.
Additional Notes
This change was also tested by running the agent locally and making sure traces still made their way into trace search, which validated that the change was non-breaking with the current APM intake (its .proto has not been updated yet).
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
This change was also tested by running the agent locally and making sure traces still made their way into trace search, which validated that the change was non-breaking with the current APM intake (its .proto has not been updated yet).
The test was:

Start the agent (configured for remote config, refer to internal documentation for now since AFAIK instructions aren't yet public)
Send a trace using any tracer (I used https://pkg.go.dev/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer#example-package)
Inspect the logs to check that the TPS is what is configured in the config file (or the default values). The logs starts with Reported agent rates:.
Update the remote configuration (please reach out to do so as this is for now reserved for internal use)
Inspect the logs to check that the updated TPS have been reported (the logs starts with Reported agent rates:).

Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[x] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[x] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Given the changes to the protobufs/contract with the backend can you update one of the integration tests here: cmd/trace-agent/test/testsuite/traces_test.go I think you should be able to just add a check in the payloadsEqual function maybe. If it ends up being a huge pain let me know as we're trying to improve our testing infrastructure so changes and new features are easier to test

Given the changes to the protobufs/contract with the backend can you update one of the integration tests here: cmd/trace-agent/test/testsuite/traces_test.go I think you should be able to just add a check in the payloadsEqual function maybe. If it ends up being a huge pain let me know as we're trying to improve our testing infrastructure so changes and new features are easier to test

Added something, hope that's somewhat what you had in mind. Let me know if that's not, happy to adjust.


Redirect after login not working when "Login page" is set

After upgrading from 9.6.2. to 9.10.2 we have an issue with the redirect after login not working anymore...
The Redirect after login doesn't work when you have a custom login page (inloggen) set in "Site Settings" - 'Site Behavior" - "Login Page" is set to page from dropdown (Inloggen).
When the "Login page"is not set the redirect after login does work.
Is there a fix or workaround for this problem.
Steps to reproduce
List the precise steps to reproduce the bug:

Go to 'Site Settings';
Click on 'Site Behavior' tab;
Scroll to 'Login page' and select the custom page with the account login module on it;
Go to 'Redirect After login;
Select the page to redirect to.

Current behavior
Does not redirect to selected page but redirects to the home page.
Expected behavior
Should redirect to the page selected at Redirect After login;
Error information
no errors in log or console
Affected version

[ ] 09.10.x release candidate
[ ] 09.10.2 latest supported release

Affected browser
all browsers

We recently experienced a similar issue after upgrading our site from DNN version 07.00.02 to 09.10.1
Only our default "Login" page would "Redirect After Login" to the appropriate page set on Site Settings/Site Behavior after the upgrade. Our other two custom login pages would not redirect after someone signed in. These pages were assign the login layout and used also used the Account Login module.
Instead of redirecting, the login page would refresh after clicking "Login". If your user was in the "Administrator" role, the login form would still be visible and the Persona bar would show. If you weren't an "Administrator" the login form would be hidden.
We were able to resolve the redirect issue with our other login pages by going to Site Settings -> Site Behavior, locating the "Login Page" drop down, then selecting the default "Login" page, then saved. It looks like after the upgrade the "Login Page" drop down was no longer assigned to any page, it showed " as selected.

We're running v. 09.10.01 and all redirects set in the Site Behaviour > Default Pages take us to the home page, so this is still an ongoing issue!

is it a multilanguage website or default en-us?

Default en-us

Look like it's an issue/bug with initial loading or saving the login page at Site Settings -> Site Behavior

Is it an upgraded DNN instance or a clean install?
Any third party modules installed?

It's an upgrade, not sure if v. 09.10.02 would fix it.
We've got a few third party modules: DNNGo template, EasyDNNAccessibilityModule, GDPR Cookie Consent, WSC Slider Revolution Importer.

I don't think the upgrade to DNN 9.10.2 will fix the issue... but you can try.

does EasyDNNAccessibilityModule use a url provider module?

It doesn't look like it, I deleted the module from all pages and the issue is still there.

I could not reproduce this issue, if there are any more details that could help make it happen, please comment and I'll reopen it.

I'm seeing the problem on 9.11.1 - I'm about to upgrade to 9.11.2 and I'll check again.
the logout button links to /ctl/logout but the login button links to ?return= and seems to ignore the page set for . If I don't click the login button, but instead go to site.com/ and login, it redirects after login to the page correctly.

upgraded to 9.11.2. still see the problem.

Are you using any third party login modules?

No.

Did some testing today in 9.11.2 and the issue still exist. So dgingold is right.
It's a multilanguage issue

@wbonekamp Can you write clear steps to make this issue happen. I:

Installed 9.6.2
Enabled localization with (fr-fr)
Made all pages localizable and published them
Created a custom login page
Set the redirect after login and saved in each language

It worked for me. So the only way to make this issue move forward would be to figure out how to actually get into that situation which I was not able to.

The issue is still happening on version 9.12. Fresh install.
The Redirect after login is still not working, it is always goes back to Home Page.

@valadas we ran into this too today . In our case the issue occurs with neutral pages. I'll try to reproduce on a clean install


Release highlights for the week ending December 10

Please remember to

[x] Give the PR a meaningful title -- it will be shown in the release notes
[x] Add (or remove) user questions associated with any updated docs

@snizhana-dynnyk  functional tests are only for interal use so only the fix is worth mentioning because the problem that solved affected a customer.
so the change would be

flux-app v0.8.0 includes helm-controller fix to reduce memory usage by downgrading Helm from 3.7.1 to 3.6.3.

everything good from my side


RxDart Upgrade Needed

Because bloc 0.15.0 depends on rxdart ^0.22.0 and no versions of bloc match >0.15.0 <0.16.0, bloc ^0.15.0 requires rxdart ^0.22.0.
And because flutter_compass >=0.3.2 depends on rxdart ^0.21.0, flutter_compass >=0.3.2 is incompatible with bloc ^0.15.0.
And because flutter_bloc 0.21.0 depends on bloc ^0.15.0 and no versions of flutter_bloc match >0.21.0 <0.22.0, flutter_compass >=0.3.2 is incompatible with flutter_bloc ^0.21.0.
So, because collectors depends on both flutter_bloc ^0.21.0 and flutter_compass ^0.3.2, version solving failed.
pub get failed (1)

https://github.com/hemanthrajv/flutter_compass/pull/20

Closing as #20 is merged to master now.


Server environment change from Python FastAPI to Deno

Description
Server implementation planned to use Python with FastAPI. Now, I planning to change the framework Deno.
The reasons are:

Need to make packet_conv modules each in python and JavaScript ... it makes extra cost
Deno has HTTP server APIs in standard library
Deno has test framework as built-in

Todo:

[x] #165
[x] #160
[x] #163
[x] #161
[x] #162
[x] #171
[x] #193

All done.


First packet getting lost

Hello,
I'm trying to use USB serial to read and write some config options from a Raspberry Pi Pico used for a macro keypad. The Pico acts both as a HID device (using the usbd_hid crate) and a Serial device. The main thread just builds the HID reports, and the USB polling and handling of the serial communication happens inside the IRQ handler. The Pico never starts the communication, it always responds to request packets sent by the PC.
My problem is that the first packet sent by the PC is never received, but from then on it seems they are all received. Am I using the crate in a wrong way or are there some details of the USB Serial protocol that I don't understand?
The IRQ handler:
#[interrupt]
unsafe fn USBCTRL_IRQ() {
    // Handle USB request
    let usb_dev = USB_DEVICE.as_mut().unwrap();
    let usb_hid = USB_HID.as_mut().unwrap();
    let serial = USB_SERIAL.as_mut().unwrap();

    if usb_dev.poll(&mut [usb_hid, serial]) {
        let mut buf = [0u8; 67];
        let rd = serial.read(&mut buf);

        let response = match rd {
            Ok(0) => None,
            Ok(n) => config::process_command(&mut buf, n), // This function just builds a new packet to be sent back to the PC
            Err(_) => None,
        };

        if response.is_some() {
            serial.write(response.unwrap());
        }
    }
}

I also have an extra question because I'm curious and I don't want to open an additional issue. If in the IRQ handler I just set a flag (a volatile bool) if the poll returns true, and I do everything else in the main thread, including the serial reading and writing, the device doesn't seem to receive anything, read always returns WouldBlock. What could be the cause for this behavior?
Config:

rustc 1.63.0 (4b91a6ea7 2022-08-08)
target: thumbv6m-none-eabi
device: Raspberry Pi Pico (RP2040)
PC OS: Fedora 36

I'm having the same issue with a very similar setup, but not sure the problem is within the usbd_serial. usb_dev.poll() could be also failing to transfer the very first frame.
My observation is, the frame is detected but it is giving a "WouldBlock" error. Hence we can't read it in that poll call, which is an interrupt handler in my case (using RTIC, btw). But in the next poll call, everything is fine and no further frames get lost.
Config:

rustc 1.65.0
target: thumbv6m-none-eabi
device: Raspberry Pi Pico (RP2040)
PC OS: Ubuntu 22.04

I'd like to write my notes here while searching for the culprit.
My first observation is that somehow the first frame is not processed correctly by the USB peripheral. I've done some tests with it and seen that only one byte is correctly received by the EP1 (which has OUT buffer @0x501001c0). And it's not always the first or last byte. Random byte inside that frame appear in the first byte of the OUT buffer but that's it.
No error indication, no failed transfers or unusual SUSPEND or STALL states. No real clue.
But after the first frame, every sent frame appears at the exact buffer without a problem. Either we have a sneaky configuration issue which is getting reset implicitly after the first frame, or there is an unknown errata.

First frame as "FIRST FRAME" over 115200,8,N,1 CDC Channel

Second frame as "SECOND FRAME"

My observation is, the frame is detected but it is giving a "WouldBlock" error.

This is simply incorrect because I was assuming RX was creating USBCTRL_IRQ. Actually it just indicates polling time has arrived in this case.

I think I've found the root cause. Before the first frame, the LENGTH_0 data under EP1_OUT_BUFFER_CONTROL register is zero. That is creating issues. It's implicitly set to 0x40 while trying to receive first frame, and then everything continues as expected.
I've manually set the LENGTH_0 to 0x40 before trying to receive first frame and everything was fine.
I have a hunch that this is happening due to SerialPort::new() which uses uninitialized_mem. I guess I should be using SerialPort::new_with_store().
To be continued...

I've finally revealed the culprit. It's happening on rp2040_hal. I'll try to fix the issue and leave a note at here.

I think this issue can be closed since my fix has been approved and will be available shortly.


Allow to customize how identifiers must be wrapped

This would unlock scenarios such as automatically converting camelCase to snake_case and vise verse. See https://medium.com/p/956357872fe4
It could look something like this (db.js):
import knex from 'knex'

function wrapIdentifier(type, value) {
  if (type === 'as') return ....;
  if (type === 'select') return ....;
  return ...;
}

export default knex({
  client: 'pg',
  connection: process.env.DATABASE_URL,
  wrapIdentifier,
});

Please vote up if you're planning to use this feature, or vote down if you think it shouldn't be in the library.
Ref #929

Hi, could you explain a bit more why type is necessary argument in wrapIdentifier?
Also I suppose calling this function would be done as a hook as a first step, before  dialect specific wrapIndentifier function.
This would be nice feature to have,  since currently every knex based ORM has been struggling how to modify each queried column names.

Or perhaps just a transform function. For setting, we could perform a toSnakeCase and for getting we could perform a toCamelCase. My code looks rather unpleasant having to do this manually.

@stevenvachon yes something like that, I would like to have more specific name that tells to which tells to which part transformation applies. for example transformIdentifier and transformReadColumnNames (horrible like that), but something like that which tells to which part of knex the function applies :)

perhaps a non-flat structure:
transform: {
  identifier: identifier => {},
  readColumnName: name => {}
}

@elhigu ?

@stevenvachon I don't see anything to comment here that I didn't already say in my last comment. Those names are as good as my examples, cannot say more without reading some code.

Ok, what are all the necessary names?

I implemented + documented how to hook to the identifier wrapping part #2217  and https://github.com/knex/documentation/pull/51

This will be released in knex 0.14

@elhigu Is there an estimated date for knex 0.14 to be released?

before christmas, maybe this month, maybe next

@elhigu Awesome. Thanks for the update :)

can anyone share an example? seems not trivial. or i am not catching how can i make sure table names are not quoted.
thanks in advance for the help

@kanekotic Those wrapper cannot distinguish if the identifier is table name or column name. So you cannot do that only for table names. However if you want to have all identifiers, without quotes that is completely possible.
Just do something like this (https://knexjs.org/#Installation-wrap-identifier)
var knex = require('knex')({
client: 'mysql',
// overly simplified camelCase -> snake_case converter
wrapIdentifier: (value, origImpl, queryContext) => value)
});

This is probably what you'll want if you're trying to use knex with ManticoreSearch and get the error unexpected BACKTICKED_SUBKEY, expecting SUBKEY. That error turned up zero results on google, so I hope this comment may help someone find the solution more quickly.


Stream_refactor

I made some changes to the Stream class with the idea of trying to clarify where different tasks should be handled, for example:

Data should be passed now to the stream constructor, as well as experiment name, LSL stream name, etc.
run not only takes parameters related to the specific run, such as out_dir, save_csv, save_interval, return_df
I have tried to only execute certain tasks and validations at the latest moment they are needed. For example, as we might change settings before running the stream, nyquist frequency check has been moved to the run function.

More changes I'd like to add:

Move instancing of DataGenerator and DataProcessor to run function
Move Stream control logic to a separate class that we can pass in to the constructor
Move output writing (csv, sqlite, etc) to a separate class to output can be written in different formats at the request of the user

I finished now a first version of the upper changes. An example to use it now looks as follows:
import py_neuromodulation as nm
from py_neuromodulation.stream.data_processor import DataProcessor
from py_neuromodulation.stream.rawdata_generator import RawDataGenerator
from py_neuromodulation.stream.mnelsl_generator import MNELSLGenerator
import asyncio

async def main():
    (
        RUN_NAME,
        PATH_RUN,
        PATH_BIDS,
        PATH_OUT,
        datatype,
    ) = nm.io.get_paths_example_data()

    (
        raw,
        data,
        sfreq,
        line_noise,
        coord_list,
        coord_names,
    ) = nm.io.read_BIDS_data(PATH_RUN=PATH_RUN)

    channels = nm.utils.create_channels(
        ch_names=raw.ch_names,
        ch_types=raw.get_channel_types(),
        reference="default",
        bads=raw.info["bads"],
        new_names="default",
        used_types=("ecog", "dbs", "seeg"),
        target_keywords=["MOV_RIGHT"],
    )

    settings = nm.NMSettings.get_fast_compute()

    data_generator = RawDataGenerator(data,
                                    settings.sampling_rate_features_hz,
                                    settings.segment_length_features_ms,
                                    channels,
                                    sfreq,
                                    )

    output_writer = nm.utils.data_writer.DataWriter(
        out_dir=PATH_OUT, save_csv=True, save_interval=10, experiment_name=RUN_NAME
    )

    data_processor = DataProcessor(
        sfreq=sfreq,
        settings=settings,
        channels=channels,
        coord_names=coord_names,
        coord_list=coord_list,
        line_noise=line_noise,
        verbose=True,
    )

    data_generator = nm.stream.rawdata_generator.RawDataGenerator(
        data, settings.sampling_rate_features_hz, settings.segment_length_features_ms, channels, sfreq
    )

    stream = nm.Stream(verbose=True)

    df_features = await stream.run(
        data_processor,
        data_generator,
        output_writer,
    )

    ######### Definition of LSL stream:

    lsl_generator = MNELSLGenerator(
        segment_length_features_ms=settings.segment_length_features_ms,
        sampling_rate_features_hz=settings.sampling_rate_features_hz,
        stream_name="example_stream"
    )
    channels = lsl_generator.get_LSL_channels()

    lsl_generator = lsl_generator.get_next_batch()

    stream = nm.Stream(verbose=True)

    df_features = stream.run(
        data_processor,
        lsl_generator,
        output_writer,
    )

if __name__ == "__main__":
    asyncio.run(main())

Through the await calls, the whole run function needs to be called now every time with asyncio. Not sure if that's optimal.. But I cannot think of another option.
There is not a "stream control logic" class yet. I would also need to think for some time how such a class could be included. At the moment there is the is_running variable, stream_handling_queue and websocket_featues that could be included in that class.

Couple of additional points:

The stream currently doesn't have the sfreq parameter, in fact it has in the init function only verbose.
The settings and channels are now part of the processing/data_processor. I tried it change it in such way that there should be "one and only one" place where those objects are saved.
I've tried to play around "hiding" the fact that the run function is now asynchronous by placing the asyncio.run() function in a wrapper, but it didn't really work. For now it might be necessary to await it and call the now async main function or call it via asyncio.get_event_loop().run_until_complete(stream.run())


Allow user to input str for GatherMetadata job settings metadata_dir var

Describe the bug
Issues arise trying to use PurePosixPath objects. It might make things simpler to allow a user to input a string and convert it to a path object at runtime.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Closed by https://github.com/AllenNeuralDynamics/aind-metadata-mapper/pull/140


Containerize c++ bqms

This is currently a work in progress

Codecov Report

Merging #630 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #630   +/-   ##
=======================================
  Coverage   90.81%   90.81%
=======================================
  Files          57       57
  Lines        3918     3918
=======================================
  Hits         3558     3558
  Misses        360      360

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dbcce3f...fa4949d. Read the comment docs.


Update - show the user that a download is in progress

During a download the menu label shows 'Checking For Updates' (see below) it should better show 'Downloading' when a download is in progress.

To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed.
Thanks for your understanding. Happy coding!


added preference for button source

Added Button Source for partner program's BN codes.
https://www.paypal-marketing.com/emarketing/partner/na/portal/integrate_bn_codes.html#ec

Looks good 👍

:+1:


Build fail on macOS 10.13.4 "Unable to find requested Boost libraries"

The build exits with the following error after almost finishing the installation. I have used brew to install Boost but it installs version 1.67 in a different location. The builder searchs in:
/usr/local/include while brew put it in:
/usr/local/Cellar/boost/1.67.0_1/ in this directory I find prompted libraries.
I am not that technical so I couldnt find where BOOST_ROOT and BOOST_LIBRARYDIR are to change them. Should I change them to the directory with boost 1.67?

ALL dependencies sucessfully found or installed . Installing EOS.IO

-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.66.0
Boost include path: /usr/local/include
The following Boost libraries could not be found:
      boost_date_time
      boost_filesystem
      boost_system
      boost_program_options
      boost_signals
      boost_serialization
      boost_chrono
      boost_unit_test_framework
      boost_iostreams

Some (but not all) of the required Boost libraries were found.  You may
need to install these additional Boost libraries.  Alternatively, set
BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
to the location of Boost.

@erlingrj run the following commands and you should be good to go.
(the eosio_build.sh script will install boost properly)
brew remove boost
cd /path/to/eos
rm -rf build/
git checkout master
git pull
git submodule update --init --recursive
./eosio_build.sh

Hi @pacificcode thanks for your quick reply. I ran all the commands but still get the same error regarding the boost libraries.

Checking Ruby installation
Ruby installation found.
Checking Home Brew installation
Home Brew installation found.
Checking dependencies.
Checking automake ... 		 automake found
Checking Libtool ... 		 Libtool found
Checking OpenSSL ... 		 OpenSSL found
Checking llvm ... 		 llvm found
Checking wget ... 		 wget found
Checking CMake ... 		 CMake found
Checking GMP ... 		 GMP found
Checking gettext ... 		 gettext found
Checking MongoDB ... 		 MongoDB found
Checking Doxygen ... 		 Doxygen found
Checking Graphviz ... 		 Graphviz found
Checking LCOV ... 		 LCOV found
Checking Python3 ... 		 Python3 found
No required Home Brew dependencies to install.
Checking boost library installation.
Boost 1.66.0 found at /usr/local.
Checking MongoDB C++ driver installation.
Mongo C++ driver found at /usr/local/lib/libmongocxx-static.a.
Checking secp256k1-zkp installation.
secp256k1 found at /usr/local/lib/
Checking LLVM with WASM support.
WASM found at /usr/local/wasm/bin/

ALL dependencies sucessfully found or installed . Installing EOS.IO

-- The C compiler identification is Clang 4.0.1
-- The CXX compiler identification is Clang 4.0.1
-- Check for working C compiler: /usr/local/bin/clang
-- Check for working C compiler: /usr/local/bin/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/bin/clang++
-- Check for working CXX compiler: /usr/local/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.66.0
Boost include path: /usr/local/include
The following Boost libraries could not be found:
      boost_date_time
      boost_filesystem
      boost_system
      boost_program_options
      boost_signals
      boost_serialization
      boost_chrono
      boost_unit_test_framework
      boost_iostreams

Some (but not all) of the required Boost libraries were found.  You may
need to install these additional Boost libraries.  Alternatively, set
BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
to the location of Boost.
Call Stack (most recent call first):
CMakeLists.txt:88 (FIND_PACKAGE)
-- Configuring Eos on OS X
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- binaryen building with -std=c++11
-- binaryen building for platform x86-64
-- binaryen building with -Wall
-- binaryen building with -Werror
-- binaryen building with -Wextra
-- binaryen building with -Wno-unused-parameter
-- binaryen building with -fno-omit-frame-pointer
-- binaryen building with -fPIC
-- binaryen building with -O2
-- binaryen building with -UNDEBUG
-- Found WASM: /usr/local/wasm/bin/clang
-- Using WASM clang => /usr/local/wasm/bin/clang
-- Using WASM llc => /usr/local/wasm/bin/llc
-- Using WASM llvm-link => /usr/local/wasm/bin/llvm-link
-- Found Secp256k1: /usr/local/lib/libsecp256k1.a
-- Found GMP: /usr/local/lib/libgmp.a
-- Configuring fc to build on Unix/Apple
-- Found OpenSSL: /usr/local/opt/openssl/lib/libcrypto.a (found version "1.0.2o")
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11")
-- zlib found
-- Found BZip2: /usr/lib/libbz2.dylib (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- bzip2 found
-- Configuring SoftFloat
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.66.0
Boost include path: /usr/local/include
The following Boost libraries could not be found:
      boost_date_time
      boost_filesystem
      boost_system
      boost_chrono
      boost_unit_test_framework

Some (but not all) of the required Boost libraries were found.  You may
need to install these additional Boost libraries.  Alternatively, set
BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
to the location of Boost.
Call Stack (most recent call first):
libraries/chainbase/CMakeLists.txt:26 (FIND_PACKAGE)
-- Configuring ChainBase on OS X
-- Using custom FindBoost.cmake
CMake Error at libraries/fc/CMakeModules/FindBoost.cmake:1129 (message):
Unable to find the requested Boost libraries.
Boost version: 1.66.0
Boost include path: /usr/local/include
The following Boost libraries could not be found:
      boost_date_time
      boost_filesystem
      boost_system
      boost_chrono
      boost_program_options
      boost_unit_test_framework

Some (but not all) of the required Boost libraries were found.  You may
need to install these additional Boost libraries.  Alternatively, set
BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
to the location of Boost.

See also "/Users/erling/Projects/eos/build/CMakeFiles/CMakeOutput.log".

@erlingrj Im not seeing the build script installing boost from source so Im guessing this is an issue from a previous install.
Try the following steps (do not skip any of these steps).
remove boost and clear boost info from homebrew database
brew remove boost
remove boost header files
sudo rm -rf /usr/local/include/boost
remove boost libraries
sudo rm -rf /usr/local/lib/libboost*
run the build script and this will install boost from source
./eosio_build.sh
If you run into any further issue paste the output from eosio_build.sh here.

@erlingrj your getting closer. It would be best to compile boost manually. Here is how you would do this:
export BOOST_ROOT=/usr/local
cd /tmp
curl -LO https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2
tar xf boost_1_66_0.tar.bz2
rm -f boost_1_66_0.tar.bz2
cd boost_1_66_0/
./bootstrap.sh "--prefix=${BOOST_ROOT}"
./b2 install
cd /tmp
rm -rf /tmp/boost_1_66_0/
cd /path/to/eos
./eosio_build.sh
Let me know how things work out.

That did it. Thanks alot for your patience and help!!
Good weekend

For others finding this, I ran into a missing boost error and running brew install boost fixed it in my environment. Surprised this is not included in the Homebrew installation script in the EOSIO build step.

I’m starting to think that Apple makes machines which function differently from each other. When we try running the script on newly-purchased machines of the models that we happen to use, it works.


Share Source for PDF

Can the "source" fort the PDF be shared?

Done, thanks.

The link to the .ai file looks good.  Thanks for the quick fix @dankohn


no achievements from RetroAchievements

from Discord (Destinyblade #0894)
I can't see the achievements for Castlevania SOTN
playnite.log

In Discord from @Deide#6005
@Lacro59 I think a it might be nicer to work with md5 hashes with retroachievements in Success Story, since that is what it goes by in the service.
What you could do is generate the hashes for all games under the supported platforms, then use something like http://retroachievements.org/dorequest.php?r=hashlibrary&c=18 (where c=18 is console ID 18 - Nintendo DS) and get all supported hashes and their associated RA game ids.
@Lacro59 It's what they themselves use https://github.com/RetroAchievements/RASuite/blob/3c68b8ae891aec4341dcf5a033355e00125ca546/RA_Integration/RA_httpthread.cpp#L70
There is a problem, however. You'd have to use a proper rom checksum algorithm rather than getting a hash of the file, since that's what  the emulators (and RA itself) use. I think it's mostly a case of hashing a rom while taking into account the relevant zero-padding for headers and stuff.

With regards to the rom checksums, I think you can see how rcheevos does it in rhash/hash.c; the rc_hash_nintendo_ds being an example for NDS.

From EustaceCS on forum (https://playnite.link/forum/thread-275-post-2695.html#pid2695)
How, by any chance, can I make the plugin fetch different achievement lists for
Battletoads (GameBoy) https://retroachievements.org/game/2211
Battletoads (NES) https://retroachievements.org/game/1509
?
That's two completely different games.
PlayNite recognizes them as separate entries with different release dates, covers, etc. SuccessStory does not (achievements from the latter are being displayed for both).
Also, are Arcade games supported?
Metal Slug series does have achievements at RetroAchievements (MS5, as example: https://retroachievements.org/game/12027 ) but SuccessStory doesn't show any.


src\shared\Z.EF.Plus.Audit.Shared\Extensions\DbContext\SaveChanges.cs.bak

And also the file:
src\shared\Z.EF.Plus.Audit.Shared\Extensions\DbSet`AuditEntry\SaveChanges - Copy (2).cs.bak
Do these files serve any real purpose? They are both marked as content and the only difference I could spot compared to SaveChanges.cs was:
"using Microsoft.Data.Entity;"   vs    "using Microsoft.EntityFrameworkCore;"
I'm reporting this because when someone attempts to generate a nuget package from the source code the "nuget-ification" mechanism embeds these files as "Content" in the resulting nuget package (your official nuget packages don't suffer from this probably because you follow a different packaging mechanism). I just though to bring this quirk to your attention given that if these file are there by mistake the fix should be fairly trivial:
Either delete these files all together or set their type to "None" (instead of "Content" which is the currently employed setting for this file).
Thanks again for this awesome library and keep up the good work.

Hello @dsidirop ,
Thank you for reporting.
We will look at it and fix it during the weekend probably.
Best Regards,
Jonathan

Hello @dsidirop ,
It seems we forget to deploy this fix. We have merged the fix today to remove this .bak file
Best Regards,
Jonathan


x/tools/gopls: unable to find references for stuct fields that use type param composite lits

gopls version: v0.12.4 (go1.20.3)
gopls flags:
update flags: proxy
extension version: 0.39.1
go version: 1.20.3
environment: Visual Studio Code darwin
initialization error: undefined
issue timestamp: Thu, 27 Jul 2023 03:27:43 GMT
restart history:
Tue, 25 Jul 2023 20:01:41 GMT: activation (enabled: true)
Tue, 25 Jul 2023 20:08:52 GMT: config change (enabled: true)
Tue, 25 Jul 2023 20:09:30 GMT: config change (enabled: true)
Tue, 25 Jul 2023 20:09:41 GMT: config change (enabled: true)
Tue, 25 Jul 2023 20:11:07 GMT: config change (enabled: true)
This is a followup or additional issue related to #61614 using the same minimal example I am unable to find references (cmd/ctrl+click in VSCode and other editors) for the generic fields.
What did you do?
If I cmd+click on a usage of the field, like 'element', then it correctly takes to the definition, but if I then cmd+click on the definition of the field, it does not show it's references. Instead it shows the message "No type definition found for 'elements'", (which is correct I guess) since I have that configured as the fallback action in vscode. For non generic fields, like 'name', it shows the other references as expected.
type builder[S ~[]F, F ~string] struct {
	name string  // <-- cmd+click here correctly shows references
	elements S // <-- [Definition] - cmd+click here does not show references and runs alternate gotoLocation command
	elemData map[F][]ElemData[F]
	// other fields...
}
type ElemData struct {
  Name F
  // other fields...
}
type BuilderImpl[S ~[]F, F ~string] struct{ builder[S, F] }

func NewBuilderImpl[S ~[]F, F ~string](name string)  *BuilderImpl[S, F] {
  return &BuilderImpl[S,F]{
	builder[S, F]{
	  name: name,
	  elements: S{}, // <-- [Usage] - cmd+click here takes me to [Definition]
	  elemData: map[F][]ElemData[F]{},
	}
  }
}

Editor and settings
  "editor.gotoLocation.alternativeReferenceCommand": "editor.action.goToTypeDefinition"
  "editor.gotoLocation.alternativeImplementationCommand": "editor.action.revealDefinition",
  "editor.gotoLocation.alternativeTypeDefinitionCommand": "editor.action.goToImplementation",
  "editor.gotoLocation.alternativeDefinitionCommand": "editor.action.goToReferences",
  "editor.gotoLocation.alternativeDeclarationCommand": "editor.action.referenceSearch.trigger",
  "editor.gotoLocation.multipleTypeDefinitions": "peek",
  "editor.gotoLocation.multipleReferences": "peek",
  "editor.gotoLocation.multipleDefinitions": "peek",
  "editor.gotoLocation.multipleDeclarations": "peek",
  "editor.gotoLocation.multipleImplementations": "peek",
// gopls settings, but nothing relevant to this issue
  "gopls": {
    "ui.semanticTokens": true,
    "ui.noSemanticString": false,
    "ui.completion.usePlaceholders": false,
    "ui.diagnostic.analyses": {
      "infertypeargs": false
    },
    "ui.documentation.linksInHover": false,
    "ui.navigation.importShortcut": "Definition"
  },

Logs
This is the only relevant log message I'm getting
[Error - 3:02:13 PM] Request textDocument/typeDefinition failed.
  Message: no type definition for elements
  Code: 0

I could still reproduce this with<EMAIL_ADDRESS>(go1.21rc3)

Thanks. This used to work in v0.11.0, I think. It looks like the new references logic dropped the 'equalOrigin' logic, unfortunately.

Thanks again for fixing this so quickly!
Unfortunately it seems I'm destined to keep you busy lol as just I made gopls crash again, this time when renaming a method of "BuilderImpl"
Issue: #61640


Language consistency across guides

The secondary indexes guide uses Python, but this isn't a consistent language choice across other guides.
Since the Data Explorer uses JavaScript, we should seriously consider making all guides use JavaScript by default.
An alternative would be to make all guides multi-language, which is more effort.

I think this is mostly not an issue anymore. We should open more specific issues when this is a problem for a specific page.


Fix social preview

The social preview at https://webnative.netlify.app does not currently unfurl to app information and the social preview image. It can be inspected at https://www.opengraph.xyz/url/https%3A%2F%2Fwebnative.netlify.app%2F.
I think the issue might be in the dynamic way we fill in the meta tags. It may be that social media platforms do not execute the necessary JavaScript to populate the tags. They do appear to render fine in a webpage and can be inspected there.
Maybe there is a SvelteKit config that could help us with this? Another alternative would be hard-coding the values into app.html, but it would be nice to find a better way.

Yes AFAIK you need static / server side rendered info for social graph.

We may be able to use https://www.npmjs.com/package/svelte-meta-tags to generate the meta tags.


Implementation of BukkitSchedulerMock#getPendingTask and PlayerMock#updateInventory

Description
Implementation of two small methods
PlayerMock#updateInventory
In Bukkit this method sends the current inventory information to a client (bukkit/spigot code snippet). Because MockBukkit is not simulating the client side, this function doesn't need any logic/code. Unit test should be unnecessary.
BukkitSchedulerMock#getPendingTasks
This method just lists the pending tasks (bukkit/spigot code snippet). Like in the bukkit implementation this removes any tasks with a task id of -1 from the list. Unit test checks if the length of the returned array matches expectations.
Checklist
The following items should be checked before the pull request can be merged.

[x] Version number updated in settings.gradle.
[x] Unit tests added.
[x] Code follows existing code format.

the usage of Thread.sleep within a test to simulate the passage of time is a really bad idea.
It will slow the tests down unnecessarily.

While this is right, without those varying "work loads" I'm not sure how representative those async tests are (those wait times increased the chance of catching some race-condition based errors for me). And the current runtime of the complete BukkitSchedulerMockTest (with all 11 test-methods) is about 25ms (average over 1000 runs), with only very few runs taking longer that 40ms (maximum I found was 139ms).
So should I remove this additional waiting period (or maybe decrease the upper bound to like 10 instead of 20ms)?

Since there hasn't been any Action in a while, I'm gonna close this for now. If someone wants to continue to work on this, feel free to reopen


Can "serverSupabaseUser.ts" use existing user?

I have several server middlewares. They are decoupled, so I'm calling serverSupabaseUser(event) several times.
Is it safe to check event.context._user. Since it starts with a _, I assume it is not for public use.
const user = event.context._user ?? await serverSupabaseUser(event);

If it is safe, can you add it to serverSupabaseUser.ts?
export const serverSupabaseUser = async (event: H3Event): Promise<User | null> => {
  const client = serverSupabaseClient(event)

  if (event.context._user) {
    return event.context._user;
  }

  if (!event.context._token) {
    return null
  }

  const { data: { user: supabaseUser }, error } = await client.auth.getUser(event.context._token)

  event.context._user = error ? null : supabaseUser

  return event.context._user
}

good question.  also concerned about the number of calls to serverSupabaseUser.  currently defining in middleware but it feels redundant
import { defineEventHandler, H3Event, parseCookies, setCookie } from 'h3'
import { serverSupabaseUser } from "#supabase/server";

export default defineEventHandler(async (event: H3Event) => {
  const cookies = parseCookies(event)
  if(cookies && cookies['sb-access-token']){
    const user = await serverSupabaseUser(event);
    if (user) {
      event.context.user = user;
    }
  }
});