Flop.Phoenix.pagination change to allow not to render next/prev links

Description
Thanks for making this awesome library!
This PR adds the ability to specify that you do not wanter to render next and previous links.
Background: we're experiencing a styling conflict with our UI library daisyUI that causes the nubmered pages left border radius to get cut off when next / prev links are rendered (which we do not want).

This feature allows you to disable rendering those buttons if they aren't wanted.
Checklist

[ x] I added tests that cover my proposed changes.
[ x] I updated the documentation related to my changes (if applicable).

FYI. I was able to solve the same thing with the built in options. For example, I hid the page numbers with:
def pagination_opts do
  [
    pagination_list_attrs: [class: "hidden"],
  ]
end

I am personally happy with the CSS solution, but curious to hear what @oliverswitzer thinks.

Hey friends, sorry, been a busy couple of weeks!
To be clear I wasn't hoping to hide page numbers entirely, which seems like what the solution @woylie would do, but instead fix the issue shown in the screenshot where the border radius of the left most pagination number is cut off due to the presence of the "previous" button in the list.
Even if I try to hide the previous and next buttons with setting next_link_attrs={[class: "hidden"]} and previous_link_attrs={[class: "hidden"]}, this issue still persists due to the element still being present in the DOM. daisyUI's join class selector (used in their pagination component) is treating it as the first element that needs a border-radius left applied, even though it is technically "display: none"... I hope that makes sense.
I think next/prev elements need to not be rendered in the DOM entirely to fix this issue.

Hey friends, sorry, been a busy couple of weeks!
To be clear I wasn't hoping to hide page numbers entirely, which seems like what the solution @cadebward was recommending (pagination_list_attrs: [class: "hidden"]) would do, but instead fix the issue shown in the screenshot where the border radius of the left most pagination number is cut off due to the presence of the "previous" button in the list.
Even if I try to hide the previous and next buttons with setting next_link_attrs={[class: "hidden"]} and previous_link_attrs={[class: "hidden"]}, this issue still persists due to the element still being present in the DOM. daisyUI's join class selector (used in their pagination component) is treating the previous button as the first element that needs a border-radius left applied, even though it is technically "display: none"... As a result the actual first element that should be visible in the list (ie the 1st page button) is not getting the proper border radius. I hope that makes sense.
I think next/prev elements need to not be rendered in the DOM entirely to fix this issue.

Alright, let's add the option. I just had two small comments.


Add otherProps to datePicker

[DatePicker] Add otherProps
Description
Add otherProps in DatePicker components props to be able to use more feature of react-date-picker

@JohnnP could you check this PR please. Test didn't pass for this one

@JohnnP thanks for you PR.
But I cannot merge your PR for this reason:

i dont want to add otherProps cause it will display a lot of react warning for each props potentially not declared properly
i want functionnalities of the components to be explicit for all users of the library.

if you need min and max values, please declare it explicitely

@JohnnP
ah ! and the tests failed !
before submit your PR, you can run npm run test to test it.
And please update the tests !

I changed to declare the props explicitely. And I run the tests. They passed


Loading is extremely slow when using mixed code debugging

Describe your question
I have a c++ project that compiles to a dll, and a python script that loads it (using ctypes). My python script is quite heavy, with a lot of packages imported. I want to use VS to debug the c++ code (I don't care if Python breakpoints will be hit or not).
The problem is, when I start to debug, it takes a lot of time (~5-10 minutes) to start debugging. In this time, I see a lot of messages like this on the output:
'python.exe' (Python): Loaded D:\Python\Python39\Lib\site-packages\pandas/_version_meson.py'. Module was built without symbols.
My machine is not connected to the internet, so this whole process is kind of a mess because I can't download debug symbols when installing python. I installed python with the debug information on a different machine, and transferred it to mine.
When installing python without the debug information it works fine and the loading is fast, but the window that asks for Python Symbols always pops up and it is annoying.
What have you tried?
I've found some similar issues online but no solution. I checked and unchecked a lot of flags in Tools -> Options -> Debugging (sorry that I don't remember which ones).
I also tried to remove the debug pdb files and other related files one by one.
Additional context
I'm using python 3.9.
Again, I don't care if python breakpoints will be hit or not, so a workaround that doesn't stop on python breakpoint is fine by me.

Since it's debugging related, @int19h might know.

There's no such thing as debug symbols for Python modules. However, VS itself is not aware of it, so when we report a loaded Python module to it without associated symbol information, you get this warning. It's not indicative of any problem as such.
This problem usually manifests when there's a lot of Python code objects being created as modules get loaded (which usually corresponds to lots of modules or to very large modules). The mixed-mode debugger has an internal breakpoint every time a new code object instance is created, which basically means every time def, class, or lambda is executed (some other things can also create code objects depending on Python version, e.g. comprehensions). Every time that is hit, the process is paused briefly and then resumed. For packages with lots of small functions - of which Pandas is one particularly extreme example - those brief pauses  can add up to noticeable slowdowns.
See https://github.com/microsoft/PTVS/issues/4929 for more discussion of this.

Thanks for the fast response.
So I understand there's no way improve the speed right now?

Sorry, I missed the part where you don't intend to be debugging Python. If that is the case, you should just disable Python debugging in your C++ project settings (or if you're doing attach, make sure that you only have "Native" selected under Code Type, not "Python"). This should then take care of both issues.

Sorry, I missed the part where you don't intend to be debugging Python. If that is the case, you should just disable Python debugging in your C++ project settings (or if you're doing attach, make sure that you only have "Native" selected under Code Type, not "Python"). This should then take care of both issues.

How do I disable Python debugging? How will it work if I'm running the python script and not the C++ project.

If you're using a Python project in VS as an entrypoint, that is indeed not an option. However, since you intend to do C++ debugging only, I would suggest creating a dummy C++ project and editing its debugging settings so that it points at python.exe as the binary to debug, and add command line args so that it runs your Python script. That should give you pure C++ debugging experience.


Use random ROWID for inserted rows

With an optimistic VFS, sequentially increasing ROWIDs is a primary source of contention, and causes significant INSERT slowdown in my benchmark. We should provide a table-level option to allocate ROWIDs randomly.
This is possible in upstream SQLite by having a special row with rowid == max(int64). But not all applications like this special row.
The syntax might look like the WITHOUT ROWID table one:
CREATE TABLE t (...) RANDOM ROWID;

Wouldn't exclusively random id allocation require consensus across the cluster anyway leading to some lock?
I would be in favour of some kind of vector clock based addition to the randomized row id to avoid this - that way we wouldn't be totally reliant on randomness of one machine dictating id's across the cluster.
We could go a step further and just introduce support for uuid7, but then we're just relying on system clock which is also a potential issue..

@AngeloR

Wouldn't exclusively random id allocation require consensus across the cluster anyway leading to some lock?

In an optimistic transactional distributed storage there is either no lock during data plane operation (FoundationDB) or a 2PC lock as an implementation detail (TiKV). The behavior exposed to the client is retry instead of lock: when there does not exist a possible serializable (and in some systems, linearizable) order between two concurrent transactions, one of them is rejected and the client has to retry.
Counter increment is a typical case: there never exists a serializable order for two concurrent transactions that both read the counter, increment it by one, and write it back.


Document the security features on the main readme

Current behavior
We have added a bunch of security-related boundries and checks but they are not super obvious although they are the main reason this library should be used (which also has had performance costs, so they are important)
Expected behavior
List all the security features in one section in the main readme. Give it focus and dominance.

See #81


Input dimensions can not fit the model when run in onnx.

I'm using "onnx_inference_demo.py"
and "vec-256-layer-9" as vac.
Here's all shape of inputs:

You have the v2 version of the model, you need to use vec-768-layer-12. The above is for v1 only afaik.

You have the v2 version of the model, you need to use vec-768-layer-12. The above is for v1 only afaik.

Thanks reply, now i'm using code like this:
`import soundfile
from onnx_inference import OnnxRVC
hop_size = 512
sampling_rate = 40000  # 采样率
f0_up_key = 0  # 升降调
sid = 0  # 角色ID
f0_method = "dio"  # F0提取算法
model_path = "testWeight.onnx"  # 模型的完整路径
vec_name = (
"vec-768-layer-9"  # 内部自动补齐为 f"pretrained/{vec_name}.onnx" 需要onnx的vec模型
)
wav_path = "123.wav"  # 输入路径或ByteIO实例
out_path = "out.wav"  # 输出路径或ByteIO实例
model = OnnxRVC(
model_path, vec_path=vec_name, sr=sampling_rate, hop_size=hop_size, device="cpu"
)
audio = model.inference(wav_path, sid, f0_method=f0_method, f0_up_key=f0_up_key)
soundfile.write(out_path, audio, sampling_rate)
`
I'm using vec-768-layer-9 now, but i got somthing even strange now:

Yeah, I'm sadly stuck here as well. If I find anything, I'll post here.
If you manage to solve it before, I'd be glad if you share the info :)

@Zer0TheObserver see https://github.com/codename0og/RVC_Onnx_Infer/issues/4
The export onnx function in this repo seems to be a little broken, I've used https://github.com/codename0og/hifi_testing_new for exporting and it seems to work!

@Zer0TheObserver see codename0og/RVC_Onnx_Infer#4 The export onnx function in this repo seems to be a little broken, I've now used https://github.com/codename0og/hifi_testing_new for exporting and it seems to work!

Thanks reply, I've tried it also, It does work perfectly.


(BOLT-1076) Update to latest orchestrator-client

Update gemspec to include orchestrator_client gem with persistent http connection and better error message for malformed token file support.

CLA signed by all contributors.

I think that the failure in Travis shows that we should try to handle the malformed service-url error better.
As is currently implemented the following config:
pcp:
  service-url: "foo"
  cacert: /tmp/ca.pem
  task-environment: production

produces the error message below:
cas@cas-ThinkPad-T460p:~/working_dir/bolt$ bolt command run whoami -n k4ix901u3kj3iom.delivery.puppetlabs.net --transport pcp
Started on k4ix901u3kj3iom.delivery.puppetlabs.net...
Failed on k4ix901u3kj3iom.delivery.puppetlabs.net:
  bad URI(is not URI?): ://
