upgrade cs-operator in tethered-namespaces

What this PR does / why we need it:
upgrade cs-operator in tethered-namespaces
Which issue(s) this PR fixes:
Fixes # https://github.ibm.com/IBMPrivateCloud/roadmap/issues/64068

Test the script with following namespace

namespace test-upgrade which is the tenant namespace with old CPFS 3.23 operator installed
namespace test-upgrade-new which is the new operator namespace with nothing.

➜ oc get csv -n test-upgrade
NAME                                   DISPLAY                               VERSION   REPLACES                           PHASE
ibm-cert-manager-operator.v4.2.3       IBM Cert Manager                      4.2.3     ibm-cert-manager-operator.v4.2.2   Succeeded
ibm-common-service-operator.v3.23.14   IBM Cloud Pak foundational services   3.23.14                                      Succeeded

➜ oc get csv -n test-upgrade-new
NAME                               DISPLAY            VERSION   REPLACES                           PHASE
ibm-cert-manager-operator.v4.2.3   IBM Cert Manager   4.2.3     ibm-cert-manager-operator.v4.2.2   Succeeded

The script is stuck at configuring the CommonService CR in original tenant namespace.
@qpdpQ I think we will need to configure CommonService CR first, and then upgrading CPFS operator in tenant namespace.
./cp3pt0-deployment/setup_tenant.sh --operator-namespace test-upgrade-new --tethered-namespaces test-upgrade --license-accept -c v4.9

All arguments passed into the setup_tenant.sh: --operator-namespace test-upgrade-new --tethered-namespaces test-upgrade --license-accept -c v4.9

# Start to validate the parameters passed into script...
[✔] oc command available
[✔] yq command available
[✔] oc command logged in as kube:admin
[✔] Channel v4.9 is valid
[INFO] CommonService CRD exists but main CommonService CR does not exist, skipping defaulting from original CommonService CR

...

# Installing IBM Foundational services operator into operator namespace test-upgrade-new...
# Checking if CommonService CRD exists in the cluster...
[INFO] CommonService CRD exist

# Configuring CommonService CR in test-upgrade-new...
[INFO] Creating the CommonService object:

apiVersion: operator.ibm.com/v3
kind: CommonService
metadata:
  name: common-service
  namespace: test-upgrade-new
spec:
  operatorNamespace: test-upgrade-new
  servicesNamespace: test-upgrade-new
  size: starterset

commonservice.operator.ibm.com/common-service created
[✔] Successfully patched CommonService CR in test-upgrade-new
# Checking whether IBM Common Service operator exist...
[INFO] Creating following Subscription:

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: ibm-common-service-operator
  namespace: test-upgrade-new
spec:
  channel: v4.9
  installPlanApproval: Automatic
  name: ibm-common-service-operator
  source: opencloud-operators
  sourceNamespace: openshift-marketplace

subscription.operators.coreos.com/ibm-common-service-operator created
# Validate CatalogSource for operator ibm-common-service-operator in test-upgrade namespace
[✔] CatalogSource opencloud-operators from openshift-marketplace CatalogSourceNamespace is available for ibm-common-service-operator in test-upgrade namespace
# Updating ibm-common-service-operator in namesapce test-upgrade...
[INFO] v3.23 is less than v4.9
[INFO] catalogsource opencloud-operators-ltsr is different from opencloud-operators
[INFO] ibm-common-service-operator is ready for updating the subscription.
Warning: resource subscriptions/ibm-common-service-operator is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by oc apply. oc apply should only be used on resources created declaratively by either oc create --save-config or oc apply. The missing annotation will be patched automatically.
subscription.operators.coreos.com/ibm-common-service-operator configured
[✔] Successfully patched subscription ibm-common-service-operator in test-upgrade
[INFO] Waiting for operator ibm-common-service-operator to be upgraded
[✔] Operator ibm-common-service-operator is upgraded to latest version in channel v4.9

# Configuring CommonService CR in test-upgrade...
[INFO] Creating the CommonService object:

apiVersion: operator.ibm.com/v3
kind: CommonService
metadata:
  name: common-service
  namespace: test-upgrade
spec:
  operatorNamespace: test-upgrade-new
  servicesNamespace: test-upgrade-new
  size: starterset

pod/ibm-common-service-operator-755998bd46-99bfh condition met
Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "vcommonservice.kb.io": failed to call webhook: Post "https://ibm-common-service-operator-service.test-upgrade.svc:443/validate-operator-ibm-com-v3-commonservice?timeout=10s": no endpoints available for service "ibm-common-service-operator-service"
[✗] Failed to patch CommonService CR in test-upgrade, retry it in 30 seconds...
pod/ibm-common-service-operator-755998bd46-99bfh condition met
Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "vcommonservice.kb.io": failed to call webhook: Post "https://ibm-common-service-operator-service.test-upgrade.svc:443/validate-operator-ibm-com-v3-commonservice?timeout=10s": no endpoints available for service "ibm-common-service-operator-service"
[✗] Failed to patch CommonService CR in test-upgrade, retry it in 30 seconds...
pod/ibm-common-service-operator-755998bd46-99bfh condition met
Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "vcommonservice.kb.io": failed to call webhook: Post "https://ibm-common-service-operator-service.test-upgrade.svc:443/validate-operator-ibm-com-v3-commonservice?timeout=10s": no endpoints available for service "ibm-common-service-operator-service"


[Feature] Addition of support to mirroring of the video capture

This adds a new feature to expose the ability to mirror the video capture stream. This does not change any default or existing behavior.

Oh sorry, I missed your PR.
On iOS, the front camera is always mirrored. I thought this was your requirement.
In what use case, do you have to mirror or not the video?

@ThibaultBee Here is the write-up on explanation of the use-case
https://github.com/ThibaultBee/StreamPack/issues/72#issuecomment-1646117630

As far as I understand, you just need to mirror front cameras which is already the case in this project (not on Android yet).
So, the addition of an API to enable/disable mirroring does not seem usefull. Am I missing something? Do you need what is in the PR?
If you don't need this API, I will close the PR (not merge it).

Rejected as we force the mirror for front camera now: see https://github.com/apivideo/api.video-swift-live-stream/blob/da9e8db7a1144f13bcae7ceea5708ade26e91a4a/Sources/ApiVideoLiveStream/ApiVideoLiveStream.swift#L294


autocomplete

Description
Add a detailed description of your issue.
Repro Steps
Layout the steps to reproduce your issue.
Screenshots / Codepen
Add supplemental screenshots or code examples. Look for a codepen template in our Contributing Guidelines.

Please describe the issue.


Create a JS playground with @chat-e2ee/service package

Create a fiddle using @chat-e2ee/service package to demonstrate basic functionalities.
use<EMAIL_ADDRESS>https://github.com/muke1908/chat-e2ee/tree/master/service

Hi @muke1908 .... can I take up this?

@rohan-naik07 Sure, go ahead.

Whats exactly a fiddle?... like a web app that exposes the APIs to create dummy channels?

fiddle means online code editor right that exposes all the APIs of the sdk ...like two code editors which represent 2 users and we can create a dummy channel between them?

@rohan-naik07 yes, working demo of the exposed APIs on the SDK.

So basically I will proceed with a new react app called e2ee-playground.

this frontend will have 2 open code editors which expose all the apis of the SDK.
person can run the code in the editors on the cloud runtime (eg- aws lamdba) and render the logs of each editor below the each editor respectively

I think you can just keep it vanilla-js, react-app is unnecessary imo.
You can use codesandbox for writing code.
Instead of 2 editor, we can simulate 2 users using iframe - user1 is main window, user2 embedded in an iframe.
Here is an example: https://codesandbox.io/p/sandbox/gracious-pine-6jhqwt

So its just creating two html pages in the sandbox which simulate two users and embed the second user in first user's window. the two users can send messages to each user using common channel.

Yes. I didn't understand what you meant by "common channel" but they both will have their own chatInstance


Revert "Aligning the gx64krb5 SSO Kerberos for SAP BW doc with the other docs"

Reverts MicrosoftDocs/powerbi-docs#3565

@maggiesMSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@maggiesMSFT: I'm sorry - only the author of this article, @arthiriyer, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Add a user page

https://skywalking.apache.org/users/
Add a user page in the user column of the navigation bar
Similar to skywalking
Our registered users can be found here Who is using SeaTunnel

assign to me, need to collect users first


Tag with class attribute with multiple classes fails:  .

Description
I'm submitting a ...  bug report
When a class attribute has more than 1 class, the program reports an error.
Expected Results

 should work

Bug fix
File src/virtual_dom/vtag.rs:
80    pub fn add_classes(&mut self, classes: &str) {
81        let classes = classes.trim().split(" ");
82        for class in classes {
83            let class = class.trim();
84            if !class.is_empty() {
85                self.classes.insert(class.into());
86            }
87        }
88    }

