When using BouncingScrollPhysics() on Android, the scroll-objects lock in at the top/bottom while bouncing

Description
Whenever using BouncingScrollPhysics() and scrolling to the very top/bottom such that the page bounces and then quickly scrolling into the opposite direction, the page seems to lock-in there, meaning it bounces in the opposite direction instead of normally scrolling. After that the page's scroll position is again the top/bottom of the ListView.
I don't know if this problem also occurs on iOS; so far I have only tested it for Android.
Steps to Reproduce
Any ListView with BouncingScrollPhysics()
(Make sure the list is longer then the visible portion of the ListView)
Flutter Doctor
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.15 19A583, locale en-US)
    • Flutter version 1.9.1+hotfix.2 at /Users/lucasaschenbach/Developer/flutter
    • Framework revision 2d2a1ffec9 (5 weeks ago), 2019-09-06 18:39:49 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/lucasaschenbach/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

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

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 40.0.2
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

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

[✓] Connected device (1 available)
    • ONEPLUS A3003 • f1e37f9c • android-arm64 • Android 9 (API 28)

Hey there,
I encountered the same issue, did you find any solutions for this?
It looks even worse when SliverPersistentHeader is used, the scroll rebounds to the top of the page abruptly, see here: https://youtu.be/iNuKxbdk3Do
and this shows the effect at the bottom of the list: https://youtu.be/408Xgkic9Ts
I spend a long time trying to find the cause of this, but in the end I just disabled overscrolling with this code:
`
class MyScrolllBehavior extends ScrollBehavior {
@override
Widget buildViewportChrome(
BuildContext context, Widget child, AxisDirection axisDirection) {
return child;
}
}
return MaterialApp(
builder: (context, child) {
return ScrollConfiguration(
behavior: MyScrolllBehavior(),
child: child,
);
},
key: key,
title: 'Motel',
debugShowCheckedModeBanner: false,
theme: AppTheme.getTheme(),
routes: routes,
);
`

To address this what we really need is a demonstration app that shows the problem in a very easy-to-reproduce way.

The following code should reproduce the issue. Scroll to the top and while the list is still bouncing, scroll into the opposite direction and the page will, against expectation, bounce into the opposite direction instead of scrolling back.
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'BouncingScrollPhysics Test',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'BouncingScrollPhysics Test'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView(
        physics: BouncingScrollPhysics(),
        children: List<Widget>.generate(50, (index) => ListTile(
            title: Text('item $index'),
          ),
        ),
      ),
    );
  }
}

I just found the problem.
Currently, in the constructor of the BouncingScrollSimulation class the _springSimulation is set as the _underscrollSimulation() or _overscrollSimulation() function, whenever the scroll position is smaller or bigger than the leading or trailing extent respectively, however, not taking into account the sign of the velocity. Therefore, whenever the scroll position is outside the bounds of the leading or trailing extent, every 'fling-action' will trigger a ScrollSpringSimulation(), regardless of the fling-direction.
With this code everything should work as expected:
BouncingScrollSimulation({
    @required double position,
    @required double velocity,
    @required this.leadingExtent,
    @required this.trailingExtent,
    @required this.spring,
    Tolerance tolerance = Tolerance.defaultTolerance,
  }) : assert(position != null),
       assert(velocity != null),
       assert(leadingExtent != null),
       assert(trailingExtent != null),
       assert(leadingExtent <= trailingExtent),
       assert(spring != null),
       super(tolerance: tolerance) {
    if (velocity <= 0.0 && position < leadingExtent) {              // <---- added velocity <= 0.0
      _springSimulation = _underscrollSimulation(position, velocity);
      _springTime = double.negativeInfinity;
    } else if (velocity >= 0.0 && position > trailingExtent) {      // <---- added velocity >= 0.0
      _springSimulation = _overscrollSimulation(position, velocity);
      _springTime = double.negativeInfinity;
    } else {
      _frictionSimulation = FrictionSimulation(0.135, position, velocity);
      final double finalX = _frictionSimulation.finalX;
      if (velocity > 0.0 && finalX > trailingExtent) {
        _springTime = _frictionSimulation.timeAtX(trailingExtent);
        _springSimulation = _overscrollSimulation(
          trailingExtent,
          math.min(_frictionSimulation.dx(_springTime), maxSpringTransferVelocity),
        );
        assert(_springTime.isFinite);
      } else if (velocity < 0.0 && finalX < leadingExtent) {
        _springTime = _frictionSimulation.timeAtX(leadingExtent);
        _springSimulation = _underscrollSimulation(
          leadingExtent,
          math.min(_frictionSimulation.dx(_springTime), maxSpringTransferVelocity),
        );
        assert(_springTime.isFinite);
      } else {
        _springTime = double.infinity;
      }
    }
    assert(_springTime != null);
  }
...

@maddada Could you please check if this also fixes your problem with the SliverPersistentHeader?
@Hixie Were you able to reproduce the issue? I created a pull request with the fix deployed: #48650

@LucasAschenbach
Hey Lucas,
thank you for the proposed fix, but it's not working in the SliverPersistentHeader case as you can see here: https://photos.app.goo.gl/7yCuq2PkkhcYCcyC6

Please try with this gist: https://gist.github.com/maddada/2cc7714328ad1c44d5fccabe7a73eb7a