Failed on 1 node: k4ix901u3kj3iom.delivery.puppetlabs.net
Ran on 1 node in 0.00 seconds

The appveyor issue shows a bigger problem. If I build for windows in vanagon I get the same problem.
There is a patch that claims to fix the windows issue: https://github.com/drbrain/net-http-persistent/pull/90/files
The last commit to that repo was 2016.


PopupMenuButton Not working with GetMaterialApp builder proeprty

Describe the bug
I have used the PopupMenuButton with GetMaterialApp But facing issue in one scenario,
As per our project requirement we want the common Scaffold Widget for all the Routes/Pages using the GetMaterialApp,
PopupMenuButton works if passed to the home property, But it Crashes if used with the GetMaterialApp Builder property,
Please refer the below examples for the details with Screenshots and error description
Example:
Common Scaffold Widget which contains the Scaffold with appbar and PopupMenuButton widget
Widget getHomeWidget({Widget child}) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Welcome to Flutter'),
        actions: [
          PopupMenuButton<int>(
            itemBuilder: (BuildContext context) => [
              PopupMenuItem(value: 1, child: Text("First")),
              PopupMenuItem(value: 2, child: Text("Second")),
            ],
            initialValue: 2,
            elevation: 3.2,
            tooltip: 'This is Popup',
            onCanceled: () => print("You have canceled the menu."),
            onSelected: (value) => print("value:$value"),
            icon: Icon(Icons.list),
          )
        ],
      ),
      body: child != null
          ? child
          : Container(child: Center(child: Text('Dashboard Screen'))),
    );
  }

PopupMenuButton Working Example with Above Widget, and if passed to home property
 runApp(
    GetMaterialApp(
      debugShowCheckedModeBanner: false,
      home: getHomeWidget(),
    ),
  );

PopupMenuButton not working with builder property Example, using the same getHomeWidget widget
runApp(
    GetMaterialApp(
      debugShowCheckedModeBanner: false,
      initialRoute: '/home',
      builder: (context, child) => getHomeWidget(child: child),
      getPages: [
        GetPage(
            name: '/home',
            page: () => Container(child: Text('Home Page View '))),
        GetPage(
            name: '/dashboard',
            page: () => Container(child: Text('Dashboard Page View ')))
      ],
    ),
  );

Error Description in logs:
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building Tooltip("This is Popup", dirty, state:
_TooltipState#78455(ticker inactive)):
No Overlay widget found.
Tooltip widgets require an Overlay widget ancestor for correct operation.
The most common way to add an Overlay to an application is to include a MaterialApp or Navigator
widget in the runApp() call.
The specific widget that failed to find an overlay was:
  Tooltip

To Reproduce
Steps to reproduce the behavior:

Use the above example with builder property issue is easily reproducible

Expected behavior
PopupMenuButton should be displayed if used in GetMaterialApp's builder property
Actual behavior
PopupMenuButton failed to display with GetMaterialApp's builder property
Screenshots

PopupMenuButton Widget with home property

-PopupMenuButton Widget with builder property

Flutter Version:
Flutter 1.21.0-9.2.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 81a45ec2e5 (8 weeks ago) • 2020-08-27 14:14:33 -0700
Engine • revision 20a9531835
Tools • Dart 2.10.0 (build 2.10.0-7.3.beta)

Getx Version:
Using the latest get package as specific version is not specified in the yaml file
dependencies:
  get:

Describe on which device you found the bug:
Flutter web and Mi A1
Minimal reproduce code
Use the Above provided example issue is easily reproducible

The builder property is used internally by GetMaterialApp and cannot be overwritten

but is there any workaround so that PopupMenuButton can work within builder property, as i mentioned in the description according to our project requirements we only need only single Scaffold and it's AppBar for all the Routes/Pages, which is only possible using the builder property of GetMaterialApp.

Excuse me, I gave wrong information about the builder property. It can be provided.
I reproduced your code and I believe I found the solution. You need to wrap your Scaffold in GetHomeWidget with a MaterialApp. See the code I tested and it is working:
import 'package:flutter/material.dart';
import 'package:get/get.dart';

void main() {
  runApp(
    GetMaterialApp(
      debugShowCheckedModeBanner: false,
      initialRoute: '/home',
      builder: (context, child) => getHomeWidget(child: child),
      getPages: [
        GetPage(
            name: '/home',
            page: () => Container(child: Text('Home Page View '))),
        GetPage(
            name: '/dashboard',
            page: () => Container(child: Text('Dashboard Page View ')))
      ],
    ),
  );
}

Widget getHomeWidget({Widget child}) {
  return MaterialApp(
      home: Scaffold(
      appBar: AppBar(
        title: Text('Welcome to Flutter'),
        actions: [
          PopupMenuButton<int>(
            itemBuilder: (BuildContext context) => [
              PopupMenuItem(value: 1, child: Text("First")),
              PopupMenuItem(value: 2, child: Text("Second")),
            ],
            initialValue: 2,
            elevation: 3.2,
            tooltip: 'This is Popup',
            onCanceled: () => print("You have canceled the menu."),
            onSelected: (value) {
              print("value:$value");
              switch (value) {
                case 1:
                  Get.toNamed('/home');
                  break;
                case 2:
                  Get.toNamed('/dashboard');
                  break;
                default:
              }
            },
            icon: Icon(Icons.list),
          )
        ],
      ),
      body: child != null
          ? child
          : Container(child: Center(child: Text('Dashboard Screen'))),
    ),
  );
}

Thank you,
It's Working as per your suggested solution, but is there any another workaround for this, We don't want to use MaterialApp widget again, as GetMaterialApp must be using MaterialApp Widget

Using MaterialApp in the builder property will not create a second MaterialApp. See the application's Flutter Widget Inspector:

Thanks we will follow the solution.

Hii,
Reopening issue as facing another issue with the current workaround of using the MaterialApp in the Builder Property,
i included the theme in the flutterApp, and as per our project requirements we need to change multiple theme
So as per the getx documentatio, we can do that using the
Get.changeTheme(ThemeData(...));
But with the current workaround of the MaterialApp in builder, even if i change the theme using the Get.changeTheme,
theme changes are not applied to the appBar and other widgets
and if i remove the MaterialApp from builder that time themes changes are applied but then faced the PopupMenu widget issue with the builder property

@jonataslaw @eduardoflorence   Any update on this issue ?

Don't use that workaround you never want to get more than one MaterialApp and contrary to what @eduardoflorence said it does create two of them...
The better workaround to use especially if using Nav2 is to use a root view with a GetRouterOutlet.
Here is how I init the Responsive Framework in my app as an example:
class RootView extends GetView<RootController> {
  @override
  Widget build(BuildContext context) {
    return GetRouterOutlet.builder(builder: (context, delegate, current) {
      // Here is the ResponsiveWrapper supposed to be placed in the builder function
       return ResponsiveWrapper.builder(
         ClampingScrollWrapper.builder(
          context,
          Scaffold(
            backgroundColor: Theme.of(context).appBarTheme.backgroundColor,
            body: GetRouterOutlet(
              initialRoute: Routes.SPLASH,
            ),
          ),
        ),
        breakpoints: [
          ResponsiveBreakpoint.resize(350, name: MOBILE),
          ResponsiveBreakpoint.autoScale(600, name: TABLET),
          ResponsiveBreakpoint.resize(800, name: DESKTOP),
          ResponsiveBreakpoint.autoScale(1700, name: 'XL'),
        ],
      );
    });
  }
}

What the routes look like:
    GetPage(
      name: _Paths.ROOT,
      page: () => RootView(),
      binding: RootBinding(),
       // This is very important for the RouterOutlet to work
      participatesInRootNavigator: true,
      preventDuplicates: true,
      children: [
        // Pages can be in children
        GetPage(
          name: _Paths.HOME,
          page: () => HomeView(),
          binding: HomeBinding(),
          preventDuplicates: true,
          ),
        ],
    ),
     // Or pages can be outside
    GetPage(
      name: _Paths.SPLASH,
      page: () => SplashView(),
      binding: SplashBinding(),
    ),
    GetPage(
      name: _Paths.PROFILE,
      page: () => ProfileView(),
      binding: ProfileBinding(),
      transition: Transition.fadeIn,
      middlewares: [EnsureAuthMiddleware(), EnsureUserCompleteMiddleware()],
    ),

This supose of course using
Get.rootDelegate.offNamed()

You may not even be aware of that part because the documentation is not ready yet...
Hope it may still help you even if I'm a bit late :blush:


RFC: Apollo GraphQL plugin

Work in progress

[x] Add dependencies (apollo, vue-apollo, reasonable defaults links, etc.)
[x] Create apollo client and apollo provider
[x] Support .graphql files
[x] Bootstrapped GraphQL API Server
[ ] SSR support
[ ] Maybe bonus stuff (validating queries, mocking GraphQL server, GraphQLi...)

You can track project progress on its own repo: https://github.com/Akryum/vue-cli-plugin-apollo


Option to re-add all players where the Kickbase offer has expired.

I missed on a couple of players to add them again, Kickbase was expired but it wasn't really obvious. It may also be possible to highlight this visually.

Hi @Quotic ,
just to get it right: you would expect all expired offers to be rejected as well and the related players to be put back on the transfer market when you click "decline all offers that are too low"? Or do you see this as another button/option?

So in my way to play it should be one button, because I sell only to kickbase and when this offer is expired it is useless to have this player on the transfermarket.

Hi @Quotic ,
if you now click the "decline all offers that are too low or expired"-button, all expired offers, which have only an offer from Kickbase, will be rejected and the player will be put back on the transfer market again.
You can check out this feature here: https://kickbaseplus.fabian-fischer.com/#/sell
Please let me know if it works for you.
Greetings,
Fabian

I will close this issue, because the feature is fixed/added with 534356ed7a9cb69d8e1ebf242fa93970b49bba68, which will soon merged with the main branches. You can test it here: https://kickbaseplus.fabian-fischer.com/#/home
Or you can check out the feature branch "feature/1.6"


Fix spacing for american express

I tweaked the spacing algorithm to add the correct spacing to support american express cards.  Essentially, the format should be "3782<PHONE_NUMBER>5" (stripe's test cc number).

Thanks! Not being american, I'm not too familiar with amex.


Feat: Automatic GPU Switch

Docker Windows GPU Passthrough
[this is not fully tested as im waiting for a gpu to come in]
Automated GPU management solution for Windows in Docker containers with NVIDIA GPU passthrough support. This project provides scripts and configurations to dynamically manage GPU binding between host and Docker containers, with support for multiple GPUs and audio devices.
Prerequisites

Unraid server (or Linux system with Docker)
NVIDIA GPU(s)
Docker and Docker Compose
VFIO-PCI support in kernel
NVIDIA drivers installed on host

Quick Start

Clone the repository:

git clone https://github.com/yourusername/docker-windows-gpu.git
cd docker-windows-gpu

Configure your environment:

# Set to your GPU ID(s), PCI address(es), or 'none'
add NVIDIA_VISIBLE_DEVICES=0

Start the container:

docker-compose up -d

Configuration
Environment Variables

NVIDIA_VISIBLE_DEVICES: Specify GPU(s) to use

Single GPU: NVIDIA_VISIBLE_DEVICES=0
Multiple GPUs: NVIDIA_VISIBLE_DEVICES=0,1
PCI addresses: NVIDIA_VISIBLE_DEVICES=0000:03:00.0,0000:04:00.0
No GPU: NVIDIA_VISIBLE_DEVICES=none

Docker Compose
The provided docker-compose.yml includes all necessary configurations for:

GPU passthrough
RDP access
KVM support
Network management
Persistent storage

Usage
Basic Operations
Start container with GPU:
NVIDIA_VISIBLE_DEVICES=0 docker-compose up -d

Start without GPU:
NVIDIA_VISIBLE_DEVICES=none docker-compose up -d

Stop container:
docker-compose down

Manual GPU Management
Bind GPU to container:
NVIDIA_VISIBLE_DEVICES=0 /boot/config/plugins/user.scripts/gpu-switch.sh start windows

Release GPU:
NVIDIA_VISIBLE_DEVICES=0 /boot/config/plugins/user.scripts/gpu-switch.sh stop windows

Script Details
The gpu-switch.sh script handles:

GPU detection and validation
Driver management (NVIDIA ⟷ VFIO-PCI)
Audio device pairing
Docker container configuration
Error handling and logging

have to modify the docker compose side as I was under the impression it supported pre-start and post-stop scripts but I misread and its post-start and pre-stop, ill need to find a new way to work this, script still works and can be implemented using user scripts in unraid.
[again tho im waiting on a gpu so i haven't been able to fully test it]

Very good

Hmm! Interesting

shera failed? is there something wrong?

Very interesting work!! Did you already receive your GPU to test it?

sadly no the one I ordered from ebay was extremely unstable (kept crashing my server when using it with ollama) so im waiting for my money back

share failed? is there something wrong?

you will have to expand on this, i dont understand.

Looking forward to your completion, thank you, I hope there will be a complete tutorial in the future

I got the following error after running gpu-switch.sh.
[root@SLab-Mocap-Server 11 ]$ NVIDIA_VISIBLE_DEVICES=0 ./gpu-switch.sh start windows-11
GPU-SWITCH [2024-11-17 13:49:30]: Warning: No audio device found for GPU 000001:00:0
GPU-SWITCH [2024-11-17 13:49:30]: ERROR: No valid GPU devices found


Pyramid rendering failing for ndisplay=3

🐛 Bug
Trying to view pyramids in 3D results in a hard crash.
To Reproduce
import napari
import numpy as np

pyr = [np.random.random((128,) * 3),
       np.random.random((64,) * 3)]

with napari.gui_qt():
    v = napari.view_image(pyr)
    v.dims.ndisplay = 3

gives:
Traceback (most recent call last):
  File "/home/jni/miniconda3/envs/f7/lib/python3.7/site-packages/vispy/app/backends/_qt.py", line 825, in paintGL
    self._vispy_canvas.events.draw(region=None)
  File "/home/jni/miniconda3/envs/f7/lib/python3.7/site-packages/vispy/util/event.py", line 455, in __call__
    self._invoke_callback(cb, event)
  File "/home/jni/miniconda3/envs/f7/lib/python3.7/site-packages/vispy/util/event.py", line 475, in _invoke_callback
    self, cb_event=(cb, event))
  File "/home/jni/miniconda3/envs/f7/lib/python3.7/site-packages/vispy/util/event.py", line 471, in _invoke_callback
    cb(event)
  File "/home/jni/projects/napari/napari/_vispy/vispy_base_layer.py", line 241, in on_draw
    shape_threshold=self.node.canvas.size,
  File "/home/jni/projects/napari/napari/layers/base/base.py", line 675, in _update_multiscale
    downsample_factors,
  File "/home/jni/projects/napari/napari/layers/utils/layer_utils.py", line 249, in compute_multiscale_level
    locations = np.argwhere(np.all(scaled_shape > shape_threshold, axis=1))
ValueError: operands could not be broadcast together with shapes (2,3) (2,)

Expected behavior
The lowest resolution level of the pyramid should be displayed.
Environment

Please copy and paste the information at napari info option in help menubar here:

napari: 0.2.12+78.g6933f5bc
Platform: Linux-4.15.0-29-generic-x86_64-with-debian-buster-sid
Python: 3.7.3 | packaged by conda-forge | (default, Jul  1 2019, 21:52:21)  [GCC 7.3.0]
Qt: 5.13.0
PyQt5: 5.13.1
NumPy: 1.18.3
SciPy: 1.3.1
Dask: 2.5.2
VisPy: 0.6.4

GL version:  3.0 Mesa 19.2.8
MAX_TEXTURE_SIZE: 16384

Plugins:
  - napari-plugin-engine: 0.1.4
  - napari-plugins: 0.1.0

This is closed by #1179


Plasma-SQL-DS-Cache of OAP-1.1 has performance regression comparing with OAP-1.1.1

We use the same configuration to run TPC-DS with 3TB data scale. The cluster contains 3 workers and each contains 1TB PMEM. The performance has 12.9% regression.

Component
Configuration
Status
Succeeded Cases
Failed cases
Previous_Version   time/s
Current_Version   time/s
Regression ratio/%
Regression cases
Details

oap-cache
TPCDS_3TB_parquet_DCPMM_Plasma_ColumnVector_9_Queries
SUCCEED
9
0
79.0
102.5
-22.9
5
Details

--
--
--
--
--
--
--
--
--
--

@winningsix @zhixingheyi-tian Please help to track the issue. Thanks!

@yma11  is it the same issue we positioned as performance variation?


Update step by sep bounties guide

A bit more readable with the new possibilities:

Thanks @louwers looks much better now!


PHP 7.4: Trying to access array offset on value of type bool

When using PHP 7.4.0beta4
There were 13 errors:

1) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingMigrations
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:378

2) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingMigrationsWithNamespace
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:423

3) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingMigrationsWithMixedNamespace
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:468

4) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingMigrationsAndBreakpointSet
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:710

5) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithDownMigrations
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:739

6) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithDownMigrationsWithNamespace
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:768

7) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithDownMigrationsWithMixedNamespace
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:817

8) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingAndDownMigrations
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:872

9) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingAndDownMigrationsWithNamespace
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:914

10) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodWithMissingAndDownMigrationsWithMixedNamespace
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:973

11) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodVersionOrderHeader with data set "With the default version order" (Phinx\Config\Config Object (...), ' Status  <info>[Migration ID]... Name ')
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:1012

12) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodVersionOrderHeader with data set "With the creation version order" (Phinx\Config\Config Object (...), ' Status  <info>[Migration ID]... Name ')
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:1012

13) Test\Phinx\Migration\ManagerTest::testPrintStatusMethodVersionOrderHeader with data set "With the execution version order" (Phinx\Config\Config Object (...), ' Status  Migration ID    <inf... Name ')
Trying to access array offset on value of type bool

/dev/shm/BUILDROOT/phinx-0.11.1-1.fc29.remi.x86_64/usr/share/php/Phinx/Migration/Manager.php:209
/dev/shm/BUILD/phinx-a6cced878695d26396b26dfd62ce300aea07de05/tests/Phinx/Migration/ManagerTest.php:1012

Thank you, we should also include 74 then in travis matrix now to ensure this is all green.
See cakephp/cakephp on a possible way.

Rewritten using ?? as 7.2 required