Source code: It expect you input something like:
, you can try it without trailing comma to see if it works?? (I don't know :grin: )

Actually I hate this thing too :cry: I think I have to split string of classes in templates in the nearest PR.
Related #121

class="a b c" then split before add: impact on performance as you mention in #121.
In #285 , I think I successfully (it pass the test, and I see the result in browser inspector) implement this syntax: class="a" "b" "c",. This way, it do not impact on performance, less awkward than (2.)

Maybe the solution is:

Allow both: class="a b c", (with a warn about performance in README?) and class="a" "b" "c",
then users may choose what they want

I didn't see the related open bug, sorry. The fix I've sent you, doesn't seem to impact compiling time.

Fixed with #289


Add Kamal

Could you add the necessary files and gems to use Kamal?
Thank you for the startkit!

@ronald2wing ! Hey! Thank you for the idea. Why not.
Currently I'm pretty busy, but when I have some time to learn it - I will do. For sure.
PS: There is always a chance to make a PR with your way to integrate this tool to the project. If you have some time -- you are welcome.


finish rename and remove extended layer in folder

Description of your changes

remove extended layer in folder
fix CI

How has this code been tested?
CI added
Checklist

I have:

[ ] Title of the PR starts with OAM type (e.g. [Workload] or [Trait] or [Scope]).
[ ] Updated/Added any relevant [documentation] and [examples].
[ ] Unit/E2E Tests added.

/lgtm

/lgtm


Install/Use Problems

I'm using PS V5.1.22621
Ran Install-Module PowerShellAIAssistant and Install-Module PSWeave without error message (with Administrator privileges).
When doing a Weave -List I get an error:
Weave : The 'Weave' command was found in the module 'PSWeave', but the module could not be loaded. For more information, run 'Import-Module PSWeave'.
At line:1 char:1
+ Weave -List
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (Weave:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

When running Import-Module PSWeave I get the following error:
At C:\Program Files\WindowsPowerShell\Modules\PSWeave\0.2.1\PSWeave.psm1:1 char:28
+ ... onPrompts : System.Management.Automation.IValidateSetValuesGenerator  ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unable to find type [System.Management.Automation.IValidateSetValuesGenerator].
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : TypeNotFound

Import-Module : The module to process 'PSWeave.psm1', listed in field 'ModuleToProcess/RootModule' of module manifest 'C:\Program
Files\WindowsPowerShell\Modules\PSWeave\0.2.1\PSWeave.psd1' was not processed because no valid module was found in any module directory.
At line:1 char:1
+ Import-Module PSWeave
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (PSWeave:String) [Import-Module], PSInvalidOperationException
    + FullyQualifiedErrorId : Modules_ModuleFileNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

Any idea what the problem is?
Thank you for any help you can provide.

@gthbiu Thanks for trying PSWeave.
I use it to IValidateSetValuesGenerator to list the different instruction prompts.
IValidateSetValuesGenerator was added in PowerShell 6+.
Class InstructionPrompts : System.Management.Automation.IValidateSetValuesGenerator {
    [String[]] GetValidValues() {
        $prompts = Get-InstructionPromptNames
        return ($prompts.Keys | Sort-Object)
    }
}

You need to run it on a newer version of PS. What version of PS are you running?

Thanks for the quick reply, Doug!
I'm using PS V5.1.22621 - the version that came with Windows 10/11 without any intentional upgrades.
Good to know that that is the cause. I'll look into upgrading PowerShell.

I installed PS 7.4 and that fixed the problem. On to the next steps... :-)

Closing the issue. Thank you again for your help!

You're welcome. Thanks for reporting and trying PSWeave.
I will be looking at fixing this so it works in v5.1


KubeDB fails to deploy Redis

Tried to deploy Redis via Kuby on DO, but failed (see below). Any suggestions?
Kubernetes:  1.21.5-do.0
Config:
kubernetes do
  add_plugin :kube_db

  add_plugin :redis do
    instance :cable
  end

   # ...
end

KubeDB log:
I1117 15:01:12.721818       1 secure_serving.go:116] Serving securely on [::]:8443
I1117 15:01:12.738220       1 run.go:36] Starting KubeDB controller
I1117 15:01:18.944261       1 xray.go:232] testing ValidatingWebhook using an object with GVR = kubedb.com/v1alpha1, Resource=redises
I1117 15:01:18.993862       1 apiservice.go:58] Patching APIService v1alpha1.validators.kubedb.com with {"metadata":{"annotations":{"admission-webhook.appscode.com/active":"true","admission-webhook.appscode.com/status":""}}}.
I1117 15:02:09.973011       1 redis.go:58] Patching Redis anycable-rails-demo-production/cable-redis with {"metadata":{"finalizers":["kubedb.com"]}}.
E1117 15:02:10.045830       1 workqueue.go:54] selfLink was empty, can't make reference
E1117 15:02:10.046576       1 event.go:259] Could not construct reference to: '&v1alpha1.Redis{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"cable-redis", GenerateName:"", Namespace:"anycable-rails-demo-production", SelfLink:"", UID:"224178c0-f49e-4ff7-b1d0-d875f7b77d34", ResourceVersion:"6672", Generation:1, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:63772758129, loc:(*time.Location)(0x65dda20)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"kubedb.com/v1alpha1\",\"kind\":\"Redis\",\"metadata\":{\"annotations\":{},\"name\":\"cable-redis\",\"namespace\":\"anycable-rails-demo-production\"},\"spec\":{\"serviceTemplate\":{\"spec\":{\"ports\":[{\"name\":\"memcached\",\"port\":6379}],\"type\":\"NodePort\"}},\"storage\":{\"accessModes\":[\"ReadWriteOnce\"],\"resources\":{\"requests\":{\"storage\":\"1Gi\"}},\"storageClassName\":\"do-block-storage\"},\"storageType\":\"Durable\",\"version\":\"5.0.3-v1\"}}\n"}, OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string{"kubedb.com"}, ClusterName:""}, Spec:v1alpha1.RedisSpec{Version:"5.0.3-v1", Replicas:(*int32)(0xc000682e30), Mode:"Standalone", Cluster:(*v1alpha1.RedisClusterSpec)(nil), StorageType:"Durable", Storage:(*v1.PersistentVolumeClaimSpec)(0xc0022ca540), Monitor:(*v1.AgentSpec)(nil), ConfigSource:(*v1.VolumeSource)(nil), PodTemplate:v1.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Annotations:map[string]string(nil)}, Controller:v1.ObjectMeta{Annotations:map[string]string(nil)}, Spec:v1.PodSpec{ServiceAccountName:"", Args:[]string(nil), NodeSelector:map[string]string(nil), Resources:v1.ResourceRequirements{Limits:v1.ResourceList(nil), Requests:v1.ResourceList(nil)}, Affinity:(*v1.Affinity)(nil), SchedulerName:"", Tolerations:[]v1.Toleration(nil), ImagePullSecrets:[]v1.LocalObjectReference(nil), Env:[]v1.EnvVar(nil), InitContainers:[]v1.Container(nil), PriorityClassName:"", Priority:(*int32)(nil), SecurityContext:(*v1.PodSecurityContext)(nil), LivenessProbe:(*v1.Probe)(nil), ReadinessProbe:(*v1.Probe)(nil), Lifecycle:(*v1.Lifecycle)(nil)}}, ServiceTemplate:v1.ServiceTemplateSpec{ObjectMeta:v1.ObjectMeta{Annotations:map[string]string(nil)}, Spec:v1.ServiceSpec{Ports:[]v1.ServicePort{v1.ServicePort{Name:"memcached", Port:6379, NodePort:0}}, ClusterIP:"", Type:"NodePort", ExternalIPs:[]string(nil), LoadBalancerIP:"", LoadBalancerSourceRanges:[]string(nil), ExternalTrafficPolicy:"", HealthCheckNodePort:0}}, UpdateStrategy:v1.StatefulSetUpdateStrategy{Type:"RollingUpdate", RollingUpdate:(*v1.RollingUpdateStatefulSetStrategy)(nil)}, TerminationPolicy:"Pause"}, Status:v1alpha1.RedisStatus{Phase:"Creating", Reason:"", ObservedGeneration:(*types.IntHash)(nil)}}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Warning' 'Failed' 'Fail to be ready Redis: "cable-redis". Reason: selfLink was empty, can't make reference'
E1117 15:02:10.110327       1 worker.go:76] Failed to process key anycable-rails-demo-production/cable-redis. Reason: selfLink was empty, can't make reference
I1117 15:02:10.110545       1 worker.go:80] Error syncing key anycable-rails-demo-production/cable-redis: selfLink was empty, can't make reference
E1117 15:02:10.128493       1 workqueue.go:54] selfLink was empty, can't make reference

OK, it seems that the KubeDB version we use (0.12.0) isn't compatible with the K8S 1.21.
Recent versions of KubeDB use v1alpha2 API version (not supported by the gem).

Hey @palkan, sorry to have missed this (for some reason it never appeared in my email 😢 )
Sadly I think Kuby is going to have to stop using KubeDB for a variety of reasons. For one thing you now have to obtain a (free) license to use it, which makes the installation process much more difficult (it involves receiving emails, etc). Instead I'm thinking of trying to adopt crossplane to stand up databases using your cloud provider. Caching systems like memcached and redis are simple/ephemeral enough that Kuby might be able to stand them up itself and avoid using an operator like crossplane or KubeDB.
Would love to hear your thoughts on the matter.

See also: https://github.com/getkuby/kuby-core/issues/54

I think, the key question is where should Kuby responsibility end?

Yeah, that's a good question. I'm honestly not sure. When I first thought about what I wanted Kuby to be, I envisioned something as easy to use as Heroku but as simple to install as capistrano. Heroku stands up a Postgres database for you, which is great because it's another thing you don't have to think about. I wanted Kuby to work the same way. I still think figuring out the database for you is something worth doing, simply because the database is such an integral part of pretty much any Rails app. Anyone who's not a hobbyist though is going to want certain guarantees with regard to their database, which Kubernetes can't necessarily fulfill. So it's a tough call.
There are a lot of options, and I keep going back and forth wrestling with the pros and cons. My idea du jour is to only support Postgres (like Heroku does) and stand up instances of CockroachDB, which is cloud-native and Postgres wire-compatible.
Anyway, lots to think about.


Move cli entrypoint from init to main

The entrypoint to the CLI is moved to main.py in order to isolate
__version__ in __init__.py from other imports that fail when trying
to install without the availability of those imports (specifically
SQLAlachemy).
Fixes #15
Signed-off-by: Aaron Browne<EMAIL_ADDRESS>

Thanks for reporting and the PR. I'm merging it.
The problem is that we didn't tested the install from the setup.py.
We should add that to the tests, before making a new release.


[dv/top] Adjust test parameters

