LineChart Memory Leak

Describe the bug
I have a LineChart updating with new downsampled time series data about every 100ms (received via Bluetooth). I downsample the data to about 300 data points then display about a 30 second time range. The swapAnimationDuration is set to Duration.zero since the update rate is too fast. The LineChart displays data properly for many minutes before small jumps occur for a frame or two back to old data (some non zero number of minutes prior). After hours of operation, the jumps become so regular that the labels are regularly flickering. I noticed that RAM usage is steadily increasing. After many hours, we run out of RAM and the app crashes.
I am pretty confident that the issue is not in my app's Stateful Widget that renders the LineChart because I replaced the LineChart widget with a TimeSeriesChart from charts_flutter which did not have flickering or steadily increasing RAM usage. The leak is a very slow leak relative to the lifetime of a mobile UI and only continues while the app is not in a foreground state (resumed state). In the following screenshot we reach ~100MB after about 25 minutes (starting around 80MB). On a previous test, I reached around 500MB after more than 12 hours (foreground the whole time).

I checked to see that the LineChart is never fed old data, which means that the LineChart must be holding onto and rendering the old data internally.
To Reproduce
Below is the Widget that I replaced for comparison against the charts_flutter implementation. There are a couple usages of external app code prior to setState that drives the Widget re-building; however, none of the LineChart code should have references that should prevent garbage collection.
import 'package:intl/intl.dart';
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'dart:math';

import 'package:myapp/analysis.dart';
import 'package:myapp/data/device.dart';

class RawLineChart extends StatefulWidget {
  const RawLineChart({Key? key, required this.device}) : super(key: key);

  final Device device;

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

class _RawLineChartState extends State<RawLineChart> {
  final List<FlSpot> xSpots = List.empty(growable: true);
  final List<FlSpot> ySpots = List.empty(growable: true);
  final List<FlSpot> zSpots = List.empty(growable: true);

  bool showX = false;
  bool showY = false;
  bool showZ = true;

  double? minX;
  double? maxX;
  double? minY;
  double? maxY;

  bool _disposed = false;

  Event? prevLastEvent;

  @override
  void initState() {
    widget.device.state.signalListener.addListener(updateEvents);
    super.initState();
  }

  @override
  void dispose() {
    _disposed = true;
    widget.device.state.signalListener.removeListener(updateEvents);
    super.dispose();
  }

  @override
  void didUpdateWidget(RawLineChart oldWidget) {
    super.didUpdateWidget(oldWidget);

    oldWidget.device.state.signalListener.removeListener(updateEvents);
    widget.device.state.signalListener.addListener(updateEvents);
  }

  void updateEvents() async {
    if (_disposed) {
      return;
    }

    final List<Event>? events =
        await Analysis.exportRecentRawEvents(widget.device.state.handle.name);
    if (_disposed || events == null || events.isEmpty) {
      return;
    }

    if (prevLastEvent != null && events.last.ts < prevLastEvent!.ts) {
      // This never hits, so I know we aren't attempting to render old data
      print(
          "GOING BACKWARDS IN TIME (${prevLastEvent!.ts} -> ${events.last.ts})");
    }
    prevLastEvent = events.last;

    setState(() {
      xSpots.clear();
      ySpots.clear();
      zSpots.clear();
      minY = null;
      maxY = null;
      for (var event in events) {
        xSpots.add(FlSpot(event.ts, event.c0));
        ySpots.add(FlSpot(event.ts, event.c1));
        zSpots.add(FlSpot(event.ts, event.c2));

        if (showX && (minY == null || event.c0 < minY!)) {
          minY = event.c0;
        }
        if (showY && (minY == null || event.c1 < minY!)) {
          minY = event.c1;
        }
        if (showZ && (minY == null || event.c2 < minY!)) {
          minY = event.c2;
        }

        if (showX && (maxY == null || event.c0 > maxY!)) {
          maxY = event.c0;
        }
        if (showY && (maxY == null || event.c1 > maxY!)) {
          maxY = event.c1;
        }
        if (showZ && (maxY == null || event.c2 > maxY!)) {
          maxY = event.c2;
        }
      }

      if (maxY != null) {
        int truncMaxY = maxY!.truncate();
        if (truncMaxY < 0) {
          truncMaxY += (-truncMaxY) % 10;
        } else {
          truncMaxY += 10 - (truncMaxY % 10);
        }
        maxY = truncMaxY.toDouble();
      }

      if (minY != null) {
        int truncMinY = minY!.floor();
        if (truncMinY < 0) {
          truncMinY -= 10 - ((-truncMinY) % 10);
        } else {
          truncMinY -= truncMinY % 10;
        }
        minY = truncMinY.toDouble();
      }

      if (minY == maxY) {
        minY = null;
        maxY = null;
      }
    });
  }

  Widget _buildChartWidget() {
    if (zSpots.isEmpty || zSpots.length == 1) {
      return const Center(child: Text("Waiting for data to plot ..."));
    }

    return LineChart(
      LineChartData(
        lineTouchData: LineTouchData(
          touchTooltipData: LineTouchTooltipData(
              maxContentWidth: 100,
              tooltipBgColor: Colors.orange,
              getTooltipItems: (touchedSpots) {
                return touchedSpots.map((LineBarSpot touchedSpot) {
                  final textStyle = TextStyle(
                    color: touchedSpot.bar.colors[0],
                    fontWeight: FontWeight.bold,
                    fontSize: 10,
                  );
                  return LineTooltipItem(
                      '${touchedSpot.x.toStringAsFixed(1)}, ${touchedSpot.y.toStringAsFixed(2)}',
                      textStyle);
                }).toList();
              }),
          handleBuiltInTouches: true,
          getTouchLineStart: (data, index) => data.spots[index].y,
        ),
        lineBarsData: [
          LineChartBarData(
            colors: [
              Colors.red.withAlpha(127),
            ],
            show: showX,
            spots: xSpots,
            isCurved: false,
            isStrokeCapRound: false,
            barWidth: 1,
            belowBarData: BarAreaData(
              show: false,
            ),
            dotData: FlDotData(show: false),
          ),
          LineChartBarData(
            colors: [
              Colors.black.withAlpha(127),
            ],
            show: showY,
            spots: ySpots,
            isCurved: false,
            isStrokeCapRound: false,
            barWidth: 1,
            belowBarData: BarAreaData(
              show: false,
            ),
            dotData: FlDotData(show: false),
          ),
          LineChartBarData(
            colors: [
              Colors.purple.withAlpha(127),
            ],
            show: showZ,
            spots: zSpots,
            isCurved: false,
            isStrokeCapRound: false,
            barWidth: 1,
            belowBarData: BarAreaData(
              show: false,
            ),
            dotData: FlDotData(show: false),
          ),
        ],
        minX: minX,
        maxX: maxX,
        minY: minY,
        maxY: maxY,
        titlesData: FlTitlesData(
          leftTitles: SideTitles(
            showTitles: true,
            getTitles: (v) => "${v.truncate()}",
            getTextStyles: (context, value) => const TextStyle(
                color: Colors.blueGrey,
                fontWeight: FontWeight.bold,
                fontSize: 12),
            margin: 12,
            reservedSize: 40,
          ),
          rightTitles: SideTitles(
              showTitles: true, getTitles: (_) => "", reservedSize: 20),
          bottomTitles: SideTitles(
            showTitles: true,
            rotateAngle: -45,
            getTitles: (v) => DateFormat("HH:mm:ss").format(
                DateTime.fromMillisecondsSinceEpoch((1000 * v).truncate(),
                        isUtc: true)
                    .toLocal()),
            getTextStyles: (context, value) => const TextStyle(
                color: Colors.blueGrey,
                fontWeight: FontWeight.bold,
                fontSize: 12),
            margin: 12,
            reservedSize: 6,
          ),
          topTitles: SideTitles(showTitles: false),
        ),
        gridData: FlGridData(
          show: true,
          drawHorizontalLine: true,
          drawVerticalLine: true,
          horizontalInterval: 200,
          verticalInterval: 5,
        ),
        borderData: FlBorderData(
          show: true,
          border: const Border(left: BorderSide(), bottom: BorderSide()),
        ),
      ),
      swapAnimationDuration: Duration.zero,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(10),
      child: Column(
        mainAxisSize: MainAxisSize.min,
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          SizedBox(
              height: 300,
              width: MediaQuery.of(context).size.width,
              child: _buildChartWidget()),
          const SizedBox(height: 40),
          SizedBox(
            height: 50,
            width: MediaQuery.of(context).size.width,
            child: Row(children: [
              const Spacer(),
              SizedBox(
                width: 100,
                child: FittedBox(
                  fit: BoxFit.scaleDown,
                  child: CupertinoButton(
                      color: showX
                          ? CupertinoColors.activeBlue
                          : CupertinoColors.systemGrey,
                      child: const Text("Show X"),
                      onPressed: () {
                        setState(() {
                          showX = !showX;
                        });
                      }),
                ),
              ),
              const Spacer(),
              SizedBox(
                width: 100,
                child: FittedBox(
                  fit: BoxFit.scaleDown,
                  child: CupertinoButton(
                      color: showY
                          ? CupertinoColors.activeBlue
                          : CupertinoColors.systemGrey,
                      child: const Text("Show Y"),
                      onPressed: () {
                        setState(() {
                          showY = !showY;
                        });
                      }),
                ),
              ),
              const Spacer(),
              SizedBox(
                width: 100,
                child: FittedBox(
                  fit: BoxFit.scaleDown,
                  child: CupertinoButton(
                      color: showZ
                          ? CupertinoColors.activeBlue
                          : CupertinoColors.systemGrey,
                      child: const Text("Show Z"),
                      onPressed: () {
                        setState(() {
                          showZ = !showZ;
                        });
                      }),
                ),
              ),
              const Spacer(),
            ]),
          ),
        ],
      ),
    );
  }
}