Sry, I didnt see that you are pointing this to a new major branch ( https://github.com/cakephp/phinx/compare/0.11.x?expand=1 )
Ideally, we do those fixes already for current master - as otherwise people will run into those for the current one already very soon.
Please set your target branch to master here.
Also please include the php74 into travis matrix to confirm.

Sry, I didnt see that you are pointing this to a new major branch

Sorry, But I was thinking latest version 0.11.1 was tagged from 0.11.x branch....
So my goal is really for current release

Also please include the php74 into travis matrix to confirm.

Sorry, but won't lost my time on this. Travis is outdated.

PR open, thank you!

Not fare to close request this way.....
Don't you know github activity make sense for some of US
Ok, I don't really care, but this is NOT the right way to do.
Note to myself: don't try to help here, just open issue.

Sorry, but won't lost my time on this

You just said you are not interested to continue. And that we should take over?
Please be more clear in your statement here to avoid confusion then.
Of course you can make the PR here. I will then close the follow up one I created for you.

See also https://travis-ci.org/cakephp/phinx/jobs/578365090 result.

Do as you want.... too much discussion for a 2 lines patch.

Why you still have not released a new version, in 11.1 this error is reproduced in php7.4, I'm afraid of dev-master

You released a new version, 11.2 but on packagist the latest version is 11.1
the synchronization probably broke


Refactor Deployment Configuration: Convert logshipper from initContainer to Sidecar Container

Summary :
The original prompt for this change was to address a configuration issue where the logshipper container was incorrectly set as an initContainer. In the initial setup, the logshipper container was intended to tail the logs generated by the myapp container. However, since initContainers are designed to run only during the initialization phase and complete before the main application container starts, this setup was not suitable for a task that requires continuous execution, like log tailing.
Issue:

Problem Identified: The logshipper container, configured as an initContainer, did not perform its intended function of continuously monitoring the log file, as it was only executed during the Pod's initialization phase and then terminated. This behavior was not aligned with the continuous support expected from a sidecar container.

Solution:

Refactoring to a True Sidecar: The solution involved refactoring the logshipper container to function as a true sidecar container. By moving logshipper from the initContainers section to the containers section, it now runs concurrently with the myapp container, providing the intended log monitoring service throughout the entire lifecycle of the Pod.

Impact:

Continuous Logging: The refactor ensures that logshipper now continuously tails and monitors the logs generated by myapp, fulfilling its intended role as a sidecar container.
Best Practices: This change aligns the deployment configuration with Kubernetes best practices for sidecar containers, ensuring that auxiliary services like logging are managed correctly and effectively.

This refactor was necessary to correct the behavior of the logshipper container and to implement the sidecar pattern as intended, ensuring continuous support for the main application.

Additionally, we don't make changes to any localization without first updating upstream (English)

Thanks for the PR, but:
/hold
This change takes a sidecar container and makes it into an app container acting as a sidecar.
See https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/ for how Kubernetes sidecar container works.

Thank you for your feedback. I understand the concern that the change might appear to turn the sidecar container into an app container. However, I’d like to clarify the intention and the design of the example.
Clarification on Sidecar Container:
The logshipper container in the new example is intended to be a sidecar container and not an app container.
Here’s why:

Supportive Functionality:
The logshipper container’s role is to monitor the log file produced by the myapp container. It does not perform the primary application logic, which in this case is logging messages to a file. Instead, it supports the main application by handling logs—a typical sidecar container task.

Concurrency and Dependency:
The logshipper runs concurrently with the myapp container, continuously monitoring the logs as they are generated. This concurrency and dependency on the main container's output is a hallmark of the sidecar pattern. It complements the main application rather than replacing or replicating its functionality.

Not the Main Workload:

The myapp container continues to serve as the primary workload of the Pod, responsible for the main functionality (writing logs). The logshipper container is secondary, tasked with enhancing the application by providing ongoing log monitoring, which is the essence of a sidecar container’s role.
Why This Aligns with Sidecar Best Practices:
This configuration follows Kubernetes best practices for sidecar containers, where the sidecar (logshipper) augments the main application (myapp) by providing an auxiliary service without becoming the primary application itself.
If you have any further concerns or suggestions for improvement, I’m happy to discuss and adjust as needed. Thank you again for your review and the opportunity to refine this example.

The logshipper container in the new example is intended to be a sidecar container and not an app container.

You could convert it into a true sidecar. Check what the diff from main looks like if you do that.

Additionally, if you're willing to summarize the original prompt for this change, please do.

Thank you for the feedback. After further testing, I confirmed that in the old configuration, while both containers (myapp and logshipper) appear to run concurrently, the logshipper container, configured as an initContainer, does not perform its intended function of tailing the log file. This issue arises because initContainers are designed to run to completion before the main container starts, making them unsuitable for long-running tasks like continuous log monitoring.
The refactor to move logshipper to the containers section resolves this issue. In the new setup, logshipper now functions as a true sidecar container, continuously monitoring the logs throughout the lifecycle of the Pod, as intended.
This change ensures that the logging functionality works as expected and adheres to Kubernetes best practices for sidecar containers. I’ve also verified the diff from the main branch to ensure that these adjustments align with the overall objectives.
Please let me know if further adjustments are needed, and thank you again for your guidance.

This issue arises because initContainers are designed to run to completion before the main container starts, making them unsuitable for long-running tasks like continuous log monitoring.

So it looks to me that you are not aware of the sidecar feature that was introduced lately.
Did you read this? https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/

This issue arises because initContainers are designed to run to completion before the main container starts, making them unsuitable for long-running tasks like continuous log monitoring.

So it looks to me that you are not aware of the sidecar feature that was introduced lately. Did you read this? https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/

Thank you for pointing this out. I have reviewed the sidecar container feature that was introduced recently in Kubernetes, including the detailed explanation in the documentation you shared. I now realize that our PR overlooked important aspects of sidecar behavior, particularly related to container-level restart policies. ☺
Thank you @sftim @tengqm

@dannotes, if you did use an AI language model to make this PR (you write a lot like Anthropic's Claude), please don't do that again.

@dannotes, if you did use an AI language model to make this PR (you write a lot like Anthropic's Claude), please don't do that again.

@sftim Thanks for the feedback, I do use AI for writing to rephrase and correct grammars. Next time onwards will make the description short.
Ps: Used chatGPT for the correction :)


Abstract Message Error is not helpful

User tried filling out the abstract and the following message popped up. If there is a character limit then the error message should say that.

If it is a length issue the message should indicate what the length limit is and how many characters were used.  Also add after Abstract "(max 3000 char)".

Verified in 1.16 beta.


Builds taking excessive time to complete after last test

I am experiencing strange behavior in which my test suite is taking an excessively long amount of time to wrap up. For example, I ran a test class with 12 tests, some passed and some failed. The last test failed at 12:05pm but the build didn't finish until 12:20pm.
Is there any reason that anyone knows of off the top of their heads that would cause this to happen? The only change that I made to my local environment is that I upgraded to MacOS Sierra. I am not sure if that was the cause or whether it was just a coincidence.
Any help would be appreciated. It's painful to have to wait 15 minutes after the last test finishes before the build wraps up.
Thanks.
TestNG Version

Note: only the latest version is supported
6.9

Expected behavior
After the last test is finished running, the build wraps up within 30-60 seconds.
Actual behavior
After tests are finished running, it takes an excessive amount of time for the build to wrap up and either succeed or fail.
Is the issue reproductible on runner?

[ ] Shell
[x] Maven
[ ] Gradle
[ ] Ant
[ ] Eclipse
[ ] IntelliJ
[ ] NetBeans

Test case sample
All test cases are affected

Could you try in your IDE? Then, do you have the problem with a class with only one test? 2 tests?..

Thanks. It's not a problem that I have just noticed for 1 test, it seems to be universal.
One thing that I have noticed is that it takes much much longer when tests fail rather then when they all pass. Running tests through the IDE, when a test passes everything wraps up immediately. When a test fails, it takes about 30 seconds to wrap everything up.
I did notice before that whenever there were failed tests in a suite was when it was taking the longest. Because of this, I thought that perhaps it was the screenshots that my framework takes and saves when tests fail. However, when I disabled those override methods, I still got the same result.
To be clear, I am not talking about a 30 second delay. I have seen delays of 15 full minutes after the class ends before everything is wrapped up, and that was after running just 3 tests of which 2 failed.
Not sure what else to try at this point, any leads would be appreciated!

For anyone that may be experiencing this, looks like it's caused by a MacOS Sierra issue around DNS. I came across these 2 relevant threads:
http://stackoverflow.com/questions/39700882/maven-with-surefire-testng-is-slow-after-update-to-macos-sierra
http://stackoverflow.com/questions/33289695/inetaddress-getlocalhost-slow-to-run-30-seconds/33289897#33289897
Hope this is helpful for anyone who might come here to find the solution to the issue. So this does not appear to be a TestNg issue at all. Thanks again!


Use tag::any for int8 matmul weight desc to create pd

Summary
An issue was found that int8 matmul runs into ref:any kernel, which is very slow. It was found with stock PyTorch + onednn 3.0.
It is because dst scales have an impact on pd creation. When prepacking weight, dst scales are not set to create pd (int8 and fp32 share the same expected_weight_desc function). Then we can create a pd that gives weight desc in layout A.
But at runtime, dst scales are set and we specify weight layout A to create pd. Onednn may find that layout A is improper, and it finally runs into ref:jit kernel.
Now we use tag::any for weight desc to create pd at runtime regardless of the layout of prepacked weight. Then pd can give a better layout for weight. The prepacked weight will be reordered again on the first run.
Previously:

Prepack:

Create pd with weight desc in tag::any and without info of src/dst scales/zero points.
Get expected weight desc in layout A.
Reorder weight to layout A.

Runtime (first run):

Create pd with weight desc in layout A and with info of src/dst scales/zero points.
Get expected weight desc still in layout A.
Reorder not needed
Weight layout is not expected for the case. Slow ref:any kernel is used.

Now:

Prepack (unchanged):

Create pd with weight desc in tag::any and without info of src/dst scales/zero points.
Get expected weight desc in layout A.
Reorder weight to layout A.

Runtime (first run):

Create pd with weight desc in tag::any and with info of src/dst scales/zero points.
Get expected weight desc in layout B.
Reorder weight from layout A to B if A and B are different.
Weight layout is expected. A proper kernel is used.

Weight is only reordered on the first run. Later on, weight is always in layout B, which is expected.
Test plan

PyTorch UT.
INT8 OOB benchmark.

@jgong5 @XiaobingSuper @yanbing-j @leslie-fang-intel Please review. Thanks!

Weight is only reordered on the first run. Later on, weight is always in layout B, which is expected.

We didn't change the weight at runtime. Now, we have to do that? PyTorch code has to be adapted too, right?

Weight is only reordered on the first run. Later on, weight is always in layout B, which is expected.

We didn't change the weight at runtime. Now, we have to do that? PyTorch code has to be adapted too, right?

We are checking weight desc and reordering weight if needed after preparing now: https://github.com/pytorch/pytorch/blob/3726d232191088e8e7a9c1a2ab3244cdd9250bf2/aten/src/ATen/native/quantized/cpu/qlinear.cpp#L851
So, we do not have to change PT code.


Update helm utils library for Render interface methods

How to categorize this PR?

/area TODO
/kind TODO
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Oleg Galantsev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[Tx Builder] Hide Custom data toggle when address does not have an ABI

Description
We should not be displaying the 'Use custom data' toggle when the specified address (a wallet or a safe for example) does not have an ABI.
Steps to reproduce

Go to TX builder and 'enter' a Wallet or safe address

Expected result
Not possible to use custom data when there is no encoded data
Obtained result
Present 'Use custom data' toggle

reviewing this ticket after talking with Dani, looks like this might have been an expected change. Will close it if this is working as expected ;)


multiple images for increase accuracy in real time

Hi guys
I have a question I'm happy to help you with
I have a problem with the accuracy of face recognition in real time
My project is real time so that people with close-up faces make mistakes in each other.
I set the parameters I liked best, but I still do not get the right answer
How can I get multiple photos with different positions and i do it in real time?

take a video and capture frames. something like this: https://www.cnbc.com/video/2017/10/31/watch-how-face-id-unlocks-the-apple-iphone-x.html


[stable/node-problem-detector] Template apiVersion for podSecurityPolicy latest k8s versions

Is this a new chart
no
What this PR does / why we need it:
With rbac.pspEnabled=true we get an error when installing chart on kubernetes v1.16.3 or newer:
Error: validation failed: unable to recognize "": no matches for kind "PodSecurityPolicy" in version "extensions/v1beta1"
Fixed with templated apiVersion for podSecurityPolicy in psp.yaml for support k8s version >=1.16.3.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @andyxning

/assign max-rocket-internet

/ok-to-test
/assign
/lgtm


Message was not sent and threw an error

/home/thelinuxlich/aidax_cron/node_modules/slack-node/lib/lib/slack.seed.js:58
statusCode: body.statusCode,
^
TypeError: Cannot read property 'statusCode' of undefined
at Request._callback (/home/thelinuxlich/aidax_cron/node_modules/slack-node/lib/lib/slack.seed.js:58:25)
at self.callback (/home/thelinuxlich/aidax_cron/node_modules/slack-node/node_modules/request/request.js:121:22)
at Request.emit (events.js:95:17)
at ClientRequest.self.clientErrorHandler (/home/thelinuxlich/aidax_cron/node_modules/slack-node/node_modules/request/request.js:230:10)
at ClientRequest.emit (events.js:95:17)
at TLSSocket.socketErrorListener (_http_client.js:252:9)
at TLSSocket.emit (events.js:117:20)
at net.js:431:14
at process._tickCallback (node.js:337:11)

@thelinuxlich  i execute ok, could you post code to gist???


Change emoji order by drag and drop

On create page, emoji type questions should have possibility to change order of emojis by drag and dropping.

Library to use: https://www.npmjs.com/package/react-beautiful-dnd

@MikeProduce Sure thing 😄

I am sorry for not being able to complete the issue. I just need to keep getting better. I tried to use React DnD Beautiful and was successful at being able to move the emojis. The problem for me was having to deal with two events: the drag of the emoji and then the button click to open up the modal. I hope to try something else in the future. Thank you for the opportunity

I am sorry for not being able to complete the issue. I just need to keep getting better. I tried to use React DnD Beautiful and was successful at being able to move the emojis. The problem for me was having to deal with two events: the drag of the emoji and then the button click to open up the modal. I hope to try something else in the future. Thank you for the opportunity

No problem :)


