Questions about released camera_params

Hi
I have some questions about released camera parameters
For example: In NikonD850_params.npy, it has key name like Profile-1(G_scale, g_scale, R_scale), Profile-2, G_shape.
I don't know they are corresponded to which parameter listed in paper table1 respectively.
Another question, are these noise parameters the same in R, G, B channel of raw? (like system gain K, tukey lambda shape and sigma, row noise sigma)

G_scale and  R_scale denote Scale sigma_TL and sigma_r in Table 1. g_scale denotes Gaussian noise.
The noise parameters in R, G, B channel of raw are the same in ELD noise model.

G_scale and R_scale denote Scale sigma_TL and sigma_r in Table 1. g_scale denotes Gaussian noise.
The noise parameters in R, G, B channel of raw are the same in ELD noise model.

Thanks for your reply.
You say g_scale denotes Gaussian noise, but in table 1. doesn't have this part. (g_scale also has bias, sigma, slope in NikonD850_params.npy).
Other question is that what G_shape denotes  in .npy ?
Besides, why in NikonD850_params.npy has Profile-1 and Profile-2?

Other question is that what G_shape denotes in .npy ? A: The shape param (\lambda) in TL distribution.
why in NikonD850_params.npy has Profile-1 and Profile-2? A: just a historical development issue (you can view it as two instantiations of parameter calibration). Please carefully read the paper before asking further questions, thx.

Because paper doesn't explain about the camera parameters in npy file and the parameter's names are different between npy file and the description in paper, so I have a lot of problems.
G_shape denotes The shape param (\lambda) in TL distribution that means in different ISO(or K) has different TL shape. Whether I understand right or not?
If right, I am confused how to plot the relation between sigma_TL and K like Figure 9. in the paper, because different K has different TL shape and sigma_TL.

Because paper doesn't explain about the camera parameters in npy file and the parameter's names are different between npy file and the description in paper, so I have a lot of problems.

But it should be easy to be inferred yourself. Please note the implementation of calibration method is made confidential currently, so I would not reveal too much about it.

G_shape denotes The shape param (\lambda) in TL distribution that means in different ISO(or K) has different TL shape. Whether I understand right or not?

You may randomly sample G_shape, or just choose one from them. They are not correlated with K

But it should be easy to be inferred yourself. Please note the implementation of calibration method is made confidential currently, so I would not reveal too much about it.

Thanks for your detailed answers. I know there are confidential details, if can not reveal the method, just let me know 👍

You may randomly sample G_shape, or just choose one from them. They are not correlated with K

So If I just choose one G_shape, for example lambda=0.14 that approximating to N(0, 2.142), the sigma_TL is a constant value. Thus the joint distribution of (K, sigma_TL) in Fig 9 of paper will become a horizontal line. Is it correct?

So If I just choose one G_shape, for example lambda=0.14 that approximating to N(0, 2.142), the sigma_TL is a constant value. Thus the joint distribution of (K, sigma_TL) in Fig 9 of paper will become a horizontal line. Is it correct?

For lambda=0.14, TL(0.14, 0, \sigma) approximates N(0, 2.142\sigma). Note \sigma here is not standard deviation, instead it terms "scale param"

For lambda=0.14, TL(0.14, 0, \sigma) approximates N(0, 2.142\sigma). Note \sigma here is not standard deviation, instead it terms "scale param"

Thanks for your answer. I understand the sigma_TL now.
I still have a question that is if different K has different lambda, is it reasonable to randomly choose a lambda shape and plot the  joint distribution of (K, sigma_TL)? or should I how to plot the  joint distribution of (K, sigma_TL) in Fig 9.

Hi all,
Thanks for the informative discussions! I also want to generate another dataset based on the camera param available! (Thanks again to the authors who eventually decided to share it!)
Just want to confirm, here is how I implemented the "R" noise in Table 1:
The following codes are inserted here
        if 'r' in self.model:
            z = self.unpack_bayer(z)
            z = z + np.tile(np.random.randn(z.shape[0])[:,np.newaxis], (1, z.shape[1])).astype(np.float32) * np.maximum(sigma_r, 1e-10)
            z = self.pack_bayer(z)

These codes are inserted here
        log_r = np.random.standard_normal() * camera_params['R_scale']['sigma'] * 1 +\
             camera_params['R_scale']['slope'] * log_K + camera_params['R_scale']['bias']
        sigma_r = np.exp(log_r)

and pack_bayer and  unpack_bayer are defined as:

    def unpack_bayer(self, x):
        _, h, w = x.shape
        H = h*2
        W = w*2
        out = np.zeros((H, W))

        out[0:H:2, 0:W:2] = x[0]
        out[0:H:2, 1:W:2] = x[1]
        out[1:H:2, 1:W:2] = x[2]
        out[1:H:2, 0:W:2] = x[3]
        return out

    def pack_bayer(self, raw):
        h, w = raw.shape
        out = np.concatenate((raw[np.newaxis, 0:h:2, 0:w:2],
                              raw[np.newaxis, 0:h:2, 1:w:2],
                              raw[np.newaxis, 1:h:2, 1:w:2],
                              raw[np.newaxis, 1:h:2, 0:w:2]), axis=0)

Based on these codes I've generated a figure similar to Figure 5 which seems to have such row-by-row noise features.
Could you kindly check whether the codes are correct?

Based on these codes I've generated a figure similar to Figure 5 which seems to have such row-by-row noise features.
Could you kindly check whether the codes are correct?

I think your row noise gereration codes are correct.

What doe

G_scale and R_scale denote Scale sigma_TL and sigma_r in Table 1. g_scale denotes Gaussian noise.
The noise parameters in R, G, B channel of raw are the same in ELD noise model.

What gaussian noise does g_scale denote?


Make behavior of default(Metadata.Entry) sane

Fixes https://github.com/grpc/grpc/issues/6713 and adds tests.

Why is Metadata.Entry a struct?  Could we avoid the default issue by making it a class?

Originally metadata entry was a struct for performance reasons which in restrospect seems unnecessary and it's also causing issues like this one, so I think I'll just switch Metadata.Entry to be a class.

Closing in favor of #6827.


Expand fix html rts

uwsinopia.xsd changes to allow entry of expanded guidance in prop_set > prop > sinopia > toolkit + guidance_set elements
partial work on updated stylesheets to output expanded guidance to HTML reference templates

Merging pull request.
Not completely sure why there were any changes to templates, as I copied over templates from main branch before merge (a ha! changes to templates in main in interim...)


[Bug] Can only delete first layer in list on Firefox Windows 10

Reproduction Steps

Create more than 1 layer
In the layers dock, click the ... button and select "delete" on one of the layers that isn't the top one

Expected Results
The selected layer is deleted.
Actual Results
The first layer in the list is deleted.

This appears to have just been an old build


add GlobalCluster template file and related config file

Issue #, if available:
Description of changes:
add GlobalCluster template file and related config file
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Global cluster has been merged in another PR. Closing this one.


OWallet Empty fetch transaction failed

Hi,
My wallet is saying FETCH TRANSACTION HISTORY DAILED NETWORK ERROR.
HELP !!!

My wallet is Empty..how do I fix this !!!

I have the same problem!! Any ideas, all my ONT and ONG earned are lost. Now I get an error about Keystore file not being valid or available when I do see it.

Upgrading to latest ONT wallet fixed this! Had to import the .dat file with new version and it all seems to work.

Did you download that in playstore owallet didnt match on my phone version.! I am pie 9.0 helio p22 what about in the web does it have site? I cannot evn find it pls help I am just a newbie. Thanks.

Pls I can’t see any balance on my wallet
It says fetch balance failed.Network error pls try later

Please upgrade to the latest version. Thanks


Add EU region machine to test block device

let's see if this works :crossed_fingers:

let's see if this works :crossed_fingers:


React can't find the root component node for data-reactid...