For the comparison, I replaced the _buildChartWidget() implementation with a similar charts_flutter TimeSeriesChart like so
  Widget _buildChartWidget() {
    if (events.isEmpty || events.length == 1) {
      return const Center(child: Text("Waiting for data to plot ..."));
    }

    return TimeSeriesChart(
      [
        if (showX)
          Series<Event, DateTime>(
            id: "X",
            data: events,
            domainFn: (Event e, _) => DateTime.fromMillisecondsSinceEpoch(
                    (1000 * e.ts).truncate(),
                    isUtc: true)
                .toLocal(),
            measureFn: (Event e, _) => e.c0,
          ),
        if (showY)
          Series<Event, DateTime>(
            id: "Y",
            data: events,
            domainFn: (Event e, _) => DateTime.fromMillisecondsSinceEpoch(
                    (1000 * e.ts).truncate(),
                    isUtc: true)
                .toLocal(),
            measureFn: (Event e, _) => e.c1,
          ),
        if (showZ)
          Series<Event, DateTime>(
            id: "Z",
            data: events,
            domainFn: (Event e, _) => DateTime.fromMillisecondsSinceEpoch(
                    (1000 * e.ts).truncate(),
                    isUtc: true)
                .toLocal(),
            measureFn: (Event e, _) => e.c2,
          )
      ],
      animate: false,
      primaryMeasureAxis: const NumericAxisSpec(
          tickProviderSpec: BasicNumericTickProviderSpec(
              zeroBound: false, desiredMinTickCount: 10)),
      domainAxis: DateTimeAxisSpec(
        tickProviderSpec: const DateTimeEndPointsTickProviderSpec(),
        tickFormatterSpec: BasicDateTimeTickFormatterSpec.fromDateFormat(
            DateFormat("HH:mm:ss")),
        showAxisLine: true,
      ),
    );
  }

Versions

which version of the Flutter are you using?

Flutter 2.10.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5f105a6ca7 (9 weeks ago) • 2022-02-01 14:15:42 -0800
Engine • revision 776efd2034
Tools • Dart 2.16.0 • DevTools 2.9.2

which version of the FlChart are you using?

fl_chart: ^0.41.0

I checked that it also happens on 0.50.1 as well as the version I had been using.

Good news! I found a small memory leak in the code that produces the FlSpots to plot. They are regular small allocations of < 50B happening 10s of times per second. I found the error when ran a longer test with charts_flutter Widget; after many more hours, it eventually was using a similar amount of RAM as fl_chart.
My hypothesis is that while I don't care too much about using 25-50MB of small allocations over a day, but I do care about the memory fragmentation that will cause the DartVM to resize heap. Supposedly, charts_flutter is using less RAM or causing less fragmentation than fl_chart was (under the memory leak conditions).
I'll close the issue since optimizing memory usage is outside the scope of this issue.


minor: asu-worfklow.log in v4 beta3

Looks like a typo here. The asu-workflow log output file is being named asu-worfklow.log

Thanks for finding this.

https://github.com/Macjutsu/super/releases/tag/v4.0.0-beta4


Creation of instalment field in Loan model for assign its calculated value

What this PR made?
Creation of a instalment field in order to keep this information in database.
Where could the review begin?
Check .calculator/models.py
How this could be tested manually?
python manage.py test -v2
Is there any context scenario that you want to?

This branch was created as a ramification from tk_20 (from @cesarbruschetta ). Merge its modifications first to approve this one.

I tried to create the field and assign a value to it in the save() method of the model, but I coudnt. So, it was created as a regular field and only the value for it is assigned in the save() method.

@dariodinizg the PR should not be for branch development and not for master?
Yes it should! I did it by cell phone due net problems. Its changed now!


Align Docker image version with policy

What is the new behavior?
Docker image version is aligned with our new policy.
Please check if the PR fulfills these requirements

[ ] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[x] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?
Build / CI related changes
Does this PR introduce a breaking change?
No.

Pull request test result: success :star:
Sonar results

Pull request test result: success :star:
Sonar results

Pull request test result: success :star:
Sonar results

Sorry I didn't squash... :/ went too fast.


multiplayer sample

hey, can any help me.
can someone give me a little example. tank in multiplayer, with node.js.
just don't get it...
thanks

https://stackoverflow.com/help/how-to-ask
what are you trying to do exactly? what have you done so far ?

I'am testing the other Collision
https://github.com/Prozi/detect-collisions
But, the Demo Code is not working.
`const Collisions = require('detect-collisions');
// Create the collision system
const system = new Collisions();
// Create a Result object for collecting information about the collisions
const result = system.createResult();
// Create the player (represented by a Circle)
const player = system.createCircle(100, 100, 10);
// Create some walls (represented by Polygons)
const wall1 = system.createPolygon(400, 500, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 1.7);
const wall2 = system.createPolygon(200, 100, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 2.2);
const wall3 = system.createPolygon(400, 50, [[-60, -20], [60, -20], [60, 20], [-60, 20]], 0.7);
// Update the collision system
system.update();
// Get any potential collisions (this quickly rules out walls that have no chance of colliding with the player)
const potentials = player.potentials();
// Loop through the potential wall collisions
for(const wall of potentials) {
// Test if the player collides with the wall
if(player.collides(wall, result)) {
// Push the player out of the wall
player.x -= result.overlap * result.overlap_x;
player.y -= result.overlap * result.overlap_y;
}
}
`
Testing on Node.js.
Error:
TypeError: Collisions is not a constructor

please contact Prozi, if you are using his collisions fork... not us.
We are only concerned about https://github.com/Sinova/Collisions here

Fixed in 2.4.1
update and run
yarn demo
then open http://localhost:8080 or http://localhost:8080?stress=test

thanks Prozi,
please consider enabling github issues (in settings)

done thanks @GrosSacASac


Radix sort in Kotlin

🚀 Feature
(A clear and concise description of what the feature is.)
Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
Motivation
(Please outline the motivation for the proposal.)
Pitch
(Please explain why this feature should be implemented and how it would be used.)

I would like to work on this @shraddhavp.
I have submitted a PR to update the existing radix sort to operate on negative numbers too.
The PR is #1817

updates @KartikeySharma

updates @KartikeySharma

I am waiting for PR #1885 to be checked. I have created the code but can't make a PR request else it will be merged with the prev one @shraddhavp

I am waiting for PR #1885 to be checked. I have created the code but can't make a PR request else it will be merged with the prev one @shraddhavp

Submitted PR #2015

Submitted PR #2015


Optimise encodeInto reallocations

Instead of doubling the size on each iteration, use precise upper limit (3 * JS length) if the string turned out not to be ASCII-only. This results in maximum of 1 reallocation instead of O(log N).
Some dummy examples of what this would change:

1000 of ASCII chars: no change, allocates 1000 bytes and bails out.
1000 ASCII chars + 1 '😃': before allocated 1000 bytes and reallocated to 2000; now allocates 1000 bytes and reallocates to 1006.
1000 of '😃' chars: before allocated 1000 bytes, reallocated to 2000, finally reallocated again to 4000; now allocates 1000 bytes and reallocates to 4000 right away.

Related issue: #1313
r? @alexcrichton @hsivonen

This seems to pass all tests (the failures, as usual, are related to deployment scripts and not code changes).
@alexcrichton can we merge this as-is for now? This might be not the final version of optimisations, but it already significantly reduces costs of encodeInto in mixed ASCII & Unicode scenarios.

Looks good to me!


[Bug] Password prompt causes Cron job to hang

I know that I have been logged out at least once in the past, which I realized when trying to set up a cron job. That cron job also does not give any alert that something is wrong if it fails, and I only could know that there was an issue if I looked at the logs for the job (which I manually set up)
Originally posted by @EthRousseau in https://github.com/tpill90/steam-lancache-prefill/issues/56#issuecomment-1213244831

Adding a timeout that will throw an error if no password has been entered after 30 seconds

SteamPrefill-1.3.1-osx-x64.zip
SteamPrefill-1.3.1-win-x64.zip
SteamPrefill-1.3.1-linux-arm64.zip
SteamPrefill-1.3.1-linux-x64.zip


skydive: remove it from nixpkgs

The current Skydive version can not be build with a recent Go version
and the maintainer (@nlewo) is no longer interested in maintaining it.

Motivation for this change
The pr #68195 is removing Go 1.11 which is required to compile the current Skydive version.
I've tried to package the latest version, but the build is tricky, it requires several missing dependencies and i'm no longer using Skydive.
However, if someone is interested in maintaining it, I can help to update it (i have something almost working but no more time to work on it).
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @

Since we don't have a maintainer, we should probably backport this to 19.09 as well, right?

@lheckemann yes, I could do it.

backported in fcd7d6ad4189216bef0267fb43bb95bed8e14e9c


[github action] Copy Kiali source first before updating version numbers.

Rather than first updating the Makefile and related files with the new version, we need to copy the Kiali source code first. This is so we can avoid errors when nothing needs to be copied from the Kiali server repo.

I'm running a test on my fork to make sure this fixes everything. I'll wait for that to succeed before merging this.

my test succeeds.. going to merge this and do a release now


Fix issue where traffic from a pod could be dropped despite allow policy when DNS L7 rules are used

From the commit message:
Cilium defines a precedence ordering between sources for mappings from
IP to Identity, defined in pkg/source/source.go. These are used to
determine which Identity should be used for an IP when multiple sources
provide conflicting reports of the Identity to be associated with an IP.

This ordering was handled in the case of source.Generated CIDR/FQDN
-sourced identities by inserting potentially two overlapping entries
into the ipcache.IPIdentityCache when an endpoint's IP is the same as a
CIDR mapping:

* An endpoint Identity would be inserted with the key 'w.x.y.z', and
* A CIDR Identity would be inserted with the key 'w.x.y.z/32'. (IPv6: /128)

During Upsert() and Delete(), when overlapping entries existed in the
map, this overlap would be resolved by directly checking whether another
entry exists with/without the `/32` suffix (IPv6: /128) and either
hiding the update from listeners (when a shadowed mapping is upserted),
or converting the delete to an update (when a shadowing entry is
deleted, revealing the underlying shadowed entry).

During DumpToListenerLocked() however, this shadowing would not be
resolved and instead both entries would be dumped to the caller in an
arbitrary order. This is particularly notable on Linux 4.11 to 4.15
where LPM support is available but deletion is not supported. In these
cases, Cilium periodically dumps the ipcache to a listener using this
function, and populates the BPF ipcache map using this dump. Any time this
dump occurs (default 5 minutes), it would be possible for the ipcache
mapping to be modified to map the IP to either of the cached identities.
Depending on the Go runtime in use by the version of Cilium, this may or
may not consistently provide particular dump ordering.

Resolve this issue by keeping track of shadowed entries with an
explicit boolean field in the value of the map, and avoiding dumping
such entries in the DumpToListenerLocked() function.

This issue would require a pod on the node with the affected pod to make a request for a DNS name that maps to an IP which represents a pod, for that request to be processed via L7 DNS policy, and for the remote pod to make requests to the affected pod in direct routing mode on Linux 4.11-4.15.
This was only observed on v1.7.x, however I've marked it for backport to v1.6.x as well in an abundance of caution. Cilium v1.6 and v1.7 use different Go versions (v1.12 vs v1.13) so it's likely that the map iteration behaviour is different between these versions. Go doesn't make any guarantees about map iteration ordering, so this PR addresses this by explicitly resolving the overlap between identities for the same IP.
Shout outs also to @tklauser @jrajahalme for their help tracking this down.
Fixes: #11517

