Envkey v2 cannot start after deleting user

Hi Dane, I'm currently using a self-hosting Envkey v2. Recently, I deleted some user that is not belong to our organization, then the envkey client got stuck and cannot start. I tried to reload and force reload and the issue is still happen. It look like there might be something wrong with the database but I cannot manage to check
Here is the log from client

I managed to fix this by doing the following steps:

Uninstall and install envkey v2 again (to clear all cache)
After reinstalling, the issue still happen then I use the envkey cli to sign inenvkey.exe sign-in then re-open the client app - it works :)
For windows users, you can fine the CLI at C:\Users<username>\AppData\Local\Programs\envkey\resources\app\bin\windows

Hi @trungklam, glad to hear you got this resolved. We're investigating the underlying issue. What version of EnvKey Community OSS API are you running on the server?

Hi @trungklam, glad to hear you got this resolved. We're investigating the underlying issue. What version of EnvKey Community OSS API are you running on the server?

Hi @danenania , I'm using 2.3.1 for the OSS API , client GUI and CLI are latest.
Also, does the client GUI support the envkey sign-in somewhere ? I couldnt find it from UI so when log-out I have to use CLI to login back. It's not actually an issue but I think it can be more intuitive if I can re-login from UI


What's new in 2.0?

Hey - I noticed that 2.0.0 was release a few days ago. Nice work!
Does 2.0 change/break anything, or is it just updating to RxJava 2.0? If so, I think it would be useful to have a section in the readme which briefly summarizes the changes.

There's a change log which does this: https://github.com/square/sqlbrite/blob/master/CHANGELOG.md#version-200-2017-07-07
Do you have specific questions?

Change log works for me. Thanks.


fix(dateparser): Throw on invalid date format string.

This PR replaces #3544.  The dateParser will throw an exception for an invalid format string as suggested.

There is the question whether it is desirable to throw - Angular has a philosophy of allowing some failures to be silent, such as an Angular expression that fails to execute since the function is undefined.
Thoughts?

As a consumer of angular libraries, I have found that I expect my invalid input to fail silently, and if something is not behaving as expected I watch my own code.
I expect warnings if I'm using something that is deprecated, errors if something fails catastrophically in the architecture of my app, and that's about it.
If user input is invalid, I think that should fail silently unless the developer has set up form validation.

Since the format string will be set most of the time by the developer, I think a fatal error is appropriate. If this turns out to be a problem for someone, a configuration option could be added.
Angular's silence on errors is sometimes a real brain teaser, it'd be good not to take this further.

I will clean up the formatting in my PR and resubmit in the next day or so.
---- Rouven Weßling wrote ----

Since the format string will be set most of the time by the developer, I think a fatal error is appropriate. If this turns out to be a problem for someone, a configuration option could be added.
Angular's silence on errors is sometimes a real brain teaser, it'd be good not to take this further.
—
Reply to this email directly or view it on GitHub.￼

Please close in favor of #3690.

As requested.

Please consider #3691 as a replacement for this PR.


Update alpha-ess to 2.0.2

Please update my adapter ioBroker.alpha-ess to version 2.0.2.
This pull request was created by https://www.iobroker.dev c0726ff.

2.0.2 created 12.01.2024
15 user
OK


Added an example script for writing a brainvision file using fieldtrip functions

as requested by @jasmainak in Issue #41 in mne-tools/mne-bids

Thanks @dorahermes !


is this library still maintained? any better alternative?

I made a branch of this stream: https://github.com/ghostplant/webshell, fixing many encoding and resize align issues


[ApolloPagination] Rename classes, make GraphQLQueryPager a publisher

This pull request aims to do the following:

Rename GraphQLQueryPager and AsyncGraphQLQueryPager to GraphQLQueryPagerCoordinator and AsyncGraphQLQueryPagerCoordinator. These classes have been marked internal.
Rename AnyGraphQLQueryPager to GraphQLQueryPager. Similarly, AnyAsyncGraphQLQueryPager has been renamed to AsyncGraphQLQueryPager.
Both GraphQLQueryPager and AsyncGraphQLQueryPager now conform to Combine.Publisher. They do so by forwarding their existing publishers.
Convenience initializers have been routed to GraphQLQueryPager and AsyncGraphQLQueryPager. They're set up such that if no transform is provided, the output is Result<(PaginationOutput<InitialQuery, PaginatedQuery>, UpdateSource), Error>.
PaginationOutput's updateSource variable has been marked internal-only in the hopes that it reduces confusion, as the transform-less case would then include the updateSource both at the top-level and within the PaginationOutput.
The eraseToAnyPager(...) functions have been moved to the test suite.

cc: @calvincestari – I've not delved too deeply into creating custom publishers. At present, i just have them forwarding their internal publisher. Would love to grab some early eyes on that as a gut check. If that's sufficient – great!

@AnthonyMDev not within scope of this PR, but what do you think about potentially performing a fetch on behalf of users who attempt to loadPrevious/loadMore without having previously loaded a first page? Currently, we throw an error – but perhaps we can detect that misuse, have an assertionFailure, but otherwise carry on?

@AnthonyMDev not within scope of this PR, but what do you think about potentially performing a fetch on behalf of users who attempt to loadPrevious/loadMore without having previously loaded a first page? Currently, we throw an error – but perhaps we can detect that misuse, have an assertionFailure, but otherwise carry on?

I'm not opposed to that. Agree that it sounds like something for a next PR though.


Remove usage of internal rxjava classes

BasicRxJavaSample and BasicRxJavaSampleKotlin use io.reactivex.internal.operators.completable.CompletableFromAction from rxjavas internal package, this uses  Completable.fromAction from the public API instead.

I signed it!

killed the parens


feat: easier API for tests involving HttpClient

Like recent discussions on tests involving the router, we could consider whether we could create an easier testing API for HttpClient.
https://angular.io/guide/http#testing-http-requests

https://netbasal.gitbook.io/spectator/services/data-services

I completely missed that. My apologies 😅 I may revisit this and see how it stacks up when compared against the vanilla Angular test examples.


Roadmap

Microsoft/TypeScript Wiki is reference. Their usage is amazing.
1. primer
↓
2. Material Design Lite

Ref: https://github.com/sotayamashita/bdash/issues/27


Remove tasks

Summary
Now that #1464 we are going to be able to remove tasks from our gateway thinking in that we are going to be able to use the admin panel to populate the needed data.

One question
How or where do we keep the provider and permission settings information?  It is in the values.yaml file but it will be removed, right?

How or where do we keep the provider and permission settings information? It is in the values.yaml file but it will be removed, right?

It continues being in the database. These tasks were just to populate the database because we didn't any end-point or UI where we could setup providers and permissions.

I'm thinking about "disaster recovery".  Can we assume that we never need to recover the data in the database?

I'm thinking about "disaster recovery". Can we assume that we never need to recover the data in the database?

We should be prepared for any problem but we have configured in the databases security copies and so on every day or every X hours, I don't remember right now.


WIP: Feat: Reusable Table Toolbar Component

Resolves #1067
Resolves #1068
Resolves #1069
Resolves #1042
Resolves #1021
Resolves #992
Proposed Changes

