Undefined method `message' for false:FalseClass (NoMethodError)

When I try to run pronto on a private hosted gitlab, I get the following error:
The GitLab version we are running is: GitLab Community Edition 8.5.5
Does anyone have any ideas where this could come from?
pronto run -f gitlab -c origin/master
Running Pronto::JSHint
Running Pronto::Rubocop
/Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:117:in `error_message': undefined method `message' for false:FalseClass (NoMethodError)
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:75:in `validate'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:43:in `get'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/client/commits.rb:61:in `commit_comments'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/gitlab.rb:11:in `commit_comments'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:22:in `create_comment'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:8:in `block in format'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:7:in `map'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:7:in `format'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:45:in `block in run'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:44:in `each'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:44:in `run'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/cli.rb:52:in `run'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/bin/pronto:6:in `<top (required)>'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/pronto:23:in `load'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/pronto:23:in `<main>'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/ruby_executable_hooks:15:in `eval'
    from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/ruby_executable_hooks:15:in `<main>'

Could you try printing response here to see what it looks like?
https://github.com/NARKOZ/gitlab/blob/master/lib/gitlab/request.rb#L116

I added puts "response #{response.inspect}".
Result is:
So the response seems to be "false" because of an internal 500 error.
pronto run -f gitlab -c origin/master
Running Pronto::JSHint
Running Pronto::Rubocop
response #<HTTParty::Response:0x0 parsed_response=false, @response=#<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>, @headers={"server"⇒["nginx"], "date"⇒["Thu, 07 Apr 2016 12:28:10 GMT"], "content-type"=>["text/html; charset=utf-8"], "content-length"=>["48"], "connection"=>["close"], "cache-control"=>["no-cache, no-store, max-age=0, must-revalidate"], "expires"=>["Fri, 01 Jan 1990 00:00:00 GMT"], "pragma"=>["no-cache"], "status"=>["500 Internal Server Error"], "x-request-id"=>["d565eadb-be27-4843-bbf5-fc7fb6457769"], "x-runtime"=>["0.076593"]}>
/Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:118:in `error_message': undefined method `message' for false:FalseClass (NoMethodError)
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:75:in `validate'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:43:in `get'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/client/commits.rb:61:in `commit_comments'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/gitlab.rb:11:in `commit_comments'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:22:in `create_comment'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:8:in `block in format'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:7:in `map'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:7:in `format'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:45:in `block in run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:44:in `each'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:44:in `run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/cli.rb:52:in `run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/bin/pronto:6:in `<top (required)>'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/pronto:23:in `load'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/pronto:23:in `<main>'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/ruby_executable_hooks:15:in `eval'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/ruby_executable_hooks:15:in `<main>'pronto run -f gitlab -c origin/master
Running Pronto::JSHint
Running Pronto::Rubocop
response #<HTTParty::Response:0x0 parsed_response=false, @response=#<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>, @headers={"server"⇒["nginx"], "date"⇒["Thu, 07 Apr 2016 12:28:10 GMT"], "content-type"=>["text/html; charset=utf-8"], "content-length"=>["48"], "connection"=>["close"], "cache-control"=>["no-cache, no-store, max-age=0, must-revalidate"], "expires"=>["Fri, 01 Jan 1990 00:00:00 GMT"], "pragma"=>["no-cache"], "status"=>["500 Internal Server Error"], "x-request-id"=>["d565eadb-be27-4843-bbf5-fc7fb6457769"], "x-runtime"=>["0.076593"]}>
/Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:118:in `error_message': undefined method `message' for false:FalseClass (NoMethodError)
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:75:in `validate'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:43:in `get'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/client/commits.rb:61:in `commit_comments'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/gitlab.rb:11:in `commit_comments'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:22:in `create_comment'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:8:in `block in format'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:7:in `map'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/formatter/gitlab_formatter.rb:7:in `format'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:45:in `block in run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:44:in `each'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto.rb:44:in `run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/lib/pronto/cli.rb:52:in `run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/pronto-0.6.0/bin/pronto:6:in `<top (required)>'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/pronto:23:in `load'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/pronto:23:in `<main>'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/ruby_executable_hooks:15:in `eval'
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@project/bin/ruby_executable_hooks:15:in `<main>'

Could I trouble you to check one more thing?  Could you see what body is set to here?
https://github.com/NARKOZ/gitlab/blob/master/lib/gitlab/request.rb#L17
You should probably also check out the server logs to see why you're getting a 500 error.

So I entered:
def self.parse(body)
      puts "body is #{body}"
      body = decode(body)

Output is:
response #<HTTParty::Response:0x0 parsed_response=false, @response=#<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>, @headers={"server"⇒["nginx"], "date"⇒["Thu, 07 Apr 2016 20:01:19 GMT"], "content-type"=>["text/html; charset=utf-8"], "content-length"=>["48"], "connection"=>["close"], "cache-control"=>["no-cache, no-store, max-age=0, must-revalidate"], "expires"=>["Fri, 01 Jan 1990 00:00:00 GMT"], "pragma"=>["no-cache"], "status"=>["500 Internal Server Error"], "x-request-id"=>["7008bea2-f138-4a40-9677-49d5f95749db"], "x-runtime"=>["0.387421"]}>

Interesting fact is, that the expires is attribute is set to 01. Jan 1990.
Notable as well is, that I had to deactivate the SSL check to get a connection at all by
export GITLAB_API_HTTPARTY_OPTIONS="{verify: false}"

in the terminal.
Unfortunately I don't have access to the server right now, so I can't check the logs. Anything we could do from here?

Output should start with body is not response, right?

So true! Sorry, its getting late here...
Running Pronto::JSHint
Running Pronto::Rubocop
body is
body is
body is
response #<HTTParty::Response:0x0 parsed_response=false, @response=#<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>, @headers={"server"=>["nginx"], "date"=>["Thu, 07 Apr 2016 20:22:00 GMT"], "content-type"=>["text/html; charset=utf-8"], "content-length"=>["48"], "connection"=>["close"], "cache-control"=>["no-cache, no-store, max-age=0, must-revalidate"], "expires"=>["Fri, 01 Jan 1990 00:00:00 GMT"], "pragma"=>["no-cache"], "status"=>["500 Internal Server Error"], "x-request-id"=>["fa760704-43a7-4d6a-9055-e0abd955c2b4"], "x-runtime"=>["0.218661"]}>
body is
/Users/user/.rvm/gems/ruby-2.0.0-p643@project/gems/gitlab-3.6.1/lib/gitlab/request.rb:119:in `error_message': undefined method `message' for false:FalseClass (NoMethodError)
	from /Users/user/.rvm/gems/ruby-2.0.0-p643@ project/gems/gitlab-3.6.1/lib/g
    ....

No worries.
The output isn't totally unexpected though.  I was just hoping that the false was coming from the server but it's not.  I wanted to see if we could handle this case better and we probably can.
Unfortunately, the only way to tell what's causing the 500 error would be to hop on the server and check the logs.

Alright, I hope to get the error log tomorrow from my colleague. I'll let u know!

So I hope we got the right logs:
zgrep -A 15 -B 10 'Completed 500' production.log*
Completed 200 OK in 61ms (Views: 0.3ms | ActiveRecord: 4.8ms)
Started GET "/<CONFIDENTIAL>/<CONFIDENTIAL>/notes?target_id=5608&target_type=merge_request&last_fetched_at=1460030077" for <IP_ADDRESS> at 2016-04-07 13:54:52 +0200
Processing by Projects::NotesController#index as JSON
  Parameters: {"target_id"=>"5608", "target_type"=>"merge_request", "last_fetched_at"=>"1460030077", "namespace_id"=>"<CONFIDENTIAL>", "project_id"=>"<CONFIDENTIAL>"}
Completed 200 OK in 73ms (Views: 0.3ms | ActiveRecord: 6.4ms)
Started POST "/api/v3/internal/allowed" for <IP_ADDRESS> at 2016-04-07 13:55:00 +0200
Started POST "/api/v3/internal/allowed" for <IP_ADDRESS> at 2016-04-07 13:55:00 +0200
Started GET "/projects/<CONFIDENTIAL>%2Fstandard/repository/commits/8d8c7e332769b2ebdac9216265dc6fce1195a90e/comments?per_page=500" for <IP_ADDRESS> at 2016-04-07 13:55:00 +0200
Processing by NamespacesController#show as JSON
  Parameters: {"per_page"=>"500", "id"=>"projects/<CONFIDENTIAL>/standard/repository/commits/8d8c7e332769b2ebdac9216265dc6fce1195a90e/comments"}
Completed 500 Internal Server Error in 52ms (ActiveRecord: 5.5ms)

ActionView::MissingTemplate (Missing template opt/gitlab/embedded/service/gitlab-rails/public/404 with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :haml]}. Searched in:
  * "/opt/gitlab/embedded/service/gitlab-rails/app/views"
  * "/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/kaminari-0.16.3/app/views"
  * "/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/doorkeeper-2.2.2/app/views"
  * "/opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/devise-3.5.4/app/views"
  * "/var/opt/gitlab/gitlab-rails/working"
  * "/"
):
  app/controllers/application_controller.rb:183:in `render_404'
  app/controllers/namespaces_controller.rb:22:in `show'
....

*Note: * As this is a company server, I removed the project names.
So it looks like the gitlab gem is trying to access a view as JSON which is not available.
What do you think?