test-me-please

Coverage increased (+0.06%) to 36.931% when pulling 272484d32b6ba2dcb1cec8882ca42bc7ecd45782 on joestringer:submit/ipcache-bug into 1439b27ffa69bc679d0b15a8c84eeee8f03cc96b on cilium:master.

retest-4.9

retest-4.19

why is it ok to keep shadowed identities in ipToIdentityCache but not in the listeners? and which identity is going to be shadowed?

@aanm good question, I didn't cover that in the commit/PR details.
Summary
The core issue is the concern of a policy having two entries:

One that allows traffic to/from an IP based on a CIDR /32
One that allows traffic to/from pod labels for a pod which happens to have the same IP as the CIDR /32 in the policy rule above.

In this scenario, the 'shadowing' rules of Cilium state that the endpoint identity takes precedence over the /32 CIDR allow. You can't accidentally allow access to/from an endpoint based on the IP it gets assigned; you must explicitly declare the intent to allow traffic to/from that endpoint based on its labels. The tricky part with the shadowing is how we resolve it when dynamic changes occur such as creating/destroying endpoints with the overlapping IP, I'll discuss this later in this explanation.
Listeners vs. IPIdentityCache
The listeners represent the BPF datapath map / proxy ip-to-identity map. The ipcache there maps exactly from a CIDR prefix to one identity, there's no way to store multiple values for the same IP. So at that layer, there must be exactly one identity for a given IP.
For the in-memory IPIdentityCache, the rules are a bit more loose - it's keyed by a string. The most common case of overlapping identities is between an endpoint IP and a CIDR allocated through policy. To ensure that insertion/deletion of IP->Identity mappings consistently behave in the same manner, we keep track of both. This way, we can support the exact case that is implemented in the unit test; If an endpoint shadows an IP used in CIDR policy, then the endpoint labels take precedence and we can allow traffic to/from that endpoint based on the labels. If we then remove the endpoint again then we fall back to resolving the IP to its CIDR identity, allowing us to implement policy via CIDR/FQDN logic.
Overlapping IP->Identity mappings
Consider first for a moment, if we have fresh Cilium and import a CIDR policy that allows w.x.y.z/32 in the policy. We will allocate a CIDR identity A for policy use and push down an ipcache mapping that maps w.x.y.z->A. Let's say we then create a pod that has the same IP, w.x.y.z with labels-based identity B. Now we push down the mapping w.x.y.z -> B. Now we can apply label-based policy to control access from that endpoint. But wait, what happens when we remove the endpoint? Do we remove w.x.y.z -> B? If we simply removed the mapping for w.x.y.z, then we would also no longer allow the traffic based on CIDR; the datapath ipcache would fall back to resolving the identity as 'world' based on LPM rules. This would be inconsistent with the actual policy in place right now that allows traffic to/from that w.x.y.z/32. It's also inconsistent with initial state after we inserted the CIDR policy but didn't yet create the endpoint. To mitigate this, we track the CIDR identities that were previously used (shadowed), and reinstate them when the pod identity is removed.
Implementation
Implementation-wise the current version tracks both shadowed/non-shadowed entries all in one map with a value field to track whether it's shadowed or not. We could consider instead using a map -> list or two maps - shadowed/non-shadowed. This could potentially help to ensure that only the latest, unshadowed entries are propagated to the listeners and API, but in practical terms I'm not sure there are any differences from the current implementation.


Add ChatGPT prompts to Readme

Hello there!
Amazing project that you have here. I've added my npm library to the readme. It requires your amazing package for it to work.

 Thanks!


js-paloma-hook div being removed from the page causing Turbolinks 5 trouble

Hi there, I'm trying to figure out how to get Paloma working with Turbolinks 5 when the back and forward buttons are pressed.
It seems that (perhaps when Paloma start()s?) that the js-paloma-hook <div> gets removed from the page. This means that the cached copy of the page is not able to re-execute the Paloma controller code when the page is next displayed via forward or back.
Are you able to provide a bit of insight into this? In my particular situation, I'm initialising a fullcalendar calendar, that works when navigating using actual links to the calendar, but upon navigating away and back, the functionality of the calendar widget is broken presumably because all of the event handlers are destroyed etc...

Having investigated it a bit further, it is because the hook code removes itself once executed. I went back through the history of the code and that concept seems to have been introduced around the time that Turbolinks integration happened.
Can you give any insight into the rationale?
In Turbolinks 5, the turbolinks:load event is triggered on each page change including when navigating history. Script blocks on the restored page are always executed (both when loaded from the server and when loaded from the cache. This would hopefully mean we can just do away with removing the hook code.
In this case, what would be the side-effects that I haven't considered? Perhaps hook code brought in from AJAX requests? In that case maybe there can be two versions of hook code, one for the overall 'load' of a page from the server, the other for xhr requests?

Just an extra bit of thought:
Turbolinks 5 has the turbolinks:before_cache event that is fired just before the page is cached whilst navigating to a new page. This is their official place for teardown logic. I've had a go at it and it worked well for fullcalendar where I destroy the rendered calendar just before the page is cached, then when the page is restored, because I've commented out the node removal in _hook.html.erb, Paloma re-runs the initialisation code for that page and the calendar re-appears.
Perhaps the idea of teardown could be integrated into Paloma?

I am also curious about the implications of this.

With the altered _hook.html.erb I had no problems with Paloma at all. It ran the code on every page restore/load as intended. My thoughts on Paloma specific teardown would be something like:
turbolinks:before_cache kicks off Paloma.teardown() which in turn calls a teardown method on the specific Paloma controller/action. It'd require restructuring the controller a bit perhaps, but it should be possible to do this in a backward compatible way?

While this isn't a fix for Paloma, I decided to reimplement the parts I use myself.  Working fine with Rails 5 + Turbolinks,  perhaps it'll be useful to some of you.
https://gist.github.com/benphelps/dccde4d11370511f0d64be6563796fda

Thank you for the solution, @brendon. It works fine for me.
For other people seeking for the answer how to implement it, you should find _hook.html.erb in your paloma gem, copy it into your app/views/paloma/_hook.html.erb and comment out (or delete) the line where paloma script removes itself.
For my paloma gem (5.1.0) I got:
<% id = "#{Time.now.to_i}#{(rand * 1000).ceil}" %>

<div class="js-paloma-hook" data-palomaid="<%= id %>">
  <script type="text/javascript">
    (function(){

      if ( !window['Paloma'] ) return true;
      Paloma.env = '<%= Rails.env %>';

      var id = "<%= id %>",
          request = <%= request.to_json.html_safe %>;

      Paloma.engine.setRequest({
        id: id,
        resource: request.resource,
        action: request.action,
        params: request.params
      });

      //var self  = document.querySelector("[data-palomaid='" + id + "']");
      //if (self) self.parentNode.removeChild(self);
    })();
  </script>
</div>

All you got to do next is to write an idempotent javascript code for your Paloma controllers. Idempotent means that you should consider that your DOM/SVG/Canvas elements may contain data from previous executions.

It seems that this repo isn't the canonical one now. https://github.com/gnclmorais/paloma is.
@gnclmorais, could you enable the issues section on your repo so that we can transfer this through to there for investigation? I think it still needs some thought.

Hey folks! I didn’t notice the issues were not active, but they are now! 📥

For those that are interested in this issue, you can follow it here: https://github.com/gnclmorais/paloma/issues/6#issuecomment-433652850


Improvement

Hello,
I am currently trying to improve AdaIN in a Tensorflow implementation. What do you think can be done to improve the algorithm? What can be done in order to have quality similar to this: https://github.com/lengstrom/fast-style-transfer
I am trying to implement as stated in the paper, histogram losses. I implemented method for histogram matching on 2 images, but i have no idea how to move on.
I need some ideas how to improve the algorithm.

S+U GAN may make output more naturally.

Is it even possible for this algorithm to achieve the same quality as the fast style transfer?

A workaround I did was to add a SuperResolution pix2pix module on top of the output of the Decoder to try to map back to the original image. This was used in a recent paper we submitted to NIPS: https://arxiv.org/abs/1705.10041

Interesting, what would be the effect on the output from this?

@ArturoDeza Interesting, what were the results ? Do you have any pictures we can compare ?

@Sugarbank @hristorv I still need to add the result of adding the SuperResolution module in the Supplementary Material for the ArXiv version 3. As of yesterday I added some extra images that the model produces on the updated ArXiv version (Version 2). I guess the Base_Line images in the paper are the closes approximation to the original.

see the paper EFDM, I think its matching function or norm (in the context of adain) is quite same as HM


Alper/eng 3892 add international address annotation to ping UI

Added address annotation UI with 2 different tags.
<AddressTable> which is a copy of the existing <Table> tag with extra style and features such as click to copy values out of it.
<AddressManager> which is a tag that manages the addresses.
A typical setup with these look like this in the Labeling Config tab:
<View>
	<AddressTable name="address" value="$ADDRESS_COLUMNS" />
	<AddressManager name="address_manager" toName="address" />
</View>

Initial UI looks like this in the editor

Addresses can be moved up/down, duplicated - which duplicates it next to the one clicked - and removed from the list. When saving the annotation the order of the items are preserved while empty items are removed from the list. Because there are cases where no address can be found out of the given text, you can also submit an empty annotation.

FAQ button opens up a modal similar to the original UI from address-labeling-ui

When the annotations are saved and exported it as JSON it forms a data structure like this. If this format needs to be changed please let me know.
  {
    "id": 9,
    "annotations": [
      {
        "id": 58,
        "completed_by": 2,
        "result": [
          {
            "id": "nDsVYP6O3r",
            "type": "addressmanager",
            "value": {
              "addressmanager": [
                {
                  "zip": "23462",
                  "city": "VIRGINIA BEACH",
                  "unit": "",
                  "state": "",
                  "county": "",
                  "street": "",
                  "country": "",
                  "placeName": ""
                },
                {
                  "zip": "23462",
                  "city": "VIRGINIA BEACH",
                  "unit": "",
                  "state": "",
                  "county": "",
                  "street": "",
                  "country": "",
                  "placeName": ""
                },
                {
                  "zip": "",
                  "city": "VIRGINIA BEACH",
                  "unit": "",
                  "state": "",
                  "county": "",
                  "street": "",
                  "country": "",
                  "placeName": ""
                }
              ]
            },
            "origin": "manual",
            "to_name": "address",
            "from_name": "address_manager"
          }
        ],
        "was_cancelled": false,
        "ground_truth": false,
        "created_at": "2024-08-06T15:47:16.272048Z",
        "updated_at": "2024-08-06T15:47:16.272060Z",
        "draft_created_at": "2024-08-06T15:43:15.704656Z",
        "lead_time": 275.155,
        "prediction": {},
        "result_count": 0,
        "unique_id": "4734b942-ceaa-494c-bf52-bc3c50d5718c",
        "import_id": null,
        "last_action": null,
        "task": 9,
        "project": 20,
        "updated_by": 2,
        "parent_prediction": null,
        "parent_annotation": null,
        "last_created_by": null
      }
    ],
    "file_upload": "51ad4074-data.json",
    "drafts": [],
    "predictions": [],
    "data": {
      "SOVID": "s-ha-go-wrg1x5",
      "ADDRESSES": "[\"3905 Inspiration Arch, VIRGINIA BEACH, VA 23462\"]",
      "FILE_NAME": "sovs/33469/2.23.23 JCF2022  APTS - SOV Cope (005).xls.avro",
      "SHEET_NAME": "Apts23bldg breakdown",
      "ENVIRONMENT": "prod",
      "IS_SCRUBBED": false,
      "BEST_ADDRESS": -1,
      "ADDRESS_COLUMNS": "{\n    \"Address\": \"3905 Inspiration Arch -  Building #3  ( type B)\",\n    \"City\": \"VIRGINIA BEACH\",\n    \"State\": \"VA\",\n    \"ZIP\": \"23462\"\n}",
      "CAN_BE_GEOCODED": false,
      "SHEET_ROW_NUMBER": 214
    },
    "meta": {},
    "created_at": "2024-08-01T10:38:21.439865Z",
    "updated_at": "2024-08-06T15:47:16.299756Z",
    "inner_id": 2,
    "total_annotations": 1,
    "cancelled_annotations": 0,
    "total_predictions": 0,
    "comment_count": 0,
    "unresolved_comment_count": 0,
    "last_comment_updated_at": null,
    "project": 20,
    "updated_by": 2,
    "comment_authors": []
  },

this looks great


tests: check sass

having sass tested will help check node compatibility for PR #180

Hi @gasp thanks for trying to add some tests for sass! I know I tried a long time ago but never got them to work. I did rewrite how the testing is done since then and didn't try sass again. It does seem like the changes here don't work at all (npm test fails on all platforms), but it may be a minor error just the file count on disk is not the same as the count you're expecting to be there. Do you know which file would be missing?

hi @dougwilson, I will have a look :-)