The pause test is currently failing because the test_rom takes
too long to execute and the watchdog triggers sooner than the
test expects. As a result, the test sees two reset reasons at
the same time and fails.
While we could adjust the delays such that it is passing again,
such tests may be prone to failures in the future.
Instead, the test was converted to not rely on resets but instead
on the watchdog / wakeup counts.  The pause function causes the
watchdog to stop counting during low power, and thus creates an
inverse relationship with wakeup.  The test checks on that instead.
Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

let me know if this change seems reasonable to you guys.

Thanks @tjaychen for the PR.
I prefer to have the test checking that a reset has not occurred, as it also checks the integration between the IPs.
My suggestion would be changing the test to use the Normal sleep rather than the deep_sleep. In the first, the software continues executing from the last instruction, thus the test_rom would not take time during the wake up.
https://docs.opentitan.org/hw/ip/pwrmgr/doc/index.html#programmers-guide

eep_sleep. In the first, the software continues executing from the last instruction, thus the test_rom boot time would not interfe

i actually thought about that, and was originally going down that path. But do you see anything that is not tested with this approach that is tested with reset reasons not seen?  To me looking at the count is sufficient, since consistency between count and the behavior of aon_timer reset request should already be tested at block level.
In general though, all these tests need to be tested with both deep sleep and normal sleep, see #12816

wait i actually thought @doreis-lowrisc wrote it.
But let's check with @matutem also.

thanks @doreis-lowrisc , @rswarbrick @matutem for the review.
If you guys think this test diminishes the original intent, just let me know, i can update as needed.


Please add, Window.event.KeyCode and Window.event.charCode also to the directory.  Event.keyCode wor...

Please add, Window.event.KeyCode and Window.event.charCode also to the directory.
Event.keyCode works for both IE and Chrome but does not work in Firefox,
Event.charCode works for Firefox.

This issue was imported from Google Moderator
Moderator votes: +7
Issue added by Harsha on 2014-07-28
To vote this issue up or down, simply include +1 or -1 in your comment.

+1

+1

+1

KeyboardEvent.keyCode is "universally" supported; see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Browser_compatibility

@cvrebert yes, but it's also deprecated, see the note at the top of the page you linked to.

charCode and others are now available at http://caniuse.com/#search=keyboardevent
(keyCode covered by #1988)


Set up CI/CD pipeline

One-line summary
Set up CI/CD pipeline to build, test and publish to PyPI
Description
Set up a pipeline that builds and tests all pull requests. When a release is created, the app is packaged and pushed to PyPI: https://pypi.org/project/clin
Open Questions:

How to do versioning?
How to create releases?

Types of Changes

Documentation / non-code

Tasks

[x] Build and test on master and on pull requests
[ ] Decide on a versioning strategy and implement creating releases
[x] Decide on a linter and add it to the pipeline. I propose black
[x] Push releases to PyPI

I think this can be closed now


NetGain replying to Ping with OpCode.Binary

Inside of

NetGain/StackExchange.NetGain/WebSockets/WebSocketsProcessor_RFC6455_13.cs

Is it intended for the ping to be handled with pong.OpCode = WebSocketsFrame.OpCodes.Binary;
I was getting client disconnects because ping was not being responded to with a pong.
I've changed it to OpCodes.Pong; and it works as expected. Is this a bug or is there a apart of the RFC6455 standard that I'm missing?

On 9 December 2016 at 11:07, Lee Fitzpatrick<EMAIL_ADDRESS>wrote:

pong.OpCode = WebSocketsFrame.OpCodes.Binary;

Huh,  yeah  that  looks   like a typo indeed. Thanks.
--
Regards,
Marc


CF_GetClipboard may crash in Lua, if buf_sz=20000000000000

The following call of CF_GetClipboard causes problems in Reaper:
A,B = reaper.CF_GetClipboard("",20000000000000)
This either crashes Reaper completely or freezes the Lua-instance of the script. Means, if I try to run the script, it will not run until I restart Reaper.
Maybe some sanity checks would be a good idea.

There's a check but it only guards against large positive numbers.<PHONE_NUMBER>0000, as a signed 32-bit integer ends up being -1662697472 which slips right through it. Thanks, fixing!

Ah, it turns out it's the change that allowed omitting the buf/buf_sz parameters that is letting this happen (the buffer fails to be resized to fit the clipboard data).


Install fails on Node 6.3.0

I get the following on Node 6.3.0, no issue on 6.2.2:
In file included from ../src/batch.cc:5:
../node_modules/nan/nan.h:602:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:608:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback) {
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:613:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback
      ~~~~~~~~~~~~~^
../node_modules/nan/nan.h:619:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback) {
      ~~~~~~~~~~~~~^
4 errors generated.
make: *** [Release/obj.target/leveldown/src/batch.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/andrew.rininsland/Projects/github-project-manager-bot/node_modules/leveldown
gyp ERR! node -v v6.3.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS><EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN<EMAIL_ADDRESS>Exit status 1

Not sure what's even using leveldown 0.10.6 — it doesn't show up in the dependency tree at all...
¯_(ツ)_/¯

Err, it wasn't this package in the end with that dependency; though that was a bit weird... Never mind, my fault entirely!

No worries!


Set client data sources to always be geometry-generating sources

Fixes an issue where client data sources were incorrectly removed when the scene is updated or reloaded.

LGTM.


Resumable downloads / seed existing downloads

It should be possible to start seeding as soon as a torrent is "downloaded" if the contents are found in the output directory. This is how Transmission works on the CLI. The functionality would be especially useful for webtorrent-hybrid.

Yeah, this makes sense to me. I would accept a PR for this. :) Busy with other issues right now, but I agree this is important.

But would it be the soulton to create client.seed in the callbak when downloading is finiehed?

Trying to figure out how to do this, but having a pretty tough time getting started. @feross, could you point me in the right direction?

@devTristan Have you taken a look at lib/storage.js?

@feross Yeah, I am right now. I saw that a torrent is seeded by loading all of the data into torrent.storage and then... (???)
Maybe I'm wrong about a basic assumption. After client.add, are all files selected or deselected?

+1 for this feature!

+2 for this, I desperately need pause functionality.  I'm currently working on just the UI part of my new client, but will probably start the actual data transfer stuff fairly soon.  Any takers?  Or should I give it a go?

You should give it a go!

@feross Gonna give it a go tonight and see where I get to :) here's hoping!

@MiracleBlue How'd it go?

I struggled with trying to figure out what it takes to actually resume a
partial torrent download (I'm not particularly knowledgible in the Torrent
spec), but I discovered that most clients will do a re-check of the hashes
(or something like that) of the downloaded pieces and determine which
partials are missing, but I was mostly focussed on getting a few of the
last UI bits in to my blue-torrent.
Next weekend I will continue!
On Sat, Aug 29, 2015 at 3:26 AM, Feross Aboukhadijeh <
<EMAIL_ADDRESS>wrote:

@MiracleBlue https://github.com/MiracleBlue How'd it go?
—
Reply to this email directly or view it on GitHub
https://github.com/feross/webtorrent/issues/320#issuecomment-135839101.

I haven't forgotten about this.  Just finding it hard to find the time.  Unfortunately I'm not terribly knowledgable with the Torrent spec, so this is certainly a tricky thing for me :) I'm still working away slowly on my little torrent client which is gonna need this functionality.

+1 to seed existing downloads!

+1

I just made a PR that fixes this. https://github.com/feross/webtorrent/pull/515

Hello @feross any news about this feature? How would you suggest to do it, I may try my chance and open a PR.

Is this possible in a web browser? Can file pieces persist across sessions and still be accessible? Wouldn't there be file size limitations?

I found this which could be useful: http://stackoverflow.com/questions/21015771/what-causes-the-chrome-wants-to-permanently-store-large-data-message

I already did this. Look at my fork for inspiration

Does this not work now?  If I run with --keep-seeding it certainly does not seem to re-download... but maybe it's not really seeding?

I'm pretty sure this issue can be closed.
It's possible to resume a torrent by calling client.add() with the option { path: '/path/to/torrent/folder' }. If files exist there with the same names as what is in the torrent, then WebTorrent will verify them and check their contents. Whichever pieces are valid, will be preserved and not re-downloaded.
On the command line, you can do the same with webtorrent "magnet_uri" --out /path/to/torrent/folder.

@feross is webtorrent start seeding as soon as it gets the first piece of data?

@JacopoDaeli Yes.

How can this be done in the browser?

@RationalCoding Sorry for the delayed response. There's not a simple API to get this working in the browser yet, but you can call torrent.add(), then later manually call the undocumented torrent.load() with the partial or completely downloaded torrent contents and that will re-populate the storage.
Alternatively, you can use the documented store argument to specify a custom factory function that returns an abstract-chunk-store compliant storage object that you initialize with the needed data. You can see how this is invoked here: https://github.com/webtorrent/webtorrent/blob/225b6150a9f2bde2519e28d4163ab41adf30e4b6/lib/torrent.js#L1605


fixed onsuccess callback

Due to jshint fixes few days ago. You made a strict check of res === null which fails because res is actually undefined and hence res === undefined check fixes the issue.

Thanks a lot for this!


Add members, methods and imports to EnumDeclarations

Concerning #1445:

EnumDeclarations now get assigned their class members, just like RecordDeclarations.
The ImportResolver correctly identifies entries and other members of EnumDeclarations that are imported.
combined the processing of static and non-static ImportDeclarations, separating them afterwards by isStatic (a comment indicated that something similar was done earlier and then undone)
in some cases re-merged the processing of EnumDeclarations and RecordDeclarations and refactored out common parts into separate methods
added a test and test files for the above changes

Sorry, my IDE reformatted the code back upon committing. And the commit title was not meant to refer to that issue.

Sorry, my IDE reformatted the code back upon committing. And the commit title was not meant to refer to that issue.

It confused me a bit ;)


Calculate heating degree days (HDD) based off of billing period

Calculate daily heating usage for each period, defined as average daily total usage minus average non-heating usage