Update the information in the About page

Add Ben in the "Contact information" section.
Supported platforms are not Github, Maven, Bitbucket.
Add Hermes (https://dl.acm.org/citation.cfm?id=3088523) to the publications list.
Make mention of this open-source repository in the "How can I contribute?" section.
If anything is not clear to you in the About page, feel free to reformulate it.

@bhermann What is the email address I should add to your contact information?

After some stalking, going to add<EMAIL_ADDRESS>Please let me know if there is a different one you would like me to add.

@nguyenLisa what do you mean by "Supported platforms are not Github, Maven, Bitbucket."

Sorry, I meant "Supported platforms are Github, Maven, Bitbucket."
The email address for Ben is the correct one. Thanks.


Fix minor issues

Codecov Report

Merging #93 (35dd4a7) into master (c861afd) will decrease coverage by 0.20%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #93      +/-   ##
============================================
- Coverage     66.05%   65.85%   -0.21%
  Complexity      593      593
============================================
  Files           103      103
  Lines          1965     1971       +6
  Branches        211      211
============================================
  Hits           1298     1298
- Misses          616      622       +6
  Partials         51       51

Impacted Files
Coverage Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)

...c/main/java/seedu/address/model/student/Phone.java
81.81% <ø> (ø)

src/main/java/seedu/address/ui/StudentCard.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/TaskCard.java
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Security exception while getting Step data

I was trying to fit_kit package, saw this exception related to the steps. Currently I can't get the Steps data.

Added this <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />  in AndroidManifest.xml but didn't work.

After I've manually turn on the activity permission it worked. Is there anyway we can add this permission to package?


incompatibility between numpy and shap

Hi,
I get the below error when trying to import shap. Here is the full traceback
!pip install --upgrade numpy shap
# numpy version => 2.0.0

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[146], line 1
----> 1 import shap
      2 shap.initjs()
      3 get_ipython().run_line_magic('matplotlib', 'inline')

File /opt/conda/lib/python3.11/site-packages/shap/__init__.py:45
     43     have_matplotlib = False
     44 if have_matplotlib:
---> 45     from . import plots
     46     from .plots._bar import bar_legacy as bar_plot
     47     from .plots._beeswarm import summary_legacy as summary_plot

File /opt/conda/lib/python3.11/site-packages/shap/plots/__init__.py:6
      3 except ImportError:
      4     raise ImportError("matplotlib is not installed so plotting is not available! Run `pip install matplotlib` to fix this.")
----> 6 from ._bar import bar
      7 from ._beeswarm import beeswarm
      8 from ._benchmark import benchmark

File /opt/conda/lib/python3.11/site-packages/shap/plots/_bar.py:9
      7 from ..utils import format_value, ordinal_str
      8 from ..utils._exceptions import DimensionError
----> 9 from . import colors
     10 from ._labels import labels
     11 from ._utils import (
     12     convert_ordering,
     13     dendrogram_coords,
   (...)
     16     sort_inds,
     17 )

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/__init__.py:1
----> 1 from ._colors import (
      2     blue_rgb,
      3     gray_rgb,
      4     light_blue_rgb,
      5     light_red_rgb,
      6     red_blue,
      7     red_blue_circle,
      8     red_blue_no_bounds,
      9     red_blue_transparent,
     10     red_rgb,
     11     red_transparent_blue,
     12     red_white_blue,
     13     transparent_blue,
     14     transparent_red,
     15 )
     17 __all__ = [
     18     "blue_rgb",
     19     "gray_rgb",
   (...)
     30     "transparent_red",
     31 ]

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/_colors.py:23
     21 red_lch = [54., 90., 0.35470565 + 2* np.pi]
     22 gray_lch = [55., 0., 0.]
---> 23 blue_rgb = lch2rgb(blue_lch)
     24 red_rgb = lch2rgb(red_lch)
     25 gray_rgb = lch2rgb(gray_lch)

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/_colors.py:13, in lch2rgb(x)
     12 def lch2rgb(x):
---> 13     return lab2rgb(lch2lab([[x]]))[0][0]

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/_colorconv.py:372, in lch2lab(lch)
    346 def lch2lab(lch):
    347     """CIE-LCH to CIE-LAB color space conversion.
    348     LCH is the cylindrical representation of the LAB (Cartesian) colorspace
    349     Parameters
   (...)
    370     >>> img_lab2 = lch2lab(img_lch)
    371     """
--> 372     lch = _prepare_lab_array(lch)
    374     c, h = lch[..., 1], lch[..., 2]
    375     lch[..., 1], lch[..., 2] = c * np.cos(h), c * np.sin(h)

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/_colorconv.py:387, in _prepare_lab_array(arr)
    385 if shape[-1] < 3:
    386     raise ValueError('Input array has less than 3 color channels')
--> 387 return img_as_float(arr, force_copy=True)

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/_colorconv.py:993, in img_as_float(image, force_copy)
    972 def img_as_float(image, force_copy=False):
    973     """Convert an image to floating point format.
    974     This function is similar to `img_as_float64`, but will not convert
    975     lower-precision floating point arrays to `float64`.
   (...)
    991     and can be outside the ranges [0.0, 1.0] or [-1.0, 1.0].
    992     """
--> 993     return convert(image, np.floating, force_copy)

File /opt/conda/lib/python3.11/site-packages/shap/plots/colors/_colorconv.py:819, in convert(image, dtype, force_copy, uniform)
    808 itemsize_out = dtypeobj_out.itemsize
    810 # Below, we do an `issubdtype` check.  Its purpose is to find out
    811 # whether we can get away without doing any image conversion.  This happens
    812 # when:
   (...)
    816 #   is a subclass of that type (e.g. `np.floating` will allow
    817 #   `float32` and `float64` arrays through)
--> 819 if np.issubdtype(dtype_in, np.obj2sctype(dtype)):
    820     if force_copy:
    821         image = image.copy()

File /opt/conda/lib/python3.11/site-packages/numpy/__init__.py:397, in __getattr__(attr)
    394     raise AttributeError(__former_attrs__[attr])
    396 if attr in __expired_attributes__:
--> 397     raise AttributeError(
    398         f"`np.{attr}` was removed in the NumPy 2.0 release. "
    399         f"{__expired_attributes__[attr]}"
    400     )
    402 if attr == "chararray":
    403     warnings.warn(
    404         "`np.chararray` is deprecated and will be removed from "
    405         "the main namespace in the future. Use an array with a string "
    406         "or bytes dtype instead.", DeprecationWarning, stacklevel=2)

AttributeError: `np.obj2sctype` was removed in the NumPy 2.0 release. Use `np.dtype(obj).type` instead.

best

same here

Quick temporary fix:
np.obj2sctype =  lambda obj: np.dtype(obj).type
import shap

This issue has been fixed on master by #3712 and #3704 , and will be available in the next release (0.46) which will probably be made within the next few days.

Version 0.46.0 was released on PyPI today and will be available on conda-forge in due course. Please get in touch if you have any issues.


Revert "[ci]Temporarily disable starqlteue on firebase device lab (#6…

The starqlteue  device is fixed according to Firebase Community Slack channel #test-lab: https://firebase-community.slack.com/archives/C1MTSQ5QT/p1668042163501599?thread_ts=1667399266.906169&cid=C1MTSQ5QT
Fixes https://github.com/flutter/flutter/issues/114535
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[ ] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

i have the same issue with the submit-queue failure.

