The console prompt something ：Warning: Failed propType: Required prop menuItems was not specified in DropDownMenu.

<DropDownMenu value={this.state.value} onChange={this.handleChange}>
        <MenuItem value={0} primaryText="第一周" />
        <MenuItem value={1} primaryText="第二周" />
        <MenuItem value={2} primaryText="第三周" />
        <MenuItem value={3} primaryText="第四周" />
        <MenuItem value={4} primaryText="第五周" />
        <MenuItem value={5} primaryText="第六周" />
        <MenuItem value={6} primaryText="第七周" />
        <MenuItem value={7} primaryText="第八周" />
        <MenuItem value={8} primaryText="第九周" />
        <MenuItem value={9} primaryText="第十周" />
        <MenuItem value={10} primaryText="第十一周" />
      </DropDownMenu>

The console prompt something ：Warning: Failed propType: Required prop menuItems was not specified in DropDownMenu.

Sorry to hear you're having trouble! If you have a question, please ask in
StackOverflow or gitter
If you are having an issue with click events, please re-read the
README (you did read the README, right?).
Questions, or issues that don't provide sufficient information, may be closed without comment.
(We're sure you'd rather we work on improving Material-UI than chasing ghost issues!)
If you think you have found a new issue that hasn't already been reported, please complete the template below.
Problem Description
Please include steps to reproduce the problem, code sample, screenshots as appropriate.
Versions
Versions affected. (Please test with Material-UI HEAD.)

Material-UI:
React:
Browser:

I am sorry, I'm very remorse to cause you trouble.Sorry...


Fixing weird fac reference issues for mvc dll

Hmm, abandoning this, don't think it actually works. CI server works fine before this anyway though even though it doesn't locally. #confused


Feature/autocomplete ips

Description 📝
What does this PR do?
When a user starts typing an IP address in the Access Controls sidebar, a list of possible IPs will be presented on-the-fly.  The user can click the one they'd like without needing to use periods at all.
Note: this is a proof of concept - styling is still needed to display the solutions in a tabbable, clean overlay above the field.  This way, the user can select possible IPs using their keyboard without having to look/scroll up.  I've created an ordered list for now.
Preview 📷
Only numeric characters are supported here.  Others (like alphabetic characters) are just ignored.
https://user-images.githubusercontent.com/5467060/209249512-aa96d1a2-baee-4504-9325-285a0150b155.mov
How to test 🧪
What are the steps to reproduce the issue or verify the changes?
Create a database, click on Manage Access Controls, and start typing in the IP fields to verify the list appears.
How do I run relevant unit or e2e tests?
yarn test AccessControls.test

Made a clickable tooltip when users type their IPs.  When an IP is clicked, the tooltip vanished.  To make it appear again, you just have to type some more.
🤔  This element needs to be placed on the actively selected textbox.  I get that element using activeIPElement = document.activeElement as HTMLInputElement;.  Any suggestions on how to overlay the tooltip on the active element?
https://user-images.githubusercontent.com/5467060/210656207-dfd91a44-197b-4fd4-a6fe-2c33185789aa.mov


[DSS-488] Icons: Update icon font (v.22)

Description
Updates the Sage fonts and adds 5 new icons to the system:

cloud-upload
flash
flash-filled
form-filled
hd-video
map
theme-store-filled
wrench

Screenshots

Name

cloud-upload

flash

flash-filled

form-filled

hd-video

map

theme-store-filled

wrench

Testing in sage-lib
Docs Site:

Navigate to icons
Verify new icons are added to the system
Verify all icons are rendering as expected
Verify Sage font is served from the /v22 directory from CDN (Network panel in dev tools)

Storybook:

Navigate to icon card
Verify new icons are available in the drop-down list
Verify all icons are rendering as expected

Testing in kajabi-products

(LOW) Updated icon font w/ 7 new icons (v22). No KP impact is expected.

Related
https://kajabi.atlassian.net/browse/DSS-488

@ju-Skinner @QuintonJason added one icon (theme-store-filled) after approval. Mind giving it one more quick look?


Add native Function types.

Add bindings for PyCFunction, PyFunction, PyClassMethod and
PyStaticMethod.

#1156
This probably requires some more work, especially I'm unsure whether we should bind PyClassMethod and PyStaticMethod. Extraction only succeeds for those if they are not bound to a class, e.g.:
>>> @staticmethod
... def foo(): pass
>>> @classmethod
... def bar(cls): pass

Defining these methods in a class leads to errors like this:
Can't convert <bound method Foo.foo of <class '__main__.Foo'>> to PyClassMethod

I have not included any  APIs for the Rust types. For PyCFunction we can probably offer call() with the same signature as PyAny but directly go through PyCFunction_Call. Another rather obvious functions are probably name() and module(), perhaps also get_self() or something along these lines.
I'm expecting failures for pypy since I only guessed the names of the function type objects.

Thanks! As the PyClassMethod doesn't look like it works for pypy and it's not necessary for what we need for 0.12, can I suggest we split this PR in two:

PyFunction and PyCFunction which I'll merge now for 0.12
PyClassMethod and PyStaticMethod which we can figure out after and merge on the way to 0.13

Makes sense, I removed the two other method types.
I'm wondering if we can find a (nice) way to replace the wrapper: &impl Fn(...) -> &PyFunction with a function: &PyFunction in PyModule::add_function. Currently we're producing the wrapper through proc-macros, then get the identifier for the function which initializes the PyCFunction through wrap_pyfunction!() (which imo is a bit of a misnomer).
Without much thought put into this, I'd see 1-2 ways:

Add a init_py(c)function!() macro that actually returns the &PyCFunction instead of returning the function to get the &PyCFunction
Make the #[pyfunction] / #[pyfn] proc-macro create static PyCFunction objects (No idea about the implications on this one)

I'm wondering if we can find a (nice) way to replace the wrapper: &impl Fn(...) -> &PyFunction with a function: &PyFunction in PyModule::add_function.

I think &impl Fn(unsafe extern "C" fnptr, name: &str) -> &PyFunction is more realistic, as I commented.
Since PyCFunction needs a function pointer and we cannot treat normal functions as closures, we can not make PyCFuntion on the fly.

I don't see the benefit of providing an API that takes a function to produce a function. I don't think the function-to-produce-another-function is used in any other context than inside PyModule:add_function(). It's an implementation detail which in my opinion should not be exposed in a public API.
Additionally, it's not intuitive at all: Why would add_function() take a function that is not the function that I'm trying to add to the PyModule? As a user I'd expect to pass the actual function to that method. Given that we can't - as far as i understand - expose a constructor on PyCFunction, we can still hide away the implementation details through the proc-macro & a declarative macro that calls the generated function to get the PyCFunction.
E.g.:
#[pyfunction]
fn foo() {}

#[pymodule]
fn bar(_py: Python, module: &PyModule) -> PyResult<()> {
    let module = PyModule::new("some_module")?;
    let fun: &PyCFunction = init_pycfunction!(foo, module)?; // type annotation just for clarity
    module.add_function(fun)?;
}

Adding to this: wrap_pyfunction!() really just returns the constructor for PyCFunction. Applied to some toy example that'd be like:

struct Foo(String);
impl Foo {
    fn new() {
        Foo(String::new)
    }
}

struct Bar(Vec<Foo>);
impl Bar {
    fn add_foo(&mut self, foo_constructor: impl Fn() -> Foo) {
        self.0.push(foo_constructor())
    }
}

instead of:
fn add_foo(&mut self, foo: Foo) {
        [...]
    }

Hmm... :thinking:
Reading through your comment, I came up with:
        fn #function_wrapper_ident(py: pyo3::Python) -> pyo3::class::PyMethodDef {
            #wrapper
            pyo3::class::PyMethodDef {
                ml_name: stringify!(#python_name),
                ml_meth: pyo3::class::PyMethodType::PyCFunctionWithKeywords(__wrap),
                ml_flags: pyo3::ffi::METH_VARARGS | pyo3::ffi::METH_KEYWORDS,
                ml_doc: #doc,
            };
        }

and
m.add_function(PyCFunction::new(py, wrap_function!(function)));

.
wrap_function can return &PyCFunction if py is given, like: m.add_function(wrap_function!(py, function));, but I'm not sure which is better.

I think we're getting there! I'd just like to add two points:

The constructor should probably take &PyModule over Python since we can't fill in slf for PyCFunction_NewEx otherwise.

we could offer another constructor for module-less functions
Alternatively: fn new(def: PyMethodDef, module: Option<&PyModule>) -> PyResult<&PyCFunction>

The not-so-nice part about the wrap_pyfunction! macro is that it operates on the identifier of the Rust function to get the constructor identifier, so we can't hide it inside PyCFunction::new.

But I don't think there's a way around this unless #[pyfunction] starts to modify the Rust function rather than writing a new function. That would probably cause too many changes, considering all #[pyfunction] annotated Rust functions are currently callable as-is in Rust.

impl PyCFunction {
    pub fn new<'a>(name: &'static str, fun: PyCFunctionWithKeywords, doc: &'static str, m: &'a PyModule) -> PyResult<&'a PyCFunction> {
        let py = m.py();
        let def = crate::class::PyMethodDef {
            ml_name: name,
            ml_meth: crate::class::PyMethodType::PyCFunctionWithKeywords(fun),
            ml_flags: ffi::METH_VARARGS | ffi::METH_KEYWORDS,
            ml_doc: doc,
        };
        let def = def.as_method_def();
        let mod_ptr = m.as_ptr();
        let name = m.name()?;
        let name = name.into_py(py);

        unsafe {
            py.from_owned_ptr_or_err::<PyCFunction>(
                ffi::PyCFunction_NewEx(
                    Box::into_raw(Box::new(def)),
                    mod_ptr,
                    name.as_ptr()
                )
            )
        }
    }
}

What's your take on an API like this?
I'd imagine using it like:
#[pyfunction]
fn some_fun() {}

#[pymodule]
fn some_mod(_py: Python, module: &PyModule) -> PyResult<()> {
    let c_wrapper: PyCFunctionWithKeywords = wrap_pyfunction!(some_fun)?; // annotation again just for visualization
    let fun = PyCFunction::new("fun_py_name", c_wrapper, "Documentation can be defined anywhere", module)?;
    module.add_function(fun)?;
}

There are probably ways to make name and doc non-static in the constructor, I'm just mirroring the proc-macro impl for now.

I haven't made changes to PyModule::add_function yet, I first want to get some feedback whether my solution looks decent enough.
I did not remove the old way of getting the __pyo3_get_function_ identifier since that would break backwards compatibility with the old PyModule::add_wrapped ways. Once that method goes away, we can also think about removing wrap_pyfunction!() and have #[pyfunction] only generate the raw C-FFI wrapper.