For gas, average non-heating usage is calculated as average daily usage where inclusion code = -1 (summer months)

For each period with an inclusion code of 1, calculate the period Heating Degree Day (HDD) by summing the daily HDDs within the period (average daily temp minus balance point) given a user-specified balance point.

Balance point: Temp inside of home at which no heating is required.

Calculate the UA for each period: days in bill * daily heating usage * fuel BTU per usage unit * heating system efficiency / (period HDD*24)

Repeat this until a lowest standard deviation is found.


Build failure: perlPackages.TextWrapI18N on *-darwin

Steps To Reproduce
Steps to reproduce the behavior:

build perlPackages.TextWrapI18N

Additional context
TextWrapI18n depends on glibc for the locale binary. glibc is not supported on *-darwin.
Darwin has its locale binary in the impure /usr/bin/locale. On darwin the TextWrapI18n package should probably use that instead of patching in glibc.
Notify maintainers
@NixOS/darwin-maintainers

Darwin has locale in darwin.adv_cmds. It would be better to use that instead of the impure one from the system, which might have sandbox issues.


Add third blog post by @guoliveira

Link to suggestion
https://levelup.gitconnected.com/polars-vs-pyspark-testing-with-big-data-e102052a18ec
Targeted section
Blog posts
Describe your suggestion

Polars vs PySpark: Testing with Middle Size Data - A blog post that presents the code related to the Extract, Transform, and Load for Polars and PySpark with Middle Size Data by @guoliveira.

Checklist

[X] checked if your suggestion is not already listed in Awesome Polars list.
[X] checked if it can fit in an existed section or suggest a new section and explain why your item does not fit into one and what would be the interest of your new section.
[X] checked when it's a repository if it's maintained (archived repository will be rejected).

Pending an update of this issue with lazy evaluation (recommandation from Ritchie Vink)

Replaced by #78


Plugin import android's dependencies from mobile project

I need kind of information that can fulfilled my requirements to make a plugin
this is what i want...
if user create a project and use my plugin, the plugin require user to add dependency to their app gradle, because if its not, the plugin will produce import problem in native code of my plugin.
its like i want to to call this from plugin native
import de.blinkt.openvpn.core.OpenVPNService;

but its not imported by Plugin's gradle, its imported/required from user's project gradle dependency.

@nizwar
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


How to create an Iso player that follows mouse clicks?

I want to move a player object based on the mouse events, is there any way to achieve this?

You can start with this example http://rotates.org/phaser/iso/examples/interaction.htm and then plug a path finding algorithm to control your sprite to the destination with severals tweens.
I'm planning to open source some work I've done about that when I find some time.

Agree with @mfpierre on a worthwhile course of action - the question is rather wide-ranging and not really that specific to the isometric plug-in itself.

Sorry for not being specific.
I'm trying to move my character based on the interaction example combined with the camera follow example, but I'm not very sure if its is correct to use the body.position to move my player or use the body.velocity.
Which one is the best to use?

If you want the object to move and stop at a position, the easiest way is to temporarily disable the body on the object, and then tween its isoX and isoY properties to the desired location (which you can determine via game.iso.unproject like in this example.
More likely is that you're wanting physics to be a factor, in which case you need to set the correct velocity values so that the object moves towards the point you have selected at the required speed, and stops when it reaches its destination, or a threshold within the distance of its destination, or gets stuck and cannot reach its destination - so it's not a trivial process!
It's probably worth looking at this piece of code in Phaser's Arcade physics, as you're probably wanting to move on the X/Y plane anyway - so it should still work.

If anyone needs moveToXYZ, here is an implementation

Cool :) Feel free to submit this as a PR if you'd like it included in the main branch!

Thanks! When I get time (perhaps Jan) I'll submit a PR which add isometric versions of a few of Phaser's Arcade physics's convenience methods.

Great stuff, thank you! :+1:


BootstrapContext in ClaimsIdentity is always null even if SaveSigninToken is set to true

I set the SaveSigninToken to true in the configuration but still
claimsIdentity.BootstrapContext is coming always null.
Any idea ?

I have not idea. But, I would recommend that you try out the new WsFed middleware Microsoft has released in preview: aspnet/Security#1473

I found a solutıon ın BootstrapClaimName


cannot upload after setup

Hi,
I have successfully configured butdr on my Oracle Linux but i am getting the following error when I run cron_backup.bash -v
bash: cron_backup.bash: command not found...
please let me know what I am missing. thanks.

@bilalsaeed
Did you run command source /${HOME}/.profile ?

@bilalsaeed
Did you run command source /${HOME}/.profile ?

There's no .profile in the home. I am using Oracle Linux. Previously it was working fine but now we have upgraded our server machine the new installation does not work.

There's no .profile in the home. I am using Oracle Linux. Previously it was working fine but now we have upgraded our server machine the new installation does not work.

@bilalsaeed
Please show the result of command ls -al ${HOME}/bin

@bilalsaeed
Please show the result of command ls -al ${HOME}/bin

I just resolved it now. Initially I installed on root user and I was running the command from oracle user. so I again installed it from oracle user and everything works now.
thank you for you help.

I just resolved it now. Initially I installed on root user and I was running the command from oracle user. so I again installed it from oracle user and everything works now.
thank you for you help.


Port chaosmonkey to Chrome or Firefox

I would so appreciate this for my browser tabs. Please halp. Please. :heart:

Unfortunately, this is way out of scope for the current implementation of Chaos Monkey.


Replace current bootstrap CSS to a custom one

We are currently using:
maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css
We need something simpler, especially for AMP pages.

Fixed by #45


Want to re-design the footer section

Project-Guidance! 🎊🎈
Welcome! 🎉
Thank you for opening an issue! Your contributions help us improve the project. If you find this repository useful, please consider giving it a star! ⭐
🎉 Have you reviewed the Contributing Guidelines? 🤔 (Required)

[x] YES
[ ] NO

📝 Description
The footer section looks quite simple. I want to re-design it so that it looks great with the website.

🔍 Priority Level

[ ] High
[x] Medium
[ ] Low

🏷 Initiative Participation (Required)

[x] 🌸 GSSoC (Girl Script Summer of Code)
[x] 🌼 GSSoC 2024 Extd.
[x] 🍂 Hacktoberfest 2024
[ ] ❄ Script Winter of Code (SWoC)
[ ] ⛄ Winter of Blockchain (WoB)
[ ] 🙋♂ Personal
[ ] 📌 Other (please specify): _______________

💬 Next Steps:
You can expect a response within [1 day].

@Kushal997-das please label this as "gssoc-extd", "hacktoberfest2024" & "level-1".


Tutorials don't have TOC in sidebar

I noticed something curious about the tutorial docs added in #42 : @jberlanga had to add a table of contents manually, but e.g. the getting started page already indexes the sections of the docuemnt in the sidebar table of contents.  It seems like it should be possible to go one level deeper, though, and have the sections show up also for the tutorials.  Anyone know how to do this? (@adrn or @cdeil might have encountered this?)
http://sphinx-doc.org/config.html#confval-html_sidebars seems like it should be helpful, but that would seem to suggest we already should be seeing a local TOC...

@eteq – I don't understand what you'd like to see.
Currently it looks like this, which is OK, no?

Ah ... do you mean you want to see little "+" symbols in the sidebar for sections that can be expanded into subsections?
(Example: http://wcsaxes.readthedocs.org/en/latest/)

@eteq -- I must not have looked closely enough at the docs during our hangout, because this is what I thought you wanted as well.

@cdeil It looks to me like this has been fixed. Has it?

Moving this to 0.2 ... it shouldn't block the 0.1 release which is long overdue.

I think it would be nice to have the little "+" signs for TOC entries with sub-points as well ... just like it is in wcsaxes:

I don't know what's different in our setup.
And @eteq should comment on what he actually meant before we close this issue.

@eteq Could you confirm if the TOC now appears as you intended?

@cdeil With the switch by @bsipocz to the astropy-style RTD theme, things look quite different today. Should this issue still be open?

I'm not a fan of the astropy-style theme, or the way navigation works now.
Before one could navigate everywhere via the side bar.
Now if you go here the sidebar is empty and you have to navigate via links on the main page:
http://astroplan.readthedocs.io/en/latest/tutorials/index.html
But it's a matter of taste, and I don't have time to discuss or file a PR, so I'm unsubscribing from this issue now.
@eteq - You filed it originally. Close? Or do you still propose some change here?


Parameter Order affects simulation result in commutative function

Describe the bug
Using functions to define reaction kinetics, the order of parameters changes the simulation results while using a commutative rate law. Might be potentially connected to #855.
To Reproduce

Download models.
Both models are identical except for the order in which the parameters are supplied to the function
Run simulation using PIXEL solver
Notice slightly different output

Expected behavior
Both models should behave identically, since the order of parameters should not matter for the particular functions used.
Screenshots
Parameter order A:

)
Parameter order B:

@formersbach thanks! It turns out both this and your other bug report have the same root cause (https://github.com/spatial-model-editor/spatial-model-editor/issues/856#issuecomment-1451919941).
I'll try to release a new version with this bug fixed tomorrow.

@formersbach these issues should now be fixed in the latest (1.3.5) release - thanks for the bug reports and please let me know if you run into any other issues.

@lkeegan Thanks for the quick work, will do!


Remove DagreD3 to make a solid foundation for the graph

Closes #2437

The main goal here was to remove the DagreD3 library and create the graph nodes and paths ourselves. This gives us a lot more flexibility with the graph code. Not only should it be a lot easier to change, but I think it's easier to understand as well (maybe that's just because I wrote it). I also separated out the actual JSX for the nodes for readability - no longer will you have to scroll through 200 lines of node styling to get to the graph code. I'm starting VERY simple here (although I'm definitely close to what we have right now), and the graph is now ready for any new features or redesigns we want to throw at it!
I also made a small change in the computeReady function to distinguish between ReadyType.NotReady and undefined and followed up accordingly.