@sebastianzillessen Are you sure you're using API endpoint and not gitlab itself? I had the same issue when I tried to access API, but forgot about /api/v3/ part.

@sebastianzillessen Please verify that the endpoint is set correctly.
Started GET "/projects/<CONFIDENTIAL>%2Fstandard/repository/commits/8d8c7e332769b2ebdac9216265dc6fce1195a90e/comments?per_page=500" for <IP_ADDRESS> at 2016-04-07 13:55:00 +0200

I would expect this GET to start with /api/v3, as @bikolya (thanks!) pointed out.

So true, sorry for the inconvenience!

I seem to be getting this now possibly because of gitlab 8.17 ?


Using insert on a separate insertion struct returns the insertion struct instead of the original

When using the insert function on a separate insertion struct, it returns the insertion struct instead of the original struct.
Dependencies:
[dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
ormlite = { version = "0.18", features = ["sqlite"] }

Working case without separate insertion struct:
use ormlite::model::*;
use ormlite::sqlite::SqliteConnection;
use ormlite::Connection;

#[derive(Model, Debug)]
#[ormlite(insertable = InsertPerson)]
pub struct Person {
    pub id: i32,
    pub name: String,
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut conn = SqliteConnection::connect(":memory:").await.unwrap();
    let insert_person = InsertPerson {
        name: "abc".to_string(),
    };
    let inserted_person: Person = insert_person.insert(&mut conn).await?;
    Ok(())
}

Non-working case with separate insertion struct:
use ormlite::model::*;
use ormlite::sqlite::SqliteConnection;
use ormlite::Connection;

#[derive(Model, Debug)]
pub struct Person {
    pub id: i32,
    pub name: String,
}

#[derive(Model, Debug)]
#[ormlite(table = "person")]
pub struct InsertPerson {
    pub id: i32, // Needed because of issue #53
    pub name: String,
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut conn = SqliteConnection::connect(":memory:").await.unwrap();
    let insert_person = InsertPerson {
        id: 1,
        name: "abc".to_string(),
    };
    let inserted_person: Person = insert_person.insert(&mut conn).await?; // Compilation fails
    // Compiler says the return type is InsertPerson and not Person
    Ok(())
}

Error:
error[E0308]: `?` operator has incompatible types
  --> src/main.rs:25:35
   |
25 |     let inserted_person: Person = insert_person.insert(&mut conn).await?;
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Person`, found `InsertPerson`
   |
   = note: `?` operator cannot convert from `InsertPerson` to `Person`
note: return type inferred to be `Person` here
  --> src/main.rs:25:35
   |
25 |     let inserted_person: Person = insert_person.insert(&mut conn).await?;
   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

It doesn't seem expected that the behaviour is different between the 2 ways of having insertion struct.

This is fixed in a newly cut version, 0.19.
See the test 06-insert.rs for usage, copied here:
#[derive(Model)]
#[ormlite(insert = "InsertUser")]
// Note the previous syntax, #[ormlite(insertable = InsertUser)] still works, but the new syntax is preferred.
pub struct User {
    id: i32,
    name: String,
    #[ormlite(default)]
    secret: Option<String>,
    #[ormlite(default_value = "5")]
    number: i32,
    #[ormlite(column = "type")]
    ty: i32,
    #[ormlite(join_column = "org_id")]
    organization: Join<Organization>,
}

#[derive(Insert)]
#[ormlite(returns = "User")]
pub struct InsertUser2 {
    name: String,
    number: i32,
    #[ormlite(column = "type")]
    ty: i32,
    org_id: i32,
}

Released as 0.19 because I batched some other updates, upgrading to sqlx 0.8, among other updates.
I'll mark as resolved, but feel free to respond and/or open a new issue if you still run into issues.

Thanks for the new version, it works perfectly.


RTL direction

add RTL mode for this lib

Hi @hamedg68,
Added RTL support in xlsx only. Please try with newer version(1.0.23).
<download-excel       class="btn"       :fetch="fetchData"       :before-generate="startDownload"       :before-finish="finishDownload"       type="xlsx" worksheet="My Worksheet"       name="filename.xlsx"       :rtl="true"     >       Download Excel (you can customize this with html code!)     </download-excel>
Thanks,
Pratik Patel

https://github.com/pratik227/vue3-json-excel/pull/24


Running ATM on a cluster

Hi.
Sorry if I missed it in the docs or Readme, but I can't seem to find details about running ATM on a cluster (local). Do I have to implement this myself using something like Apache Spark?
Thanks

Hi @beevabeeva
The current ATM version is already prepared to run as a cluster, but setting it up is currently a responsibility of the user.
All you have to do to have a cluster running is starting multiple worker instances.
These worker instances can either be all on the same machine or on different machines, and the only requirements are:

All the machines need to have access to the database being used.
All the machines need to have access to the data in the same way by either having a shared filesystem which is mounted in the same path for all the machines or using an S3 bucket as the dataset source.

For example, if you just wanted to start a cluster with 4 workers on your local machine, all you need to do is running the following two commands:
atm enter_data ...your enter_data options here..
for i in {1..4}; do atm worker ..your worker options here.. > /dev/null & done

The first command will enter your data as usual, and the second one will start 4 workers as background processes, redirecting their outputs to /dev/null to avoid cluttering your console, as you will be able to find their logs in the logs/{your hostname}.txt  file anyway.
I hope this helps!

Also see #130, which will make cluster management much easier once done.

Closed via #133


Fix error in addCommand method

Hello!
This pull request fixes a bug #1539 in webdriverio.
I wrote tests for this bug and check the corrected version on my project and I ran integration tests in wdio-mocha-framework. Everything works correctly, and it's cool :)
Can you please accept this pull request, update the wdio-sync package and update the version of wdio-sync in wdio-mocha-framework?

I also found that these fixes solve issue #1796 in webdriverio. Keep this in mind ;)

Keep this in mind ;)

I am sure I tried to implement it that way but it was not working for some reasons. Thanks for the PR. I will have to take a closer look tho.

@christian-bromann, hi! Is there anything we can do to speed the merge process along?

Merging, even though I am afraid I tried it this way and it caused something else to break.


manifest: update to latest firmware

Update hal_nordic.

this is updating blobs, would be nice to have some more details and at least mention this in the PR title.


Snark worker not running on-demand

I've traced the bug a bit, and I think it's in this line
https://github.com/olton/mina-node-monitor/blob/master/server/modules/snark-worker.js#L75
which wants null, while it's already set to false in
https://github.com/olton/mina-node-monitor/blob/master/server/index.js#L59
so it never starts. If possible please verify the correct operation of starting/stopping snark worker
Thanks!

show your config parameters for Snark Worker

@olton thanks .. here you are
    "snarkWorker": {
        "address": "B62qojCVaJ3dKYgBUieccF3A3qzVEotn4Qd5k4tNU8QPNgVhZTpLwit",
        "fee": 0.00133,
        "stopBeforeBlock": "5m",
        "startAfterBlock": "1m",
        "runWorkerCommand": "mina client set-snark-worker -address B62qojCVaJ3dKYgBUieccF3A3qzVEotn4Qd5k4tNU8QPNgVhZTpLwit",
        "setWorkerFeeCommand": "mina client set-snark-work-fee 0.00133",
        "controlInterval": "10s"
    },

Must be
"runWorkerCommand": "mina client set-snark-worker -address

Must be
"runWorkerCommand": "mina client set-snark-worker -address <ADDRESS>

Thanks @olton  .. I've modified it as below, but I still do not see a message saying snark is starting
    "snarkWorker": {
        "address": "B62qojCVaJ3dKYgBUieccF3A3qzVEotn4Qd5k4tNU8QPNgVhZTpLwit",
        "fee": 0.00133,
        "stopBeforeBlock": "5m",
        "startAfterBlock": "1m",
        "runWorkerCommand": "mina client set-snark-worker -address <ADDRESS>",
        "setWorkerFeeCommand": "mina client set-snark-work-fee <FEE>",
        "controlInterval": "10s"
    },

Thanks, my mistake, I will fix it today. Currently, you can change in server index.js line 59
https://github.com/olton/mina-node-monitor/blob/master/server/index.js#L59
from
globalThis.snarkWorkerStopped = false

to
globalThis.snarkWorkerStopped = null


"client.host_names" segment fault

https://github.com/nusdbsystem/pivot/blob/master/src/models/cart_tree.cpp#L306   When the program runs at this point, a segment error occurs.
I try to cout "client.host_names", however, an error occurs when the cout statement is compiled.

The setup_sockets function is to set up communications with the MPC parties, you may need to check your Pivot_SPDZ parties are started and are listening on the correct ports, following the configurations here.
The cout line you add is incorrect as vector cannot be printed directly in c++. Try to print using the for loop.


about data/eeg_data.csv and data/target.csv

Hi, I am interesting in your experiment.
However, after applying to the dataset, I found that there is no such thing as EEF_DATA. CSV and target.csv data files.

Hi @JJFORJEY !
First of all, thanks for the interest you have in this project.
The dataset you mentionned is indeed missing, as it is the property of the UCLouvain university...
If you wish to obtain a personnal copy, please contact me on my work email (tim.bary@uclouvain.be).
Nonetheless, I would recommend to work with the wider dataset from the Temple University Seizure Detection Corpus (TUSZ). It is possible to ask for this dataset by filling a form a this address: https://isip.piconepress.com/projects/nedc/html/tuh_eeg/
I will update the readme file to make this clarification appear.
All the best,
Tim

The readme file has been updated with the relevant information. Closing this issue...
Please, feel free to contact me if you need any further information.


Can't find "Your Music" menu for Spotify

I apologize if I'm missing something simple, but I am running moped on a RPi and appear to have [spotify] and  [spotify_tunigo] configured correctly since I can access some spotify resources.
The one thing I can't find are the "My Music" category and subcategory that I have on my spotify client.
Is there a way to configure this as a user?

It's not available as the library mopidy-spotify uses to talk to Spotify does not support this feature.


clash-verge: 1.3.3 -> 1.3.4

Description of changes
Diff: https://github.com/zzzgydi/clash-verge/compare/v1.3.3...v1.3.4
Changelog: https://github.com/zzzgydi/clash-verge/releases/tag/v1.3.4
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Upstream removed the download in the meantime, apparently.  So it's broken on Hydra: https://hydra.nixos.org/build/228780670

My guess is that they're hinting that people should update to 1.3.5 instead?

Weird. anyway, I created a PR https://github.com/NixOS/nixpkgs/pull/245040 to 1.3.5


Deprecate DeviceManagerProfile in favor of inherited property

DeviceManagerProfile has the exact same type as the Profile a couple lines higher, so it can be safely deprecated in favor of the inherited property.
https://github.com/microsoft/MixedRealityToolkit-Unity/blob/4f7a007c7dfadb725613667cef34470db8c7d038/Assets/MRTK/Core/Definitions/MixedRealityInputDataProviderConfiguration.cs#L42-L43

/azp run


Refresh

Need by https://github.com/ODM2/conda-recipes-ODM2/pull/43

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


feat: replace bhai with dost

Bhaio aur behno, hum sab dost hai.
co-authored with: @kamleshchandnani

Are... aapne to bhailang se bhai he remove kr diya 😆

@chaitanyadeorukhkar
(meant to be taken as light-hearted banter, thx)

Thanks for your contribution folks but we are going to stay with "bhai" keyword because its the core gist of the whole language at this point we won't be able to make any change, maybe you folks can make - "DostLang" ❤ .
One more thing - "Bhai" is a feeling, not just a keyword. haha.
Closing this one.


Review dicts

[ ] clear

[ ] supported in Acton?
[ ] unit test
[ ] AbE

[ ] copy

[ ] supported in Acton?
[ ] unit test
[ ] AbE

[ ] fromkeys

[ ] supported in Acton?
[ ] unit test
[ ] AbE

[x] get

[x] supported in Acton?
[x] unit test
[x] AbE

[x] items

[x] supported in Acton?
[x] unit test
[x] AbE

[x] keys

[x] supported in Acton?
[x] unit test
[x] AbE

[ ] pop

[ ] supported in Acton?
[ ] unit test
[ ] AbE

[x] popitem

[x] supported in Acton?
[x] unit test
[x] AbE

[ ] setdefault

[ ] supported in Acton?
[ ] unit test
[ ] AbE

[ ] update

[ ] supported in Acton?
[ ] unit test
[ ] AbE

[x] values

[x] supported in Acton?
[x] unit test
[x] AbE

Seemingly not implemented: (should we implement?)

clear
copy
pop

@nordlander @sydow do we need to test the different types of things in dicts, like is it meaningful to test dict[str, str] and repeat same test for a dict[str, int] and dict[int, int]?

Also, how do I compare two dicts?
    a = {"a": 1}
    b = {"a": 1}
    if a != b:
       print("a != b")
       await async env.exit(1)

this checks if a and b are references to the same thing, like same address... but how can I compare their content?
I've used repr(a) != repr(b).. but it feels expensive!?
And to verify, I think equality on lists does compare the contents of the list rather than its identity, right @nordlander @sydow ?

The bug you found in equality tests for dictionaries (which should be fixed any minute) shows that you should do similar tests for different types of keys and values. I am sure I tested equality for dictionaries but used ints as keys and not strs, and this bug didn’t appear.
Björ

On 28 Dec 2022, at 10:59, Kristian Larsson @.***> wrote:
@nordlander @sydow do we need to test the different types of things in dicts, like is it meaningful to test dict[str, str] and repeat same test for a dict[str, int] and dict[int, int]?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Similar to #1132, should we add the missing methods? @nordlander @sydow

pop
clear
copy

This comment touches also on questions raised in other issues. They all come down to "Why is this method not supported in Acton as in Python". They all (?) have similar answers that go back to the days when we first implemented protocols. This was a tentative move and we did a first version, and then time and funding ran out and we have not followed up.
One guiding idea was to let our protocols be inspired by Python's abstract base classses, both for collections (https://docs.python.org/3/library/collections.abc.html) and for numbers (https://docs.python.org/3/library/numbers.html).
An early problem with collections was that methods pop and clear were present in several mutable base classes (sets, mappings and sequences).  At that point we didn't want to introduce too many interrelated protocols, so we left pop and clear for the future. Later, when we did protocols for numbers, we had to give up and introduce separate protocols Plus, Minus, Times and Div, each with only one operator (and the corresponding incremental operator).
As regards copy there has been much debate in Python whether to include it in various base classes or not. To cite just one message in this debate, Guido van Rossum says [https://bugs.python.org/issue22101#msg224430]

You need to learn when to give up. :-)
I wasn't the one who added a copy() method to other containers.  I personally despise almost all uses of "copying"
(including the entire copy module, both deep and shallow copy functionality).  I much prefer to write e.g. list(x) over
x.copy() -- when I say list(x) I know the type of the result.

Perhaps it is time to think carefully about how many (and which) protocols to have as builtins before we just add a subprotocol containing pop and clear (and copy). In general, I don't think that it is a good idea to add all functions that exist in Python (this is not to say that we don't miss some useful functions at present).
How should we go forward with this?

I'm actually quite okay with our dicts overall. I started reviewing lists where I felt the lack of index and pop was painful. I just continued with dicts for completeness. I don't think python is some golden reference that we must follow. Things should make sense in Acton. We do need to answer how to clear and copy dicts though?
I have never used .clear() in python so can't say I find it that useful... But I also don't see why it would be so hard to implement. Am I correct in understanding that you are more concerned with the protocol hierarchy than the actual (C) function for doing clear and others?
.copy() seems useful but many times I think beginner users are fooled by shallow copies and if there is another way to (deep?) copy a dict then that's fine too, we just need to tell our users how.
.pop() feels natural to me though. It can of course be emulated by a get on a key followed by del, but why not support .pop()?
If this is a (base class) protocol thing, should we discuss this as a generic topic across all our collection types rather than per method?

@sydow we already support .copy() on lists. We could instead tell users to do b = list(a) to get a (deep?) copy of the list, right? and then we could remove list.copy() for consistency and less confusion...

@nordlander and I have discussed deep vs shallow copy in another meeting. Just want to jot down the outcome of that... AFAIR we like the ideas of Rossum that we don't need a .copy() function but should encourage c = dict(x) to get a copy of x. It should be a shallow copy though. I initially argued for a deep copy because I think that's often what people want, but it doesn't make sense. Johan had some specific examples that I can't remember the details of but whatever it was, it convinced me. Maybe that you can have actor references in a dict and getting a copy of an actor is like.. wut? What would that even mean, we can't read the private state of another actor and so can't take a copy of it.
I think we should have some way of doing deep copy though. Should that be a separate module / function? At least as interrim solution I guess that would be fine.


Interfaces to expose internal APIs for SIXEL

This pull request adds several interfaces to optionally expose screen implementations for SIXEL graphics and such. It does not break any existing API or behavior. The Windows implementation of the screen is untouched and therefore will not support any of these new interfaces.
Author: diamondburned<EMAIL_ADDRESS>Date:   Fri Feb 26 23:24:24 2021 -0800

    Add interceptor and pixel APIs for raw terminal support

    This commit adds several interfaces to allow raw terminal support, such
    as for SIXEL graphics.

    DrawInterceptor was added for extensions to intercept each draw event
    to synchronize its state with the screen's and redraw things it needs to
    while occupying the screen lock to prevent data race with the user.

    PixelSizer was added to expose the screen's size in pixels from
    TIOCGWINSZ. This is needed to properly resize and position SIXEL images
    on the terminal.

    CellBufferViewer was added for low-level efficient damage tracking for
    draw interceptors to synchronize the screen state.

Author: diamondburned<EMAIL_ADDRESS>Date:   Thu Mar 4 17:19:36 2021 -0800

    Dispatch ResizeEvent after drawing

    This commit changes the Unix screen to dispatch events only after
    drawing. This helps draw interceptors update its states in time before
    the user gets the event.

Proof-of-concept
As of the time this pull request was made, a tcell SIXEL library was written as a proof-of-concept that such an API could be used for not just static SIXEL images but also animations:

My biggest concern with this is understanding how we handle understanding where the graphical content, and what the interaction with text is or should be.  We don't know the size of the text (although perhaps we can take the screen dimensions in pixels and divide by the screen dimensions in characters?)
What are the interactions if the terminal is resized to a partial character width?  (Is that possible?)
Are sixel images supposed to occupy an integral number of character cells?  What happens if they don't?  Are there interactions with text placed nearby?
How will this all work with the redraw model, which keeps a model of the screen in case the screen needs to be resized?
Ultimately, I need to better understand how this graphical content is going to work within our larger model.  This represents a substantial enough departure from everything else we do, that while it's cool, I don't want to rush into it only to be faced with a ton of problems later.

Before answering those questions, I'd like to add that the added changes actually have nothing to do with SIXEL directly. They're changes that merely expose the underlying APIs so the caller have more control over the terminal, and since tcell (draw-wise) does not handle automatic (and/or relative) layouting, the current design doesn't conflict with anything already in place.

We don't know the size of the text (although perhaps we can take the screen dimensions in pixels and divide by the screen dimensions in characters?)

This is what the PixelSizer interface is supposed to expose: TIOCGWINSZ by default tries to get the terminal's pixel sizes, and on terminals capable of drawing SIXEL images, the pixel sizes can be obtained. The cell dimension can then be calculated from it. Below is a snippet from tsixel's implementation which allows getting the cell dimension in pixels:
// ScreenState stores the screen size in two units: cells and pixels.
type ScreenState struct {
	Cells  image.Point
	Pixels image.Point
}

func (sz *ScreenState) update(screen tcell.Screen) {
	sz.Cells.X, sz.Cells.Y = screen.Size()

	pxsz, _ := screen.(tcell.PixelSizer)
	sz.Pixels.X, sz.Pixels.Y = pxsz.PixelSize()
}

// CellSize returns the size of each cell in pixels.
func (sz ScreenState) CellSize() image.Point {
	return image.Point{
		X: sz.Pixels.X / sz.Cells.X,
		Y: sz.Pixels.Y / sz.Cells.Y,
	}
}

What are the interactions if the terminal is resized to a partial character width? (Is that possible?)

This should depend on how the geometry is implemented, but from what I've seen of my implementation, the geometry just gets calculated to 0:

I don't even think this is possible, and the terminal is likely smart enough to report the appropriate pixel sizes. For example, the terminal I'm using (foot) reports a geometry of (2, 1) for the size in cells and (16, 16) for the size in pixels.

Are sixel images supposed to occupy an integral number of character cells? What happens if they don't? Are there interactions with text placed nearby?

They're not supposed to. The only size limit for SIXEL is that the height must be in multiple of 6, because each SIXEL strip is 6 pixels tall and 1 pixel wide. To properly layout SIXEL images onto the terminal in a cell-friendly way, certain edge cases must be accounted for. Below is tsixel's implementation of a function that converts a pair of coordinate from cells to pixels:
// PtInPixelsRounded converts a point which unit is in cells to pixels and
// rounds it to be within the SIXEL multiples.
func (sz ScreenState) PtInPixelsRounded(pt image.Point) image.Point {
	cell := sz.CellSize()

	pt.X *= cell.X
	pt.Y *= cell.Y

	// Whatever.
	if pt.X == 0 || pt.Y == 0 {
		return pt
	}

	// Round the image down to the proper SIXEL heights.
	excessY := pt.Y % SIXELHeight

	// Account for this loss in the width.
	pt.X -= excessY * pt.X / pt.Y // floor division
	pt.Y -= excessY

	// Round the image down to the cell size after we changed the size to no
	// longer round.
	if excessY > 0 {
		excessX := pt.X % cell.X

		// Account for the loss of the loss.
		pt.X -= excessX
		pt.Y -= ceilDiv(excessX*pt.Y, pt.X) // ceiling division
	}

	return pt
}

How will this all work with the redraw model, which keeps a model of the screen in case the screen needs to be resized?

CellBufferViewer was exposed for this reason. Its job is to expose the underlying cell buffer for damage tracking using the new DirtyRegion method, which behaves similarly to Dirty with a slightly different out-of-bound behavior.
SIXEL implementations may or may not utilize this API to minimize redraws: if the region is not damaged and the terminal was not resized, then the SIXEL image would still be on the screen, therefore a redraw of that is not needed. Right now, tsixel does utilize this API.

Unrelated to this PR (at all), it seems like foot supports terminal synchronized updates. I think it would be another nice thing I could work on for a pull request.

The other thing I'd do is then add at that level the interceptor there. So you have direct access to the file handle (fd) we use to talk to the terminal.

I like this approach. I have done a few different ways to implement sixels with tcell, and the limitations all come down to:

Assume os.Stdout is the same as the tty tcell is drawing to (fair assumption most of the time, but I'd rather have Write access to the Tty interface)
Mark the region I've drawn a sixel in as dirty. I can hack around this by setting a "unique" tcell.Style for the cells I want to be considered dirty.

To me, exposing the Tty and exposing a way to manually set a region of the screen as dirty should be sufficient. My implementations haven't needed a draw hook to work, but there are certainly other ways to do it that would require it I imagine.
type Screen interface{
        ...
        // Tty returns the underling tty, if the screen is a terminal
        Tty() (Tty, bool)

        // SetDirty sets the underlying cells as dirty
        SetDirty(x, y, width, height int)
}

2. Mark the region I've drawn a sixel in as dirty. I can hack around this by setting a "unique" tcell.Style for the cells I want to be considered dirty.

I started on an implementation in tcell and see I can use rune(0) to force a dirty cell. Perhaps the SetDirty method wouldn't be needed at all and implementers of direct drawing can call SetContent with a rune(0) as the main character.

@diamondburned Do you mind if I take a stab at a new PR addressing this?

@diamondburned Do you mind if I take a stab at a new PR addressing this?

Please do; I also really want to see a better API for SIXEL support in tcell.

I think the TTY being exposed now enables this, and we can close this PR.  I'm closing it. If there is additional functionality needed, please feel free to open a new one based against current master.


mmlu_flan tasks fail

I'm new to this library. I installed the library as instructed on the README page. Running:
lm_eval --model hf --model_args pretrained=gpt2 --tasks mmlu_flan_cot_zeroshot

results in the following error:
INFO:lm-eval:Verbosity set to INFO
INFO:lm-eval:The tag 'arc_ca' is already registered as a group, this tag will not be registered. This may affect tasks you want to call.
INFO:lm-eval:The tag 'arc_ca' is already registered as a group, this tag will not be registered. This may affect tasks you want to call.
INFO:lm-eval:Selected Tasks: ['mmlu_flan_cot_zeroshot']
INFO:lm-eval:Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234
INFO:lm-eval:Initializing hf model, with arguments: {'pretrained': 'gpt2'}
INFO:lm-eval:Using device 'cuda'
INFO:lm-eval:Using model type 'default'
INFO:lm-eval:Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda'}
Using the latest cached version of the module from /lustre/orion/stf218/scratch/emin/huggingface/modules/datasets_modules/datasets/hails--mmlu_no_train/b7d5f7f21003c21be079f11495ee011332b980bd1cd7e70cc740e8c079e5bda2 (last modified on Tue Nov  5 09:34:31 2024) since it couldn't be found locally at hails/mmlu_no_train
WARNING:datasets.load:Using the latest cached version of the module from /lustre/orion/stf218/scratch/emin/huggingface/modules/datasets_modules/datasets/hails--mmlu_no_train/b7d5f7f21003c21be079f11495ee011332b980bd1cd7e70cc740e8c079e5bda2 (last modified on Tue Nov  5 09:34:31 2024) since it couldn't be found locally at hails/mmlu_no_train
WARNING:lm-eval:filter `<class 'utils.MultiChoiceRegexFilter'>` is not registered!
Traceback (most recent call last):
  File "/lustre/orion/stf218/scratch/emin/miniconda3/bin/lm_eval", line 8, in <module>
    sys.exit(cli_evaluate())
             ^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/__main__.py", line 382, in cli_evaluate
    results = evaluator.simple_evaluate(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/utils.py", line 397, in _wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/evaluator.py", line 235, in simple_evaluate
    task_dict = get_task_dict(tasks, task_manager)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/tasks/__init__.py", line 618, in get_task_dict
    task_name_from_string_dict = task_manager.load_task_or_group(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/tasks/__init__.py", line 414, in load_task_or_group
    collections.ChainMap(*map(self._load_individual_task_or_group, task_list))
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/tasks/__init__.py", line 398, in _load_individual_task_or_group
    group_name: dict(collections.ChainMap(*map(fn, reversed(subtask_list))))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/tasks/__init__.py", line 398, in _load_individual_task_or_group
    group_name: dict(collections.ChainMap(*map(fn, reversed(subtask_list))))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/tasks/__init__.py", line 314, in _load_individual_task_or_group
    return _load_task(task_config, task=name_or_config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/tasks/__init__.py", line 280, in _load_task
    task_object = ConfigurableTask(config=config)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/api/task.py", line 833, in __init__
    filter_pipeline = build_filter_ensemble(filter_name, components)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lustre/orion/stf218/scratch/emin/lm-evaluation-harness/lm_eval/filters/__init__.py", line 21, in build_filter_ensemble
    f = partial(get_filter(function), **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: the first argument must be callable

Same issue mentioned in several other issues: e.g. https://github.com/EleutherAI/lm-evaluation-harness/issues/1885, https://github.com/EleutherAI/lm-evaluation-harness/issues/2094, so it seems to be a long-standing issue.
I tried several previous releases, but getting a panoply of errors each time. Is there any way at all to evaluate models on mmlu_flan tasks (a particular previous commit that demonstrably works, a relatively straightforward patch, etc.)? These are pretty fundamental tasks in LLM evals. It seems a bit unfortunate that the library persistently fails on this set of tasks.

Hi! Should be fixed but the PR

Thank you very much for the quick response. I can confirm that the submitted PR fixes the issue for me.

Hmm, I'm getting awfully low scores though. Accuracy for llama-3.1-8b seems to be in the single digits, whereas Meta reports it to be 73.0. Are we sure that the config for this task is set up correctly? It's hard for me to verify this, since I'm very new to this library. Would you be able to check the performance of the model meta-llama/Llama-3.1-8B for instance?

Hmm, I'm getting awfully low scores though. Accuracy for llama-3.1-8b seems to be in the single digits, whereas Meta reports it to be 73.0. Are we sure that the config for this task is set up correctly? It's hard for me to verify this, since I'm very new to this library. Would you be able to check the performance of the model meta-llama/Llama-3.1-8B for instance?

do you have a reference for this?

Yes, this post by Meta reports the performance of llama-3.1-8b on the zero-shot CoT MMLU to be 73.0: https://ai.meta.com/blog/meta-llama-3-1/ That is supposed to be the same eval as mmlu_flan_cot_zeroshot, right?


feat: improve ecosystem smart account handling

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR focuses on improving the handling of ecosystem smart accounts in the thirdweb library, enhancing the fetching and management of ecosystem wallet data, and refining the connection processes.
Detailed summary

Enhanced the hasSmartAccount function to improve smart wallet detection.
Renamed getEcosystemOptions to getEcosystemInfo for clarity.
Updated fetching logic in getEcosystemWalletInfo to use getEcosystemInfo.
Refined error handling for unauthorized access in ecosystem wallet fetching.
Removed unused chain ID references in AuthOptionsForm.
Improved error messaging for required chain parameters in smart account connections.
Streamlined the connection processes in createInAppWallet and connectInAppWallet functions.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#5212  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @joaquim-verges and the rest of your teammates on  Graphite


Encode file path if part of url argument

Special characters (such as & and #) need to be encoded if used in an url argument including file paths with these characters too.

Solves #826, #945, #958, #959

I hope I got all occurrences. I believe this is just the beginning, nearly all of my plugins need to be patched too. 🙈😄


Complete UndeleteOperation and add UndeleteOperationTracker

Finish the implementation of UndeleteOperation.

Add handleResponse and poll method
Add UndeleteOperationTracker
Add tests for UndeleteOperation and UndeleteOperationTracker.

Codecov Report

Merging #1480 into master will increase coverage by 0.34%.
The diff coverage is 85.78%.

@@             Coverage Diff              @@
##             master    #1480      +/-   ##
============================================
+ Coverage     73.27%   73.62%   +0.34%
- Complexity     7917     7997      +80
============================================
  Files           559      560       +1
  Lines         43401    43590     +189
  Branches       5449     5479      +30
============================================
+ Hits          31803    32092     +289
+ Misses        10019     9900     -119
- Partials       1579     1598      +19

Impacted Files
Coverage Δ
Complexity Δ

.../java/com/github/ambry/router/UndeleteManager.java
82.47% <66.66%> (+62.90%)
16.00 <7.00> (+13.00)

...ava/com/github/ambry/router/UndeleteOperation.java
83.85% <82.11%> (+83.85%)
41.00 <25.00> (+41.00)

.../github/ambry/router/UndeleteOperationTracker.java
94.11% <94.11%> (ø)
18.00 <18.00> (?)

...ain/java/com/github/ambry/config/RouterConfig.java
97.93% <100.00%> (+0.04%)
1.00 <0.00> (ø)

.../java/com/github/ambry/router/RouterErrorCode.java
100.00% <100.00%> (ø)
1.00 <0.00> (ø)

.../github/ambry/router/NonBlockingRouterMetrics.java
87.77% <100.00%> (+1.05%)
64.00 <0.00> (+2.00)

...om/github/ambry/router/SimpleOperationTracker.java
92.89% <100.00%> (+0.22%)
77.00 <0.00> (+1.00)

...java/com/github/ambry/store/CompactionManager.java
89.88% <0.00%> (-2.39%)
25.00% <0.00%> (ø%)

...java/com/github/ambry/network/SSLTransmission.java
70.15% <0.00%> (-0.93%)
75.00% <0.00%> (ø%)

...rc/main/java/com/github/ambry/store/BlobStore.java
89.18% <0.00%> (-0.19%)
115.00% <0.00%> (-2.00%)

... and 12 more

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 1189ff1...c73dbb6. Read the comment docs.


daemon: move policy trifecta leftovers (policy, ipcache & identityallocator)  to respective cells

Please review the individual commits.
Follow-up of #34332

/test

/test

renamed wrong packagename (packagecell -> policycell)

/test

This is another great step forward for the modularization effort!
I’ve been looking into modularizing pkg/identity.
@mhofstetter, this seems to be an important part of the work for https://github.com/cilium/cilium/issues/23767.
cc @jrife


Fix toggler color

When using the mobile version of this project, the toggler is invisible or it uses the white for the toggler

fixed


Fixes setting visibility on GridMap, issue #907

Basically, GridMap wasn't reacting to the NOTIFICATION_VISIBILITY_CHANGED event. This reacts to such event and walks over the set of Octants and all of their MultiMeshInstances to set their visibility on the VisualServer.

@akien-mga this is my first PR to Godot, so I'm not sure everything is correct. In editor, visibility works as expected now on GridMap. However, when I run the project it doesn't. Is it because Godot is running a different process? Am I missing something?
It'd be great if you could test these changes locally, I don't want a bad fix to get merged. Apologies for the n00b-ness.

Fun Fact: #907 is the oldest issue labelled for 3.0

clang-format nitpicks on two of the lines: https://travis-ci.org/godotengine/godot/jobs/271847136
Could you amend the commit to fix it? http://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html#mastering-the-pr-workflow-the-rebase

Absolutely, will do this evening.
Good job on labelling things as "junior jobs", very useful for newcomers. Thanks.

@akien-mga should be fixed now

The build failure seems unrelated to the changes in this PR.


How embed an __uint128_t?

I would use as element in a container an "almost" native type __uint128_t (from inttypes.h). For lack of knowledge on the OPLIST topic I was not able to define a proper one.
Here the example:
#include <inttypes.h>
#include <m-tuple.h>

#define uint128_t __uint128_t
// first attempt:
// #define M_OPL_uint128_t() M_DEFAULT_OPLIST

// second attempt:
#define M_OPL_uint128_t()                                                      \
    (INIT(M_INIT_DEFAULT), INIT_SET(M_SET_DEFAULT), SET(M_SET_DEFAULT),        \
     CLEAR(M_NOTHING_DEFAULT))

TUPLE_DEF2(my_tuple, (x, int), (y, uint128_t))
#define M_OPL_my_tuple_t()                                                     \
    TUPLE_OPLIST(my_tuple, M_DEFAULT_OPLIST, M_OPL_uint128_t())

int main() {
    M_LET(t, my_tuple_t) {}
}

Your code is nearly right. The oplist definition is ok. The error is somewhere else. You should use :
typedef __uint128_t uint128_t;
instead of
#define uint128_t __uint128_t
The macros M_OPL_name() only works with types defines with typedef (well, to be exact with types that are expanded by the preprocessor as single token type).
What happens is that in TUPLE_DEF2(my_tuple, (x, int), (y, uint128_t)),
uint128_t was replaced by  __uint128_t, before M*LIB is able to test if the oplist exists.
So it tests for the existence of the macro M_OPL___uint128_t() instead of  M_OPL_uint128_t().
Since such macro doesn't exist, it uses the standard type oplist which is not compatible with
__uint128_t (in C11, it is compatible in C99).

Ok, thanks. The use of #define to create new type is an old bad habit...


Integrate hdfs services with hdfs-native

https://github.com/Kimahriman/hdfs-native is a pure Rust implementation of an HDFS client. It might be worth considering integrating it as a new service in opendal, allowing our users to give it a try.

I am looking for basic hdfs operations read, write and delete in my app.
The current hdfs-sys based approach is costing in terms of image size due to the hadoop jars which need to be pulled in. If this is a pure rust implementation then it could be worth investing.
I can take this up as we already use OpenDAL in our application, and having support for hdfs-native will reduce need for an additional layer in my app.
Please let me know if this is up for grab and I can spend time on it.
Thank you!

Hi, @shbhmrzd, I'm waiting for https://github.com/Kimahriman/hdfs-native/issues/13.

Sure
I would like to pick up OpenDAL integration when it is planned

Sure @Xuanwo I would like to pick up OpenDAL integration when it is planned :)

Thanks! I will ping you here when it's ready.

hdfs-native 0.5 has been released, let's do this!

Awesome
Can I take it up ?

Awesome Can I take it up ?

Welcome! Have fun.

Thanks to @shbhmrzd and @jihuayu's efforts. We have the basic feature set now. Maybe it's time for us to establish the behavior test before adding more features.

@Xuanwo Hi, I want to add the behavior tests for it.
Is there some information about how to add the behavior test?

Is there some information about how to add the behavior test?

Our behavior test exists at https://github.com/apache/opendal/tree/main/core/tests/behavior
We can follow the same content from hdfs for our hdfs native tests:

fixtures: we use those fixtures to setup our services,  https://github.com/apache/opendal/tree/main/fixtures/hdfs
setup: we have a automate workflow for all services. We just need to add new setup for hdfs_native like https://github.com/apache/opendal/tree/main/.github/services/hdfs/hdfs_default

The test should be run automanticly in our CI.

Hi, @jihuayu, do you need some help from me?

After running it, I found that the write never stops.

FileWrtier::write is an async function, every call to f.write() will create a new future. So you will need to store this future and poll it until Ready.
For example:
https://github.com/apache/opendal/blob/ab52b437fdb19b7fbaa4be850e00c84f360d06f1/core/src/raw/oio/read/range_read.rs#L51-L56

@Xuanwo Ohhh! I know! Thank you. I will have a try!

Hi, @jihuayu, I did a refactor to the whole opendal's IO trait. Would you like to take another try?

@Xuanwo Thank you. I love the new trait.
I've been quite busy lately, and I'll be back in a few months.

@Xuanwo Can I take a swing at implementing the read and write?
Thank you!

Can I take a swing at implementing the read and write?

Of course, have fun!


Access denied when downloading pre-trained model weights

Hi @TracelessLe, great work!
I am trying to download the pretrained weights and I get an "Access Denied" message on GDrive. Is it on purpose?

Hi @TracelessLe, great work!
I am trying to download the pretrained weights and I get an "Access Denied" message on GDrive. Is it on purpose?

Sorry for that, the previous share is expired for unknown reasons. I have updated it and you can get the model from the same link.

thanks! it works now.


RFTools Dimension collapsing even though fully powered

I am playing Sky Factory 3 version 3.0.5.
I created a dimension with diamond ore tendrils. It has maintenance cost of around 18,000 rf/t. I am powering the dimension builder through a flux point attached to a draconic energy core filled with around 150,000,000,000 rf.
When I teleported to the dimension for the first time, I died instantly and it said I was killed due to a collapsing dimension. I waited until the tab was completely filled with energy before going back to recover my stuff. Once I went back again with a Phased Field Generator, the dimension was still collapsing.
The dimension tab is now filled with the 40,000,000 rf cap and the builder's buffer is also full and it is still killing me instantly on arrival (without the field generator).
I troubleshooted by trying different methods to provide power (power conduits, energy capacitors, etc.) and nothing works. I tried to recreate a different dimension with the same diamond tendrils but with other modifiers and also no change (different dimension, same collapsing).
I thought that as long as the dimension has sufficient power, nothing would happen. I have no idea what the problem is.

The dimension builder is chunkloaded? You are sure you are going to the right dimension? What does the dimension monitor item show if you are in that dimension?

The dimension builder is chunkloaded (as well as my entire base). I am sure I am going to the right dimension. I have to check on the monitor.

Can you (in creative) type /rftdim info while in the dimension and also see what /rftdim setpower 40000000 does
Also I'd like to see logs

The monitor gave back id 20 with 0 rf. The command you gave me to setpower to 40,000,000 fixed the problem. I am guessing it forced the tab to get power. I created another dimension (edited a little) and tried again and it worked this time. Thanks.
Not sure what is wrong with id 20, but I can just ignore it for now. Do you still want to see the logs? (if so please tell me how to get them)

The logs should be in your instance log folder. I'm still interested in them as this is a weird problem

The "dies in a collapsing world" is where it started.
[19:40:51] [Client thread/INFO]: [CHAT] Start teleportation...
[19:40:51] [Client thread/INFO]: [CHAT] Teleportation was interrupted!
[19:41:38] [Client thread/INFO]: [CHAT] Start teleportation...
[19:41:39] [Client thread/INFO]: [CHAT] Teleportation was interrupted!
[19:41:46] [Client thread/INFO]: [CHAT] PoliticalDerp dies in a collapsing world!
[19:41:53] [Client thread/WARN]: Skipping Entity with id
[19:41:53] [Client thread/WARN]: Skipping Entity with id
[19:41:53] [Client thread/WARN]: Skipping Entity with id
[19:41:58] [Client thread/INFO]: [CHAT] You do not have permission to use this command
[19:42:17] [Client thread/INFO]: [CHAT] Your game mode has been updated to Creative Mode
[19:43:23] [Client thread/INFO]: [CHAT] Home 'idk' set!
[19:43:29] [Client thread/INFO]: [CHAT] Teleported to 'idk'!
[19:43:38] [Client thread/INFO]: [CHAT] Teleported to spawn
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:20892,SFREnergy:20892,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:20892,SFREnergy:20892,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:20892,SFREnergy:20892,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:20892,SFREnergy:20892,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:20784,SFREnergy:20784,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:20784,SFREnergy:20784,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:20784,SFREnergy:20784,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:20784,SFREnergy:20784,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:20675,SFREnergy:20675,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:20675,SFREnergy:20675,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:20675,SFREnergy:20675,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:20675,SFREnergy:20675,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:20565,SFREnergy:20565,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:20565,SFREnergy:20565,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:20565,SFREnergy:20565,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:20565,SFREnergy:20565,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:20492,SFREnergy:20492,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:20492,SFREnergy:20492,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:20492,SFREnergy:20492,SFRTierIndex:0,Inventory:[]}
[19:43:38] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:20492,SFREnergy:20492,SFRTierIndex:0,Inventory:[]}
[19:43:39] [Client thread/WARN]: Skipping Entity with id
[19:43:39] [Client thread/WARN]: Skipping Entity with id
[19:43:39] [Client thread/WARN]: Skipping Entity with id
[19:45:28] [Client thread/INFO]: [CHAT] Teleported to 'idk'!
[19:45:43] [Client thread/INFO]: [CHAT] Teleported to spawn
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:5069,SFREnergy:5069,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:5069,SFREnergy:5069,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:5069,SFREnergy:5069,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:5069,SFREnergy:5069,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:4926,SFREnergy:4926,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:4926,SFREnergy:4926,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:4926,SFREnergy:4926,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:4926,SFREnergy:4926,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:4783,SFREnergy:4783,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:4783,SFREnergy:4783,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:4783,SFREnergy:4783,SFRTierIndex:0,Inventory:[]}
[19:45:43] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:4783,SFREnergy:4783,SFRTierIndex:0,Inventory:[]}
[19:45:44] [Client thread/WARN]: Skipping Entity with id
[19:45:44] [Client thread/WARN]: Skipping Entity with id
[19:45:44] [Client thread/WARN]: Skipping Entity with id
[19:48:11] [Client thread/INFO]: [CHAT] @#mminecraft:diamond_ore@0,fTendrils,CSingle,Bminecraft:plains,sblue,sbody.large.sun,sstars2,tMidnight
[19:48:11] [Client thread/INFO]: [CHAT] §e    Base seed:<PHONE_NUMBER>564060067
[19:48:11] [Client thread/INFO]: [CHAT] §e    World version: 1
[19:48:11] [Client thread/INFO]: [CHAT] §e    Terrain: TERRAIN_VOID
[19:48:11] [Client thread/INFO]: [CHAT] §e        Base block: Stone
[19:48:11] [Client thread/INFO]: [CHAT] §e        Tendril block: Diamond Ore
[19:48:11] [Client thread/INFO]: [CHAT] §e        Base fluid: null
[19:48:11] [Client thread/INFO]: [CHAT] §e    Biome controller: CONTROLLER_SINGLE
[19:48:11] [Client thread/INFO]: [CHAT] §e    Biome: Plains
[19:48:11] [Client thread/INFO]: [CHAT] §e    Feature: FEATURE_TENDRILS
[19:48:11] [Client thread/INFO]: [CHAT] §e    Sun brightness: 1.0
[19:48:11] [Client thread/INFO]: [CHAT] §e    Star brightness: 1.0
[19:48:11] [Client thread/INFO]: [CHAT] §e    Sky color: 0.2, 0.2, 1.0
[19:48:11] [Client thread/INFO]: [CHAT] §e    Fog color: 1.0, 1.0, 1.0
[19:48:11] [Client thread/INFO]: [CHAT] §e    Sky type: SKY_STARS2
[19:48:11] [Client thread/INFO]: [CHAT] §e    Sky body: BODY_LARGESUN
[19:48:11] [Client thread/INFO]: [CHAT] §e    Celestial angle: 0.5
[19:48:54] [Client thread/INFO]: [CHAT] Teleported to 'idk'!
[19:49:47] [Client thread/INFO]: [CHAT] Teleported to spawn
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=157, y=58, z=254} with data: {FluidTank:{FluidName:"water",Amount:1000},SolidVolume:0,ItemHandler:{Size:1,Items:[]},x:157,y:58,z:254,id:"excompressum:wooden_crucible"}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:0,SFREnergy:0,SFRTierIndex:0,Inventory:[]}
[19:49:47] [Client thread/WARN]: Skipping Entity with id
[19:49:47] [Client thread/WARN]: Skipping Entity with id
[19:49:47] [Client thread/WARN]: Skipping Entity with id
[19:50:19] [Client thread/INFO]: [CHAT] Your game mode has been updated to Survival Mode
[19:51:39] [Client thread/INFO]: [CHAT] Start teleportation...
[19:51:46] [Client thread/INFO]: [CHAT] Whoosh!
[19:53:44] [Client thread/INFO]: [CHAT] §eStart teleportation!
[19:53:49] [Client thread/INFO]: [CHAT] Whoosh!
[19:53:49] [Client thread/WARN]: Skipping Entity with id
[19:53:49] [Client thread/WARN]: Skipping Entity with id
[19:53:49] [Client thread/WARN]: Skipping Entity with id
[19:54:51] [Client thread/INFO]: [CHAT] Start teleportation...
[19:54:56] [Client thread/INFO]: [CHAT] Whoosh!
[19:55:29] [Client thread/WARN]: Skipping Entity with id
[19:55:29] [Client thread/WARN]: Skipping Entity with id
[19:55:29] [Client thread/WARN]: Skipping Entity with id
[20:05:59] [Client thread/INFO]: [CHAT] Start teleportation...
[20:06:00] [Client thread/INFO]: [CHAT] Teleportation was interrupted!
[20:06:04] [Client thread/INFO]: [CHAT] Start teleportation...
[20:06:05] [Client thread/INFO]: [CHAT] Teleportation was interrupted!
[20:06:09] [Client thread/INFO]: [CHAT] Start teleportation...
[20:06:14] [Client thread/INFO]: [CHAT] Whoosh!
[20:06:35] [Client thread/WARN]: Skipping Entity with id
[20:06:35] [Client thread/WARN]: Skipping Entity with id
[20:06:35] [Client thread/WARN]: Skipping Entity with id
[20:08:03] [Client thread/INFO]: [CHAT] Start teleportation...
[20:08:09] [Client thread/INFO]: [CHAT] Whoosh!
[20:09:50] [Client thread/WARN]: Skipping Entity with id
[20:09:50] [Client thread/WARN]: Skipping Entity with id
[20:09:50] [Client thread/WARN]: Skipping Entity with id
[20:33:10] [Client thread/INFO]: [CHAT] Not an RFTools dimension!
[20:33:15] [Client thread/INFO]: [CHAT] Start teleportation...
[20:33:22] [Client thread/INFO]: [CHAT] Whoosh!
[20:33:22] [Client thread/INFO]: [CHAT] PoliticalDerp dies in a collapsing world!
[20:33:29] [Client thread/WARN]: Skipping Entity with id
[20:33:29] [Client thread/WARN]: Skipping Entity with id
[20:33:29] [Client thread/WARN]: Skipping Entity with id
[20:33:32] [Client thread/INFO]: [CHAT] You do not have permission to use this command
[20:33:47] [Client thread/INFO]: [CHAT] Your game mode has been updated to Creative Mode
[20:34:12] [Client thread/INFO]: [CHAT] §9Name:  (Id 20)§e    Power: 0 RF
[20:34:42] [Client thread/INFO]: [CHAT] Teleported to spawn
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=136, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=246} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
[20:34:42] [Client thread/WARN]: Skipping Entity with id
[20:34:42] [Client thread/WARN]: Skipping Entity with id
[20:34:42] [Client thread/WARN]: Skipping Entity with id
[20:35:42] [Client thread/INFO]: [CHAT] [Server: Opped PoliticalDerp]
[20:36:23] [Client thread/INFO]: [CHAT] Your game mode has been updated to Survival Mode
[20:36:28] [Client thread/INFO]: [CHAT] Your game mode has been updated to Creative Mode
[20:36:32] [Client thread/INFO]: [CHAT] Start teleportation...
[20:36:33] [Client thread/INFO]: [CHAT] Teleportation was interrupted!
[20:36:37] [Client thread/INFO]: [CHAT] Start teleportation...
[20:36:44] [Client thread/INFO]: [CHAT] Whoosh!
[20:36:50] [Client thread/INFO]: [CHAT] Your game mode has been updated to Survival Mode
[20:38:21] [Client thread/INFO]: [CHAT] §9Name:  (Id 20)§e    Power: 0 RF
[20:38:32] [Client thread/WARN]: Skipping Entity with id
[20:38:32] [Client thread/WARN]: Skipping Entity with id
[20:38:32] [Client thread/WARN]: Skipping Entity with id
[20:38:46] [Client thread/INFO]: [CHAT] Start teleportation...
[20:38:51] [Client thread/INFO]: [CHAT] Whoosh!
[20:39:45] [Client thread/WARN]: Skipping Entity with id
[20:39:45] [Client thread/WARN]: Skipping Entity with id
[20:39:45] [Client thread/WARN]: Skipping Entity with id
[20:42:09] [Client thread/INFO]: [CHAT] Start teleportation...
[20:42:15] [Client thread/INFO]: [CHAT] Whoosh!
[20:43:01] [Client thread/INFO]: [CHAT] Your game mode has been updated to Creative Mode
[20:43:04] [Client thread/INFO]: [CHAT] §9rftdim
[20:43:04] [Client thread/INFO]: [CHAT]     help
[20:43:04] [Client thread/INFO]: [CHAT]     safedel
[20:43:04] [Client thread/INFO]: [CHAT]     createtab
[20:43:04] [Client thread/INFO]: [CHAT]     setowner
[20:43:04] [Client thread/INFO]: [CHAT]     createdim
[20:43:04] [Client thread/INFO]: [CHAT]     list
[20:43:04] [Client thread/INFO]: [CHAT]     setpower []
[20:43:04] [Client thread/INFO]: [CHAT]     info []
[20:48:11] [Client thread/WARN]: Skipping Entity with id
[20:48:11] [Client thread/WARN]: Skipping Entity with id
[20:48:11] [Client thread/WARN]: Skipping Entity with id
[20:48:17] [Client thread/INFO]: [CHAT] Your game mode has been updated to Survival Mode

You have some mod with a lot of invalid packets:
[20:34:42] [Client thread/ERROR]: Received invalid update packet for null tile entity at BlockPos{x=132, y=65, z=248} with data: {InvSize:0,???urrentGen:131072,SFREnergy:131072,SFRTierIndex:0,Inventory:[]}
Not sure where that comes from
Also is there another mod that has 'taken' over dimension 20? Check if that dimension id is used somewhere in the configs

I found it.  A miss-naming on my own part when updating to 3.0.5 from 3.0.4
Not sure what the invalid packets are, but they aren't causing any problems.
Thanks for all the help XD


injectBoundHTML disappeared?

The Migration Guide and Release Notes for Polymer 1.0 don't mention that injectBoundHTML was removed but... it doesn't seem to exist in Polymer anymore.
Is that an oversight in the documentation?

This issue was moved to Polymer/docs#1297


[feat] Cache size option

Should this be an option?
https://github.com/moscajs/aedes-persistence-redis/blob/bd60484535a72bf3138c9659fa6fc0c61f591631/persistence.js#L37

What’s the impact if we set to HLRU to 1?

It will allow to have just 1 inflight message (Qos1/2), outgoingUpdate/outgoingClearMessageId will throw error when don’t find the key on the cache

On 26 Feb 2020, at 21:15, Gnought<EMAIL_ADDRESS>wrote:

What’s the impact if we set to HLRU to 1?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


®[𝕏𝚆𝙰𝚃𝙲𝙷:⊱ᐯIᗪEOs]® Minahil Malik Nazeba Viral Exclusive ᴠɪᴅᴇᴏ ʟᴇᴀᴋᴇᴅ 𝙻𝚒𝚗𝚔 On Social Media 𝕏𝘛𝘸𝘪𝘵𝘵𝘦𝘳 【ＸＸＸ NOWJ87B】

26 sec ago Minahil Malik Nazeba ʟᴇᴀᴋᴇᴅ ᴠɪᴅᴇᴏ Viral On Social Media. ®[𝕏𝚆𝙰𝚃𝙲𝙷:⊱ᐯIᗪEOs]® Minahil Malik Nazeba Viral Exclusive ᴠɪᴅᴇᴏ ʟᴇᴀᴋᴇᴅ 𝙻𝚒𝚗𝚔 On Social Media 𝕏𝘛𝘸𝘪𝘵𝘵𝘦𝘳 【ＸＸＸ NOWJ87B】
𝑾𝒂𝒕𝒄𝒉 🟢 ➤ ➤ ➤ 🌐 𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 (𝖥𝗎𝗅 𝗅 𝖵𝗂𝗋𝖺𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇𝗄)
🔴 ➤► 𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 (𝖥𝗎𝗅𝗅 𝖵𝗂𝗋𝖺𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇 𝗄) 𝖶𝖺𝗍𝖼𝗁
🟢 ➤ ➤ ➤ 🌐 𝖢𝗅𝗂𝖼𝗄 𝖧𝖾𝗋𝖾 𝖳𝗈 𝗅𝗂𝗇𝗄 (𝖥𝗎𝗅𝗅 𝖵𝗂𝗋𝖺 𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇𝗄)
🔴 ➤► 𝖣𝖮𝖶𝖭𝖫𝖮𝖠𝖣👉👉 (𝖥𝗎𝗅𝗅 𝖵𝗂𝗋𝖺𝗅 𝖵𝗂𝖽𝖾𝗈 𝖫𝗂𝗇 𝗄)
Minahil Malik Nazeba's latest video has taken the internet by storm, sparking widespread discussions across various social media platforms. The rising digital influencer, renowned for her captivating content—especially her recent Spiderman-themed video—has seen a significant boost in popularity, with fans eagerly anticipating the full release. Audiences are flocking to Instagram, X (formerly Twitter), and Discord to engage with her newest creation.
As excitement continues to grow, fans are actively sharing their thoughts online, highlighting how vital social media is in helping creators like Minahil Malik Nazeba gain recognition. With her unique style and creative approach, she has made a notable impact on the digital scene, leaving her followers eager to see what she’ll do next.  The rising digital influencer, renowned for her captivating content—especially her recent Spiderman-themed video—has seen a significant boost in popularity, with fans eagerly anticipating the full release. Audiences are flocking to Instagram, X (formerly Twitter), and Discord to engage with her newest creation.
As excitement continues to grow, fans are actively sharing their thoughts online, highlighting how vital social media is in helping creators like Minahil Malik Nazeba gain recognition. With her unique style and creative approach, she has made a notable impact on the digital scene, leaving her followers eager to see what she’ll do next.


re-associate func

Add missing function reference for e9c5e47d-c8ce-409b-ae23-10b71516380b

@swimmadude66 — realized this actually broke the template because then there were two getSQLDataRows. Could we remove the orphan instead?


Multithreading strategy

Hi,
writing my server application i've found that long operations can easily cause the application to become irresponsive until the completion.
Since the tests i've done i don't see the need to enable the multithreading support of QHttp since the overhead of the lib is really really low (well done), so possibly i'd use a single threaded listener for connections but i have the need to move to some workers threads the execution of the ops related to each specific request.
Is this the right approach? Can you suggest me the 'best' way to do such thing with QHttp?
I have the feeling that i'm gonna encounter such affinity problems with the QNetworkAccessManager this way but i'm not sure of this (expecially to transmit back the reply).
Thank you!
Please, keep doing this great job.

@gianks
the best approach to multithreading is domain specific and Qt5 has different tools and strategies. I'm not sure if i can help, but these are the approaches i've used:

QObject::moveToThread(): moves a constructed QObject to another thread. you can override QHttpServer::incomingConnection(QHttpConnection* connection) and then move the connection handler, for instance.
seems like a dirty hack and I'm not sure if this is the best approach.

overrinding QHttpServer:: incomingConnection(qintptr handle): you can safely move a socket descriptor to another handler thread, create your objects there and ..., saner and cleaner approach.
a simple load balancer can be implemented this way.

design every thing on Qt main thread (including QHttp or QNAM), but use QtConcurrent::run<>() and QFutureWatcher for long or blocking jobs. looks a lot cleaner. personally I use this approach extensively for simpler tasks.

but sometime I prefer to have a bunch of worker threads (for slow SQL connections, intensive disk i/o jobs, ...) and just communicate to them by some sort of Command Pattern or passing messages.
there you can use Qt's fantastic signal/slot mechanism which works like a charm between threads, or packing every job into a Command (msgpack or json) and transfer it as a message, same thing can be done by the job's Response.

these may help:

QObject::connect() with context object
Qt5 threading and QObject


Any plans to implement optimizer/planner for your AST ?

Hello, I'm intrested in using this library to add SQL Layer on top of my POCO structures , but I need to implement optimizer/planner/executor on top of your SQL AST. Any plans to implement them?
Do you have any solutions in mind that can be used with this library?

This library is focused on parsing only, not execution.  I have a query engine, but at the moment it is not open source.  There are great resources in reach of a Google query that you can look into for building logical plans, plans, optimization steps, etc...


Dungba/developing

Pull Request Test Coverage Report for Build 329

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 51.701%

Totals

Change from base Build 310:
0.0%

Covered Lines:
2584

Relevant Lines:
4998

💛  - Coveralls


Feature request: Transpose (e.g. 90degrees rotation)

Is there a plan to enable the Transpose Transform?
E.g. I cannot rotate an image by 90degrees with libcamera.
https://github.com/raspberrypi/libcamera-apps/blob/5a835b89849f38808353eabdd46ee4fcb75fdfad/core/options.cpp#L240

Unfortunately because of hardware limitations, we cannot add support for transpose operations in the libcamera pipeline.  This will have to be done as a separate post-processing operation.


Use draftjs.org domain?

github.io subdomains look pretty tacky - It'd be like a professional company hosting their website on geocities.com :smile:
It looks like you've got the draftjs.org domain but it just redirects to facebook.github.io/draft-js/. IMO it'd look nicer to use draftjs.org as the domain for the site.

I kinda agree, but I think keeping consistency between all of facebook's open source projects is better?
i.e.
https://facebook.github.io/react/
https://facebook.github.io/relay/
https://facebook.github.io/react-native/
https://facebook.github.io/draft-js/ feels at home.

That's not actually consistent though - As far as I know, more projects are using proper domains rather than subdomains :smile:
Some examples:
http://flowtype.org/
http://hacklang.org/
http://hhvm.com/
http://fbinfer.com/
http://nuclide.io/
http://fbredex.com/
http://rocksdb.org/
http://osquery.io/
http://buckbuild.com/
http://frescolib.org/
Especially for projects that already own a domain name (like draftjs.org in this case), it doesn't really make sense to use the tacky subdomain :smile:

Ah proved me wrong :smile: For me draft-js still feels at home at github.io domains - that's probably just me being used to react projects having github.io subdomains though. Anyway that's just my two cents, and I don't really have particularly strong views one way or the other.

I think the consensus is that this would be handy but it's non-urgent. I'm going to close this issue but if someone at FB wants to volunteer to set this up then I think that would be great ;-)

if someone at FB wants to volunteer to set this up

I'm happy to help, I just don't know who owns the domain. @hellendag Do you own the draftjs.org domain?

Thanks @Daniel15! It sounds like @hellendag and @spicyj own the relevant domains and are supportive of this change. Leaving this closed since it sounds like it will be solved soon, but we can reopen if questions/concerns remain.

I've moved the site over to the draftjs.org domain name. It's working!

I had to build the site manually as TravisCI is running way behind.

Looks good across devices and browsers I checked, including:
Android 7.1.1 Pixel Chrome
Android 7.1.1 Nexus 5x Chrome
Android 7.1.1 Pixel C Chrome
Ubuntu 16.04 Chrome, Firefox LRs
On Feb 25, 2017 1:58 AM, "Daniel Lo Nigro"<EMAIL_ADDRESS>wrote:

I've moved the site over to the draftjs.org domain name. It's working!
https://camo.githubusercontent.com/6990aa74b6b1852c3f9aa06b6101870298736b00/687474703a2f2f73732e64616e2e63782f323031372f30322f44726166742e6a735f5f526963685f546578745f456469746f725f4672616d65776f726b5f666f725f52656163745f2d5f5f32342d32332e35372e35322e706e67
I had to build the site manually as TravisCI is running way behind.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/draft-js/issues/317#issuecomment-282468261,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYC27VlxMNlJqFRtzYB0S-LcCf4la_a5ks5rf98vgaJpZM4IJFgF
.


Hotfix/issue 118

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


Model refactor for [Room, Hospitalization, Equipment]

Rooms, Hospitalization, EquipmentType, EquipmentUnit, Departments.

 (0) PR Model refactor for [Room, Hospitalization, Equipment]


Registry integration doc

brief doc to explain the integration between Registry and Mautic for critical update segments. @blueQcloud I've confirmed with Sal, let's have a generic critical update segment that includes all the POs and TLs from Private Cloud, in addition to the cluster-based segments!

@bluemel-gov can you double check on this doc to make sure it's how things work? thanks!

@ShellyXueHan  did you mean to tag me or 'blueQcloud' ? Not familar with this request but would be happy to help if needed.

@ShellyXueHan did you mean to tag me or 'blueQcloud' ? Not familar with this request but would be happy to help if needed.

ops! sorry my bad, it's meant for @blueQcloud ;)


Error parsing materials XML

This is probably some silly mistake but I think this XML is correct, yet it gives an error when being parsed via     loadMaterialsFromUrl("https://raw.githubusercontent.com/rest-for-physics/materials/d7b68502d6d7812a084d49f979ad833a036773e3/materials.xml").
https://github.com/rest-for-physics/materials/blob/d7b68502d6d7812a084d49f979ad833a036773e3/materials.xml
Caused by: nl.adaptivity.xmlutil.XmlException: Failure to parse children into string at [row,col {unknown-source}]: [9,9]

What is wrong with my XML? Thanks.

Version 0.0.2 is not allowed for XML header. It is not version of the file, but the version of XML itself. You should use gdml versioning. I have a different error and it is quite obvious from it. After changing the version to 1.0, everything works fine.

Thanks, I will change this and implement gdml versioning.


Reinstantiate API button on navbar and footer

Unhide the API button both on the navbar and the footer.
When clicked it will display the auto generated API docs.

Fix the build failed issue. The reason was the missing Node_modules directory and the missing API directory.

LGTM Merging.
Thanks for contributing @devvaannsh


[compile] fix part of compile warnings #8336

What problem does this PR solve?
Issue Number: close #8336
Problem Description:
There are several compile warning when build with "cargo clippy".
This PR fix part of them.
Check List for Tests
This PR has been tested by at least one of the following methods:
Manual test (add detailed scripts or steps below)

/cc @andylokandy @iosmanthus

@haojinming
Are all similar cases fixed ? If so, we can enable field_reassign_with_default of clippy.
Please fix DCO by signing off. See here.
Please update release note in PR description. You can set it to "None".
Rest LGTM.

What about the results of make clippy @haojinming

@iosmanthus  Actually we disable this kind of warning when executing "make clippy". This issue is complaining the warning whe exexuting "cargo clippy".

@pingyu sorry for missing this for much time. I will check the clippy issue and continue again.