I tried the code sample mentioned in above thread, https://github.com/flutter/flutter/issues/42540#issuecomment-572943783 using latest stable and master, but didn't observe / notice the lock at the top/bottom while bouncing, unless I missed the obvious issue.  I also changed the velocity but saw the same results.
https://user-images.githubusercontent.com/67046386/106737789-1e296680-663d-11eb-8de5-5f8c66ae8b9f.mp4
I am going ahead and closing this. If anyone disagrees, write in comments and I'll reopen it.

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.6, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-IN)
    • Flutter version 1.22.6 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 9b2d32b605 (11 days ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • 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-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.9.3

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (1 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm • Android 8.1.0 (API
      27)

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-18.0.pre.156, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.26.0-18.0.pre.156 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 45508985b1 (7 hours ago), 2021-02-02 22:46:04 -0500
    • Engine revision 2c144c3eeb
    • Dart version 2.12.0 (build 2.12.0-282.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • 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-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (3 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm    • Android 8.1.0 (API
      27)
    • macOS (desktop)   • macos            • darwin-x64     • Mac OS X 10.15.4
      19E2269 darwin-x64
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      88.0.4324.96

! Doctor found issues in 1 category.


Bitfinex v2 support (Bounty 0.1 BTC)

Any plans on adding bitfinex rest/websocket v2 api into the library?
OHLC data is now supported so it would be very nice add.
Thanks,

Websocket = No. See README for a link to our partner websocket lib. I don't know of anyone working on the REST V2 API. If you posted a bounty, it'd surely get done!

Just updated this issue with 0.1 BTC bounty. Let's see how this will work out.

I added the bounty tag.

Very interested... might have time this weekend if someone else doesn't claim it first.

@EricAnderson1000 sure it's yours. Open a pull request when completed. Upon merging into the main library I'll have it transferred to your bitcoin account.

I'm still working on this... it looks like bitfinex made some crazy API response choices.
curl https://api.bitfinex.com/v2/tickers?symbols=tBTCUSD,fUSD
[["tBTCUSD",5959.9,82.07324724,5960,95.39246846,-180.2,-0.0293,5960,57085.70887683,6166.8,5705],["fUSD",0.00184007,0.001321,30,2551369.97249744,0.001391,2,262513.21961291,-0.000297,-0.186,0.0013,151359033.7897417,0,0]]

 curl https://api.bitfinex.com/v1/pubticker/BTCUSD
{"mid":"6011.65","bid":"6010.0","ask":"6013.3","last_price":"6012.9","low":"5705.0","high":"6166.8","volume":"57846.53102329","timestamp":"1508686613.9543736"}

Notice the missing property names in the JSON responses in the new API.

@serhansevim Code is coming along nicely. I have all the MarketData calls implemented and tests added. Here is the branch I am working on
https://github.com/timmolter/XChange/compare/develop...EricAnderson1000:bitfinexV2Support

@serhansevim Are you still interested in this feature? I just need to implement about 35% more.

Hi, I've written xchange-stream module for bitfinex (based on wss://api.bitfinex.com/ws/2). I made PR there (https://github.com/bitrich-info/xchange-stream/pull/22). But, you can test it now (https://github.com/lukaszaoralek/xchange-stream/tree/poloniex/xchange-bitfinex)
...and if you like it I don't complain for bounty. :)


chore: bump axios version

Hey 👋  could you replace axios that utilize globalThis.fetch instead?
NodeJS just shipped fetch built in to NodeJS now.


PicoRV32 Documents

HI, I am interested to learn PicoRV32, So Can you update Architecture & Pipeline, Datasheet for PicoRV32?

I think the README is pretty clear that PicoRV32 is not pipelined (there is a whole chapter on CPI performance). Regarding "Architecture": I don't know what you want to know. If you have specific questions that are not answered by the documentation yet: Please just bring them up here and I'll add to the documentation, but you have to ask specific questions!

Is there a reason you have not pipelined PicoRV32 ? I want to take this oppurtunity to create a pipelined version.


Unable to train

Hello, when I run train.py, why does it keep stuck?（about PAN++)
Command used： CUDA_VISIBLE_DEVICES=0,1 python train.py config/pan_pp/pan_pp_r18_ic15_joint_train.py

CUDA_VISIBLE_DEVICES=0,1 python train.py config/pan_pp/pan_pp_r18_ic15.py --checkpoint checkpoints/pan_pp_r18_ic15/


Support Request: API Failing - Plugin Error or Blocked API

Describe Your Problem
I am not able to control any Switchbot devices using HomeKit via HomeBridge. I am aware that I accidentally set a refresh to 5 seconds previously, which would have made me exceed the 10,000 limit, about 2 days ago. It's possible I exceeded this 2 or 3 times. The API came back online once, then went back off again. I would like help to have this API block reset, or to tell me what is wrong with the configuration of my plugin. I have tried restarting every element of the config (HomePods, HomeBridge server, Swithbot hub etc.) to no avail. Configuration of the bot was all conducted through the Plugin.
Relevant log output
I am not receiving any logs, other than:

[23/02/2023, 17:52:39] [SwitchBot] API Request: TypeError: Cannot read properties of undefined (reading 'deviceList'), Submit Bugs Here: https://tinyurl.com/SwitchBotBug

and separately:

23/02/2023, 17:57:27] [Homebridge UI] [@switchbot/homebridge-switchbot] Terminating child process...
[23/02/2023, 17:57:27] [Homebridge UI] [@switchbot/homebridge-switchbot] Child process ended

Config for homebridge-switchbot
{
            "name": "SwitchBot",
            "credentials": {
                "token": "redacted",
                "secret": "redacted",
                "notice": "Keep your token a secret!"
            },
            "options": {
                "devices": [
                    {
                        "deviceId": "F5AB8AA58AF8",
                        "configDeviceName": "Water Heater",
                        "configDeviceType": "Bot",
                        "connectionType": "BLE/OpenAPI",
                        "bot": {
                            "mode": "press",
                            "deviceType": "switch",
                            "allowPush": true
                        },
                        "logging": "debug"
                    }
                ],
                "logging": "debug"
            },
            "platform": "SwitchBot"

Screenshots
No response
Device & Model
Raspberry Pi
Node.js Version
v18.14.2
NPM Version
unsure
Homebridge Version
v1.6.0
Homebridge SwitchBot Plugin Version
v2.5.2
Homebridge Config UI X Plugin Version
v4.50.2
Operating System
Raspbian

On performing another restart, I've managed to pull the following logs.
I believe this to mean that my account is "Unauthorised" and this will be most likely because of the accidental polling config I mentioned.
Can someone help me to get this rectified please?
Thanks.
[23/02/2023, 17:52:39] [SwitchBot] [DEBUG] statusCode: 401
[23/02/2023, 17:52:39] [SwitchBot] [DEBUG] headers: {"date":"Thu, 23 Feb 2023 17:52:39 GMT","content-type":"application/json","content-length":"26","connection":"close","x-amzn-requestid":"b43c2be7-daf1-4a62-933c-f124a4e7eca1","x-amzn-errortype":"UnauthorizedException","x-amz-apigw-id":"AzcsKGU0IAMFmgw="}
[23/02/2023, 17:52:39] [SwitchBot] [DEBUG] d: {"message":"Unauthorized"}
[23/02/2023, 17:52:39] [SwitchBot] [DEBUG] devicesAPI: [Undefined]


⚠ dev-deces.matchid.io website has degraded performance

In b1b477c, dev-deces.matchid.io website (https://dev-deces.matchid.io) experienced degraded performance:

HTTP code: 200
Response time: 3083 ms

Resolved: dev-deces.matchid.io website performance has improved in 6738f74.


crash with fluids inside

For some reason it keeps crashing when i try to put water in it

This mod does need updated to support the new forge versions that changed a few things with liquid ,but I am not certain if this is because of that .

ah ok


Conditional Access MFA for Azure Management is also catching Powerapps

We noted that CA rules that apply to "Microsoft Azure Management" app will also apply to PowerApps application. Even if you configure Microsoft PowerApps as an exception  it won't work, I mean the CA rule will be enforced for PowerApps.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 221733cf-3951-3fb4-12cc-486ef43d8d16
Version Independent ID: d1b33f3f-9b93-b06e-bb4a-673205833fd5
Content: Manage access to Azure management with Conditional Access in Azure Active Directory
Content Source: articles/role-based-access-control/conditional-access-azure-management.md
Service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

Thanks for your comment. We are actively investigating and will get back to you shortly. Thanks for your patience.

We are using powerapps with the link apps.powerapps.com and our CA rule for Microsoft Azure Management is still applying.

I still have the same issue. I created a MS support ticket and the answer was it is by default because there is a dependency between PowerApps and Microsoft Azure Management https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/service-dependencies#policy-enforcement  Is this accurate?

Yes this is accurate but there is active work to break the dependency between PowerApps and Microsoft Azure Management. Stay tuned!

This issue was solved recently by Microsoft. Now, PoweApps doesn’t have any dependency with the Azure Management application.


[zh]: Rsync access-cluster-service.md

Move access-cluster-service.md to access-application-cluster directory.

/lgtm

/approve


Update sqlclient-driver-support-lifecycle.md

Update AKV provider life cycle

@David-Engel
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off
Thanks, @ErikEJ!


Metrics: appmap.data

For a given AppMap, compute and return an appmap.data.* metrics object. This is probably best done from the webview where the AppMap model exists.

https://github.com/applandinc/vscode-appland/pull/231


Update serverbound.md

Adding description on edge cases for pow and eval.

When your IP gets banned it closes the connection that caused the ban and prevents making new connections, but it leaves any other already existing connections just fine until they disconnect


[Lean Core] Move RCTTest & takeSnapshot to RNTester

Summary
Part of: #23313.
This moves the RCTTest lib from Libraries/RCTTest to RNTester/RCTTest. This also removes takeSnapshot from React Native, and implements it as a standalone module in RNTester called ScreenshotManager.

Changelog

[General] [Removed] - RCTTest & ReactNative.takeSnapshot
Test Plan

Run the iOS RNTester tests, verified that the snapshot taker was still working when pointed at the new native module.

I think the failing test is unrelated:
cc1plus: all warnings being treated as errors on android.


fix(deps): update dependency ts-jest to v29.1.1

Checklist

[x] the contributor license agreement is signed
[x] commit message follows commit guidelines
[ ] tests are included
[ ] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
To fix #4800.
Update package-lock.json for react-front-end.

Closed via #4800.


Does MA estimate the right coefficients?

Consider the code below that

generates an MA(1) process of 100k time points
fits the process using pyflux
fits the process using statsmodels

I am getting that pyflux does not estimate the MA coefficient right. In opposition, statsmodels does.
Anyone gets the same result?
How to reproduce:
def get_arma_process(ar, ma=0, samples=100000):
    """
    Generates a realization of an ARMA(ar, ma) process.
    """
    # a small noise so that the coefficients are well determined
    noise = np.random.normal(scale=0.01, size=samples)

    if ar > 0:
        # when sum of coefficients is smaller than 1 the process is stationary
        coefficients_ar = 0.99 * np.ones(shape=ar) / ar
    else:
        coefficients_ar = []

    if ma > 0:
        coefficients_ma = 0.5 * np.ones(shape=ma)
    else:
        coefficients_ma = []

    # start at 1
    x = np.ones(samples)

    for i in range(max(ar, ma), samples):
        x[i] = np.sum(coefficients_ar[d] * x[i - 1 - d] for d in range(0, ar)) + \
               np.sum(coefficients_ma[d] * noise[i - 1 - d] for d in range(0, ma)) + noise[i]

    return x[max(ar, ma):]

def _test_ARMA(ar, ma):
    """
    Tests that a ARMA(ar, ma) model fits an ARMA(ar, ma) process.
    """
    data = get_arma_process(ar=ar, ma=ma)

    model = ARIMA(data=data, ar=ar, ma=ma)
    coefficients = model.fit().z.get_z_values(transformed=True)

    assert (len(coefficients) == ar + ma + 2)  # 1 constant + 1 for the noise scale

    # Constant coefficient 0 within 0.1
    assert (np.abs(coefficients[0]) < 0.1)

    # AR coefficients within 10%
    if ar > 0:
        expected_ar = 0.99 / ar  # same as used in `get_arma_process`
        for ar_i in range(ar):
            assert (np.abs(coefficients[1 + ar_i] - expected_ar) / expected_ar < 0.1)

    # MA coefficients within 10%
    if ma > 0:
        expected_ma = 0.5  # same as used in `get_arma_process`
        for ma_i in range(ar, ma):
            assert (np.abs(coefficients[1 + ma_i] - expected_ma) / expected_ma < 0.1)

    # Normal scale coefficient within 10%
    expected_noise = 0.01  # same as used in `get_arma_process`
    assert (np.abs(coefficients[-1] - expected_noise) / expected_noise < 0.1)

_test_ARMA(0, 1)

If I run _test_ARMA(1, 0) or _test_ARMA(2, 0), the test passes. If I run _test_ARMA(0, 1) the test does not pass. Specifically, the MA coefficient is computed to be ~0, while the expected result is 0.5.
I took the same test and ran it with statsmodels using
m = statsmodels.tsa.arima_model.ARMA(data, order=(ar, ma))
coefficients = m.fit(disp=False).params

and the test passes (ignoring the normal scale coefficient that is not estimated by the statsmodels).
Any ideas?

Thank you for reporting this issue. I did some tests a year ago between different packages (R/Python) and the results were inconsistent - in some cases the PyFlux implementation gave superior results, other times other packages gave superior results. But in the case you give, it looks like a problem with the PyFlux optimizer. Will try to have a look when I get some time.


Dropdown menu with positioning adjustment - Iss248

Problem
When you are inside the website, if you click on the Documentation menu, the scroller will create a weird behavior showing the Left Dropdown at nowhere.

Reproduce
If you scroll down and click on menu documentation the scroll transition created the submenu with wrong element calculation

Solution
I created a time frame to wait for the scrolling animation and wait element calculation in right place.

Hey @lucasferreiralimax, thanks for your PR.
This bug was fixed in the PR #249.
:beers:


How to work with the row ID's?

For example, I have a player in my schema with a name col. I want to get the ID (primary key - you create for every table) when inserting this player to retrieve it afterwords by this ID. Can I do it like this, or is the idea that you don't use the ID and have to insert a player_id column yourself and use it as unique?
When inserting a column id as unique, it conflicts with the primary key id.

Does the TableRow type not do what you want?
TableRow is a typed wrapper for the row id that only lives for the length of the transaction.
The TableRow is automatically returned when you insert a row into the database.
let player: TableRow<Player> = txn.try_insert(Player {
    name: "my player",
}).unwrap();

Do you want to have an owned version of the row id to reuse between Transactions?
If so then it would help me to know more about your use case.

Another example of TableRow use.
// new_players: Vec<TableRow<Player>>
let new_players = txn.query(|rows|{
     let player = Player::join(rows);
     rows.filter(player.score().eq(0));
     rows.into_vec(player)
});

for player in new_players {
    // this does an additional query for every player!
    println!("{}", txn.query_one(player.name()));
}

I want to pass on these retrieved objects to the frontend. The ID should be usable across Transactions to identify these objects. So yes, an owned row.

If it is for the frontend then I think my comment on hacker news is relevant https://news.ycombinator.com/item?id=42289251
So my advice would be:

Do you already have any unique constraints? If so then consider using those to identify the row across Transactions and in the frontend.
Otherwise, add a new column with a name like pub_id (meaning "public identifer") and type i64 and add a (named) unique constraint and initialize it with a random integer.

#[schema]
enum Schema {
    Player {
        #[unique_pub_id] // named unique constraint allows you to have more than 1 unique constraint
        pub_id: i64,
        // other stuff ..
    }
}

In my personal project (which is a server and frontend) I have not yet had to create an artificial key.
The things I communicate with the frontend all have a nice unique property that I can use:

Users all have a github id which is unique.
Files all have a unique hash.
Challenges have a unique name.
Benchmark results are identified by the combination of a challenge and a file.

At $work we use postgresql and just have pub_id columns on all tables. Those pub_ids are UUIDv7 if i remember correctly and it works quite nicely.

Thanks for this advice. Helped a lot. Will follow it for further development. Think it's nice that this crate will avoid making the row ID public, following best practices.


bower_components folder is not part of the start-up code provided by John or in the download.zip

bower_components folder was not included as a directory in when u download the zip folder...is it generated?

run $ bower install.

thank you very much, liran96 !!!!!


HystrixCommands.toMono() not working properly

Hi,
I have discovered strange behavior when using Flux stream with Hystrix (using Observable command via org.springframework.cloud.netflix.hystrix.HystrixCommands.
I have following usecase (in real web service is call is used via WebClient, but this works too):
Flux
                .just(1, 2, 3, 4, 5)
                .delayElements(Duration.ofMillis(500))
                .flatMap(i -> HystrixCommands
                        .from(Mono.just(i)
                                .map(x -> x * 10)
                                .delayElement(Duration.ofMillis(200)))
                        .commandName("command")
                        .toMono()) // THIS IS IMPORTANT
                .delayElements(Duration.ofMilis(200)) // simulate other WS call
                .subscribe(System.out::println);

Problem with this code, is that Hystrix does not count successful events. This cause incorrect metric, and cause to circuit never to closed.
I have look deeper and found possible root cause.
In Mono.from(Publisher) called in HystrixCommands.toMono(), it creates reactor.core.publisher.MonoFromPublisher, that subscribe reactor.core.publisher.MonoNext.NextSubscriber. There is invocation of method onComplete() inside method onNext(T). This cause the subscription complete and unsubscribe this mono. Because of that parent RxJava Observable (inside hystrix) is unsubscribed and then onComplete() call is never fired (and then calculation of successfully event).
I have found workaround to use following call: .toFlux().singleOrEmpty() instead of call .toMono(). Following flux -> mono conversion does not call onComplete() on onNext() but rather wait for parent onComplete() propagation.
I do not known, if this should be fixed in this project. But at least the workaround may be implemented here.
Note: Additional example, that may be more easily debuged:
Flux
                .just(1, 2, 3, 4, 5)
                .delayElements(Duration.ofMillis(500))
                .flatMap(i -> {
                    HystrixCommandGroupKey groupKey = HystrixCommandGroupKey.Factory.asKey("group");
                    HystrixCommandKey commandKey = HystrixCommandKey.Factory.asKey("command");
                    Setter setterToUse = Setter.withGroupKey(groupKey).andCommandKey(commandKey);
                    Observable<Integer> res = new HystrixObservableCommand<Integer>(setterToUse) {

                        @Override
                        protected Observable<Integer> construct() {
                            return Observable.just(i * 10);
                        }

                    }.toObservable();
                    return Mono.from(RxReactiveStreams.toPublisher(res));
                })
                .subscribe(System.out::println);

Then see rx.internal.producers.SingleProducer.request(long) on line 71, c.isUnsubscribed() return true, then line 75 c.onCompleted() is never reach. When using Flux.from(RxReactiveStreams.toPublisher(res)).singleOrEmpty(), the line 75 is reach and c.onCompleted() is called. Causing hystrix hooks called and properly calculated successful event.
Spring version: 2.0.0.RC1
Spring Cloud version: Finchley.M5
Spring Cloud Hystrix version: 2.0.0.M5
Java version:
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

@Delorien84 can you explain the specific problem, what is the expected outcome vs what is actually happening?

Sorry for that.
It cause that Hystrix onSuccess hook is not called, that cause several problems.

Hystrix mettrics are not correctly calculated (success event is never happened)
When circuit is open, it will never close
When circuit is closed, it opens on X failed events, ignoring success events, thus ignoring circuitBreaker.errorThresholdPercentage property.

Expectation is, that Hystrix onSuccess hook is called in all case , without using workaround described above ( .toFlux().singleOrEmpty())
Additional notes:
When Hystrix command return empty Observable (empty Mono), it works without workaround.

See https://github.com/Delorien84/hystrix-observable-flux-bug for test case.

Hmm, why are you trying to convert a Flux to a Mono?

@spencergibb Because I call web service via WebClient that return Mono as result. As i understand with talk in 1069. What I am trying to do, is the following chain WebClient(Mono) -> Hystrix(Observable) -> Return(Mono)  (Hystrix does not use Single, only Observable and there is a API, that allows me to do). The problem is conversion from Observable to Mono via Mono.from(RxReactiveStreams.toPublisher(observable)). When first item arrived to Mono it cause cancellation of Observable (see explanation in referenced bug).  Canceled Observable does not trigger onSuccess handlers and Hystrix does not correctly count success event.
So for me it is confusing the org.springframework.cloud.netflix.hystrix.HystrixCommands API, that has toMono() method, but it does not work as user expect. WebClient return Mono, so I naturally call HystrixCommands.toMono().  I would recommend one of the following:

Update implementation toMono() method, to contains: toFlux().singleOrEmpty()
Properly document HystrixCommands - If input Publisher<T> emits no value (like Mono<Void> ) it is safely to use toMono(). If emits one item (like  Mono<T>) user has to use toFlux().singleOrEmpty() (making sure that underlying Observable is not canceled) . If emits multiple values it is safe to use  toFlux() but make sure, that any operation on that Flux does not cause subscription cancellation.

@smaldini and ideas?


Adding more terms to glossary

This is the first update in a while -- going through an internal glossary we have with the help of @i18laurel.
We've got a number of terms identified as needing work, and others that have definitions but need to be finessed a little bit. Improvements To Come!

This branch is super old. Closing and re-opening on a different branch.


fix: add missing peer dependency react

What's the problem this PR addresses?
reactcss is trying to use react without declaring it as a peer dependency
How did you fix it?
Added react to peer dependencies

Ping @casesandberg


Moved assets folder from root to fastlane_core

Fixes https://github.com/fastlane/fastlane/issues/4005

:100:


improve ci

Pull Request Test Coverage Report for Build 397532697

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 47.92%

Totals

Change from base Build 397519265:
0.0%

Covered Lines:
1348

Relevant Lines:
2813

💛  - Coveralls


Add a rake task to check if a user exists

Look up users by email address to see if they have an account. We have
to do this occasionally, so add a more convenient method than using the
Rails console.
Trello card
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Does this need to be documented anywhere? I had a quick look through the support part of the manual and didn't see anything similar

Much of the stuff under https://team-manual.account.publishing.service.gov.uk/support/ will become irrelevant or need changing when we migrate stuff over to DI.  Since it's just our team who deals with account-related support stuff right now, let's not put the work in to update / review / rewrite our support docs before the DI migration (which should be late next month).
Also, checking which rake tasks are available, with bundle exec rake -T, is a pretty common practice amongst GOV.UK developers who do need to do some support task.  So this is discoverable.

@barrucadu This is ready to merge now


test: implement end to end test

Stack:

#151
#150
#149 ⬅
#148

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 49.48%. Comparing base (bb1ea16) to head (cd8e3ea).

Additional details and impacted files
@@                                  Coverage Diff                                   @@
##           pr/Itay-Tsabary-Starkware/tsabary/mempool/064f8610     #149      +/-   ##
======================================================================================
+ Coverage                                               45.05%   49.48%   +4.42%
======================================================================================
  Files                                                      19       19
  Lines                                                     668      677       +9
  Branches                                                  668      677       +9
======================================================================================
+ Hits                                                      301      335      +34
+ Misses                                                    351      324      -27
- Partials                                                   16       18       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


How to set complex object use --set？

Output of helm version:
version.BuildInfo{Version:"v3.5.1", GitCommit:"32c22239423b3b4ba6706d450bd044baffdcf9e6", GitTreeState:"clean", GoVersion:"go1.15.7"}

Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:28:09Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:20:00Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

Now I have a field that is a key value pair. I want to pass it in through -- set, but the key contains the dot character. For example:
volumeClaimTemplates
  metadata:
    annotations:
      volume.beta.kubernetes.io/storage-class: "nfs-client"

I pass parameters through -- set :
--set persistence.annotations={"volume.beta.kubernetes.io/storage-clasnfs-lient":"nfs-client"}

The final result is:
  volumeClaimTemplates:
    - metadata:
        annotations:
          0: volume.beta.kubernetes.io/storage-class=nfs-client

Here's how the helm template is written:
{{- with .Values.persistence }}
  volumeClaimTemplates:
    - metadata:
        name: state
        {{- with .annotations }}
        annotations:
          {{- range $key, $value := . }}
          {{ $key }}: {{ $value }}
          {{- end }}
        {{- end }}
  {{- end }}

Or you can look at this project:
https://artifacthub.io/packages/helm/adwerx/github-actions-runner
What should I do？

https://helm.sh/docs/intro/using_helm/#the-format-and-limitations-of---set demonstrates how to escape dot and slash characters. Have you tried giving that a go?


How Did You Test This Change?

Use #7601's reproduce step to test.

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

Comparison is base (65faea2) 43.19% compared to head (3509621) 43.16%.

Files
Patch %
Lines

...apache/rocketmq/store/timer/TimerMessageStore.java
0.00%
4 Missing :warning:

...apache/rocketmq/broker/slave/SlaveSynchronize.java
0.00%
3 Missing :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #7603      +/-   ##
=============================================
- Coverage      43.19%   43.16%   -0.03%
- Complexity      9782     9783       +1
=============================================
  Files           1162     1162
  Lines          84378    84381       +3
  Branches       10955    10957       +2
=============================================
- Hits           36451    36427      -24
- Misses         43397    43434      +37
+ Partials        4530     4520      -10

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


scrollToDate scrolls to section header

v7.0.4
calendarView?.scrollingMode = .none
calendarView?.scrollDirection = .vertical
The scrollToDate(Date) function scrolls to the section (month) header, not to the row of the (Date).
Thanks!!!
Mike

put this in your pod file.
pod 'JTAppleCalendar', :git => 'https://github.com/patchthecode/JTAppleCalendar.git', :branch => 'master'

run a pod update
Let me know if you are still experiencing this.


AVBR: enable support for AVC and support in sample_encode

./sample_encode h264 -i xxx.yuv -o xxx.h264 .....-avbr -b TargetBitrate
-convergence Convergence -accuracy Accuracy
Convergence is in the unit of frame
Accuracy should be in [1, 100]
Change-Id: Ic57cf2c213a9345328d2b91d9bf455bec3283360

This is not only add AVBR in sample_encode, but also add support in MSDK core libary. So, please update the PR name.


how to add simple line to example?

how can you add a simple line (with given data points) to this example:
http://bl.ocks.org/andredumas/edf630690c10b89be390

blasterY i´m looking for exactly the same. I guess this project isn't attended at all. Let me know if you find something, Thanks a lot.


Generalize service parameter creation

Currently there are two flows when it comes to parameter creation: services and generic.
services is just a faster way to create many parameters across different environments at once.
services assumes the path convention that I use which is /services/{env}/{serviceName}/{parameterName}.
Other teams may do this differently, so make the ability to either template-fy services parameters or support other people's use cases.

Please expose configuration for Environments
Or at least more generic:

local
dev
test
staging
prod
common


tests/bsim/bluetooth/mesh/tests_scripts/priv_beacon/proxy_adv_multi_subnet_coex.sh fails on main

Describe the bug
tests/bsim/bluetooth/mesh/tests_scripts/priv_beacon/proxy_adv_multi_subnet_coex.sh is failing on main
To Reproduce
Steps to reproduce the behavior:

Trigger this test in CI with a related PR
OR in Zephyr's root folder
nice tests/bsim/bluetooth/mesh/compile.sh
tests/bsim/bluetooth/mesh/tests_scripts/priv_beacon/proxy_adv_multi_subnet_coex.sh
See error

Expected behavior
No test failures in CI
Impact
Block development in main when the test is triggered
Logs and console output
https://github.com/zephyrproject-rtos/zephyr/actions/runs/7273217875/job/19816778491?pr=66667#step:12:498
Environment (please complete the following information):

OS: Linux, CI, or Ubuntu 22.04
Toolchain (e.g Zephyr SDK, ...): host gcc 11 or 12
Commit SHA or Version used: Today's main 6e678e3baee0c57fcf9a96e47b79f8b9a9e6eeaf

Additional context
Test introduced in https://github.com/zephyrproject-rtos/zephyr/pull/65914

CC: @PavelVPV @alxelax @Andrewpini

fix: https://github.com/zephyrproject-rtos/zephyr/pull/66689


update prometheus version

check to see if latest prometheus version is being used.

Link to PR https://github.com/rancher/system-charts/pull/77 and update the Grafana image.

rancher/rancher:master-head ca39b71

Deploy Rancher
Create Cluster
Enable Cluster monitoring
Monitoring enables successfully
Prometheus is versioned correctly and using images from rancher: rancher/prom-prometheus:v2.11.1
Grafana is versioned correctly and using images from rancher: rancher/grafana-grafana:6.3.2


[BUG] Not being able to verify the otp after signing up

Describe the bug
There is some issue in the flow of control for new users signing up. I am facing the same
To Reproduce
Steps to reproduce the behavior:
try to signup as a new user
Expected behavior
A clear and concise description of what you expected to happen.
seamless otp verification
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.

@ShivanshPlays
OTP verification is working very well. try again


URL encoding security issue

Requests are built for the Google API with the following code:
https://github.com/ezzarghili/recaptcha-go/blob/fcf7f6a431eb9b7a43edc85065abb52c4c920e20/recaptcha.go#L71
What happens when the user appends his own secret? It seems necessary to investigate the possibility of malicious users messing with this. Why can't we use Golang's url.Encode?

Thank you for noticing that, that's valid security issue as this was assuming that the package user will sanitize the data received from the client and this may not be the case, I will get some time and fix this and release a fix release.


Hide not important folders

Is it possible to create Hide option for folders that I'm not using in my project?
For example I have node_modules in my project, and I want to hide it (right click?)..

You should put **/node_modules pattern into files.exclude option in settings

This is already supported as described by @deitry. There are extensions that provide context menu actions to exclude folders, e.g., https://marketplace.visualstudio.com/items?itemName=RedVanWorkshop.explorer-exclude-vscode-extension


Use ViewableData getters in template engine

The template engine doesn't include arguments when calling methods without their get prefix. One example is FormField->getAttributesHTML():
// works
$getAttributesHTML('class')
// doesn't work
$AttributesHTML('class')

Raised in https://github.com/silverstripe/silverstripe-framework/pull/2492. Not sure if this has any implications on value caching within the ViewableData layer. I can't figure out how to read or write the SSTemplateParser class, so leaving this to @hafriedlander. Basically, make this test pass:
diff --git a/tests/view/SSViewerTest.php b/tests/view/SSViewerTest.php
index 187bf05..77c9473 100644
--- a/tests/view/SSViewerTest.php
+++ b/tests/view/SSViewerTest.php
@@ -291,6 +291,15 @@ SS;
            . '<% end_if %><% end_loop %><% end_with %>',$data);
        $this->assertEquals("SubKid1SubKid2Number6",$result, "Loop in current scope works");
    }
+
+   public function testGetterWithArguments() {
+       $vd = new SSViewerTest_ViewableData();
+       $this->assertEquals(
+           'arg1:one,arg2:two',
+           SSViewer::fromString('$MethodWithArgs("one","two")')->process($vd),
+           'Accepts arguments with method name leaving out "get" prefix'
+       );
+   }

    public function testObjectDotArguments() {
        $this->assertEquals(
@@ -301,7 +310,7 @@ SS;
                [out:TestMethod(Arg1,Arg2)]
                [out:TestMethod(Arg1).Bar.Val]
                [out:TestMethod(Arg1).Bar]
-               [out:TestMethod(Arg1)]',
+               [out:TestMethod(Arg1)],',
            $this->render('$TestObject.methodWithOneArgument(one)
                $TestObject.methodWithTwoArguments(one,two)
                $TestMethod(Arg1, Arg2).Bar.Val
@@ -1365,6 +1374,10 @@ class SSViewerTest_ViewableData extends ViewableData implements TestOnly {
    public function methodWithTwoArguments($arg1, $arg2) {
        return "arg1:{$arg1},arg2:{$arg2}";
    }
+
+   public function getMethodWithArgs($arg1 = null, $arg2 = null) {
+       return "arg1:{$arg1},arg2:{$arg2}";
+   }
 }

/cc @hafriedlander

Agreed with @hafriedlander 's original point; Getters shouldn't take arguments, and it's acceptable to force usage of the full method name if arguments are needed.
The getAttributesHTML issue is an example of poor style, but is itself the cause of it's own issues, not the template accessor system.


Can dlib setup with pypy ？

In my project, I use pypy as the runtime of Python.
When I install Dlib to pypy, the following compilation anomalies occur.

[root@873734fc864b dlib-master]# pypy setup.py install
running install
running bdist_egg
running egg_info
writing dlib.egg-info/PKG-INFO
writing dependency_links to dlib.egg-info/dependency_links.txt
writing top-level names to dlib.egg-info/top_level.txt
package init file 'dlib/__init__.py' not found (or not a regular file)
reading manifest file 'dlib.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'dlib.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
Building extension for Python 2.7.13 (ab0b9caf307db6592905a80b8faffd69b39005b8, May 03 2018, 01:56:42)
Invoking CMake setup: 'cmake /root/dlib-master/tools/python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/root/dlib-master/build/lib.linux-x86_64-2.7 -DPYTHON_EXECUTABLE=/bin/pypy -DCMAKE_BUILD_TYPE=Release'
-- The C compiler identification is GNU 7.1.0
-- The CXX compiler identification is GNU 7.1.0
-- Check for working C compiler: /opt/devtools-7.1/bin/cc
-- Check for working C compiler: /opt/devtools-7.1/bin/cc -- 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: /opt/devtools-7.1/bin/c++
-- Check for working CXX compiler: /opt/devtools-7.1/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /bin/pypy (found version "2.7.13")
-- Found PythonLibs: python2.7
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- pybind11 v2.2.2
-- Using CMake version: 3.13.0-rc3
-- Compiling dlib version: 19.16.99
-- SSE4 instructions can be executed by the host processor.
-- AVX instructions can be executed by the host processor.
-- Enabling AVX instructions
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for XOpenDisplay in /usr/lib64/libX11.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for jpeg_read_header
-- Looking for jpeg_read_header - found
-- Searching for BLAS and LAPACK
-- Searching for BLAS and LAPACK
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.23")
-- Checking for module 'cblas'
--   No package 'cblas' found
-- Checking for module 'lapack'
--   No package 'lapack' found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void*
-- Check size of void* - done
-- Found OpenBLAS library
-- Looking for sgetrf_single
-- Looking for sgetrf_single - found
-- Using OpenBLAS's built in LAPACK
-- Looking for cblas_ddot
-- Looking for cblas_ddot - found
-- Looking for sgesv
-- Looking for sgesv - not found
-- Looking for sgesv_
-- Looking for sgesv_ - not found
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (Required is at least version "7.5")
-- Disabling CUDA support for dlib.  DLIB WILL NOT USE CUDA
-- C++11 activated.
-- Configuring done
-- Generating done
-- Build files have been written to: /root/dlib-master/build/temp.linux-x86_64-2.7
Invoking CMake build: 'cmake --build . --config Release -- -j3'
Scanning dependencies of target dlib
[  1%] Building CXX object dlib_build/CMakeFiles/dlib.dir/base64/base64_kernel_1.cpp.o
.
.
.
[ 75%] Building CXX object dlib_build/CMakeFiles/dlib.dir/image_saver/save_jpeg.cpp.o
[ 76%] Linking CXX static library libdlib.a
[ 76%] Built target dlib
Scanning dependencies of target dlib_python
[ 77%] Building CXX object CMakeFiles/dlib_python.dir/src/dlib.cpp.o
[ 78%] Building CXX object CMakeFiles/dlib_python.dir/src/matrix.cpp.o
[ 79%] Building CXX object CMakeFiles/dlib_python.dir/src/vector.cpp.o
[ 80%] Building CXX object CMakeFiles/dlib_python.dir/src/svm_c_trainer.cpp.o
[ 81%] Building CXX object CMakeFiles/dlib_python.dir/src/svm_rank_trainer.cpp.o
[ 81%] Building CXX object CMakeFiles/dlib_python.dir/src/decision_functions.cpp.o
[ 82%] Building CXX object CMakeFiles/dlib_python.dir/src/other.cpp.o
[ 83%] Building CXX object CMakeFiles/dlib_python.dir/src/basic.cpp.o
[ 84%] Building CXX object CMakeFiles/dlib_python.dir/src/cca.cpp.o
[ 85%] Building CXX object CMakeFiles/dlib_python.dir/src/sequence_segmenter.cpp.o
[ 86%] Building CXX object CMakeFiles/dlib_python.dir/src/svm_struct.cpp.o
[ 87%] Building CXX object CMakeFiles/dlib_python.dir/src/image.cpp.o
[ 87%] Building CXX object CMakeFiles/dlib_python.dir/src/image2.cpp.o
[ 88%] Building CXX object CMakeFiles/dlib_python.dir/src/image3.cpp.o
[ 89%] Building CXX object CMakeFiles/dlib_python.dir/src/image4.cpp.o
[ 90%] Building CXX object CMakeFiles/dlib_python.dir/src/rectangles.cpp.o
[ 91%] Building CXX object CMakeFiles/dlib_python.dir/src/object_detection.cpp.o
/root/dlib-master/tools/python/src/object_detection.cpp: In function ‘std::shared_ptr<dlib::simple_object_detector_py> merge_simple_object_detectors(const pybind11::list&)’:
/root/dlib-master/tools/python/src/object_detection.cpp:132:20: error: cannot bind non-const lvalue reference of type ‘pybind11::detail::accessor<pybind11::detail::accessor_policies::sequence_item>&’ to an rvalue of type ‘pybind11::detail::generic_iterator<pybind11::detail::iterator_policies::sequence_slow_readwrite>::reference {aka pybind11::detail::accessor<pybind11::detail::accessor_policies::sequence_item>}’
     for (auto& d : detectors)
                    ^~~~~~~~~
gmake[2]: *** [CMakeFiles/dlib_python.dir/src/object_detection.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/dlib_python.dir/all] Error 2
gmake: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 257, in <module>
    'Topic :: Software Development',
  File "/usr/local/pypy60/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/pypy60/lib-python/2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/pypy60/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/usr/local/pypy60/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/local/pypy60/lib-python/2.7/distutils/cmd.py", line 334, in run_command
    self.distribution.run_command(command)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/pypy60/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/usr/local/pypy60/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/usr/local/pypy60/lib-python/2.7/distutils/cmd.py", line 334, in run_command
    self.distribution.run_command(command)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/pypy60/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/usr/local/pypy60/lib-python/2.7/distutils/command/install_lib.py", line 111, in build
    self.run_command('build_ext')
  File "/usr/local/pypy60/lib-python/2.7/distutils/cmd.py", line 334, in run_command
    self.distribution.run_command(command)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 133, in run
    self.build_extension(ext)
  File "setup.py", line 173, in build_extension
    subprocess.check_call(cmake_build, cwd=build_folder)
  File "/usr/local/pypy60/lib-python/2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)

How do I deal with it?
Does Dlib support pypy?

This seems like a bug in your compiler.
I just changed the code to work around it.  Try it now.

Thanks alot !
but aother error found
[ 90%] Building CXX object CMakeFiles/dlib_python.dir/src/rectangles.cpp.o
[ 91%] Building CXX object CMakeFiles/dlib_python.dir/src/object_detection.cpp.o
In file included from /root/dlib-master/dlib/../dlib/matrix.h:11:0,
                 from /root/dlib-master/dlib/../dlib/python/numpy_image.h:8,
                 from /root/dlib-master/dlib/../dlib/python.h:9,
                 from /root/dlib-master/tools/python/src/rectangles.cpp:4:
/root/dlib-master/dlib/../dlib/matrix/matrix_la.h: In function ‘long int dlib::svd4(dlib::svd_u_mode, bool, const dlib::matrix_exp<EXP>&, dlib::matrix<typename EXP::type, uM, uN, MM1, L1>&, dlib::matrix<typename EXP::type, qN, qX, MM2, L1>&, dlib::matrix<typename EXP::type, vM, vN, MM3, L1>&) [with EXP = dlib::matrix_op<dlib::op_trans<dlib::matrix_op<dlib::op_trans<dlib::matrix<double, 1, 2> > > > >; long int qN = 1; long int qX = 1; long int uM = 1; long int uN = 1; long int vM = 2; long int vN = 1; MM1 = dlib::memory_manager_stateless_kernel_1<char>; MM2 = dlib::memory_manager_stateless_kernel_1<char>; MM3 = dlib::memory_manager_stateless_kernel_1<char>; L1 = dlib::row_major_layout]’:
/root/dlib-master/dlib/../dlib/matrix/matrix_la.h:225:32: warning: iteration 1 invokes undefined behavior [-Waggressive-loop-optimizations]
             y = abs(q(i)) + abs(e(i));
                             ~~~^~~~~~
/root/dlib-master/dlib/../dlib/matrix/matrix_la.h:163:20: note: within this loop
         for (i=0; i<n; i++)
                   ~^~
[ 92%] Building CXX object CMakeFiles/dlib_python.dir/src/shape_predictor.cpp.o
[ 93%] Building CXX object CMakeFiles/dlib_python.dir/src/correlation_tracker.cpp.o
/root/dlib-master/tools/python/src/shape_predictor.cpp: In function ‘std::shared_ptr<dlib::full_object_detection> full_obj_det_init(const dlib::rectangle&, pybind11::list&)’:
/root/dlib-master/tools/python/src/shape_predictor.cpp:75:23: error: cannot bind non-const lvalue reference of type ‘pybind11::detail::accessor<pybind11::detail::accessor_policies::sequence_item>&’ to an rvalue of type ‘pybind11::detail::generic_iterator<pybind11::detail::iterator_policies::sequence_slow_readwrite>::reference {aka pybind11::detail::accessor<pybind11::detail::accessor_policies::sequence_item>}’
     for (auto& item : pyparts)
                       ^~~~~~~
gmake[2]: *** [CMakeFiles/dlib_python.dir/src/shape_predictor.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/dlib_python.dir/all] Error 2
gmake: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 257, in <module>
    'Topic :: Software Development',
  File "/usr/local/pypy60/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/pypy60/lib-python/2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/pypy60/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/usr/local/pypy60/site-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/local/pypy60/lib-python/2.7/distutils/cmd.py", line 334, in run_command
    self.distribution.run_command(command)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/pypy60/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/usr/local/pypy60/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/usr/local/pypy60/lib-python/2.7/distutils/cmd.py", line 334, in run_command
    self.distribution.run_command(command)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/pypy60/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/usr/local/pypy60/lib-python/2.7/distutils/command/install_lib.py", line 111, in build
    self.run_command('build_ext')
  File "/usr/local/pypy60/lib-python/2.7/distutils/cmd.py", line 334, in run_command
    self.distribution.run_command(command)
  File "/usr/local/pypy60/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 133, in run
    self.build_extension(ext)
  File "setup.py", line 173, in build_extension
    subprocess.check_call(cmake_build, cwd=build_folder)
  File "/usr/local/pypy60/lib-python/2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j3']' returned non-zero exit status 2
[root@019d6b1be0d6 dlib-master]#

I build in Docker whit : Centos6.9, pypy 6.0.0, cmake 3.13.0-rc3, g++ (GCC) 7.1.0,

@davisking i am not good at git, please pull request, thanks:)

No problem.  Thanks for reporting this.  I updated the code on github, so this shouldn't be a problem anymore.

I download latest version dlib but I keep getting the above error.

I'm getting the exact same error of @Dharani3110, on pypy3.7.


Why does Helmet recreate server rendered tags when it loads?

Per the source here https://github.com/nfl/react-helmet/blob/master/src/Helmet.js#L197 I can see that Helmet blows away managed tags and re-adds them. Why does it do this? It leads to problems like this one http://stackoverflow.com/questions/37355346/script-tag-runs-twice-in-universal-react-application-fb-plugin/37555818#37555818 which is a problem that also affects me.
I'd be happy to submit a pull to change this behaviour, but thought perhaps there was a good reason. Thanks!

@henrybaxter Thanks for bringing this to our attention.  This is an issue that arises from the nature of react-side-effect because it re-renders every Helmet in the component tree because each one is unaware it is the last one in the tree.  We are looking into fixing this by delaying the update of tags until the very last component so that it may update only once; then the checks we have put in place should prevent your script (or any other) tags from getting blown away unnecessarily.
As a workaround in the interim, if possible, put all your tags in the root and you'll see that tags coming from the server will not be removed and re-added.

I've been dealing with an issue with server rendering memory leak with my components being duplicated and not being removed from memory.  Would this be related?

@athomann I don't think that issue is related. Helmet does not duplicate components, it takes strings of data and converts them to HTML metadata.

@doctyper It appears my issue has to do with react-side-effect and not calling .rewind
https://github.com/gaearon/react-document-title#server-usage

+1
in my case, main.css which is my main stylesheet reloads and causes FOUC(Flash Of Unstyled Content)
my homepage link

Hello, just wondering if there's been any thought on this issue? Just because it will affect our tracking code

The workaround until this bug is fixed is to put the server side tags you care about in the root of your app.  Unfortunately this does take away the power of nesting at this moment, but those tags in the root will not get blown away on the client side.

Having the same problem.

Had the same problem. I just ended up removing head.script.toString().

I have some isssue, script loads twice on ${head.script.toString()} method.

Same here, first server renders head.script well. And then it renders the script again when all react js is fully loaded.

There is big problem. I spend many hour for research reason why react-router and redux after browserHistory.push() loaded twice with Provider, Router components and why partically I have errors "two valid but unequal nodes with the same data-reactid". It's broke all app's logic.
Using  ${head.script.toString()} in the head tag does not solve this bug, we need possible to disallow load bundle scripts twicely.

So, there is a good approach in made environment checks like this:
				<Helmet 					link={[ 						{ rel: 'stylesheet', href: ${STATIC_DOMAIN}/assets/css/bundle-property.css}, 					]} 					script={[ 						{ src: !process.env.BROWSER ?${BUNDLES_DOMAIN}/bundle-for-server.js:${BUNDLES_DOMAIN}/bundle-for-browser.js, type: 'text/javascript', async: true }, 					]} 				/>
That would be good, to have a possibility to set parameters that enables rendering meta data just via server side or browser. It should decide issue.

My idea to fix this would be to have the first client-side render wait until all instances are mounted before it does it's client state change.  To do that I'd need to hydrate the client with the number of instances to wait for.  Any ideas on where and how the client should be hydrated?
I'm considering putting a data attribute on one/all the Helmet tags or just the html tag.  Something like data-react-helmet-numMountedInstances.  Open to better ways to hydrate the client, but definitely need to communicate the number of instances.
Of course, we could just skip the first client side render, that may be too loose as there may be a mismatch between server and client.  At least allowing for one client change after the SSR, we can fairly compare, and in a best situation there should be no change.
Thanks for the input!

As of version 5, Helmet no longer re-creates tags if the server-rendered tags match their client-rendered equivalents. Relevant test: https://github.com/nfl/react-helmet/blob/master/test/HelmetDeclarativeTest.js#L3019-L3040

After facing the issue for long hours, note that rendering your scripts in the body causes a double rendering. I had to move them in the head section of my document, adding them a defer attribute to keep acceptable performances.

@doctyper I'm just getting up to speed with this, but I don't think the test you referenced is a valid test comparing the recommended SRR {head.link.toComponent()} output to the client side output because the mock SSR tag in the doesn't have a data-reactid attribute.
I'm running<EMAIL_ADDRESS>and the {head.link.toComponent()} call on the server returns the following markup:
<link data-react-helmet="true" rel="stylesheet" type="text/css" href="//<IP_ADDRESS>:8001/static/en-US/main.c1030da.css" data-reactid="5"/>

not the data-reactid="5" attribute.
I tried updating the test in test/HelmetDeclarativeTest.js, and it fails when the mock tag includes data-reactid.
This issue should probably be re-opened, or consolidated into https://github.com/nfl/react-helmet/issues/98

@mmcgahan I am also just now seeing this issue with the latest react-helmet.
isEqualNode seems to be the one causing me grief

After digging further, updateTags should not be called if my react elements are already server side rendered, but I need more information as to how it knows when to run updateTags

I moved my Helmet components higher up the tree and they seem to work as expected.
In my situation, I have an App component, i18n provider, redux provider, followed by a Layout component. Inside the layout component are divs which contain Helmet components.
There is also a routing piece that is used here which upon initial load (rehydrating from server), it seems to have trouble understanding that the elements were already there.

Also recently upgraded react-helmet to get rid of prop-types warning and then also came across with this issue. Tried both 5.0.0 and 5.1.3 and both have the same issue. Downgrading to 4.0.0 works again just fine.

Using a Helmet server-rendered html page, loading a React app using Helmet, it seemed my CSS was being re-loaded, causing flashing.
I got around it like this. In the server-page component, a custom attribute:
<link data-block-helmet href=...../>
In the server-rendering script:
const strippedLinks = stripBlockedHelmetTags(helmet.link.toString());
And then the custom function, stripBlockedHelmetTags:
let tagArray = tagString.split('/>');         let strippedTagString = tagArray.map((tag)=>{         if(tag.indexOf('data-block-helmet="true"') > -1){             return tag.replace(/data-block-helmet="true" /g, '').replace(/data-react-helmet="true" /g, '');         } else {             return tag;         }     }).join('/>');         return strippedTagString;
Basically strips out the data-react-helmet attribute and Helmet leaves it alone. Let me know if this is useful.


Pundit Matchers 2.0

In order to reduce complexity in this gem, I think it would be worthwhile moving toward a 2.0 release that breaks compatibility with the existing 1.x line. The idea would be to largely remain compatible with 1.x so that people don't have to change their test suites significantly.
Pundit Matchers 2.0 could include the following:

Remove additional arguments being passed to permit_action and forbid_action (see #26)
Use negated matcher (is_expected.not_to) to force the forbid_* behaviour instead (see #30)
Split matchers.rb file into multiple files (see #21). This could potentially be introduced in 1.x since it's just a refactor, but we have to ensure that there's no conflict with incoming PRs.

If you have any further ideas, please list them here.

@chrisalley any updates on this?

The gem has been dormant for while, but we could keep progressing with this. A good starting point would be to merge outstanding PRs and tidy up the 1.X code (see linked issues).

Pundit Matchers 2 has been released dropping support for Ruby 2, but without these other changes. As such, I'll close this issue, but we'll still target these issues in future major releases.


additional permission steps in openshift for running applications

for istio on openshift , workloads/addons needed  additional permissions to run istio pods with uid 0
due to changes in istio latest release service account names are changed as follows
istio-grafana-service-account to grafana
istio-prometheus-service-account to prometheus
This commit updates openshift related setup steps to latest service account names.
also by default openshift denies privileged containers which is needed as part of sidecar deployment, hence to bypass that error.
oc adm policy add-scc-to-user privileged -z default -n <target-namespace>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
Assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: linsun
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [linsun]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@debianmaster @linsun Could you resolve the merge conflicts so we can push this PR in?
Thanks.

I will send a PR in next 1-2 days
On Thu, May 10, 2018 at 11:06 Martin Taillefer<EMAIL_ADDRESS>wrote:

@debianmaster https://github.com/debianmaster @linsun
https://github.com/linsun Could you resolve the merge conflicts so we
can push this PR in?
Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio.github.io/pull/1084#issuecomment-387938294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABX1wXJ_wjdTuiPU9giG45e85olg1C3Vks5tw67MgaJpZM4S2eeH
.

New changes are detected. LGTM label has been removed.

@geeknoid  @@linsun   i have resolved conflicts. can you take a look and merge if everything looks good.

Please ping when all comments are resolved.  thanks.

@linsun  can you please verify now.  test failed on selinux spelling. i guess that should be ok.

@linsun gentle reminder

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: debianmaster, linsun
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [linsun]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

can you check why test failed in circle?

also update branch :)


Are nested masked arrays a valid type?

I managed to end up with something like
a = ak.JaggedArray.fromcounts(
    np.array([1, 0, 3]),
    ak.MaskedArray(
        np.array([True, False, True, False]),
        np.arange(4),
    )
)

which gives <JaggedArray [[None] [] [1 None 3]] at 0x000111048690>, and then proceeded to select some index inside the array with
af = a[a.argmax()].pad(1, clip=True).flatten()

leaving me <MaskedArray [None None 3] at 0x00013a865750>.  All good so far, but the type is very strange: ArrayType(3, OptionType(OptionType(dtype('int64')))) I don't understand what nested OptionType means. I can collapse it at least: af[~af.boolmask()].content.content returns array([3]).

It's valid and it should be equivalent to the union of the two masks (from maskedwhen=True). I had thought there was logic to say that OptionType(OptionType(X)) is an equal type to OptionType(X); I put in a few of these algebraic things, but that's a rabbit hole.
Yeah, it's true:
>>> import awkward, numpy
>>> array = awkward.MaskedArray([False, True, False, True, False, True],
...             awkward.MaskedArray([False, False, False, True, True, True],
...             [1.1, 2.2, 3.3, 4.4, 5.5, 6.6]))

>>> # checkerboard unions with half-and-half
>>> array
<MaskedArray [1.1 None 3.3 None None None] at 0x78d638ac5a90>

>>> # two levels deep
>>> array.type
ArrayType(6, OptionType(OptionType(dtype('float64'))))

>>> # is equivalent to one level deep
>>> array.type == awkward.type.ArrayType(6,
...                   awkward.type.OptionType(numpy.dtype("float64")))
True

I have to decide how much of that should survive into the new era. One good thing about reimplementation is that stuff that seemed like a good idea at the time but never actually got used goes away. Users won't be encouraged to make their own array structures anymore, so I guess I don't need to police it. I guess you've found that pad needs to be smarter: if it's already looking at a MaskedArray, it should add to its mask, rather than introduce another layer.
Also seeking opinions: I want to change the name from "MaskedArray" to something else because of how often we use the word "mask" to refer to slicing with a boolean array—a concept that's similar enough but different from what MaskedArray does to cause confusion. "Masked" is what NumPy calls it, though maybe it's a bad thing to use a similar word for not-really-the-same classes (numpy.ma.MaskedArray isn't interchangeable with awkward.MaskedArray: the latter can contain jagged data, for instance). Besides, "masked" describes the how, not the what.
It seems to me that we have two other words for this, "nullable" and "optional." "Nullable" is an SQL term and "optional" or "option" is popular among modern programming languages. Haskell uses "maybe." I'm leaning toward

MaskedArray → BoolOptionalArray
BitMaskedArray → BitOptionalArray
IndexedMaskedArray → IndexedOptionalArray

(I'm not ignoring your other issue, #217; it just looks more difficult at the moment.)


packaging with opam

I'd like to use this project in an opam-based setup. I was hoping, it could also be included in the opam-coq-archive.
What do you think about that?
I'm currently using my fork, see https://github.com/gallais/parseque/pull/6
relevant for https://github.com/WasmCert/WasmCert-Coq/issues/9

I am happy for it to be shipped, I just do not have time to maintain & deal with distribution.
Would you be happy to do it if I gave you full access to the repo?

thanks for the reply!
I'm happy to do the packaging (I'll probably have time for that in the summer.)

I'd be happy to push an initial release to opam-coq-archive. All that's needed from the repo maintainer is a GitHub release (which will provide a version number and tarball). The rest is a pretty simple PR on the opam-coq-archive repo.

I'd be happy to push an initial release to opam-coq-archive. All that's needed from the repo maintainer is a GitHub release (which will provide a version number and tarball). The rest is a pretty simple PR on the opam-coq-archive repo.

just created a release. That would be much appreciated!

I'd be happy to push an initial release to opam-coq-archive. All that's needed from the repo maintainer is a GitHub release (which will provide a version number and tarball). The rest is a pretty simple PR on the opam-coq-archive repo.

just created a release. That would be much appreciated!

PR at https://github.com/coq/opam-coq-archive/pull/2621

btw assuming you came here looking for an opam-based version of Wasmcert-Coq, my fork is almost there, may be useful until it is available through opam

Indeed I was! Thanks for the pointer.

release 0.1.0 is out:
zsh-5.8$ opam install coq-parseque
The following actions will be performed:
  ∗ install coq-parseque 0.1.0

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
[coq-parseque.0.1.0] downloaded from https://github.com/gallais/parseque/archive/refs/tags/v0.1.0.tar.gz

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
∗ installed coq-parseque.0.1.0
Done.

thanks!


Cse wv

first version, not extensively tested. TODO: decompose globals

As I understand it now: when creating new reification variables, the code checks whether there already is a variable for the reified expression based on its string representation, and returns that one instead. Makes sense.

is the representation unique for non-equivalent expressions? E.g., if we have a variable called "1", is x >= 1 represented differently when 1 is the name of the variable or a numeric value.
is the representation canonical? E.g., do x + y >= 1 and y + x >= 1 have the same representation? This case can be covered by lexicographically ordering the subexpressions of the sum at creation time, which is basically the only thing we need to do (for all commutative expressions).
the dictionary is passed around a lot, and is initialized in different spots. It's hard to have any guarantee about what's going to be in the dictionary at any timepoint. Would it make sense to have a global dictionary instead?


ILP64 OpenBLAS gives different result from regular OpenBLAS

ILP64 OpenBLAS built with
CXX="g++ -fPIC" CC="gcc -fPIC" make -j DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 USE_OPENMP=1 INTERFACE64=1 BINARY=64 NO_SHARED=0 NO_LAPACK=0

#include <iostream>
#include <cblas.h>
int main ( int argc, char* argv[] ) {
    const long n = ((long)1 << 31) - 1;
    std::cout << n <<std::endl;
    float*  A = new float[n];
    float*  B = new float[n];
    float*  C = new float[1];
    for(long i =0; i <n; i++){
        A[i] = 1;
        B[i] = 1;

    }
    cblas_sgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, 1, 1, n,  1.0, A, n, B, 1, 0.0, C, 1);
    std::cout << *C <<std::endl;
    delete[] A;
    delete[] B;
    delete[] C;
    return 0;
}

Compiled with g++ gemm.cpp -I /usr/local/include/ -lopenblas
On ILP64 OpenBLAS machine:
2147483647
1.93274e+09

On vanilla OpenBLAS machine:
2147483647
2.14748e+09

I think I am linking correctly, because if I change n to (long)1 << 31) + 1, then
ILP64
2147483649
1.93274e+09

Vanilla
2147483649
 ** On entry to SGEMM  parameter number  5 had an illegal value
0

Is it same CPU core type?
vanilla result looks like pedantic addition, other might be FMA or other way around.
for completeness you could calculate same in the loop acc=0.0 ; for i in 1..n acc = acc+(a[i]*b[[i]) ;;

Make sure that you use the right flavor of include directory and LD_LIBRARY_PATH for your tests as well. I can not reproduce your problem on Haswell-class hardware at least.

Is it same CPU core type?
vanilla result looks like pedantic addition, other might be FMA or other way around.
for completeness you could calculate same in the loop acc=0.0 ; for i in 1..n acc = acc+(a[i]*b[[i]) ;;

Yes they are the same machine type.
I tried to add in a loop:
#include <iostream>
#include <cblas.h>
int main ( int argc, char* argv[] ) {
    const int64_t n = ((int64_t)1 << 31) - 1;
    std::cout << n <<std::endl;
    float*  A = new float[n];
    float*  B = new float[n];
    float*  C = new float[1];
    for(long i =0; i <n; i++){
        A[i] = 1;
        B[i] = 1;

    }
    cblas_sgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, 1, 1, n,  1.0, A, n, B, 1, 0.0, C, 1);
    std::cout << *C <<std::endl;

    float acc = 0.0;
    for (long i=0; i<n; i++)
        acc += A[i] * B[i];
    std::cout << acc << std::endl;

    delete[] A;
    delete[] B;
    delete[] C;
    return 0;
}

the results are:
ILP64 OpenBLAS
2147483647
1.93274e+09
1.67772e+07

Vanilla OpenBLAS
2147483647
2.14748e+09
1.67772e+07

@Zha0q1 you can check library loaded by ld.so with ldd command
What the naive loop reaches is limit of "significand"
https://en.wikipedia.org/wiki/Floating-point_arithmetic#IEEE_754:_floating_point_in_modern_computers
i.e 2^24 (it rounds properly even near the end) i.e close to 1,6777216 ^ 10^7
setting acc to double will give result matching expected integer solution.
e.g lua programming language has no integers, it says double-s represent particular integer range exactly.
I am puzzled why IPL64 and "normal" versions do not use same blocking algorithm to get similar results

@Zha0q1 you can check library loaded by ld.so with ldd command
What the naive loop reaches is limit of "significand"
https://en.wikipedia.org/wiki/Floating-point_arithmetic#IEEE_754:_floating_point_in_modern_computers
i.e 2^24 (it rounds properly even near the end) i.e close to 1,6777216 ^ 10^7
setting acc to double will give result matching expected integer solution.
e.g lua programming language has no integers, it says double-s represent particular integer range exactly.
I am puzzled why IPL64 and "normal" versions do not use same blocking algorithm to get similar results. i.e if you add 64 elements in same loop then to accumulator you get more, like in "normal" example

After changing acc to double I got:
2147483647
1.93274e+09
2.14748e+09

Also ldd gives:
(nomkl) ubuntu@ip-172-31-10-124:~$ ldd /lib/x86_64-linux-gnu/libdl.so.2
	linux-vdso.so.1 (0x00007ffe471a3000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7e96daa000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f7e9739f000)

I am puzzled why IPL64 and "normal" versions do not use same blocking algorithm to get similar results. i.e if you add 64 elements in same loop then to accumulator you get more, like in "normal" example

Sorry I still don't quire understand. Is there a way to fix this?

Thats property of floating point numbers, depending on algorithm you may saturate significand or get the arihmetically correct result.
There is nothing to fix, any result between those is "correct". use type with enough significand if you intend to sum wide range of values, like double served in this case, or quad will serve to int64.

Thats property of floating point numbers, depending on algorithm you may saturate significand or get the arihmetically correct result.
There is nothing to fix, any result between those is "correct". use type with enough significand if you intend to sum wide range of values, like double served in this case, or quad will serve to int64.

But when I use vanilla openblas it does give the arithmetically correct result on the same input. Is there a way to make ILP openblas consistent with that?

reference BLAS gives 16megs result, thats the absolute truth in this case
Using dgemm via scripting gets int32 biggest
R> a<-matrix(1,2**31-1,1)
R> crossprod(a)

(needs 32+GB RAM to get through)

The fix you submitted in numpy gets the aritmetic result, its c++ equivalent is using dgemm.

The fix you submitted in numpy gets the aritmetic result, its c++ equivalent is using dgemm.

Yeah right, but with vanilla openblas even sgemm gives correct result

Yeah right, but with vanilla openblas even sgemm gives correct result

Yep, but I dont get clue how ;-)

Make sure that you use the right flavor of include directory and LD_LIBRARY_PATH for your tests as well. I can not reproduce your problem on Haswell-class hardware at least.

Are you trying with ILP 64 build?

Actually sgemv clamps in same place but sdot gets a bit further thanks to blocking being implied.

Actually sgemv clamps in same place but sdot gets a bit further thanks to blocking being implied.

Ohh I see what you mean now, so it's similar to loop unrolling? So can we control blocking by some means...?

control blocking

Not really, it is just unrolled in source file once.

Report from (Fedora EPEL int64 0.3.3 sandybridge) - sixteen megs

There is nothing to fix, any result between those is "correct". use type with enough significand if you intend to sum wide range of values, like double served in this case, or quad will serve to int64.

@brada4 I don't how can you suggest that we will loose precision when int64 indexing of array/tensor is used and data type still remains the same

Expected precision is as of standard netlib blas with single addition per loop. If you need to sum vaues more than significand+1 apart you need bigger floating point variable with obviously bigger significand range.
normally you lose N bits of precision in 2.something ^ N floating point operations, so this case is badly marginal since by point of 2^24 computations not even a single bit can be trusted while using float
Probably that can be computed on entry of BLAS function and sort of warning given.

Folks can we get some information on what hardware (OpenBLAS TARGET) you are running this code on ? As I wrote earlier today, I get identical results on Kaby Lake (Haswell TARGET) when I set both the include path and the LD_LIBRARY_PATH to the install location of the desired OpenBLAS build. (Also make sure that you actually include the cblas.h created by make install in the destination directory, do not simply take the cblas.h from the source directory)

Folks can we get some information on what hardware (OpenBLAS TARGET) you are running this code on ? As I wrote earlier today, I get identical results on Kaby Lake (Haswell TARGET) when I set both the include path and the LD_LIBRARY_PATH to the install location of the desired OpenBLAS build. (Also make sure that you actually include the cblas.h created by make install in the destination directory, do not simply take the cblas.h from the source directory)

Right. I am using a ec2 instance with 64 cores. With cat /proc/cpuinfo I got (one of the cores)
processor	: 18
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
stepping	: 1
microcode	: 0xb000038
cpu MHz		: 2732.152
cache size	: 46080 KB
physical id	: 1
siblings	: 32
core id		: 2
cpu cores	: 16
apicid		: 68
initial apicid	: 68
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq monitor est ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx xsaveopt ida

Further back ... ldd has to be run against binary executable where you dont know what it would import , not the loader itself.
Actually I LD_PRELOAD - ed distro shipped older OpenBLAS while linking to distro -lblas

I bet the difference is not 32bit- vs 64bit integer, but different number of cores leading to different splitting of the workload and
slight differences in rounding. At least I see no difference on an 48-core AMD Epyc (basically using the same HASWELL kernels as your Broadwell-generation Xeon), and around 0.1e9 difference on a pair of  44 and 96 core ARMV8 hosts on drone.io where I have not yet managed to get all combinations of possible hardware configurations represented in individual CI runs.

I bet the difference is not 32bit- vs 64bit integer, but different number of cores leading to different splitting of the workload and
slight differences in rounding. At least I see no difference on an 48-core AMD Epyc (basically using the same HASWELL kernels as your Broadwell-generation Xeon), and around 0.1e9 difference on a pair of 44 and 96 core ARMV8 hosts on drone.io where I have not yet managed to get all combinations of possible hardware configurations represented in individual CI runs.

I was also able to reproduce the same difference on the same machine, with only difference in 32 and 64 openblas

Are you sure that you #included the right version of cblas.h, and linked the appropriate libopenblas in each case ? Unfortunately I do not have access to any bigger x86_64 architecture hardware than the Epyc, but I do not see offhand why going to 64 cores would make a difference (nor why the larger addressable range would matter).

Update:
I did more tests and found out that if I build both LP64 and ILP64 openblas dev from source then the results are identical.
The difference I described earlier comes from the fact that my ec2 instance ships with a spacial, possibly optimized, openblas binary.
DLAMI openblas (LP64, int32): no loss of precision on my example 2.14748e+09
openblas dev (ILP64, int64): loss of precision 1.93274e+09
openblas dev (LP64, int32): loss of precision 1.93274e+09
The EC2 openblas version is:
ubuntu@ip-172-31-11-14:~$ ll /usr/local/lib/ |grep blas
lrwxrwxrwx  1 root root         30 Aug  7 01:38 libopenblas.a -> libopenblas_haswellp-r0.2.20.a
lrwxrwxrwx  1 root root         31 Aug  7 01:38 libopenblas.so -> libopenblas_haswellp-r0.2.20.so*
lrwxrwxrwx  1 root root         31 Aug  7 01:38 libopenblas.so.0 -> libopenblas_haswellp-r0.2.20.so*
-rw-r--r--  1 root root   28498048 Aug  7 01:12 libopenblas_haswellp-r0.2.20.a
-rwxr-xr-x  1 root root   14344848 Aug  7 01:13 libopenblas_haswellp-r0.2.20.so*

My openblas dev build is:
-rw-r--r--  1 root root   65650108 Aug 15 21:38 libopenblasp-r0.3.10.dev.a
-rwxr-xr-x  1 root root   39439000 Aug 15 21:38 libopenblasp-r0.3.10.dev.so*

Do you think this numerical difference is due to different openblas version, different build config or something else?

The SGEMM kernel for Haswell targets was changed earlier this year (https://github.com/xianyi/OpenBLAS/pull/2361) to increase performance, perhaps this introduced different rounding due to FMA operations. You could try reverting that change (undo the changes in both kernel/x86_64/KERNEL.HASWELL and param.h) or do a quick test with 0.3.7


Unhandled promise rejection in SuggestionService

Issue
isCorrectPrefix method of SuggestionService returns true for prefix containing underscore (_) causing the call to walletContractExist to reject
Steps to reproduce

Start wallet app
Type aaa_ in name input field

Current behavior
Loader keeps spinning. Uncaught promise is logged:

Error: contains invalid UseSTD3ASCIIRules characters

Expected behavior
Loader stops spinning, no suggestions appear

https://github.com/UniversalLogin/UniversalLoginSDK/pull/837


Release sdk/resourcemanager/securityinsight/armsecurityinsight/0.1.0

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run go - armsecurityinsight - ci


Return process return code on "run" and "runLocally" so we can determine if the command completed successfully

Q
A

Issue Type
Feature Request

Deployer Version
4

Local Machine OS
N/A

Remote Machine OS
N/A

Description
When calling the "run" or "runLocally" function it only returns the output of the command, not the return code or exit code.   The deploy should halt immediately if a process does not complete successfully  or we should be allowed to take different actions dependent on the return value.

Deployer will throw exception.


RDP Wrap Trojan Security.

With Windows 11, how can I protect myself through hackers trying to Trojan Horse my RDP?

Protection against RDP attacks/viruses is similar to standard RDP, since RDP Wrapper only runs the built-in termsrv.dll library with different parameters.


Distribute PyPI package

See https://pypi.org/project/upkie_locomotion/

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 51.121%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
114

Relevant Lines:
223

💛  - Coveralls


Add Angular Example

Should include example with non-4326 projection

I'd like to see this. I think its a matter of making a typing.d.js for georaster.

I'm definitely open to rewriting the library in TypeScript, too!


When updating to latest, getting babel errors around loose mode

Hey im pretty sure this is a bug as there is not other configuration around babel in my project, what do i need to do to work around this?
Attached link to picture of my cli
https://gyazo.com/e7776963ef25fb1465adac440e2a8438
`

Same here. Updating to latest nuxt-edge spams the following comment
 WARN  Though the "loose" option was set to "false" in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-methods since the "loose" mode option was set to "true" for @babel/plugin-proposal-class-properties.
The "loose" option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding
	["@babel/plugin-proposal-private-methods", { "loose": true }]
to the "plugins" section of your Babel config.


Update storefront.js reference error

event in event.stopPropagation() caused a reference error. It prevented the mobile nav menu of displaying.

Codecov Report

Merging #1138 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1138      +/-   ##
==========================================
- Coverage   63.43%   63.42%   -0.02%
==========================================
  Files         107      107
  Lines        5979     5979
  Branches      741      741
==========================================
- Hits         3793     3792       -1
  Misses       2049     2049
- Partials      137      138       +1

Impacted Files
Coverage Δ

saleor/core/utils/random_data.py
83.59% <0%> (-0.4%)
:arrow_down:

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 f4d0414...df4cca7. Read the comment docs.

Looks good. Fixes #1070