Allow reading a special key in package.json instead of an external file.

Hello
Currently aggregate-commands needs a nth config file to work as described here :
{
  "scripts": {
    "my-script": "aggregate-commands commands-file.json"
  }
}

What about allowing aggregate-commands to read directly a key in the package.json itself? For instance :
// package.json
{
  "devDependencies": {
    "aggregate-commands": "^1.0.0"
  },
  "scripts": {
    "watch-css": "the script that watches and compiles your CSS",
    "watch-templates": "the script that watches and compiles your HTML templates",
    "watch-js": "the watchify command building your JS",
    "watch": "aggregate-commands agg-watch"
  },
  "agg-watch": [
    ["css",  "npm", "run", "watch-css"],
    ["tpls", "npm", "run", "watch-templates"],
    ["js",   "npm", "run", "watch-js"]
  ]
}

Benefits are : not yet another config file at the root of the project. Everything is centralized in the same spot so it's easier to read.

Done in https://github.com/lmtm/aggregate-commands/commit/8c48cb8bf1b53770f3000c2a824e9355268348ee


QuickAdd: (ERROR) e.replace is not a function

I have a trouble making a plugin work. I configured a simple template, and this is what I see in the console right after Run quick add > Select choice
VM110:10316 QuickAdd: (ERROR) e.replace is not a function
logError    @   VM110:10316
eval    @   VM110:8253
logError    @   VM110:8253
run @   VM110:10099
async function (async)
run @   VM110:10068
onChooseTemplateType    @   VM110:10276
onChooseItem    @   VM110:10253
t.onChooseSuggestion    @   app.js:1
t.selectSuggestion  @   app.js:1
e.useSelectedItem   @   app.js:1
(anonymous) @   app.js:1
e.handleKey @   app.js:1
e.onKeyEvent    @   app.js:1

I still see the prompt for filename, but the note isn't created.
quickadd version: 0.1.7
Obsidian version: v0.12.5 (installer version v0.12.3)
Platform: Linux (ubuntu)
Plugin's data.json:
{"choices":[{"id":"6c2f5a21-11cc-4a97-b26b-80652ecc805a","name":"inbox_items","type":"Template","templatePath":"templates/test_temp.md","fileNameFormat":{"enabled":false,"format":""},"folder":{"enabled":false,"folders":[]},"openFileInNewTab":{"enabled":false,"direction":"vertical"},"appendLink":false,"incrementFileName":false,"openFile":true}],"macros":[]}

Seems like it's failing on this method https://github.com/chhoumann/quickadd/blob/e2f74a9d6b90a43cbe504c117eb6c3be538c2d6e/src/engine/TemplateEngine.ts#L21

Unrelated suggestion: would be great if you give an example of using this plugin together with Templater =)

Hey! Thank you very much. It's very appreciated. 😄
I'm working on lots of examples, so I will surely do that!


Could anyone suggest a neat way to Dis-/Enable buttons

Hello everyone,
could anyone suggest a neat way to dis-/enable buttons?
Currently I'm doing such things as follows:
ViewModel:
// Properties
 public bool Save_btn_is_enabled
        {
            get { return _save_btn_is_enabled; }
            set { Set(ref _save_btn_is_enabled, value); }
        }
        private bool _save_btn_is_enabled;

// Constructor
Window_ViewModel()
{
 DoSomething_command  = new RelayCommand(DoSomethingMethod);
 Save_btn_is_enabled = true;

}

//  do something method
privat async void DoSomethingMethod()
{
   Save_btn_is_enabled = false;

   // do smth here before dealying

 await Task.Delay(clickActionDelay1)

  // do smth here after delaying

 Save_btn_is_enabled = true;
}

ICommand and RelayCommand have a Func<bool> canExecute as well as an Action execute. When a button binds to an ICommand the enabled state binds to CanExecute and is updated on the CanExecuteChanged event. See the MVVM light sample RaiseCanExecuteChanged Sample

IMHO, this is quite bad example on how this works. Also I couldn't open this sample with VS2015.
Perhaps does anyone have better ones?

@DeputyOfCopyPaster from your example it looks like you are trying to disable access while an async action is in process. If that is the case what you are doing is perfectly fine. Here is an example using ICommand that does not allow concurrent execution.
Example
public interface IAsyncCommand : ICommand
{
Task ExecuteAsync();
bool CanExecute();
}


Tachyon's performance question

We want to use Tachyon, and we evaluate its performance with TestDFSIO.java in hadoop-mapreduce-client-jobclient-2.6.0-tests.jar, we find that Tachyon was a bit better than HDFS with cache in local sequence read and write, was equal in remote read, and was worse in local random read and backward read. Can we improve Tachyon's pure read and write performance with modify some configuration items or other means, or is our test method incorrect?
Test Result
1 Initial local read, files 24*1GB

unit: ssequence readrandom readbackward read
Tachyon on HDFS144.86failedfailed
Tachyon on own FS78.357245.057(the file read wasn't in memory)failed
HDFS128.598167.697329.518

2 Local read with files cache in memory, files 24*1GB

unit: ssequence readrandom readbackward read
Tachyon11.64952.7946.877
HDFS15.627.88927.412

3 Remote read, files 12*1GB

unit: stimes
Tachyon1113.811
HDFS1078.591

4 Write, files 24*1GB, Tachyon's write type: CACHE_THROUGH, HDFS's dfs.replication: 1

unit: stimes
Tachyon on HDFS99.39
Tachyon on own FS73.042
HDFS76.212

Test Environment
Master: blade server with CPU 1.9GHz\*24, RAM 16GB\*2, running NameNode and DataNode, Tachyon master and Tachyon worker
Slave1: blade server with CPU 1.9GHz\*24, RAM 16GB\*1, running DataNode, Tachyon worker
Slave2: blade server with CPU 1.9GHz\*24, RAM 16GB\*1, running DataNode, Tachyon worker
Software version: Tachyon 0.6.3, Hadoop 2.6.0
Test Method
We modified the TestDFSIO.java adding a parameter fs to input our tachyon fs, and test Tachyon like this, refer to my github for detail:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-tests.jar TestDFSIO -libjars /home/michael/tachyon/tachyon-0.6.3/client/target/tachyon-client-0.6.3-jar-with-dependencies.jar -write -nrFiles 36 -fileSize 1000 -fs tachyon://master:19998

@Kira-Yang
Could you please post questions like this to our user mailing list?
See #329

OK, I have post it at the forum


ui: bugfix - Unregister buttons close callback

The callback registered on the document must be removed
as soon as it fires otherwise there is a long list of
callbacks that yields to a small memory leak and a real performance
problem.

ok to test

run cdd-overview


dell monitor not connected on wake from hibernation

similar bug to what happens on windows, except the fix for windows (turning the monitor off and on again) doesn't fix it.

might have fixed this by disabling deep sleep setting on the monitor.


Added limitation for volume name for SIO

This commit introduces a new volume name limit that pertains
specifically to the SIO storage platform. The limit is 31 chars
enforced by SIO. A bug was introduced by Docker 1.10 since it
started creating anonymous volumes when no volumes were specified
which defaulted to 32 characters.

Any reason not to make CC configurable or a pkg constant? Or even at the VDM level?

I was thinking about this for a bit. I would pursue the VDM route, but I have not run into the situation with any other storage driver. For now I have made it a constant instead, and kept it internal to the driver. I am open to revisiting later to graduate the parameter if we feel it is necessary for other drivers as well or should be configurable
.

It's not currently a constant; nor pkg level. Want to correct that? Currently it's a variable that allocates memory on each func call.

Nevermind, when you said "for now" you meant you went back and corrected it. Cool.


Adding createPatron method for sierra http client

Some tidying up to do
Who is this for?
So we have an available sierra-http-client method to create a patron via POST
Ticket
Relates to https://github.com/wellcomecollection/wellcomecollection.org/issues/7896 but specifically https://github.com/wellcomecollection/wellcomecollection.org/issues/7956
So I can link up with David's work on weco-identity and in the other identity PR for the new endpoint to create a patron on sierra from the formData

This makes me realise that somewhere - inclined to think not in this client - we should be doing some sanity checking on the name/email fields to prevent misuse.

@jamieparkinson I have changed approach on the POST params a little here to make it clear we are creating the patron in MARC format. I decided on this approach after speaking to Natalie on what the ideal situation would be for a new patron record: If a patron can be registered with a fully correct MARC record at the point of submitting the form, it leaves less work for library staff.

Can you put that rationale in a comment?


ITranscriptLogger should support update and delete operations

As part of PII/IP filtering, clients and channels can request that activities be redacted. This influences the transcript logger and middleware the bot builder SDK supports. For example, Microsoft Teams is introducing this capability to send targeted messageUpdate and messageDelete operations to change and/or delete activities (for example, if a credit card number is passed, this really should not be saved, but often is missed by bot development).
To facilitate this, we need to augment the ITranscriptLogger interface, or extend it with ITranscriptRedactor or something that has update and delete operations.

Once this is done, we should also provide updates to samples that demonstrate this transcript logger and show how the delete and updates are used.

Needs to be triaged and a parent issue created...


crypto/ed25519: differences in edge case handling between s390x KDSA implementation and Go implementation

@hdevalence has indentified several examples of crafted signed messages that pass verification when using the software implementation of crypto/ed25519 but fail verification when using the s390x KDSA implementation. Regardless of which is correct, the s390x KDSA implementation is new to Go 1.15 so I propose we remove it before the final release is cut to avoid the situation where we see different behaviour when running on different platforms. Once we have more information we can consider whether we can re-add it, perhaps with other fixes or custom special case handling, in a future release.

/cc @golang/osp-team, this will need cherry-picking, how are you tracking cherry-picks?

@FiloSottile as the tree is still frozen, if the change lands in the master branch it will be merged into the 1.15 release branch before the next RC or final release.


Caused by java.lang.NullPointerException Attempt to invoke virtual method 'void io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onPostResume()' on a null object reference

In our application we use flutter as a part of our android application.
https://flutter.dev/docs/development/add-to-app/android/add-flutter-screen
After we updated flutter to 2.2.3 version we got a lot of crash (Firebase Crashlytics).
Now we don't have steps to reproduce this problem(but we're trying to find them), we have just log in Firebase Crashlytics.
Fatal Exception: java.lang.RuntimeException: Unable to resume activity {ua.myapp/ua.myapp.flutterbridge.FlutterViewActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onPostResume()' on a null object reference
       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4789)
       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4832)
       at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:190)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:105)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:213)
       at android.app.ActivityThread.main(ActivityThread.java:8178)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)