So I ran it locally and it looks like just changing the file count. You don't need to change anything at this point, I'll merge your changes with the modifications I have made for you!


Moving the registry to GOLD Cluster

After further discussions with Olena, this is something that we do intent on doing, but it can wait since it is not urgent and will be a significant undertaking. The app dev team should inform Olena when they have the capacity to work on this.


Fixed accessibility (WCAG 2.1 AA) issue with author and date for posts in light mode

Why
I found an accessibility issue in the light mode for author and date fields on posts for the blog template.
What
Fixed accessibility issues for author and date on posts in the meta.tsx file.

Please rebase

Fixed :)


Fatal error: Uncaught TypeError: vsprintf(): Argument #2 ($values) must be of type array, string given in ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php:1056

Bug Description

Ran phpcs --standard=WordPress /path/to/file.php
Saw exception

Minimal Code Snippet
The issue happens when running this command:
phpcs --standard=WordPress /path/to/file.php

... over a file containing this code:
function foo
{

}

Error Code
Expected exactly one space between closing parenthesis and opening control structure; "T_WHITESPACE" found.
Custom ruleset
None
Environment

Question
Answer

PHP version
8.0.13

PHP_CodeSniffer version
3.6.1

WPCS version
stable branch

WPCS install type
git clone

Additional Context (optional)
Stacktrace:
Fatal error: Uncaught TypeError: vsprintf(): Argument #2 ($values) must be of type array, string given in ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php:1056
Stack trace:
#0 ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php(1056): vsprintf('Expected exactl...', '\n')
#1 ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php(672): PHP_CodeSniffer\Files\File->addMessage(true, 'Expected exactl...', 15, 1, 'ExtraSpaceAfter...', '\n', 5, true)
#2 ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php(780): PHP_CodeSniffer\Files\File->addError('Expected exactl...', 57, 'ExtraSpaceAfter...', '\n', 0, true)
#3 ~/.local/share/wpcs/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php(396): PHP_CodeSniffer\Files\File->addFixableError('Expected exactl...', 57, 'ExtraSpaceAfter...', '\n')
#4 ~/.local/share/wpcs/WordPress/Sniff.php(910): WordPressCS\WordPress\Sniffs\WhiteSpace\ControlStructureSpacingSniff->process_token(57)
#5 ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php(498): WordPressCS\WordPress\Sniff->process(Object(PHP_CodeSniffer\Files\LocalFile), 57)
#6 ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/LocalFile.php(92): PHP_CodeSniffer\Files\File->process()
#7 ~/.composer/vendor/squizlabs/php_codesniffer/src/Runner.php(631): PHP_CodeSniffer\Files\LocalFile->process()
#8 ~/.composer/vendor/squizlabs/php_codesniffer/src/Runner.php(434): PHP_CodeSniffer\Runner->processFile(Object(PHP_CodeSniffer\Files\LocalFile))
#9 ~/.composer/vendor/squizlabs/php_codesniffer/src/Runner.php(114): PHP_CodeSniffer\Runner->run()
#10 ~/.composer/vendor/squizlabs/php_codesniffer/bin/phpcs(18): PHP_CodeSniffer\Runner->runPHPCS()
#11 {main}
  thrown in ~/.composer/vendor/squizlabs/php_codesniffer/src/Files/File.php on line 1056

This diff fixes the issue:
diff --git a/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php b/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php
index 5f7b9a3c..293d78c7 100644
--- a/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php
+++ b/WordPress/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php
@@ -392,7 +392,7 @@ class ControlStructureSpacingSniff extends Sniff {
 					$error,
 					$stackPtr,
 					'ExtraSpaceAfterCloseParenthesis',
-					$this->tokens[ ( $parenthesisCloser + 1 ) ]['content']
+					$this->tokens[ ( $parenthesisCloser + 1 ) ]
 				);

 				if ( true === $fix ) {

Tested Against develop branch?

[ ] I have verified the issue still exists in the develop branch of WPCS.

I did not. I tried, but got a completely different error: "Referenced sniff PHPCSUtils does not exist

@jrfnl Thanks. I couldn't find the previous issue.
I'll just cherry-pick that commit into my local branch, since I couldn't get develop to work.

I am facing the same error but the latest release is 2.3.0 of may 2020...

Still seeing this same issue using the latest release (v2.3.0 May 2020).
@jrfnl Any update on that next release?

I am also experiencing this issue locally.
PHP: 8.1.7
squizlabs/php_codesniffer 3.7.1
wp-coding-standards/wpcs: 2.3.0


Reset connection in schematic different from wiring diagram

In the schematic the RST pin of the ESP12 seems to be connected to +5V(!) and the RST pin of the LCD.
In the wiring table it is supposed to connect to the RST pins of both LCD and VS1053.
What is the right way?

Harm,
The drawing was not correct.  I 've uploaded a new one.  The reset of the ESP is pulled high by a resistor on the mounting board.  The reset of the TFT and the VS1053 is done by the reset circuit (2 diodes and a resistor): when GPIO5 and GPIO16 are both low, the reset pins go low.

What is the purpose of the reset circuit? I left it away completely and only connected everything as described under "wiring"? Everything seems to work well.

FYI, I recently loaded up this project on a Wemos D1 mini, and just wired the Reset pin of the VS1053 board to the D1's reset pin. Worked like a charm!

snazzware: thats fine.  But this pin is not programmable, so the VS1053 will not be reset on powerup.  This reset, however, seems to be not necessary in practice.  So all will work correctly, even if you connect the reset pin of the VS1053 to +5 Volt.


Missing required property "nonce" for transfer Generated\Shared\Transfer\BraintreePaymentTransfer

Hi,
When i use Braintree with other Payment methods, if i select a payment method other than a Braintree Type (for example a custom type: Prepayment), after try to place the order i get the following error:
Missing required property "nonce" for transfer Generated\Shared\Transfer\BraintreePaymentTransfer
The Error occures because the Plugins: BraintreePreCheckPlugin, BraintreePostSavePlugin, BraintreeSaveOrderPlugin is executed even if the choosen Payment method is not a  Braintree type and some parameters are not set.
Best Regards,
Jozsef

Support questions should go to support.spryker.com
Your issue is created there: https://support.spryker.com/hc/en-us/community/posts/360043364692-Braintree-Missing-required-property-nonce-for-BraintreePaymentTransfer-


sending email alert

i have entered my email id in config.py
i am getting following error. thank you in advance
[INFO] Starting the live stream..
[INFO] Sending email alert..
Traceback (most recent call last):
File "run.py", line 353, in
run()
File "run.py", line 244, in run
Mailer().send(config.MAIL)
File "C:\Users\onkar\OneDrive\Desktop\be project\People-Counting-in-Real-Time\mylib\mailer.py", line 23, in send
self.server.login(self.EMAIL, self.PASS)
File "C:\Users\onkar\anaconda3\envs\env_dlib\lib\smtplib.py", line 721, in login
initial_response_ok=initial_response_ok)
File "C:\Users\onkar\anaconda3\envs\env_dlib\lib\smtplib.py", line 631, in auth
(code, resp) = self.docmd("AUTH", mechanism + " " + response)
TypeError: must be str, not bytes

Can I check your mailer.py? But replace your email with something else so I don't have to see it


Depedency Issue with Version 1.3.3 on Monodevelop 5.10

Attempting to install Sqlite.net-pcl into a project produces the following error:
Adding sqlite-net-pcl...
Attempting to resolve dependency 'SQLitePCLRaw.bundle_green (≥ 1.1.5)'.
Downloading SQLitePCLRaw.bundle_green 1.1.5...
'SQLitePCLRaw.bundle_green' already has a dependency defined for 'SQLitePCLRaw.core'.

That error message usually means you need to get a more up-to-date version of nuget.