Warning: React can't find the root component node for data-reactid value `.mnt2f73o5c.0.0.0.$-1`. If you're seeing this message, it probably means that you've loaded two copies of React on the page. At this time, only a single copy of React can be loaded at a time.
TypeError: Cannot read property 'firstChild' of undefined
    at Object.ReactMount.findComponentRoot (webpack:///./~/react/lib/ReactMount.js?:715:39)
    at Object.ReactMount.findReactNodeByID (webpack:///./~/react/lib/ReactMount.js?:679:23)
    at Object.getNode (webpack:///./~/react/lib/ReactMount.js?:162:32)
    at Object.SimpleEventPlugin.didPutListener (webpack:///./~/react/lib/SimpleEventPlugin.js?:571:29)
    at Object.EventPluginHub.putListener (webpack:///./~/react/lib/EventPluginHub.js?:153:20)
    at Object.wrapper [as putListener] (webpack:///./~/react/lib/ReactPerf.js?:66:21)
    at Object.putListener (webpack:///./~/react/lib/ReactDOMComponent.js?:234:28)
    at CallbackQueue.assign.notifyAll (webpack:///./~/react/lib/CallbackQueue.js?:65:22)
    at ReactReconcileTransaction.ON_DOM_READY_QUEUEING.close (webpack:///./~/react/lib/ReactReconcileTransaction.js?:81:26)
    at ReactReconcileTransaction.Mixin.closeAll (webpack:///./~/react/lib/Transaction.js?:202:25)
    at ReactReconcileTransaction.Mixin.perform (webpack:///./~/react/lib/Transaction.js?:149:16)
    at ReactUpdatesFlushTransaction.Mixin.perform (webpack:///./~/react/lib/Transaction.js?:136:20)
    at ReactUpdatesFlushTransaction.assign.perform (webpack:///./~/react/lib/ReactUpdates.js?:86:38)
    at Object.flushBatchedUpdates (webpack:///./~/react/lib/ReactUpdates.js?:147:19)
    at Object.wrapper [as flushBatchedUpdates] (webpack:///./~/react/lib/ReactPerf.js?:66:21)
    at ReactDefaultBatchingStrategyTransaction.Mixin.closeAll (webpack:///./~/react/lib/Transaction.js?:202:25)
    at ReactDefaultBatchingStrategyTransaction.Mixin.perform (webpack:///./~/react/lib/Transaction.js?:149:16)
    at Object.ReactDefaultBatchingStrategy.batchedUpdates (webpack:///./~/react/lib/ReactDefaultBatchingStrategy.js?:62:19)
    at Object.enqueueUpdate (webpack:///./~/react/lib/ReactUpdates.js?:176:22)
    at enqueueUpdate (webpack:///./~/react/lib/ReactUpdateQueue.js?:24:16)
    at Object.ReactUpdateQueue.enqueueSetState (webpack:///./~/react/lib/ReactUpdateQueue.js?:190:5)
    at RelayContainer.ReactComponent.setState (/Users/filod/shen/gs/node_modules/react/lib/ReactComponent.js:65:16)
    at RelayContainer._handleFragmentDataUpdate (/Users/filod/shen/gs/node_modules/react-relay/lib/RelayContainer.js:446:12)
    at GraphQLStoreSingleQueryResolver._handleChange (/Users/filod/shen/gs/node_modules/react-relay/lib/GraphQLStoreQueryResolver.js:243:12)
    at Object.ErrorUtils.applyWithGuard (/Users/filod/shen/gs/node_modules/react-relay/node_modules/fbjs/lib/ErrorUtils.js:18:21)
    at processSubscriber (/Users/filod/shen/gs/node_modules/react-relay/lib/GraphQLStoreChangeEmitter.js:100:20)
    at Array.forEach (native)
    at processSubscribers (/Users/filod/shen/gs/node_modules/react-relay/lib/GraphQLStoreChangeEmitter.js:85:15)
    at ReactDefaultBatchingStrategyTransaction.Mixin.perform (/Users/filod/shen/gs/node_modules/react/lib/Transaction.js:136:20)
    at Object.ReactDefaultBatchingStrategy.batchedUpdates (/Users/filod/shen/gs/node_modules/react/lib/ReactDefaultBatchingStrategy.js:62:19)
    at batchedUpdates (/Users/filod/shen/gs/node_modules/react/lib/ReactUpdates.js:94:20)
    at processBroadcasts (/Users/filod/shen/gs/node_modules/react-relay/lib/GraphQLStoreChangeEmitter.js:80:5)
    at tryCallOne (/Users/filod/shen/gs/node_modules/react-relay/node_modules/fbjs/node_modules/promise/lib/core.js:37:12)
    at /Users/filod/shen/gs/node_modules/react-relay/node_modules/fbjs/node_modules/promise/lib/core.js:103:15
    at flush (/Users/filod/shen/gs/node_modules/asap/raw.js:50:29)
    at doNTCallback0 (node.js:408:9)
    at process._tickCallback (node.js:337:13)

the error happen in the second page refresh (everything is fine in first access of page), I can not figure out why this happen, the only differences from my code to todomvc example is **i use webpack to build server-side code **
besides, if i change code from:
class X extends React.Component {
  handleClick(){}
  render(){
    return

  }
}

to
class X extends React.Component {
  handleClick = () => {}
  render(){
    return

  }
}

The error would be gone.
Did I miss something or this may have issue with webpack ?
or this is the bug related to react: https://github.com/facebook/react/issues/5383

Yeah, I have seen this error many times while developing isomorphic-relay-router. It boils down to React DOM updates on the server after it have been already rendered and unmounted. Usually, that happens because some component subscribed to something asynchronous, e.g. to updates to the Relay store.
That's why you need to inject no-on batching strategy on the server (only):
GraphQLStoreChangeEmitter.injectBatchingStrategy(() => {});

Also make sure your React components don't perform any asynchronous operations, and don't subscribe to anything.

it's hard to touch third party lib like react-router's Link component.
(but it's ok to use Link in non-route-component)

So, you injected the batching strategy, and still get that error? It helped me with Link's before.
See a demonstration of general problem: http://codepen.io/dened/pen/YyByYr

I've opened https://github.com/facebook/react/issues/5473

Yep, still get that error (only happens in route-component which is also wrapped by relay container )

Your stack trace suggests that this code overrides your batching strategy. So, just make sure you inject the batching strategy after "react-relay" module was already loaded.

sure, but it does work for me...(even if i remove GraphQLStoreChangeEmitter.injectBatchingStrategy(ReactDOM.unstable_batchedUpdates))

I know why this happen, webpack resolve GraphQLStoreChangeEmitter and react-relay/lib/GraphQLStoreChangeEmitter as two different modules.

Probably, you have two copies of react-relay in your node modules tree.

just make node_modules as external for backend could solve this.
see: https://github.com/jlongster/backend-with-webpack/blob/part1/webpack.config.js#L21
and remember to add specifc deps:
nodeModules.push({
  'react-relay/lib/GraphQLStoreChangeEmitter': 'commonjs react-relay/lib/GraphQLStoreChangeEmitter'
})
...
import GraphQLStoreChangeEmitter from 'react-relay/lib/GraphQLStoreChangeEmitter'

and remember to add specifc deps:

Or you can just specify all non-relative module paths as external:
...
output: {
        path: path.resolve(__dirname, 'lib'),
        filename: 'server.js',
        libraryTarget: 'commonjs2'
 },
 externals: /^[^.]/,
...

@denvned Thank you for this part "don't subscribe to anything in the constructor, in componentWillMount, or in render". That solved my problem, i had a Promise.all in componentWillMount and was getting this annoying warning message. Moved it to componentDidMount and no more warnings. Thanks!

Thought I'd leave this here just in case:
I ran into the same issue as filod, but with a ridiculously simple and overlooked explanation: I had a debug line on the client calling renderToString (react-dom/server) to debug prior rendering issues, in addition to rendering the actual DOM. I suppose this caused the application to execute twice, causing a whole range of issues. Mind you, one probably shouldn't be calling renderToString on the client in the first place!


Fix Dockerfile to build out of the box

The directory ./kubevirt-templates doesn't exist as templates get downloaded into /opt/apb/kubevirt-templates.

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically.
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.


Vue as individual page

Is possible to use Vue in a page
app.js
require("./bundle-config");
var application = require("application");
application.start({ moduleName: "views/login/login" });
view/login/login.js
exports = new Vue({...})
something like this

Yes and no!
Yes, you can use separate pages as shown in the sample app here: https://github.com/rigor789/nativescript-vue/blob/master/samples/app/app-with-router-pages.js
And no because it requires vue-router to work.
Ideally we would like to have a way to navigate between pages without vue router, and then make the router an option for those who need it.

Thank you. Your example very clear.

Hey, I haven't tested the back button yet, that is on the roadmap, but you should be able to create different pages (activities) if you use the example I linked, where every component has a <page> root element.
Using the router, you should be able to navigate between the pages, but this is still a very minimal and early implementation! If you find any bugs, issues please let us know, so we can work on fixing them!

Hope this can help someone that has issue with router-page
app.js add following code to handle back button properly
application.android.on(application.AndroidApplication.activityBackPressedEvent, data => {
  router.back()
  data.cancel = true
})


Java language syntax highlighting

Hi
I have connected with the eclipse jdt ls, but the syntax highlighting is not working as the code uses Monaco editor core, need help on how to register java language and enable syntax highlighting.
Thanks in advance

Have you checked the sample in the example dir? replace the monaco-editor-core by monaco-editor and you support to syntax highlight, autocompleter, etc
NOTE: if got a type error when building this, see this


Trying to fix certificate upload & password checking

As mentioned in #21, certificate credentials are not working well.
I found and fixed one bug, which was a stack trace when password == null. The problem is that doCheckKeyStoreFile receives a null password even when one is visibly set in the form. The check is actually correct when the page is first loaded, but then called again incorrectly if you even focus either the keyStoreFile or password fields, overwriting the original form validation with a bogus error. Easily reproduced with src/test/resources/com/cloudbees/plugins/credentials/impl/test.p12 (password password).
I tried updating the baseline to 1.532 where JENKINS-19124 is fixed, and deleting the special <script>s in FileOnMasterKeyStoreSource/config.jelly and UploadedKeyStoreSource/config.jelly. This did not seem to break anything, but it did not fix the issue either.
I also tried using @QueryParameter @RelativePath("..") String password, which I believe ought to be required, since password is defined in a higher form element. But this caused me to get an inscrutable JavaScript error
Uncaught TypeError: undefined is not a function

from prototype.js:856:
if (e != $break) throw e;

So stopping here, which at least makes the bug less odious.
@reviewbybees

+1

+1


Refactor Cosigner/Signer Start

This refactor seeks to close out issue #12
cmd/cosigner.go will have the single signer functionality removed and stuck in its own cmd, cmd/signer.go

Great work @jtieri, LGTM


[Merge extension] Support GNU patch --merge results

VSCode Version: 1.13.0
OS Version: Darwin 16.5.0

GNU patch's --merge is useful when you need to apply external patch but want to see conflicts inline instead of separate .rej files.
It produces outputs like following:
<<<<<<<
first content
=======
second content
>>>>>>>

They're largely similar to Git's own format, except don't have additional information like commit message or filename.
As a workaround, if I just add a space in the end of both <<<<<<< and >>>>>>>, Better Merge can already recognize it, but it would be nice to have this built-in.
cc @pprice

@chrmarti Thank you!


Basic Seldon Core Deployment Service

Basic Seldon Core Deployment Service
This PR adds a Seldon Core Deployment Service as part of the new Seldon Core integration. In the absence of a Seldon Core Deployer stack component (TBD) and a Seldon Core Deployment Step (TBD), the Service needs to be configured and managed externally, e.g.:
from zenml.integrations.seldon.services import (
    SeldonDeploymentConfig,
    SeldonDeploymentService,
)

service_config = SeldonDeploymentConfig(
    model_uri="s3://zenfiles/seldon_model_deployer/output/374/seldon",
    model_name="mnist",
    implementation="SKLEARN_SERVER",
    secret_name="seldon-init-container-secret",
    pipeline_name=step_env.pipeline_name,
    pipeline_run_id=step_env.pipeline_run_id,
    pipeline_step_name=step_env.step_name,
    replicas=1,
    kubernetes_context="zenml-eks-sandbox",
    namespace="zenml-workloads",
    base_url="http://abb84c444c7804aa98fc8c097896479d-377673393.us-east-1.elb.amazonaws.com",
)

service = SeldonDeploymentService(config=service_config)
service.start(timeout=120)

The PR consists of the following:

a Seldon Core client library, which is probably the largest file in this PR. Implementing this could not have been avoided, as there currently is no Python client library for configuring and managing Seldon Core Kubernetes resources. The client library makes use of Pydantic objects to model the basic structure of a SeldonDeployment Kubernetes CRD and implements basic CRUD operations for these. It also implements some ZenML specific conventions to distinguish between SeldonDeployment instances that are managed by ZenML and those that are managed by other parties.

a SeldonDeploymentService that manages the life-cycle of a single remote SeldonDeployment. It implements provisioning and de-provisioning of SeldonDeployment resources, as well as tracking their operational status. Some configuration attributes, such as the Kubernetes context and namespace are only temporarily hosted by the Service configuration. They will be moved to the model deployer stack component in a follow-up PR that implements that component.

a continuous deployment example with a custom step implementation that facilitates the collection of all information required to create and run a SeldonDeploymentService as part of a pipeline. To run the example, Seldon Core must be installed in a Kubernetes cluster and a secret containing the authentication credentials required to access the Artifact Store has to be manually created in the kubeflow namespace (still TODO is to create this secret automatically from a ZenML Secret). The example features a full set of command line arguments that can be used to switch between tensorflow and sklearn as the type of model being trained, as well as to set different hyperparameter values for the training. The custom continuous deployment step implementation serves as s baseline for the built-in Seldon ZenML step that will be implemented in a follow-up PR (along with the SeldonDeployer stack component).

some bug fixes required to test this PR in an AWS stack are also included:

a. fixed the conflicts between the aws and sagemaker integration requirements
b. fix S3 fileio bugs with directory copying
c. fixed a bug with the secret manager (if no secrets are configured, the Kubeflow pipeline deployment fails)
d. prevent MLMD database migration with kubeflow metadata store
TODO

[ ] add example README
[ ] use a ZenML Secret to configure credentials
[x] use the implicit (in-pod) Kubernetes credentials to make it work with Kubeflow, when Kubeflow and Seldon Core are installed in the same cluster
[ ] auto-detect the Seldon implementation (e.g. tensorflow/sklearn) from the model artifact data type

Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table.
[ ] I have added tests to cover my changes.

Types of changes

[x] Bug fix (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 change)
[ ] Other (add details above)

@AlexejPenner I pushed a couple of commits that hopefully address all your comments. I also rebased the PR on top of devel to incorporate the latest changes into it.

Just some tiny nits / consistency things. I'll have to spend more time with this to properly understand how it's implemented, but I did what I could :)
My bigger feedback on the example is that I think we might want to / (have to) find a way to make this comprehensible to people who aren't K8S-native / -fluent. It might just be me, but I found the setup instructions a bit overwhelming. I'm not sure how comprehensible it is to someone whose professional life / obligations mean they don't have much experience with these concepts, the commands or just in general the whole universe of how this piece of ZenML works.

This is where the DevOps engineer comes in. As a Data Scientist, you don't need to install these infrastructure tools yourself, they're handed to you by someone who knows how to deal with Kubernetes.

So that people don't get left behind, I almost would want a "Kubernetes for dummies" section where there is a ton of from-basics explanation and context going on. Maybe it doesn't have to be in this example -- probably good in a video or a blog -- but at the very least there should be some hints and support here. When we tell people to set up an Istio service mesh, we should explain what it does, why we're doing this etc. At the moment I think we might lose some people along the way.
(Also want to recognise that it could have been a LOT more gnarly, and this integration already makes it a ton easier. I guess I'm just asking if it can be any more signposted / easier?)

I don't think this can be avoided. Production grade tools like Seldon Core have to be installed, properly configured and maintained and there is no way around it, unless they are provided as a managed service. The idea that this can be automated away and hidden behind some ZenML abstraction and that you don't need to know what they do and how they do it is a bit far fetched at the moment, in my humble opinion. Even Kubeflow is a pain to install and maintain. The fact that you didn't run across a similar complexity regarding Kubeflow is largely due to the fact that ZenML automates a local toy installation for it, but take my word for it, it's as beastly as it can get with complex Kubernetes apps. :)


reinstate requirements.txt

We need requirments.txt to make sure that the server deploys are consistent.
Views is not currently a library and nor is it used as one, so just using setup.py will not work as well.
@jpmckinney I am not sure they were removed?
Can I go ahead and reinstate it?

Yes, we can reinstate. I got confused by the presence of setup.py in both Process and Views, which Views used to install Process and to install itself in .travis.yml.
As part of this, we should remove setup.py, which seems to serve no function anyhow. We can also remove MANIFEST.in and remove /*.egg-info from .gitignore, which were only added to be consistent with a setup.py installation.

I have a PR open #37


Add memory-mapped block / transaction concept

@cculianu as you wrote some of this, maybe you want to take a look?

Hi Tom!  Yes, I'll take a look soon -- I am finishing up some updates to one of my iPhone apps right now which is why I have been a bit incommunicado.
Sorry!  I'll look at it very soon...

If it helps, here's a working example of an RAII mmap'd file wrapper I use in Ora:
https://github.com/bloq/ora/blob/master/src/sandbox.h#L43
https://github.com/bloq/ora/blob/master/src/util.cc#L102
It's read-only, but easy to extend to r/w.

Merged.

Have any benchmarks?

I do, thanks for asking.


Add test for update map

And will close #844

Codecov Report

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

@@            Coverage Diff             @@
##           master     #883      +/-   ##
==========================================
- Coverage   53.51%   53.49%   -0.02%
==========================================
  Files          40       40
  Lines        7520     7520
==========================================
- Hits         4024     4023       -1
  Misses       2983     2983
- Partials      513      514       +1

Impacted Files
Coverage Δ

xorm.go
64.06% <0%> (-1.57%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fd4a80b...ee434bb. Read the comment docs.


build: avoid dependency on structure of GOPATH

A contributor is currently required to checkout  code at ${GOPATH}/src/github.com/cilium/cilium (see https://github.com/cilium/cilium/pull/11174#discussion_r420186748), which shouldn't have to be the case as Go toolchain has eliminated the general need for this.

I'm pretty sure this is resolved now, I haven't had a $GOPATH for some time now and I haven't hit issues so far. I think that most of the remaining dependencies are limited to cases which run inside a docker container that simulates the $GOPATH based on the host directory.


Add new lookups to handle the 4.20.0 CIM version

This PR is used to update the current dictionary used by this application to handle the CIM version 4.20.0

starting CIM Vladiator 2.0.0, CIM dictionary will be compiled from datamodel schema


Incorrect Endpoint for "Get subscribers belonging to a segment"

typo results in incorrect endpoint for request:
segment.py
Line 68
missing '/subscribers' at the end to ensure subscribers of a segment are retrieved
Currently retrieves the segment, not the subscribers of the segment.

Hi @onAutopylot 👋
Thank you for reporting this issue. It's been addressed in the v0.1.8


Incorporate "directional_hook" into class as a method.

Abstract the initial projection and the complementary decomposition into two methods for resuse.
This is based on Nora Belrose's commentary on the semantic and mathematical accuracy of "orthogonalization":
https://www.lesswrong.com/posts/jGuXSZgv6qfdhMCuJ/refusal-in-llms-is-mediated-by-a-single-direction?commentId=3R4bpQzr8nEauimSA

This is just function decomposition but I wasn't able to test this directly. Please confirm this produces the same results first if you decide to merge.


Whitelist twitter.com links in Markdown link checker config

The check for https://twitter.com/ProjectAntrea has been failing, presumably because of some DDos mitigation service.

/skip-all


Emails on PHP 7+ Not Working But Works on PHP 5.6 (on major host provider: HostGator)

I should tell again that emails work on PHP 5.6 but not work on any versions of PHP 7+ on Hostgator.
Already double checked with different members of Hostgator supports.
Configurations, SMTP, PHP Logs all are fine. They told me this problem is definitely from the script.
Here is the full list of their host software properties:
https://support.hostgator.com/articles/what-software-and-program-versions-does-hostgator-offer
Note: This problem is not only for pH7Builder 14.9.0 but for older versions too.

 I installed on Dreamhost with no issues at all.

@kevinbkk Thanks for remind us of what you already told us and that we did answer.
https://ph7cms.com/doc/en/hosting
@nerfthis2019 Thanks for your intervention. Cheap hosting ain't always a goo deal.

@kevinbkk If you can give me some proof that the email problem is related to PHP 7 then I'd be happy to lok into it. But only based on something like "It runs on PHP 5.6 and not on PHP 7" does not make a direct link. If it was related to incompatibility then you'd get something in your PHP error / warning logs.

 I installed on Dreamhost with no issues at all. It can't be PHP 7.x because I installed it with no issues on 7.x. I'm telling you I went down this road with hostgator. If you want to run a site with Ph7 get a different host like Dreamhost.

Thanks for confirming the issue but I don't have other issues with HostGator. As I said the problem only happens for emails and it's only on PHP 7+. It works 100% fine on PHP 5.6 on HostGator.
Hostgator is the largest and most popular web host provider in the world. It definitely worth if the guy behind PH7CMS take a look at this issue on HostGator by opening an account with them as the host comes with no question asked refund policy.

Considering this is a free script to the public and the creator takes donations for development of this. I wouldn't think he'd be willing to buy Hostgator hosting just to test this. But if it's the emails you're having a problem with. Have you tried making an email through Hostgator for your website, such as<EMAIL_ADDRESS>Have you updated the email inside of ph7?In the general settings there should be an email tab and you set the email to whatever you want.

Have you tried making an email through Hostgator for your website, such as<EMAIL_ADDRESS>Have you updated the email inside of ph7?In the general settings there should be an email tab and you set the email to whatever you want.

I tried your suggestion and changed the email tabs setting to domain name emails but that doesn't help.

@kevinbkk We have made some suggestions of hosting provider that we do know they work goods. Be it you think that Hostgator is the most popular in your world and think we should be trying it out. We'd surely accept donation from yourself if you want to give us a hosting account.
In other case, like I said, you already have a list of hosting provider that do work good and there's many others that work too (Namecheap for example). The only thing Hostgator may be popular is for cheap hosting and this is one reason why there's problem with software that pushes the use of PHP.
Like @nerfthis2019 and I did repeat it too many time (again, again, again). This is something we do as volunteer so maybe if you have expectation of the type (should definitively buy a hostgator account to try it out) then maybe you should stick with commercial software.

We have made some suggestions of hosting provider that we do know they work goods. Be it you think that Hostgator is the most popular in your world and think we should be trying it out. We'd surely accept donation from yourself if you want to give us a hosting account.

Hold on! You're not a part of this script. Don't use the word "we"... Scum!


Issue with npm test in Zero-downtime multi-server deployment with NodeJS app

Issue
Error during execution of the Run Node.js API app tests Ansible task when provisioning VM in https://github.com/geerlingguy/ansible-for-devops/tree/master/deployments-rolling
Full log:
TASK [Run Node.js API app tests.] **********************************************
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": true, "cmd": ["npm", "test"], "delta": "0:00:01.326310", "end": "2023-03-13 05:07:23.132796", "msg": "non-zero return code", "rc": 1, "start": "2023-03-13 05:07:21.806486", "stderr": "(node:4710) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.\n(Use `node --trace-deprecation ...` to show where the warning was created)", "stderr_lines": ["(node:4710) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.", "(Use `node --trace-deprecation ...` to show where the warning was created)"], "stdout": "\n> test\n> mocha test --exit\n\n\n\nrestify listening at http://[::]:8080\n  Hello\n    /hello/:name endpoint\n      ✓ returns a welcome message based on the name\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is reachable (129ms)\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is unreachable\n\n  1) tells us when a server is unreachable\n\n  3 passing (187ms)\n  1 failing\n\n  1) Ping\n       /ping/:server endpoint\n         tells us when a server is unreachable:\n     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client\n      at new NodeError (node:internal/errors:387:5)\n      at ServerResponse.setHeader (node:_http_outgoing:644:11)\n      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)\n      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)\n      at /opt/demo-nodejs-api/app.js:20:11\n      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)\n      at Socket.emit (node:events:513:28)\n      at Socket.emit (node:domain:489:12)\n      at addChunk (node:internal/streams/readable:315:12)\n      at readableAddChunk (node:internal/streams/readable:289:9)\n      at Socket.Readable.push (node:internal/streams/readable:228:10)\n      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)", "stdout_lines": ["", "> test", "> mocha test --exit", "", "", "", "restify listening at http://[::]:8080", "  Hello", "    /hello/:name endpoint", "      ✓ returns a welcome message based on the name", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is reachable (129ms)", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is unreachable", "", "  1) tells us when a server is unreachable", "", "  3 passing (187ms)", "  1 failing", "", "  1) Ping", "       /ping/:server endpoint", "         tells us when a server is unreachable:", "     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client", "      at new NodeError (node:internal/errors:387:5)", "      at ServerResponse.setHeader (node:_http_outgoing:644:11)", "      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)", "      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)", "      at /opt/demo-nodejs-api/app.js:20:11", "      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)", "      at Socket.emit (node:events:513:28)", "      at Socket.emit (node:domain:489:12)", "      at addChunk (node:internal/streams/readable:315:12)", "      at readableAddChunk (node:internal/streams/readable:289:9)", "      at Socket.Readable.push (node:internal/streams/readable:228:10)", "      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)"]}
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": true, "cmd": ["npm", "test"], "delta": "0:00:01.293274", "end": "2023-03-13 05:07:23.731336", "msg": "non-zero return code", "rc": 1, "start": "2023-03-13 05:07:22.438062", "stderr": "(node:4692) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.\n(Use `node --trace-deprecation ...` to show where the warning was created)", "stderr_lines": ["(node:4692) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.", "(Use `node --trace-deprecation ...` to show where the warning was created)"], "stdout": "\n> test\n> mocha test --exit\n\n\n\nrestify listening at http://[::]:8080\n  Hello\n    /hello/:name endpoint\n      ✓ returns a welcome message based on the name\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is reachable (82ms)\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is unreachable\n      1) tells us when a server is unreachable\n\n  3 passing (143ms)\n  1 failing\n\n  1) Ping\n       /ping/:server endpoint\n         tells us when a server is unreachable:\n     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client\n      at new NodeError (node:internal/errors:387:5)\n      at ServerResponse.setHeader (node:_http_outgoing:644:11)\n      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)\n      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)\n      at /opt/demo-nodejs-api/app.js:20:11\n      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)\n      at Socket.emit (node:events:513:28)\n      at Socket.emit (node:domain:489:12)\n      at addChunk (node:internal/streams/readable:315:12)\n      at readableAddChunk (node:internal/streams/readable:289:9)\n      at Socket.Readable.push (node:internal/streams/readable:228:10)\n      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)", "stdout_lines": ["", "> test", "> mocha test --exit", "", "", "", "restify listening at http://[::]:8080", "  Hello", "    /hello/:name endpoint", "      ✓ returns a welcome message based on the name", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is reachable (82ms)", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is unreachable", "      1) tells us when a server is unreachable", "", "  3 passing (143ms)", "  1 failing", "", "  1) Ping", "       /ping/:server endpoint", "         tells us when a server is unreachable:", "     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client", "      at new NodeError (node:internal/errors:387:5)", "      at ServerResponse.setHeader (node:_http_outgoing:644:11)", "      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)", "      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)", "      at /opt/demo-nodejs-api/app.js:20:11", "      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)", "      at Socket.emit (node:events:513:28)", "      at Socket.emit (node:domain:489:12)", "      at addChunk (node:internal/streams/readable:315:12)", "      at readableAddChunk (node:internal/streams/readable:289:9)", "      at Socket.Readable.push (node:internal/streams/readable:228:10)", "      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)"]}
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": true, "cmd": ["npm", "test"], "delta": "0:00:01.281178", "end": "2023-03-13 05:07:23.776612", "msg": "non-zero return code", "rc": 1, "start": "2023-03-13 05:07:22.495434", "stderr": "(node:4683) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.\n(Use `node --trace-deprecation ...` to show where the warning was created)", "stderr_lines": ["(node:4683) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.", "(Use `node --trace-deprecation ...` to show where the warning was created)"], "stdout": "\n> test\n> mocha test --exit\n\n\n\nrestify listening at http://[::]:8080\n  Hello\n    /hello/:name endpoint\n      ✓ returns a welcome message based on the name\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is reachable (83ms)\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is unreachable\n\n  1) tells us when a server is unreachable\n\n  3 passing (143ms)\n  1 failing\n\n  1) Ping\n       /ping/:server endpoint\n         tells us when a server is unreachable:\n     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client\n      at new NodeError (node:internal/errors:387:5)\n      at ServerResponse.setHeader (node:_http_outgoing:644:11)\n      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)\n      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)\n      at /opt/demo-nodejs-api/app.js:20:11\n      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)\n      at Socket.emit (node:events:513:28)\n      at Socket.emit (node:domain:489:12)\n      at addChunk (node:internal/streams/readable:315:12)\n      at readableAddChunk (node:internal/streams/readable:289:9)\n      at Socket.Readable.push (node:internal/streams/readable:228:10)\n      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)", "stdout_lines": ["", "> test", "> mocha test --exit", "", "", "", "restify listening at http://[::]:8080", "  Hello", "    /hello/:name endpoint", "      ✓ returns a welcome message based on the name", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is reachable (83ms)", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is unreachable", "", "  1) tells us when a server is unreachable", "", "  3 passing (143ms)", "  1 failing", "", "  1) Ping", "       /ping/:server endpoint", "         tells us when a server is unreachable:", "     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client", "      at new NodeError (node:internal/errors:387:5)", "      at ServerResponse.setHeader (node:_http_outgoing:644:11)", "      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)", "      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)", "      at /opt/demo-nodejs-api/app.js:20:11", "      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)", "      at Socket.emit (node:events:513:28)", "      at Socket.emit (node:domain:489:12)", "      at addChunk (node:internal/streams/readable:315:12)", "      at readableAddChunk (node:internal/streams/readable:289:9)", "      at Socket.Readable.push (node:internal/streams/readable:228:10)", "      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)"]}
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": true, "cmd": ["npm", "test"], "delta": "0:00:01.303229", "end": "2023-03-13 05:07:23.569470", "msg": "non-zero return code", "rc": 1, "start": "2023-03-13 05:07:22.266241", "stderr": "(node:4693) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.\n(Use `node --trace-deprecation ...` to show where the warning was created)", "stderr_lines": ["(node:4693) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.", "(Use `node --trace-deprecation ...` to show where the warning was created)"], "stdout": "\n> test\n> mocha test --exit\n\n\n\nrestify listening at http://[::]:8080\n  Hello\n    /hello/:name endpoint\n      ✓ returns a welcome message based on the name\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is reachable (84ms)\n\n  Ping\n    /ping/:server endpoint\n      ✓ tells us when a server is unreachable\n\n  1) tells us when a server is unreachable\n\n  3 passing (149ms)\n  1 failing\n\n  1) Ping\n       /ping/:server endpoint\n         tells us when a server is unreachable:\n     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client\n      at new NodeError (node:internal/errors:387:5)\n      at ServerResponse.setHeader (node:_http_outgoing:644:11)\n      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)\n      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)\n      at /opt/demo-nodejs-api/app.js:20:11\n      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)\n      at Socket.emit (node:events:513:28)\n      at Socket.emit (node:domain:489:12)\n      at addChunk (node:internal/streams/readable:315:12)\n      at readableAddChunk (node:internal/streams/readable:289:9)\n      at Socket.Readable.push (node:internal/streams/readable:228:10)\n      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)", "stdout_lines": ["", "> test", "> mocha test --exit", "", "", "", "restify listening at http://[::]:8080", "  Hello", "    /hello/:name endpoint", "      ✓ returns a welcome message based on the name", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is reachable (84ms)", "", "  Ping", "    /ping/:server endpoint", "      ✓ tells us when a server is unreachable", "", "  1) tells us when a server is unreachable", "", "  3 passing (149ms)", "  1 failing", "", "  1) Ping", "       /ping/:server endpoint", "         tells us when a server is unreachable:", "     Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client", "      at new NodeError (node:internal/errors:387:5)", "      at ServerResponse.setHeader (node:_http_outgoing:644:11)", "      at ServerResponse.__send (node_modules/restify/lib/response.js:503:18)", "      at ServerResponse.send (node_modules/restify/lib/response.js:316:21)", "      at /opt/demo-nodejs-api/app.js:20:11", "      at Socket.<anonymous> (node_modules/jjg-ping/lib/ping-system.js:105:21)", "      at Socket.emit (node:events:513:28)", "      at Socket.emit (node:domain:489:12)", "      at addChunk (node:internal/streams/readable:315:12)", "      at readableAddChunk (node:internal/streams/readable:289:9)", "      at Socket.Readable.push (node:internal/streams/readable:228:10)", "      at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)"]}

Tested on
Vagrant 2.3.4
Ansible 2.14.2
Python 3.9.2

I'm having the exact same issue. In the first run with vagrant up only 1 server had an error and the 3 other had 'changed' state, I ran vagrant destroy and ran vagrant up again and got 2 servers with errors and 2 which are fine.
If I re-run with ansible-playbook -i inventory playbooks/deploy.yml I get the following error:
TASK [Ensure Node.js API app is present.] ************************************************************************************************************************************************************************
fatal: [<IP_ADDRESS>]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "before": "2a73724af5095247eef42ac84480b7bb0663b203", "changed": false, "msg": "Local modifications exist in the destination: /opt/demo-nodejs-api (force=no)."}
fatal: [<IP_ADDRESS>]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "before": "2a73724af5095247eef42ac84480b7bb0663b203", "changed": false, "msg": "Local modifications exist in the destination: /opt/demo-nodejs-api (force=no)."}
fatal: [<IP_ADDRESS>]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "before": "2a73724af5095247eef42ac84480b7bb0663b203", "changed": false, "msg": "Local modifications exist in the destination: /opt/demo-nodejs-api (force=no)."}
fatal: [<IP_ADDRESS>]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "before": "2a73724af5095247eef42ac84480b7bb0663b203", "changed": false, "msg": "Local modifications exist in the destination: /opt/demo-nodejs-api (force=no)."}

I hope anyone can help us.

I have added 'force: yes' to git section of 'name: Ensure Node.js API app is present.' and it solved the issue.
Simply had to run command 3 times 😅
it should look like this:
  - name: Ensure Node.js API app is present.
    git:
      repo: "{{ app_repository }}"
      version: "{{ app_version }}"
      dest: "{{ app_directory }}"
      accept_hostkey: true
      force: yes
    register: app_updated
    notify: restart forever apps


Remove duplicate cursor property from smacss.txt

Thanks for the pull request! This has been merged in eef241de6c815b963982842386629f0ecc1249c4.


AttributeError: module 'pathspec' has no attribute 'GitIgnoreSpec'

I'm trying to build a wheel file using .tomol following the document
In the .toml
[build-system]
requires = [
    "scikit-build-core>=0.10.7",
    "nanobind>=1.5.2",
    "pathspec>=0.10.1"
]
build-backend = "scikit_build_core.build"

And it have been successfully installed as following:
 Running command pip subprocess to install build dependencies
  Collecting scikit-build-core>=0.10.7
    Using cached scikit_build_core-0.10.7-py3-none-any.whl (165 kB)
  Collecting nanobind>=1.5.2
    Downloading nanobind-2.1.0-py3-none-any.whl (220 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 220.7/220.7 KB 2.2 MB/s eta 0:00:00
  Collecting pathspec>=0.10.1
    Downloading pathspec-0.12.1-py3-none-any.whl (31 kB)
  Collecting tomli>=1.2.2
    Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
  Collecting exceptiongroup>=1.0
    Using cached exceptiongroup-1.2.2-py3-none-any.whl (16 kB)
  Collecting packaging>=21.3
    Downloading packaging-24.1-py3-none-any.whl (53 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.0/54.0 KB 13.2 MB/s eta 0:00:00
  Installing collected packages: nanobind, tomli, pathspec, packaging, exceptiongroup, scikit-build-core
  Successfully installed exceptiongroup-1.2.2 nanobind-2.1.0 packaging-24.1 pathspec-0.12.1 scikit-build-core-0.10.7 tomli-2.0.1
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  Getting requirements to build wheel ... done
  Running command pip subprocess to install backend dependencies
  Collecting ninja>=1.5
    Downloading ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (307 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 307.2/307.2 KB 3.1 MB/s eta 0:00:00
  Installing collected packages: ninja
  Successfully installed ninja-<IP_ADDRESS>
  Installing backend dependencies ... done
  Running command Preparing metadata (pyproject.toml)
  *** scikit-build-core 0.10.7 using CMake 3.22.1 (metadata_wheel)
  2024-09-24 20:45:33,385 - scikit_build_core - WARNING - No license files found, set wheel.license-files to [] to suppress this warning
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: trajectory-optimization
  Running command Building wheel for trajectory-optimization (pyproject.toml)
  *** scikit-build-core 0.10.7 using CMake 3.22.1 (wheel)
  2024-09-24 20:45:33,508 - scikit_build_core - WARNING - No license files found, set wheel.license-files to [] to suppress this warning
  *** Configuring CMake...

The error msg is following
*** Making wheel...
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
      main()
    File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "/tmp/pip-build-env-z07wj52t/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/__init__.py", line 33, in build_wheel
      return _build_wheel_impl(
    File "/tmp/pip-build-env-z07wj52t/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 175, in _build_wheel_impl
      return _build_wheel_impl_impl(
    File "/tmp/pip-build-env-z07wj52t/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 445, in _build_wheel_impl_impl
      mapping = packages_to_file_mapping(
    File "/tmp/pip-build-env-z07wj52t/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/_pathutil.py", line 49, in packages_to_file_mapping
      exclude_spec = pathspec.GitIgnoreSpec.from_lines(target_exclude)
  AttributeError: module 'pathspec' has no attribute 'GitIgnoreSpec'
  error: subprocess-exited-with-error

  × Building wheel for trajectory-optimization (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

I have check the pathspec-0.12.1 has the attribute. Did I missed any dependencies or set something wrong? thanks for your help in advance.

Did you discover what was wrong? I’ve seen something like this once before with hatchling instead

@henryiii I found do this sudo apt remove python3-pathspec resolved the problem

@henryiii By the way I do have another usage question. I define a path in CmakeList and used in my c++ code. I set wheel.cmake = true, and during the building process, the path is assigned to /tmp/tmpvg12j55o/wheel/platlib/share/..... This path is no longer valid after. Is there way to work around this? thanks!

You can set the build-dir, like:
[tool.scikit-build]
build-dir = "build/{wheel_tag}"

https://scikit-build-core.readthedocs.io/en/latest/configuration.html#other-options

@henryiii I found do this sudo apt remove python3-pathspec resolved the problem

That sound very weird, because the logs shows that it is running in build isolation. I suspect it is a similar case to https://github.com/pypa/pip/issues/12976, in which case you should see different outcomes if you run uv pip install or python3 -m build.
It does seem to be a continuous traceback from /usr/lib/python3 to the /tmp/pip-build-env-z07wj52t paths.

What path are you seeing in /tmp? If it's the pip-installed packages (like cmake, scikit-build-core, or any others you specify in build-system.requires will be installed by pip in a tmp location. The only way to avoid that is to build with --no-build-isolation and pre-install anything you need.
Though the binary and source dirs should not be in tmp.

@LecrisUT I found that solution from this post , hope it can provide you more info

What path are you seeing in /tmp? If it's the pip-installed packages (like cmake, scikit-build-core, or any others you specify in build-system.requires will be installed by pip in a tmp location. The only way to avoid that is to build with --no-build-isolation and pre-install anything you need.
Though the binary and source dirs should not be in tmp.

all my files are installed in /tmp as here
*** Installing project into wheel...
  -- Install configuration: "Release"
  -- Installing: /tmp/tmpdujd5gb3/wheel/platlib/include
  -- Installing: /tmp/tmpdujd5gb3/wheel/platlib/include/my_package
  -- Installing: /tmp/tmpdujd5gb3/wheel/platlib/include/my_package/utils
  -- Installing: /tmp/tmpdujd5gb3/wheel/platlib/include/my_package/utils/trajectory_utils.hpp
  -- Installing: /tmp/tmpdujd5gb3/wheel/platlib/share/my_package/urdf/panda.urdf
  ......
 -- Installing: /tmp/tmpdujd5gb3/wheel/platlib/lib/python3.10/site-packages/my_package/my_package_py.cpython-310-x86_64-linux-gnu.so
  -- Set runtime path of "/tmp/tmpdujd5gb3/wheel/platlib/lib/python3.10/site-packages/my_package/my_package_py.cpython-310-x86_64-linux-gnu.so" to ""
 .......
 -- Up-to-date: /tmp/tmpdujd5gb3/wheel/platlib/share/my_package/urdf/panda.urdf

right, but when I try to run my code after pip install <wheel>
it shows this
Error:   File /tmp/tmpdujd5gb3/wheel/platlib/share/my_package/urdf/panda.urdf does not exist
         at line 55 in ./urdf_parser/src/model.cpp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: The file /tmp/tmpdujd5gb3/wheel/platlib/share/my_package/urdf/panda.urdf does not contain a valid URDF model.

I think the path is still use the /tmp due to the compiling process.

That's a separate issue, it seems your package is not relocatable, i.e. if you copy the whole CMAKE_INSTALL_PREFIX to a different folder the project should still work (LD_LIBRARY_PATH/RPATH stuff excluded)

@henryiii @LecrisUT thanks so much for your guidance! I will open a new issue if it still a problem. I will try your suggestion first.


Auto-shutdown on idle

MariaDB has a feature request:
MDEV-25282: Auto-shutdown on idle when socket-activated
Start to use it when support for the requested feature lands.

I was wondering about this - would another solution be using a script as an entrypoint that watched logs for activity and will stop the main process and thus the container once a condition is met?


Incorrect traffic lights position by left-hand traffic direction

Changing attribute "Traffic Direction" has no impact on traffic light's position.
This might be a problem for projects located in left-hand traffic countries.

I can investigate a fix for that. Generally traffic light positions are not ideal with the rule, but I can investigate switching them. Would gladly take a Pull Request for the change.

@Richcng , this was addressed by a recent commit. Closing this issue. You can reopen.

Spoke too soon. The signals are not facing the approaching direction. This is still better, and any real fix might require a new asset. For that reason, I am calling this "close enough" for now. New asset if contributed will be integrated.


Adding myself as a reviewer

@CsatariGergely I wonder if you can ask to be added as a member of Nephio?

you can ask to be added as a member of Nephio?

Sure, how do I do that?

you can ask to be added as a member of Nephio?

Sure, how do I do that?

I think the owner of the Github organization has to do it. @henderiw , @tliron , or @johnbelamaric would know.

/ok-to-test

@CsatariGergely we have a suspicion that this PR might be confusing PROW's merging system, I'll close it for now, if it's not that it can be reopened.


Please specify the license for this code

We're using this plugin for Apache Airflow and I need to know whether the license is compatible. Please let Github know what license this project is under. Usually people add a LICENSE.md file to their repo.
Thanks for this helpful plugin, this has served us well!

ok if I understand correctly the Apache License is permissive enough to let you use the code as you like. I have added the Apache 2.0 license.


Considering switching CI

I'm not really satisfied with Appveyor and Travis.  The builds are pretty slow, so I'm considering switching to Circle CI or Azure Pipelines or something.
It might be best to just leave the macOS builds on Travis and switch Linux and Windows to something else, but I also don't really like having to maintain so many different types of CI.
Cirrus CI (which is what we now use for FreeBSD) support 8 Linux, 2 Windows, 2 FreeBSD, and 1 macOS build at the same time, so we could also just switch to that and call it a day.  I feel like it will still be too slow though for the Windows and macOS builds at least.

Another option these days is GitHub Actions. Here's what I'm using for rustybox: https://github.com/samuela/rustybox/blob/master/.github/workflows/rust.yml.

Here's a GitHub Action workflow that I designed for lsd ...

CICD.yml
and the merged PR, for further explanation


'npm install express' encounter unknown err in a shared folder

Hi,
I was trying to install express in a folder shared using vmware fusion 4.0 then encountered the following error.  Error: UNKNOWN, Unknown error '/mnt/hgfs/Workspace/express_example/node_modules/___express.npm/package'
ERR! Report this entire log at:
ERR!     http://github.com/isaacs/npm/issues
ERR! or email it to:
ERR<EMAIL_ADDRESS>ERR!
ERR! System Linux 2.6.32-21-generic
ERR! command "node" "/usr/local/bin/npm" "install" "express"
ERR! cwd /mnt/hgfs/Workspace/express_example
ERR! node -v v0.6.1-pre
ERR! npm -v 1.0.104
ERR! path /mnt/hgfs/Workspace/express_example/node_modules/___express.npm/package
ERR! code UNKNOWN
verbose exit [ 1, true ]

What kind of mount is this?  Does it work if you just use it in a non-mounted folder?

I'm using VMware fusion 4.0 on Lion 10.7. I'm using fusion's sharing feature to mount the folder. It works fine in a non-mounted folder.

This would likely be caused by the permissions VMWare enforces on shared volumes for the guest OS. I dare say that this is not an issue with npm.

Here's the solution:
Find your uid/primary gid on OS X:
id -u; id -g

Then set it to match in the VM:
sudo usermod --uid 501 --gid 20 -G $(groups | cut -f1 -d' ') myusername


Indexer Launchapd to update

Description
apps/indexer:
In the buy and sell token, we need to upgrade the launch model and directly call a Postgres UPDATE query if possible:

[ ] Create a query to update the token_launch model after each sell/buy:
threshold liquidity
available_supply
liquidity_raised
total_token_holded

Could I take a shot at this?

Let me handle this issue!

I'd love to work on this!

I would like an opportunity to contribute to this project.
Could you assign this issue to me, please?

I'd be happy to do this.

I'd love to work on this!
kindly assign

Could I take a shot at this? first time contributor

Alternatively, you can directly update this token_launch model with a Postgres UPDATE query to resolve the issue. The query would then look something like this:
UPDATE token_launch
SET threshold_liquidity = $1,
available_supply = $2,
liquidity_raised = $3,
total_token_held = $4
WHERE token_id = $5;
Pass the necessary values dynamically from the transaction logic to ensure that the updates are in sync with every buy/sell operation. This is less overhead compared to an update-driven ORM-based.

Could I take a shot at this?


Install Test:  .NET Framework 3.5 isn't installed

Server OS: Windows Server 2012 R2
I received the following error when running Install/InstallOpsServer.bat:

It seems that .NET 4.5 is already installed with WinSrv2012R2 but not 3.5.
I used Server Manager to enable 3.5 on my server, then re-ran InstallOpsServer.bat and did not get the error.

@kerryrobinson The InstallOpsServer.bat script checks that this dependency (.NET 3.5 and 4.5) has been met, the InstallIIS.bat will install .NET 3.5. If 4.5 is not enabled by default on the particular OS you are installing on then you have to manually enable. At some point I'll add the 4.5 to the installer but won't be there for the Fall release of Ops Server. Assigning back to you. Thank you.

@elinz OK. However for some reason that didn't happen for me, 3.5 was never installed so i had to manually do it.


duplicate-keys-sys-syscommittab-table.md

Hi,
I think we can add 2 more items.

In SQL Server Configuration Manager, in the left pane, click SQL Server Services.
2 . In the results pane, right-click SQL Server (MSSQLServer) or a named instance, and then click Restart.

Hi @alimdogan , thanks for your suggestion. We will update the content to make it more clear to understand.


Designing a unified multi-click API

While working on #843 I also started thinking about double-clicks and how to best do them. I think that the behavior should match across platforms so that druid users can just read the druid docs and not worry about platform specifics.
Double-clicks are good, triple-clicks possibly worth it, but what about quadruple-clicks or even more? I'm not sure there's really much value in going beyond three. It's definitely more work.

Windows natively supports only up to double, so will need a custom implementation anyway.
GTK seems to support triple clicks, so we can probably piggyback on that for up to triple.
macOS supports up to triple on most buttons, but seems to be practically unbounded for left and right buttons. We can piggyback on the platform for up to triple, including unbounded_count % 3.
Web has some support via UIEvent.detail but I haven't tested how well it works.

Custom implementations (which Windows will need anyway) will need to be careful to follow the user configured OS setting for double click timeout.
Thus I propose the following unified API:

Support for up to triple-clicks.
Both MouseDown and MouseUp contain the click count.
No extra double or triple click events, it's merely an extra event property for those who care.

I think this design makes sense.
If we're using a simple timer to determine whether a click is part of a 'click sequence' I'm not if it makes much difference whether or not we stop at three, but I also don't think quadruple clicks are a problem we need to worry about in this century? Famous last words?

Question about click count, If i recall, mac OS would send sequentially higher click counts, so you would get an event with MouseDown and click count 1, then one with 2, etc.
Is this what you had in mind, or would their be a single event with click count 2.
Double clicks and event propagation can sometimes be tricky, presume it's possible that the first click gets put on some system platform event queue, same for the second click +incr click count,
the first event causes the window to close, the target for the 2nd event now no longer exists.
Anyhow its just an awkward case to keep in mind

It's a timer. playing around, here are three events with different positions that count as a click sequence, and then two events in the same location that don't:
(155.7109375,<PHONE_NUMBER>5): 1
(155.41796875,<PHONE_NUMBER>5): 2
(154.8828125,<PHONE_NUMBER>5): 3

(147.55859375,<PHONE_NUMBER>): 1
(147.55859375,<PHONE_NUMBER>): 1

Yes my earlier macOS findings match this, indeed it's a timer.
As for what I meant for events, I mean that every physical click of a button will generate exactly one click event, no more. Each click event has a count associated with it, so those apps that care about differentiating double clicks can look at that while most apps can just ignore it.

If we're using a simple timer to determine whether a click is part of a 'click sequence' I'm not sure if it makes much difference whether or not we stop at three

That's true, but that's also why I want to stop at three. Because then we don't have to use a timer ourselves on some platforms like macOS. There we can just use the OS provided count which is guaranteed to respect OS settings.

I'm happy to stop at three, but on macOS couldn't we just use the clickCount property, which can be any integer?

macOS clickCount also stops at three with middle/X1/X2 in my testing. It's only left/right which can be any integer.
If you see more than 3 with all buttons then that would be interesting.

interesting yea there's weird stuff going on. I can get the middle mouse button up to ten repeats, but not higher.
Also interesting: it doesn't seem like the click count is button dependent; if I alternate between right and left it keeps incrementing.
I think most of this is just weird buggy edge case stuff that we can ignore. Three is a reasonable limit. I guess one thing to think about, though, is what happens on the 4th click; do we send click count of 1? The middle button seems to get weirdly throttled on my current mouse, but I don't trust my hardware particularly, and I don't seem to have another mouse around.

I think doing (count - 1) % 3 + 1 to just wraparound to a 1/2/3 sequence is a good way to harvest the larger OS count with some value.

I did some more testing. I can actually get the middle button up to 4, but no more. X1/X2 are 3 max.
The interesting situation however is having the count increase while switching between left & right buttons. This doesn't work when switching between other buttons.
I don't think this is something we would want. Doing a single right click and then a single left click shouldn't execute a double left click action. Testing macOS itself in Finder for example, doing a right click and then a left click doesn't open a folder. I'm not sure what it's doing underneath, but it's not just checking the click count.
I think the druid API should guarantee that the click count is per button. This allows for simple double click detection logic in the app.

Interesting about non-differentiation between buttons, at least during some point in history, it was possible to treat all buttons the same so left/right could be treated as a single button... probably a bug that isn't taking single-button vs multi-button into account.

I agree, and I the the implementation might actually get simpler if we don't rely on on system detection, assuming we have some way of getting the correct 'click interval'; this is trivial on macos, exposed on the NSEvent class as doubleClickInterval

Indeed, after learning of these subtleties, the manual implementation is looking more attractive.

I was reading through this and assumed that this proposed system had yet to be implemented but (on the GTK shell) I was surprised to see that the MouseDown event has a count field which reports the click count. Was there some PR adding this to the GTK shell that I cannot find? I'm pleased to be able to have something like this working in some sense already but it has some odd behaviour which makes me want to read through the PR which added this.

The current GTK click count was added in #151 so it has always been there. The count currently exists in some form on GTK, macOS, and Windows. This issue here is about improving it further and also crucially making it behave the same across platforms.

The way I handle this in Rutabaga is to have a platform function for retrieving the current double-click interval and then incrementing a click-counter when internally handling a click eveng. This is easy to get on Windows and macOS, but I punted on the Linux approach.

There is some more work to be done here. One thing I noticed in testing Runebender on Linux is that on double-click, Gtk sends both a GDK_BUTTON_PRESS and a GDK_2BUTTON_PRESS event. In our translation layer, this sends two mouse-down events, with count of 1 and 2. That in turn trips an internal invariant in RB's mouse handling, and thus a panic.
I did a little digging, and don't see an easy way to fix this on Gtk. I think it's likely we'll end up having to do our own click counting, just as we do on Windows. There, a challenge is to pick up the preferences. But I suspect it's not impossible to read those from the same source as Gtk, so we're consistent.

Is this issue still relevant? MouseEvent has a count field now.


Add spar arena and regen font map squares

Spar Arena
Square on the map where no PvP except spar can take place.

Block arena fights too

Regen Font
Square on the map where regen is increased by double the village regen boost (or remove village regen boost and move to this square. Or reduce village regen boost to 50% of base and make this square 100%)

Bounty: $50


🎨 Dashboard design

Shouldn't @TejoBurgboy also be an assignee to this issue, as he will be creating the dashboard🤔?

I added him just in case

Here is the dashboard design (for students)! I know we already discussed the design in class but I am updating this issue with the design for documentation purposes hehe


[runwhen-local-feedback] Malformed generation rule needs additional debug information

Observation
We have situations where a Malformed or incompatible generation rule or template causes the discovery process to break. In this particular instance, we introduced an azure based generation rule that introduces a new "platform" parameter, which is not currently recognized or supported by the current version of RunWhen Local (main supports it, but the latest image v0.4.3 does not).
Here is an example of the current log:

Discovering resources...

  File "/workspace-builder/workspace_builder/views.py", line 102, in post
    run_components(context, components)

  File "/workspace-builder/component.py", line 348, in run_components
    component.load_func(context)

  File "/workspace-builder/enrichers/generation_rules.py", line 824, in load
    generation_rule = GenerationRule.construct_from_config(generation_rule_config,

  File "/workspace-builder/enrichers/generation_rules.py", line 422, in construct_from_config
    resource_type_spec = construct_resource_type_spec(resource_type_spec_config, default_platform_name, context)

  File "/workspace-builder/enrichers/generation_rules.py", line 138, in construct_resource_type_spec
    platform_handler = platform_handlers[platform_name]

Possible Suggestions

Instead of crashing the discovery - log the error but continue the discovery and rendering process
Include details in the error about which specific generation rule or code bundle could not be rendered.

Any other details or context
As a workaround for v0.4.3 we can skip the specific code bundle by adding the following to the workspaceInfo.yaml:
    codeCollections:
      - repoURL: "https://github.com/runwhen-contrib/rw-public-codecollection.git"
        ref: main
      - repoURL: "https://github.com/runwhen-contrib/rw-cli-codecollection.git"
        ref: main
        codeBundles: ["!azure-loadbalancer-triage"]

But I hope to push a new version soon that supports this generation rule parameter.

v0.5.0 is released now which supports the platform_name field in the generation rule spec, so the latest version should not cause immediate issues.
We still require a the details suggested above.


Warning in console when using row selection

I have used react-table along with getToggleAllRowsSelectedProps for row selection.
This is part of my code
const tableInstance = useTable(
   {
      columns: defaultColumns,
      data: sessionData,
      autoResetPage: !skipPageReset,
      autoResetSelectedRows: !skipPageReset,
      autoResetSortBy: !skipPageReset,
      autoResetFilters: !skipPageReset,
      autoResetRowState: !skipPageReset,
      getRowId(row) {
        return row.idSession;
      },
      updateSessionName(index, idSession, sessionName) {
        props.updateSessionName(idSession, sessionName);
        let updatedSessionData = JSON.parse(JSON.stringify(sessionData));
        updatedSessionData[index].sessionName = sessionName;
        setSessionData(updatedSessionData);
      }
    },
    useFilters,
    useSortBy,
    usePagination,
    useRowSelect,
    hooks => {
      hooks.visibleColumns.push(cols => [
        // Make a column for selection
        {
          id: 'selection',
          // The header can use the table's getToggleAllRowsSelectedProps method
          // to render a checkbox
          Header: ({ getToggleAllRowsSelectedProps }) => (

              <input
                type="checkbox"
                className="custom-control-input"
                id="select-all-session"
                name="example1"
                {...getToggleAllRowsSelectedProps()}
              />

          ),
          // The cell can use the individual row's getToggleRowSelectedProps method
          // to the render a checkbox
          Cell: ({ row }) => (

              <input
                type="checkbox"
                className="custom-control-input"
                id={`select-session-${row.values.idSession}`}
                name="example1"
                {...row.getToggleRowSelectedProps()}
              />
              <label
                className="custom-control-label"
                htmlFor={`select-session-${row.values.idSession}`}
              />

          )
        },
        ...cols
      ]);
    }
  );

I am getting a warning in console as shown in the image.

I found that the cause of this issue is the default value for indeterminate from getToggleAllRowsSelectedProps() is set to 'false' ( a string) but it is actually expected to be a boolean.
I have temporarily managed this in my code with the following patch.
Header: ({ getToggleAllRowsSelectedProps }) => {
            let headerProps = getToggleAllRowsSelectedProps();
            headerProps.indeterminate = 'false';
            return (

                <input
                  type="checkbox"
                  className="custom-control-input"
                  id="select-all-session"
                  name="example1"
                  {...headerProps}
                />

             );
})

With this patch, I don't see the warning in the console.

Have you tried following this example that's listed in the docs?

Have you tried following this example that's listed in the docs?

As you can see in the sample code I have attached, I don't have (or need) an indeterminate state in my code. So I would have replaced  in the sample code with a classic input checkbox. Everything else is pretty much the same.

If you don't want the indeterminate prop, then destructure it out of your props and pass the rest on. It's provided as a convenience, not a requirement.

@tannerlinsley The warning should not be there regardless, wouldn't you agree?
The example listed here requires a big hack-around just to dance around that warning. Can you fix this without having to workaround it, every time you want to use getToggleAllRowsSelectedProps or any of its friends?
Changing it to 0 and 1 instead of false and true would suffice.  They should fix this on their level, but as long as they don't.... can we fix it at the react-table level?


Refactor fyne

This refactors code on the fyne interface. It improves performance, and simplifies code for adding other pages to the interface.
It adds the following pages to the main UI.

Sync Page
Transaction Details Page

It also fixes the crash issue on fyne stated in #324.
It should be noted that, the fyne library does not currently support scrolling.

The overview page is randomly rendered automatically from the other pages. Since this PR is refactoring the interface, I think this issue should also be addressed here.

Other than rendering the Overview page from the sync page (which is intended), i don't experience this

Window content does not auto-resize to fill available window space when window is resized.
Look closely enough, you'll see the initial window size having a slightly different background.

Re @ademuanthony's comment:

The overview page is randomly rendered automatically from the other pages. Since this PR is refactoring the interface, I think this issue should also be addressed here.

You can reproduce the issue by starting the app, waiting for sync to complete and the overview page to be loaded, then switch to any other page, turn off your internet for a while (will cause the wallet to lose connection to peers), turn your internet back on (will re-connect to peers, which will re-trigger the sync callbacks and cause the syncCompleted method to be re-called). It's when this method is recalled, that the window "resets" to the overview page. I believe this to also be the cause of #358.
Overview page -> Recent activity table -> Hash not properly aligned vertically.


Different behavior in features resolution during testing for workspace

Problem
Different behavior in features resolution during testing between cargo test on workspace level and cargo test in every workspace member.
Repo with minimal example which reproduce the issue https://github.com/artemyarulin/cargo-test-feature-bug/tree/main
Workspace contains of two members - a and b.
Member a contains an optional feature foo and when tested with this feature on - panics. By default foo is not enabled so cd a && cargo test succeeds as test is skipped.
Member b references a with feature foo enabled. Although cd b && cargo test succeed as when tests are run - tests of dependencies are skipped.
But if cargo test is run on workspace level then tests fails and a test runs which is not expected.
Steps
No response
Possible Solution(s)
No response
Notes
No response
Version
cargo 1.75.0 (1d8b05cdd 2023-11-20)
release: 1.75.0
commit-hash: 1d8b05cdd1287c64467306cf3ca2c8ac60c11eb0
commit-date: 2023-11-20
host: aarch64-apple-darwin
libgit2: 1.7.1 (sys:0.18.1 vendored)
libcurl: 8.1.2 (sys:0.4.68+curl-8.4.0 system ssl:(SecureTransport) LibreSSL/3.3.6)
ssl: OpenSSL 1.1.1u  30 May 2023
os: Mac OS 14.1.1 [64-bit]

Thanks for the reproducer.
As I understand it, the behavior is so-called feature unification. Feature unification is a workspace-level thing — you only get one feature unification result when running a single cargo build invocation.
For this case, both a and b are built and tested with a/foo enabled when building all default workspace members (cargo build). And as you've observeed, either cding to the member directory or running cargo build --package <member> will narrow the scope of feature unification to specific members, so the feature unification result is different.
See also "Features" paragraph in Dependency Resolution chapter:

When building multiple packages in a workspace (such as with --workspace or multiple -p flags), the features of the dependencies of all of those packages are unified. If you have a circumstance where you want to avoid that unification for different workspace members, you will need to build them via separate cargo invocations.

Got that, thank you for the explanation


Add license headers to all source files

We should have a license header in each source file like in this file:
https://github.com/amzn/xfer/blob/master/xfer/bnn_repurposer.py

Done


Using marked extension

Hi there :)
Would it be possible to allow using extensions? I'd love to use this extension: https://github.com/bent10/marked-extensions/tree/main/packages/footnote
I'm happy to make a PR if that's something you might want 😊

I am in the process of upgrading everything to current versions... Since footnotes is a common function that even I use, I will for sure add it in!


Linux Desktops Issues

Hey there!
We have an app that use systray, and now I want to submit this report as issue.
On Gnome works like a charm. But XFCE is unstable in submenu!, and KDE Plasma is really strange and useless on submenus.
You can see bellow screencasts:
Screen Cast
Ubuntu
OS: Ubuntu 22.04 (Minimal Installation)
Desktop: Gnome 42.0
https://user-images.githubusercontent.com/79150699/167568719-9211a4c6-570d-43c5-8d81-73499bd43209.mp4
Nitrux (Debianbased)
OS: Nitrux 2.1.1
Desktop: KDE Plasma 5.24.4
https://user-images.githubusercontent.com/79150699/167568652-ef396dcb-4a39-42ca-b193-424b9e290699.mov
Manjaro (Archbased)
OS: Manjaro 21.2.6
Desktop: XFCE
https://user-images.githubusercontent.com/79150699/167568666-b2287651-70f4-4d41-9368-17e8e373f59a.mov

@mrpalide can you please try the fixes on https://github.com/fyne-io/systray/pull/11

@mrpalide can you please try the fixes on #11

I test on #11 actually.

I found a huge problem actually on example app!
About 100 data race actually appear on that simple example!
First built it with -race flag as go build -race example/main.go, then run it ./main.
Use Quit button on systray app to see this on console:
Quit2 now...
Exit at 2022-05-11 13:15:54.215513558 +0430 +0430 m=+4.429888999
Found 100 data race(s)

Also this is a shot of submenu problem of example app on XFCE desktop:

Also this is a shot of submenu problem of example app on XFCE desktop:

Can you please confirm which version of XFCE? I cannot replicate the problem with 4.16.
Be sure to also test the latest master of the systray repo :)

Test, and same. See this video:
https://user-images.githubusercontent.com/79150699/168971085-2740fcaf-dc39-439a-a648-13142f1204ab.mov

Thank you for this.
Can you please confirm if you have any plugins on or configuration regarding the panel?
I will try to build a minimal arch to see if I can replicate in the same OS, but so far I can't make it not work in this way.

Hey andy, sorry for late response.
Yes, I can confirm that no plugin or configuration on panel added.

Also this is a shot of submenu problem of example app on XFCE desktop:
I found such problem not only in Status Notification Plugin (that serves D-Bus org.kde.StatusNotifierWatcher in XFCE) but also in Indicator plugin (can be used via GTK+ AppIndicator API).
So, it seems (for me at least) that this problem is somewheree deeper in GTK, but not in the panel plugins.

About data races - I fixed a lot of them in my fork.
It was a big problem for my project yd-go where menu is used very actively (it's updated rather often).

I also can confirm that KDE notification tray plugin always show submenu on wrong side (partly outside the screen) during the first opening of submenu. I see it in my tests in Kubuntu 22.04 (fresh install without and with latest updates).

About data races - I fixed a lot of them in my fork.

Great news, if you could open some pull requests I am sure they would be gladly received :).

And from my point of view it is also not a systray issue but it's an issue of KDE notification tray plugin or problem is somewhere deeper.

Agreed, we don't control how the menu will be rendered so can't fix that particular issue I think

Ok. I'll do the PR with my fixes.

Thank you so much @slytomcat - let's see what they say.
Seems to be some activity so thanks for kicking this off https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/582

That's why I love the Open Source World: you 'almost always' :) can find people who can help you.

https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/582 is closed as wrong working lib is not maintained any more :(
There is my simply workaround (deployed into my yd-go project):
PATH_TO_PATCH="$(go env GOMODCACHE)/$(cat go.mod | grep 'github.com/godbus/dbus/v5' | sed 's/\s*\(\S\+\) \(.*\)$/\1@\2/')"
chmod a+w $PATH_TO_PATCH
patch <conn.patch -f $PATH_TO_PATCH/conn.go

while conn.patch file contains:
@@ -432,7 +432,7 @@
 		case TypeSignal:
 			conn.handleSignal(sequence, msg)
 		case TypeMethodCall:
-			go conn.handleCall(msg)
+			conn.handleCall(msg)
 		}

 	}

Patching code can be added to build script like I done it here
Unfortunately I see no better solution at the moment.
BTW: there is some plans to move XFCE panel back-end to Ayatana indicator project. But Ayatana has another big issue: It dosn't  support IconPixmap property of org.freedesktop.StatusNotifierItem interface.

https://github.com/godbus/dbus/issues/327 - there is already one opened and closed later about this.
The patch is just a simplest workaround but not the fix of real issue (in libdbusmenu)

Ah yes I see, thanks for all of this.
Sadly I'm not sure that we can do anything more in this ticket then, perhaps should just close it - the docs you provide and workaround leave a nice trail for others to find

So we should hide sub-menus on XFCE desktops, right? :)

@mrpalide no, you can apply the patch to the godbus for your build and sub-menus on XFCE will work fine (because your app will handle the requests from libdbusmenu in the sequense as they comes). It's not perfect solution, but it works.

C is not my favorite language but I'll try to find the problem in that lib.
Probably there is someone more experienced in C who can find and fix this issue in libdbusmenu.


Ft network uptime

Ft network uptime
WHAT DOES THIS PR DO?
added the network uptime folder for the network uptime dashboard
WHAT JIRA STORY/TASK IS RELATED TO THIS PR?

PLAT-1054

HOW DO I TEST OUT THIS PR?
Check the README of the network-uptime folder
WHICH ENDPOINTS SHOULD BE READY FOR TESTING?:
IS THERE ANY JENKINS CONSOLE LINK FOR CODE COVERAGE AND BUILD INFO?
N/A
ARE THERE ANY RELATED PRs?
N/A

Hi @uman95
This PR has some merge conflicts to resolve. Please merge the most recent staging branch into this feature branch cc: @NoahNsimbe @123MwanjeMike

Thanks @Baalmart, I’m be making the necessary changes to resolve the conflict

@123MwanjeMike, how is this service going to be accessed?. Do we have a path for it. Reference: https://github.com/airqo-platform/AirQo-api/blob/staging/k8s/nginx-ingress/stage-platform-ingress-resource.yaml

Thanks @NoahNsimbe, this has been enacted


 crashes the app?

This could be my toolchain messing up but I don't know.

Going to test compiling on a clean install of Ubuntu. Currently using PopOS