How was this change implemented?
Some particulars:

Online videos recommended NOT using the useRef hook and instead separating the data formation (ReconciliationGraph) and the rendering (DirectedGraph). We are now mapping out two arrays into g (group) elements - one of nodes (into GraphNodes), and one of links (into paths). We had to do a lot of code to get the foreignObject tag into DagreD3, and now we just throw it into JSX! This also allowed me to move the node html to it's own component, which I'm really happy about.

No more graph class - this is the only d3 code for the graph (FOR NOW):

  const root = d3.hierarchy(rootNode, (d) => d.children);
  const makeTree = d3
    .tree()
    .nodeSize([
      nodeSize.width + nodeSize.horizontalSeparation,
      nodeSize.height + nodeSize.verticalSeparation,
    ]);
  const tree = makeTree(root);
  const descendants = tree.descendants();
  const links = tree.links();

The rest is made using svg html tags and their attributes in JSX.

I learned something very useful about Typescript + styled components:

type StatusLineProps = {
  suspended: boolean;
  status: ReadyType;
};

const StatusLine = styled.div<StatusLineProps>

This lets you pass down additional custom props to your styled components without Typescript complaining about it. Hooray!

I tried to move all the relevant numbers into variables as high up as possible. My hope is that you (mostly) won't have to know d3 or svg stuff AT ALL in order to make small styling or sizing changes.

Hello one and all (@opudrovs @ozamosi @JamWils )
I'm bringing you into this draft PR because I wanted to show where the styling is at before spending the rest of today (and probs tomorrow) on the drag + zoom functionality. Also it's a LOT of changes so I wanted to get it out there early.

Zoom is back
https://user-images.githubusercontent.com/65822698/180442190-8f690294-2532-4231-b773-5fbb29aefc6a.mov

Drag is back - the scaling isn't perfect (your mouse doesn't move 1:1 with the graph) but it's close enough imo.
https://user-images.githubusercontent.com/65822698/180485126-b86b6314-994a-4f70-a4dd-e59ffa43a4fa.mov

Great work @joshri

Great job, @joshri ! The code is much simpler and easier to modify than with the Dagre library.
A couple of minor issues:

When the vertical scrollbar is not scrolled to top, there is flickering when zooming to 0% and back to a non-zero value. I was able to reproduce the issue consistently in Chrome.