I've brought nuget up to version 2.8.7 on Ubuntu 16.04 LTS.    With the following result:
andrew@andrew-VirtualBox:/opt/Store2$ nuget help
NuGet Version: <IP_ADDRESS>
andrew@andrew-VirtualBox:/opt/Store2$ nuget install sqlite-net-pcl
Attempting to resolve dependency 'SQLitePCLRaw.bundle_green (≥ 1.1.5)'.
'SQLitePCLRaw.bundle_green' already has a dependency defined for 'SQLitePCLRaw.core'.

Have you tried nuget 3.x?  or 4.x?

Sorry for the trouble but .NET's going through some growing pains and I've decided to push ahead with the new nugets. You'll need to update!


Does it support websocket?

@greyireland at the moment only HTTP is developed and the main focus is to make core features (rate limiting, failover policies, optimal traffic routing, caching features etc) solid and complete, then to introduce Subscriptions (websocket, kafka, etc) with proper actual load-balancing towards upstreams (not just proxy only 1 upstream, because if it dies erpc must transparently switch to another one).
Here's a feature request you can follow for this: https://erpc.featurebase.app/p/support-ws-endpoints
In meantime if you have ideas and specific requirements (what exact you want use this? do you need more websocket connection to upstream, or from your clients to erpc? do you mainly want subscriptions of new logs/blocks, or you want websocket to avoid http-handshake overhead?) please do share, it'll help when implementing.

+1

Closing this for now to track in https://erpc.featurebase.app/p/support-ws-endpoints


Running example tests doesn't work

Creating a minimal example and running cargo test --example test yields no output (expect the 'Compiling ...' message on the first run).
The example gets compiled to target/debug/examples/test and appears to be built without the test attribute as running the executable directly doesn't output cfg: test
examples/test.rs:
fn main() {
    if cfg!(test) {
        println!("cfg: test");
    }
}

#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
    }
}

Yeah currently we don't compile examples with --test I believe (they're intended to be examples of using a library), but this should be easy enough to change with a flag I think.

I would really really love if cargo ran any tests in examples by default. Currently example code can easily get desync by changes in the library (even making CI to run examples requires special additions).
This makes examples currently feel like second class citizens: I added example to library that I am contributing and after changes made by other contributors I realised that the example wasn't working and I had to fix it myself and created dummy test file to tests folder that just includes the example (which was later removed and the CI just runs the example now).
Just now I made custom derive for a library to generate quickcheck tests and I had copied an example to tests folder to see if it works with it. I then pushed that copied file to my PR and then realised after few days that I had the duplicate file there. Now I am faced with conundrum: Do I just move the example to tests folder because I want those generated tests tested or do I create dummy include file to tests folder.

I think this is now fixed.  cargo test --example foo will run unit tests on that example.  If you set test = true in the [[example]] section in Cargo.toml, examples will be tested by default in cargo test.


Update Testing documentation for test-server package

This MR updates the Testing documentation to clarify that the test-server is part of an external package instead of included directly with Guzzle. Since the test server is not shipped with Guzzle when installed via composer the documentation is a bit confusing for those wanting to use it.

Thanks for taking the time to prep this PR. 👍


[DA] Support aggregate packing for arbitrary #tfop result type

When the user-specified #tfop result type is an aggregate of TensorFlow values (TensorHandle, VariantHandle, etc), pack the all handle results into this aggregate.
This is a big step towards the desired expressivity of #tfop for supporting generalized TensorFlow data APIs.
struct Foo {
  let x: Tensor<Float>
  let y: (Tensor<Float>, (a: Tensor<Int32>, b: Tensor<Bool>))
}
let _: Foo = #tfop("SomeOp")

Resolves SR-8573.

@swift-ci please test tensorflow

@swift-ci please test tensorflow Linux GPU

Thanks for the review!


Error when trying to add boolean property since version 1.22.0

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.22.1
Regression From
1.21.3
Architecture
x64
Storage Explorer Build Number
20220122.3
Platform
All
OS Version
Windows 10 & MacOS 12.1
Bug Description
Get the following error when trying to add / amend a boolean property on a table:
Error adding table entity:
{"odata.error":
{"code": "Invalidinput", " message
":"lang":"en-US" "value":"An
error occurred while processing
this request.
InRequestld:d2f45f32-
e2a1-4a79-85ab-3a2af1f6c62b|
nTime:2022-01-31T23:41:16.385Z"}}}

Steps to Reproduce

Launch Storage Explorer
Expand a table container
Either create a new or edit and existing table
Add or edit an existing Boolean property
The error occurs

Actual Experience
An error is thrown when trying to save changes to the table entity
Expected Experience
Table entity is updated / created with Boolean property
Additional Context
No response

@alexastall Can you share the se-table-extension log file?

@alexastall Can you share the se-table-extension log file?

Where can I find this file on Mac?
Thanks

@alexastall Can you share the se-table-extension log file?
2022-02-02_105545_se-table-extension_61596.log

@alexastall From the log, it looks like you're connecting to a storage emulator, correct? If that's true, this is an issue we are already aware of (#5299).
Does this issue still reproduce if you connect to a table in Azure?

Agreed, this is only an issue on storage emulator. I didn't see the other issue prior to raising this. Happy to close and await fix for (#5299)
Thanks for your help!


Capturing the shell output in SwiftUI

Hi,
another dumb question.
using the LocalProcessTerminalView view I can access to the terminal to send a byte array to the shell rendered in the terminal (I use zsh).
But how can I capture the stdout of that shell inside my Swift app?

Please use the discussions for this.


Use wanted RTP payload type

Description
This PR updates the track implementation to use payload type ID requested by the client.
Without this fix when you run the webrtc example with a non Chromium browser, the client requests a payload type ID such as 126 and we reply with a different type ID, such as 125. When this happens the stream connects but there's no output. Any payload type ID in the range 96-127 is dynamic so we have to negotiate it.
This does fix my issue buy I''m not really sure if this is the best way to fix this. Do we need to support non dynamic payload types too? Do we need to validate bounds or anything?
Reference issue
Fixes this issue I accidentally opened on pion/webrtc repo: https://github.com/pion/webrtc/issues/2237

Hey ! Thank you for your proposal ! Extending compatibility by handling dynamic type ID would be great :-)
But i think we should find a way to do it transparently and automatically. And it would be awesome to avoid breaking the public API by doing it :-)


Decompiler Only showing the Hex tab.

Decompiler Only showing the Hex tab.

Ctrl-T to open the editor context menu. No guarantees if you're using Mac. I'll re-add the right click option sometime later

Ctrl-T dous not anything i have a file open ugh, Sorry hahah

Using windows 10 http://prntscr.com/el3tex

If ctrl-t doesn't work, you'll have to wait until I readd the right click option. Sorry

a ok Any good decpiller alternatives until you add it back,
JDGui sucks and Bytecodeviewer has too many crashes :(

I wouldn't recommend any of those. You could always add it in yourself for the time being, or try building a copy of Helios before the rewrite


Make JXCore work using iOS pod tool instead of embedding the code itself

Currently we've downloaded the code to the project

JXCore currently doesn't support pods.


Retrieving verfication code failed

I'm using gmail.
Secrets is setup already and IMAP service is enabled already.
Less secure apps is enabled too.
But I still can not retrieving verfication code , any suggestions?

Can you try to retrieve the code manually from your local machine? Then we can better understand your issue, and further investigate it.

I think I know why now.
First time I run the code show me this

Source Server Error:-  Error: Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
Check this link
Then I Visit this link to authorization. This is the key I think.
Run the code again I pass.

Problem solved.

BTW , you may want to check this
To help keep your account secure, starting May 30, 2022, Google will no longer support the use of third-party apps or devices which ask you to sign in to your Google Account using only your username and password.
Does this mean that this method can no longer be used?

I guess the issue is resolved? :)

BTW , you may want to check this
To help keep your account secure, starting May 30, 2022, Google will no longer support the use of third-party apps or devices which ask you to sign in to your Google Account using only your username and password.
Does this mean that this method can no longer be used?

Yeah, this is unfortune. I am still thinking for other solution, but my suggestion for workaround is to use other services for now. 😓

Name
Done
Value

Gmail
✔
imap.gmail.com

Hotmail
✔
imap-mail.outlook.com

Outlook
✔
imap-mail.outlook.com

Yahoo
✔
imap.mail.yahoo.com

(will add this to README later on, see #5)

What a pity , I just solved the problem lol


Nested ${} expression not resolved (JPP_0358)

The test case JPP_0358 contains a nested ${} expression, with more opening elements (${) than closing elements (}):
"val6"  : "ABC${p${ara}m"
Previously the JsonPreprocessor has thrown this exception:
Expecting value:
The latest version of the JsonPreprocessor does not throw an exception any more, but returns:
'ABC${param'
That's wrong.
The expectation is an exception with error message telling about an opening and closing elements mismatch.

@namsonx : What is the status of this issue?

Current error message is:
list index out of range
But expected is something like: opening and closing elements mismatch.

Hello Holger,
I had push new commit 9a66c266a to stabi branch
The error message now look like below:
Exception: Invalid syntax! An opened or closed curly brackets are missing in value 'ABC${p${ara}m'.
           Please check value 'ABC${p${ara}m' in config file!!!

Thank you,
Son

Hi Holger,
please test.
Thank you,
Thomas

Hi @HolQue ,
please test.
Thank you,
Thomas

Hello @HolQue ,
I modified the error message in this case based on your comment above. With this modification of the error message, it makes test cases JPP_0356-(VALUE_DETECTION)-[BADCASE], JPP_0358-(VALUE_DETECTION)-[BADCASE] are failed (due to logout comparison).
Could you please help me modify the expectation of these test cases above to adapt with my new pull-request on stabi branch.
Thank you,
Son

Retest successful. Issue can be closed.


Effect of trend,season and all the prophet decomposition is 0

Project Robyn
Describe issue
The prophet decomposition factors are used to debias marketing channel effect. But due to the marketing channel itself follows DAU trend and seasonality or other unknown reasons, the coefficient of prophet decomposition factors is 0, which means the debias fails. How to change the coefficient distribution?
Provide reproducible example
Issues are often related to custom input data that is difficult to debug without. If necessary, please modify your data to mask real values and share a dataset that is able to reproduce the issue. Please also share your model configuration and exported JSON files if available.

Environment & Robyn version

A variable can have 0% decomp, but explains a lot of variance of the dep_var. Season is typical, it has values centered at 0, thus when summed, it's always (close to) 0, but if your data has strong seasonality, it will be explained by the season var. Same for weekday. It's the reference point problem for variables with relative scale.
Holiday/trend are not centered around 0 and thus it depends, they might be reduced to 0 by regularisation.


seadrive-gui: init at 1.0.7, seadrive-daemon: init at 1.0.7

Motivation for this change
SeaDrive is the new client for the Seafile cloud syncing service. Unlike the original seafile-client, SeaDrive can download files on-demand, allowing access to your entire Seafile library on devices with low storage space.
Things done

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

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

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

Notify maintainers
cc @

The website says "open source" and has a github link. Can we not grab the source and compile?

@aanderse seadrive-daemon is not currently open source. seadrive-gui and seafile-client are open source.

@aanderse Do you have any more recommendations? As for the bundled Debian libraries, this was the only way I could find to fix the library mismatch errors. I added the smallest set of bundled libraries to eliminate all errors and warnings.

@JustinLovinger I'm not very good with patchelf but wouldn't something like this possibly work?

@aanderse It looks like you are trying to trick the program into thinking it has a different version of the library. This was actually discussed as a possible solution on the #nixpkgs irc, but was deemed risky, especially since we are dealing with a data syncing service and don't want to risk losing data.
I just tried running it. It doesn't look like it fixes the warnings
./result/bin/seadrive: /nix/store/m93jjbdb9nvc1f38fxbf14rs4r1g013a-curl-7.65.3/lib/libcurl.so.4: no version information available (required by ./result/bin/seadrive)
./result/bin/seadrive: /nix/store/inp0f3gmcq8jxmxqa3spdp9g3zp6rvda-seadrive-daemon-1.0.6/lib/libcrypto.so.1.0.2: no version information available (required by ./result/bin/seadrive)

Although the SeaDrive logs don't show any obvious errors, the data itself does not appear to be syncing. No files or Seafile libraries are available.
Also, are you sure replacing the bundled libevent_2_0 with an override like that is a good idea? It seems fragile. The latest libevent could make a change that breaks this libevent_2_0, or worse, breaks seadrive-daemon without breaking libevent_2_0, leading to a difficult to track down problem. With the bundled libevent_2_0 nix, at least we know it will always be the same package, unless we specifically change it.

@JustinLovinger fair enough. I thought I'd at least give it a try.
Who were you working with on IRC? I'd like them to give this a review.

@aanderse The main helpers on irc were srhb, clever, and symphorien. Those were their names on irc.

Ah, great. If @srhb is telling you what to do then it is definitely the right answer. I'll leave the remainder of the review to them.

Hi @JustinLovinger! Phew, you sure had to jump through a lot of hoops to make the daemon work. :grin:
I'm sorry to say that I feel that it's a bit too many hoops to be currently included in nixpkgs proper, especially considering the potentially high risk libraries like sasl and openssl. I suggest splitting out the open source / built-from-source bits into their own PR and letting the daemon and things live in your own repo such that people may opt into it.

@srhb Given your concerns about these Debian libraries, I took another look at removing them. I tried replacing the Debian binary of seadrive-daemon with the CentOS binary. Looks like the CentOS binary has better compatability with nix libraries :D. seadrive-daemon can now run using only nix libraries as dependencies.
There is still a warning when seadrive-daemon runs
/nix/store/7dsisl4gxr16rfa53k8c2grayzdmqz0w-seadrive-daemon-1.0.7/lib/libcrypto.so.10: no version information available (required by /tmp/result/bin/seadrive)

but it doesn't seem to result in any runtime errors. I believe the warning is benign, and caused by a lack of, or difference in, an identifier string in libcrypto.so.1.0.0
Also, a happy side effect of switching to the CentOS binary is that seadrive-daemon is bumped to version 1.0.7. Apparently CentOS has a newer version than Debian.

This definitely looks better. However, I'm not sold on the premise that the warning is completely safe. Can you provide some more evidence of this?
Furthermore I'm not sure I like making the old libevent version local to this drv. We might want to keep it in top-level, alongside the newer one. It is still maintained as far as I know.
I'll try and invite some more people to weigh in as well, I don't feel completely comfortable making these calls on my own. :)

@srhb I think I tracked down what is happening with the "no version information available" warning. To begin, this warning is somewhat deceptively named. The warning actually means that an internal version identifier, provided through an SSLeay() function, does not match what is expected. This warning is known to occur when you run a binary with an OpenSSL library that it was not built with, because the version identifier includes information such as the build platform and even when the library was built. All the warning really tells us is that we are not using the exact copy of OpenSSL that the binary was built with, which is what we want.
Even if the version does match exactly and the built on date and platform is not an issue, we may still get this warning because RHEL (and consequently, CentOS) change the behavior of SSLeay() in their OpenSSL libraries, because they believe that "Some applications perform incorrect (too sensitive) version check and the only way to avoid it is to mask the actual run-time version of OpenSSL built against an old OpenSSL release.".
Also, I have personally been running this build of SeaDrive without error, and with heavy usage, for the past few days :)
As for libevent_2_0, making it a top level package was my first thought as well, so I have no problem with that if it is what people think is best.