@hellohuanlin Looks like the tree is hanging and I don't know how to re-run it. I started a thread in discord: https://discord.com/channels/608014603317936148/608020293944082452/1042576758668537936


[WIP] Jenkins retry mac build failures to work around flaky infrastructure

This is kind of lame, but should work around the periodic annoyances of the mac build slaves.

Do we want to delete the workspace in the retry block?

That's a good idea.

Now if only we had a real mac failure to test.

Looks like we can't delete the workspace because the failure is so early. We're failing at failing!

Need to drop make distclean from finally as well.

Ha! Ok. There's a different way to do this.

I don't think we can fix this in a pipeline easily... What is happening is described here: https://wiki.jenkins.io/display/JENKINS/Remoting+issue. The problem with the "retry" block is that the same agent is used and the job is essentially continued. This won't work because the state of the agent is still junk. What we need to do is stop the job on the agent completely before starting again. The workaround I see is aborting the job (this means all steps) and retrying the whole job (i.e. job 1 is canceled and job 2 starts, restarting the whole process of the compile job).
Error from the build you captured above:
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2675)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3150)
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:859)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:355)
	at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)
Caused: java.io.IOException: Unexpected termination of the channel
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
Caused: hudson.remoting.ChannelClosedException: Channel "unknown": Remote call on dronecode-macmini failed. The channel is closing down or has closed down

I'll like to see a log from the slave to see if we can fix the root issue.

Which log? We don't seem to have anything useful to go on during these failures.
http://ci.px4.io:8080/computer/dronecode-macmini/log

Log on the slave itself.
Failure mode on the client: Collect slave node jenkins-*.out.log and jenkins-*.err.log. This is where stdout and stderr from a JNLP slaves go.

@thomasgubler Let's set up a Mac Mini in the office and see if we can build a proper "rack" to get this stable.

How should we move forward here?

Have the TCP settings been configured properly on the mac slaves?: https://www.gnugk.org/keepalive.html
This describes the remote working dir for logs on the slaves: https://github.com/jenkinsci/remoting/blob/master/docs/workDir.md and https://github.com/jenkinsci/remoting/blob/master/docs/logging.md
Do we want to abort the job and restart it on a failure like this?

I'd like to make sure removing an ec2 slave ultimately results in its deletion ec2 side, but otherwise I think this is good to go.

Yes... This needs more testing.

Here's what this PR evolved to do:

A separate job in Jenkins was created, PX4_misc/check-slaves, to evaluate the connection state of all the slaves. It does:

Check connected status with Jenkins master

If this fails (i.e. not connected), it connects (with a timeout of 30 sec) and proceeds to 2. if connection is successful.
Slaves marked "temporarily offline", as you would set manually though the Jenkins interface, are skipped/ignored as they don't hurt the build.
If the slave is an ec2 slave, it is removed rather than trying to reconnect. Trying to reconnect was tested, and it fails, so it is better to remove it so Jenkins can provision another to speed up builds.
This means SSH slaves, such as the mac boxes, are triggered online if they went to sleep from being idle. Hopefully this will prevent any issues with bringing these slaves up, by connecting before we try to hammer it with builds.

Fetch the environment from the slave

This ensures we can actually communicate both ways with the slave. Specifically, it makes sure the PATH env var on the slave is not null.
If this fails, the slave is disconnected, reconnected, and 2. repeats just once (if the reconnect succeeds). This will hopefully catch and resolve a funky communication state (such as those where one side isn't communicating, but the other believes to be connected).

This new job can be triggered by other Jenkins jobs, set at the beginning of their Jenkinsfile.
The original retry added in this PR was changed to only wrap the git checkout step, not the whole build.

This will catch issues dealing with messed up workspaces, which has shown to be another problem area.
A problem with this step will clear the workspace and try again (set to 3 ties).

Setting it up this way is the best way to handle the two failures we've been seeing with this infrastructure. Above when "failing at failing" we were attacking the connection problem with the fix for a workspace issue. I believe this will take care of both properly and independantly.
What I'd like to do still:

[ ] Incorporate a check (into the check-slaves job) for remaining free disk space and clear out old workspaces if the space is below some threshold. 1GB? Thoughts on a number here? Because we're doing this we might as well automate another potential area for issues that we've had to deal with in the past (normally fixed manually).
[ ] Check the state of ec2 slaves upon removal. What happens here? I.e. Why does Jenkins show them disconnected? Does AWS pull them offline first?

I rebased this so we can re-evaluate. I assume there is some kind of control panel for monitoring the EC2 account. It would be great to watch this from both ends to confirm it works properly. The disk space doesn't seem to be the problem for now, so I've crossed that off. A separate PR can tackle that if necessary.

Let's give this a try. Merging on CI pass.

Actually, let's keep check-slaves out of this incase other people want to use the pipeline without our infrastructure. We could run check-slaves periodically on jenkins itself.


Separate linux-specific config from os-independent config

Moving opencontainers/runc#2 here:
As discussed, we like the idea of having 2 different kinds of configuration in the manifest: 1) os-specific config (for example: create a new pid namespace, or set cgroup foo to bar, or drop CAP_SYSADMIN), and 2) os-independent config (for example: execute /bin/bash, or set environment DEBUG to 1).
Currently these 2 different kinds of configs are mixed in the manifest. We should segment them more clearly, to make more visible the tradeoff between control and portability, and to allow for new sections to be created for other OSes - Windows, Solaris, FreeBSD etc.

Where we ended up on this one is we will have a strongly typed OS specific section in the spec like "linux": {} or "windows": {}.

This looks like is already done?

@tnachen Where do you see it as done? Neither the spec nor the implementation have been updated.

Yep, "linux": {} is that we want

Sorry I saw config-linux.md and I thought that is what this is for.

This is figured out in runc/spec_linux.go now.


Problem while using Python's virtualenvs

Some very light virtualenv integration would be nice, is there any way to allow virtualenvs to display itself like in other prompts?
After I activate my virtualenv and go to the project folder I get this:
Exception in thread Thread-4: Traceback (most recent call last):   File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 916, in _bootstrap_inner     self.run()   File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 864, in run     self._target(*self._args, **self._kwargs)   File "/Users/-----/-------/-------/-----/slimline/gitline/gitline.py", line 139, in _stashes     self.repo.stashes = len(filter(bool, execute(['git', 'stash', 'list']).splitlines())) TypeError: object of type 'filter' has no len()

Slimline currently has no support for displaying virtualenv information. However, this should be not so hard to implement.
Regarding the exception you encountered, please try the latest master version. I just pushed a fix for it.

Now it works fine. Thank you! :)

Virtualenv support was added in #12 by @fgandellini


Can't delete contact

Can't delete contact because it was linked with SINV and I think it caused by phone no. field on customer info tab on SINV.