https://user-images.githubusercontent.com/8824708/180670001-598f9ed8-f0fc-479b-a41f-43042d695747.mov
I suggest mapping the zoomPercent value received from the slider and passed as a prop to the DirectedGraph from the range of [0, 100] to [1, 100] and using this mapped zoom percent for all consequent calculations, smth. like that  (actually, I've copied the first range mapping function I found):
function mapValueToRange(value, inMin, inMax, outMin, outMax) {
  return ((value - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
}

  const sanitizedZoomPercent = mapValueToRange(zoomPercent, 0, 100, 1, 100);

  //minimum zoomBox is 1000
  const zoomBox = 15000 - 14000 * (sanitizedZoomPercent / 100);
  //since viewbox is so large, make smaller mouse movements correspond to larger pan
  const panScale = 300 / sanitizedZoomPercent;

If this/a similar solution works, then mapValueToRange should be added to lib/utils, probably.

When first dragging the graph to a side and then changing the zoom values with the slider, the graph looks like it is moving on a curve:

https://user-images.githubusercontent.com/8824708/180670189-83c71ab3-df26-4ac5-9e4d-52d89276bdcc.mov
I haven't looked how to make the graph maintain its position while being zoomed after dragging and I'm not sure if it is important to fix right now, but movement "on a curve" should be related to this line: const panScale = 300 / zoomPercent;

Zoom has been set to a minimum of 5 via a prop on the Mui Slider!
To fix the zoom curving - unfortunately I need a ref to access the getBoundingClientRect method on the svg. This gives us an accurate ratio for the panning rather than the one I just made up (300/zoompercent). The good news is that it doesn't need a useEffect. Also I promise this <SVGSVGElement> type is correct. Typescript complained until I put it in. The first SVG is the SVG category, and then the second one is the actual svg. Another example would be <SVGGElement> or <SVGRectElement>.
 const svgRef = React.useRef<SVGSVGElement>(); let panScale = 1; if (svgRef.current) {  panScale = zoomBox / svgRef.current.getBoundingClientRect().width; }

Zoom has been set to a minimum of 5 via a prop on the Mui Slider!

Cool, much simpler fix than what I suggested. 🎉

To fix the zoom curving - unfortunately I need a ref to access the getBoundingClientRect method on the svg.

Great fix, can confirm that the graph now maintains drag position on zoom.

The code looks fine to me. I only see a few minor issues remaining.
The main issue is that, IMHO, the new lines/edges are somewhat misleading comparing to the old lines.
Old:

New:

With the old lines you could clearly see that all top non-root nodes are connected to the root object. In the new version, they are connected to each other.

It looks like the borders of the node elements are more rounded in the new version. Is it by design?

Old:

New:

Besides, the green thing over the border looks a bit weird at large zoom:

If the text is long, the checkmark icons sometimes look a bit squished:

I wonder if we need to make the nodes wider and/or make more space for text?
Maybe it all is not important to fix it all right now and I am nitpicking already.

The intersection of the lines is SUPPOSED to be covered by the root node - small bug there I'll have to look into how the path is being drawn exactly. I think I have to add in the horizontal separation bc I added that in post-path.
You are right about the status line - I wasn't super focused on design this PR, just trying to get it close to what we have now, but I will decrease the border radius to get it closer

The intersection of the lines is SUPPOSED to be covered by the root node - small bug there I'll have to look into how the path is being drawn exactly. I think I have to add in the horizontal separation bc I added that in post-path.

The intersection of the lines is fine with me. I don't like that top level non-root objects look like they are connected to each other (because the lines that connect each of these objects to the root object overlap).

Under the root objects I mean the Kustomization, not GitRepository.

Great! I have no other questions except for: @JamWils , @ozamosi , what do you think of the new lines here:
https://github.com/weaveworks/weave-gitops/pull/2476#issuecomment-1194472413
and the initial zoom:

If both are OK with you, I am approving the PR.

If we replace
return (
  <path
    key={index}
    d={`M${l.source.x} ${
      l.source.y + nodeSize.verticalSeparation
    }H${l.target.x}V${l.target.y + nodeSize.verticalSeparation}`}
  />
);

with
return l.source.x === l.target.x ? (
  <path
    key={index}
    d={`M${l.source.x} ${
      l.source.y + nodeSize.verticalSeparation
    }V${l.target.y + nodeSize.verticalSeparation}`}
  />
) : (
  <path
    key={index}
    d={`M${l.source.x} ${
      l.source.y + nodeSize.verticalSeparation
    }L${l.target.x} ${
      l.target.y - nodeSize.verticalSeparation / 2
    }V${l.target.y + nodeSize.verticalSeparation}`}
  />
);

(using only the second part without condition would work too, but I'm not sure if there could be any artifacts under some conditions)
we can make lines look like that:

The only issue left is that the nodes are not centered relative to the root node, but it is not related to making the lines diagonal.

@joshri , @ozamosi said that there was a ticket ( https://github.com/weaveworks/weave-gitops/issues/2484 ) about changing the shape of the lines (what I had not seen).
In this case the only issue remaining is centering non-root nodes horizontally (if there is an even number of columns) relative to the root node.

Looking carefully at #2484, that ticket describes a path that goes straight down, straight to the side, straight down again, whereas this PR only out and then down. So it's not quite the "right" shape (but then this branch doesn't promise to implement that shape).

The only issue left is that the nodes are not centered relative to the root node

I think the issue here is that the boxes have irregular spacing. It looks like if the child node has children of its own, then the gap before we draw the next child is 2 boxes' width, whereas if the child node has no children then the next node is drawn much closer. So in your screenshot, it's "centered" for an even number of boxes, but there's an empty box on the left side of the parent node.
Do I make any sense?

Great observations, @ozamosi !


File showcasing Colore.Razer

Another simple example, with shortcut functions to make peoples lives a bit easier.
Showcases Colore.Razer a bit better as well.

 Nice work!

Thanks. I thought it was quite nice too also shows the "Razer"
functionality that I've noticed in the CSGO plugin but wasn't in any of the
demo files.
On Wed, May 25, 2016, 4:21 PM Nico<EMAIL_ADDRESS>wrote:

Just checked it out and damn it's cool!! Nice work!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/UltraboxEntertainment/chromasync-sdk/pull/8#issuecomment-221695275

Will be adding a section inside Chroma Sync for scripts like this :)


Self hosting

If we can self host can you please add a env-example file it will help us;)

For hosting locally just make a .env file and have the following stuff in the env

token
mongoDB srv
guildID
owner ID
prefix

For hosting on a server add the above stuff in the security env area

Name is sensitive did i have to put same name you mentioned above?

DISCORD_TOKEN - for token
PREFIX - for prefix
ownerID - for id of the bot owner
MONGODB_SRV - for mongo db srv
GUILD_ID - for slash commands (  put the id of the server u want as the dev server )
I will make a .env
so this wont be a confusion later on

Getting this error

your node version is it v16+

Node v is 16.13.2

Node v is 16.13.2
@fardeen619
Version of node doesn't matter. Node-fetch v3 is a ESM-only module. to use require() you need to install node fetch v2.
npm install node-fetch@2

It shouldn't matter for the error at hand but the db and some packages need the right node version

@fardeen619 Version of node doesn't matter. Node-fetch v3 is a ESM-only module. to use require() you need to install node fetch v2. npm install node-fetch@2

Installed still error comes

Now getting new Error take a look

I highly recommend you to learn the language , database first then move on making bots
copying the repo as it is will land you in many issues cause the economy and other codes are not stable
i made the repo public for ppl to help them understand how the codes works and its structure + specific codes
if you want to copy as it is you will have to clone or download it which will make ur repo different from the one i update daily for bug fixes etc.


Slideindown animations not working correctly in V2

Your system information

VelocityJS version: 2.0.5
Browser:  Vivaldi/Chrome
Operating System: Windows 10

Checklist

Is this an issue with code?: No
Is this an issue with documentation?: Yes
Have you reproduced this in other browsers?: Yes
Have you checked for updates?: Yes
Have you checked for similar open issues?: Yes

Please describe your issue in as much detail as possible:
In velocity v2 (latest update) the animation sequences look the same. They all just behave as fade in, not as slideinout slideup etc. I've seen issue about slidein not working in Velocity v2 and we should use the animate.css syntax in order to work, but the animations somehow are not correctly being displayed.
Jsfiddle example showing issue in action (code):
https://jsfiddle.net/h17ocavf/

This may be related to #881 where the easings are not running correctly - as soon as I get time to push that (it's mixed with other unfinished changes) then I can check if it "feels" better.
The reason why we ask you to use JSFiddle is that that included Velocity version will update automatically to the latest on here, unfortunately your Codepen links directly to a specific version, so there's no easy way to test if it has been fixed...

I'm also having trouble after upgrading to version 2 and I have converted my code to conform to the latest syntax.
Please look here new.oasrorelsen.se, and press the hamburger icon, the menu should slide out from the left of the screen, but instead of animating it just pops out.

@Frohmen Separate out the relevant code into a JSFiddle, then if it should be working as per the Wiki at the top of the page open a bug report, otherwise go to StackOverflow and ask for help (I'll likely be the one to help when I have time either way, but this is a bug tracker, not a support forum).

It seems as if transform is no longer animated, i have both tried with translateX and using the sequence "slideInLeft". If I use "slideInLeft" it seems as if the only thing that gets animated is the opacity.

And you've just shown you haven't read any release notes or documentation - tried with translateX...

Sorry where can I find the release notes?

https://github.com/julianshapiro/velocity/blob/master/V2_CHANGES.md

Transforms - Use these directly within CSS, don't try the old shortcuts as they don't exist.

https://github.com/julianshapiro/velocity/blob/master/CONTRIBUTING.md

Unless you're reporting an obvious bug that can be immediately recreated by anyone, please create a demo with the minimum amount of code necessary to reproduce your bug. You can use this template, which already has Velocity and jQuery included (jQuery is not required by Velocity, it is included for ease of examples).

https://github.com/julianshapiro/velocity/issues/881#issuecomment-407340619 (linked above)
Closed in https://github.com/julianshapiro/velocity/commit/184a354f2ac2a7c0b49ef58b86a7dc2e32d5f869
Not pushed to NPM yet due to other changes locally and complete lack of time / help.

Any news regarding this issue, did you have some free time to take a look ?
Transform is the main element for animation and no transform is working anymore.
v2 could be great, but can't use it without that working :/

It's there, but you need to install from github rather than NPM - which is definitely not ideal - I'm hopefully getting some time I can work on multiple open source projects in August... If I get some time before that then I will prioritise updating the release mechanism and get it updated on npmjs!

It still did not work on the master branch :/
I was using this one.
It seems to work with "translateX" alone, but then gpu acceleration with translateZ is not enable. Plus, all default transition using transform does not seem to work

It seems to work with "translateX" alone, but then gpu acceleration with translateZ is not enable. Plus, all default transition using transform does not seem to work

Read replies earlier in the thread - and read the actual documentation in he wiki - neither of those are css and will not work at all.

I red everything, however I'm pretty sure transform: translateX(50px) is valid CSS (https://developer.mozilla.org/fr/docs/Web/CSS/transform-function/translateX), you misread me, I'm not talking about the old transformX ;)
However those https://github.com/julianshapiro/velocity/blob/master/src-ui/specials/rollIn.ts does not work, because they are using translate3d and rotate3d.

To help your debugging:
Working:
Velocity 'registerSequence', 'slideInLeftBig',
  duration: 800
  '0%':
    transform: 'translateX(-75px) translateY(-75px) translateZ(1px)',
    opacity: '0',
    display: 'block'
  '100%':
    transform: 'translateX(0) translateY(0) translateZ(0)',
    opacity: '1',
    display: 'block'

Not Working:
Velocity 'registerSequence', 'slideInLeftBig',
  duration: 800
  '0%':
    transform: 'translateX(-75px) translateY(-75px) translateZ(0)',
    opacity: '0',
    display: 'block'
  '100%':
    transform: 'translateX(0) translateY(0) translateZ(0)',
    opacity: '1',
    display: 'block'

Not Working:
Velocity 'registerSequence', 'slideInLeftBig',
  duration: 800
  '0%':
    transform: 'translate3d(-75px, 0, 0)',
    opacity: '0',
    display: 'block'
  '100%':
    transform: 'translate3d(0, 0, 0)',
    opacity: '1',
    display: 'block'

Ah, really not clear from what you wrote there, sorry!
Those should be working correctly, I'll double check as soon as I get time (at work and almost fully booked till after the weekend etc) - this is a large part of the reason why I've not promoted this out of beta yet, where there isn't the automated testing to confirm that everything is working the way it should do :-/
If you can put those examples into a JSFiddle for me to play with it would be really helpful.

I made an example to demonstrate the bug: https://codepen.io/exodus4d/pen/GRgVpMM
Click on the button should trigger 'fadeInUp'  'bounce' sequences.
Looking at the bounce sequence from velocity.ui.js:
Velocity("registerSequence", "bounce", {
	"duration": 1000,
	"0,100%": {
		transformOrigin: "center bottom"
	},
	"0%,20%,53%,80%,100%": {
		transform: ["translate3d(0,0px,0)", "easeOutCubic"]
	},
	"40%,43%": {
		transform: ["translate3d(0,-30px,0)", "easeInQuint"]
	},
	"70%": {
		transform: ["translate3d(0,-15px,0)", "easeInQuint"]
	},
	"90%": {
		transform: "translate3d(0,-4px,0)"
	}
});

... we see that  transformOrigin: "center bottom" is set correctly. transform property does not work

I have a sequenceFactory() in order to fix the issue with translate3d() not working in v2.0(beta). It "overwrites" the default sequences `` but can be used for all sequences you want to fix or add.
You need a config object/matrix, with either static vars, or custom callback functions
const slideProps = {
 // steps:     ['0%',   '100%'],                // optional for 2 columns, mandatory for >2 columns
    opacity:   ['0',    '1'   ],
    transform: ['100%', '0'   ].map(translate), // some props might need a custom callback, e.g. to flip 100% -> -100%, or translateX -> translateY
    display:   ['block'       ],
 // …n:        [from,   step1, step2, …, stepX]
};

Then call the factory with some common default config, in order to create 8 sequences at once: slide + (Out || In) + (Up || Down || Left || Right)
sequenceFactory('slide', slideProps, {duration: 500, easing: 'easeOut'});

... Will register this:

slideOutUp
slideOutDown
slideOutLeft
slideOutRight
slideInUp
slideInDown
slideInLeft
slideInRight

Now the sequenceFactory(). It might look complex, in fact it is just a simple/nested chain of vanilla Array/Object methods, with no assignment.
const sequenceFactory = (name, {steps = ['0%', '100%'], ...props} = {}, config = {}) => Velocity(
    'registerSequence',
// ➜ console.log(JSON.stringify(
    ['In', 'Out'].reduce((sequences, inOut) => ({ // build 'in', 'out' sequences …
        ...sequences,
        ...['Up', 'Down', 'Left', 'Right'].reduce( // … for each direction …
            (seq, direction) => ({
                ...seq,
                [`${name}${inOut}${direction}`]: Object.assign(// … with unique name. Merge default config …
                    steps.reduce(
                        (stepProps, step, i) => ({ // … with animation steps objects (0%, ➜ 100%) …
                            ...stepProps,
                            [step]: Object.fromEntries( //  … build animation step object …
                                Object.entries(props).map( // … from parameter matrix
                                    ([prop, row]) => (
                                        [
                                            prop,
                                            (cell => ( // check cell value …
                                                typeof cell === 'function' ? // … if cell has function …
                                                    cell({ // … call cell function and use returned value …
                                                        inOut,
                                                        direction
                                                    }) :
                                                    cell // … if cell has no function use plain cell value … (could be 'undefined')
                                            ))( // … ^^ invoke this with current row[colIndex]
                                                row[
                                                    inOut === 'In' ?
                                                        i :                 // … from matrix column …
                                                        row.length - 1 - i  // … or inverted matrix column …
                                                ]
                                            )
                                        ]
                                    )
                                ).filter(([prop, val]) => val !== undefined) // … filter props with empty cell value (see 'undefined' above)
                            )
                        }), {}
                    ),
                    config // default config
                )
            }), {}
        )
    }), {})
// ➜ , null, 2))
);

Uncomment the two marked lines to see the related object thrown into Velocity('registerSequence', XXX):

Click to expand!
{
"slideInUp": {
  "0%": {
    "opacity": "0",
    "transform": "translateY(-100%)",
    "display": "block"
  },
  "100%": {
    "opacity": "1",
    "transform": "translateY(0)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideInDown": {
  "0%": {
    "opacity": "0",
    "transform": "translateY(100%)",
    "display": "block"
  },
  "100%": {
    "opacity": "1",
    "transform": "translateY(0)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideInLeft": {
  "0%": {
    "opacity": "0",
    "transform": "translateX(-100%)",
    "display": "block"
  },
  "100%": {
    "opacity": "1",
    "transform": "translateX(0)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideInRight": {
  "0%": {
    "opacity": "0",
    "transform": "translateX(100%)",
    "display": "block"
  },
  "100%": {
    "opacity": "1",
    "transform": "translateX(0)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideOutUp": {
  "0%": {
    "opacity": "1",
    "transform": "translateY(0)",
    "display": "block"
  },
  "100%": {
    "opacity": "0",
    "transform": "translateY(-100%)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideOutDown": {
  "0%": {
    "opacity": "1",
    "transform": "translateY(0)",
    "display": "block"
  },
  "100%": {
    "opacity": "0",
    "transform": "translateY(100%)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideOutLeft": {
  "0%": {
    "opacity": "1",
    "transform": "translateX(0)",
    "display": "block"
  },
  "100%": {
    "opacity": "0",
    "transform": "translateX(-100%)"
  },
  "duration": 500,
  "easing": "easeOut"
},
"slideOutRight": {
  "0%": {
    "opacity": "1",
    "transform": "translateX(0)",
    "display": "block"
  },
  "100%": {
    "opacity": "0",
    "transform": "translateX(100%)"
  },
  "duration": 500,
  "easing": "easeOut"
}
}

Callbacks
Some prop values need some more attention, and might change based on current 'In/Outand directionLeft, Top,.. From the slideconfig (see above):transform: ['100%', '0'].map(translate)I have atranslate()` that creates my callback:
const axesByDirection = direction => (['Left', 'Right'].includes(direction) ? 'X' : 'Y');
const invertValueByDirection = (direction, value) => `${['Left', 'Up'].includes(direction) && value !== '0' ? '-' : ''}${value}`;
const translate = value => ({direction}) => `translate${axesByDirection(direction)}(${invertValueByDirection(direction, value)})`;

Demo
stickyPanelServer.velocity('slideOutUp');
stickyPanelServer.velocity('slideOutDown');
stickyPanelServer.velocity('slideOutLeft');
stickyPanelServer.velocity('slideOutRight');
stickyPanelServer.velocity('slideInUp');
stickyPanelServer.velocity('slideInDown');
stickyPanelServer.velocity('slideInLeft');
stickyPanelServer.velocity('slideInRight');

@exodus4d That's really awesome!!


Generate new file when applying tests

Description
Add an option to generate new file when applying tests
Definition of Done

[ ]  Add an option to generate a new test file instead of applying the tests to an existing class

This is quite difficult since it would require implementing a custom file picker. IntelliJ has no file picker that allows for the creation of classes.
To be discussed with the client.

The client has dropped the issue.


Cannot open a remote workspace via --remote syntax

Looking at the implementation of --remote support, I do not think we correctly open a workspace when I provide one via command line, e.g. code-insiders --remote wsl+Ubuntu /home/ticino/workspaces/workspace.code-workspace
I would have expected that in this method we create a workspace openable if we encounter the .code-workspace file extension:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/platform/windows/electron-main/windowsMainService.ts#L922-L937

Looks like I broke this with https://github.com/microsoft/vscode/commit/f667462a2a8a12c92dbcdd8acf92df7354063691

Looks like I broke this with https://github.com/microsoft/vscode/commit/f667462a2a8a12c92dbcdd8acf92df7354063691


AWS V1 sample apps for IOS.

AWS services in IOS

The samples for the version 1 SDK is available in v1 branch.


Update link to GEOS library

The official GEOS web site is now https://libgeos.org

@Debakel Thanks for this patch :+1: Can you also update other links to: https://www.osgeo.org/, https://trac.osgeo.org, https://lists.osgeo.org/ in docs and comments?

@felixxm Sure. I checked all other links matching *osgeo.org/*. The remaining ones are still up to date.

@Debakel Thanks :+1: I found one more:

django/contrib/gis/geos/libgeos.py: # https://geos.osgeo.org/doxygen/geos__c_8h_source.html this should be probably https://libgeos.org/doxygen/geos__c_8h_source.html.

@felixxm Thanks, I updated this one as well.

@Debakel Thanks :+1: Welcome aboard :boat:


Using Mesos pods for enhancing the capabilities of the Mesos plugin

By using Mesos pods, it should be possible to implement new capabilities for the Mesos plugin like being able to use any Docker image as slave template and having the possibility to add side-containers to a build.
For using any Docker image as slave template, a pod with a Jenkins slave template linked to a build container should be created. The Jenkins slave manage the communication with the master and the build container is used for building using an ephemeral volume.
For side-containers we can consider to use the network capability for being able to access to the side container from localhost.
These kind of features are already available in Jenkins Docker Slaves plugin but without the ability to use an orchestrator like Mesos for running the containers.

2.0 uses task groups, aka pods, through USI by default. I'm a little skeptical, though. What would side-containers or side-cars do in a build? I'm afraid this could be rather complex.

Closing for lack of response.


⚠ Mobitopup has degraded performance

In 3c6b093, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 5058 ms

Resolved: Mobitopup performance has improved in 8712c0f.


Attempt to get clean on code style

Attempting to get clean on code style rules so that we can turn it on by default: https://github.com/dotnet/roslyn-project-system/pull/1002

Remove usage of "this."
Use language-specific type
Inline variable declarations (these were missed by last time I ran this due to https://github.com/dotnet/roslyn/issues/15992)
Suppress invalid inline variable declaration instances (bug https://github.com/dotnet/roslyn/issues/16028)

tag @dotnet/project-system


Hourly Forecasts

Allow the user to put a time + date in to get an idea of what the weather will be like then. At the moment, it only displays the weather right now.

Use the current location and the current time to get the hourly forecasts.


Separate existing module into two: (1) have a zero-dep module; (2) jackson-dep module

The zero dep module would bring zero dependencies when using YamlPath.
The Jackson dep module should use the zero dep module plus utilities to load files using Jackson.

So far, the YamlPath utility is coupled with Jackson and it's not expected to work with other libraries like SnakeYaml. Therefore, we can't do this in the short term. We can perhaps shade the transitive dependencies if having the jackson dependency causes troubles. Closing.


Pneumaticcraft Agitator conflict

There appears to be a crash involved when turning a mob spawner into an agitated mob spawner via PneumaticCraft.
In the referenced issue, a commenter stated:

The simple workaround for this is to disable the "displaySpawnerParticle" option for the "Despawning Spawners" mod.

Crash Log: https://pastebin.com/eEmF1txK
Reference: https://github.com/Darkosto/SevTech-Ages/issues/1841

Cool!


Add ncbiTaxon ontology term for homo sapiens

should be accessible through : https://phenopacketlab-dev.jax.org/api/constants/homosapiens

I can see this in the downloaded json, working great


Request to design icons for Pipeline Templates

What is version of KubeSphere DevOps has the issue?
latest
How did you install the Kubernetes? Or what is the Kubernetes distribution?
No response
Describe this feature
Request to design icons for Pipeline Templates: Node.js, Golang, Maven.

Additional information
/kind design

/priority high

issue is fixed

version used
nightly-20220524


Implement edge triangulation in rust, setup repository for build packages

This PR contains an implementation of edge triangulation in Rust. It looks slightly faster than C++ version (but I think that I know the source of at least part of the slowdown).
It is much faster than numba.
import h5py
import timeit
import os

import numpy as np
from bermuda import triangulate_path_edge as triangulate_path_edge_rust
from PartSegCore_compiled_backend.triangulate import triangulate_path_edge_numpy as triangulate_path_edge_cpp
from napari.layers.shapes._accelerated_triangulate import generate_2D_edge_meshes as triangulate_path_edge_python

DATA_PATH = os.path.join(os.path.dirname(__file__), "data.h5py")

def load_shapes_from_hdf5(filename):
    with h5py.File(filename, "r") as f:
        polygons_ = [np.array(x) for x in f["polygons"].values()]
        affine_ = f["affine"][()]
    return polygons_, affine_

polygons, _affine = load_shapes_from_hdf5(DATA_PATH)

def check_rust():
    for polygon in polygons:
        triangulate_path_edge_rust(polygon, closed=True, bevel=False)

def check_cpp():
    for polygon in polygons:
        triangulate_path_edge_cpp(polygon, closed=True, bevel=False)

def check_numba():
    for polygon in polygons:
        triangulate_path_edge_python(polygon, closed=True, bevel=False)

print("Rust")
print(timeit.timeit(check_rust, number=20))

print("Cpp")
print(timeit.timeit(check_cpp, number=20))

for i in range(2):
    check_numba()

print("Numba")
print(timeit.timeit(check_numba, number=20))

Rust
Rust
7.355338925000979
Cpp
9.102572837997286
Numba
21.334148497997376

data.zip

Passing tests: https://github.com/Czaki/bermuda/actions/runs/12420895098

I have validated a few things and it looks impossible to add type annotation to compiled extensions,
https://stackoverflow.com/questions/50537407/add-a-signature-with-annotations-to-extension-methods/50763175#50763175
https://bugs.python.org/issue3208
But dostrings are available. Added

@coderabbitai review


Clipboard could not use in win7 or xp

Hi,
When I use Rdesktop in Linux as client  to access my remote desktop throught  XRDP, I found my remote desktops  clipboard works well. but when I use mstsc in win7 or xp ,Clipboard couldnt  work. I don`t know why. I hope you can solve this problem.
I use libxrdpfreerdp1.so

Reopen if this issue is not fixed in the latest release (v0.9.1).


Animation not working when config data changes with filter

Hi!
Imagine that I have a dropdown, a Pie Chart and the config data lives outside the component that renders the Pie Chart.
Then, when I change the filter, the config data changes and the Chart should re-render.
The problem is: The Chart re-renders without animation! The chart just appears.
I tried this: https://github.com/kirjs/react-highcharts/issues/171#issuecomment-268418008, but it just re-renders the Chart and it animates as is a new Chart.
I would like to have a smooth animation like when we click on the Legend. Is that possible?
Thank you.

You need

https://github.com/kirjs/react-highcharts#accessing-highcharts-api-after-render

It works for me.
import React, {Component} from 'react'
import HighchartsExporting from 'highcharts-exporting'
import HighchartsMore from 'highcharts-more'
import Highcharts from 'highcharts'
import ReactHighcharts from 'react-highcharts'

export default class Example extends Component {

    setData = () => {
        let chart = this.refs.chart.getChart();
        chart.series[0].update({
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
        });
    }

    render() {
        let config = {
            chart: {
                events: {
                    addSeries: function () {
                        let label = this.renderer.label('A series was added, about to redraw chart', 100, 120)
                            .attr({
                                fill: Highcharts.getOptions().colors[0],
                                padding: 10,
                                r: 5,
                                zIndex: 8
                            })
                            .css({
                                color: '#FFFFFF'
                            })
                            .add();

                        setTimeout(function () {
                            label.fadeOut();
                        }, 1000);
                    }
                }
            },

            xAxis: {
                categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            },

            series: [{
                data: [216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5]
            }]
        }

        HighchartsMore(ReactHighcharts.Highcharts);
        HighchartsExporting(ReactHighcharts.Highcharts);
        let charts = <ReactHighcharts config={config} ref="chart"> </ReactHighcharts>
        return (
            <div>
                <button onClick={this.setData}>Change data</button>
                {charts}
            </div>
        )
    }

}

@ilyjs I would work if my data lives in the component. But my data comes from outside the component.
Something like:
let { value } = this.props;

config = {
    chart: {
      type: 'pie'
    },
    data: [{
      name: 'Name 1',
      y: value
    }]
  };

return <HighChart config={config} />

With a code like this, the chart just re-renders but without animation: it just appears with the new data.

The animations are a major feature of highcharts, and should be included in any wrapper. Check out https://github.com/whawker/react-jsx-highcharts. I'm still experimenting with both to see which offers better animations.


Java Null Pointer Exception when a link points to a page that no longer exist

Here is an example of the error message the collector generates when it encounters a link that points to a page that no longer exist.
ERROR [AbstractCrawler] Norconex Minimum Test Page: Could not process document: http://localhost:8080/test-web-site/page3.jsp (null)
java.lang.NullPointerException
at com.norconex.collector.http.pipeline.importer.HttpImporterPipelineUtil.enhanceHTTPHeaders(HttpImporterPipelineUtil.java:67)
at com.norconex.collector.http.pipeline.importer.HttpImporterPipeline$DocumentFetcherStage.executeStage(HttpImporterPipeline.java:150)
at com.norconex.collector.http.pipeline.importer.AbstractImporterStage.execute(AbstractImporterStage.java:31)
at com.norconex.collector.http.pipeline.importer.AbstractImporterStage.execute(AbstractImporterStage.java:24)
at com.norconex.commons.lang.pipeline.Pipeline.execute(Pipeline.java:90)
at com.norconex.collector.http.crawler.HttpCrawler.executeImporterPipeline(HttpCrawler.java:213)
at com.norconex.collector.core.crawler.AbstractCrawler.processNextQueuedCrawlData(AbstractCrawler.java:480)
at com.norconex.collector.core.crawler.AbstractCrawler.processNextReference(AbstractCrawler.java:376)
at com.norconex.collector.core.crawler.AbstractCrawler$ProcessURLsRunnable.run(AbstractCrawler.java:638)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Several fixes were recently made and a snapshot release has been made (2015-04-06).  Please try it and let me know.   Make sure to install it in a clean location to prevent having the same Jars with different versions.

Norconex HTTP Collector 2.1.0 was released. Closing.


Derived Quantites refresh: Units in title

Proposed changes
New PR restoring #711
With this change, users can opt to have units in the titles of the derived quantities file. They can do this with a new argument within the DerivedQuantities class like so:
my_derived_quantities = F.DerivedQuantities(
    [
        F.TotalVolume("solute", volume=1),
        F.AverageVolume("solute", volume=1),
        F.MaximumVolume("solute", volume=1),
        F.MinimumVolume("solute", volume=1),
        F.SurfaceFlux("solute", surface=2),
    ],
    filename="derived_quantities.csv",
    show_units=True,
)

The unit is then added to the derived quantity's title, accounting for the mesh's dimension. For example, should a user call for a TotalVolume of the solute field in a 1D mesh case with units, the title will be Total solute volume 1 (H m-2) , whereas in the same case but in 2D, the title will be Total solute volume 1 (H m-1) .
The original format of the titles is kept the same to avoid introducing breaking changes; however, it could be debated whether to change them to make them more consistent.
I have also taken the liberty to add doc strings to all derived quantities.
Types of changes
What types of changes does your code introduce to FESTIM?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Code refactoring
[ ] Documentation Update (if none of the other choices apply)
[x] New tests

Checklist

[x] Black formatted
[x] Unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

@jhdark are we good to merge?

I think so


liblog?

this is really a wonderful addition to hangfire. great work!
maybe it makes sense to also write the log entries to liblog. so they appear in our normal logs too.

There are too many concerns here.
Which logger should it write to? What logging level should it use? How to write progress bar updates? etc.
Why not just define an extension method which would forward message to both?

logger abstraction is nicely handled by liblog (hangfire uses that internally too). loglevel could be set in console options. progress bars, maybe leave that out for now.
but you are right, a custom extension method could do the same.

logger abstraction is nicely handled by liblog

I mean, it is still bound to some class, which we may not know inside extension.
For example, job is defined as interface method, which is resolved from DI container at runtime. Then console writes will be directed to logger for interface, while the remaining logging will use logger for concrete class. Stack backtrace is also a bad option, as it is expensive, and might be not available on some platforms, and may even not contain a caller job (for example, Task continuation from IO completion thread).

Yes, I agree @pieceofsummer I do sometimes write it to the console and to the log if needed.  Separate concerns IMO.


Inconsistent border management in header and footer

Using asciidoctor-pdf recently I noticed that my header disappeared from themed documents. I normally use header and footer with relevant document information separated from body with a thin line for both of them. I have run this on Ubuntu 22.04, but have also upgraded both ruby and asciidoctor-pdf to the most recent versions.
The issue I experienced is confirmed using ruby 3.2.2 and asciidoctor-pdf 2.3.7 on Ubuntu 22.04 (using rbenv and gem updates).
The documentation is good informing that if height is not set for header/footer they won't appear. Earlier the border came if I had set border-color or border-style. To remove I had to set the color to background. Now, for the header, the border won't show if border-width is not properly set. I think this is a nice feature and would like this behavior to be consistent across header and footer.
Would it be possible to make the behavior for header and footer consistent?
Thanks for a great tool which I am using extensively.

I'm glad you're finding Asciidoctor PDF a useful tool.
The change you're requesting is not possible. It would reverse the fix for #2134, which was an intentional change. The appearance of the border below the running header can be enabled by setting the border-width property (the border-color is now the optional property). The border width for the periphery should not be tied to the base border width as that is meant to control borders within the content. The appearance and width of borders for the running content are independent.
The reason you don't have to set border-width for the footer when using or extending a built-in theme is because the border width is set by default, hence enabling it, which is a common publishing practice. It's less common for there to be a border in the running header. That's why it's required.  I'm happy to emphasize this in the docs.
Ultimately, the defaults in the built-in theme is a stylistic choice. But regardless of what the default is, the theming system gives you the ability to change that default.

Earlier the border came if I had set border-color or border-style.

That predated the 2.0.0 release, which was a very old release. Many aspects of the converter were refined and aligned leading up to the 2.0.0 release, this being one of them.


Unmet peer dependencies

Is it normal I'm getting all of these?
$ npm install
...
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>...
└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>
In fact when I ran ionic serve I get:
[23:53:36]  bundle dev failed:  Could not resolve '@angular/platform-browser-dynamic' from /Users/gianfranco/temp/ionic2-boilerplate/src/app/main.dev.ts

[23:53:36]  Error: Could not resolve '@angular/platform-browser-dynamic' from /Users/gianfranco/temp/ionic2-boilerplate/src/app/main.dev.ts

After installing all those packages the app now loads on the browser

Thank you @gianpaj for your report. I'm going to update the boilerplate with ionic rc1 and latest app-scripts. Waiting for this issue to be resolved -> https://github.com/driftyco/ionic/issues/8691 as it seems also related with this bug in sameway.


Setting up SSL with letsencrypt.org's certbot

Has anyone tried setting up letsencrypt.org's certbot with the scaleway-wordpress server?
Looking at this guide https://certbot.eff.org/#ubuntutrusty-nginx

After a big of playing around I managed to get this configured. Here's my rough notes I'll try to find time to write a blog post about it.

ssh to your server
install certbot as noted wget https://dl.eff.org/certbot-auto and then chmod a+x certbot-auto
generate the certs ./certbot-auto certonly --webroot -w /var/www -d your_domain_here.com this will create your priv key and certs in folder /etc/letsencrypt/live/your_domain_here.com/
edit the nginx virtual host config file located /etc/nginx/sites-available/000-default.conf
add new server entry to redirect all http to https

server {
    listen 80;
    return 301 https://$host$request_uri;
}

edit the existing server entry to listen on port 443 and add enable SSL .

listen 443 default_server;

  ssl on;
  ssl_certificate /etc/letsencrypt/live/your_domain_here.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/your_domain_here.com/privkey.pem;

restart webserver/nginx sudo /etc/init.d/nginx restart
Recommend also adding a bunch of additional nginx security config as noted here

I would also suggest changing the "WordPress Address" and "Site Address" fields under "General Settings" on WordPress Dashboard to contain https. This helped me fix an issue with page loading with mixed content warnings.

Hey @kwickramasekara good point! i also discovered that a few weeks after I posted answer above.

This is gold :)
Thank you @scottyab for share

Did this just stop working?.
Like 2 weeks ago I used it in 2 or 3 servers without problems.
Today after changing the 000-default.conf i'm getting a 400 bad request :|
Anyone know how to fix this?