@JustinLovinger Thanks for tracking that down. That sets my mind at ease a bit. :)

I'm closing this pull request because I'm not using SeaDrive anymore. If anyone wants to pick this up or use SeaDrive themselves, you can find the latest changes here: https://github.com/JustinLovinger/nixpkgs/tree/init-seadrive. I give permission for anyone to make a new pull request with these changes, with maintainer changed, and proper attribution of course :) It worked when I last tested it, but that was several months ago.

The closed source seadrive-daemon is no longer needed and has been replaced with the open source seadrive-fuse.
It did build with the following nix config
{ fetchFromGitHub
, pkgconfig
, stdenv
, autoreconfHook
, lib
# Package dependencies
, libsearpc
, libselinux
, libuuid
, pcre
, libtool
, libevent
, sqlite
, openssl
, fuse
, vala
, intltool
, jansson
, curl
, python
}:

stdenv.mkDerivation rec {
  pname = "seadrive-fuse";
  version = "2.0.16";

  src = fetchFromGitHub {
    owner = "haiwen";
    repo = pname;
    rev = "v${version}";
    sha256 = "072sx4wvj3gbslv3hn4sifr28fy812b8aja9d7phl1w4yix9l55z";
  };

  patches = [];

  nativeBuildInputs = [
    autoreconfHook
    pkgconfig
  ];
  buildInputs = [
    libsearpc
    libselinux
    libuuid # Satisfies the 'mount' package requirement. Contains 'mount.pc'
    pcre
    libtool
    libevent
    sqlite
    openssl.dev
    fuse
    vala
    intltool
    jansson
    curl
    python
  ];

  meta = with lib; {
    homepage = https://github.com/haiwen/seadrive-fuse;
    description = "SeaDrive daemon with FUSE interface";
    license = licenses.gpl3;
    platforms = platforms.all;
    maintainers = with maintainers; [];
  };
}

I couldn't test it tho cause I didn't build the seadrive gui before ending my nixOS test.


Clipboard module improvement to allow automatic paste in place.

Is your feature request related to a problem? Please describe.
When using ROFI, I have my clipboard setup so that it pastes immediately after selection using 'wtype'.
cliphist list | rofi -dmenu  | cliphist decode | wl-copy && wtype -M ctrl -M shift v
Describe the solution you'd like
I would like to see a new option in the clipboard module, it could be "exec" or "post_exec"  so we can apply the treatment we want.
Describe alternatives you've considered
Could use the legacy dmenu way, but it is not great as it miss too many features.
Have you checked the wiki?
Yes?

There's an exec field for the clipboard module now. It defaults to wl-copy, but you'd just put wl-copy && wtype -M ctrl -M shift v in there.

This works fantastic, thank you!


python3Packages.rapidfuzz: 1.5.0 -> 1.6.0

Motivation for this change
Update to latest upstream release 1.6.0
Change log: https://github.com/maxbachmann/RapidFuzz/releases/tag/v1.6.0
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

1 package failed to build:

spotdl

2 packages built:

python38Packages.rapidfuzz
python39Packages.rapidfuzz

Missing numpy in propagatedBuildInputs which makes spotdl fail to build.

Thanks

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

3 packages built:

python38Packages.rapidfuzz
python39Packages.rapidfuzz
spotdl

Result of nixpkgs-review pr 137296 at 1840f6ce run on aarch64-linux 1

3 packages built successfully:

python38Packages.rapidfuzz
python39Packages.rapidfuzz
spotdl

Missing numpy in propagatedBuildInputs which makes spotdl fail to build.

Do we really need numpy in propagatedBuildInputs? Because it makes poetry depends on numpy which is quite heavy. I feel like the issue lies in spotdl, not rapidfuzz.

Because it makes poetry depends on numpy which is quite heavy.

poetry is not touched in this PR.
We could move numpy to an optiona-dependency though https://github.com/maxbachmann/RapidFuzz/blob/a43deeb823e0575eda22a1d7641e62c41170b016/setup.py#L19

That sounds nice! And spotdl can depend on rapidfuzz by turning on its numpy dependency, something like { rapidfuzz = rapidfuzz.override { withNumpy = true; }; } I guess?

Please take a look at our docs for the standard way to do this in python https://github.com/NixOS/nixpkgs/blob/fa3efb7a1c26fe679c38b75a2f42b3b289448b50/doc/languages-frameworks/python.section.md#optional-extra-dependencies-python-optional-dependencies

We could move numpy to an optiona-dependency though<EMAIL_ADDRESS>

Please take a look at our docs for the standard way to do this in python fa3efb7/doc/languages-frameworks/python.section.md#optional-extra-dependencies-python-optional-dependencies

I've finally got around to implement this in https://github.com/NixOS/nixpkgs/pull/258152. This is my first attempt in contribution to nixpkgs so do expect issues! Apologies in advance.


Document engineering best practices for CI/CD

Team-wide, discuss, document, and ratify best practices we intend to use to facilitate CI/CD. See initial list of best practices.

Hey team! Please add your planning poker estimate with Zenhub @atolopko-czi @Bento007 @danieljhegeman @ebezzi


Coins optimized with ect for 7%

Optimized tokens with ect: https://github.com/fhanau/Efficient-Compression-Tool
cd tokens
ect -8 -strip *

178.png: error: Not a PNG file
304.png: error: Not a PNG file
Processed 280 files
Saved 164.96KB out of 2.28MB (7.0584%)

@k06a You have opened 3 PR, can you keep only one for review ?. Thanks.

@kolya182 done #1744


Restrict Go dependency listing to current project

What does this PR do?
This PR changes the command used for dependency listing from
go list -json -m all

to
go list -json -deps ./...

Before, the program would try to mitigate security vulnerabilities in projects that were not used in the current Go project at all, resulting ion replace directives and .nancy-ignore entries for modules that were in fact not used.
We have fixed the same mistake in our CI jobs already in https://github.com/giantswarm/devctl/pull/680 .
Should this change be mentioned in the release notes?