Caused by java.lang.NullPointerException
Attempt to invoke virtual method 'void io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onPostResume()' on a null object reference

Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onPostResume()' on a null object reference
       at io.flutter.embedding.android.FlutterFragment.onPostResume(FlutterFragment.java:645)
       at io.flutter.embedding.android.FlutterFragmentActivity.onPostResume(FlutterFragmentActivity.java:473)
       at android.app.Activity.performResume(Activity.java:8248)
       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4779)
       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4832)
       at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:190)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:105)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:213)
       at android.app.ActivityThread.main(ActivityThread.java:8178)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale ru)
    • Flutter version 2.2.3 at /Users/dmytronazarenko/AndroidStudioProjects/Flutter/fluttersdk
    • Framework revision f4abaa0735 (5 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dmytronazarenko/AndroidSdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/dmytronazarenko/AndroidSdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

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

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

H @EdStepashkin
Thanks for filing the issue,
I tried similar issue for FlutterActivityAndFragmentDelegate.onPostResume()' but couldn't find a duplicate

Hi @EdStepashkin
I was facing a similar issue in an add2app scenario. In my case, I have a Mainactivity which holds a native fragment and a flutter fragment.
@Override
public void onPostResume() {
super.onPostResume();
flutterFragment.onPostResume();
}
if flutterFragement is null, then the above crash occurs.
A simple workaround is removing the above piece of code. But if it is removed, the app will crash when it was brought to the foreground after a long time it was kept in the memory.

The location of the NPE is clear. But, I am not sure how we got into this situation. Presumably, there is some unexpected sequence of lifecycle events. cc @blasten Should we defensively check all delegate call sites for null? But, I am not sure if that just kicks the can down the road.

Any workaround for this. getting many crashes


Add IPv6 loopback address to Doctor's proxy check

Add IPv6 loopback address to Doctor's proxy check. Only do this if ::1 is a valid loopback address.
Related Issues
Fixes: https://github.com/flutter/flutter/issues/26587
Tests
I amended the tests in doctor_test.dart as follows

The group proxy validator now accounts for ipv6 loopback addresses.
I've added the group proxy validator ipv4 specifically for configurations that do not support ipv6.

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.

FYI @Hixie @fkorotkov we're getting a "User is too new.." error when running this. What can we do to allow new users to submit PRs?

It's a mechanism agains some enthusiasts that create bunch of new users and try to mine crypto coins so users that were created in less than 3 days are considered suspisious at the moment. I've whitelisted @amogiska. Sorry for the inconveniences!

That makes sense, but what I found surprising is that even If I try to trigger re-runs on their PR I can't

@jonahwilliams you need to retry this task first https://cirrus-ci.com/task/4739114782162944 or re-trigger all tasks here https://cirrus-ci.com/build/5199878303252480 (I think you should see the button)

@fkorotkov I clicked the button to re-trigger all tasks. It re-triggered the first one in the list, but not subsequent ones. I manually retried the first couple that it missed, and it looks like it is now retrying them. I'll leave it in its current state in case you'd like to investigate. Thanks!

@zanderso thank you! Seems it's because some of the tasks are having dependencies between each other which is usually not the case. Created https://github.com/cirruslabs/cirrus-ci-docs/issues/650

@amogiska Sorry this has taken so long. The change looks good, but it looks like one of the new tests is failing.

@jonahwilliams

We'll consider addressing this in a separate PR. In the meantime I'm going to close as we won't have the time to get to it


[WP8] - copyCordovaAssets not working as iOS and Android

In my downloaded application I'm using the following import script within a index.html:
<script type="text/javascript" src="cordova.js"></script>

It works fine on Android and iOS with copyCordovaAssets option. But in WP8 the only way I could make it work was changing the URL of the cordova.js file to  www/cordova.js.
Apparently on Android and iOS is checked if the appId dir have a www directory to copy the Cordova assets to there, but if the www dir does not exist, the files are drop right to the appId dir. I have identified this behavior through this issue https://github.com/phonegap/phonegap-plugin-contentsync/issues/39.
The WP8 implementation should not be the same as the other platforms?

Hi @eberlitz
The script tag should work:
<script type="text/javascript" src="cordova.js"></script>

I'm not quite sure why it doesn't work for you. It works on our phonegap-app-developer project: https://github.com/phonegap/phonegap-app-developer/blob/master/www/index.html#L54
Did you change the layout of your project folder when you built it with cordova create or phonegap create?

HI @timkim
The code that you link is from the application that uses the contentsync plugin. It's not my case.
I have an application that downloads and extract a zip through contentsync using the copyCordovaAssets flag set to true. Inside this zip, I have another application (index.html, and other assets). After successfully download and extract of this zip file, I redirect the page to this extracted folder. In this downloaded application, the plugins are not loading if I just use cordova.js in the script tag. Because the copy of the Cordova assets is always inside a www folder.
If I compress my zip file with a top level www folder and change my redirect path to include the www it works, but it's not like the others platform work.
Do you have the same scenario? Your zip files have a top level www folder? wich version of the contentsync are you using?
Also, I found this commit https://github.com/phonegap/phonegap-plugin-contentsync/commit/5997705c08ffef41b0455cf857810725a79ff38a that always use the www folder. I think it's related.

Hi @eberlitz
Yes, we have the same scenario in that we are using the content sync plugin to download a zipped www/ from a server and change into the unzipped location. You can see how we download and deploy the app here:
https://github.com/phonegap/phonegap-app-developer/blob/master/www/js/deploy.js#L142
Wp8 has a quirk where the www path must always be used when dealing with the paths. It won't work without the www.


NixOS 19.03: Awesome Window Manager exposes lgi incorrectly in its LUA_PATH (regression)

Cc @psychon and @blueyed who might have some insights in regard
Issue description
Since NixOS 19.03 the environment in the Awesome Window Manager exposes lgi incorrectly in its LUA_PATH (I think).
The problem was solved in NixOS 18.09 in https://github.com/NixOS/nixpkgs/commit/5465d6f7ded73a815b4ed3953f6d00d0aa563ac3 but the the code was added again in NixOS 19.03 in https://github.com/NixOS/nixpkgs/commit/17d3eb2c9af719eac3668e7b88d65eca93750b41.
It seems to me that the correct way of adding lgi to LUA_PATH (if at all needed) would be something like:
--prefix LUA_PATH ';'  "${lgi}/share/lua/${lua.luaversion}/?/init.lua;${lgi}/share/lua/${lua.luaversion}/?.lua"

This is because lgi's modules are supposed to be imported using the lgi "namespace", e.g.
lgi_enum = require('lgi.enum')  -- OK
lgi_enum = require('enum')      -- NOT OK

A negative side effect is that there may be name clashes with other lua modules.
I have come across this because I use a widget that has a transitive dependency on a module named enum.lua, and unfortunately lgi has a file with the same name that appears in the LUA_PATH before it, causing an error when I start Awesome. At the moment I have a rather drastic workaround where I rewrite package.path in my ~/.config/awesome/rc.lua so that the correct library can be found.
Steps to reproduce

Configure NixOS 19.03 with awesome and extra lua modules that have a name conflict with lgi's modules

 services.xserver = {
   windowManager = {
      awesome = {
        enable = true;
        luaModules = with pkgs.extraLuaPackages; [ # need overalys for this to work!
          dbus_proxy
          enum
          power_widget
          upower_dbus
        ];
      };
    };
};

  nixpkgs.overlays = with builtins; [
    (
      import (fetchGit {
        url = "https://github.com/stefano-m/nix-stefano-m-nix-overlays.git";
        rev = "9e489c50134b58fb9c4d14142c474ff792856146";
      })
    )
  ];

Configure ~/.config/awesome/rc.lua to use the modules

local power = require("power_widget")

Start awesome by logging in with your display manager (I use sddm)
Observe that Awesome fails to start with  attempt to call field 'new' (a nil value). In this case this is because power_widget transitively calls https://github.com/stefano-m/lua-upower_dbus/blob/8ef01571d13c3dd17e87e6ccec9aaccea22dd710/src/upower_dbus/init.lua#L74 upower.enums.DeviceType = enum.new("DeviceType", DeviceType) but lgi's enum module is found instead.

Technical details
NixOS 19.03

system: "x86_64-linux"
host os: Linux 4.19.36-hardened, NixOS, 19.03.172312.330b9fac600 (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixos-19.03.172312.330b9fac600"
channels(stefano): "unstable-19.09pre176329.d2602779281"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

awesome 4.3 (Too long)

Compiled against Lua 5.2.4 (running with Lua 5.2)
D-Bus support: ✔
execinfo support: ✔
xcb-randr version: 1.6
LGI version: 0.9.2

the best way would be to use lua environments I had some code somewhere I could push for you to test.

lua environments

This seems like the way to solve #60229 as well.  Would lua.withPackages do the trick, or does a "lua environment" do something more?

they are equivalent in my head :p I have yet to upgrade some of my old lua changes so this might not be enough (I had some changes for the lua module but it's 1 year old) but that was the spirit: https://github.com/teto/nixpkgs/commit/01fa2bcd0a6b64fda57446deea7f3840963b2db3

Cc @psychon and @blueyed who might have some insights in regard

Well... I wrote  5465d6f so that one looks fine to me, of course. ;-)
No idea what changed so that 17d3eb2 is necessary or why things would fail without it. Especially the ?.lua that it adds to LUA_PATH during the build seems fishy to me. Does this perhaps simply want to append ;; to the env var instead? This is interpreted by Lua as "add the default search path here" (which does indeed contain ?.lua, but also contains more).
Also no idea why 17d3eb2 has to add LUA_PATH and LUA_CPATH to the wrapper to make things work. --search is supposed to handle this and from the top of my head, the only difference should be in awesome --version (this tries to require("lgi.version"), but does not honor --search, so this require could fail; everything else is "normal startup" and that definitely honors --search).

the best way would be to use lua environments I had some code somewhere I could push for you to test.

Uhm. So what exactly does lua.withPackages do?
https://github.com/NixOS/nixpkgs/blob/e52396ce2c046014314749dc77f695f5c9d8eb47/pkgs/development/interpreters/lua-5/with-packages.nix
Does it simply add something to the env during build? If so, I do not understand what difference that could make here.

Not sure what lua environments are and how they could help here.
@psychon is an authoritative source regarding Lua and Awesome, so I'd follow his advice.
Would you be willing to accept a PR with the changes suggested to restore the previous behaviour?
Thanks

That would be great, yes! I expect accepting it to be no problem, but will want to take a look at it first ;).
The ?.lua added during the build was my non-lua-expert attempt to fix build failure that occurred without it re:finding files in the awesome source itself.
It's possible I was overestimating the significance of awesome's self-diagnostics as you mention, sorry.  Fixes welcome, thanks!

@dtzWill I will see what I can do, I will ping back once I have something.

Although PR #60329 has been merged to master, I'd like to wait that the change is ported back to the 19.03 branch before closing this issue.
If there's anything I can do in regard, please do let me know,
Thanks


Out of memory error with new version

Hello,
just upgraded to the new version today and suddenly grav stoped working :(
Every time I try to load a page, I goth the message:
Server Error
Sorry, something went terribly wrong!
E_ERROR - Out of memory (allocated 127926272) (tried to allocate 11028481 bytes)
I'm on a 1&1 Linux Unlimited shared host – nothing great of course but before the update everything ran smooth, so does anyonee have a idea how to fix this problem? Unfortunately the memory_limit is fixed at 256M, so increasing this is no option (read here)
I really loved Grav thus far – would hate to switch to another CMS :(
Thank you in advance.

Maybe try clearing the cache? Not too much has changed that would cause this and 256mb should be plenty.
How many pages do you have? Can you provide a zip of your site for me to test locally?

Also what version of PHP are you using? 1and1 should support PHP 7 which is much faster and uses less memory.
Most likely though you have some bad logic in twig or something that is causing an infinite loop.

Hi,
thanks for your help! First, a little background info:

I use a custom theme, which is based on the default antimatter-theme (and not that much modified)
currently there are 80 pages, most are subpages of a blog-page
all pages are structured equaly: 2-3 images and a short text
I used to upload stuff directly from my Android device, since the text is really short – so the images are not modified at all and because of that the zip is quite large
I'm using PHP 7.0

Here is the downloadlink. ( I changed the password-hash)
Thanks again for having alook!

Ok, i replicated the exact same problem on my localhost and I have isolated the problem to really 2 things:

Looking in your pages, I see your images are JPG with a resolution of 4000x2992.  This is very large. When PHP is asked to manipulate an image of this size it first has to convert it to a bitmap, this 5mb file then becomes HUGE. Probably around 50mb, then copies are made in memory taking up even more memory.

The second problem is you are using "Related Pages", this plugin runs through the content() of every page in your system to compare the content to see which pages are good matches.  Now when you call the content() method on a page, it does all those image manipulations too.  So all those manipulations on every page are being run the first time through (which is why you get that timeout on first load, but not second).  After the first load, the content is cached, and it's not required to process again.

SOLUTION:
First use smaller images.  I did a  batch image conversion of all images in user/pages to a max width of 1920px which is plenty big enough.
Second, I would disable related pages entirely.  I think I need to re-look at this plugin anyway and perhaps only compare the 'raw' content and not the processed content.  It will not be able to match things that are pulled in by twig, or other plugin related things, but it will mean things are MUCH faster. But until that happens, this is just not going to work for you, as you have too many large images for it to handle well.

Wow, thank you for your detailed answer!
I underestimated the image thing a bit, also tried a version with smaller images on one article but didn't work – and the related pages problem is a good tip: this alone helped a lot! Still I'm gonna scale down the images and work with smaller versions in the future.
Thank you very much :-)

quick update: scaled down all images (now all together only have 98mb instead of 850mb) and deactivated related pages, now its working fine again, yeah!
but the simplesearch plugin also runs out of memory, when searchign within the blog-items. not a big deal, but maybe it can be optimized..


Add support for UpdateExpression in UpdateItem

Any ETA on this? https://github.com/ryanfitz/vogels (a nodejs mapping/query library for dynamo) makes use of UpdateExpressions pretty heavily.
I was very excited to be able to run this in the context of my node service, so if there is anyway I can help, let me know!
Seems like a good first step might be a parser for update expressions into a something easier to apply to document?

Just completed this in 76d0ba7aefd98eb30da4b2cd838fccf9e37c56f6 – published as v0.18.0


License issue with mapswipe-logo.svg -- is upload to Wikimedia commons possible?

I would like to upload MapSwipe icon to Wikimedia commons, similar to Missing Maps icon. However, I am not completely sure if it's currently possible as the whole repository (mapswipe-logo.svg included) is released under MIT license.
Would it be possible to release SVG images (or at least mapswipe-logo.svg) under Creative Commons license?

I believe that due to the sublicensing option in MIT license, the CC BY-SA license may be used.


Fix for stack.add_link() when x==y=='@'

Corrected double-indentation error and added continue line for x=y='@' during link generation.

This PR resolves #142.


[LANG-1601] Refine performance of fraction.pow

[INFO] --- exec-maven-plugin:1.6.0:exec (benchmark) @ commons-lang3 ---
# JMH version: 1.21
# VM version: JDK 1.8.0_265, OpenJDK 64-Bit Server VM, 25.265-b01
# VM invoker: C:\jdk8u265-b01\jre\bin\java.exe
# VM options: -server -Xms2048M -Xms2048M
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.apache.commons.lang3.math.FractionPowPerformanceTest.testNew

# Run progress: 0.00% complete, ETA 00:03:20
# Fork: 1 of 1
# Warmup Iteration   1: 132128.103 ns/op
# Warmup Iteration   2: 137977.136 ns/op
# Warmup Iteration   3: 126261.936 ns/op
# Warmup Iteration   4: 126523.312 ns/op
# Warmup Iteration   5: 128990.556 ns/op
Iteration   1: 124878.319 ns/op
Iteration   2: 124090.416 ns/op
Iteration   3: 125770.206 ns/op
Iteration   4: 128675.569 ns/op
Iteration   5: 125295.804 ns/op
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Result "org.apache.commons.lang3.math.FractionPowPerformanceTest.testNew":
  125742.063 (99.9%) 6746.705 ns/op [Average]
  (min, avg, max) = (124090.416, 125742.063, 128675.569), stdev = 1752.098
  CI (99.9%): [118995.358, 132488.767] (assumes normal distribution)

# JMH version: 1.21
# VM version: JDK 1.8.0_265, OpenJDK 64-Bit Server VM, 25.265-b01
# VM invoker: C:\jdk8u265-b01\jre\bin\java.exe
# VM options: -server -Xms2048M -Xms2048M
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.apache.commons.lang3.math.FractionPowPerformanceTest.testOld

# Run progress: 50.00% complete, ETA 00:01:40
# Fork: 1 of 1
# Warmup Iteration   1: 135318.147 ns/op
# Warmup Iteration   2: 133351.865 ns/op
# Warmup Iteration   3: 134188.392 ns/op
# Warmup Iteration   4: 133996.330 ns/op
# Warmup Iteration   5: 135188.800 ns/op
Iteration   1: 134099.421 ns/op
Iteration   2: 136008.100 ns/op
Iteration   3: 135618.528 ns/op
Iteration   4: 135300.828 ns/op
Iteration   5: 135550.413 ns/op
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Result "org.apache.commons.lang3.math.FractionPowPerformanceTest.testOld":
  135315.458 (99.9%) 2793.886 ns/op [Average]
  (min, avg, max) = (134099.421, 135315.458, 136008.100), stdev = 725.563
  CI (99.9%): [132521.572, 138109.344] (assumes normal distribution)

# Run complete. Total time: 00:03:21

REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.

Benchmark                           Mode  Cnt       Score      Error  Units
FractionPowPerformanceTest.testNew  avgt    5  125742.063  6746.705  ns/op
FractionPowPerformanceTest.testOld  avgt    5  135315.458  2793.886  ns/op

7% faster.

Coverage decreased (-0.07%) to 94.63% when pulling 20a21955ac1512b18618f95d0839342b9c5326ce on XenoAmess:refine_Fraction.pow into 31dc5c700e1a08f4af33d94301ff06790533099b on apache:master.

[INFO] --- exec-maven-plugin:1.6.0:exec (benchmark) @ commons-lang3 ---
# JMH version: 1.21
# VM version: JDK 1.8.0_265, OpenJDK 64-Bit Server VM, 25.265-b01
# VM invoker: C:\jdk8u265-b01\jre\bin\java.exe
# VM options: -server -Xms2048M -Xms2048M
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.apache.commons.lang3.math.FractionPowPerformanceTest.testNew

# Run progress: 0.00% complete, ETA 00:03:20
# Fork: 1 of 1
# Warmup Iteration   1: 16777.200 ns/op
# Warmup Iteration   2: 21455.564 ns/op
# Warmup Iteration   3: 16153.907 ns/op
# Warmup Iteration   4: 16037.464 ns/op
# Warmup Iteration   5: 16032.488 ns/op
Iteration   1: 16005.776 ns/op
Iteration   2: 16091.478 ns/op
Iteration   3: 15954.104 ns/op
Iteration   4: 16117.487 ns/op
Iteration   5: 16136.199 ns/op
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Result "org.apache.commons.lang3.math.FractionPowPerformanceTest.testNew":
  16061.009 卤(99.9%) 299.825 ns/op [Average]
  (min, avg, max) = (15954.104, 16061.009, 16136.199), stdev = 77.864
  CI (99.9%): [15761.183, 16360.834] (assumes normal distribution)

# JMH version: 1.21
# VM version: JDK 1.8.0_265, OpenJDK 64-Bit Server VM, 25.265-b01
# VM invoker: C:\jdk8u265-b01\jre\bin\java.exe
# VM options: -server -Xms2048M -Xms2048M
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.apache.commons.lang3.math.FractionPowPerformanceTest.testOld

# Run progress: 50.00% complete, ETA 00:01:40
# Fork: 1 of 1
# Warmup Iteration   1: 79713.217 ns/op
# Warmup Iteration   2: 80156.329 ns/op
# Warmup Iteration   3: 76097.612 ns/op
# Warmup Iteration   4: 75454.611 ns/op
# Warmup Iteration   5: 77729.279 ns/op
Iteration   1: 75950.798 ns/op
Iteration   2: 75840.056 ns/op
Iteration   3: 75355.666 ns/op
Iteration   4: 75309.956 ns/op
Iteration   5: 78419.559 ns/op
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Result "org.apache.commons.lang3.math.FractionPowPerformanceTest.testOld":
  76175.207 卤(99.9%) 4953.771 ns/op [Average]
  (min, avg, max) = (75309.956, 76175.207, 78419.559), stdev = 1286.479
  CI (99.9%): [71221.436, 81128.979] (assumes normal distribution)

# Run complete. Total time: 00:03:21

REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.

Benchmark                           Mode  Cnt      Score      Error  Units
FractionPowPerformanceTest.testNew  avgt    5  16061.009 卤  299.825  ns/op
FractionPowPerformanceTest.testOld  avgt    5  76175.207 卤 4953.771  ns/op

Hi.
According to Gilles Sadowski's suggestions, I go to commons-numbers to learn about their version of Fraction, and re-refine the function.
After the refine I achieved:

It can still pass all exist tests
It be 4.7 times faster than original.


How-to use NFS in a container's shared directory?

Forgive me, @tonivdv, for being slow, but I'm not getting it.
I gave this a try and saw the exact same as the screencast video on the readme.md page, but now I'm left wondering, ok, how do I use this to map directories on my host to directories on containers?

In a container volume mount, you specify a path on your host (as long as it's in /Users). Since that maps to /Users inside the VM, it will be available to mount inside the container. Examples:
-v /Users/phpguru/project/application/folder:/app
-v $(pwd):/app

So any mounts I have just instantly become NFS then? Wow, it's too simple then.

@phpguru Hmm odd you have to change the permissions ... normally it should work due to following nfs instruction in the /etc/export file
echo '\n"/Users" '$prop_machine_ip' -alldirs -mapall='$(id -u)':'$(id -g)'\n' | sudo tee -a /etc/exports && \
        awk '!a[$0]++' /etc/exports | sudo tee /etc/exports

You see the part -mapall='$(id -u)':'$(id -g)', this is normally the user and group from your host ... How did you run the docker-machine-nfs tool?

Well, it's brilliant. I'm using the default docker-machine so I just did
docker-machine-nfs default

That succeeded.
$ id geoffh
uid=502(geoffh) gid=20(staff) ...

My Mac OS UserID is 502 (user didn't exist in Ubuntu) Group "staff" I guess maps over to 'dialout' on Ubuntu. This was on Ubuntu.15-10 if that helps. So I just created & forced a new user, web, to be uid 502 on Ubuntu and added that user to www-data. There's probably a fancier, more portable way to deal with this but for moving forward in development I'm good to go, I believe. Thanks for working out this tool!

Hey @phpguru ,
I misread your initial question about permissions. You were talking about inside the container, while I was only talking about the virtualbox nfs share.
But yes, regarding permissions this is another story not related to the nfs one. I don't really have issues when using apache setup (through the official php-apache image), however I know I had issue with a nginx setup where I had to do something like usermod -u 1000 www-data
But whether you like nfs or any other file sync system, it's the same "problematic".
Cheers


Composite Layer Customization RFC

For #
Background
Change List

Update old RFC with novel ideas from nebula.gl

Sublayer customization was implemented, this RFC is outdated.


Enter on a submodule should open a Status buffer inside the modules cwd

Is your feature request related to a problem? Please describe.
Changes in a submodule show as changed content (with an extra .S flag)

Describe the solution you'd like
Clicking <cr> on the submodule should open neogit's status buffer inside the submodule, allowing you to commit its changes.
Describe alternatives you've considered
:Neogit cwd=<path_to_submodule>

Always fun when you try to do something at work and it's not supported, then you remember it's your project XD

my workaround until submodule support lands:
		keymap.set("n", "<leader><leader>g", function()
			local file_dir = vim.fn.expand("%:h")
			local exec_result = vim.system({ "git", "rev-parse", "--show-toplevel" }, { text = true, cwd = file_dir })
				:wait()
			local root = vim.fn.trim(exec_result.stdout)
			neogit.open({ kind = "replace", cwd = root })
		end, { desc = "Neogit status", silent = true })

vim.system requires neovim nightly!


Gallons not in pint

Any chance we could add gallons to our version of pint?  It appears to not be in regular pint and I know we have added stuff before...

Seems to work for me:
In [1]: from gpkit import units

In [2]: units("gallon")
Out[2]: <Quantity(1, 'gallon')>

They even have units for both dry and liquid gallons.

Oh, I was using gal and didn't see it in the documentation...  Oops.  Thanks.

That's a good point about "gal" -- pint 0.6 did not have that shortcut, but 0.7.2 does. Once #665 is merged, gpkit will have "gal" too.


Subscribing to unhandled exceptions via IWiRLHandleExceptionListener does not call the listener

I have setup an exception handler which is not called when an uncaught exception happens in my resource.
The reason seems to be that the exception is caught by this handler inside the worker thread:
https://github.com/delphi-blocks/WiRL/blob/68f392f17334e777786a3e982bc66d76f30a5bd0/Source/Core/WiRL.Core.Application.Worker.pas#L519
Before the logic in the engine can kick in:
https://github.com/delphi-blocks/WiRL/blob/68f392f17334e777786a3e982bc66d76f30a5bd0/Source/Core/WiRL.Core.Engine.pas#L339-L345
My webserver setup looks like this:
....
AServer.SetPort(8080)
    .AddEngine<MyServerEngine>('/api')
    .SetEngineName('MyWebServer').
    .AddSubscriber(IWiRLHandleExceptionListener(TWebserver.TExceptionListener.Create()))
...

Exception Handler:
....
procedure TExceptionListener.TExceptionListener.HandleException(const ASender: TWiRLEngine; const AApplication: TWiRLApplication; Err: Exception);
begin
    DoSomeThing()
end;
...

Resource:
...
procedure TMyResouce.Post(AContent: TBerechnungRecord);

begin
    raise Exception.Create('test');

@lminuti Thank you very much. I owe you at least one beer.


Add In Game Menu "Help" Button

The main menu has a help button, but the in-game menu does not. Propose to add a link to the in-game menu to keep consistency and be a little more streamlined for user.
If agreed, please assign to me.

Closed by PR #1216 (and PR #1212).


Docs: landing page v2 code snippets are truncated on mobile

Page URL:
Landing page v2
Issue:
When trying to read code snippets on mobile Firefox or chrome the end of some lines is cut off and there is no ability to scroll horizontally.
Recommended Fix:
Play with the css a bit :)
Thank you

I'm seeing this issue on desktop as well. I'm seeing it in both the Interfaces and JSX tabs. I tested in a few different browsers/platforms:

Firefox on Windows - Only saw the issue when the screen was small enough to squish the box with the snippets but large enough not to stack vertically like in mobile view
Chrome on macOS - Occurs to varying degrees at all sizes when horizontally stacked and most sizes when the window is small enough to be vertically stacked
Safari on macOS - Same as Chrome
Safari on iOS (iPhone 13 Pro Max) - Occurs in both portrait and landscape


Fix animation event regression

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
regression fix for #14321
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Other information:
@matsko Do you think you could take a look at this?

LGTM


Cannot receive lightning funds

Hi there.
I generate a Lightning invoice and see the sender trying to transfer the funds, but the attempts fail repeatedly.
He has increased the fee from 1000 ppm (standard) to 4000, but the payment still doesn't go through.
Any ideas?

Sorry about this, our LSP has been having some issues with the recent influx of users, this should hopefully be resolved in the next couple of days

Our LSP issues should be resolved now


Publish v2022.06.1. [release]

updates base image to 2022.06 and updates maven version

🙇  Thank you for publishing this release with Android 13 API 33


Error with cpanel 58 PHP path on install

Hello,
Noticed our users were having trouble accessing their CF control panel. This was in the logs:
Child failed to make LIVEAPI connection to cPanel from: ./frontend/paper_lantern/cloudflare/proxy.live.php. at cpanel.pl line 4904.
[2016-07-12 14:46:56 -0400] warn [cpsrvd] The subprocess (cpanel (cpanel)) exited with an error: The subprocess reported error number 10 when it ended. at /usr/local/cpanel/Cpanel/Server/Handlers/SubProcess.pm line 156.
	Cpanel::Server::Handlers::SubProcess::_report_subprocess_errors(Cpanel::Server::Handlers::SubProcess=HASH(0x2a2c8b8)) called at /usr/local/cpanel/Cpanel/Server/Handlers/SubProcess.pm line 71
	Cpanel::Server::Handlers::SubProcess::handler(Cpanel::Server::Handlers::SubProcess=HASH(0x2a2c8b8), "subprocess_name", "cpanel (cpanel)", "subprocess_read_handle", IO::Handle=GLOB(0x2a2c5d0), "subprocess_write_handle", IO::Handle=GLOB(0x2a14810), "api_type", "html", ...) called at cpsrvd.pl line 6369
	cpanel::cpsrvd::cpHandler("app", "cpanel", "document", "./frontend/paper_lantern/cloudflare/proxy.live.php") called at cpsrvd.pl line 2315
	cpanel::cpsrvd::dodoc_cpaneld() called at cpsrvd.pl line 1550
	cpanel::cpsrvd::dodoc(HASH(0xea46c0)) called at cpsrvd.pl line 1315
	cpanel::cpsrvd::handle_one_connection() called at cpsrvd.pl line 807
	cpanel::cpsrvd::script() called at cpsrvd.pl line 314
PHP Warning:  require_once(cloudflare/vendor/autoload.php): failed to open stream: No such file or directory in /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/proxy.live.php on line 2
PHP Fatal error:  require_once(): Failed opening required 'cloudflare/vendor/autoload.php' (include_path='/usr/local/cpanel/3rdparty/php/56/lib/php:.') in /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/proxy.live.php on line 2
[2016-07-12 14:47:41 -0400] die [Internal Death while parsing [live php] 800446] Child failed to make LIVEAPI connection to cPanel from: ./frontend/paper_lantern/cloudflare/proxy.live.php. at cpanel.pl line 4904.
 at cpanel.pl line 4904.
	cpanel::cpanel::setup_external_engine() called at cpanel.pl line 792
	cpanel::cpanel::script("cpanel::cpanel", "./frontend/paper_lantern/cloudflare/proxy.live.php") called at cpanel.pl line 295

Child failed to make LIVEAPI connection to cPanel from: ./frontend/paper_lantern/cloudflare/proxy.live.php. at cpanel.pl line 4904.
[2016-07-12 14:47:42 -0400] warn [cpsrvd] The subprocess (cpanel (cpanel)) exited with an error: The subprocess reported error number 10 when it ended. at /usr/local/cpanel/Cpanel/Server/Handlers/SubProcess.pm line 156.
	Cpanel::Server::Handlers::SubProcess::_report_subprocess_errors(Cpanel::Server::Handlers::SubProcess=HASH(0x2a1ba98)) called at /usr/local/cpanel/Cpanel/Server/Handlers/SubProcess.pm line 71
	Cpanel::Server::Handlers::SubProcess::handler(Cpanel::Server::Handlers::SubProcess=HASH(0x2a1ba98), "subprocess_name", "cpanel (cpanel)", "subprocess_read_handle", IO::Handle=GLOB(0x2a2ccd8), "subprocess_write_handle", IO::Handle=GLOB(0x2a1b9c0), "api_type", "html", ...) called at cpsrvd.pl line 6369
	cpanel::cpsrvd::cpHandler("app", "cpanel", "document", "./frontend/paper_lantern/cloudflare/proxy.live.php") called at cpsrvd.pl line 2315
	cpanel::cpsrvd::dodoc_cpaneld() called at cpsrvd.pl line 1550
	cpanel::cpsrvd::dodoc(HASH(0xea46c0)) called at cpsrvd.pl line 1315
	cpanel::cpsrvd::handle_one_connection() called at cpsrvd.pl line 807
	cpanel::cpsrvd::script() called at cpsrvd.pl line 314
[2016-07-12 14:50:18 -0400] info [install_plugin] Installing to paper_lantern
[2016-07-12 14:50:18 -0400] info [install_plugin] Running sprite_generator
PHP Warning:  require_once(cloudflare/vendor/autoload.php): failed to open stream: No such file or directory in /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/index.live.php on line 2
PHP Fatal error:  require_once(): Failed opening required 'cloudflare/vendor/autoload.php' (include_path='/usr/local/cpanel/3rdparty/php/56/lib/php:.') in /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/index.live.php on line 2
[2016-07-12 14:52:42 -0400] die [Internal Death while parsing [live php] 803206] Child failed to make LIVEAPI connection to cPanel from: ./frontend/paper_lantern/cloudflare/index.live.php. at cpanel.pl line 4904.
 at cpanel.pl line 4904.
	cpanel::cpanel::setup_external_engine() called at cpanel.pl line 792
	cpanel::cpanel::script("cpanel::cpanel", "./frontend/paper_lantern/cloudflare/index.live.php") called at cpanel.pl line 295

Looking at the install script, it appears to install the vendor folder to:
/usr/local/cpanel/3rdparty/php/54/lib/php/cloudflare/vendor/
but on our system, we default to 56
/usr/local/cpanel/3rdparty/php/56/lib/php/
Issuing a
cp -R /usr/local/cpanel/3rdparty/php/54/lib/php/cloudflare/ /usr/local/cpanel/3rdparty/php/56/lib/php/
fixed the issue for us, but just wanted to let you know you may want to update the script to check for different default PHP versions.
Thanks!
Ray

Hi,
Thanks for letting us know about this!  Can you confirm which version of cPanel you're using?  Is it cPanel 58?  I noticed in the change log they upgraded from PHP 5.4 to 5.6 and wanted to confirm you weren't on some custom installation with multiple versions installed.  You ONLY have 5.6 installed correct?
Thanks,
John

Tracking internally PI-676.

Hello, Yes were only using 5.6 and correct cPanel 58. Seems that we only noticed this after the upgrade so I'm betting the version update by cpanel is why.
Thanks for responding so quickly!

Fixed.
https://github.com/cloudflare/CloudFlare-CPanel/pull/100
https://github.com/cloudflare/CloudFlare-CPanel/pull/101

Released in 6.0.5

ok seems we are having the same problem now with cPanel58 our customers are getting the error Child failed to make LIVEAPI connection to cPanel. Seems this has been fixed by cloudflare but  I am unclear what i need to do in order to fix it on my end.

For starters please run:
cat /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/config.js | grep version

if your version is less than 6.0.5 then please manually reinstall the plugin with the command on the README.  If you are already on 6.0.5 please file a support ticket with http://support.cloudflare.com/ as we've had a few customers who are still experiencing isssues and we're in the process of debugging the root cause.
Thanks,
John

Thanks for the response. Yes I have 6.0.4. As to manually reinstall, can I not just run the update: /usr/local/cpanel/bin/cloudflare_update.sh?

If you're on 6.0.4 you should be able to run cloudflare_update.sh.

jwineman,
This still seems to be occurring. When the Cloudflare plugin is installed on a cPanel server earlier than v58, then updated to the latest version, the LIVEAPI connection failure error when clicking Cloudflare from cPanel occurs. I've copied the error below.
Re-installing the plugin fixes this, but the problem described in the original report on this issue still seems to exist.
[2016-09-14 16:30:17 -0400] die [Internal Death while parsing [live php] 13146] Child failed to make LIVEAPI connection to cPanel from: ./frontend/paper_lantern/cloudflare/index.live.php. at cpanel.pl line 4904.
at cpanel.pl line 4904.
cpanel::cpanel::setup_external_engine() called at cpanel.pl line 792
cpanel::cpanel::script("cpanel::cpanel", "./frontend/paper_lantern/cloudflare/index.live.php") called at cpanel.pl line 295
Child failed to make LIVEAPI connection to cPanel from: ./frontend/paper_lantern/cloudflare/index.live.php. at cpanel.pl line 4904.

Hi @Radeyo,
I think this is a cPanel error, not a CloudFlare error.  Can you run:
ls -al /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/index.live.php

and ensure it looks like this:
-rwxr-xr-x. 1 root root 3440 Sep 11 02:12 /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/index.live.php

If it doesn't, try updating the permissions.  If it does I think you'll need to open a ticket with cPanel.
That error means that (this line)[https://github.com/cloudflare/CloudFlare-CPanel/blob/master/index.live.php#L3] is failing, which is outside the plugin's control.
Thanks,
John

@jwineman
Looks to be OK after reinstalling the plugin after the cPanel update. I appreciate the quick follow-up.
[/]# ls -al /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/index.live.php
-rwxr-xr-x 1 root root 3440 Sep 15 09:31 /usr/local/cpanel/base/frontend/paper_lantern/cloudflare/index.live.php*


scrollbar ui issue in docs page sidemenu

Issue
The top half of the scrollbar is hidden inside the top component.
https://floating-ui.com/docs/shift
https://user-images.githubusercontent.com/69904519/227794104-e456982c-5bc8-4803-aac9-176e3218623a.mp4

Thanks, didn't see that with overlay scrollbars when developing it, will be fixed shortly

Side-note: the middle section looks quite narrow for you, Tailwind typography uses the ch char but maybe should just use rem here...


CONFIG_THREAD_LOCAL_STORAGE=y build fails with ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb

ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb is one of the supported toolchains to build Zephyr (for ARM architecture). After https://github.com/zephyrproject-rtos/zephyr/pull/28982 was merged, and with CONFIG_THREAD_LOCAL_STORAGE enabled (which it is, for one sanitycheck configuration of tests/kernel/common), the build fails with:
[ 87%] Linking C executable app_smem_unaligned_prebuilt.elf
/home/buildslave/srv/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /home/buildslave/srv/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7e-m/nofp/libgcc.a(emutls.o): in function `emutls_alloc':
emutls.c:(.text+0x5a): undefined reference to `abort'
/home/buildslave/srv/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: /home/buildslave/srv/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7e-m/nofp/libgcc.a(emutls.o): in function `__emutls_get_address':
emutls.c:(.text+0x7a): undefined reference to `abort'
collect2: error: ld returned 1 exit status
make[2]: *** [zephyr/app_smem_unaligned_prebuilt.elf] Error 1
make[1]: *** [zephyr/CMakeFiles/app_smem_unaligned_prebuilt.dir/all] Error 2
make: *** [all] Error 2

INFO    - /home/buildslave/srv/zephyr/master/gnuarmemb/frdm_k64f/frdm_k64f/tests/kernel/common/kernel.common.tls/build.log

Full build log: https://ci.linaro.org/job/zephyr-upstream/PLATFORM=frdm_k64f,ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb,label=docker-xenial-amd64-13/5680/console

@galak: FYI

This error doesn't happen if built with CONFIG_NEWLIB_LIBC=y, which leads us to the patch https://github.com/zephyrproject-rtos/zephyr/pull/29542.
Note that I didn't try to investigate why emutls.c "the emulation of thread local storage using malloc()" https://github.com/gcc-mirror/gcc/blob/master/libgcc/emutls.c is being used. @galak, let me know if you think that should be investigated.

@dcpleung fyi

since this is the case w/minlibc that fails, its odd to me that this works ok w/Zephyr SDK & fails w/gnuarmemb.

Apparently, some implicitly linked libs included with Zephyr SDK provide abort().

Apparently, some implicitly linked libs included with Zephyr SDK provide abort().

looking at the error message in more detail, I see this is in libgcc, so that partially explains it.

Based on https://github.com/ARM-software/toolchain-gnu-bare-metal/blob/365499ead3c18e9c1a70880c34d8efe08549df3c/build-toolchain.sh#L423 we should probably change things so TLS is only supported w/Zephyr toolchain.

Submitted #29591 to limit the kconfig option to Zephyr SDK only. Hopefully that fixes the issue.

we should probably change things so TLS is only supported w/Zephyr toolchain.

Right. But that's orthogonal to the missing abort() in minlibc, PR #29542.

It's not clear to me the root cause here. Does this toolchain really not support TLS at all? Or is this just some reference to abort() from libgcc that is simply fixed by https://github.com/zephyrproject-rtos/zephyr/pull/29542

According to the link from @galak, it looks like the toolchain is built without TLS support (as configured with --disable-tls).


Defined layers but received error:  init() missing 1 required positional argument: 'layer'

print(tf.version) 2.2.0
print(keras.version) 2.3.0-tf
Message:
init() missing 1 required positional argument: 'layer'
I would like to better understand why I get this message with the following definition used in the example:
https://aihub.cloud.google.com/p/products%2F2290fc65-0041-4c87-a898-0289f59aa8ba
Model function definition:
def model_fn(features, labels, mode, params = params):
# import the data and unpack the features
# serving input_fn returns a dict, convert to multivalue obj
if isinstance(features, dict):
features = features['words'], features['length']
words, length = features

# Embedding
embedding = tf.Variable(tf.random.normal([params['max_words'], params['dim']]))
embedding_lookup_for_x = tf.nn.embedding_lookup(embedding, words)

# LSTM
lstm_cell_fw = tf.keras.layers.LSTMCell(params['lstm_size'])
lstm_cell_bw = tf.keras.layers.LSTMCell(params['lstm_size'])
states, final_state = tf.keras.layers.Bidirectional(
                                    cell_fw = lstm_cell_fw,
                                    cell_bw = lstm_cell_bw,
                                    inputs = embedding_lookup_for_x,
                                    dtype = tf.float32,
                                    time_major = False,
                                    sequence_length = length)
lstm_out = tf.keras.layers.concat([states[0], states[1]], axis = 2)

The original definition was (no longer supported):
# LSTM

lstm_cell_fw = tf.nn.rnn_cell.BasicLSTMCell(params['lstm_size'], state_is_tuple = True)
lstm_cell_bw = tf.nn.rnn_cell.BasicLSTMCell(params['lstm_size'], state_is_tuple = True)
states, final_state = tf.nn.bidirectional_dynamic_rnn(
cell_fw = lstm_cell_fw,
cell_bw = lstm_cell_bw,
inputs = embedding_lookup_for_x,
dtype = tf.float32,
time_major = False,
sequence_length = length)
lstm_out = tf.concat([states[0], states[1]], axis = 2)
Please advise.

@bavanhassel
Please share complete stand alone indented code for us to replicate the issue faced or if possible share a colab gist with the error.
With respect tot he error faced please refer to these issues and let us know:
link, link1

import tensorflow as tf
from functools import partial
from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
from keras.utils import to_categorical
import pickle
params = {
'dim' : 300,            # dimension of embeddings
'maximum_steps' : 1000, # number of training steps
'lstm_size' : 150,      # dimension of LSTM
'batch_size' : 25,      # batch size
'max_words' : 10000,    # maximum number of words to embed
'padding_size' : 20,    # maximum sentence size
'num_classes' : 14,     # number of unique classes
'save_dir' : 'models/' # directory to save hash tables, model weights, etc.
}
In[238]:
def save_obj(directory, obj, name):
'''Helper function using pickle to save and load objects'''
with open(directory + name + '.pkl', 'wb+') as f:
pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)
def load_obj(directory, name):
'''Helper function using pickle to save and load objects'''
with open(directory + name + ".pkl", "rb") as f:
return pickle.load(f)
def load_data(file = "data/train.txt"):
'''Helper function to load and transform inputs and labels
included as a separate function due to NER-specific evaluation needs:
tensorflow does not have multi-class precision/accuracy as a metric
so data_y is needed to manually calculate evaluations'''
file = open(file, 'r')
sentence, labels = [], []
data_x, data_y = [], []
for line in file:
line = line.strip("\n").split("\t")
    # lines with len > 1 are words
    if len(line) > 1:
        sentence.append(line[1])
        labels.append(line[0][2:]) if len(line[0]) > 1 else labels.append(line[0])

    # lins with len == 1 are sentence breaks
    if len(line) == 1:
        data_x.append(' '.join(sentence))
        data_y.append(labels)
        sentence, labels = [], []
return data_x, data_y

def make_tokenizer(file = "data/train.txt", params = params):
''' In order for one hot encoding of words and labels to work,
every word and label has to be seen at least once to make a hashing table.
This function outputs hash tables for the words and the labels
that can be used to one-hot-encode them in the generator
'''
# Load parameters and data
max_words = params['max_words']
padding_size = params['padding_size']
save_dir = params['save_dir']
data_x, data_y = load_data(file)
# Use the Keras tokenizer API to generate hashing table for data_x
tokenizer = Tokenizer(num_words = max_words)

tokenizer.fit_on_texts(data_x)
word_index = tokenizer.word_index

# Flatten data_y and create hashing table using set logic
data_y_flattened = [item for sublist in data_y for item in sublist]
data_x_flattened = [item for sublist in data_x for item in sublist]

labels_index = dict([(y, x + 1) for x, y in enumerate(sorted(set(data_y_flattened)))])
labels = []
for item in data_y:
    labels.append([labels_index.get(i) for i in item])
labels_lookup = {v : k for k, v in labels_index.items()} # reverse dictionary for lookup
# save hash tables to disk for model serving
for item, name in zip([word_index, labels_index, labels_lookup],
                      ["word_index", "labels_index", "labels_lookup"]):
    save_obj(save_dir, item, name)
return word_index, labels_index, labels_lookup

word_index, labels_index, labels_lookup = make_tokenizer()
In[239]:
word_index
In[240]:
labels_lookup
In[241]:
labels_index
In[242]:
def generate_batches(file = "data/train.txt", params = params, train = True):
''' Generate minibatch with dimensions:
batch_x : (batch_size, max_len)
lengths : (batch_size,)
batch_y : (batch_size, num_classes)
file : path to .txt containing training data in BIO format
'''

batch_size = params['batch_size']
max_len = params['padding_size']
save_dir = params['save_dir']

# load hash tables for tokenization
for item, name in zip([word_index, labels_index, labels_lookup],
                      ["word_index", "labels_index", "labels_lookup"]):
    item = load_obj(save_dir, name)

while True:
    with open(file, 'r') as f:
        batch_x, lengths, batch_y = [], [], []
        words, labels = [], []
        for line in f:
            line = line.strip("\n").split("\t")
            # lines with len > 1 are words
            if len(line) > 1:
                labels.append(line[0][2:]) if len(line[0]) > 1 else labels.append(line[0])
                words.append(line[1])

            # lines with len == 1 are breaks between sentences
            if len(line) == 1:
                words = [word_index.get(x) if x in word_index.keys() else 0 for x in words]
                labels = [labels_index.get(y) for y in labels]
                batch_x.append(words)
                batch_y.append(labels)
                lengths.append(min(len(words), max_len))
                words, labels = [], []

            if len(batch_x) == batch_size:
                batch_x = pad_sequences(batch_x, maxlen = max_len, value = 0, padding = "post")
                batch_y = pad_sequences(batch_y, maxlen = max_len, value = 0, padding = "post")
                yield (batch_x, lengths), batch_y
                batch_x, lengths, batch_y = [], [], []
        if train == False:
            break

In[243]:
For model training, we need an input function that will feed a tf.Dataset
def input_fn(file, params = None, train = True):
params = params if params is not None else {}
shapes = (([None, None], [None]), [None, None]) # batch_x, lengths, batch_y shapes
types = ((tf.int32, tf.int32), tf.int32)        # batch_x, lengths, batch_y data types
generator = partial(generate_batches, file, train = train)
dataset = tf.data.Dataset.from_generator(generator, types, shapes)
return dataset

For model serving, we need a serving function that will feed tf.placeholders
def serving_input_fn():
words = tf.placeholder(dtype=tf.int32, shape=[None, None], name='words')
length = tf.placeholder(dtype=tf.int32, shape=[None], name='length')
receiver_tensors = {'words': words, 'length': length}
features = {'words': words, 'length': length}
return tf.estimator.export.ServingInputReceiver(features, receiver_tensors)
In[ ]:
In[244]:
#import keras
#import keras.utils
#from keras import utils as np_utils
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
print(tf.version)
print(keras.version)
In[245]:
def model_fn(features, labels, mode, params = params):
# import the data and unpack the features
# serving input_fn returns a dict, convert to multivalue obj
if isinstance(features, dict):
features = features['words'], features['length']
words, length = features

# Embedding
embedding = tf.Variable(tf.random.normal([params['max_words'], params['dim']]))
embedding_lookup_for_x = tf.nn.embedding_lookup(embedding, words)

# LSTM
lstm_cell_fw = tf.keras.layers.LSTMCell(params['lstm_size'])
lstm_cell_bw = tf.keras.layers.LSTMCell(params['lstm_size'])
states, final_state = tf.keras.layers.Bidirectional(
                                    cell_fw = lstm_cell_fw,
                                    cell_bw = lstm_cell_bw,
                                    inputs = embedding_lookup_for_x,
                                    dtype = tf.float32,
                                    time_major = False,
                                    sequence_length = length)
lstm_out = tf.keras.layers.concat([states[0], states[1]], axis = 2)

#tf.compat.v1.keras.layers.LSTMCell
#keras.layers.Bidirectional(keras.layers.RNN(cell))
# LSTM

lstm_cell_fw = tf.nn.rnn_cell.BasicLSTMCell(params['lstm_size'], state_is_tuple = True)
lstm_cell_bw = tf.nn.rnn_cell.BasicLSTMCell(params['lstm_size'], state_is_tuple = True)
states, final_state = tf.nn.bidirectional_dynamic_rnn(
cell_fw = lstm_cell_fw,
cell_bw = lstm_cell_bw,
inputs = embedding_lookup_for_x,
dtype = tf.float32,
time_major = False,
sequence_length = length)
lstm_out = tf.concat([states[0], states[1]], axis = 2)
# Conditional random fields
logits = tf.layers.dense(lstm_out, params['num_classes'])
crf_params = tf.get_variable("crf", [params['num_classes'], params['num_classes']],
                             dtype=tf.float32)
pred_ids, _ = tf.contrib.crf.crf_decode(logits, crf_params, length)
training = (mode == tf.estimator.ModeKeys.TRAIN)

# Prediction
if mode == tf.estimator.ModeKeys.PREDICT:
    predictions = {
        'pred_ids': pred_ids,
        'tags': words,
        'length' : length,
    }
    export_outputs = {
      'prediction': tf.estimator.export.PredictOutput(predictions)
  }

    return tf.estimator.EstimatorSpec(mode, predictions=predictions,
                                      export_outputs=export_outputs)

# Loss functions and optimizers
log_likelihood, _ = tf.contrib.crf.crf_log_likelihood(
    logits, labels, length, crf_params)

loss = tf.reduce_mean(-log_likelihood)
train_op = tf.train.AdamOptimizer().minimize(
    loss, global_step = tf.train.get_or_create_global_step())

# Training
if mode == tf.estimator.ModeKeys.TRAIN:
    return tf.estimator.EstimatorSpec(mode = mode,
                                       loss = loss,
                                       train_op = train_op)

In[246]:
Spin up the estimator
config = tf.estimator.RunConfig()
estimator = tf.estimator.Estimator(model_fn, 'models/model', config, params)
Create train spec
train_input_fn = partial(input_fn, "data/train.txt", params = params)
train_spec = tf.estimator.TrainSpec(train_input_fn)
Create evaluation spec
eval_input_fn = partial(input_fn, "data/test.txt", params = params, train = False)
eval_spec = tf.estimator.EvalSpec(eval_input_fn)
In[247]:
import time
ts = time.time()
estimator.train(input_fn = train_input_fn, max_steps = 1000)
te = time.time()
print("Completed in {} seconds".format(int(te - ts)))
estimator.export_savedmodel('models/saved_model/', serving_input_fn)
In[130]:
Generate predictions
predictions = estimator.predict(eval_input_fn)
Load hash tables and true labels
labels_index = load_obj(params['save_dir'], "labels_index")
_, true = load_data("data/test.txt")
Specify which label_index is non-entity
dummy_label = labels_index.get("O")
Convert [[string, string], [string, string] ...] to [[int, int], [int, int]]
with hashing table for label indexes
labels = []
for row in true:
labels.append([labels_index.get(y) for y in row])
Loop through preds, labels and calculate metrics
precisions, recalls, f1s = [], [], []
for pred, true in zip(predictions, labels):
pred = pred['pred_ids'][:pred['length']] # undo pad_sequences
pred = [x for x in pred if x != dummy_label] # remove preds that aren't entities
true = np.asarray([x for x in true if x != dummy_label])
recall = calc_recall(true, pred)
recalls.append(recall)
precision = calc_precision(true, pred)
precisions.append(precision)
f1s.append(calc_f1(precision, recall))
print("Precision: {} \nRecall: {} \nF1-score: {}".format(np.around(np.mean(precisions), 3),
np.around(np.mean(recalls), 3),
np.around(np.mean(f1s), 3)))
In[211]:
from pathlib import Path
from tensorflow.contrib import predictor
LINE = 'did george clooney make a science fiction movie in the 1980s'
def predict(line, export_dir = 'models/saved_model/', params = params):
# Load hash tables
word_index = load_obj(params['save_dir'], "word_index")
labels_lookup = load_obj(params['save_dir'], "labels_lookup")
# Identify and load model weights
subdirs = [x for x in Path(export_dir).iterdir()
               if x.is_dir() and 'temp' not in str(x)]
latest_model = str(sorted(subdirs)[-1])
predict_fn = predictor.from_saved_model(latest_model)

# Preprocess sentence input
line = line.strip().split()
vector = [word_index.get(x) if x in word_index.keys() else 0 for x in line] # tokenize
vector[len(vector):20] = [0] * (20 - len(vector)) # pad prediction

# Calculate precision and transform for display
predictions = predict_fn({'words': [vector], 'length': [len(line)]})
tags = predictions.get('tags')
preds = predictions.get('pred_ids')
for tag, pred in zip(tags, preds):
    tag = [word for word in tag if word != 0] # unpad
    pred = pred[:len(tag)]
    pred = [labels_lookup.get(num) for num in pred] #untokenize
    print(line, "\n", pred)

predict(LINE)
In[ ]:
In[ ]:

@bavanhassel
Please share the code as a colab gist [google colab gist], indentation errors in this code will delay the replication of issue faced.

https://colab.research.google.com/gist/bavanhassel/01f4fddf93ca028671cf7f280018e54c/named_entity_recognition.ipynb

https://colab.research.google.com/gist/bavanhassel/9efd30c15d02f64a5454e45ae0dfc665/try_keras_ner_github.ipynb

@bavanhassel
Please share "ner_dataset.csv" for us to replicate the issue on our local.

https://www.kaggle.com/abhinavwalia95/loading-named-entity-recognition-training-dataset

@bavanhassel
Please provide the csv directly, i cannot access kaggle and download it.

This application does not support uploading csv files

ner_dataset.txt
You can change the file extension back to csv

@bavanhassel
I ran the code shared and face a different error, please find the gist here.

test.txt
train.txt

@bavanhassel
I ran the code shared and face a different error, please find the gist here..
It is not possible to replicate the issue faced unless all dependencies are shared.


Roadmap: 0.2 (draft)

This is a draft of version 0.2.
Under development on the main branch
Roadmap

[x] Remove the default feature of csr.
[x] icondata was upgraded to v0.3.
[x] Controlled manner & uncontrolled manner (Change RwSignal to Model. Allows RwSignal (ReadSignal, None) (None, SignalSetter) to be converted to Model.)
[x] Change most of #[prop(optional)] T to #[prop(optional)] Option<T>
[x] leptos updated to v0.6.0.
[x] ButtonVariant::Solid is changed to ButtonVariant::Outlined
[x] Checkbox children can be empty.
[x]  Rewrite Code component.

All the items seems to be checked - when 0.2 is supposed to land on crates.io?

These days are busy, I will probably release 0.2 in this day or two.


Colour difference in hover and click

Describe the bug
On the home page of website in the navbar , when I hover on "Getting Started" the color is different than when I click it.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://circuitverse.org/'
Click on 'Getting Started'
See colour difference in hover and click

Expected behavior
The colour should be same as it looks more professional that way and all other navlinks have same colour in hover and click.
Screenshots
Hover image

Click Image

Device Information [optional]:

macOS
Browser [Chrome]

Are you working on this issue? (Yes/No)
Yes I am working on this issue and will provide the PR soon.

Hi, anyone still working on this issue, or can I work on it?

Hi @reejuBhattacharya , Yes I am working on it and will provide a PR soon!

Ok cheers!

I have solved the issue, can i make a pr? as the issue has not been resolved since 22 days.

@harshagrawal523 This is the expected behavior for dropdown nav links similar to user dropdown. @nitin10s

Okay sir , I will close the issue.

@vedant-jain03 Thanks for confirming.


Change color of ignored files in tree view

Prerequisites

[X] Plugin is in the latest version
[X] Issue was not reported yet
[ ] Stack trace (if provided) contains mobi.hsz.idea.gitignore package name

Description
Since the latest update, the color for the ignored files is defaulted to some sort of brown (instead of grey as it used to be). Screenshot:

Is it possible at all to change this color?
Thanks.

Fixed as per this comment: https://github.com/ChrisRM/material-theme-jetbrains/issues/542.


[Compute] az vm host: Add new command restart to support dedicated host reboot

Description

new command https://github.com/Azure/azure-cli/issues/20718
close https://github.com/Azure/azure-cli/issues/20718
wait new compute SDK release to support it ( waiting)
block by https://github.com/Azure/azure-cli/issues/20718#issuecomment-1007220882
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Compute


Refactor trafficlight adapter

[x] Move actions to separate files (eg: register, login, logout in auth.ts)
[ ] Report errors to trafficlight
[x] Make sure IDE picks up custom command

After some IRL discussion; We're going to merge this with the error handling uncompleted; there's future changes to this which also need to be merged so going to handle them in a separate PR.


Local endpoint not being processed, yet it returns data

Firstly, love the component! Very cool!
It works fine with your demo API endpoint, I've also connected it successfully to a remote endpoint on a project cloud server.
However, what's really, really weird is that when I try and access a local endpoint (localhost:8000/api/sites)- which works fine in the browser, nothing shows up.
I know for a fact that JSON data IS being returned.
I get no errors of any kind. I'm seriously stuck. Any help would be much appreciated.

Use vue-devtools. Inspect your components and see if any data is saved. You can also see the imported components like vue-table in this case together with all their data, props and computed properties. Here is a starting fiddle.
Make sure you don't have issues like CORS.

Hi @cristijora, thanks for your reply!
I did use vue-devtools. For the cases where it worked, the data could clearly be seen. in this case, inspecting the object, just confirmed that "yup, it's got the right url" but nothing beyond that.
Thanks for doing the fiddle.  I can put my endpoint test route up for sure. The rest of the vuetable-2 code, is exactly like the tutorial, except the endpoint url is different.
Wouldn't CORS apply if I was accessing a domain outside of localhost? It's an idea though. Also, I don't get any browser warnings, and I can see the url results if I just type it into a browser window.
Thanks again for replying. I'll put my code up soon.

OK! I've made some (odd) progress. Using vue-tools I can see the data under the vuetable->tablePagination property, it shows an Array[7] in which all the right objects are there. Yet the vuetable->data property is null.
This is the table definition:
  <vuetable ref="vuetable"
      api-url="http://localhost:8000/api/sites"
      :fields="fields"
      :css="css"
      pagination-path=""
      :multi-sort="true"
      multi-sort-key="ctrl"
      :sort-order="sortOrder"
      detail-row-component="my-detail-row"
      :append-params="moreParams"
      @vuetable:cell-clicked="onCellClicked"
      @vuetable:pagination-data="onPaginationData"
    ></vuetable>

    <vuetable-pagination-info ref="paginationInfo"
      ></vuetable-pagination-info>

This is the field definition:
  data () {
    return {
      css: {
        tableClass: 'table is-striped',
        ascendingIcon: 'fa fa-chevron-up',
        descendingIcon: 'fa fa-chevron-down',
        sortHandleIcon: 'fa fa-bars'
      },
      fields: [
        {
          name: '__checkbox',
          title: '#',
          titleClass: 'has-text-centered',
          dataClass: 'has-text-centered'
        },
        {
          name: 'id',
          sortField: 'id',
          titleClass: 'has-text-centered',
          dataClass: 'has-text-right',
          callback: 'formatNumber'
        },
        {
          name: 'siteName',
          title: 'Site Name',
          sortField: 'siteName'
        },
        {
          name: '__component:custom-actions',
          title: 'Actions',
          titleClass: 'has-text-centered',
          dataClass: 'has-text-centered'
        }

And lastly the output of: http://localhost:8000/api/sites
[{"id":1,"siteName":"Bukit Pasir"},{"id":2,"siteName":"Batu 23 lenga"},{"id":3,"siteName":"Desaru 2"},{"id":4,"siteName":"Hentian Penawar"},{"id":5,"siteName":"Hotel Selesa"},{"id":6,"siteName":"Kampung Maju Jaya"},{"id":7,"siteName":"Parit Madirono Replacement"}]
Any pointers as to where I might be messing up, greatly appreciated.
Thanks in advance.

@adavie1 What is the browser you're using? Are you using the code from master branch or develop branch? Which version of Vue that you're using?

Hi @ratiw , I'm using Vue 2.2.6 - testing in Chrome on Linux (Ubuntu 16.04). I installed using npm install vuetable-2 so whatever branch that pulls from.

@adavie1 Can you please update the package.json to make it refer to the develop branch
  "vuetable-2": "git://github.com/ratiw/vuetable-2.git#develop",

Run npm update and try again.
It looks like someone has mentioned this problem and we've already fixed that. The fix might be in the develop branch. If not, we'll try to figure it out what was wrong.

@ratiw - just did that- now I have<EMAIL_ADDRESS>but the issue still persists.

Is there any error dumping out in the browser's console?

Just notice that your JSON doesn't contain data structure that Vuetable expected. Try adding data-path="" to vuetable.

@ratiw  - there are no errors in the console.

Try the data-path I mentioned above.

https://github.com/ratiw/vue-table/wiki/Data-Format-(JSON)

I added this:
    <vuetable ref="vuetable"
      api-url="http://localhost:8000/api/sites"
      data-path=""
      :fields="fields"
...

Thanks for the link, I'll check it out and amend the JSON.

Try fixing the JSON structure, then let us know.

@ratiw  - thanks, will do.

Hi @ratiw , Thanks for your patience in my reply- was tied up on another project.
Yes, adding "data" to the JSON value fixes the issue:
{"data":[{"id":1,"siteName":"Bukit Pasir"},{"id":2,"siteName":"Batu 23 lenga"},{"id":3,"siteName":"Desaru 2"},{"id":4,"siteName":"Hentian Penawar"},{"id":5,"siteName":"Hotel Selesa"},{"id":6,"siteName":"Kampung Maju Jaya"},{"id":7,"siteName":"Parit Madirono Replacement"}]}
Now correctly displays the data.
Thanks for your support.


Next HiRISE images for upload

Hi,
We're going to be done with Inca City Season 4 soon. We'd like to focus on getting to four years of classifications for another region on Mars dubbed Manhattan. We would need the following HiRISE images processed into cutouts and uploaded into the database:
ESP_030184_0940
ESP_029762_0940
ESP_029406_0940
ESP_029050_0940
ESP_029024_0940
ESP_029143_0935
ESP_028998_0935
ESP_028932_0935
ESP_028931_0935
ESP_029934_0935
ESP_029657_0935
ESP_029578_0935
ESP_029301_0935
ESP_029090_0935
ESP_029037_0935
Any chance we could get this data processed and live before the cratering test goes live?
Thanks

https://drive.google.com/a/zooniverse.org/file/d/0Bwb8Rkj3mY9ZNFdXZVRKVnhaUzQ/view?usp=sharing
How's this look? Given a thumbs up, I can have the data active shortly after.

Looks good to upload. Thanks very much.  But let's leave this paused for the time being. We'll need it very soon, but the. team wants to make sure Inca City gets completed, since it can be its own paper and gives us multiple reasons for newsletters that are needed for the next few weeks.  There are supposed to be a few. First one can be finishing up Inca City, and second can be releasing the new Manhattan data. We will need to switch to Manhattan very soon (as early as next week if the response to the second newsletter is huge).

Roger that, just give me a poke when ready to swap/add new data.

Hey @chrissnyder ,
We're at 99% complete with what's currently live. Can you push these images live?
Thanks,
~Meg

Here is the complete list of Manhattan image numbers. Note that for season
4 we have two different Manhattan seasons defined, distinguishable by their
coordinates.
class Manhattan:
lat = --85.751
lon = 105.971
season4 = ['ESP_030184_0940',
'ESP_029762_0940',
'ESP_029406_0940',
'ESP_029050_0940',
'ESP_029024_0940']
class Manhattan2:
lat = -86.39
lon = 99
season4 = ['ESP_028932_0935',
'ESP_028931_0935',
'ESP_029934_0935',
'ESP_029657_0935',
'ESP_029578_0935',
'ESP_029301_0935',
'ESP_029090_0935',
'ESP_029037_0935']
season3 = ['ESP_022339_0935',
'ESP_021468_0935',
'ESP_020888_0935',
'ESP_020532_0935',
'ESP_020255_0935',
'ESP_022260_0935',
'ESP_021495_0935',
'ESP_021455_0935',
'ESP_020954_0935',
'ESP_020598_0935',
'ESP_020519_0935',
'ESP_020321_0935',
'ESP_020214_0935',
'ESP_020202_0935']
season2 = ['ESP_011394_0935',
'ESP_011671_0935',
'ESP_011961_0935',
'ESP_012251_0935',
'ESP_012739_0935',
'ESP_012821_0865',
'ESP_012884_0935',
'ESP_013016_0935',
'ESP_013095_0935']
season1 = ['PSP_003285_0935',
'PSP_003430_0935',
'PSP_003746_0935',
'PSP_003773_0935',
'PSP_003997_0935',
'PSP_004142_0935',
'PSP_004920_0935',
'PSP_002532_0935',
'PSP_002533_0935',
'PSP_002850_0935',
'PSP_002876_0935',
'PSP_002942_0935',
'PSP_003496_0935',
'PSP_003523_0935',
'PSP_003575_0935',
'PSP_003641_0935',
'PSP_005579_0935']
On Thu, Mar 26, 2015 at 4:05 PM, Meg Schwamb<EMAIL_ADDRESS>wrote:

Hey @chrissnyder https://github.com/chrissnyder ,
We're at 99% complete with what's currently live. Can you push these
images live?
Thanks,
~Meg
—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/MarsZoo/issues/133#issuecomment-86734379.

Data online.

Thanks!
On Thu, Mar 26, 2015 at 5:11 PM, Chris Snyder<EMAIL_ADDRESS>wrote:

Closed #133 https://github.com/zooniverse/MarsZoo/issues/133.
—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/MarsZoo/issues/133#event-266433040.


HMS-2693 feat: Implement JWK creation and load

Implement functions to create a new JWK with expected properties and load a serialized JWK.
GenericePrivateJWK() creates a private JWK with EC / P256, kid, and expiration time stamp.
GetPublicJWK() is a helper to create a public JWK from a private JWK.
ParseJWK() deserializes a JWK string that has been previously serialized with json.Marshal. The function validates various properties including expiration.

I have modified GenericePrivateJWK() to take an expiration time instead of a validity time duration. It makes it easier to test the code and later to store the expiration time in the database.

Thanks!  Merging.


fix ngrok s6 error

Unfortunately it no longer works in Home Assistant. I have tried everything but I can't find a solution !! Even restoring old configurations, nothing ... the NGROK folder is deleted !!! Help thanks


Use execFileSync instead of sync-exec

Probably needs to be tested on OS X first.
Fixes #3.

Too early to require Node 0.12 unfortunately. Can you conditionalize it?

You could release it as a major, but might be better to conditionalize it for now.

Feature test if execFileSync is available.

Ah, of course.


Question: What is the difference between using python-lsp-ruff and using ruff-lsp?

I posted here, but just want to crosspost in case you are able to answer it better https://github.com/python-lsp/python-lsp-server/discussions/553

Thank you!

python-lsp-server also provides access to other features, such as go-to, object renaming etc, while ruff-lsp can 'only' do what ruff itself provides.

The Pyright LSP provides those things as well, right?  If I'm using PyRight for renaming and go-to, would I want Ruff as well?

Yes, pyright also allows for renaming etc. In this case I would go for pyright (type checking, goto) + ruff-lsp (linting, formatting)

Thank you!

supposed you meant pylance?
didn't use ruff-lsp but I supposed better idea was enhanced something which let this have better usage experience than that. :sweet_smile:
--
shane.xb.qian

@Shane-XB-Qian I use NeoVim with the language servers: pyright and ruff_lsp.


Determining if in production mode in setup.rb

I am trying to set the Compass http_path to a CDN in production mode. Unfortunately Frank::Settings.instance.production? still returns false at this point since the setup.rb is parsed before the settings are set.
I tried to refactor it to set the settings before parsing setup.rb but ran into other problems on the way.
Now I am using Frank::CLI.instance_variable_get('@options')[:production] in setup.rb which feels like punching a puppy every time I deploy.
Is there a better way to do it?

Hadn't thought about this as being a need, looks like it is. I can't think of a better way to handle it right now, but I'll make it part of the next major release for sure.

Great, thanks a lot!


Setters of MetainfoBuilder incorrectly works with result of BTreeMap::insert method.

case 0:
fn print_by_kind(v: &BencodeMut) {
    /* just recursively parse & prints bencode contents using bip_bencode crate  */
}

fn main() {
    let builder = MetainfoBuilder::new().set_comment(Some("Just Some Comment"));
    // By default root prop is private but we ignore that now
    let bencode_root = builder.root;

    // I directly work with root dictionary
    // cause for build metainfo with build method we need additional info dict.
    print_by_kind(&bencode_root);
}

print_by_kind source
run it and see nothing.
case 1:
fn main() {
    let builder = MetainfoBuilder::new()
        .set_comment(Some("any"))
        .set_comment(Some("way"));

    let bencode_root = builder.root;

    print_by_kind(&bencode_root);
}

output is the same.
I spent some time to understand why this is happening and here are the results of my digging:
src/builder/mod.rs
/// Set or unset a comment for the torrent file.
pub fn set_comment(mut self, opt_comment: Option<&'a str>) -> MetainfoBuilder<'a> {
   {

        let dict_access = self.root.dict_mut().unwrap();
        opt_comment
             // Problem here, we always fall into or_else and removing inserted key.
            .and_then(|comment| dict_access.insert(parse::COMMENT_KEY.into(), ben_bytes!(comment)))
            .or_else(|| dict_access.remove(parse::COMMENT_KEY));
    }

    self
}

type of dict_access is BDictAccess<Cow<'a, [u8]>, V>
bip_bencode/src/access/dict.rs
impl<'a, V> BDictAccess<Cow<'a, [u8]>, V> for BTreeMap<Cow<'a, [u8]>, V> {
    fn insert(&mut self, key: Cow<'a, [u8]>, value: V) -> Option<V> {
        self.insert(key, value)
    }
}

Quote from BTreeMap docs:
If the map did not have this key present, None is returned.

If the map did have this key present, the value is updated, and the old value is returned.

now return to the our code of set_comment method:
opt_comment
     // Problem here, we always fall into or_else and removing inserted key.
    .and_then(|comment|
/*
insert can return Some if key already exists in map else returns None
but what about second case from the beginning?
*/
    dict_access.insert())
    .or_else(|| dict_access.remove(parse::COMMENT_KEY));

some tests on BTreeMap:
const COMMENT_KEY: &'static [u8] = b"comment";

fn main() {
    let mut map = BTreeMap::<Cow<[u8]>, BencodeMut>::new();
    assert_eq!(map.insert(COMMENT_KEY.into(), ben_bytes!("any")), None);
    assert_eq!(map.remove(COMMENT_KEY), Some(ben_bytes!("any")));
    assert_eq!(map.insert(COMMENT_KEY.into(), ben_bytes!("way")), None);
}

But anyway current code in setters of MetainfoBuilder incorrectly working with result of insert method.
Fix it:
patch for set_comments
/// Set or unset a comment for the torrent file.
pub fn set_comment(mut self, opt_comment: Option<&'a str>) -> MetainfoBuilder<'a> {
    {
        let dict_access = self.root.dict_mut().unwrap();

        if let Some(comment) = opt_comment {
            dict_access.insert(parse::COMMENT_KEY.into(), ben_bytes!(comment));
        } else {
            dict_access.remove(parse::COMMENT_KEY);
        }
    }

    self
}

@GGist, PR #144

#144 fixed this issue, can be closed


pigpiod unable to initialize with kernel 5.11

Kernel 5.11 introduced some big changes to how GPIOs are accessed. When moving to kernel 5.11 on Ubuntu 21.04 (armhf) I get the following errors when attempting to start pigpiod:
ubuntu@ubuntu:~$ sudo pigpiod -v
79
ubuntu@ubuntu:~$ sudo pigpiod
ubuntu@ubuntu:~$ 2021-05-05 16:54:19 initAllocDMAMem: mbox open failed(No such device or address)
Can't initialise pigpio library

ubuntu@ubuntu:~$ sudo pigpiod -a1
ubuntu@ubuntu:~$ 2021-05-05 16:54:26 sigHandler: Unhandled signal 11, terminating

Since this works on Ubuntu 20.10 with kernel 5.8 I believe the kernel changes are causing this issue.

Pigpio does not use the kernel for GPIO access.

What else should I look into to determine why I'm having these failures on the latest Ubuntu?

Well the failure is as given in the error message
2021-05-05 16:54:19 initAllocDMAMem: mbox open failed(No such device or address)
Presumably the mailbox has been renamed or removed in Ubuntu.

@GlenPickle Could you add the command to your comment for others who come across the issue?

Absolutely, the command is sudo modprobe vcio. This will eventually be fixed in Ubuntu 21.04 by automatically loading that module at boot time.

@GlenPickle Thanks.


Redisson client keeps running after shutdown invoked

I have the following code:
RedissonClient redisson = Redisson.create();

RMap<Object, Object> mymap = redisson.getMap("mymap");
mymap.put("field1", "value1");
mymap.put("field1", "value2");

redisson.shutdown();

logger.info("Here but JVM still runs after this line");

And the output is:
2018-02-01 15:24:14 INFO  Version:41 - Redisson 3.6.0
2018-02-01 15:24:14 INFO  MasterPubSubConnectionPool:144 - 1 connections initialized for /<IP_ADDRESS>:6379
2018-02-01 15:24:14 INFO  MasterConnectionPool:144 - 10 connections initialized for /<IP_ADDRESS>:6379
2018-02-01 15:24:17 INFO  RedisTest:21 - Here but JVM still runs after this line

What is other than shutdown needed for graceful shutdown?

I got a thread dump and noticed this non daemon thread:
"ObjectCleanerThread" #13 prio=1 os_prio=31 tid=0x00007f885a05e800 nid=0xa803 in Object.wait() [0x00007000092cf000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x000000076ab108b0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x000000076ab108b0> (a java.lang.ref.ReferenceQueue$Lock)
    at io.netty.util.internal.ObjectCleaner$1.run(ObjectCleaner.java:52)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)

Fixed in the next (unreleased) version of Netty.
https://github.com/netty/netty/pull/7627

@mustafaakin Thanks for report! I'll update netty dependency in 3.6.1 version.
@johnou Thanks for information! I didn't know that you're netty contributor!

Netty version updated

@mrniko just a contributor, not on the team ;)

@johnou It's just a question of time :)


confirm message support

Click Confirmation Message Box on Button or Link?

Hi, there is such an opportunity with the release of corrective release 6.1.2 - 2019-09-20
‘’’php
Button::make(“Delete”)->confirm(“your text”);
‘’’

You can also use modal windows as confirmation

thank you！


LEGO: Pull request from lego/hb_a12a4630-4852-4e7d-9cbc-c0e1117da1ab_20210506194746317 to main

LEGO: Pull request from lego/hb_a12a4630-4852-4e7d-9cbc-c0e1117da1ab_20210506194746317 to main with localized lcls

closing since there are no changes left