There is now one TableToolbar that renders the appropriate subcomponents (search, display toggles, dropdowns) based on the props it receives. It is also possible to bypass these standard subcomponents altogether by using the toolbarChildren props to pass any custom element or node to the corresponding column.
Deleted old toolbars and tests
Added new unit test
Added story (Note: I still can't get styles to load for GMSelect.js and Button.js in storybook)

How to Test

run npm start and verify the toolbars render and function as expected in the following areas:

Fabric Main View
Fabric Status Views (Stable, Warning, Down)
Service View
Go -> Functions & Routes
JVM -> Routes
Note: ThreadsTable was not touched, as it needs to be further refactored (see #610)

Type something into any toolbar search input and hit enter. Verify that the page does not hard refresh.
run npm test and verify TableToolbar tests pass
run npm run storybook and verify TableToolbar story renders

Confirms search and sort functions work and storybook runs.  Fails settingsgrid.test.js.  Please see other comments

@spmcbride1201 Addressed the following issues:

Fabric Status Views, when List and Status is selected, the list does not render properly
Fixed magically when I merged latest master, and now I can't recreate the problem. Let me know if it persists for you.
On JVM Threads, The toolbar isn’t centered any longer.
Fixed by updating the CSS for ToolbarCenter and getting rid of the weird div selector
Created a GMSelectValueRenderer stateless functional component
Updated all sort and group by options to be class properties. I needed to be able to access them in the instance itself, and to do that I would need to use FabricGrid.sortByOptions instead of this.sortByOptions, which felt weird to me, but maybe it's fine? See this issue. Anyways, that's why I dropped the static
Updated snapshots

As for storybook, yeah, the dropdowns look weird because it's not importing the css file in GMSelect.js.


five elements - generative cycle

wood  - mutable data
fire     - runtime
earth  - immutable data
metal  - language spec
water  - string


EspHttpWsDetachedSender::send() can fail in CondVar::notify_all() due a race condition and dereference a null pointer at the condition variable

I have a http server running on my ESP32 with a websocket endpoint created with ws_handler() which stores the result of ws_connection.create_detached_sender() in my app state to be able to regularly send some data with this
detached_sender.send(FrameType::Text(false), data.as_bytes())

Sometimes it fails with:
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4008436f  PS      : 0x00060d30  A0      : 0x800844f0  A1      : 0x3ffe2200
A2      : 0x00000000  A3      : 0xffffffff  A4      : 0x00000004  A5      : 0x3ffdc98c
A6      : 0x00000001  A7      : 0xb33fffff  A8      : 0x00000000  A9      : 0x00000000
A10     : 0x00000001  A11     : 0x00000000  A12     : 0x8008d27e  A13     : 0x3ffd3430
A14     : 0x00000003  A15     : 0x00060023  SAR     : 0x00000013  EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff

Backtrace: 0x4008436c:0x3ffe2200 0x400844ed:0x3ffe2230 0x4014f525:0x3ffe2250 0x40135dd3:0x3ffe2270 0x4017bbf1:0x3ffe2290 0x4017c3c2:0x3ffe22d0 0x4017c4a2:0x3ffe2320 0x4008cf95:0x3ffe2340

0x4008436c: lock_acquire_generic at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/newlib/locks.c:111
0x400844ed: _lock_acquire_recursive at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/newlib/locks.c:158
0x4014f525: pthread_cond_broadcast at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/pthread/pthread_cond_var.c:82
0x40135dd3: esp_idf_svc::private::mutex::RawCondvar::notify_all at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.47.3/src/private/mutex.rs:107
 (inlined by) <esp_idf_svc::private::mutex::RawCondvar as embedded_svc::utils::mutex::RawCondvar>::notify_all at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.47.3/src/private/mutex.rs:148
 (inlined by) embedded_svc::utils::mutex::Condvar<V>::notify_all at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-svc-0.26.4/src/utils/mutex.rs:176
 (inlined by) esp_idf_svc::http::server::ws::EspHttpWsDetachedSender::enqueue at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.47.3/src/http/server.rs:1250
0x4017bbf1: httpd_process_ctrl_msg at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/esp_http_server/src/httpd_main.c:224 (discriminator 9)
0x4017c3c2: httpd_server at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/esp_http_server/src/httpd_main.c:292 (discriminator 9)
0x4017c4a2: httpd_thread at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/esp_http_server/src/httpd_main.c:327 (discriminator 15)
0x4008cf95: vPortTaskWrapper at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162

The code at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/newlib/locks.c:111
111: static int IRAM_ATTR lock_acquire_generic(_lock_t *lock, uint32_t delay, uint8_t mutex_type) {
112:    SemaphoreHandle_t h = (SemaphoreHandle_t)(*lock);

The resulting coredump provides the following information
backtrace full
#0  lock_acquire_generic (lock=0x0, delay=4294967295, mutex_type=4 '\004') at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/newlib/locks.c:112
        h = <optimized out>
        __func__ = "lock_acquire_generic"
        success = <optimized out>
#1  0x400844f0 in _lock_acquire_recursive (lock=0x0) at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/newlib/locks.c:158
No locals.
#2  0x4014f528 in pthread_cond_broadcast (cv=0x3ffd3304) at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/pthread/pthread_cond_var.c:82
        res = 0
        cond = 0x0
        entry = <optimized out>
#3  0x40135dd6 in esp_idf_svc::private::mutex::RawCondvar::notify_all (self=0x0) at src/private/mutex.rs:107
        r = <optimized out>
        left_val = <optimized out>
        right_val = <optimized out>
        kind = <optimized out>
#4  esp_idf_svc::private::mutex::{impl#10}::notify_all (self=0x0) at src/private/mutex.rs:148
No locals.
#5  embedded_svc::utils::mutex::Condvar<esp_idf_svc::private::mutex::RawCondvar>::notify_all<esp_idf_svc::private::mutex::RawCondvar> (self=0x0) at /home/esp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embedded-svc-0.26.4/src/utils/mutex.rs:176
No locals.
#6  esp_idf_svc::http::server::ws::EspHttpWsDetachedSender::enqueue (arg=0x3ffd32e8) at src/http/server.rs:1250
        ret = 0
        request = 0x3ffd32e8
#7  0x4017bbf4 in httpd_process_ctrl_msg (hd=<optimized out>) at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/esp_http_server/src/httpd_main.c:224
        msg = {hc_msg = HTTPD_CTRL_WORK, hc_work = 0x40135d90 <esp_idf_svc::http::server::ws::EspHttpWsDetachedSender::enqueue>, hc_work_arg = 0x3ffd32e8}
        ret = <optimized out>
        __func__ = "httpd_process_ctrl_msg"
#8  0x4017c3c5 in httpd_server (hd=0x3ffde298) at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/esp_http_server/src/httpd_main.c:292
        read_set = {__fds_bits = {0, 16777216}}
        tmp_max_fd = 58
        maxfd = <optimized out>
        __func__ = "httpd_server"
        active_cnt = <optimized out>
        context = {fdset = 0x3ffe22e0, hd = 0x3ffde298}
#9  0x4017c4a5 in httpd_thread (arg=0x3ffde298) at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/esp_http_server/src/httpd_main.c:327
        ret = <optimized out>
        hd = 0x3ffde298
        __func__ = "httpd_thread"
#10 0x4008cf98 in vPortTaskWrapper (pxCode=0x4017c47c <httpd_thread>, pvParameters=0x3ffde298) at /builds/rust-project/.embuild/espressif/esp-idf/v5.1.2/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162
        pcTaskName = <optimized out>

What I noticed is that the CondVar seems to be always 0x0 once it crashes, leading to pthread_cond_broadcast() be feed with a pointer to a 0x0 ending with lock_acquire_generic() dereferencing a 0x0 (and LoadProhibited).
I still try to create a minimal example showing this behavior but was not yet able to reproduce the error but this often happens only after a few hours or a day in my real project. I have two threads reading and writing from two UARTs and several other threads doing other things providing data to a central component which sends data via this detached sender. Not sure how these other threads could interfere.
The EspHttpWsDetachedSender::send() function seems to create and drop the CondVar which EspHttpWsDetachedSender::enqueue() uses in the httpd_thread in between so it should not be invalid.
I don't understand why there can be a dereference of 0x0 but to me it looks like there is a bug lurking somewhere in esp-idf-svc.

I created a minimum example where I don't need to change too much of the original esp-idf-svc code.
The minimum example can be found here: https://github.com/mike1703/rust-esp-debug/blob/main/src/main.rs
I tried to make the error reproducible much quicker than the original esp-idf-svc failed and I achieved the same error way quicker with this little change: https://github.com/esp-rs/esp-idf-svc/compare/master...mike1703:esp-idf-svc:master
This adds logging when the Condvar::notify_all() call is made and probably it just increases the time spent before actually going into the notify_all() function (and dereferencing the raw pointer) and probably the main thread somehow deinitialized the pointer contained in the Condvar.
I still don't see exactly how this is failing but I hope this example is enough to give someone else the chance to see this error.
With the logging active the error can be reproduced very easily in ~30-60 seconds on my ESP32 after connecting with $ /usr/bin/python -m websockets ws://<esp_hostname>/data.
Without the added logging it can take hours or a day to be "lucky" and reproduce this issue. My actual appliance runs into the issue 2-4 times a day. Sometimes more often, sometimes less.

Hmm, it could very unlucky timing in this code section as follows
This initializes the error_code (Mutex) with None which is kept in this function and also passed into the httpd thread:
https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1208
This sets the error_code to Some(ret) in enqueue() to signal that the function is ready and will notify_all() next.
https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1249
And here a very unlucky timing can cause the guard to contain Some (is_none() != true) from the enqueue function, causing it to fall out of the while() loop, not condvar.wait(guard) anymore and finally drop everything including error_code and condvar
https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1220-L1223
causing this notify_all() to fail https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1250-L1250
Usually rust should protect from such issues but here unsafe is used with a pointer to the datastructure so there is no actual borrowing rules etc. It is unsafe as rust had to be told.
https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1212-L1216
More protection is needed to not drop the send_request datastructure var to soon.

I did some additional debugging and included a check to see if the while loop here was executed at least once: https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1220-L1225
let mut check = false;
[...]
 while guard.is_none() {
     guard = send_request.condvar.wait(guard);
+    check = true;
 }

and check if this is false (this should never be the case!)
https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1226-L1232
         return Err(EspError::from_infallible::<ESP_FAIL>());
     }

+    if !check {
+        info!("check = {check}");
+    }
     Ok(())
 }

and I get a lot of check = false output. Here is some actual output from my test with this code
I (31500) esp_idf_svc::private::mutex: notify_all()
I (31500) esp_idf_svc::http::server::ws: check = false
I (31510) esp_idf_svc::private::mutex: notify_all()
I (31520) esp_idf_svc::private::mutex: notify_all()
I (31520) esp_idf_svc::private::mutex: notify_all()
I (31530) esp_idf_svc::private::mutex: notify_all()
I (31530) esp_idf_svc::private::mutex: notify_all()
I (31540) esp_idf_svc::private::mutex: notify_all()
I (31550) esp_idf_svc::private::mutex: notify_all()
I (31550) esp_idf_svc::http::server::ws: check = false
I (31560) esp_idf_svc::private::mutex: notify_all()
I (31560) esp_idf_svc::private::mutex: notify_all()

Now it does not crash anymore (during my pretty short tests though), as the httpd thread gains more time to execute the code in https://github.com/esp-rs/esp-idf-svc/blob/6a68206e502238ed30830f88b1f253922dc35bb0/src/http/server.rs#L1250 as this is now valid for the longer time it needs to do all the info logging.
So me assumption was correct that the guard_is_none() check is sometimes true on the first attempt.

@mike1703 Thanks for your detailed analysis! I think the fix is as simple as replacing
*request.error_code.lock() = Some(ret as _);
request.condvar.notify_all();

with
let guard = request.error_code.lock();

*guard = Some(ret as _);

request.condvar.notify_all();

Can you try it out? I'll commit it shortly as well, as I'm relatively sure it would address the problem.

Let's wait for a couple of hours or days if necessary, and once you feel comfortable it works now, you can close this.

This fixed my issue. My device did not crash since yesterday


Calculate and send justifications with blocks (as requested)

Requires https://github.com/polkadot-js/client/issues/109

Contained in and replaced by #141


Create license

Closes #1

I chose Apache 2.0 since it's very permissive, and pretty standard for open source.


feat(website): update screenshots

Couple of things in this PR:

update screenshots on website
update readme screenshots
bug fix I found for link/unlink feature

Can you delete the .DS_Store file?


Singleton Pattern

Hi,
I wanted to implement Singleton Pattern via LiveScript. I made a few changes from this document: https://coffeescript-cookbook.github.io/chapters/design_patterns/singleton
# make a singleton
class ExampleSingleton
  instance = null

  class SingletonClass
    ~>
      console.log 'this is private singleton init!'
      @x = 'foo'

  get-singleton: ->
    instance ?:= new SingletonClass!

test = new ExampleSingleton! .get-singleton!
test2 = new ExampleSingleton! .get-singleton!

console.log 'test: ', test.x
console.log 'test2: ', test2.x

test.x = 'bar'

console.log 'test: ', test.x
console.log 'test2: ', test2.x

What I really wondered is, why I can not define the ExampleSingleton class and use it as follows:
...
class ExampleSingleton
  instance = null

  ~>
    instance ?:= new SingletonClass!

  class SingletonClass
    ~>
      console.log 'this is private singleton init!'
      @x = 'foo'

test = new ExampleSingleton!
...

What does not work? I works for me as expected.
And what's the advantage over a simple object literal?
https://medium.com/javascript-scene/common-misconceptions-about-inheritance-in-javascript-d5d9bab29b0a

I expect both class definitions behave the same way with their own usages. They might work as you expect but what do you expect?
First code outputs:
this is private singleton init!
test: foo
test2: foo
test: bar
test2: bar

This is the only expected singleton pattern output. But second code:
class ExampleSingleton
  instance = null
  ~>
    instance ?:= new SingletonClass!

  class SingletonClass
    ~>
      console.log 'this is private singleton init!'
      @x = 'foo'

test = new ExampleSingleton!
test2 = new ExampleSingleton!

console.log 'test: ', test.x
console.log 'test2: ', test2.x

test.x = 'bar'

console.log 'test: ', test.x
console.log 'test2: ', test2.x

outputs:
test: undefined
test2: undefined
test: bar
test2: undefined

So this is not behaving like a singleton.
#EDIT:
However, this code works as expected (outputs the same output with the first example):
# make a singleton
class ExampleSingleton
  instance = null
  ~>
    instance ?:= new SingletonClass!
    return instance

  class SingletonClass
    ~>
      console.log 'this is private singleton init!'
      @x = 'foo'

test = new ExampleSingleton!
test2 = new ExampleSingleton!

console.log 'test: ', test.x
console.log 'test2: ', test2.x

test.x = 'bar'

console.log 'test: ', test.x
console.log 'test2: ', test2.x

@ceremcem why not use an object literal? That's exactly why they exist.

Constructors are, by default, hushed -- that's by design.

@robotlolita Because simply I don't know JavaScript (and LiveScript) well yet :) Now it's time to port our DCS library to LiveScript and I wrote Actor, ActorBase and ActorManager classes that way, so I simply made an attempt to translate them from Python to LiveScript. That's why. But now I'm looking at object literal and see if it fits my case. Thank you.

@robotlolita By using a singleton class, I can benefit from "extends" facility of the language:
class ActorBase
  ~>
    console.log "this is actor base!"
    @x = 'bar'
    @y = 'baz'

  test: ->
    return @x + @y

# make a singleton
class ActorManager
  instance = null
  ~>
    instance ?:= new SingletonClass!
    return instance

  class SingletonClass extends ActorBase
    ~>
      super ...
      console.log 'this is private singleton init!'
      @x = 'foo'

class Actor extends ActorBase
  ~>
    super ...
    console.log "this is actor!"

test = ActorManager!
console.log test.x, test.y, test.test!

test3 = Actor!
console.log test3.x, test3.test!

test4 = ActorBase!
console.log test4.x, test4.test!


Update java libraries page to use intro shortcode

This PR updates the libraries page for java to use the intro shortcode, which uses common wording across languages and adds some words about out of the box instrumented libraries. I also updated the integrations entry for elastic search api library since it's the one java library that has "native" otel (all other integrations require a 1st party extension)

/fix:refcache

robot sad

/fix:all

/fix:refcache

/fix:all

well poo, I think the 'ole refache fixer doesn't work anymore

/fix:refcache


Server crash with GrowingTrees-1.7.10-0.5.1

From what I can tell googling the crash it's caused from particle spawning being called server side.
Crash File

You are correct.  I've moved the particle spawning code to the client proxy.  Just checking for client side wasn't enough, the function itself cannot exist on the server.   I'll test this when I get home and post an update hopefully tonight.

Fixed in GrowingTrees-1.7.10-0.5.2.jar


Adds a Producer Interceptor example

add some examples for the usage of the new interceptors feature added in https://github.com/Shopify/sarama/pull/1730

@varun06 I don't think we need to push binaries none of the examples are doing that 🤷
binaries can also be easily crated as a go.mod is provided

The situation I met is that I want to put the parent span in the context,  then the Kafka Producer interceptor to create the child span from this context. But It seems not supported by getting the context from the OnSend method.
The code looks like:
func Caller() {
        ...
        span := tracer.StartSpan(info.FullMethod)
	defer span.Finish()
	ctx = opentracing.ContextWithSpan(ctx, span)
        ....
        Publish(ctx)
        ....
}

func Publish(ctx context.Context) {
      var kafkaPub sarama.SyncProducer
       ...
       m := &sarama.ProducerMessage{
		Key:   sarama.StringEncoder(fromId),
		Topic: appTopic,
		Value: sarama.ByteEncoder(b),
	}
	_, _, _ = kafkaPub.SendMessage(ctx, m)
}

type ProducerInterceptor struct {
}

func (oi *ProducerInterceptor) OnSend(ctx context.Context, msg *sarama.ProducerMessage) {
	span, ctx := opentracing.StartSpanFromContext(ctx, method)
	defer span.Finish()
        ...
}

So please add some more information about it or is there any place I could find the right example to solve it?


what should i put for scaffolds_iteration_3.p in stitch.py

i tried to stitch unitigs.fasta file using

python2 stitch.py -c xxx.contigs.fasta -u xxx.unitigs.fasta -p scaffolds_iteration_3.p -o output_scaffold_stitched_3p.fasta
I got error:
==============================================
Traceback (most recent call last):
File "/home/an/bin/SALSA/SALSA-master/stitch.py", line 29, in
scaffolds = pickle.load(open(args.pickle,'r'))
IOError: [Errno 2] No such file or directory: 'scaffolds_iteration_3.p'
=============================================
if i create an empty file scaffolds_iteration_3.p, i still got error EOFError.

thanks
anji

Did your code run for 3 iterations? The 3.p is just an example in the readme. What is the content of your folder where you ran salsa?


No more hash bang URLs

hashbang URLs are really convenient to deploy single page applications on any web host but there are 2 downsides:

They are not really nice to see, especially because of the k querystring parameter automatically added by react-router http://bestof.js.org/#/?_k=q6h6qa
They prevent us from using the hash for what they should be used to (anchors inside pages)

Let's try to get rid of hashbang URLs, using the approach described in this project: https://github.com/rafrex/spa-github-pages

Steps:

Use browserHistory from react-router instead of hasHistory
Replace assets (js, images, css) relative URLs by absolute URLs
in dev mode use historyApiFallback: true option for Webpack dev server
Add a 404.html page (see https://github.com/rafrex/spa-github-pages/blob/gh-pages/404.html)
In index.html, add a script that updates the browser history when the user comes from the 404.html page (see https://github.com/rafrex/spa-github-pages/blob/gh-pages/index.html#L9)
Use react-router <Link> components instead of <a> tags with hard-coded URLs
Update script that deals with authentication redirection, using location.pathname instead of location.hash


DBZ-4504 Update date functions for MariaDB

https://issues.redhat.com/browse/DBZ-4504

LGTM; we used to flag MariaDB-specific extensions as such though using comments in the grammar. Can you add that?

@ani-sha Applied, thanks!


[APIReview] Consider PreauthorizedTokenCredential for Azure.Identity

Run the PreauthorizedTokenCredential by Scott Schaab.  It's the sort of thing that belongs in Azure.Identity.  It could be useful elsewhere.

Per talk with Scott Schaab, we are not going to include this in the identity library.  We will include it in a Xamarin Essentials focused library for doing auth instead.


fix: initial run of adc configure does not throw error

Description

Handling a different scenario just for the config command is different. This approach makes it better by showing warnings indicating the lack of a configuration file. Now commands that require a configuration file ask users to run adc configure, and if the configuration file is not present, it is shown as a warning.
In the adc configure subcommand, when it is run initially without the configuration file being present, will show that the configuration file is not present and then proceed to create one without needing the -f flag to overwrite the created file.
➜  adc sync
Configuration file /Users/navendu/.adc.yaml doesn't exist.
ADC isn't configured, run `adc configure` to configure ADC.
➜  adc configure
Configuration file /Users/navendu/.adc.yaml doesn't exist.
Please enter the APISIX server address:
http://<IP_ADDRESS>:9081
Please enter the APISIX token:
token
ADC configured successfully!

Fixes #83
The other alternative was to create a new configuration file if it is not present and then write to it properly if it has just been initialized, but this is a more simple and central solution.
Checklist

[ ] I have explained the need for this PR and the problem it solves
[ ] I have explained the changes or the new features added to this PR
[ ] I have added tests corresponding to this change
[ ] I have updated the documentation to reflect this change
[ ] I have verified that this change is backward compatible

The failing tests seem to pass when I run locally.

So the issue was because WriteConfig fails to write when the file is not present. Since with this change, we stop creating a new file if it does not exist, the WriteConfig function fails. There is an issue open in Viper to change this behaviour: https://github.com/spf13/viper/issues/433
But this does seem to be fixed. As a workaround, we can use the WriteConfigAs function. This will make sure that the existing tests pass and the UX is correct.
This UX remains the same as before:
adc configure --address=https://<IP_ADDRESS>:9180 -f
Configuration file /Users/navendu/.adc.yaml doesn't exist.
Please enter the APISIX token:
token
ADC configured successfully!

Without this change, if I run this, I get this error, which is why the CI was failing before:
adc configure --address=https://<IP_ADDRESS>:9180 -f
Configuration file /Users/navendu/.adc.yaml doesn't exist.
Please enter the APISIX token:
token
Failed to configure ADC
Error: Config File ".adc" Not Found in "[/Users/navendu]"


Feat(TabBar): add pressOpacity for TabBar

Add pressOpacity property for TabBar. Nice feature from react-native-tabs

Thanks @Swordsman-Inaction! Can you add this to the API docs file as well?

@cridenour Added.

Thank you!

Thanks for this! One less monkey-patch I have to use. 👍


ChangeCodingStandardEventSubscriber: fixed type error

Before the while loop, the variable $version is string. But inside the loop with $version-- it becomes an integer, which leads to
TypeError

Argument 1 passed to Zenify\DoctrineMigrations\EventSubscriber\ChangeCodingStandardEventSubscriber::getMigrationFileByVersion() must be of the type string, integer given

I didn't change it to integer since string is more general...

See https://github.com/Zenify/DoctrineMigrations/pull/33.

Oops, blindness is strong with me at these times of the week :-)


Fixing broken hack/test-go.sh

Thanks to @thockin for helping debug this.
Not sure why it breaks without the quotes, but it works with them.

Self merging since its currently broken for some people

LGTM


Remove aws-sdk from functions as default library

Is your feature request related to a problem? Please describe.
The total size of a lambda function (dist file) is at about 8MB. Most of it is because of the aws-sdk library that is being included. Lambda Functions have this library preinstalled which means that this is not necessary.
Describe the solution you'd like
Remove the aws-sdk as a default from the package.json dependencies
Additional context
Dist file size before: 8mb
Dist file size after: 700kb
Function folder size before: 45mb
Function folder size after: 3mb
The total size can be reduced by over 90%. My overall project size (a project with 17 functions) has reduced by ~800mb, which makes a huge difference.

Ideally, aws-sdk is added in package.json as a devDependencies, later, in the process of zipping, only production dependencies are added, by using npm install --production.

That would still add about 40mb of data to the node_modules of each lambda function...


[Enhancement] Add more unit test for BIGGAN

Add more unit-test for BIGGAN.
Fix a bug in output dict.

Codecov Report

Merging #58 (f1b2c15) into master (9824cf3) will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #58      +/-   ##
==========================================
+ Coverage   75.56%   75.61%   +0.05%
==========================================
  Files         117      117
  Lines        7538     7538
  Branches     1374     1374
==========================================
+ Hits         5696     5700       +4
+ Misses       1466     1465       -1
+ Partials      376      373       -3

Flag
Coverage Δ

unittests
75.61% <100.00%> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ls/architectures/biggan/generator_discriminator.py
81.72% <ø> (ø)

mmgen/models/architectures/biggan/__init__.py
100.00% <100.00%> (ø)

...chitectures/stylegan/generator_discriminator_v1.py
89.83% <0.00%> (ø)

mmgen/models/architectures/stylegan/mspie.py
91.58% <0.00%> (+0.99%)
:arrow_up:

mmgen/models/architectures/biggan/modules.py
95.16% <0.00%> (+1.61%)
:arrow_up:

Continue to review full report at Codecov.

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


JAX issue

I'm trying to work through the tutorial here: http://secondearths.sakura.ne.jp/exojax/tutorials/optimize_spectrum_JAXopt.html
And I came up against a problem loading the packages. I detailed the problem on the jax github page here:
https://github.com/google/jax/issues/10293
Long story short, they recommend using jnp.index_exp instead of jax.ops.index, as this was deprecated in JAX version 0.2.22 and removed in version 0.3.2
The problem arises in exojax/spec/dit.py when trying to import index as joi from jax.ops.
I'm not entirely sure how, but is it possible to resolve this issue?

@Tusay
Thank a lot for the report!  I made the PR #249 to resolve this issue, will be merged to develop branch after reviewing. For master branch or pip install, wait until the next release.
Note that you can test the optimization using jaxopt easily
exojax/tests/endtoend/jaxopt>pytest optimize_spectrum_JAXopt_test.py

(in develop branch)

merged to develop.


BUG: cannot insert to a table that has computed column

Reproducing this issue requires a postgres 12 or newer.
When inserting to a table that has computed column, the type provider tries to insert to that column even if you don't supply a value for it.
see #90

Fixed in https://github.com/demetrixbio/FSharp.Data.Npgsql/pull/90


Possible change to Financial Transactions

Currently financial transactions have no destroy method. It was left this way because Metin wanted a paper trail and didn't want payments to be 'deletable' however we implemented the permanent records gem a long time ago which overrides destroy methods. This gem adds a deleted_at column to models meaning when destroy is called, models are not removed but instead become 'deactivated'.
We may want to implement a destroy method for financial transactions in the future.

Permanent records has been removed and we're just using paper trail now.


⚠ TiendaEnLinea has degraded performance

In 25dc458, TiendaEnLinea (https://www.fahorro.com/) experienced degraded performance:

HTTP code: 200
Response time: 7543 ms

Resolved: TiendaEnLinea performance has improved in 03b65d3.


wip: log target break times

Hey, just saw you closed your pull request and checked this out. Just figured I'd let you know there's really no need to put your target left check in the memory manager update function.
I have a special function you can call to create a callback for when an addresses value changes.
memory.hook("targets_left", "On Targets Left Changed", function(numleft)
-- Do cool stuff here!
end)

Hey, just saw you closed your pull request and checked this out. Just figured I'd let you know there's really no need to put your target left check in the memory manager update function.
I have a special function you can call to create a callback for when an addresses value changes.
memory.hook("targets_left", "On Targets Left Changed", function(numleft)
-- Do cool stuff here!
end)

Also, if you want to get a very accurate frame count of when a target was hit, you could get the games current frame count when the match.playing value becomes true. This should denote the exact moment the player has control over the character. From then on you could then use the games current frame count to calculate how many frames had passed since hitting a target or whatever.

@bkacjios Ah, I didn't expect you to see that PR 🙈, I meant to put it up against my forked repo. Thank you for that suggestion re: memory.hook, didn't see it when I was skimming the source. The reason I directly modified the update function was to handle a few edge cases for this "auto-splitting" logging feature: on resetting a run, the target count drops to 0 and then resets to 10. I was using the previous value and the match.paused attribute to successfully filter out these cases from being logged. Though I believe I could do the same if memory.hook also exposed the previous value.
The issue I found with match.playing was that it only toggled true once the GO text disappeared (40 frames after you have control over the character). So in order to log target break times accurate to the on-screen timer, I had to do some arithmetic using the value stored at the "frame" address (which resets when the countdown starts) and the countdown + GO frames.

Well this idea really interested me so I made a quick little mock up of what it could look like, and even got it working pretty well.
https://github.com/bkacjios/m-overlay/tree/target-test
Would be pretty easy to add extra stats like PB and sum of best.


Generator fails - cannot load such file -- generators/essentials_base

bundle exec rails g spree_essentials:cms                                                                                !900
[DEPRECATION WARNING] Nested I18n namespace lookup under "activerecord.attributes.spree/order" is no longer supported
/Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require': cannot load such file -- generators/essentials_base (LoadError)
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `block in require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `block in load_dependency'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:640:in `new_constants_in'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `load_dependency'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/spree_essential_cms-0.3.0.rc1/lib/generators/spree_essentials/cms_generator.rb:1:in `<top (required)>'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `block in require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `block in load_dependency'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:640:in `new_constants_in'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `load_dependency'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:297:in `block (2 levels) in lookup'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:293:in `each'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:293:in `block in lookup'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:292:in `each'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:292:in `lookup'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:149:in `find_by_namespace'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/generators.rb:166:in `invoke'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/commands/generate.rb:12:in `<top (required)>'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `block in require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `block in load_dependency'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:640:in `new_constants_in'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:223:in `load_dependency'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:240:in `require'
	from /Users/dheerajkumar/.rvm/gems/ruby-1.9.3-p0@sample/gems/railties-3.1.4/lib/rails/commands.rb:28:in `<top (required)>'
	from script/rails:6:in `require'
	from script/rails:6:in `<main>'

I've removed generators/essentials_base from spree essentials in v0.4.0.rc3. The CMS has been updated on master and I'll be releasing a new stable version hopefully today.
Let me know if that works!
-Spencer

Hi,
I've got the same issue.
Any sign of a fix for this?
thanks

The fix is using spree_essential_cms from the master branch vs the last stable release.
In your gemfile:
gem 'spree_essential_cms', :git => 'git://github.com/citrus/spree_essential_cms.git'

Then run bundle update spree_essential_cms
Let me know if that works...

Sorted.
Thanks

Spoke to soon...
Completed 500 Internal Server Error in 121ms
ActionView::Template::Error (undefined method `images' for nil:NilClass):
1: <% unless @page.images.empty? %>
2:   <%= render 'spree/shared/slideshow', :images => @page.images, :size => :slide %>
3: <% end %>
4:
sorry

@dp6ai that's a different error. You're asking @page for it's images, but @page is nil. You'll need to give me more info to diagnose further.

Installed the gem as per instructions and then refreshed my home page.

activesupport (3.1.3) lib/active_support/whiny_nil.rb:48:in method_missing' /Users/name/.rvm/gems/ruby-1.9.3-p0/bundler/gems/spree_essential_cms-189093ab69f0/app/views/spree/pages/home.html.erb:1:in ___sers_name__rvm_gems_ruby_______p__bundler_gems_spree_essential_cms_______ab__f__app_views_spree_pages_home_html_erb___1297530671091168626_70155355656460'
actionpack (3.1.3) lib/action_view/template.rb:171:in block in render' activesupport (3.1.3) lib/active_support/notifications.rb:55:in instrument'
actionpack (3.1.3) lib/action_view/template.rb:169:in render' actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:40:in block (2 levels) in render_template'
actionpack (3.1.3) lib/action_view/renderer/abstract_renderer.rb:33:in block in instrument' activesupport (3.1.3) lib/active_support/notifications.rb:53:in block in instrument'
activesupport (3.1.3) lib/active_support/notifications/instrumenter.rb:21:in instrument' activesupport (3.1.3) lib/active_support/notifications.rb:53:in instrument'
actionpack (3.1.3) lib/action_view/renderer/abstract_renderer.rb:33:in instrument' actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:39:in block in render_template'
actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:47:in render_with_layout' actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:38:in render_template'
actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:12:in block in render' actionpack (3.1.3) lib/action_view/renderer/abstract_renderer.rb:22:in wrap_formats'
actionpack (3.1.3) lib/action_view/renderer/template_renderer.rb:9:in render' actionpack (3.1.3) lib/action_view/renderer/renderer.rb:36:in render_template'
actionpack (3.1.3) lib/action_view/renderer/renderer.rb:17:in render' actionpack (3.1.3) lib/abstract_controller/rendering.rb:120:in _render_template'
actionpack (3.1.3) lib/action_controller/metal/streaming.rb:250:in _render_template' actionpack (3.1.3) lib/abstract_controller/rendering.rb:114:in render_to_body'
actionpack (3.1.3) lib/action_controller/metal/renderers.rb:30:in render_to_body' actionpack (3.1.3) lib/action_controller/metal/compatibility.rb:43:in render_to_body'
actionpack (3.1.3) lib/abstract_controller/rendering.rb:99:in render' actionpack (3.1.3) lib/action_controller/metal/rendering.rb:16:in render'
actionpack (3.1.3) lib/action_controller/metal/instrumentation.rb:40:in block (2 levels) in render' activesupport (3.1.3) lib/active_support/core_ext/benchmark.rb:5:in block in ms'
/Users/name/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/benchmark.rb:295:in realtime' activesupport (3.1.3) lib/active_support/core_ext/benchmark.rb:5:in ms'
actionpack (3.1.3) lib/action_controller/metal/instrumentation.rb:40:in block in render' actionpack (3.1.3) lib/action_controller/metal/instrumentation.rb:78:in cleanup_view_runtime'
activerecord (3.1.3) lib/active_record/railties/controller_runtime.rb:24:in cleanup_view_runtime' actionpack (3.1.3) lib/action_controller/metal/instrumentation.rb:39:in render'
/Users/name/.rvm/gems/ruby-1.9.3-p0/bundler/gems/spree_essential_cms-189093ab69f0/app/controllers/spree/home_controller_decorator.rb:8:in index' actionpack (3.1.3) lib/action_controller/metal/implicit_render.rb:4:in send_action'
actionpack (3.1.3) lib/abstract_controller/base.rb:167:in process_action' actionpack (3.1.3) lib/action_controller/metal/rendering.rb:10:in process_action'
actionpack (3.1.3) lib/abstract_controller/callbacks.rb:18:in block in process_action' activesupport (3.1.3) lib/active_support/callbacks.rb:479:in _run__4371613223662020123__process_action__328366494556203249__callbacks'
activesupport (3.1.3) lib/active_support/callbacks.rb:386:in _run_process_action_callbacks' activesupport (3.1.3) lib/active_support/callbacks.rb:81:in run_callbacks'
actionpack (3.1.3) lib/abstract_controller/callbacks.rb:17:in process_action' actionpack (3.1.3) lib/action_controller/metal/rescue.rb:17:in process_action'
actionpack (3.1.3) lib/action_controller/metal/instrumentation.rb:30:in block in process_action' activesupport (3.1.3) lib/active_support/notifications.rb:53:in block in instrument'
activesupport (3.1.3) lib/active_support/notifications/instrumenter.rb:21:in instrument' activesupport (3.1.3) lib/active_support/notifications.rb:53:in instrument'
actionpack (3.1.3) lib/action_controller/metal/instrumentation.rb:29:in process_action' actionpack (3.1.3) lib/action_controller/metal/params_wrapper.rb:201:in process_action'
activerecord (3.1.3) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (3.1.3) lib/abstract_controller/base.rb:121:in process'
actionpack (3.1.3) lib/abstract_controller/rendering.rb:45:in process' actionpack (3.1.3) lib/action_controller/metal.rb:193:in dispatch'
actionpack (3.1.3) lib/action_controller/metal/rack_delegation.rb:14:in dispatch' actionpack (3.1.3) lib/action_controller/metal.rb:236:in block in action'
actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:65:in call' actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:65:in dispatch'
actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:29:in call' rack-mount (0.8.3) lib/rack/mount/route_set.rb:152:in block in call'
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:96:in block in recognize' rack-mount (0.8.3) lib/rack/mount/code_generation.rb:68:in optimized_each'
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:95:in recognize' rack-mount (0.8.3) lib/rack/mount/route_set.rb:141:in call'
actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:532:in call' spree_core (1.0.0) lib/spree/core/middleware/redirect_legacy_product_url.rb:13:in call'
spree_core (1.0.0) lib/spree/core/middleware/seo_assist.rb:27:in call' railties (3.1.3) lib/rails/engine.rb:456:in call'
railties (3.1.3) lib/rails/railtie/configurable.rb:30:in method_missing' rack-mount (0.8.3) lib/rack/mount/prefix.rb:26:in call'
rack-mount (0.8.3) lib/rack/mount/route_set.rb:152:in block in call' rack-mount (0.8.3) lib/rack/mount/code_generation.rb:96:in block in recognize'
rack-mount (0.8.3) lib/rack/mount/code_generation.rb:75:in optimized_each' rack-mount (0.8.3) lib/rack/mount/code_generation.rb:95:in recognize'
rack-mount (0.8.3) lib/rack/mount/route_set.rb:141:in call' actionpack (3.1.3) lib/action_dispatch/routing/route_set.rb:532:in call'
warden (1.0.6) lib/warden/manager.rb:35:in block in call' warden (1.0.6) lib/warden/manager.rb:34:in catch'
warden (1.0.6) lib/warden/manager.rb:34:in call' actionpack (3.1.3) lib/action_dispatch/middleware/best_standards_support.rb:17:in call'
rack (1.3.6) lib/rack/etag.rb:23:in call' rack (1.3.6) lib/rack/conditionalget.rb:25:in call'
actionpack (3.1.3) lib/action_dispatch/middleware/head.rb:14:in call' actionpack (3.1.3) lib/action_dispatch/middleware/params_parser.rb:21:in call'
actionpack (3.1.3) lib/action_dispatch/middleware/flash.rb:247:in call' rack (1.3.6) lib/rack/session/abstract/id.rb:195:in context'
rack (1.3.6) lib/rack/session/abstract/id.rb:190:in call' actionpack (3.1.3) lib/action_dispatch/middleware/cookies.rb:331:in call'
activerecord (3.1.3) lib/active_record/query_cache.rb:64:in call' activerecord (3.1.3) lib/active_record/connection_adapters/abstract/connection_pool.rb:477:in call'
actionpack (3.1.3) lib/action_dispatch/middleware/callbacks.rb:29:in block in call' activesupport (3.1.3) lib/active_support/callbacks.rb:392:in _run_call_callbacks'
activesupport (3.1.3) lib/active_support/callbacks.rb:81:in run_callbacks' actionpack (3.1.3) lib/action_dispatch/middleware/callbacks.rb:28:in call'
actionpack (3.1.3) lib/action_dispatch/middleware/reloader.rb:68:in call' rack (1.3.6) lib/rack/sendfile.rb:101:in call'
actionpack (3.1.3) lib/action_dispatch/middleware/remote_ip.rb:48:in call' actionpack (3.1.3) lib/action_dispatch/middleware/show_exceptions.rb:47:in call'
railties (3.1.3) lib/rails/rack/logger.rb:13:in call' rack (1.3.6) lib/rack/methodoverride.rb:24:in call'
rack (1.3.6) lib/rack/runtime.rb:17:in call' activesupport (3.1.3) lib/active_support/cache/strategy/local_cache.rb:72:in call'
rack (1.3.6) lib/rack/lock.rb:15:in call' actionpack (3.1.3) lib/action_dispatch/middleware/static.rb:53:in call'
railties (3.1.3) lib/rails/engine.rb:456:in call' rack (1.3.6) lib/rack/content_length.rb:14:in call'
railties (3.1.3) lib/rails/rack/log_tailer.rb:14:in call' rack (1.3.6) lib/rack/handler/webrick.rb:59:in service'
/Users/name/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:138:in service' /Users/name/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:94:in run'
/Users/name/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

Do you have a homepage (path "/") in the database?

i think my database is fairly standard.
I dont remember setting the homepage at any point.
Where would i do that?

Log in to the admin then go to Content > Pages > New
The just make sure you set the path = /
dp6ai wrote:

i think my database is fairly standard.
I dont remember setting the homepage at any point.
Where would i do that?

Reply to this email directly or view it on GitHub:
https://github.com/citrus/spree_essential_cms/issues/11#issuecomment-4423022

@dp6ai I just pushed b0fa128 which will redirect you to /products if no homepage exists.
Run bundle update spree_essential_cms to get the patch

Issue solved, thanks!

Right on :) :beer: :beer:


Store podsCidr and servicesCidr in provisioner database

Description
Based on this comment - we should return values for new podsCidr and servicesCidr fields when they are not provided by the user and are assigned by the Gardener as we do for seed. All we need to do is to store them in the database just after the moment when the cluster was successfully created.
You can find the relevant example for seed in the proceedToInstallation function in the Provisioning process.
However, it was not urgent, as it was confirmed that KEB does not need them.
Attachments
Follow-up of https://github.com/kyma-project/control-plane/issues/2946.

Closing as this is not used by the KEB.


Feature Request: dnscrypt-proxy should limit repeated log activity during lost net connections.

Sometimes net connections are not always available. This is especially true
for wireless links where dnscrypt-proxy is particularly applicable.
When dnscrypt-proxy loses its connection the DNS server, it endlessly fills
the system log with messages such as:
Oct 27 23:17:25 localhost dnscrypt-proxy[32129]: Unable to retrieve server certificates
Oct 27 23:18:43 localhost dnscrypt-proxy[32129]: Refetching server certificates
Oct 27 23:18:58 localhost dnscrypt-proxy[32129]: Unable to retrieve server certificates
Oct 27 23:20:20 localhost dnscrypt-proxy[32129]: Refetching server certificates
.
.
.
After one or two such messages, dnscrypt-proxy should issue a message that
further error messages of this type will not be repeated until the connection
has been reestablished. Or at least provide an option to allow for such a
feature.
This way, if a connection goes down for a long period of time, dnscrypt-proxy
will limit itself to two or three log notices instead of filling the logs up.
Cheers and thank you for creating dnscrypt-proxy,
Mike Shell
http://www.michaelshell.org

Or those messages 5 times a second, when the DSL connection was lost:
Mar  5 09:42:56 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:56 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:56 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:56 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:56 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:57 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:57 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:57 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:57 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
Mar  5 09:42:57 localhost daemon.warn dnscrypt-proxy[1746]: sendto: [Network is unreachable]
I second the above wishes. Especially on embedded devices the growing logfile can cause some problems.
Michael Keuter
http://www.mksolutions.info

Even though the syslog server should take care of it, there is already a protection against repeated messages. c5f93c7592af532da4d521fb1b3b10926022d9af significantly reduces the allowed number of messages.


highlight accented search results matched against non accented keywords

Implement the same functionality that was implemented in:

https://github.com/BibleGet-I-O/BibleGet-Google-Docs-Addin/issues/6
https://github.com/BibleGet-I-O/bibleget-msword-addin/issues/20

Make sure that:

[ ] the highlighting of the search term in the search results not only highlights the exact match of the search term, but also lightly highlights the rest of the word
[ ] match the search term against the verse text both with and without diacritics
[ ] match (at least with a submark class) accented words against a plain latin search keyword

See the commits in the Google Docs repo:

https://github.com/BibleGet-I-O/BibleGet-Google-Docs-Addin/commit/701dbe6869e540e02b33f4f7e4f9c629e8df052b
https://github.com/BibleGet-I-O/BibleGet-Google-Docs-Addin/commit/973db8fd7c24a193d8653a8c31bcf748ceeb7e9f
https://github.com/BibleGet-I-O/BibleGet-Google-Docs-Addin/commit/4a6f383680bb25c71b93c2b3441264cc8c1ef41b
https://github.com/BibleGet-I-O/BibleGet-Google-Docs-Addin/commit/a1a6099c8cd1fe02df6a44a96dd617681199edfc
https://github.com/BibleGet-I-O/BibleGet-Google-Docs-Addin/commit/cb3da62729a060ca0898b293fec97ca943ab3564

fixed in commits:

de8360b5781b79cdf73bbb8a3e1e5190c39cc651
70a92a85e5db2073b61eb397f495dacb5b8d0ca5
81654dcc4e6a7906aaacacaf84fbe7d3d47ad45d
64fa686cbf190ad5517c0688fd7a195599dd73f6
e7905583cd524c964bd8959b94b017fe61f2422e


fix: WSClient.returncode not idempotent

Fixes https://github.com/kubernetes-client/python-base/issues/271
This PR implements idempotence via a self._returncode class variable.
Unit test is implemented here: https://github.com/kubernetes-client/python/pull/1650
/kind bug

/lgtm
/approve


Need a document on customizing governance connectors

Is your suggestion related to a missing or misleading document? Please describe.
Currently, we don't have a central place where we are mentioning all the governance connectors and the procedure to customize them. We should create a document for that and include the confidential property introduced in [1]
[1] https://github.com/wso2/product-is/issues/10620

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Integration with nWidart/laravel-modules + Laravel App is possible?

Thanks for module, but I want to integrate with a Laravel application. I already use nWidart/laravel-modules package for work with modules.

Sorry for the very late reply.
This won't be possible I'm afraid, as it required the core module in asgardcms.


NavController methods don't fire in LoadingController callback after async operation

Short description of the problem:
In loader.dismiss().then(() => {this.navCtrl.pop()}) navCtrl.pop() is not executed. The page remains. There was some strange behavior from the Loading Component in prior betas, but this is new to Beta 11.
What behavior are you expecting?
NavController methods should fire in LoadingController callbacks.
Steps to reproduce:

clone the repo: https://github.com/MattDHill/LoadingBug
run "ionic serve" or "ionic emulate iOS"
just click the buttons, very straightforward.
every once in a while pop() gets fired, but rarely.

Which Ionic Version? 1.x or 2.x
2 beta 11
Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.2.0
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.37
Ionic App Lib Version: 2.0.0-beta.20
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v4.4.0
Xcode version: Xcode 7.3.1 Build version 7D1014

Hello! Thanks for opening an issue with us! It seems that since your loading component is opening and closing so fast because the http request completes very fast that it gets confused on which NavController to pop from. Do you have a Loading component that is closing this fast after opening in your application like it is in your example? I have made a repo here that shows this working, but my loading components in that example are open for a few 100ms  before closing them.

Hello! As it seems it has been a while since there was any activity on this issue i will be closing it for now. Feel free to comment if you are still running into this issue and i will happily reopen. Thanks for using Ionic!

@jgw96  I have the exact same issue, and the http call is not "fast" : I am uploading a picture to a webservice which creates thumbnails (so it takes around 1 sec).
Here is the portion of the code :
         let picLoader = this.loadingController.create({
                  content: "Saving picture...",
                  duration: 5000
              });

              picLoader.present();

              let options = {mimeType: 'image/jpeg', chunkedMode: false, headers: {'Authorization': 'Bearer ' + this.token},};

              this.fileTransfert.upload(fileUrl, AppSettings.API_ENDPOINT + '/images/', options, true).then((result) => {

                  picLoader.dismiss(); // NOT WORKING

                  let toast = this.toastController.create({
                      message: "the picture has been saved !",
                      duration: 3000
                  });
                  toast.present(); // Working fine

              }, (err) => {
                  picLoader.dismiss(); // Not working
                  let toast = this.toastController.create({message: "an error occured", duration: 4000});
                  toast.present(); // Working
              });

Should I open a new issue or you can re-open that one?
PS : I use crosswalk

Hello @Geoffrey-D ! Would you mind testing again but without the toast? Thanks!

@jgw96, it does works without the toast, the popup is dismissed, thx! how can I have both? with picLoader.dismiss().then( --  toast here --)... ?

Hey @Geoffrey-D ! Good news! That issue has actually already been fixed and will be in the beta.12 release. The reason i got you to test that was to confirm that it was the same issue 😃 . For now, you can just make sure that you close the loader first before opening a toast using the navigation promises like you show in your above comment. Thanks for using Ionic!

ok thanks !

Hi @jgw96. Sorry been traveling and for some reason didn't get any notifications about this thread. I am still having the same issue. Are you able to reproduce with the github repo I provided. It's very basic, not doing anything special. Just want to present the loading component, fetch some async data, dismiss the loading component, and navigate away. Before beta 11 this worked fine. Now, the loading component dismisses, but the page remains.

@MattDHill No problem. Would you mind trying this please?
loader.dismiss().then(() => {this.app.getRootNav.pop()})

Thanks!

Same thing. The loader dismisses, but the page remains. Also had to add () after getRootNav, just FYI. Thanks for looking into this.


Mark up Presentation content in Presentation XML

Presentation XML introduces presentation-specific content—such as autonumbers and delimiters—which we may (may) in future want to identify and render differentially in different renderers. To that end, we will tag the content we introduce; renderers will just pass through the contents of those tags.
This resolves the (phantom) issue introduced in https://github.com/metanorma/metanorma-ogc/issues/472
So whereas right now we convert Semantic XML
<clause id="A"><title>Scope</title>....

to
<clause id="A"><title>1.<tab/>Scope</title>....

We will in future mark this up as
<clause id="A"><title><autonumber>1</autonumber><autonumber-delimiter>.<tab/></autonumber-delimiter>Scope</title>....

Where renderers will almost always (currently: always) render autonumber and autonumber-delimiter as the contents thereof.

From Ronald:
<termnote id="_" keep-with-next="true" keep-lines-together="true">
                <name>Note 1 to entry:</name>

The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.

               </termnote>

I find it a bit strange that "name" is mixed with "p" and assumed to flow as spans. The element name "name" probably works better with something like "content" or "description".

Also, by moving the colon inside "name", it is now conflating the "name of the note" with a delimiter. Cross references or an index that link to this note will not use the delimiter.

The name is an inherited semantic tag, for the caption of the block. There will be no refactoring of Semantic XML in addition to the refactoring of the Presentation XML
The way to address the concern about separating captions, numbers, and delimiters, is going to be by introducing a separate fmt-name caption element, giving the presentation form of the caption, with its contents semantically annotated:
Semantic XML:
<note id="_" keep-with-next="true" keep-lines-together="true">
     <name>Concerning waxy rice</name>

The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.

 </note>

Presentation XML:
<note id="_" keep-with-next="true" keep-lines-together="true">
     <autonum>3.1</autonum>
     <name>Concerning waxy rice</name>
     <fmt-name>3.1:
         Concerning waxy rice</fmt-name>

The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.

 </note>

Merging into https://github.com/metanorma/isodoc/issues/610


Will the Rust Http framework be released in the future

Feature Request
Will the Rust Http framework be released in the future

The Volo-HTTP has already released 0.2 for now, you can use this version.

The Volo-HTTP has already released 0.2 for now, you can use this version.

Okay, thank you very much


 Either assign it to a variable or remove it.

Hmm, interesting usage. So, it's checking if there's a unicode name in the scope and assigning str to it if there's none. Until we find a solution for this, you could use the globals() dictionary:
unicode = globals().get('unicode', str)

I think the most we would do here is tailor the rule message to this specific case (e.g., suggest an alternative pattern when scoped with a NameError handler). Can you share a realistic example where this code is necessary, and can't be refactored to something that doesn't rely on an unbound name?

the above code is the real code we are using to support Python2.
other examples in our code:
        with self.assertRaises(AttributeError):
            obj.props.unknown  # noqa: B018

        with pytest.raises(AttributeError):
            obj.props.unknown  # noqa: B018

   def validate(self, value):
        # type: (str) -> object
        o = urlsplit(value)
        o.port  # may raise ValueError  # noqa: B018
        return o.scheme in {"http", "https"}

Related: https://github.com/astral-sh/ruff/issues/3831

My recommendation is still to use _ = obj.props.unknown to indicate that the useless expression is intentional.

If it's explicitly to support Python 2, can you not use a sys.version_info check instead of using the error-based control flow?

I'm comfortable with the behavior we have for the originating example. Whether we want to special-case attribute accesses in some way will be resolved via https://github.com/astral-sh/ruff/issues/3831.

@charliermarsh We have code at work that looks like this:
A: list

def func():
    global A
    try:
        A
    except NameError:
        print("Help")
        A = []

func()
func()

We use the global in jobs to append to a global list, but we are never sure which worker (which execute the jobs) will start up first and therefore which worker will call the setup function func().
Would you reconsider excluding raising this message if it is specifically guarded by a NameError? Doesn't that explicit guard show that the writer is aware of the chance of an exception being raised and thus no bug is introduced?

@DanielNoord - I think the main question for me is whether there's a way to (reasonably) restructure the code to avoid the "useless expression". For example, would something like this work?
A: list

def func():
    global A
    if 'A' not in globals():
        print("Help")
        A = []

func()
func()

(I know this is a greatly simplified example -- I'm mostly trying to decide if we need to support this pattern, or if we can instead suggest a reasonable alternative.)

@DanielNoord - I think the main question for me is whether there's a way to (reasonably) restructure the code to avoid the "useless expression". For example, would something like this work?

I can see how another lint would be to never use globals() or global for that matter. I think the pattern is quite bad anyway :smile: But having that global available is quite helpful as well and I think sometimes a little ugly code for a lot of usability doesn't hurt.
Personally I think the try ... except shows in a very concise and explicit way that you know you're introducing a possibility for NameError but are also handling it. Thus, it doesn't hurt maintainability of the code too much and (as far as I can see) doesn't introduce an actual bug into your code. I can add a # noqa: B018 but I believe that introduces more uncertainty for the reader as they now need to lookup what B018 is.

@charliermarsh Sorry for tagging again, but have you given this a thought? And if so, what is your verdict about re-opening this issue?


Documentation of the API could be more helpful

The README says "Termbox's interface only consists of 12 functions", which is not really accurate (there's 21 functions), and lists just the function names. I think it would be helpful to give argument names (e.g. tb_change_cell(x, y, ch, fg, bg) instead of just tb_change_cell()) and either list all 21 functions, or explicitly say that the listed functions are only the most commonly used ones, but the API has a some other functions too.

In addition, it'd be helpful to mention the expected encoding of chars in tb_change_cell. I think it's wchar_t (because the value is later passed to wcwidth()) but maybe I'm missing something because the actual type is uint32_t instead of wchar_t, perhaps for a reason.


Unable to use unix-char devices after re-enumeration/rescan

Required information

Distribution: Ubuntu
Distribution version: 16.04
The output of "lxc info" or if that fails:

Kernel version: 4.4.0-119-generic
LXC version: 2.0.7
LXD version: 2.0.9
Storage backend in use: dir

Issue description
I'm having an issue with needing to re-add unix-char devices to containers. There are two cases I observed:
Case 1: I need to add USB devices to my containers. To avoid path issues with USB re-enumeration, I made a udev rule on the host to create a symlink with a constant path. Then, I added this symlink to the container as a unix-char device. In the container, this approach works until I reinsert the USB device. On the host, the symlink is in the same location but it points to a new location. After the reinsertion, I can use the symlink on the host but it doesn't work in the container. Re-adding the symlink fixes it.
Case 2: I'm also passing through a PCI device. I can't use the PCI device after removing the device and doing a rescan, unbind and bind of the PCI driver. I can read correct values from it on the host immediately after but I need to remove and re-add the devices to the container before it will be able to access them again.
In both cases, the character devices appear in /dev/ but I can't actually use them. Is this expected behavior?
Steps to reproduce
See the cases above

Is perfectly normal. LXD uses bind-mounts and bind-mounts resolve any symlinks, so the device in the container will be whatever the symlink was pointing at when the container started, changing it on the host will have no effect at all.

If that's using a similar symlink which changes target, then yes, that'd be expected. You can't pass symlinks cross-namespaces so everything is getting resolved at container startup time.

It may be best to have your udev rule directly add/remove LXD devices on your container instead of updating a symlink.
On more recent LXD, 1) would likely be handled just fine with a usb-type device. For 2) the required=false option we now have on unix-char might work for you, if not, then you'd need #1750

Okay, that addresses the USB then. The PCI ones aren't symlinked though. Do you know what might be going on there?

/sys should be identical on both host and container.
What are you looking at exactly and what's /sys like in host and container.

Here's the full setup: I'm using an FPGA which has a PCI subsystem. I loaded the PCI driver kernel module which creates a number of xdma* devices in /dev. I added a number of these to the container.
The need to rescan arises because when programming the FPGA, the PCI device disappears on the system for a short time. To rescan, I remove the device at /sys/bus/pci/device/ADDR, then rescan, then bind, and unbind the drivers. The physical PCI slot is not changing so it should get enumerated to the same PCI address I believe.
And yes, as far as I could tell with a cursory glance, /sys is the same in the host and container. I see the PCI device at the right path in both.

Can you show "ls -lh /dev" before and after the reset?

in the host and in the container

I suspect the major/minor will change or the device will turn into a plain file when unplugged from the host.

Here you go. I added (selected) output of /dev/ and the output of attempting to read via the PCI device for each of the different steps of the process.
Initial
Container
crw-rw-rw- 1 root   root    231,  36 Apr 30 18:45 xdma0_c2h_0
crw-rw-rw- 1 root   root    231,  32 Apr 30 18:45 xdma0_h2c_0
crw-rw-rw- 1 root   root    231,   0 Apr 30 18:45 xdma0_user
Read 32-bit value at address 0x00080000 (0x7f9a639e8000): 0x00000000
Host
crw------- 1 root   root      231,  36 Apr 30 14:38 xdma0_c2h_0
crw------- 1 root   root      231,  32 Apr 30 14:38 xdma0_h2c_0
crw------- 1 root   root      231,   0 Apr 30 14:38 xdma0_user
Read 32-bit value at address 0x00080000 (0x7f1b491d0000): 0x00000000
After Programming the FPGA
Container
No change in /dev/
Read 32-bit value at address 0x00080000 (0x7f7c210eb000): 0xffffffff
Host
No change in /dev/
Read 32-bit value at address 0x00080000 (0x7f7f744ac000): 0xffffffff
After removing the PCI device
Container
No change in /dev/
Error at line 85, file reg_rw.c (6) [No such device or address]
Host
No xdma0 devices in /dev/
Error at line 85, file reg_rw.c (2) [No such file or directory]
After rescanning PCI
Container
No change in /dev/
Error at line 85, file reg_rw.c (6) [No such device or address]
Host
crw------- 1 root   root      230,  36 Apr 30 15:16 xdma0_c2h_0
crw------- 1 root   root      230,  32 Apr 30 15:16 xdma0_h2c_0
crw------- 1 root   root      230,   0 Apr 30 15:16 xdma0_user
Read 32-bit value at address 0x00080000 (0x7fae1035f000): 0x00000000
After unbinding the drivers
Container
No change
Host
<no xdma0 devices in /dev/>
Error at line 85, file reg_rw.c (2) [No such file or directory]
After binding the drivers
Container
No change
Host
crw------- 1 root   root      230,  36 Apr 30 15:16 xdma0_c2h_0
crw------- 1 root   root      230,  32 Apr 30 15:16 xdma0_h2c_0
crw------- 1 root   root      230,   0 Apr 30 15:16 xdma0_user
Read 32-bit value at address 0x00080000 (0x7fae1035f000): 0x00000000
After re-adding the devices to the container
Container
No change in /dev/
Read 32-bit value at address 0x00080000 (0x7f5348a9c000): 0x00000000
Host
No change

Ok, so your major is in fact changing from 231 to 230 during this time.

So the device in the container points to a major which is no longer in use, explaining the problem.

Getting you on LXD 3.0 would get you out of all of those problems, so assuming you're not completely tied to 2.0.x for some reason, I'd recommend you do:

Get you on the latest bugfix release for LXD 2.0.x (2.0.11):

apt update
apt install lxd lxd-client

Install the LXD snap

snap install lxd --channel=3.0

Move your data over to the snap and cleanup:

lxd.migrate

Once done, you can remove your existing unix-char devices and udev hacks and instead just do:

lxc config device add NAME fpga-usb usb vendorid=VENDORID
lxc config device add NAME fpga-c2h unix-char path=/dev/xdma0_c2h_0 required=false
lxc config device add NAME fpga-h2c unix-char path=/dev/xdma0_h2c_0 required=false
lxc config device add NAME fpga-user unix-char path=/dev/xdma0_user required=false

With that, everything will be hotplug and will appear/disappear in the container as they change on the host.
If you need to stick to 2.0.x for some reason, then you should just use udev rules to manage all those devices, doing the relevant lxc config device add and lxc config device remove calls for all of them so that they get deleted and recreated as needed.

Ah, yes I see that. I wasn't paying attention to the major/minor numbers for PCI because the path stayed the same unlike in the USB case. Hypothetically, if the major/minor numbers also stayed constant, would you expect any problems in passing the device through to the container, even though it disappears and comes back?
I've been eyeing 3.0 since it came out, in particular the hot-plugging! Unfortunately, I can't upgrade yet because of dependencies in OpenStack and nova-lxd.
Okay, I'll add some udev rules to run scripts on the host. Thanks for your help!

if they stayed constant, things should work fine.

Closing the issue as I think we've gotten to the bottom of it now :)


Feature/core/101

Pull Request Test Coverage Report for Build 390

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 99.568%

Totals

Change from base Build 388:
-0.4%

Covered Lines:
675

Relevant Lines:
677

💛  - Coveralls


Fix mocking non-JSON response data

Description

Fix #107 by only calling jsonEncode in RequestHandler when Headers.jsonContentType is set in headers. Otherwise will pass the data provided to the AdapterResponse.
Add unit tests for RequestHandler class.
Add coverage folder to .gitignore.

Please let me know if there is anything I should change.
Thank you!

Hello @dricholm! Thanks for the PR and your contribution, we will take look as soon as possible.


Api refactor feb 2018

Proposed solution
API restructure

API is now structured under -
routers - separate express routers with prefix, paths, middlewares etc...
controllers - all control functions (function which accepts (req, res, next)).
services - separate business logic used across different controllers (db interactions).
single point of entry - the api uses a single api main router which initializes all other routers with
correct prefixs.

Testing Done

I Navigated and debugged the system, didn't see any errors or 404's (I NEED WITH UI EXPERIENCE TO SEE NOTHING IS BROKEN)

Comments
I Kept most functions internal logic beside fixing lint errors and merging similar functions
I Kept all original api folder for time being
The way the app starts the routers will be changed in stage 2 of refactor
I Haven't refactored  main_routes.js which holds middlewares (e.g breadcrumbs), views and api's - will be changed in a later stage

look like only 1 test is failing.. pretty good for such a refactor ..
  1) Main routes returns 404 MOOP! on everything else:
     Error: expected body 'Forbidden' to match /<[Hh]1>MOOP!<\/[Hh]1>/
      at error (node_modules/supertest/lib/test.js:299:13)
      at Test._assertBody (node_modules/supertest/lib/test.js:213:16)
      at Test._assertFunction (node_modules/supertest/lib/test.js:281:11)
      at Test.assert (node_modules/supertest/lib/test.js:171:18)
      at Server.assert (node_modules/supertest/lib/test.js:131:12)
      at emitCloseNT (net.js:1655:8)
      at _combinedTickCallback (internal/process/next_tick.js:135:11)
      at process._tickDomainCallback (internal/process/next_tick.js:218:9)

@OriHoch - Yeah i saw that test fail yesterday and i'll probably get around to look at it this afternoon 👍

Looks amazing. Would love if we could go over the main points tomorrow together.

Very nice split for the controllers & routers, :+1: :+1:
small suggestion though...
Frequent usage of:
router.route('path').METHOD(function()).
but in most cases a shorter & more direct approach will suffice.
router.METHOD('path', function())
according to express Api: "Use router.route() to avoid duplicate route naming and thus typing errors."
meaning that it is used for when there is a shared api path. looking at the routers, this is not the case.
example for:
router.route('/users/:user_id')
.all(function(req, res, next) {
  // runs for all HTTP verbs first
  // think of it as route specific middleware!
  next();
})
.get(function(req, res, next) {
  res.json(req.user);
})
.put(function(req, res, next) {
  // just an example of maybe updating the user
  req.user.name = req.params.name;
  // save user ... etc
  res.json(req.user);
})
.post(function(req, res, next) {
  next(new Error('not implemented'));
})
.delete(function(req, res, next) {
  next(new Error('not implemented'));
});

http://expressjs.com/en/4x/api.html#router.route
http://expressjs.com/en/4x/api.html#router.METHOD

Last thing: wrapping each router as a class, with it's own logic.
could you elaborate?
I'm not sure OOP approach, is common \ beneficial for express routes.
both MDN & express docs are functionally declaring routes.
beside being uncommon, it is also introducing new middleware flow to express where route specific middleware isn't at the top.
example, route specific middleware go on top, followed by all routes.
// middleware that is specific to this router
router.use(function timeLog (req, res, next) {
  do something
  next()
})

OOP is great when we might need to create many new instances of the same block, (many new Obj()), but for routes I'm not sure it is the case.
Express docs: http://expressjs.com/en/guide/routing.html
MDN docs: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/routes

@Yanipo5  - Regarding your questions -
api-18 - I named it temporary in order to keep a reference to routing order and functions as they were before the refactor until we validate everything works
Usage of route. every API needs to strive towards having less paths and more diverse methods on the same path, and even if we're not there - i wrote the paths ready just to add another method instead of an entire route. and in my experience, due to the nature of express docs - people tend to only know the router[method]() way - thus causing too many paths. keeping it in route form is more intuitive IMO for adding more methods.
Why OOP -

In the end what we do is write modules. and you choose the structure of the output of a module. I find class to be most suitable because you can decide on a transient vs singleton, able to extend functionality (again, we're not there but we can strive for a more generic extending approach).
If you want to see what i mean you can see https://github.com/NitayRabi/sampleexpress
Flow control - I like to choose what happens, not on a line by line basis (as exampled in docs), as for your middleware example - this is what i do in the constructor - I choose when to init routes without middleware, then activate router level middlewares and then activate post-middleware routes. and it's all a lot more readable, and controllable process (which is important in a volunteers based system, and debugging).
Design pattern - the express docs and MDN explain syntax and general approach to a certain library (express), and the OOP used is here more of a design pattern of routers-controllers-services using express.

Ok for 1 & 2,
not sure I see the benefit for 3 (OOP) of deviating from a "standard"\common approach,
particularly in order to keep Spark Dev. learning curve to a minimum.
but It's a group/your decision. (end of discussion for me).

@NitayRabi I enabled continuous deployment of this branch to sparktesting environment at https://spark.testing.midburn.org/
There is an error with the migrtaions -
ori@ori-ThinkPad-T560:~/midburn-k8s$ midbarrn-midbarrn-sparktesting$ kubectl logs spark-86866cb874-krrv8 -c migrations
Spark: knexfile.js - IN
Spark config: package.json version: 2.10.24
Spark config: .env file was not found, using default config.
Spark config: Using MySQL database sparkdb / spark
Spark: knexfile.js - OUT
Using environment: development
Error: The migration directory is corrupt, the following files are missing:<PHONE_NUMBER>1834_ticket_barcode_nullable.js
    at validateMigrationList (/home/spark/node_modules/knex/lib/migrate/index.js:536:11)
    at PassThroughHandlerContext.finallyHandler (/home/spark/node_modules/bluebird/js/release/finally.js:57:23)
    at PassThroughHandlerContext.tryCatcher (/home/spark/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/spark/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/home/spark/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/home/spark/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/home/spark/node_modules/bluebird/js/release/promise.js:693:18)
    at Promise._fulfill (/home/spark/node_modules/bluebird/js/release/promise.js:638:18)
    at PromiseArray._resolve (/home/spark/node_modules/bluebird/js/release/promise_array.js:126:19)
    at PromiseArray._promiseFulfilled (/home/spark/node_modules/bluebird/js/release/promise_array.js:144:14)
    at Promise._settlePromise (/home/spark/node_modules/bluebird/js/release/promise.js:574:26)
    at Promise._settlePromise0 (/home/spark/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/home/spark/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/home/spark/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/home/spark/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/home/spark/node_modules/bluebird/js/release/async.js:17:14)

Merged DGS allocation PR.
Merged disabling editing of camps PR
Merged Suppliers PR

@OriHoch -
Something with deploying to testing has gone wrong, how can i know what is it?

@NitayRabi if you click on the failing job you can see the full log
there is too much logs there, but the relevant error is here -
Error from server (NotFound): deployments.extensions "spark-drupal-sync" not found
failed to patch spark-drupal-sync deployment

So, there is a problem with drupal-sync, but other then that, looks like spark is deployed
this is the latest pod, looks like it's running the image for the latest commit in this PR https://console.cloud.google.com/kubernetes/pod/us-central1-a/midbarrn/sparktesting/spark-78999d6d58-mxcqb?project=midbarrn&tab=details&duration=PT1H&container_summary_list_tablesize=10


map: ensure zones are not obstructed by other elements

This needs to be integrated into the animation controller, and for some reason the offset callback broke swipe gestures on there, ...
Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>

@floatplane just a draft but would appreciate some code review so far

@floatplane this works and it's ready for review. I hear you about separate controllers, but:

we really do have a tight coupling between the map and the drawer, so I'm not sure that from an ideological perspective it's that clear of a distinction
as you know, getting these animation bits and classes to work is really not a straightforward process. I could not find any way to get the class to call back into functional hook-land without a lag, so the mapView.animateToRegion() call would always stutter pretty terribly. If you can find a way to make that work in the future, seems like we could quickly go back to having the controller only at the lower level


[Mod Suggestion]: Growthcraft And Forestry Fermenting Support

Growthcraft And Forestry Fermenting Support

Forestry added, Growrthcraft lacks a 1.7.10 API


Recovered drop-down default button action

Purpose
A small PR fixing an unintentional change of functionality of the dropdown button removing the default action it has.

Changes

bug fix affecting the 'New' and 'Open' buttons

Reviewer
@reddyashish
@QilongTang
@ivaylo-matov

Thank you @dnenov for looking into this. Would you also make the change to update package version in Dynamo repo?

Absolutely @QilongTang - do we have a Jira task number, Dynamo would need that, right?


Error Handling

Hello,
I am just starting to use this library and I am slightly confused about error handling. Seems like most of the errors throw generic exceptions and the error messages are marshalled into something that is not machine readable (https://github.com/Mangopay/mangopay2-java-sdk/blob/master/src/com/mangopay/core/RestTool.java#L885).
As mentioned, I am just starting with the library but I don't see an easy way to handle different types of errors coming back from the library. Am I missing something?

Hi @mkoppanen - our suppport team will get in touch with directly by email to help with this :-)


Windows terminal session names don't change when launching a shell from the initial shell

Running cmd.exe inside powershell for example will always show powershell.exe as the terminal session name in the dropdown.
See https://github.com/Microsoft/vscode/issues/29879#issuecomment-312051800 for a possible solution utilizing wmic.exe.
Follow up: https://github.com/Microsoft/vscode/pull/30070

The eventual solution here will probably involve a combination of caching, polling and throttling calls to wmic, utilizing knowledge we can pull from the terminal like whether any output has happened (ie. there's no point checking if nothing has changed). Even though they're short-lived processes, we need to be very careful about not doing this too much.

I think for the case of executables we should trim the .exe. We don't gain much by saying "powershell.exe" over "powershell".

@Lixire I guess the next steps on this one are to make another call to wmic ~100ms after onData fires, but reset the timer if onData is fired again. We're after this behavior:
when onData fires
  if the timer is an active timer
    reset it to 100ms
  else
    create a timer for 100ms, when it goes off get the shell name as we are on enter

After this is done we will cover all major cases I believe. We'll be checking on enter, just after a program is launched, and also when output stops streaming in, for example when a process ends and the regular prompt is displayed.


Add additional Dapr options

…o version 2022-05-01MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[x] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

hi @ahmelsayed , referring to https://github.com/Azure/azure-rest-api-specs/pull/19410/checks?check_run_id=6835959217, this PR is for a stable api version containing breaking change. would you please select below option in top comment to require a breaking change review?

@changlong-liu I selected #4 even though it's adding new optional properties to an existing API, but these properties have new validation

@changlong-liu I selected #4 even though it's adding new optional properties to an existing API, but these properties have new validation

Hi @ahmelsayed , looks like some properties are removed: https://github.com/Azure/azure-rest-api-specs/pull/19410/checks?check_run_id=6835959217


Relationship modal css issues

Laravel Version: 5.5.13
Voyager Version: 1.0.4
PHP Version: 7.1.3
Database Driver & Version: mysql 5.7.17

Description:
Relationship modal under Edit BREAD show up like this with css issues

Console output
 (this only shows a missing profile photo due to routing differences)
The dropdowns that do "function" appear to be at a much lower z-index and appear behind the other fields making them unclickable. I haven't been able to get it to a testable state to ensure there aren't issues on save. I have published the assets now multiple times and don't have any overriding views.
Steps To Reproduce:
Upgraded from 0.11.* to 1.0.4 directly and followed the steps from 0.11 > 1.0 and then 1.0 > 1.0.* on the website.

User error. I had the old version of master.blade.php overriding the original.


--strict/--no-strict flag on command line

--strict should error if part of the YAML spec is not understood.

Changed how verification of the spec files is handled, perhaps we'll revisit this later.