However we still want to have phone no. on customer info tab while be able to delete contact so I would like you to check if we can get phone no. as a 'String' instead of linkage with contact doctype (I mean get just a value from customer's contact 1 times but do not link it together🤔)
but if phone no. must be linked with contact, then we should decide remove phone no. field from SINV doctype.
WARNING AFTER TRIED TO DELETE CONTACT.

Can't delete contact issue caused from this not phone no. field.
Now I'm thinking how should we do next.

Muzammal added the 'Unlink and Delete' button to simplify the deletion process. while document that have created before content was deleted still  keep the data that was deleted.

Contact in the Sales order doctype still there even this contact was deleted.


[elgato-key-light] Add a setBrightness command to set a specific value

Extension
https://www.raycast.com/thomas/elgato-key-light
Description
Hi, I'd like to add a command to set the key light brightness to a specific value rather than just increment it up or down. I have a branch that adds the command to the manifest and works with hardcoded values, but I'm having a hard time (typescript noob) navigating how this particular extension does function dispatch, so that I can modify it to accept an argument.
Specifically the docs on accessing arguments conflict with the run function in the extension's util.ts, which does not allow arguments. Even hacking around that convention, I wasn't able to get the props.arguments accessor working and hit the limit of my time to poke at it. Could someone better versed in this extension help get it over the line? I think it'd be a useful addition, to go from 5 to 50 percent brightness in one jump!
Who will benefit from this feature?
Anyone who uses the extension and wants quicker control over the light brightness.
Anything else?
My branch is at : https://github.com/ahpook/raycast-extensions/tree/ahpook/elgato-setbrightness/extensions/elgato-key-light/src
cc @omarshahine and @thomaspaulmann since you have worked on this before 🙏 TYVM!

Hey @ahpook let me know if you still want to pick this up. Would be a great addition. We made it easier to work with arguments now.

@thomaspaulmann oh that's awesome to hear! I was sad that it got auto-closed. Is there a doc or another plugin example I can follow to see how passing the argument should work now?


[.NET SDK Build Issue]

Library name and version
N/A
Query/Question
[Q1] Do we have an official document for developer use to develop new version of SDK? May I know the link? https://learn.microsoft.com/en-us/dotnet/azure/?source=docs - this link is too big that I can't find where to start.
[Q2] I have a problem when build. I tried to set .net sdk version to 6.0 in the global.json file and build:
d:\azure-sdk-for-net\sdk\sqlmanagement\Microsoft.Azure.Management.Sql\src>msbuild Microsoft.Azure.Management.Sql.csproj
This will hit error: "Version 6.0.407 of the .NET SDK requires at least version 12.0.0of MSBuild. The current available version of MSBuild is <IP_ADDRESS>704. Change the .NET SDK specified in global.json to an older version that requires the MSBuild."

So then I changed .NET SDK version to 5.0, above build passed. However, another build failed:
d:\azure-sdk-for-net>msbuild build.proj /t:Build /p:Scope=\SqlManagement
The error message is: " C:\Program Files\dotnet\sdk\5.0.408\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(14
1,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0.  Either target .NET 5.0 or lower, or
use a version of the .NET SDK that supports .NET 7.0. [D:\azure-sdk-for-net\sdk\SqlManagement\Azure.ResourceManager.S
ql\tests\Azure.ResourceManager.Sql.Tests.csproj]"

So, does I feel confused about what version should I use and how to make both above build pass. This was from my 3 years ago .net sdk development experience so it might out of date.
Environment
Windows 10.
D:\azure-sdk-for-net>dotnet --list-sdks
3.1.426 [C:\Program Files\dotnet\sdk]
5.0.408 [C:\Program Files\dotnet\sdk]
6.0.407 [C:\Program Files\dotnet\sdk]
Above versions all don't work.

Hi @lululilliancoding.   Thank you for reaching out and we regret that you're experiencing difficulties.   Please start by referencing our Contributing Guide and Service Partner Onboarding Guide (Microsoft Internal).   Those will walk you through setting up your development environment, building, and guide you through service partner onboarding.


Loop Issues...

Hey there Kottenator!
First and foremost, great plugin!
I'm using build 0.6.0 and ran across a snag.  I'm hoping you can help me out with this.  I've made a few modifications to suit my needs, but found myself in a pickle.
Issue: I am using the Circle Progress JQuery plugin (version: 0.6.0) for a project and have made some modifications to it, however, each circle seems to repeat itself (or loop) for an extended period of time rather than only performing the animation once.
Due to the modifications made, such as adding a link to where if it is clicked, the animation begins, doesn't seem to be where the issue lies. It's when you start to scroll down, and when you do - every circle starts animating based on the percentage set but keeps repeating itself several times before it stops. It should only start the animation for each circle once when the user scrolls down but I can't seem to figure out the root of why this is occurring.
$('.about_nav a:nth-of-type(2)').click(function () {
function animateElements() {
    $('.progressbar').each(function () {
        var elementPos = $(this).offset().top;
        var topOfWindow = $(window).scrollTop();
        var percent = $(this).find('.circle').attr('data-percent');
        var percentage = parseInt(percent, 10) / parseInt(100, 10);
        var animate = $(this).data('animate');
        if (elementPos < topOfWindow + $(window).height() - 30 && !animate) {
            $(this).data('animate', false); // Change this 'false -or- true' - Currently set to false so that each time a user clicks on 'Skill-set' link, animation occurs
            $(this).find('.circle').circleProgress({
                startAngle: -Math.PI / 2,
                value: percent / 100,
                thickness: 2, // Change this for thickness
                fill: {
                    color: '#16A085'
                }
            }).on('circle-animation-progress', function (event, progress, stepValue) {
                $(this).find('.percent').text((stepValue*100).toFixed(0) + "%"); // NOTE: Change '.toFixed(0)' to '.toFixed(1)' to get 1 decimal place to the right...
            }).stop();
        }
    });
}

animateElements();
$('.about_body_wrapper').scroll(animateElements);
});

Here is a rough demo of what I mean: http://jsfiddle.net/de41cppa/ - Click "Skill-set" tab and scroll down.
Any help on this would be greatly appreciated!

Here is my next iteration: http://jsfiddle.net/de41cppa/1/
I got it to stop looping...However, all circles start over on scroll, it needs to be where each circle animation occurs right after the other on scroll and only occur once.
To be a bit more precise:
Once the visitor clicks on the link - the animation occurs for all but what is seen on the page. Then once the user scrolls down, each circle animates one after the other depending on the frequency of user scrolling and should only occur once. - Then if a user decides to scroll back up, nothing happens since all circles animation has been completed - same would apply if the user decides to scroll back down...However, if the user clicks on the link again, the entire process (or animation of circles) start all over again.
I think the underlying issue resolves around here: if (elementPos < topOfWindow + $(window).height() - 30 && !animate) - but I'm not entirely sure...
Any help is greatly appreciated!

Hi!
Try to avoid $(window).scroll(animateElements). This re-starts the animation on each scroll tick. What you want is to try jquery-appear, see this ticket.

Kottenator, Thanks for the reply.  I am avoiding $(window).scroll(animateElements); - instead I have this declared: $('.about_body_wrapper').scroll(animateElements); - For some odd reason though, when I add that onto the fiddle, it doesn't work, but does work if i have it as "window" instead...weird...either way, I came up with the solution on looping.
Here is my latest iteration: http://jsfiddle.net/de41cppa/5/
Now, I ran into another snag though.  I need to add a click handler.  Here is my question on stackoverflow: http://stackoverflow.com/questions/33861379/jquery-circle-progress-bar-trigger-event-issue
If you will, could you take a gander at it?  I'd greatly appreciate it.

Solved:
Took me awhile, but I finally got it figured out and working!  Here is the latest iteration: http://jsfiddle.net/de41cppa/10/
Don't mind the layout on that fiddle...Everything is working as it should now.  No more loop issues and the circles animate on scroll as desired.


Error on Wallet version  obsolete

This was reported by members on QT wallet and in CLI too. Here is CLI error:
user@server:~/cheetahcoin_v<IP_ADDRESS>_ubuntu16.04# ./cheetahcoind getmininginfo
{
"blocks" : 424494,
"currentblocksize" : 0,
"currentblocktx" : 0,
"difficulty" : 48480.11378131,
"errors" : "Warning: This version is obsolete, upgrade required!",
"generate" : false,
"genproclimit" : -1,
"hashespersec" : 0,
"pooledtx" : 0,
"testnet" : false
}
QT wallet had similar errors reported by members.  The ROOT CAUSE of this error is that the wallet is based of bitcoin core 0.8.6 branch, which is obsolete for bitcoin.  But for cheetahcoin, this fine, and this error can be ignored for now.
The better handling in CHTA core should be removing this error in new version upgrade in the future. This fix will be put on dev agenda in future wallet releases.

Code review found that this issue is complicated.  The bitcoin core version spec:
https://btcinformation.org/en/developer-reference#block-chain
The cheetahcoin core which cloned bitcoin core v0.8.6 branch had this version check over past 100 blocks.  However, miners seems to put whatever versions on blocks like this:
block mined by an ASIC
http://chtaexplorer.mooo.com:3002/api/getblock?hash=000000000000016c285b721ad68d278df90abb877f27e5b4c6bcc3abb1d71eaf
block mined by ASIC
http://chtaexplorer.mooo.com:3002/api/getblock?hash=00000000000001ff7b6027c3b7b40538218cb29385083dfeda3f9b9d578caabb
block mined by CPU:
http://chtaexplorer.mooo.com:3002/api/getblock?hash=0000000003a42e510dd233f1fa1b388631cea760673d241b5b4758c15ec21673
Technically, miners can put whatever versions in the block they mine as long as it passes full node validation check.
There were report of soft fork release on bitcoin which will get unknown version results on this check.

Further check on android phone/linux/windows10 wallet versions with "getinfo" command, they all have same versions print out on "version"/"protocalversion"/"walletversion"  three fields.  So the problem is not a version difference across android/linux/windows10 wallets.  It is a matter of mining process on whatever version values put into block, which may or may not indicate what versions actually the miners are running on their pool or solo nodes.

The solution is change of warning wording, tone down the upgrade issue to reflect what actually is this warning on tech level only.  This version checking code base is unchanged on v1.9.x branch release:
https://github.com/ShorelineCrypto/cheetahcoin/commit/eb77eba3b38e8c29c33f71ef077553936957375a


Test issue #2

test issue #2

response #1
On Thu, Jan 12, 2017 at 5:23 PM, broadleaf111<EMAIL_ADDRESS>wrote:

test issue #2 https://github.com/broadleaf111/nodejs-eval/issues/2
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/broadleaf111/nodejs-eval/issues/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/AX7g4QRjDY92CEAsfN5D4Jf3gJ1KbbOoks5rRtIRgaJpZM4LibZf
.


Why "Lambdas used for inverted sections should be considered truthy"?

shouldn't it be (for inverted)

if lambda returns truthy value then section is empty
if lambda returns falsy value, section is rendered in the specified context.

plus (maybe)

lambda receives empty argument

No.
There is a subtle difference in the treatment of context methods depending on whether the lambdas extension is implemented. Suppose that we have the following template (with a non-inverted section, but bear with me for a moment):
{{#meaning}}42{{/meaning}}

and that the context is the following JavaScript object:
{
    meaning: function(sectionText) {
        return '' + sectionText + '';
    }
}

then a Mustache engine that doesn't implement the lambdas extension will render 42, while an engine that does will render 42. The reason for this is that without the lambdas extension, the return value of a context method is considered just another value, like any other value that you might resolve from the context. With the lambdas extension, on the other hand, the return value of a context method is interpreted as template text that replaces the original content of the section.
(The distinguishing feature of the lambdas extension is not that lambdas/functions/methods are invoked in the first place. The basic interpolation, sections and inverted specs already require that they are invoked and that their return values are used. The real distinguishing feature is that lambdas/functions/methods gain additional influence over what is rendered. I didn't realize this myself until I read the specs a few times.)
Inverted sections obviously need to behave opposite to regular sections. According to the lambdas extension, a section will invoke a context method in order to establish the inner template text to be rendered. So an inverted section will NOT invoke a context method, let alone render whatever template text it might return.

The basic interpolation, sections and inverted specs already require that they are invoked and that their return values are used.

where? there is no lambdas in interpolation and inverted test files (only variables there). lambdas are in lambdas testfile. i don't get what you mean by that.

So an inverted section will NOT invoke a context method..

if it doesn't support lambdas, sure, it will not.. same logic may be applied to normal section (why not?), #section will not invoke anything and will give 42 result (just because it's a truthy variable) - according to the lambda extension? i'm not getting this logic..
there is no point in compatibility with lambda and non-lambda engines by the means of making
if lambda and lambda() => content
if not lambda => content

because still, it will give different results (42 without and 42 with)
it may be solved by implementing an option of compatibility in the engine with lambdas, like lambdas: false, then it will not invoke lambdas at all:
if lambda => content
if not lambda => content

and will be variables first compatible..
otherwise
if lambda and lambda(text) => content
if not lambda or not lambda() => content

is more appropriate (with lambdas).. maybe i miss something.. but it appears unlikely..

You are right to point out that there is no test for lambdas in the sections spec. However, the overview of the sections spec does prescribe that lambdas must be invoked and that their return values must be used for name resolution:
https://github.com/mustache/spec/blob/bb63070e701e6e5ba9fa0b4adaa259a0ef8115be/specs/sections.yml#L18-L22
You find exactly the same prescription in the inverted spec:
https://github.com/mustache/spec/blob/bb63070e701e6e5ba9fa0b4adaa259a0ef8115be/specs/inverted.yml#L19-L23
As I wrote before, that is already the specified behavior without even including the lambdas extension. It is important to realize that this takes place as a step during name resolution. Name resolution must be fully complete before the engine even starts to determine what will be rendered. So in all cases (variables, sections and inverted sections, whether the lambdas extension is implemented or not), taking inspiration from your notation, the following is what happens during name resolution:
value := name from context
if value is lambda => use value() as value

Without the lambdas extension, section rendering proceeds as follows:
if value is not array =>
    if value is truthy => use [value] as value
    if value is falsy => use [] as value
render original section template once for each element of value

The inverted section applies the same conditions, except that it only renders the original section template if value is empty.
With the lambdas extension, there is an additional condition before section rendering starts:
if value was obtained by invoking lambda =>
    use value as raw template text that replaces original section content
    render replaced section once with current context
    stop here
else continue as regular section

You find that prescribed over here:
https://github.com/mustache/spec/blob/bb63070e701e6e5ba9fa0b4adaa259a0ef8115be/specs/~lambdas.yml#L10-L13
While it's left somewhat implicit, I think the appropriate opposite behavior for inverted section is as follows:
if value was obtained by invoking lambda =>
    use value as raw template text that replaces original section content
    render replaced section zero times with current context
    stop here
else continue as regular inverted section

and as far as I can tell, the particular test that you're asking about agrees with this interpretation. Note that since "once" becomes "zero times", the inverted section effectively never renders a lambda, so the Mustache engine can optimize the lambda invocation away.

now i get it, i missed the object.method call.. let me examine the logic.. will return to it today..

Ooke, let's clarify some wording..
lambda is an anonymous function, called without specified object/context.
method is a function called within specified object/context.
Take a look at this JavaScript object (last lambdas test):
data:
  static: 'static'
  lambda: function(txt) {return false}

when the name lambda is resolved, as described in the spec,
the data.lambda(text) should be invoked because it's a property of the data object.
This objects your statement about not doing a call.
Same goes with JavaScript arrays, they are considered objects. Which is false for PHP.
My opinion is that the name resolution should be separated from the knowledge of variable/section/inverted. This way, no object.method call will be made, only traversal. When the object.method is found as the last name (for example {{#lastName}} or {{#here.goes.lastName}}),
it should be wrapped with it's context and passed as a result value.
Later, it may be called or not called.
Why not call?
It was already prescribed to call them.
The only reason i see for no-call is the section check first:
value := resolveFromContext(name)
if invertedSection
  if value
    => render empty
  otherwise
    => render non-empty
otherwise
  => handle normal section

vs falsy check first:
if not value := resolveFromContext(name)
  if invertedSection => render non-empty
  otherwise => render empty

if isFunction(value)
  if isWrapped(value)
    value := unwrap(value)(text)
  else
    value := value(text)

if invertedSection
  # ...

Please excuse me for quote-sniping you a little.

lambda is an anonymous function, called without specified object/context.
method is a function called within specified object/context.

Depending on the language, a lambda might be a closure, in which case it might actually be bound to a particular object/context. I've been carefully avoiding the word "lambda" alone when referring to callable functions, because of the wild variety of possible interpretations. With the Mustache spec in mind, "lambda" should be mostly thought of as a feature of the Mustache templating language, rather than a feature of a programming language.
As you probably already realized, a lambda in Mustache will be a method in the underlying programming language most of the time.

Take a look at this JavaScript object (last lambdas test):
data:
  static: 'static'
  lambda: function(txt) {return false}

when the name lambda is resolved, as described in the spec,
the data.lambda(text) should be invoked because it's a property of the data object.

So far, I think I understand what you mean, ...

This objects your statement about not doing a call.

but here, I'm losing you. Do you mean that there is a conflict with what I've written so far? I'm not seeing it.

Same goes with JavaScript arrays, they are considered objects. Which is false for PHP.

I fail to see how this is relevant.

My opinion is that the name resolution should be separated from the knowledge of variable/section/inverted. This way, no object.method call will be made, only traversal. When the object.method is found as the last name (for example {{#lastName}} or {{#here.goes.lastName}}),
it should be wrapped with it's context and passed as a result value.
Later, it may be called or not called.

In that case, I think the spec agrees with you. Methods earlier in the chain still need to be invoked at this stage, though. In your example above, if here.goes is a method, then it must be invoked in order to obtain an object that has lastName as a member.

Why not call?
It was already prescribed to call them.

Here is the full algorithm that the spec prescribes (as far as sections and inverted sections are concerned):
frame, value := resolveFromContext(startingContext, name)

if isFunction(value)
    if lambdasImplemented
        finalValue := startingContext
        if invertedSection => renderedSectionTemplate := ""
        otherwise => renderedSectionTemplate := frame.value(originalSectionTemplate)
    otherwise
        finalValue := frame.value(originalSectionTemplate)
        renderedSectionTemplate := originalSectionTemplate
otherwise
    finalValue := value
    renderedSectionTemplate := originalSectionTemplate

if isArray(finalValue) => contextList := finalValue
otherwise
    if truthy(finalValue) => contextList := [finalValue]
    otherwise => contextList := []

if invertedSection
    if contextList empty => render renderedSectionTemplate with startingContext
    otherwise => render empty
otherwise
    for renderedContext in contextList
        render renderedSectionTemplate with renderedContext

according to your code, when isFunction and lambdasImplemented the assignment if invertedSection => renderedSectionTemplate := "" and later isArray check with context manipulation don't do any good, it will always be render empty .. because template set empty.
take a look at my interpretation:
https://github.com/determin1st/sm-mustache/blob/99776b748b0b49c8c1dc0b3d4ac28c31233f7f85/mustache.php#L537-L551
un-commenting the block (after the falsy check) will comply with the lambda spec (this issue), but, it means that functionality will be removed, not added.
as i understand, the main reason why "lambdas" was made - is to replace/substitute section's content, which inverted section can't do by means of common sense, what they can, is to specify a flag (as a call result), with this test, the flag is not respected.
so the question "why" is about the flag being needed or not.

according to your code, when isFunction and lambdasImplemented the assignment if invertedSection => renderedSectionTemplate := "" and later isArray check with context manipulation don't do any good, it will always be render empty .. because template set empty.

True. As I wrote before, there is a lot that can be optimized away. My own implementation does that, too. I was just representing the un-optimized algorithm as it is described in the spec.

take a look at my interpretation:
https://github.com/determin1st/sm-mustache/blob/99776b748b0b49c8c1dc0b3d4ac28c31233f7f85/mustache.php#L537-L551
un-commenting the block (after the falsy check) will comply with the lambda spec (this issue), but, it means that functionality will be removed, not added.

I can't really comment on your implementation without giving it a lot of study first, but I will take your word for it.

as i understand, the main reason why "lambdas" was made - is to replace/substitute section's content, which inverted section can't do by means of common sense, what they can, is to specify a flag (as a call result), with this test, the flag is not respected.
so the question "why" is about the flag being needed or not.

I wasn't around when the spec was written. With that out of the way, there are lots of subtle variations possible when defining the semantics for a formal language (as you illustrated with your comments). The authors need to take care to pick a combination of variations that is (a) useful, (b) practically implementable and (c) consistent.
The alternative that you are suggesting, where inverted sections are basically exempt from the lambdas extension, is arguably useful. As you wrote, doing so would allow inverted sections to make a yes/no rendering decision based on what the named function returns. However, that wouldn't be consistent. Consider the following example:
{{#myLambda}}yes{{/myLambda}}{{^myLambda}}no{{/myLambda}}

First consider the case that myLambda is a function that returns a new template. In that case, the inverted section will obviously never render unless the returned template is the empty string. What do you believe should be rendered when the returned template is, in fact, the empty string?
Next, consider the case that myLambda is a function that returns a boolean. According to what you are suggesting, the template will render "no" if it returns false. However, if the function returns true, then what do you believe should be rendered?
Finally, consider the case that myLambda doesn't exist. In that case, at least, we can probably agree that "no" should be rendered.
The algorithm in the spec avoids the contradictions that I described above. If myLambda is a function, then it basically counts as a single truthy value, so we always render the normal section with whatever it returns as a template. Otherwise, the lambdas extension doesn't apply, so we can follow the other rules on whether to apply the normal section or the inverted section. It's also useful; we can use inverted sections as a "fallback option" for when a lambda we wanted to use isn't available. I think the authors made a pretty good choice at the time.

{{#myLambda}}yes{{/myLambda}}{{^myLambda}}no{{/myLambda}}

myLambda returns 'something new' string => 'something new'
myLambda returns '' empty string => no (first section is replaced with empty, second is falsy negated)
myLambda returns true boolean => yes (first is rendered, second is true negated, empty)
myLambda is null => no (first is falsy=>empty, second is negated falsy=>rendered)

what is wrong/contradicts here?

myLambda returns 'something new' string => 'something new' (first is replaced, second is truthy negated, empty)

myLambda returns '' empty string => no (first section is replaced with empty, second is falsy negated, rendered)

This is contradictory. In the first case, you are interpreting the returned string as a new template. In the second case, you are effectively interpreting the string as a boolean. In order for these two conditions to be consistent with each other, you'd either have to render yes in the first case or the empty string in the second case.

yes, because the nature of {{^section}} is the if not expression, it will interpret any returned value as a flag. with current spec it will always be true (empty):

'something new' => 'something new'
'' => ''

better?
means that template {{#myLambda}}yes{{/myLambda}}{{^myLambda}}no{{/myLambda}} equals to {{#myLambda}}yes{{/myLambda}}  - this is a contradiction to my taste.

'something new' => 'something new'
'' => ''

better?

These two cases are no longer contradictory, but now case 1 is contradictory with both case 2 (true used as a boolean instead of as a replacing template) and case 3 (falsy return value leading to "no" being rendered in one case but not in the other).

means that template {{#myLambda}}yes{{/myLambda}}{{^myLambda}}no{{/myLambda}} equals to {{#myLambda}}yes{{/myLambda}} - this is a contradiction to my taste.

Those templates are not equivalent; they still give different results if myLambda is undefined.