I prefer to
pub fn new(py: &Python, method_def: PyMethodDef) -> PyResult<&Self> { ... }

due to its simplicity.
By this,

We can write m.add_function(PyCFunction::new(py, wrap_function!(function))) by just one liner.
By adding some builder methods to PyMethodDef, this would be more flexible.

I'm not convinced, PyMethodDef still needs to be constructed. Exposing it like this in the public API makes it more likely that people end up implementing it themselves. And there are some pitfalls coming with implementing PyMethodDef manually:

if doc is not null-terminated, segfaults happen.

all fields are pub, so there's no way to currently ensure that it is in fact null-terminated.

if ml_flags doesn't match the signature of ml_meth crashes also happen.
Users will have to manually leak the Strings to get the `'static'  lifetimes required.

or they need to be defined at runtime

We can use the enum we implemented for #1143 to reduce the number of arguments for this function. I think the other arguments are very straight-forward. To define a PyFunction you need a name, a function, docs and an optional module. I think throwing in the obscure PyMethodDef type makes the API confusing.

I thought a bit more about your proposal and it's really not clear to me how an API for PyModuleDef should look like. The straight-forward version would replicate the constructors that we have now on PyCFunction, so we'd simply move the signatures over to PyModuleDef::new_c_func_with_kwargs and PyModuleDef::new_c_func.
What did you have in mind?

FWIW I think the most efficient solution is for PyModule::add_function() to take PyMethodDef:
fn add_function(&self, func: PyMethodDed) -> PyResult<()>

Using the currently proposed PyCFunction::new_with_keywords constructor is not zero-cost, because the function reference is going to be put into object storage temporarily.
I want to suggest it's enough in this PR to just change add_function to take PyMethodDef and figure out the right design for the PyCFunction constructor in a separate PR.
In my eyes this is is now the only blocker to the release of 0.12. So I'd like us to agree on a minimal API we expect to be stable, merge that ASAP, and design the rest in follow up PRs once 0.12 is out the door.

I don't think it's a "just put the PyMethodDef in there"-situation. We need to discuss a safe and sane API for PyMethodDef to do that. Right now every field is public and that comes with a bunch of pitfalls and opportunities for bugs. So whichever way we take, we'll be discussing what belongs into either PyMethodDef's API or PyCFunction's API. It seems like it's just a question of where to put the complexity.
I feel like making PyMethodDef the type that users have to interact with to get PyCFunction is a bit odd since it's just a proxy to configure the PyCFunction, eventually the same parameters and arguments need to be passed.

Using the currently proposed PyCFunction::new_with_keywords constructor is not zero-cost, because the function reference is going to be put into object storage temporarily.

This should be identical to what the proc-macro is doing, at least I copied the expanded code? Although, I might be misunderstanding what you are referring to.

Although, I might be misunderstanding what you are referring to.

Currently wrap_pyfunction returns a PyObject, which owns the pointer value. Returning &PyCFunction on the other hand means putting the pointer into pyo3's thread-local object storage, which has a slight cost. Returning Py<PyCFunction> would be the zero-cost equivalent.
Though I'm hoping we revisit this cost for 0.13. So maybe it's ok if we just take &PyCFunction in add_function for now...

That cost should be negligible since it only happens once while initializing the module?
I don't know enough about the differences between &PyX vs Py (yet) so I simply went with what I knew

I just thought most users don't want to construct PyCFunction by themselves, as I do, and then having a simple constructor with simple implementation would be better.
So I think it's better to begin from thinking of the use case of PyCFunction::new other than add_module(wrap_pyfunction!()), if we make it not-#[doc(hidden)] API.

I have reverted the last commit adding the constructors, feel free to add an API that works for you.
The motivation to have them was offering a transparent way of constructing a PyCFunction instead of relying on proc-macro-magic and a (confusing) decl-macro.
I don't agree that the constructors are too complex either, e.g. this would have been how to construct a PyCFunction:
#[pyfunction]
fn bar<'a>(fun: &'a PyCFunction) {
    [...]
}

#[pymodule]
fn module_with_functions(_py: Python<'_>, module: &PyModule) -> PyResult<()> {
    let doc = "some docs";
    let fun = PyCFunction::new_with_keywords(pyo3::raw_pycfunction!(bar), "name", some_docs, module)?;
    module.add(fun)
}

I's clearer and allows for runtime interaction with the constructors. It was also simple to manually implement a PyCFunction without keywords, which, if I don't miss anything, is impossible without manually constructing PyMethodDef and invoking the CAPI constructor.

OK, then let's go in that direction. Please push the reverted commit again.

Good points. I think most users will still want the "standard" use case to be as short as possible to type, so perhaps we can introduce a two-argument form of wrap_pyfunction which returns the PyCFunction? E.g.
module.add_function(wrap_pyfunction!(foo, module))

The implementation could be really complicated from the current status so I started some refactoring #1169

Hmm... :thinking:
I think it still needs PyCFunction::from_method_def to implement this efficiently assuming that ml_doc: &'static str.

Fair enough, we probably don't want to keep every docstring twice, so we can leave it up to the caller to provide a &'static str but internally represent it as a CStr?

🚀 let's merge and I'll get on with writing release PR for 0.12


Primary key of type text should generate UUID

When the primary key of a table is text, the data should be a uuid.
Ensure that this works also when generating multiple entities with a factory.

Shouldnt it be only of type char, binaryuuid, or maybe (bad design) varchar=string?


Lock cairo-lang package

protostar -V should return specific cairo-lang version. Add a test case that checks if the version doesn't start with ^.

I think we should stop bundling pyproject.toml in a built binary, and instead dynamically write a regular Python module during build time with constants capturing all necessary information.


Add version to main.js and main.css

This is unnecessary since the files are already being versioned on the production build. Run yarn build:production to see what I mean.

Yes, it's correct. But when using yarn build in remote development server many times browser is not requesting correct version.

You can permanently enable cache-busting like this:
resources/assets/config.json
{
  "enabled": {
    "cacheBusting": true
    }
}

If you want to add logic to it, then edit it in config.js

Awesome, thank you!


Suggestions

when a player exploding the world, destroyed blocks will be restored within a certain time, if possible this feature is added in the configuration to be activated or not

Thank you, I will take this in consideration.


ClickOnce online installer

Make online installer for GameOfLife
See instruction here:
http://www.jdibble.co.uk/blog/building-and-deploying-clickonce-applications-with-appveyor/

done


Publish fails with Node 8.9.1

Our documentation build has started failing after a Node update (windows) to 8.9.1 from an old 6.x release.
fs.js:1910
  binding.copyFile(src, dest, flags);
          ^

Error: EPERM: operation not permitted, copyfile 'C:\Projects\app\client\node_modules\angular-jsdoc\angular-template\css\prettify-tomorrow.css' -> 'C:\Projects\app\Documentation\Client\JavaScript\css'
    at Object.fs.copyFileSync (fs.js:1910:11)
    at C:\Projects\app\client\node_modules\angular-jsdoc\angular-template\publish.js:85:10
    at Array.forEach (<anonymous>)
    at C:\Projects\app\client\node_modules\angular-jsdoc\angular-template\publish.js:82:17
    at Array.forEach (<anonymous>)
    at copyStaticFiles (C:\Projects\app\client\node_modules\angular-jsdoc\angular-template\publish.js:78:17)
    at Object.exports.publish (C:\Projects\app\client\node_modules\angular-jsdoc\angular-template\publish.js:300:3)
    at Object.module.exports.cli.generateDocs (C:\Projects\app\client\node_modules\jsdoc\cli.js:448:35)
    at Object.module.exports.cli.processParseResults (C:\Projects\app\client\node_modules\jsdoc\cli.js:399:20)
    at module.exports.cli.main (C:\Projects\app\client\node_modules\jsdoc\cli.js:240:14)
    at Object.module.exports.cli.runCommand (C:\Projects\app\client\node_modules\jsdoc\cli.js:189:5)
    at C:\Projects\app\client\node_modules\jsdoc\jsdoc.js:105:9
    at Object.<anonymous> (C:\Projects\app\client\node_modules\jsdoc\jsdoc.js:106:3)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)

Looking at documentation, fs.copyFileSync was added to the official fs module in 8.5.0, which I assume is overriding the fs.copyFileSync from jsdoc that is being used in publish.js
The official fs.copyFileSync does not allow a folder as the dest parameter, and will fail as a EPERM.

jsdoc fixed this issue in version 3.5.5
See https://github.com/jsdoc3/jsdoc/issues/1438


Analysis: Cannot go back to plot after viewing warnings

When there's a warning in a list plot and it was clicked

you cannot go back to the plot. If you click on "plot", the tab is selected, by still the warnings are shown:

Same in details view. So this bug is probably related to code (view, template for warnings) which is share by list and detail cards.

Seems to be a problem for PlotCardView, but not for ContactMechanics.


[FCOS] Terraform in installer doesn't support provisioners (remote-exec, local-exec, ...)

Hi,
today I tried to create a VM with Terraform using a "remote-exec" provisioner. I want to call scripts inside of the VM and let Terraform wait until they finish before it proceeds. That seems to be the only way to achieve that.
Does anybody have an idea why I can't use the remote-exec provisioner with the openshift-installer ? I always get this error message:
2020-02-01T12:28:21.901+0100 [DEBUG] plugin: starting plugin: path=/usr/bin/openshift-install args=[/usr/bin/openshift-install, internal-plugin, provisioner, remote-exec]
2020-02-01T12:28:21.909+0100 [DEBUG] plugin: plugin started: path=/usr/bin/openshift-install pid=5468
2020-02-01T12:28:21.910+0100 [DEBUG] plugin: waiting for RPC address: path=/usr/bin/openshift-install
2020-02-01T12:28:21.950+0100 [DEBUG] plugin.openshift-install: time="2020-02-01T12:28:21+01:00" level=fatal msg="Error executing openshift-install: unknown command \"internal-plugin\" for \"openshift-install\""
ERROR
ERROR Error: Failed to instantiate provisioner "remote-exec" to obtain schema: Unrecognized remote plugin message:
ERROR
ERROR This usually means that the plugin is either invalid or simply
ERROR needs to be recompiled to support the latest protocol.
ERROR
ERROR
2020-02-01T12:28:21.954+0100 [DEBUG] plugin: plugin process exited: path=/usr/bin/openshift-install pid=5468 error="exit status 1"
2020-02-01T12:28:21.955+0100 [WARN]  plugin: plugin failed to exit gracefully
ERROR Failed to read tfstate: open /tmp/openshift-install-583517239/terraform.tfstate: no such file or directory
FATAL failed to fetch Cluster: failed to generate asset "Cluster": failed to create cluster: failed to apply using Terraform

That limits the possibilities of Terraform a lot.
You can try it yourself. Add this code snippet in any azurerm_virtual_machine resource:
    provisioner "remote-exec" {  }

The installer will abort with an error message. It makes no difference, if you fill the body of the provisioner with something useful. It always fails.
It seems as if Terraform does not know "internal-plugin" commands in the installer. Seems to be a configuration topic.
Greetings,
Josef

I made created a PR which contains a commit that enables it:
https://github.com/openshift/installer/pull/3033

Please consider opening an enhancement proposal over in https://github.com/openshift/enhancements.
Closing as this out of scope for OKD at the moment.


CC0014 for VB is reported when disabled

CC0014 is being reported in VB even though it is disabled in the ruleset file.

This would be a bug on Roslyn. I will close, I suggest you open it there: https://github.com/dotnet/roslyn/
They will probably ask you for a project to check the problem, try to make a simple one and link to the issue.

@giggio I disagree.  It appears that it is because the  diagnostic is nested in the analyzer for 13, 14, and 80.  Other disabled analyzers don't have this problem.

What do you mean, nested?

@giggio I mean that in the TernaryOperatorAnalyzer for VB the Analyzer method can report both the RuleForIfWithReturn and RuleForIfWithAssignment.  It appears that based on this if CC0013 is disabled and CC0014 is enabled that CC0013 could still be reported.  The reverse situation appears to be possible if CC0013 is enabled and CC0014 is disabled that CC0014 could still be reported.

@giggio Please disregard.  Due to user error.  One of the projects in my solution was not using the same ruleset file.  It all works correctly.

;)


Fix allocation bug if compiled with modern clang or gcc

Add overflow checked intrinsic abstractions that check on overflow.
Use them for memory allocation code.
Use size_t type for memory allocation code to support full platform dependent width.

Fixes #3756.

Is DEFAULT_ALIGNMENT something different than 1 by default? That code was
there for the PSP, but I think it should be 1 by default.. aligned allocs
might be necessary for some obscure platforms, but nowadays it doesn't make
a difference everywhere else
On 19 February 2016 at 03:35, est31<EMAIL_ADDRESS>wrote:

Add overflow checked intrinsic abstractions that check on overflow.
Use them for memory allocation code.
Use size_t type for memory allocation code to support full platform
dependent width.

Fixes #3756 https://github.com/godotengine/godot/issues/3756.
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/3771
Commit Summary

Fix allocation bug if compiled with modern clang or gcc

File Changes

M core/typedefs.h
https://github.com/godotengine/godot/pull/3771/files#diff-0 (30)
M core/vector.h
https://github.com/godotengine/godot/pull/3771/files#diff-1 (35)
M drivers/unix/memory_pool_static_malloc.cpp
https://github.com/godotengine/godot/pull/3771/files#diff-2 (20)

Patch Links:

https://github.com/godotengine/godot/pull/3771.patch
https://github.com/godotengine/godot/pull/3771.diff

—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/pull/3771.

I can add support for non-gcc/llvm compilers by implementing ideas outlined in http://www.fefe.de/intof.html, but it would make execution (even when all stuff works) slower. Is support desired?
 Nonexistent built-in function 'range'.

Its a bit weird, but I think that should be enough to highlight the error in the debugger (have only tested the server). Future changes can improve upon the accuracy of the error message, but I wanted to keep this PR focused on the low level memory allocation code. If its explicitly desired I can add it here, too.

Note that #3756 is fixed on all platforms including MSVC and old llvm/gcc compilers, because of the size_t change, and range downcasting the value to int before giving it to low level allocation code.

And the additional overflow checks help alot when porting vector.h to use size_t as type for the vector's size.


Add ginkgo e2e testing framework

What this PR does / why we need it:
Adds a ginkgo based e2e testing framework, and updates the Elasticsearch e2e tests to be written with it.
fixes #32, fixes #156
Special notes for your reviewer:
Stacked on #241, #240 and #239
Release note:
NONE

/test e2e

/hold

/hold cancel

/retest

I got the following error when I tried running the tests on my dind cluster:

You've got --context=$HOSTNAME on your e2e test command, hence the error about missing context 😄

You've got --context=$HOSTNAME on your e2e test command, hence the error about missing context

Sure, but I think I should be able to run make e2e-tests on my local cluster and it should just use the default context.


Add the wait for connectivity to the login call and ssh one (in the lib)

The new HTTPAPI plugin that is already developed for FortiOS handles all the connectivity issues, including timeouts and other variables, as it uses Ansible inventory. Localhost connection will be deprecated soon according to Ansible roadmap.
HTTPAPI will be submitted for review shortly in the next days and hopefully will be released soon.


 is having trouble with Google Play services.  Please try again.

I've been receiving the subject error message on Android emulators, so I created a minimal Google maps app - only displays an empty map - and I receive the same error.
I created a Stack Overflow post, but with no answers.  Now that I've recreated the error with the only plugin being google-maps-sdk, I'm opening an issue here.  I'd love to get this fixed soI can return to testing on Android emulators.

I have the same issue...

For what it's worth, this sure looks like an Android Studio emulator problem.  That said, I've created multiple new emulators with various API levels, all with the same result.  I've also specified various versions of Google Play Services, but again, no joy.  I'm hoping someone can at least find a bypass.  I'll continue to poke at it.

I got this to work, here's what I did.

Make sure Google Play services is enabled/installed inside of Android Studio
Click SDK Manager in the top right of Android Studio to see the following:

It should prompt for a download after you check the box and hit apply.

Add the following line in your AndroidManifest.xml file between your <application> tags:
<meta-data android:name="com.google.android.geo.API_KEY" android:value="yourKeyHere"/>

Then I got an issue with some java dynamite maps reference, adding the following line just before the line in step 2 resolved this error:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>

Restart your emulator and it should prompt you to enable location services, accept and it should be good to go!

Let me know if you have any issues and I'll try to help you out!

@tylerablake - I was excited to see your post and see if it would solve the problem for me.  Alas, no luck.  I did need to install play services, so here's what the SDK Tools looks like now:

I already had the API key in my AndroidManifest.xml, but I added the line from your step 3:
<!-- See https://github.com/dapriett/nativescript-google-maps-sdk/issues/339 -->
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/nativescript_google_maps_api_key" />

I noticed on the SDK Tools your emulator is back-level to what I'm using; not sure if that may be the issue or not.  What does your app.gradle file look like?  Did you add anything there for GooglePlayServices version?

Hi @dlcole, sorry it didn't work for you, I also added a new file before-plugins.gradle

With the following contents project.ext.googlePlayServicesVersion = "15.0.1"
That is all I had to do to get it working for me.
Hope this helps!

@tylerablake Very interesting!  I tried specifying the googlePlayServicesVersion in app.gradle, and no luck.  Then I commented that out and added the file before-plugins.gradle, as you suggested.  Now it works!  Thanks so much for your pointers; I don't think I would have ever figured this out on my own :-).

 No problem! Glad I could help! Happy NativeScripting!

hi, i don't know you add this before-plugin.gradle

could you please help me

@tylerablake Searched for a solution for a couple of days, only found your solution to work. Awesome. Thank you.

@Feedmeknowledge No problem!

Where is project.ext.googlePlayServicesVersion = "15.0.1"

@himustofa I put that inside of the before-plugins.gadle file

I have installed SDK Android 9.0, Android 7.1.1 and Android 6.0. Google Play services and else more. A few days ago update my Android Studio 3.4 (gradle 3.4.0). Now Google maps did not show in emulator, the display is having trouble with google play services. please try again
AndroidManifest.xmal
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dist="http://schemas.android.com/apk/distribution"
    package="com.zaaibo.passenger">

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-feature android:name="android.hardware.location.network" android:required="false" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-feature android:name="android.hardware.location.gps" android:required="false" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <dist:module dist:instant="true" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".activity.MapsActivity"
            android:screenOrientation="portrait" />

        <uses-library android:name="org.apache.http.legacy" android:required="false"/>

        <!-- Start: Google Maps -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <!-- Start: fabric.io -->
        <meta-data
            android:name="io.fabric.ApiKey"
            android:value="48e94977edd45c608b874d3522a1d78045c05712" />

        <!-- Start: Firebase Cloud Messaging -->
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/ic_radio_button_checked_black_24dp" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/colorAccent" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="@string/default_notification_channel_id" />
        <service
            android:name=".service.MyFirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        <!-- Start: Android Image Cropper: optional (needed if default theme has no action bar) -->
        <activity
            android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
<EMAIL_ADDRESS>/>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

build.gradle(Project: Passenger)
buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle(Module: app)
apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.zaaibo.passenger"
        minSdkVersion 16
        targetSdkVersion 27
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.android.support:support-v4:28.0.0'

    //Enable multidex for apps with over 64K methods
    implementation 'com.android.support:multidex:1.0.3'

    // Design, CardView
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'

    // GoogleMaps: maps, places, location for gps
    implementation 'com.google.android.gms:play-services-maps:16.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.android.gms:play-services-places:16.0.0'
    implementation 'com.google.android.libraries.places:places:1.1.0'

    // GoogleMaps DirectionCallback
    implementation 'com.akexorcist:googledirectionlibrary:1.1.1'

    //Firebase libraries
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-database:16.1.0'
    implementation 'com.google.firebase:firebase-storage:16.1.0'
    implementation 'com.google.firebase:firebase-auth:16.2.1'
    implementation 'com.google.firebase:firebase-messaging:17.6.0'
    implementation 'com.google.firebase:firebase-functions:16.3.0'

    //Fabric.io: crash reporting
    //implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
        transitive = true;
    }

    //GeoFire for Android/Java — Realtime location queries with Firebase
    implementation 'com.firebase:geofire-android:2.3.1'

    //Image circle in Navigation
    implementation 'de.hdodenhof:circleimageview:3.0.0'

    //Load Image Library
    implementation 'com.squareup.picasso:picasso:2.71828'

    //Android Image Cropper Library
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

apply plugin: 'com.google.gms.google-services'

apply plugin: 'io.fabric'
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

@himustofa  try this. I think the issue might be you need to re-enable Google Play services after your recent update of Android Studio for Google Maps to show on emulator

Make sure Google Play services is enabled/installed inside of Android Studio
Click SDK Manager in the top right of Android Studio to see the following:

It should prompt for a download after you check the box and hit apply.

Add the following line in your AndroidManifest.xml file between your <application> tags:
<meta-data android:name="com.google.android.geo.API_KEY" android:value="yourKeyHere"/>
Then I got an issue with some java dynamite maps reference, adding the following line just before the line in step 2 resolved this error:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
Restart your emulator and it should prompt you to enable location services, accept and it should be good to go!

In my case,
change
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'com.google.android.gms:play-services-places:16.1.0'
to
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-places:16.0.0'
Log cat : google play servie out of date
so, downgrade library version

Thanks for your important information.

Did someone find a proper solution for this issue ?

This error occurs after the computer suddenly shuts down by itself. It is working well on the cell phone.


Missing seller public profile

There is no component for seller public profile (route = /SellerProfile/). This route can be assessed by clicking on the seller's name in the book details section.
This component should have the following fields:

Name
Intro
Photo
No. of books sold
Rating
No. of ratings
No. of reviews
Verified batch if the seller is verified

All this info will be available in folloiwing backend API: /getSellerProfile?sellerId=
You can use "60f09b1a3a24d10022919697" as seller Id for demo purpose.
You can have your own design for this component or keep it like the design which is present in your own profile.

I haven't done a lot, just tried to get data:
import React, { useEffect } from "react";
import { useParams } from "react-router-dom";
import axios from "../../axios";

const SellerProfile = (props) => {
  const params = useParams();
  const sellerId = params.sellerId;

  useEffect(() => {
    const fetchData = async () => {
      const url = `/getSellerProfile?sellerId=${sellerId}`;
      axios.get(url).then((response) => {
        console.log(response);
      });
    };
    fetchData();
  }, []);

  return <div>{sellerId}</div>;
};

export default SellerProfile;

And I get an error:

The full url is  https://bookshlf.herokuapp.com/getSellerProfile?sellerId=60f09b1a3a24d10022919697
If I write the url to address bar in browser it returns the data:
{"name":"Awesome Sellers","intro":"Mai purani books bechta hu lekin wo ek dum nayi dikhti hai, kyuki mai unhe kabhi padta nahi.","photo":"https://firebasestorage.googleapis.com/v0/b/bookshlf.appspot.com/o/profile%2FZQ_usMsHUamyAvatar.png?alt=media&token=7d762a99-4d34-4abd-8eb1-6d2375b6e94f","noOfBooksSold":5,"rating":4,"noOfRatings":2,"noOfReviews":2,"isVerified":true,"_id":"60f09b1a3a24d10022919697","createdAt":"2021-07-15T20:31:22.480Z","updatedAt":"2021-09-29T09:26:38.260Z"}
But request still doesn't work from the code. Am I doing something wrong?

@Mrhb787 thank you for your answer. I do the same things but response from the server is error 500.
If it work for you correctly, I assume that this is a problem in my side. I'll try to find it.

@Neniya This API doesn't require a login, and hence role of the user will not affect this api in any case.

@Neniya
One thing which you can do is:
Make a temporary PR with whatever code you have written. We will review your code in PR and help you resolve this issue.

@Mrhb787 @RohitKumar-200
I put the code here: git@github.com:Neniya/Website.git on the branch seller-public-profile
The route SellerProfile/${sellerId} can be accessed by clicking on the seller's name in the book details section

@Mrhb787 I did it, could you please review it?


About the local version

Friend, I hope you can create a local version that can be downloaded and used directly.
Configuring the server and compiling the code is not very clear and convenient.

You can use it offline. You don't need to install anything. So in a sense, you already can "download" it and use it directly.

I tried downloading and using (found minerva/app/index. html), and the webpage was loaded. I was able to load Sol, but it couldn't be parsed.
Perhaps there is a problem with my usage, please tell me the correct one.

可以离线使用。你不需要安装任何东西。所以在某种意义上，你已经可以“下载”并直接使用它了。

I tried downloading and using (found minerva/app/index. html), and the webpage was loaded. I was able to load Sol, but it couldn't be parsed.
Perhaps there is a problem with my usage, please tell me the correct one.

You can use it offline. You don't need to install anything. So in a sense, you already can "download" it and use it directly.

I tried downloading and using (found minerva/app/index. html), and the webpage was loaded. I was able to load Sol, but it couldn't be parsed.
Perhaps there is a problem with my usage, please tell me the correct one.

You just visit the website https://mariani.life/projects/minerva/ , that's it. Once you visit it once, it'll cache in your browser and you can go offline with it. No need to download or install anything.

You just visit the website https://mariani.life/projects/minerva/ , that's it. Once you visit it once, it'll cache in your browser and you can go offline with it. No need to download or install anything.

Okay, thank you, my friend.
I'm just afraid that one day you'll shut down this website, after all, I've seen too many such situations before


fix: re-release due to pypi not seeing the new version

https://pypi.org/project/dbus-fast/ shows the new version but the index shows the old version.
https://status.python.org/ shows now issues so trying to do another release to see if it resolves

Looks like semantic-release choked on 3.11 in the title of the previous pr


Implement path length checking and truncation

Implement path length check and truncate if necessary to avoid ENAMETOOLONG errors as per issue #13

@asthypar, please fix the merge conflict and revert back the "download path"

@vikas5914 done


Would you consider re-licensing this repository?

Hello there, we'd love to use this library to syntax-highlight files on GitHub but in order to do so we need this library to have a more permissive license.
If you don't have any particular reason for choosing GPL would you be willing to consider switching this to a more permissive license such as MIT, BSD or Apache 2?
Many thanks
Arfon (GitHub Staff)

cc @wmertens - Github removed Nix because of this.

@arfon @domenkozar Oops somehow missed this issue, weird. I'll move the package under MIT ASAP.

@arfon it is now licensed under MIT license, what should I do to re-instate the highlighting?

@wmertens - I'll work on this tomorrow and highlighting should be restored by early next week (we have to cut a new gem).
Thanks for swapping out the license :zap:

PR for fix here: https://github.com/github/linguist/pull/2914
I'll cut a new gem early this week to get this live on GitHub.


[core] Unable to decompile anything

Describe error
I just installed jadx latest version and on running jadx --version  it shows following error

full name of method or class with error

Exception in thread "main" java.lang.BootstrapMethodError: Exception from call site #40 bootstrap method
        at jadx.core.utils.files.FileUtils.deleteDir(FileUtils.java:97)
        at jadx.core.utils.files.FileUtils.deleteTempRootDir(FileUtils.java:124)
        at jadx.cli.JadxCLI.main(JadxCLI.java:26)
Caused by: java.lang.ClassCastException: Bootstrap method returned null
        ... 3 more

App.zip

@MrAdityaAlok can you share your Java version? (java -version). If possible try the latest java version.

@MrAdityaAlok can you share your Java version? (java -version). If possible try the latest java version.

I am using OpenJDK15U-jdk_aarch64_linux_hotspot_15.0.1_9 by AdoptJDK

I am using OpenJDK15U-jdk_aarch64_linux_hotspot_15.0.1_9 by AdoptJDK

@MrAdityaAlok As your OS is Linux on ARM, you are trying to run Jadx on a Raspberry? Please post your system hardware spec plus OS name and version.

@MrAdityaAlok As your OS is Linux on ARM, you are trying to run Jadx on a Raspberry? Please post your system hardware spec plus OS name and version.

Please post your system hardware spec plus OS name and version.

OS: Android 9
Host: LENOVO Lenovo TB-X605LC
Kernel: 4.9.11
Shell: zsh 5.8
Terminal: termux
Chipset: msm8953

CPU: Qualcomm Technologies

@MrAdityaAlok As your OS is Linux on ARM, you are trying to run Jadx on a Raspberry?

No I am using Android.

Please post your system hardware spec plus OS name and version.

OS: Android 9
Host: LENOVO Lenovo TB-X605LC
Kernel: 4.9.11
Shell: zsh 5.8
Terminal: termux
Chipset: msm8953

CPU: Qualcomm Technologies

@MrAdityaAlok As your OS is Linux on ARM, you are trying to run Jadx on a Raspberry?

No I am using Android.

That is really a special run-time environment. Are you sure you only have installed the mentioned AdoptOpenJDK version? Do you use a pre-compiled version of jadx or have you compiled it in that environment? Because the error shown in your first post usually occurs if you mix-up different Java versions.

That is really a special run-time environment. Are you sure you only have installed the mentioned AdoptOpenJDK version? Do you use a pre-compiled version of jadx or have you compiled it in that environment? Because the error shown in your first post usually occurs if you mix-up different Java versions.

Interestingly I got the same issue in my device with Android 11 after converting all JADX jars with dx and trying to execute it with the dalvikvm command.

Interestingly I got the same issue in my device with Android 11 after converting all JADX jars with dx and trying to execute it with the dalvikvm command.

Edit: I just made q quick test, but based on my experience the mentioned Java version does not run on Termux because of libc issues. Therefore if you have a special environment please describe the the full way how to achieve it. Just downloading Java does definitely not work.

I used JDK under proot of ubuntu 20.04 and as mentioned by @alissonlauffer first used dex on the jars.
I am new to Android as well as JAVA please mention if I did something wrong.....

Edit: I just made q quick test, but based on my experience the mentioned Java version does not run on Termux because of libc issues. Therefore if you have a special environment please describe the the full way how to achieve it. Just downloading Java does definitely not work.

I used JDK under proot of ubuntu 20.04 and as mentioned by @alissonlauffer first used dex on the jars.
I am new to Android as well as JAVA please mention if I did something wrong.....

If you are trying to run a dexified version of Jadx why have you then answered you are running Jadx using  OpenJDK15U-jdk_aarch64_linux_hotspot_15.0.1_9 in your second comment?
From my perspective Android/dalvikvm is not an environment targeted by Jadx. Jadx was developed for Java 1.8+ using a regular J2SE JVM. The differences are too big between J2SE and Android so that I don't see a way to add support for such an environment - sorry.
Therefore I would recommend to you to try to get a real J2SE JVM running on Android if you really want to run jadx on Android. But the recommended way if to run Jadx on a regular PC that runs Linux/Windows/MacOS.

If you are trying to run a dexified version of Jadx why have you then answered you are running Jadx using  OpenJDK15U-jdk_aarch64_linux_hotspot_15.0.1_9 in your second comment?
From my perspective Android/dalvikvm is not an environment targeted by Jadx. Jadx was developed for Java 1.8+ using a regular J2SE JVM. The differences are too big between J2SE and Android so that I don't see a way to add support for such an environment - sorry.
Therefore I would recommend to you to try to get a real J2SE JVM running on Android if you really want to run jadx on Android. But the recommended way if to run Jadx on a regular PC that runs Linux/Windows/MacOS.

Okay ....and sorry for wasting your precious time 🥺..... please... sorry

Okay ....and sorry for wasting your precious time 🥺..... please... sorry

@Mr-Elliot-Alderson Check out https://github.com/TermuxArch/TermuxArch for running Arch inside of a proot inside of Termux. JRE/JDK 8 is available on there and it usually works...
Another thing: Termux is awesome but because it's running in an Android app, many things built for "Linux" (especially pre-built packages) won't work. I just looked up the AdoptOpenJDK site -- looks like their pre-built binaries are linked against glibc. Android doesn't use glibc: it uses bionic (https://github.com/aosp-mirror/platform_bionic) ... (I believe TermuxArch gives you glibc .... among other things.) Bionic doesn't support 100% of glibc features (e.g. no semaphores -- if you see compilation errors about sem_open or semaphores....) -- and that's often why the packages for termux (https://github.com/termux/termux-packages have lots of patches to get them to work properly...

@Mr-Elliot-Alderson Check out https://github.com/TermuxArch/TermuxArch for running Arch inside of a proot inside of Termux. JRE/JDK 8 is available on there and it usually works...
Another thing: Termux is awesome but because it's running in an Android app, many things built for "Linux" (especially pre-built packages) won't work. I just looked up the AdoptOpenJDK site -- looks like their pre-built binaries are linked against glibc. Android doesn't use glibc: it uses bionic (https://github.com/aosp-mirror/platform_bionic) ... (I believe TermuxArch gives you glibc .... among other things.) Bionic doesn't support 100% of glibc features (e.g. no semaphores -- if you see compilation errors about sem_open or semaphores....) -- and that's often why the packages for termux (https://github.com/termux/termux-packages have lots of patches to get them to work properly...


Lockable slots

Is your feature request related to a problem? Please describe.
I am attempting to use banks instead of MI barrels and it is hard to allow them to back up when all the slots can be used.
Describe the solution you'd like
Something like MI's slot locking so that we can lock the bank's slots to be empty or a specific item.
Describe alternatives you've considered
Using AE2 could work as the bank is in a dock but that requires lots of extra infrastructure that I do not want to put in for each bank
Additional context
The copper plates are depended on by the curved plates and thus get used up. When the curved plates are full, then they will go to another slot instead of stopping filling up at 256. I am using dirt as filler slots here so that partially solves the issue but still leaves that if we use all the copper plates then the setup could be messed up.

Good news: this is already a feature! Hold alt and click the slots to lock. Check the keybinds!

Ah, thanks!


Unable to patch 15-inch 2010 MacBook Pro on High Sierra

I'm getting the following message:
| Checking compatibility
MBPModelVersion : MacBookPro6,2 ➔ Compatibility : OK ✓
| Checking SIP Status
SIP Disabled
| Searching for AppleGraphicsPowerManagement.kext
AppleGraphicsPowerManagement.kext found
********** Starting MBP GPU Fix **********
Copying Info.plist file
Previous Info.plist file removed
Could not open Info.plist file
********************* MBP GPU Fix FAILED *********************

Hi,
Did you try the app on a previous version of macOS before updating to High Sierra ?
After patch failure, can you please go to /tmp/ directory and see if there is a file named PatchedInfo.plist in it. If so, let me know if you are able to open the file by double-clicking on it.
Also, before running the patch, you can also try to remove all the files in /tmp/ folder.
Thanks.

It worked fine for me on High Sierra

Try applying patch twice.
On 10/23/2017 6:12:28 PM, kickass-id<EMAIL_ADDRESS>wrote:
For me, I got MBP GPU Fixed Successfully but it doesn't seem to work (also MBP 15" mid-2010, High Sierra). After applying the patch (log below), I excitedly open IMDB using Safari, and my laptop crashed :(
| Checking compatibility
MBPModelVersion : MacBookPro6,2 ➔ Compatibility : OK ✓
| Checking SIP Status
SIP Disabled
| Searching for AppleGraphicsPowerManagement.kext
AppleGraphicsPowerManagement.kext found
********** Starting MBP GPU Fix **********
Copying Info.plist file
Patching Info.plist

FindChild - key|MacBookPro6,2
NextSibling - dict
FindChild - key|LogControl
ModifyIntValue - integer|1
FindSibling - key|Vendor10deDevice0a29
FindSibling - key|BoostPState
FindSibling - key|BoostTime
FindSibling - key|Heuristic
FindSibling - key|IdleInterval
ModifyIntValue - integer|10
RemoveSiblingLabel - P3HistoryLength Not found
FindSibling - key|SensorSampleRate
ModifyIntValue - integer|10
FindSibling - key|Threshold_High
FindSibling - key|Threshold_High_v
FindSibling - key|Threshold_Low
FindSibling - key|Threshold_Low_v
Info.plist successfully patched
| Loading Kernel Extension
Removing existing kext in tmp : ✓
Copying actuel kext into tmp : ✓
Copying patched Info.plist into kext : ✓
Changing permission of kext : ✓ /tmp/AppleGraphicsPowerManagement.kext/Contents/_CodeSignature/CodeResources
/tmp/AppleGraphicsPowerManagement.kext/Contents/_CodeSignature
/tmp/AppleGraphicsPowerManagement.kext/Contents/MacOS/AppleGraphicsPowerManagement
/tmp/AppleGraphicsPowerManagement.kext/Contents/MacOS
/tmp/AppleGraphicsPowerManagement.kext/Contents/Info.plist
/tmp/AppleGraphicsPowerManagement.kext/Contents/version.plist
/tmp/AppleGraphicsPowerManagement.kext/Contents
/tmp/AppleGraphicsPowerManagement.kext
Removing existing kext : ✓
Copying patched kext into Extension : ✓
Loading modified kext : ✓
********************* MBP GPU Fixed Successfully *********************
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub [https://github.com/julian-poidevin/MBPMid2010_GPUFix/issues/35#issuecomment-338654135], or mute the thread [https://github.com/notifications/unsubscribe-auth/AD0VXNIj5sw-8sf_EDa9ag7srwejsWx3ks5svJC8gaJpZM4Pyz4E].

After applying the patch twice, my laptop hasn't crashed ever since. I have Android Studio opened (usually it's instant-crash). What kind of sorcery is this!!! :D

The Mac is just a bit less performant and it does not work if you are using an external screen. These are the only two downsides.

@kickass-id , The same happened to me and I thought that may be it didn't get applied. After crashing I tried and it worked.
That's strange but some how I make it work :p

@julian-poidevin But you really did an amazing job. You've save a lot of $ !

Glad it finally worked. If I saved you the price of a mac please consider paying me a beer via the donation button on the app !😄 🍺

@julian-poidevin I am not gonna pay you for beer. I'll pay you for a Dinner. 🥇

@jeromydp Could you get the patch running by following my tips ?

@jeromydp Please let me know if it's ok for you, I'll close the issue if I get no news in few days.

Sorry about my delay & thanks for checking in.  I haven’t made time to try it, but my kids remind me regularly about how their MacBook crashes. I’ll make a point to follow your tips tomorrow.

On Nov 16, 2017, at 1:19 PM, Julian Poidevin<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
@jeromydp https://github.com/jeromydp Please let me know if it's ok for you, I'll close the issue if I get no news in few days.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/julian-poidevin/MBPMid2010_GPUFix/issues/35#issuecomment-345065902, or mute the thread https://github.com/notifications/unsubscribe-auth/AfIuM63sEHez0PWqHgwjTMdgL4BmjQB0ks5s3KbUgaJpZM4Pyz4E.

I followed you instructions, reran the patch and it appears to be successful! Do I need to reapply the patch after minor operating system upgrades?

Yes, the patch has to be run after EVERY OS update.

Bonjour Julian,
I'm not sure you will get this message, since the issue is closed. But I'll comment anyway!
This problem happens when MBPMid2010_GPUFix is ran from a none admin user.  And login into an admin account to run it again doesn't stop the error (Could not open Info.plist file) from happening again, but deleting files from /tmp/ works just fine.
I guess the application should ask for an admin user name!

Amordicus-
Thank you for your thoughtful insight.  I followed your procedure and ultimately had success.  I appreciate you taking the time to assist me with this problem!
On Oct 31, 2018, 11:48 AM -0700, amordicus<EMAIL_ADDRESS>wrote:

Bonjour Julian,
I'm not sure you will get this message, since the issue is closed. But I'll comment anyway!
This problem happens when MBPMid2010_GPUFix is ran from a none admin user. And login into an admin account to run it again doesn't stop the error (Could not open Info.plist file) from happening again, but deleting files from /tmp/ works just fine.
I guess the application should ask for an admin user name!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


New BBB API calls and fixes for recreating non-existing classroom instances

New API Calls:

GetMeetingInfo https://docs.bigbluebutton.org/dev/api.html#getmeetinginfo
GetMeetings https://docs.bigbluebutton.org/dev/api.html#getmeetings
End https://docs.bigbluebutton.org/dev/api.html#end

When trying to join a non-existent classroom an exception is thrown - again. This fixes the issue of not opening a classroom tab from Feedback System after the classroom server is restarted.

The problem with the web-gui is on my todo-list for my announced UI overhaul. I will implement a global error handler and a framework to display error-messages to the user.


auto generate tags for routes with model or just controllers

This should be covered in https://github.com/theoomoregbee/sails-hook-swagger-generator/pull/67.
Specifically:

Models have a default tag created based on {globalId}.
Controllers have a default tag created based on controller name without subdirectory (if any) or Controller. e.g. subdir/NoModelController --> NoModel


Feat/list component

[x] I have followed the Your First Code Contribution section of the Contributing guide

Summarize the changes made and the motivation behind them.
Reference related issues using # followed by the issue number.
If there are breaking API changes - like adding or removing props, or changing the structure of the theme - describe them, and provide steps to update existing code.

hi @rluders,
As you mentioned, I updated examples structure to this component in this new branch.
Please take a look...
Thanks.

@SutuSebastian fixed right now :)

some prettier must be ran so build can pass

@SutuSebastian Thanks for your information.
fixed now...


Lag when pressing dot character in sql file

Thank you for the great plugin!
Unfortunately i'm experiencing some lag when using a combination of nvim-compe and vim-dadbod-completion. It happens when i'm in an sql file and type a dot '.' character. I ran a profile and some functions of vim-dadbod-completion are being triggered 10212 times. That would explain the huge size of the intellisense list after pressing that dot.  Is there some way to limit the amount of things being loaded in the intellisense list? Or is this caused by nvim-compe? I'm unsure what is causing this.
NVIM v0.5.0-dev+1294-gad8114444
Build type: Debug
vim-dadbod-completion and nvim-compe both up to date.
Attaching the profile.log and the nvim-compe.vim configuration to the ticket.
compe.txt
profile.log

Hi @RRikor,
how big is your database? 10212 is the number of results that are being mapped, that's why you see 10212 entries in there.
I agree it's big and it should be optimized.
Can you tell me if you just type the . or you type something before it?
For example, do you get lag when you type something like this:
select * from posts.

Or you just type the dot and get the lag?
.

Hi @kristijanhusak,
Thank you for the quick reply! And thanks for the tip! The lag was happening when I pressed the dot and when I pressed the schemaname+dot. In both occasions.
I am writing tables for a new schema in a PostgreSQL database. The schema is currently empty.  So I guess if
the plugin can't find the schema, or when the schema is empty, it loads all results from pg_tables.tablename + some other pg_ tables into the list?
I created a dummy table in the schema and now it only displays that dummy table when using schemaname+dot. So the lag is gone :-)
Though it would be nice if it would limit the results in the list somehow. Apparently the maximum number of columns in PostgreSQL is 1600. https://www.postgresql.org/docs/current/limits.html
Thanks for the help!


Support for New Hyperdecks

Hi,
I have a new Hyperdeck Studio HD Mini and Hyperdeck Studio HD Plus, when can we expect to see support for these new devices?
Thank you.

I also need this.
I've started working on a patch but I only have the HD Plus. I should have an HD Mini coming this week but I won't have access to the other two new models and for whatever reason, BMD does not include the identification strings in the manual. Not sure if anyone has access to the HD Pro and 4K Pro?

I also need this.
I've started working on a patch but I only have the HD Plus. I should have an HD Mini coming this week but I won't have access to the other two new models and for whatever reason, BMD does not include the identification strings in the manual. Not sure if anyone has access to the HD Pro and 4K Pro?

I Have some HD Plus and HD pro units with me. Do you have the HD Plus patch available to use and what do you need from the HD Pro and I can get for you to help?

I also need this.
I've started working on a patch but I only have the HD Plus. I should have an HD Mini coming this week but I won't have access to the other two new models and for whatever reason, BMD does not include the identification strings in the manual. Not sure if anyone has access to the HD Pro and 4K Pro?

I Have some HD Plus and HD pro units with me. Do you have the HD Plus patch available to use and what do you need from the HD Pro and I can get for you to help?

HD Pro slot ID appear to work as:
Slot 1 - SSD Left
Slot 2 - SSD Right
Slot 3 - USB-C
Slot 4 - SD Left
Slot 5 - SD Right

I have a mini what information would you need me to gather for you? And how?

On Sep 11, 2021, at 8:40 AM, mrg198 @.***> wrote:
I also need this.
I've started working on a patch but I only have the HD Plus. I should have an HD Mini coming this week but I won't have access to the other two new models and for whatever reason, BMD does not include the identification strings in the manual. Not sure if anyone has access to the HD Pro and 4K Pro?
I Have some HD Plus and HD pro units with me. Do you have the HD Plus patch available to use and what do you need from the HD Pro and I can get for you to help?
HD Pro slot ID appear to work as:
Slot 1 - SSD Left
Slot 2 - SSD Right
Slot 3 - USB-C
Slot 4 - SD Left
Slot 5 - SD Right
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#issuecomment-917409567, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOTOQLXXQ4MU5YC6NHYUYDUBNL6XANCNFSM5DO6WYBQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi any progress on the New HyperDeck Studio HD Plus Support?

Unfortunately I don’t have access to any of the new models to develop against, which makes it rather tricky.
I am surprised that the HD Plus doesn’t seem to work at all. I can’t think of any obvious reason why that would be, as nothing has been deprecated in the api.
if any of you with new devices are seeing any warning or errors in the logs, they might shed some light on the issue.

I’ve been using HD Plus using the ‘Mini’ in the existing instance OK and HD Pro/4K Pro using ‘12G’ but obvs it’s missing all the slot numbers beyond 2 and all the new file formats.
@Stephen – are you in the UK? I might be able to lend some  sample units from our stock for a short while if that will help you with development?
Michael
From: Stephen Harrison @.>
Sent: 11 January 2022 10:03
To: bitfocus/companion-module-bmd-hyperdeck @.>
Cc: Michael George @.>; Comment @.>
Subject: Re: [bitfocus/companion-module-bmd-hyperdeck] Support for New Hyperdecks (#54)
Unfortunately I don’t have access to any of the new models to develop against, which makes it rather tricky.
I am surprised that the HD Plus doesn’t seem to work at all. I can’t think of any obvious reason why that would be, as nothing has been deprecated in the api.
if any of you with new devices are seeing any warning or errors in the logs, they might shed some light on the issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#issuecomment-1009784149, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVSRO7CXT64EMMG3TNGO6TTUVP555ANCNFSM5DO6WYBQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

You need to have the ‘rem’ switched on with the new units to make them work I’ve found. The old ones seem to work regardless if you had remote switched on or not.
Michael
From: Michael George @.>
Sent: 11 January 2022 10:06
To: bitfocus/companion-module-bmd-hyperdeck @.>; bitfocus/companion-module-bmd-hyperdeck @.>
Cc: Michael George @.>; Comment @.***>
Subject: RE: [bitfocus/companion-module-bmd-hyperdeck] Support for New Hyperdecks (#54)
I’ve been using HD Plus using the ‘Mini’ in the existing instance OK and HD Pro/4K Pro using ‘12G’ but obvs it’s missing all the slot numbers beyond 2 and all the new file formats.
@Stephen – are you in the UK? I might be able to lend some  sample units from our stock for a short while if that will help you with development?
Michael
From: Stephen Harrison @.>
Sent: 11 January 2022 10:03
To: bitfocus/companion-module-bmd-hyperdeck @.>
Cc: Michael George @.>; Comment @.>
Subject: Re: [bitfocus/companion-module-bmd-hyperdeck] Support for New Hyperdecks (#54)
Unfortunately I don’t have access to any of the new models to develop against, which makes it rather tricky.
I am surprised that the HD Plus doesn’t seem to work at all. I can’t think of any obvious reason why that would be, as nothing has been deprecated in the api.
if any of you with new devices are seeing any warning or errors in the logs, they might shed some light on the issue.
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#issuecomment-1009784149, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVSRO7CXT64EMMG3TNGO6TTUVP555ANCNFSM5DO6WYBQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

Hi Michael, that would be a big help and yes, I am in the UK.
The api docs are not exactly verbose when it comes to what file formats, etc each unit actually supports (the latest version doesn’t even identify which commands are supported by which protocol version) so it is a case of poke it and see what comes out!

Hi everyone,
Sorry, life has been busy. Here is a diff with initial support for the HD Plus and HD Mini. There are some issues still - the file formats are not working properly, it's not fully tested (I wish there was a test suite for these modules). But it is working with most functionality I've tried; the only thing I don't see working is the file formats so I'll have to fix that.
issue-54-patch1.patch.txt

If anyone else is inclined to test and let me know if they have any problems that would be great! @mrg198 can you telnet to the Pro model on port 9993 and type "device info" and paste the result here?

Sure I can test later this evening. I only have HD plus available atm as Stephen has our HD Pro and 4k Pro atm to test with.
---- Michael Ridley wrote ----
If anyone else is inclined to test and let me know if they have any problems that would be great! @mrg198https://github.com/mrg198 can you telnet to the Pro model on port 9993 and type "device info" and paste the result here?
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#issuecomment-1022423345, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVSRO7EK2OMWNYSQHE6TGOLUYAVGHANCNFSM5DO6WYBQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>

Sounds good. The HD Plus and HD Mini are the two that I've added support for, so I don't need the device info from them since I own both of those models. If anyone has the HD Pro and 4K Pro and wishes to provide the output of device info I can add them to the regex and fill out support as best I can without having access to test.

@mikeridley looks like we've both been doing the same thing at the same time! I am almost finished with adding basic support for all 4 new models--the only thing I want to finish before pushing an update is to add full slot selection for the new models.
As it stands though, input and file format selection are tested and working on the HD Plus, HD Pro and 4K Pro (I don't have an HD Mini, but believe I have that one configured correctly).

I've just pushed an update that should support all models. If you have a dev environment, please test and let me know of any issues.

Hi Stephen
I updated my companion pi to v3871 this evening which appears to have the new hyperdeck module. When selecting the file format via a button for the 4K Pro, the dropdown list dones’t have H.265 medium listed – only H.264/5 is listed for the other sizes. Is that not in the available codecs or does the dropdown list text need updating (see attached)?
Thanks,
Michael
From: Stephen Harrison @.>
Sent: 02 February 2022 08:19
To: bitfocus/companion-module-bmd-hyperdeck @.>
Cc: Michael George @.>; Mention @.>
Subject: Re: [bitfocus/companion-module-bmd-hyperdeck] Support for New Hyperdecks (#54)
Closed #54https://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54.
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#event-5993978063, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVSRO7HLPSUQOFN2GNA3OL3UZDSINANCNFSM5DO6WYBQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

The h265 codec is in the Tye models above the HD and HD Plus models.  It’s
for 4k 60 fps and up…
On Sun, Feb 6, 2022 at 4:25 PM mrg198 @.***> wrote:

Hi Stephen
I updated my companion pi to v3871 this evening which appears to have the
new hyperdeck module. When selecting the file format via a button for the
4K Pro, the dropdown list dones’t have H.265 medium listed – only H.264/5
is listed for the other sizes. Is that not in the available codecs or does
the dropdown list text need updating (see attached)?
Thanks,
Michael
From: Stephen Harrison @.>
Sent: 02 February 2022 08:19
To: bitfocus/companion-module-bmd-hyperdeck @.>
Cc: Michael George @.>; Mention @.>
Subject: Re: [bitfocus/companion-module-bmd-hyperdeck] Support for New
Hyperdecks (#54)
Closed #54<
https://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54>.
—
Reply to this email directly, view it on GitHub<
https://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#event-5993978063>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/AVSRO7HLPSUQOFN2GNA3OL3UZDSINANCNFSM5DO6WYBQ>.
Triage notifications on the go with GitHub Mobile for iOS<
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android<
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub
https://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#issuecomment-1030952431,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWIU2RDKFMTUVN7M6WLAFRTUZ4GQDANCNFSM5DO6WYBQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

--
Keith Bennett
Life's Journey Productions
@.*** @.**>
lifesjourneyproductions.com http://lifesjourneyproductions.com
509-308-1622
Richland, Washington
https://www.lifesjourneyproductions.com/welcome
https://www.lifesjourneyproductions.com/welcome

@mrg198 the codecs available for each model reflect the options on the devices themselves. So on the 4K Pro, from the device itself you cannot select between h.264 and h.265, the option is for H.264/5, and this is reflected in the companion settings.
My understanding is that, in this mode, the deck will automatically use h.264 for HD signals and h.265 for 4K signals; so you can't, for instance, force it to h.265 for HD or h.264 for 4K.

Understood. My point was that in the dropdown list for the 4K Pro the other codecs for high, low, SDI are listed as ‘H.264/H.265 ….’ But the medium one is only showing H.264 Medium and not H.264/H.265 Medium
Michael
From: Stephen Harrison @.>
Sent: 11 February 2022 12:33
To: bitfocus/companion-module-bmd-hyperdeck @.>
Cc: Michael George @.>; Mention @.>
Subject: Re: [bitfocus/companion-module-bmd-hyperdeck] Support for New Hyperdecks (#54)
@mrg198https://github.com/mrg198 the codecs available for each model reflect the options on the devices themselves. So on the 4K Pro, from the device itself you cannot select between h.264 and h.265, the option is for H.264/5, and this is reflected in the companion settings.
My understanding is that, in this mode, the deck will automatically use h.264 for HD signals and h.265 for 4K signals; so you can't, for instance, force it to h.265 for HD or h.264 for 4K.
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-bmd-hyperdeck/issues/54#issuecomment-1036166856, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVSRO7D3FCM62I2OBXBIBC3U2T6W5ANCNFSM5DO6WYBQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Ah, sorry, I misunderstood.
Thanks for spotting this, the label has been corrected now.


service tags could show problem identifier instead of version

Or: why not both? (in service#index)

+1


Added a limit value for scanning.

This provides a way to expose a more fine grained measure of scan progress. For example, by scanning in batches of 100 blocks, rather than everything that is pending.
Note: an alternative approach would be to not have 2 functions. I think I'm okay with the breaking changes that it would cause.

@str4d can this be merged? It seems like the errors are related to the param files (for macOS-latest) and json formatting (for Code coverage) and unrelated to the code changes in the PR.
I ask because I'm trying to set Linda up on the demo apps and she is getting build errors from not having this code.


[$500][Simplified Collect][Tags] Implement DeleteWorkspaceTags

Implement this section of the Simplified Collect: Tags design doc
cc @waterim
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0155b70726d736408f
Upwork Job ID:<PHONE_NUMBER>869534720
Last Price Increase: 2024-02-27

Hello, Im Artem from Callstack and would like to take this one

Still on hold for the main page

PR was merged so I'm taking this off hold!

Are we good to apply Help Wanted on this now @luacmartins ?

@MitchExpensify we'll keep this assigned to @waterim for now

@waterim Seeing as we're off hold, what are our next steps here?

@waterim I've asked @allroundexperts to get started on implementing the delete functionality while you finish settings and edit pages. Hope that's ok!

Draft PR created https://github.com/Expensify/App/pull/38453
This has some conflicts because the PR it is based from has conflicts as well.
I will make it it ready for review once the base PR gets merged.

Okay. I was mistaken. The main branch already had the tag setting page created. As such, the PR is ready for review.

Reminder set to pay.
Payment summary:
C+ $500 @allroundexperts (NewDot)

$500 approved for @allroundexperts

Can do, Payment job here https://www.upwork.com/jobs/~011908d15db493b1bf @Ollyws

Done!


Simpler koa integration

I think the current example is alright since it shows a unique usage that might not be immediately obvious. Maybe the examples directory could show some variations.


Support request handlers returning objects

Currently there is a discrepancy between how OpenAPI Documentation can be generated automatically for input models, and output models.
Input models can be derived by request handler function signature, but since BlackSheep now requires request handlers to return instances of Response class, output contracts cannot be derived easily.
BlackSheep should support request handlers defined to return objects of different kind, or for example use an higher level Response[T] class, enabling automatic generation of OpenAPI Documentation for response objects.

A first implementation has been done, to support return types different than Response, defaulting to responses with JSON payload (most likely the most common scenario today). This has the extra benefit to enable automatic generation of OpenAPI Documentation when request handlers are annotated with a return type.


[Nuget.Server] FindPackagesById() not returning pre-release packages

I am trying to query the nuget server using the FindPackagesById() web method. But it is not returning the pre-release versions of the package. I am sure that there's a way to have it return pre-release packages. Any help would be appreciated.
The example below is how I am running the search
http://localhost/nuget/FindPackagesById()?id='NugetTestApp1'

The problem was that in order for the pre-release packages to be returned we have to add &semVerLevel=2.0.0 to the query string.
http://localhost/nuget/FindPackagesById()?id='NugetTestApp1'&semVerLevel=2.0.0


SSL Error when connecting on Linux/Mac using Openssl 1.1.1

When attempting to connect to a mysql database, the following error occurs:
import mysql.connector
con = mysql.connector.connect(user='u', password='p', host='xxx', database='test')

---------------------------------------------------------------------------
MySQLInterfaceError                       Traceback (most recent call last)
~/miniconda2/envs/envx/lib/python3.7/site-packages/mysql/connector/connection_cext.py in _open_connection(self)
    199         try:
--> 200             self._cmysql.connect(**cnx_kwargs)
    201         except MySQLInterfaceError as exc:

MySQLInterfaceError: SSL connection error: SSL_CTX_set_tmp_dh failed

During handling of the above exception, another exception occurred:

InterfaceError                            Traceback (most recent call last)
<ipython-input-51-7862165d0a38> in <module>
      1 import mysql.connector
      2
----> 3 con = mysql.connector.connect(user='u', password='p', host='xxx', database='test')

~/miniconda2/envs/envx/lib/python3.7/site-packages/mysql/connector/__init__.py in connect(*args, **kwargs)
    170
    171     if HAVE_CEXT and not use_pure:
--> 172         return CMySQLConnection(*args, **kwargs)
    173     return MySQLConnection(*args, **kwargs)
    174 Connect = connect  # pylint: disable=C0103

~/miniconda2/envs/envx/lib/python3.7/site-packages/mysql/connector/connection_cext.py in __init__(self, **kwargs)
     78
     79         if kwargs:
---> 80             self.connect(**kwargs)
     81
     82     def _add_default_conn_attrs(self):

~/miniconda2/envs/envx/lib/python3.7/site-packages/mysql/connector/abstracts.py in connect(self, **kwargs)
    778
    779         self.disconnect()
--> 780         self._open_connection()
    781         self._post_connection()
    782

~/miniconda2/envs/envx/lib/python3.7/site-packages/mysql/connector/connection_cext.py in _open_connection(self)
    201         except MySQLInterfaceError as exc:
    202             raise errors.get_mysql_exception(msg=exc.msg, errno=exc.errno,
--> 203                                              sqlstate=exc.sqlstate)
    204         self._do_handshake()
    205

InterfaceError: 2026 (HY000): SSL connection error: SSL_CTX_set_tmp_dh failed

An issue was raised in February 2019 on anaconda-issues (https://github.com/ContinuumIO/anaconda-issues/issues/10646) describing this problem, but there has been little in the way of a solution other than to (1) downgrade Openssl to 1.0.2, which support ended for as of the end of 2019, or (2), using the pure python implementation, which has major performance impacts vs the C-based backend.
The same error occurs if you attempt to use mysqlclient and connect in a similar way. I am able to reproduce this error with both MacOS and Linux using the packages built by Anaconda in the defaults channel as well as conda-forge. I have not seen any similar reports of this issue outside of conda, so I'm assuming pip-installing with a system openssl works, given that openssl 1.1.1 is widely used. I tested Windows and it works fine, but openssl is not required according to the feedstock recipes.
Pertinent results of conda list:
mysql-connector-c         6.1.11               hccea1a4_0
mysql-connector-python    8.0.18           py37h3febbb0_1
mysqlclient               1.4.6            py37h0a44026_0
openssl                   1.1.1d               h1de35cc_3
python                    3.7.6                h359304d_2

The fact that both mysqlclient and mysql-connector-python fail in the same way, made me think that maybe the issue is with the underlying mysql-connector-c feedstock (https://github.com/conda-forge/mysql-connector-c-feedstock), but I cobbled together a small C-based client and that seems to work just fine, except that setting the MYSQL_OPT_SSL_MODE seems to fail, which makes me suspicious that it didn't actually use ssl as intended.
// This is test.c

#include <stdio.h>
#include <mysql.h>

void finish_with_error(MYSQL *con)
{
  fprintf(stderr, "%s\n", mysql_error(con));
  mysql_close(con);
  exit(1);
}

int main(int argc, char **argv)
{
  MYSQL *con = mysql_init(NULL);

  if (con == NULL)
  {
      fprintf(stderr, "mysql_init() failed\n");
      exit(1);
  }

  unsigned int ssl_mode_num = 3;
  if(mysql_options(con, MYSQL_OPT_SSL_MODE, &ssl_mode_num))
      fprintf(stderr, "mysql_options() failed\n");

  if (mysql_real_connect(con, "x", "u", "p",
          "test", 0, NULL, 0) == NULL)
  {
      finish_with_error(con);
  }

  if (mysql_query(con, "SELECT * FROM foo"))
  {
      finish_with_error(con);
  }

  MYSQL_RES *result = mysql_store_result(con);

  if (result == NULL)
  {
      finish_with_error(con);
  }

  int num_fields = mysql_num_fields(result);

  MYSQL_ROW row;

  while ((row = mysql_fetch_row(result)))
  {
      for(int i = 0; i < num_fields; i++)
      {
          printf("%s ", row[i] ? row[i] : "NULL");
      }
          printf("\n");
  }

  mysql_free_result(result);
  mysql_close(con);

  exit(0);
}

and then it's compiled and run like:
gcc test.c -I/Users/zzz/miniconda2/envs/envx/include -L/Users/zzz/miniconda2/envs/envx/lib -lmysqlclient -o test
./test

CC// maintainers of relevant feedstocks at conda-forge and Anaconda, including those who have made recent commits to the feedstocks: @druvus, @nehaljwani, @halldc, @jjhelmus, @conda-forge/help-python-c

I'm now convinced the problem is in the mysql-connector-c feedstock. To reproduce, here is a more condensed C program that has a command line option to require or disable SSL:
#include <stdio.h>
#include <mysql.h>

int main(int argc, const char **argv)
{
    MYSQL *MySQLConRet;
    MYSQL *MySQLConnection = NULL;

    MySQLConnection = mysql_init(NULL);
    int sslmode = atoi(argv[1]);  // SSL_MODE_DISABLED=1, SSL_MODE_REQUIRED=3
    unsigned int sslmode_set = 0;

    if(mysql_options(MySQLConnection, MYSQL_OPT_SSL_MODE, &sslmode))
        printf("ssl_mode value not set");

    MySQLConRet = mysql_real_connect(MySQLConnection, "<IP_ADDRESS>", "admin", "pass", "testdb", 0, NULL, 0);

    if (MySQLConRet != NULL) {
        mysql_get_option(MySQLConnection, MYSQL_OPT_SSL_MODE, &sslmode_set);
        printf("ssl mode: %d\n", sslmode_set);
        printf("MySQL Connection Info: %s \n", mysql_get_host_info(MySQLConnection));
        printf("MySQL Client Info: %s \n", mysql_get_client_info());
        printf("MySQL Server Info: %s \n", mysql_get_server_info(MySQLConnection));
    } else{
        printf("%s", (char *)mysql_error(MySQLConnection));
    }

    return 0;
}

Create a conda env:
conda create -n mysql_openssl1.1.1 mysql-connector-c openssl=1.1.1 --override-channels -c conda-forge
...
conda activate mysql_openssl1.1.1

Compile the C code:
gcc test.c -I/Users/zzz/miniconda2/envs/mysql_openssl1.1.1/include -L/Users/zzz/miniconda2/envs/mysql_openssl1.1.2/lib -lmysqlclient -Wall -o rtest-1.1.1

I had to explicitly set the DYLD_LIBRARY_PATH for some reason on my MacOS laptop where I'm running these tests: export DYLD_LIBRARY_PATH=/Users/zzz/miniconda2/envs/mysql_openssl1.1.1/lib
and then running the code first with openssl disabled:
./rtest-1.1.1 1

prints:
ssl mode: 1
MySQL Connection Info: <IP_ADDRESS> via TCP/IP
MySQL Client Info: 6.1.11
MySQL Server Info: 8.0.18-0ubuntu<IP_ADDRESS>

If I require an ssl connection, I get the same error as was returned by the mysql-connector-python client:
./rtest-1.1.1 3

prints SSL connection error: SSL_CTX_set_tmp_dh failed.
Now if I create a new environment based on openssl 1.0.2, everything works as expected:
conda create -n mysql_openssl1.0.2 mysql-connector-c openssl=1.0.2 --override-channels -c conda-forge
...
conda activate mysql_openssl1.0.2
export DYLD_LIBRARY_PATH=/Users/zzz/miniconda2/envs/mysql_openssl1.0.2/lib

and recompile the C-code:
gcc test.c -I/Users/zzz/miniconda2/envs/mysql_openssl1.0.2/include -L/Users/zzz/miniconda2/envs/mysql_openssl1.0.2/lib -lmysqlclient -Wall -o rtest-1.0.2

and then run it first with ssl disabled, ./rtest-1.0.2 1, the program prints:
ssl mode: 1
MySQL Connection Info: <IP_ADDRESS> via TCP/IP
MySQL Client Info: 6.1.11
MySQL Server Info: 8.0.18-0ubuntu<IP_ADDRESS>

and then with ssl required: ./rtest-1.0.2 3 prints:
ssl mode: 3
MySQL Connection Info: <IP_ADDRESS> via TCP/IP
MySQL Client Info: 6.1.11
MySQL Server Info: 8.0.18-0ubuntu<IP_ADDRESS>

I have a hunch about what might fix this issue and put in a PR in https://github.com/conda-forge/mysql-connector-c-feedstock/pull/9
If that does in fact fix the issue, would the upstream libraries (this and mysqlclient) need to be rebuilt since they have C-extensions that use mysql-connector-c?

Blocked on https://github.com/conda-forge/mysql-feedstock/issues/6#issuecomment-623760618
mysql-connector-c is obsolete now. We need libmysqlclient.so from mysql itself.

closed by https://github.com/conda-forge/mysql-connector-c-feedstock/pull/10


refactor: replace client side batched events by parametrizing batch_size and batch_interval

This is for replacing client side batched events by parametrizing batch_size and batch_interval
https://github.com/kytos-ng/mef_eline/blob/master/main.py#L744-L760
So, now clients can simply send the entire flow list and set batch_size and batch_interval accordingly to batch the flows.
This depends on https://github.com/kytos-ng/flow_manager/pull/172 landing

This will implemented with rate limiting on producer side once it's available https://github.com/kytos-ng/kytos/pull/412


Bulk sending messages in single API call

It would be good to send multiple messages to the API in a single HTTP request. The current send/message and send/raw methods are designed for sending a single method.
A new method (or methods) will be needed for this purpose.
In theory, the API should simply accept an array of hashes containing the params that would normally be passed to the send/message or send/raw methods. It should then go through this array and compile a result hash that is the same format of that in the single messages above.

Could the code I submitted be used as basis, removing the to parameter, and give it a different API endpoint?
In my opinion it should be possible to define global parameters (e.g. subject, from, html body), which can be appended/overwritten with per-recipient parameters.


A brief list of things that bother me about using sway.

No way to swap keys... I had super and capslock swapped, so when i push the traditional capslock, it would do super, nad when i do the traditional super, it'd enable capslock.

No borders (obviously being fixed)

In resize mode, it acts as though there is no keyboard repeat.

Chromium & mousepad (probably applies to other X.org things) stops working after a bit, sometimes vanishes after you use it for a bit, and vanishes if you switch workspaces occasionally.

No system tray icons.

No way to edit the repeat rate.

When these things are fixed i'm switching fulltime, I looked around and didn't see anything about any of these. Although I should probably make seperate issues for them.

No way to swap keys... I had super and capslock swapped, so when i push the traditional capslock, it would do super, nad when i do the traditional super, it'd enable capslock.

Not true, look into configuring your xkb settings properly.

No borders (obviously being fixed)

Yep.

In resize mode, it acts as though there is no keyboard repeat.

https://github.com/Cloudef/wlc/pull/107

Chromium & mousepad (probably applies to other X.org things) stops working after a bit, sometimes vanishes after you use it for a bit, and vanishes if you switch workspaces occasionally.

Report as a separate bug.

No system tray icons.

Will be fixed, have patience.

No way to edit the repeat rate.

Bring it up with wlc.

No way to edit the repeat rate.

I haven't tried myself, but wlc has WLC_REPEAT_RATE see readme.


change name of compiled executable

description
It's currently set to craptography-exe but I'd like to be able to set it to something different.
https://github.com/aaaaargZombies/craptography/blob/main//README.md?plan=1#L35-L35
There's a reference to it here
https://github.com/aaaaargZombies/craptography/blob/main//craptography.cabal?plan=1#L40-L40
But this seems to be overwritten by stack build

closing as wont fix, it's kind of annoying but I name the binaries in the release anyway and it's not really a problem for this program specifically.


Back-end loses connection with Azure SignalR-service

Describe the bug
In the last couple of days we experience a high amount of calls (send from our SignalR application) not ending up at our SignalR clients. The methods on the client never seem to get invoked even though the WS connection state is "Connected".
After having enabled more detailed logging we seem to understand a bit more about what is going on. Our (JS) clients seem to keep their websocket connection with the Azure SignalR-service but the connection between our back-end and the Azure SignalR-service itself drops or stalls.
SignalR JS-client <---WS---> Azure SignalR-service <---X---> .NET Core 3.1.* back-end
At some point the connection seems to restore itself only to disconnect later again. Could it be that when we run the following line in our back-end from instance "one":
await this.context.Group("FooGroup").SendAsync("AddOrder", someObject)
This might not arrive at the clients in group "FooGroup" when instance "one" has lost connection with the Azure SignalR-service? See the log below. This has serious impact in our trust of messages being delivered.
Log entries
The following log has been created on our SignalR application.
Note that use auto-scaling on our Azure App-instances and we might vary between 1 and 15 instances. Here are some lines from our logs. This is one of our instances, I noticed the same errors also in the log of the other instances around the exact same times. A couple out of the ~15 instances had no issues.
[ERROR] Microsoft.Azure.SignalR.ServiceConnection|Connection to '(Primary)https://xxx.service.signalr.net' was dropped, probably caused by network instability or service restart. Will try to reconnect after the back off period. Error detail: e686e9b2-87ec-4c6d-af29-be4b904178b7. Id: The remote party closed the WebSocket connection without completing the close handshake.. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond..
This happend at 2020-10-30 15:00:23.9607
[ERROR] Microsoft.Azure.SignalR.ServiceConnection|Service timeout. 30000.00ms elapsed without receiving a message from service. Id: 72bf96e6-4ee6-4b48-bc2c-850a76b11a68
This happend at 2020-10-30 15:00:25.5991.
It happend again ~20 minutes later:
[ERROR] Microsoft.Azure.SignalR.ServiceConnection|Connection to '(Primary)https://xxx.service.signalr.net' was dropped, probably caused by network instability or service restart. Will try to reconnect after the back off period. Error detail: 2bbcb979-c84e-4f26-8bf7-6a766e9131d4. Id: The remote party closed the WebSocket connection without completing the close handshake.. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond..
[ERROR] Microsoft.Azure.SignalR.ServiceConnection|Service timeout. 30000.00ms elapsed without receiving a message from service. Id: 291a6a6f-2ff3-4d41-b741-684737326233 |url: |action:
Further technical details

Azure SignalR SDK version: 1.6.0
Your Server ASPNETCORE version or Assembly version of Microsoft.AspNetCore.SignalR: 3.1.9 (SDK .NET Core is 3.1.401)
Your SignalR Client SDK version: 3.1.9 (JavaScript @microsoft/signalr)

This might not arrive at the clients in group "FooGroup" when instance "one" has lost connection with the Azure SignalR-service?

Yes, it is possible. await this.context.Group("FooGroup").SendAsync("AddOrder", someObject) should throw if it fails to send out. You can catch and retry when it throws. Do you see error logs containing ServiceConnectionNotActiveException?

Microsoft.Azure.SignalR.ServiceConnection|Connection to '(Primary)https://xxx.service.signalr.net' was dropped, probably caused by network instability or service restart

As stated here, server connections may experience network connectivity issues, or, on a regular basis there are new version releases for the Azure SignalR Service, and sometimes the Azure wide OS patching or upgrades or occasionally interruption from our dependent services. The server connections have Always Reconnect strategy so that it can recover as soon as possible.

Feel free to reopen the issue if there are any updates.