[x] CHANGELOG.md has been updated (if it exists)

@giantswarm/team-shield Could anyone please take a look here?


ModuleNotFoundError: No module named 'setuptools.command.test'

I have a PyBind-based project which I build using scikit-build-core in order to use the resulting wrappers from Python. Today, building the wheel for my project fails with the error
ModuleNotFoundError: No module named 'setuptools.command.test'

As far as I've been able to understand, this is due to a breaking change in setuptools version 72; here is the bug report for it.
I'm not sure whether I could configure my project in a way that would bypass this issue, and more generally, that would pin dependencies in such a way that I don't risk having such problems again. I have tried having my venv install setuptools==71.1.0 but the issue persisted (something that is mentioned in the linked issue as well).
In case it helps, here is my pyproject.toml:
[build-system]
requires = ["scikit-build-core>=0.3.3", "pybind11"]
build-backend = "scikit_build_core.build"

[project]
name = "####"
version = "0.0.1"
description="#######"
readme = "README.md"
requires-python = ">=3.10"
dependencies = ["numpy"]

[tool.scikit-build]
wheel.expand-macos-universal-tags = true
cmake.build-type = "Debug"

Thanks for the report. Nothing we can do on our end since it's an issue with any dependency that uses setuptools as the backend. Need to wait at least for setuptools 72.0.0 to be yanked

I see, but perhaps there might be (or maybe there ought to be) a way to fix the setuptools version, so one can pin the build environment?

This would depend on how pip deals with different build-system.requires constraints in build-issolation. Maybe having a dummy project in there that pins setuptools != 72.0.0 could help propagate that. Otherwise we'll have to be patient. I have pinged the discord if there is anyone present to yank that.

@Svalorzen Actually, can you share your build log on how you got that error? The other case I've encountered was where it genuinely used the broken api ^1, but for pybind11, I don't see it being used, and cmake and ninja use scikit-build-core which shouldn't be affected by this.

  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [17 lines of output]
      Traceback (most recent call last):
        File "/home/runner/work/xxxxxxxxxx/xxxxxx/build/_deps/zzzzzz-src/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/runner/work/xxxxxxxxxx/xxxxxx/build/_deps/zzzzzz-src/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/runner/work/xxxxxxxxxx/xxxxxx/build/_deps/zzzzzz-src/venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-fnom811n/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
        File "/tmp/pip-build-env-fnom811n/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-fnom811n/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-fnom811n/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 9, in <module>
      ModuleNotFoundError: No module named 'setuptools.command.test'
      [end of output]

Hope this helps!

I think you've obstructed the crucial part that would tell us which dependency is affected. For example in the following:
 An unexpected error has occurred: CalledProcessError: command: ('/home/runner/.cache/pre-commit/repof46ludlk/py_env-python3.12/bin/python', '-mpip', 'install', '.')
return code: 1
stdout:
    Processing /home/runner/.cache/pre-commit/repof46ludlk
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'done'
    Collecting PyYAML<7.0,>=6.0 (from djlint==1.34.1)
      Using cached PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
    Collecting click<9.0.0,>=8.0.1 (from djlint==1.34.1)
      Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
    Collecting colorama<0.5.0,>=0.4.4 (from djlint==1.34.1)
      Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
    Collecting cssbeautifier<2.0.0,>=1.14.4 (from djlint==1.34.1)
      Downloading cssbeautifier-1.15.1.tar.gz (25 kB)
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'error'

I've found the culprit to be cssbeautifier. The important part were the Collecting and Downloading parts there.

Ah I see what you mean. The error might be triggered by any dependency, and not simply the scikit-build-core one. I was assuming that because the error mentioned build wheel that it must have been my own project that broke (since it needs to build/compile the C++ code).
How did you figure out that it was cssbeautifier? What gives away which dependency/ies was/were triggering the error?

It cannot be triggered by scikit-build-core, because we don't use setuptools.
Ninja still uses scikit-build classic, there hasn't been a release since we moved it to scikit-build-core. Also pybind11 uses setuptools still, but that's
This is happening on line 9 of a setup.py somewhere, so I'm guessing it's not either of those, though, as you'd see skbuild in the error (and pybind11 don't use this command in it's setup.py). I bet it's some other dependency, maybe an install dependency? You could try building it with PyPA's build to see if it's happening in the install phase, which I'd expect.
Though setuptools 72 has been yanked so unless you set a PIP_CONSTRAINTS to force it, it will just work for now.


"Quit to lobby" --> "Return to lobby"

Should say return to main menu.

We will fix this in another pull request. Unnecessary to have this one take build time from azure.


Error while building PHP zip extension with PHP7.4

Info:

Docker version: 19.03.5, build 633a0ea838
Laradock commit: da40e2966db
System info:  Linux
System info: Ubuntu 16.4

Issue:
I wanna build PHP zip extension with php7.4, I got configure: error: unrecognized options: --with-libzip
Expected behavior:
In php7.4 instead of docker-php-ext-configure zip --with-libzip should be docker-php-ext-configure zip

I have found a similar problem here
The solution, as mentioned in the link above, should be replacing the line
docker-php-ext-configure zip --with-libzip && \ with this one docker-php-ext-configure zip && \ in php-fpm/Dockerfile.
I cannot guarantee that this is the best solution but it's working for me.

I have found a similar problem here
The solution, as mentioned in the link above, should be replacing the line
docker-php-ext-configure zip --with-libzip && \ with this one docker-php-ext-configure zip && \ in php-fpm/Dockerfile@line:54.
I cannot guarantee that this is the best solution but it's working for me.

Maybe this isn't a good solution for the Laradock which want to support multiple version of PHP

Duplicate #2421


AttributeError: Contract 'FundMe' object has no attribute 'getEntranceFee'

Hi guys im stuck on this error when trying to deploy the fund_and_withdraw.py to the ganache-local chain. Im on the video linked at https://www.youtube.com/watch?v=M576WGiDBdQ 5:45:05 hrs. Cannot seem to get passed this.

Hey friend. I'm writting from Spain ..
I have a similar problem ..   i would like ask you if you could give me and idea what happen ..   my error in lesson 6 is:
_raise AttributeError(f"Contract '{self.name}' object has no attribute '{name}'")
AttributeError: Contract 'FundMe' object has no attribute 'getEntranceFee'
Script:
from brownie import FundMe, accounts
from scripts.helpful_scripts import get_account
def fund():
fund_me = FundMe[-1]
account = get_account()
print(account)
entrance_fee = fund_me.getEntranceFee()
print(entrance_fee)
def main():
fund()
FundMe.sol:
function getEntranceFee() public view returns (uint256) {
// minimumUSD
uint256 minimumUSD = 50 * 10 ** 18;
uint256 price = getPrice();
uint256 precision = 1 * 10 ** 18;
// return (minimumUSD * precision) / price;
// We fixed a rounding error found in the video by adding one!
return ((minimumUSD * precision) / price) + 1;
}
I compiled FundMe.sol and i see in .json getEntranceFee() ..   On ganache instance i see:
web3_clientVersion
eth_getBlockByNumber
eth_accounts
eth_getCode
eth_getCode
An Idea what could happen??
Tnx very much and have a nice day.

@NotZayne did you compiled after un-commenting getEntranceFee() ?


Remix SPA fails

What version of million are you using?
3.0.5
Are you using an SSR adapter? If so, which one?
None
What package manager are you using?
npm
What operating system are you using?
Mac
What browser are you using?
Chromium (Arc)
Describe the Bug
I started a project from zero using the Remix SPA Mode template
npx create-remix@latest --template remix-run/remix/templates/spa

installed million and added automatic mode
npx million@latest

export default defineConfig({
  plugins: [million.vite({ auto: true }), react()],
});

{
  "@remix-run/node": "^2.8.0",
  "@remix-run/react": "^2.8.0",
  "million": "^3.0.5",
  "react": "^18.2.0",
  "react-dom": "^18.2.0"
}

What's the expected result?
It should show the remix starter page

Link to Minimal Reproducible Example
https://stackblitz.com/~/github.com/toyamarodrigo/test-remix-spa
Participation

[ ] I am willing to submit a pull request for this issue.

Seems to work on 3.0.3 and 3.0.2
but not

3.0.0
3.0.1
3.0.3
3.0.4
3.0.5

Hey there @toyamarodrigo, can you try setting the rsc value in the compiler options to true? You should end up with something like this in Vite config:
import { vitePlugin as remix } from "@remix-run/dev";
import { defineConfig } from "vite";
import million from "million/compiler";
import tsconfigPaths from "vite-tsconfig-paths";

export default defineConfig({
  plugins: [
    million.vite({ auto: true, rsc: true }),
    remix({
      ssr: false,
    }),
    tsconfigPaths(),
  ],
});

I reported it to core team as well and work is being done to resolve the issues you're having. Thank you @toyamarodrigo

Hey there @toyamarodrigo, can you try setting the rsc value in the compiler options to true? You should end up with something like this in Vite config:
import { vitePlugin as remix } from "@remix-run/dev";
import { defineConfig } from "vite";
import million from "million/compiler";
import tsconfigPaths from "vite-tsconfig-paths";

export default defineConfig({
  plugins: [
    million.vite({ auto: true, rsc: true }),
    remix({
      ssr: false,
    }),
    tsconfigPaths(),
  ],
});

It seems to work with rsc: true, but is that property supposed to be added in spa mode? 🤔


Bold does not work with round bracket in markdown

Version

v1.3.3
Test Environment

Chrome MacOS
Current Behavior

Bold does not work with round bracket in markdown.

Expected Behavior

Bold works well with bracket

This issue is not bug because markdown syntax does not allow bracket.


Polish language doesn't work

Hi
Thanks for this amazing plugin! Just wanted to report that when polish language is selected, the only menu item, that appears is 'select language'. When switching to other languages, everything seems to be working all right. Don't know is this is a temporary issue or not, but losing the ability to watch the JW Broadcasting on my raspberry pi 2 (osmc,  october update) would be very painful.
Thanks again for great  work!

@eXsio I'm glad you're enjoying the plugin. Could you attach your log file so I can see the error? I'm guessing it would be in the Linux location:
$HOME/.kodi/temp/kodi.log
but a guide to all the usual locations can be found here: http://kodi.wiki/view/Log_file/Advanced#Location
This seems similar to the issue here: https://github.com/ca0abinary/plugin.video.jwtv-unofficial/issues/5 maybe with more log files we can track down what the root cause might be.

Hi
Oddly enough, it started working again. I think that there was an error on the JW.ORG side, because now, when the plugin queries http://mediator.jw.org/v1/categories/P?, it works, and before it showed 404. I think I can close this issue. If it comes up again, I'll let You know.
Thanks!
P.S.
The only things showing in Log are:
17:24:34<PHONE_NUMBER>88 T:1497916448  NOTICE: -->Python Interpreter Initialized<--
17:24:35<PHONE_NUMBER>50 T:1497916448  NOTICE: http://mediator.jw.org/v1/categories/P?


The key combination (g, g) is not a command

In vim, G takes you to the end of the file and gg takes you to the start. For some reason, gg isn't working. In the gif below, you can see that I first try G which works fine, but then I try gg which doesn't work. At the bottom, in the middle left of the blue status bar, you can see it trying to process gg but it resolves to nothing.
This is quite a major issue since gg is one of the core commands.
EDIT See edit below the gif.

EDIT
It seems this is only for .java files. gg works fine for .txt and .py files. It may be conflicting with one of the java extensions. Here is a picture of my current extensions:

EDIT 2
I found the extension causing the problems. It is called Language Support for Java(TM) by Red Hat.  All the other extensions in the Java Extension Pack don't cause any problems, except for those dependent on the Language Support for Java(TM) by Red Hat (obviously). You can find the extension here: https://marketplace.visualstudio.com/items?itemName=redhat.java

Oops, found the problem. I had go to definition bounded to gd, but it was directly from vscode and not through neovim (VSCode keyboard shortcuts). This interfered with neovim's binding of gg. I will close the issue.


Schedule based on cron expressions

Closes #249
Defines additional Schedule to run based on cron expressions defined with cron4s.

Regarding this draft I implemented repeat methods based on scheduling.repeat but for example I don't know if shouldContinueOnResult makes sense in this case.
There is also small correction in adaptive retries docs.


nothing happens when clicking street past list

I`m sure I did everything right but when clicking  the streetpass list on mario kart 7 nothing happens

You're supposed to go past that and keep pressing A through Start Race OK until the exploit launches.

But when pressing A on 'streetPass-list' it just says that other players that you meet over streetpass are added there, it doesn't say anything about 'start race' so I can't click okay to that

Oh okay, sounds like you didn't install the exploit properly.
Make sure you are working with https://3ds.hacks.guide for approved instructions.

I’m having the exact same issue. I’ve been over the instructions many times and can’t seem to find what I would have done wrong any solutions?


fix: support 'AUTHTYPE' as alias for 'AUTH_TYPE' config property

:tada: This PR is included in version 5.6.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


visualisation microbiology

microbiology indentation is strange.
Think visualiser? Or message?

The first one is under culture, but the comment of the cephalosporins is same level as a title, so that the other germs fall immediately under "intrinsic resistance" (also for parabacteroides, which seems to be a new title, and does not seem to relate only to the KIEM++ above it.
I would expect the antibiogram to indent slightly in terms of the level versus the germ it relates to.
that S and R stay with quite a lot of useless text which belongs in the attributes

@tomfiers can you please add the json file to the issue? Or a reference to the file that is maybe already in GitHub?

https://github.com/hl7-be/hl7-be-fhir-laboratory-report/tree/master/testing/MIPS/UZG_scenario9
scenario 9A2 structured

Will be handled in https://be-ehealth-standards.atlassian.net/jira/servicedesk/projects/ESI/queues/custom/19/ESI-7

@tomfiers Update is ready


code for using rds

Note that tsv is still the default for all of these functions, and I think it should stay that way until we are ready to make the switch over.
I have tested a number of cases here, including mixed versions on one ts (e.g., tsv and rds), using replace, merge, stop and skip on combinations.
tidyr has been added to support the goofy thing we ran into with NWISweb services, where we can't assume a single column for data. This uses gather and figures out which data column actually has more data for that site, and uses it. Kind of goofy code in there, so if anyone has a better way of doing it...
This ended up touching a lot of code, so it will need a review. @aappling-usgs can you review?

working on fixing test that broke

Coverage increased (+0.2%) to 18.32% when pulling f71ee9e9d24cf7ad091b04674642244966459e0c on jread-usgs:develop into 9f9d86d05c4cb4706ace7c7403d7b55f0e0c4105 on USGS-R:develop.

OK @aappling-usgs I think I feel good about this, but let me know if you have other suggestions.

looks good to me!


what is this problem? how to solve it?

See our wiki for possible solutions:
https://github.com/docker/kitematic/wiki/Common-Proxy-Issues-&-Fixes

thx


Changes to JSON output in Terraform 0.12 might break some automatic parsing features (e.g.: the Slack plugin)

Hasicorp announced a number of improvements that will come to Terraform 0.12 including 1:1 mapping of Terraform HCL parameters and the tfstate JSON file. PyTerraBackTYL does some automated parsing of the state file (specifically to gather hostnames) which may break depending on how significantly the JSON format changes.
Reference:
https://www.hashicorp.com/blog/terraform-0-1-2-preview
The fix here will be mostly (if not completely) a configuration change: The JSON paths defined in the HELPER_HOSTNAME_QUERY_MAP configuration item of config.yaml will need to be updated to match the new hostname locations.
In addition to the configuration change, the hard-coded JSON path in abc_tylstore.TYLHelpers.get_hostnames_from_tfstate(), which is used to identify the provider type, may also need updated.

I've confirmed that the JSON in Terraform 0.12 has some significant changes that will require one of two possible solutions .
Option 1:

Terraform provider detection:

Grab the terraform version number
Based on the version, use the appropriate JSON path to grab the provider
CAUTION: It appears that the current Terraform 0.12 Beta currently returns as v0.11.8

Hostname retrieval:

Check for both v0.11 and v0.12 HELPER_HOSTNAME_QUERY_MAP configurations
Use Terraform version (grabbed from previous) to use the right set of JSON paths

OR
Option 2:

Make the JSON path for provider detection user-configurable in config.yaml and provide 0.11 and 0.12 configurations.

Regarding Terraform version being misreported, see Terraform issue 21379. The work-around for now is to start with brand new Terraform environment and then the version should be correctly reported as 0.12 in the state file.

Terraform 0.12 was released when I wasn't looking. A quick fix now exists in the 'beta' branch. See changes to config.yaml and abc_tylstore.TYLHelpers.
You should apply the changes in the beta branch if you are using Terraform 0.12 AND you use the TYLHelpers.get_hostnames_from_tfstate() funciton. Note that the mentioned function is used in the Slack plugin.


Data Ingestion

[x] update config.yaml
[x] update the entity
[x] research
[x] update the configuration manager in src config
[x] update the components
[x] update pipeline

Done with the Data Ingestions


Near-saturated pixels seem to be missing flux

Pixels that are saturated or near-saturated seem to be missing flux across the entire trace.

Seems to be in the generate noise portion of the code since generating a simulation with a really high flux density and inspecting the trace with the noise off looks fine.

@nespinoza You and @KevinVolkSTScI had a fix for this, right? Have you made that PR yet or can I make the change? I just pulled from master and the issue still seems to be there. Thanks!

Hey-hey @hover2pi! Yes, my fault --- going to submit a PR now to fix this. Give me some minutes :-).

Thanks @nespinoza ! Fixed in #65 .


Suggestion: When using serde to deserialize a Color, it would be great to use the FromStr implementation

Problem
I have a config file that allows configuring colors via strings.
If I use the "serde" feature of the crate, the only accepted color names are the string repr of the Enum variants.
Given that Color implements beautifully the FromStr trait, it would be awesome to be able to use any of the strings supported by FromStr in the config file.

Solution
Something like:
impl<'de> Deserialize<'de> for Color {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
        where D: Deserializer<'de>
    {
        let s = String::deserialize(deserializer)?;
        FromStr::from_str(&s).map_err(de::Error::custom)
    }
}

Alternatives
An alternative that I considered is to use the serde_with crate and its DisplayFromStr annotation.
However, annotating every single color is tedious.

Additional context

Hey, thanks for creating this issue!
I personally like this change. I was concerned that casing might be a problem but tried this locally and worked like a charm:
// still valid
let color: Color = serde_json::from_str("\"Black\"").unwrap();
// this was failing before
let color: Color = serde_json::from_str("\"black\"").unwrap();

Would you be interested in creating a PR (along with the tests)?

I already tried creating a PR for this project, but what prevents me to do so is that every commit needs to be signed and I don't want to go through the hassle of setting up GPG and so on.
So if somebody could please implement this feature I'd be happy (or if the contributing policy for this project changes😉).

created a PR at #705


Add Camt.053 statements to EU

Add Camt.053 statement details to EU Developer Portal

New branch created due to recent changes causing conflicts


navigator doesn't have platform property

I use this property to get the platform. But I get undefined because this method is not available

What would you expect it to return?


PaXoS test

Hi Professor, I would like to ask how to output the intersection result of -perf -paxos test. How do I enter my own dataset file to invoke paxos algorithm.

-perf means its a performance benchmark. Not intended for actual use.
You can see the unit tests for how to use it. https://github.com/Visa-Research/volepsi/blob/main/tests/Paxos_Tests.cpp#L601

Thank you very much


Import diplib ---> Restarting kernel... in Spyder on Python v3.9.7

I am using Python version 3.9.7 on Spyder IDE on macOS, after I pip install diplib, then when I try import diplib as dip, it immediately freezes and goes to 'restarting kernel'...which is what I describe as crashing. Has anyone tried running this on Spyder recently? First time trying this library.

I have never used Spyder.
Try opening a Python session in your shell (Command-space, then type "Terminal"). In this session, import diplib as dip, and see what happens. Maybe there is some error message that is shown here but not in your IDE.
Also, let us know: what version of macOS do you have, and do you have an Intel or an Apple M1 chip?

This does not seem to occur on Linux (Spyder from current Anaconda / Python 3.9.12)

I have m1 Mac OS. I checked I don’t have this problem with windows.
I only wanted to use the radial averaging and was able to do so on my windows comp, but something is wrong I must probably do it myself from scratch bc I don’t understand exactly what the radial average is doing. Anyway thanks for your help.

@copy-paste-master I have two M1 macs, and never had any issues with DIPlib. It would be great if you could help us pin-point the issue.
The first thing to do would be to determine if this is a Spyder issue or an Anaconda issue. If you start up a Python session outside of Spyder, as I described above, and import diplib, do things work correctly, or do you get a crash and/or error message?
Thanks!


fix "Unhandled PrimitiveKind: Long" in CppPrimitiveType.ToString()

type "long" and "unsigned long" are missed in ToString()

Good catch, thanks!