Capture is not working MacOS on 0.12.1

I'm using vncdotool to control a Linux machine using Vmware Fusion, everything is working as expected except for the capture feature.
When I submit a capture command I get a file with one pixel in it sized 69b, the command is:
vncdo -s <IP_ADDRESS>::5900 capture pic.png
The file generated has one small pixel in it, if the screen is black then it is black and if the screen is blue than it is blue so it seems that the capture is kinda working.
Is there anything that needs to be configured to make it work?
System information:
vncdotool version - 0.12.1
Pillow version - 5.4.1
Vmware Fusion - 10.1.5
MacOS - 10.14.3 (Mojave)
Python version -  2.7.15 (tried with 3.6 with the same results)
VNC server - Built in Vmware Fusion
Update:
Tested on vncdotool version 0.11.2 and it seems to fix the issue (0.12.0 didn't work as well)
Update2:
I have looked at the code and it seems that the issue is with the screen size in this function:
def _captureSave(self, data, filename, *args):
  log.debug('captureSave %s', filename)
  if args:
      capture = self.screen.crop(args)
  else:
      capture = self.screen
  capture.save(filename)

  return self

When I debug it I see that self.screen.size is a tuple of (1,1) when it should be (800,600) I'm willing to provide a fix but I have no idea where to start.
On version 0.11.2 it works but it does not seem that the changes are related, maybe something with the server version.

@sibson can you please address this issue? I need the capture/expect features to work so currently I'm reverting to version 0.11.2 but I want to use the latest version.

There is little I can personally do, I don't have VMWare.  It sounds like the server is sending back an incremental update or a pseudo-update vncdo doesn't expect/recognize.  Doing something similar to this PR forcing a full update might help.  Otherwise, running with --vvv and adding some logging to track what updateReactangle calls are being seen is the best way to debug the issue.

Thanks for the fast replay, this is the output with -vvv on both versions:
V0.12.1(not working):
INFO:root:connecting to <IP_ADDRESS>:5901
INFO:twisted:Starting factory <vncdotool.command.VNCDoCLIFactory instance at 0x108fcda28>
INFO:twisted:Using protocol version 3.800
INFO:root:connected to Windows 10 x64
DEBUG:vncdotool.client:captureScreen 0.12.1.png
DEBUG:vncdotool.client:captureSave 0.12.1.png
INFO:twisted:Stopping factory <vncdotool.command.VNCDoCLIFactory instance at 0x108fcda28>
INFO:twisted:Main loop terminated.

V0.11.2 (working):
INFO:root:connecting to <IP_ADDRESS>:5901
INFO:twisted:Starting factory <vncdotool.command.VNCDoCLIFactory instance at 0x10ad3bb90>
INFO:twisted:Protocol version 3.800 not supported
INFO:twisted:Using protocol version 3.300
INFO:root:connected to Windows 10 x64
DEBUG:vncdotool.client:captureScreen 0.11.2.png
DEBUG:vncdotool.client:captureSave 0.11.2.png
INFO:twisted:Stopping factory <vncdotool.command.VNCDoCLIFactory instance at 0x10ad3bb90>
INFO:twisted:Main loop terminated.

The only difference that I can see is the protocol version, it is using 3.300 on v0.11.2 and 3.800 on v0.12.1, is there a way to force the protocol version?
Regarding PR #141, as far as I can see it is only for expect and not for capture, how can I use it in my case?

@sibson I have submitted #149 to add the ability to control this flag in the captureScreen function.
May you please review it and give me your input?

https://github.com/sibson/vncdotool/pull/125 added support for version 3.8. Perhaps we need to control the version or max version from the command line too?

Vmware Fusion - 10.1.5

Some (previous?) versions of VMware had a bug and start sending a single pixle update instead of the full screen. Because of that there is a VMWareFactory in vncdotool/client.py to work-around that bug. (Actually the code looks broken). Sadly vncdo does not have an option to switch to that alternative factory.
Also as #149 has been merged long ago I consider this issue stale and I'm closing it for now. If you still experience this issue please feel free to re-open or to create a new PR.
You might also want to give the latest development version a try:
pip install git+https://github.com/sibson/vncdotool.git@main

Be warned that it is Python 3.7+ only.


Leverage semver instead of locking to patch versions

My app is running willdurand/negotiation version 2.0.2 already. This library should allow other 2.x versions beyond only this one single patch release of 2.0.1.

Coverage remained the same at 97.0% when pulling de40ac1a810f889ff209b4ca16ff0714c9f4200a on skyzyx:patch-1 into 298e14298189f42572a61c2fcb9186c0c331b737 on gofabian:master.

Thanks for your pull request!


Closing navigation view with close button is not working(Android)

Hi @eopeter. The closing button on the navigation view is not working. I had to use the back button in order to close it.
V0.0.12

this is resolved

hi @eopeter I'm still having the same issue, can you help, i have a latest version of plugin installed


🐛 BUG: No such table

Which Cloudflare product(s) does this pertain to?
D1, Workers/Other, Wrangler
What version of Wrangler are you using?
3.1.0
What operating system are you using?
Windows 11
Describe the Bug
I've written a simple Workers script locally to get some data from D1
import { Router } from 'itty-router';

const router = Router();

export interface Env {
	kirbyDB: D1Database;
}

router.get('/kirby', async (_, env: Env) => {
	const { results } = await env.kirbyDB.prepare('SELECT * FROM game').all();
	console.log(results);
	return new Response('kirby');
});

export default {
	fetch: router.handle,
};

In wrangler.toml I bind it like this
name = "learn-workers"
main = "src/worker.ts"
compatibility_date = "2023-06-15"

[[d1_databases]]
binding = "kirbyDB"
database_name = "kirby"
database_id = "7d96fcb0-da44-4d95-ae22-8fd7101e7045"

In the Cloudflare Dashboard above I set up the database like this

I think the database should be fine, because I can access it using wrangler
❯ wrangler d1 execute kirby --command "SELECT * FROM game"

🌀 Mapping SQL input into an array of statements
🌀 Parsing 1 statements
🌀 Executing on kirby (7d96fcb0-da44-4d95-ae22-8fd7101e7045):
🚣 Executed 1 commands in 4.9073589984327555ms
┌─────────┐
│ console │
├─────────┤
│ gba     │
├─────────┤
│ sfc     │
└─────────┘

But in the script I get this error
[mf:err] Cause: Error: Error: SqliteError: no such table: game

Did I make a mistake or something?

@Yanren1225
wrangler dev starts a local development session: it is (intentionally) separate from your production data.
https://developers.cloudflare.com/d1/learning/local-development/#start-a-local-development-session

Note that wrangler dev separates local and production (remote) data. A local session does not have access to your production data by default. To access your production (remote) database, pass the --remote flag when calling wrangler dev.

@Yanren1225
wrangler dev starts a local development session: it is (intentionally) separate from your production data. wrangler dev 启动本地开发会话：它（有意）与您的生产数据分开。
https://developers.cloudflare.com/d1/learning/local-development/#start-a-local-development-session

Note that wrangler dev separates local and production (remote) data. A local session does not have access to your production data by default. To access your production (remote) database, pass the --remote flag when calling wrangler dev.请注意，牧马人开发将本地数据和生产（远程）数据分开。默认情况下，本地会话无权访问您的生产数据。要访问生产（远程）数据库，请在调用 wrangler dev 时传递 --remote 标志。

Thank you, I understand how to do it.


Polishing the seamless experience

Summary
With the release of cellxgene offers a consistent and seamless experience for consumers, there have been suggestions for refinements that are collected in this epic to consider in a future comprehensive design update.

When there’s one dataset in a collection and the breadcrumbs are zoomed in, it looks like there’s an errant “Dataset”. Clicking on it does nothing for example. This may perplex a user.

compared to:

Design notes
@hthomas-czi wrote:
After thinking on this, it seems like the best solution is to simply hide the Dataset selector under the conditions you documented:
The collection contains only one dataset
The breadcrumbs are width-constrained

The cellxgene Data Portal uses the cellxgene logo in the upper left to navigate to the portal home page. Explorer should reuse this pattern and remove the "Home" breadcrumb which requires zooming out to surface.

The Explorer hamburger menu only contains Chat and About cellxgene. It should be merged into the ? menu.

Design notes
@hthomas-czi wrote:
I have a couple explorations around this idea.

I was trying to solve a couple problems here:

Use the cellxgene logo space more efficiently and consistently (to Brian’s point)
Move the orphaned menu bar items to the bottom right “Help” button where they belong
Provide enough space for the breadcrumbs so it shows up on smaller screens

Another concept:

Closing in favor of #411 which captures the work discussed here.


Allow split volume on current segment only, or default  all segments.

Hi,
Please consider if this patch can be merged.
It allows to split volume on the selected segment, or on all segments (default usual).
Thank you.

Hi @lassoan ,
Sorry to bother you again, have you been able to review this PR ? And 46 too ?
Regards.

The changes have been committed, thanks for your coaching.

Hi @lassoan ,
Could you find some time to review the latest patches ?

Thank you very much, I'll be needing that more and more.


chrome://gpu page does not load

Opening chrome://gpu does not work it is just blank page and after that all opened tabs and new tabs become blank. I am using windows 7 64 bit Hotfix for Version 117.0.5874.0 I am sorry for bad issue I am ready to give more info as asked

Looks like this is an upstream issue: https://source.chromium.org/chromium/_/dawn/dawn.git/+/fadc61eb927d64a0482f426365fb45d85fc151e1
I should be able to update it soon.

Driver workarounds do load in Supermium, as some have experimented with them, but there are many older GPUs and IGPs that are running into problems with the browser. Here are the problem areas I'm aware of:
-Older Intel HD (such as 4000 series and below) - high CPU usage on scrolling of static backgrounds - issue originated around Chromium version 100
-Older NVIDIA GPUs - hardware acceleration of video is unavailable - issue originated between 109 and 115

Chrome 109 looks fine. My gpu is Intel HD Graphics 4000 Ivy Bridge GT2 and NVIDIA GeForce 610M GF119M. I can't really tell if and which workarounds it is loading as chrome://gpu is not opening. Here are some screenshots

Hello, I hope you will be able to fix all the hardware acceleration issues. And about the black borders, I have them too, they can be easily removed by enabling desktop composition in the performance settings. Also in the latest stable release again appeared the problem that the interface slowly redraws when desktop composition is disabled.
Desktop composition disabled:

Desktop composition enabled:

To be sure, I would try to see if Supermium (and Chromium's official snapshots - ) on Windows 10/11 have the same issue (with Windows 7 GPU drivers). Then I would go back through the snapshots until it starts working again. This is a time-consuming (and storage-space-consuming) process though.
I'll be doing this for the Intel HD bugs since I have one that should have this issue.


need to add optical drive to the VM

best for Guest Additions. Instructions:
Shutdown machine, then go to VB interface, click the VM, then Settings, Storage, click the left most icon next to the IDE controller, (add optical drive). Choose "Leave empty".

done

ideally we do this via vagrant later (if possible at all) to avoid manual steps.

https://groups.google.com/forum/#!topic/vagrant-up/Z_KruTTN0vk seems to imply
vb.customize "pre-boot", [
       "storageattach", :id,
       "--storagectl", "IDE Controller",
        "--port", "1",
       "--device", "0",
       "--type", "dvddrive",
       "--medium", "emptydrive",
       ]

closed by https://github.com/CCPPETMR/CCPPETMR_VM/commit/904280602e710dad48d2c42752befe48e4837bfd


RTL menu regarding issue #20377

This is example of how en software should look like although the OS is RTL. The menu is oriented LTR.

.

I found work around. Chnging the he.pak file in the locale folder to he.pak___

I suggest to check if the pak file contains the RTL orientation of the menu.


Compilation warnings on Elixir 1.11

Compiling scrivener on Elixir 1.11 throws the following warning:
==> scrivener
Compiling 4 files (.ex)
warning: Scrivener.Paginater.Atom.__impl__/1 defined in application :scrivener_ecto is used by the current application but the current application does not directly depend on :scrivener_ecto. To fix this, you must do one of:

  1. If :scrivener_ecto is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :scrivener_ecto is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :scrivener_ecto, you may optionally skip this warning by adding [xref: [exclude: Scrivener.Paginater.Atom]] to your "def project" in mix.exs

  lib/scrivener/paginater.ex:1: Scrivener.Paginater.impl_for/1

Generated scrivener app

I can't reproduce this locally. With no existing _build dir, here's my output:
$ mix compile
...
==> scrivener
Compiling 4 files (.ex)
Generated scrivener app

Here's my elixir version:
$ elixir --version
Erlang/OTP 23 [erts-11.1.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe]

Elixir 1.11.1 (compiled with Erlang/OTP 23)


Incorrect type for always function

Seems like weak polymorphism isn't working =( I tried to fix it by myself, but it was very hard, code base is complicated enough for me. I think that something wrong at generic-type.js in changeAll method. When hegel tries to change return type () => <_a> to () => 1 sourceTypes and targetTypes become empty arrays after sourceType.reduce and then this.subordinateType.changeAll don't change anything.
It would be great if you give me a hint to fix this, and I could take a look one more time, but more closely. But if it's hard to fix it would be better if you take this issue
https://jsmonk.github.io/hegel/try#GYVwdgxgLglg9mABAQwDYHdkE8DOAKADwEpEBvAKESsQCcBTKEGpUSWBRPEi632hpkgIBuStQC+5SeQgIcUFBmw4AciFSpEAXkWZceMOtQkA9CcQxIcGvWiIoWAA51teIA

was fixed here: 4f76f15ff4f308a427b8487671e4dc5f2d5dc69c


Better handling of outgoing @-mentions

I think wee-slack should have better handling of outgoing @-mentions than it has today. Currently, typing @username basically disables tab-completion. A better approach might be to have user complete to @username.

This has been fixed with the tab completion handling of @-ed nicks.


Optimizing and Relocation

Optimize the file structure by removing extra and unnecessary files and changed the locations of some file and change some imports according to file location

@SibghatUllah1997 there are some merge conflicts, can you review them and update the PR then @naiemk can review it.

Closing due to a lot of conflicts with latest changes


[feature] #1915: Implement Fast kura init mode

Description
Implement fast kura init mode.
Which can skip loading blocks from disk and thus bootstrap startup time.

Linked issue

Closes #1915

Benefits
Improve startup time.
Downsides
Take additional space for storing hashes on disk (32 bytes per hash) time/memory tradeoff.
fast init mode should be used with caution because it can detect some mutations in hashes file.

How to test

Run iroha with strict kura init mode
Create couple of blocks
Check that storage/blocks.hashes is created
Shutdown iroha peer
Switch to fast kura init mode in the configuration
Start peer again
Check that peer is running correctly
Shutdown iroha peer ones more
Make backup of storage/blocks.hashes (storage/blocks.hahses.old)
Remove some data from data from storage/blocks.hashes or whole file entirely
Start peer
Check that kura failed to load in fast mode and failed back to STRICT mode (grep for “Hashes file is broken”)
Check that peer is running correctly
Check that storage/blocks.hashes is restored (storage/blocks.hashes == storage/blocks.hashes.old)
Check that peer is running correctly

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

159 of 192 (82.81%)  changed or added relevant lines in 1 file are covered.
5722 unchanged lines in 99 files lost coverage.
Overall coverage decreased (-1.1%) to 58.304%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/src/kura.rs
159
192
82.81%

Files with Coverage Reduction
New Missed Lines
%

cli/src/main.rs
1
0.0%

cli/src/torii/pagination.rs
1
98.9%

config/base/src/runtime_upgrades.rs
1
51.72%

config/src/torii.rs
1
96.67%

core/src/smartcontracts/isi/block.rs
1
87.5%

crypto/src/merkle.rs
1
96.23%

data_model/derive/src/partially_tagged.rs
1
99.67%

data_model/src/account.rs
1
52.21%

data_model/src/domain.rs
1
47.37%

logger/src/lib.rs
1
95.15%

Totals

Change from base Build<PHONE_NUMBER>:
-1.1%

Covered Lines:
21467

Relevant Lines:
36819

💛  - Coveralls


Added the driver argument to getDSN

This change is

Coverage remained the same at 74.706% when pulling 780e54d9aa73a071e1ca463b698922d568cfeda5 on yitam:fixGetDSN into 53e4da40de351070926c0fd6ddf7baaee437dd56 on Microsoft:dev.

Codecov Report

Merging #798 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #798   +/-   ##
=======================================
  Coverage   80.06%   80.06%
=======================================
  Files          25       25
  Lines        7325     7325
=======================================
  Hits         5865     5865
  Misses       1460     1460

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 53e4da4...cb65477. Read the comment docs.


Crashes occurring due to Error: read ECONNRESET (#961)

HOOBS-in-box unexpectedly crashes due to below error.
The crash usually occurs within an hour or sometimes it takes a few hours. Does anyone know how I can prevent this?
11/29/2020, 11:04:41 PM Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:201:27)
11/29/2020, 11:04:41 PM Got SIGTERM, shutting down Bridge...
Another user's theory states the following:
This error is the plugin crashing because it can't connect to the Somfy device. Either the Somfy device is resetting the connection, or the router is resetting the connection. This should be more fault tolerant. It might help reporting this to the plugin dev. The plugin should not crash the bridge if the connection is reset. ECONNRESET is a common thing, often used to clean up a network connection.

I have this exact same issue. Same error and same response from the hoobs admins.

Sorry for the long wait, but I finally have an update out that should hopefully resolve a lot of the connectivity issues.   I'll be continuing to tweak it in the coming weeks, but v2.0.0 should hopefully be more reliable.  It also does automatic discovery of channels!  Note, there are some breaking changes (see the CHANGELOG).  Let me know how it works for you!


describe Suffix in Readme

This is my try on describing the suffix mechanic. Feel free to rewrite as my english is not the best.

Oh, Now it added my last commit regarding the "current" timestep. This was not intended but i will leave it like this. I don't know how To remove one commit from one pull-request.

Oh, Now it added my last commit regarding the "current" timestep. This was not intended but i will leave it like this. I don't know how To remove one commit from one pull-request.


Combine results from matrix of test runs

We're using a matrix to parallelize our test runners, and we generate a CTRF report at the end of each run. When publishing the reports, it displays each one separately in the summary.
However, would there be any way to combine the reports into a single file to generate a single display of all the test results?

omg rtfm 🤦♂thank you so much, that worked perfectly!


Use jk movement keys when in normal mode.

If in normal mode maybe we can move using vim movement keys to do things.

Keybinds are being added so maybe it will be a good default keybind.


Add "latest_checkpoint" path to state_dict

Doesn't quite mirror this cog PR, but ensures we have the path, as discussed with @tgolsson. Please let me know in case I misunderstood something.

This is OK to add; but now we're writing into the checkpoint what path the checkpoint went to. As noted, we want to give this information out to other parts of the codebase; so we need to return that information in a dict. Then it gets merged with the rest of the states in the big state dict in the trainer:
return {
    "last_checkpoint_path": final_path,
    "last_checkpoint_index": self._checkpoint_index - 1,
}

There should be unit tests for the checkpointer, so you can write a unit test for that being in https://github.com/EmbarkStudios/emote/blob/main/emote/trainer.py#L32 after a checkpoint has been saved.

This is OK to add; but now we're writing into the checkpoint what path the checkpoint went to. As noted, we want to give this information out to other parts of the codebase; so we need to return that information in a dict. Then it gets merged with the rest of the states in the big state dict in the trainer:
return {
    "last_checkpoint_path": final_path,
    "last_checkpoint_index": self._checkpoint_index - 1,
}

There should be unit tests for the checkpointer, so you can write a unit test for that being in https://github.com/EmbarkStudios/emote/blob/main/emote/trainer.py#L32 after a checkpoint has been saved.

I return the state now and added a test that makes sure the key is in. Should the checkpoint index really be with a -1 though?

I return the state now and added a test that makes sure the key is in. Should the checkpoint index really be with a -1 though?

We shouldn't return all callback states; though. That has no use for anyone else (or shouldn't have...). Only the data we want to share with other callbacks.  The -1 was because it was returning after the increment.


[Secondary User Store][ApacheDS 2.0] The connection modification is neither populated to the page if not refreshed, nor error information displayed

Describe the issue:
When a user makes connection modifications to the secondary user store and tap Update button, the page populates the n-1 th values, which shows like user's modification is not applied. User have to refresh the page to see the real values applied to the connection.

Initial values

User's modifications before tapping the update button, (Modifying the "Connection Name" from "ou=users,ou=system" --> to "ou=users,ou=sys".

User's modifications after tapping the update button

Update Curl
curl 'https://localhost:9443/t/carbon.super/api/server/v1/userstores/QXBhY2hlRFMgMi4wLjA' \   -X 'PATCH' \   -H 'Access-Control-Allow-Origin: https://localhost:9443/t/carbon.super/console' \   -H 'Accept: application/json' \   -H 'Referer;' \   -H 'Authorization: Bearer 297f1364-e780-3728-8c69-9d32a6211f8e' \   -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36' \   -H 'Content-Type: application/json' \   --data-raw '[{"operation":"REPLACE","path":"/properties/StartTLSEnabled","value":"false"},{"operation":"REPLACE","path":"/properties/ConnectionURL","value":"ldap://localhost:10389"},{"operation":"REPLACE","path":"/properties/ConnectionName","value":"uid=admin,ou=sys"}]' \   --compressed \   --insecure
PATCH response
   {             "name": "ConnectionName",             "value": "uid=admin,ou=sys"         }
GET (https://localhost:9443/t/carbon.super/api/server/v1/userstores/QXBhY2hlRFMgMi4wLjA) response of after the update
        {             "name": "ConnectionName",             "value": "uid=admin,ou=system"         },
Log

After page refresh

GET response after page refresh
{             "name": "ConnectionName",             "value": "uid=admin,ou=sys"         }

Console logs

How to reproduce:

Start IS 7 server
Start Apache LDAP

Connect LDAP to the super org in the IS
Follow the above steps from 1 - 5  described in the issue description.

Expected behavior:

The GET response should return the PATCH request values as GET is called soon after the PATCH is requested. If a manual page refresh is mandatory, that should be notified/enforced to the user
The backend status should be communicated to the user properly, since even the connection credentials are invalid and LDAP connection is failed, user is not informed, and he does not have any clue on what happened. If not the console errors, user is blocked.

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 7-Beta 6]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

@indeewari, thank you for reporting the issue.
With the current user store deployment architecture, user store deployment is happening asynchronously. Hence there is no way to validate the connection at the time of add/updating the userstore. We will have to revamp the userstore architecture to properly fix this issue.
However, for JDBC userstores, there is a test connection button in the UI. This mitigate the concern you have mentioned. Hence we can consider onboarding similar capability for the LDAP based userstores as well.
Considering the IS 7.0 timelines, we are not adding this for the IS 7.0 release.

There is a draft PR in https://github.com/wso2/product-is/issues/1528 for "test connection" for LDAP based userstores.


Revert "Externalize the extension configuration templates"

I missed some manual testing and this breaks all existing installations of Interlock.  Reverting.

I will cherry-pick and carry this in another branch.


duplicated id in group causes chart max y value to double

I'm not sure if this qualifies has bug or "you shouldn't do that":
duplicated id in group causes chart max y value to double for each duplicated id - shrinking everything awfully.
I can reproduce this by typing this on: http://c3js.org/samples/timeseries.html
var chart = c3.generate({
data: {
    type: 'bar',
    x: 'x',
    rows: []
},
axis: {
    x: {
        type: 'timeseries',
        tick: {
            format: '%Y-%m-%d'
        }
    }
}
});

chart.load({
    rows: [
            ['x','data1'],
            ['2013-01-01', 30],
            ['2013-01-02', 200]
    ]
});
//max y: 200
chart.groups([['data1','data1']]);//max y: 400
chart.groups([['data1','data1']]);// y 400
chart.groups([['data1','data1','data1']]);//y 800
chart.groups([['data1','data1','data1']]);//y 800
chart.groups([['data1','data1','data1','data1']]);//y 1600
//chart.groups([['data1','data1','data1']]);//y 800

ping

I'm going to file this under "you shouldn't do that", not exactly sure how one would go about fixing that... If you can think of an edge case where fixing this would be beneficial, let me know and I'll reopen. Thanks!

I'm not sure either... Thanks!


Consistency between "Proxy Library" and "Companion Process"

Following along here:
https://cloud.google.com/sql/docs/mysql/connect-external-app#go
The "Companion Process" works well (using TCP sockets) and permits specifying the database name (!) when opening the connection to the instance:
const (
	databaseName       = "springdb"
	user               = "henry"
	password           = "hoops"
	proxyConnection    = "<IP_ADDRESS>:3306"
)

dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s", user, password, proxyConnection, databaseName)
db, err := sql.Open("mysql", dsn)

It seems as though it should be straightforward to switch to using the Proxy library directly but the Dialer does not (appear to) permit spec'ing the databaseName during connection. Is the intended behavior to dial and then "USE databaseName"?:
db, err := mysql.DialPassword(instanceConnection, user, password)

if err != nil {
	log.Fatal(err)
}
defer db.Close()

_, err = db.Exec(fmt.Sprintf("USE %s", databaseName))
if err != nil {
	log.Fatal(err)
}

Ah... using the Dialer and a `"use databaseName"' creates a subsequent issue if connections are replaced:
	fullNames := []string{
		"John Woo",
		"Jeff Dean",
		"Josh Bloch",
		"Josh Long"}

	stmt, err := db.Prepare("INSERT INTO customers(first_name, last_name) VALUES (?,?)")
	if err != nil {
		log.Fatal(err)
	}

	for _, fullName := range fullNames {
		name := strings.Split(fullName, " ")
		_, err := stmt.Query(name[0], name[1])
		if err != nil {
			log.Fatal(err)
		}
	}

This tends to get through 2 inserts before creating a new connection and then:
API server listening at: <IP_ADDRESS>:32173
2017/08/18 10:38:51 Name: John Woo
2017/08/18 10:38:51 Name: Jeff Dean
2017/08/18 10:38:51 Error 1046: No database selected

Without boring anyone with details, I'm create a simplistic repro of this Spring sample in order to educate myself on the Go way and to help identify issues with the Spring sample:
https://spring.io/guides/gs/relational-data-access/

Yeah, using the USE database_name command doesn't work well; unfortunately this is a known issue (at least to me) of the database/sql library. I would suggest using mysql.Cfg [0] function and manually modifying the DBName field [1] of the returned config.
[0] https://github.com/GoogleCloudPlatform/cloudsql-proxy/blob/8092e8660c0153f40b8632d0339e6a0f8c11c93d/proxy/dialers/mysql/hook.go#L69
[1] http://godoc.org/github.com/go-sql-driver/mysql#Config

It looks like there's a known workaround, and not something that we can easily fix on the proxy side, so I'm closing this for now. Feel free to reopen if Carrotman42's suggestion doesn't work for you...


[RFE] Allow to set display name of custom attributes

Custom attributes are used to store unstructured data (string) attached to objects. Currently, one can only set a key and a value. The key and value are most of the time technical strings, i.e. snake/camel/whatever case, used to store data directly attached to the object and exposed to the user. This is not very user friendly.
It would be great to be able to set a display name for the key and for the value, as it is the case for tags. One can then programmatically set/get technical custom attributes, while allowing a better user experience.
An example of method definition would be:
def custom_set(key, value, key_display=nil, value_display=nil)
    key_diplay ||= key
    value_display ||=value
    #Do the normal stuff to set custom attribute
end

This requirement is still relevant. We are able to set a display name for
tags in order to have a better representation in the UI. The same
requirement applies to custom attributes.
Le 30 sept. 2017 06:00, "ManageIQ Bot"<EMAIL_ADDRESS>a écrit :

This issue has been automatically marked as stale because it has not been
updated for at least 6 months.
If you can still reproduce this issue on the current release or on master,
please reply with all of the information you have about it in order to keep
the issue open.
Thank you for all your contributions!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ManageIQ/manageiq/issues/12459#issuecomment-333281416,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABk59KXm9PYUu15bvCm40hG7tfI0zqLDks5snbzYgaJpZM4KqWcx
.


Extend cirq.vis.Heatmap to visualize two-qubit interactions

Currently cirq.vis.Heatmap supports plotting of single-qubit to float maps.
It would be very useful to be able to plot a two-qubit interaction between qubits on a grid, for example like the plot on Fig. S40 a) (page 43) of the supremacy supplementary paper: https://arxiv.org/abs/1910.11333
Direct application of this could be a visualization of cirq.google.Calibration data (each parameter could just have a plot() method for example).

Thank you @mrwojtek for the suggestion! Would
For the record this is the image:

Example test data from cirq.CalibrationData['two_qubit_sycamore_gate_xeb_cycle_total_error'] which returns the metric for a given edge on a chip.
{
(cirq.GridQubit(3, 2), cirq.GridQubit(4, 2)):[0.004619111460557768],
(cirq.GridQubit(4, 1), cirq.GridQubit(4, 2)):[0.0076079162393482835],
(cirq.GridQubit(4, 1), cirq.GridQubit(5, 1)):[0.010323903068646778],
(cirq.GridQubit(4, 2), cirq.GridQubit(4, 3)):[0.00729037246947839],
(cirq.GridQubit(4, 2), cirq.GridQubit(5, 2)):[0.008226663382640803],
(cirq.GridQubit(4, 3), cirq.GridQubit(5, 3)):[0.01504682356081491],
(cirq.GridQubit(5, 0), cirq.GridQubit(5, 1)):[0.00673880216745637],
(cirq.GridQubit(5, 1), cirq.GridQubit(5, 2)):[0.01020380985719993],
(cirq.GridQubit(5, 1), cirq.GridQubit(6, 1)):[0.005713058677283056],
(cirq.GridQubit(5, 2), cirq.GridQubit(5, 3)):[0.006431698844451689],
(cirq.GridQubit(5, 2), cirq.GridQubit(6, 2)):[0.004676551878404933],
(cirq.GridQubit(5, 3), cirq.GridQubit(5, 4)):[0.009471810549265769],
(cirq.GridQubit(5, 3), cirq.GridQubit(6, 3)):[0.003834724159559072],
(cirq.GridQubit(5, 4), cirq.GridQubit(6, 4)):[0.010423354216218345],
(cirq.GridQubit(6, 1), cirq.GridQubit(6, 2)):[0.0062515002303844824],
(cirq.GridQubit(6, 2), cirq.GridQubit(6, 3)):[0.005419247075412775],
(cirq.GridQubit(6, 2), cirq.GridQubit(7, 2)):[0.02236774155039517],
(cirq.GridQubit(6, 3), cirq.GridQubit(6, 4)):[0.006116965562115412],
(cirq.GridQubit(6, 3), cirq.GridQubit(7, 3)):[0.005300336755683754],
(cirq.GridQubit(6, 4), cirq.GridQubit(6, 5)):[0.012849356290539266],
(cirq.GridQubit(6, 4), cirq.GridQubit(7, 4)):[0.007785990142364307],
(cirq.GridQubit(6, 5), cirq.GridQubit(7, 5)):[0.008790971346696541],
(cirq.GridQubit(7, 2), cirq.GridQubit(7, 3)):[0.004104719338404117],
(cirq.GridQubit(7, 3), cirq.GridQubit(7, 4)):[0.009236765681133435],
(cirq.GridQubit(7, 3), cirq.GridQubit(8, 3)):[0.024921853294157192],
(cirq.GridQubit(7, 4), cirq.GridQubit(7, 5)):[0.0059072812181635015],
(cirq.GridQubit(7, 4), cirq.GridQubit(8, 4)):[0.004990546867455203],
(cirq.GridQubit(7, 5), cirq.GridQubit(7, 6)):[0.007852170748540305],
(cirq.GridQubit(7, 5), cirq.GridQubit(8, 5)):[0.006424831182351348],
(cirq.GridQubit(8, 3), cirq.GridQubit(8, 4)):[0.005248674988741292],
(cirq.GridQubit(8, 4), cirq.GridQubit(8, 5)):[0.014301577907262525],
(cirq.GridQubit(8, 4), cirq.GridQubit(9, 4)):[0.0038720100369923904],
}

The solution would convert the data in cirq.Calibration.heatmap to the plot.

Thank you @mrwojtek for the suggestion!
For the record this is the image:

Example test data from cirq.CalibrationData['two_qubit_sycamore_gate_xeb_cycle_total_error'] which returns the metric for a given edge on a chip.
{
(cirq.GridQubit(3, 2), cirq.GridQubit(4, 2)):[0.004619111460557768],
(cirq.GridQubit(4, 1), cirq.GridQubit(4, 2)):[0.0076079162393482835],
(cirq.GridQubit(4, 1), cirq.GridQubit(5, 1)):[0.010323903068646778],
(cirq.GridQubit(4, 2), cirq.GridQubit(4, 3)):[0.00729037246947839],
(cirq.GridQubit(4, 2), cirq.GridQubit(5, 2)):[0.008226663382640803],
(cirq.GridQubit(4, 3), cirq.GridQubit(5, 3)):[0.01504682356081491],
(cirq.GridQubit(5, 0), cirq.GridQubit(5, 1)):[0.00673880216745637],
(cirq.GridQubit(5, 1), cirq.GridQubit(5, 2)):[0.01020380985719993],
(cirq.GridQubit(5, 1), cirq.GridQubit(6, 1)):[0.005713058677283056],
(cirq.GridQubit(5, 2), cirq.GridQubit(5, 3)):[0.006431698844451689],
(cirq.GridQubit(5, 2), cirq.GridQubit(6, 2)):[0.004676551878404933],
(cirq.GridQubit(5, 3), cirq.GridQubit(5, 4)):[0.009471810549265769],
(cirq.GridQubit(5, 3), cirq.GridQubit(6, 3)):[0.003834724159559072],
(cirq.GridQubit(5, 4), cirq.GridQubit(6, 4)):[0.010423354216218345],
(cirq.GridQubit(6, 1), cirq.GridQubit(6, 2)):[0.0062515002303844824],
(cirq.GridQubit(6, 2), cirq.GridQubit(6, 3)):[0.005419247075412775],
(cirq.GridQubit(6, 2), cirq.GridQubit(7, 2)):[0.02236774155039517],
(cirq.GridQubit(6, 3), cirq.GridQubit(6, 4)):[0.006116965562115412],
(cirq.GridQubit(6, 3), cirq.GridQubit(7, 3)):[0.005300336755683754],
(cirq.GridQubit(6, 4), cirq.GridQubit(6, 5)):[0.012849356290539266],
(cirq.GridQubit(6, 4), cirq.GridQubit(7, 4)):[0.007785990142364307],
(cirq.GridQubit(6, 5), cirq.GridQubit(7, 5)):[0.008790971346696541],
(cirq.GridQubit(7, 2), cirq.GridQubit(7, 3)):[0.004104719338404117],
(cirq.GridQubit(7, 3), cirq.GridQubit(7, 4)):[0.009236765681133435],
(cirq.GridQubit(7, 3), cirq.GridQubit(8, 3)):[0.024921853294157192],
(cirq.GridQubit(7, 4), cirq.GridQubit(7, 5)):[0.0059072812181635015],
(cirq.GridQubit(7, 4), cirq.GridQubit(8, 4)):[0.004990546867455203],
(cirq.GridQubit(7, 5), cirq.GridQubit(7, 6)):[0.007852170748540305],
(cirq.GridQubit(7, 5), cirq.GridQubit(8, 5)):[0.006424831182351348],
(cirq.GridQubit(8, 3), cirq.GridQubit(8, 4)):[0.005248674988741292],
(cirq.GridQubit(8, 4), cirq.GridQubit(8, 5)):[0.014301577907262525],
(cirq.GridQubit(8, 4), cirq.GridQubit(9, 4)):[0.0038720100369923904],
}

The solution would convert the data in cirq.Calibration.heatmap to the plot.

The prototype produced the following figure

The prototype produced the following figure:

That looks awesome! Thank you for picking this up!

This is closed now, thanks @crystalzhaizhai!

Ah I haven't realized that #3351 was merged into a branch - @crystalzhaizhai, this is really not something we typically do. Reopening the issue.

Ah I haven't realized that #3351 was merged into a branch - @crystalzhaizhai, this is really not something we typically do. Reopening the issue.

I realized that there are a couple of issues with the current printing:

the boundaries of the qubits are not clear, as we have grids.
the axes are reversed weirdly
smaller test cases plot weirdly into the negative

cirq.InterHeatmap({
    (cirq.GridQubit(0, 0), cirq.GridQubit(0, 1)): 0.1,
    (cirq.GridQubit(0, 1), cirq.GridQubit(0, 2)): 0.2,
    (cirq.GridQubit(1, 0), cirq.GridQubit(0, 0)): 0.3,
}).plot()

in case of the sycamore connectivity graph (cirq.google.Sycamore) there is a shift in the position of the annotations - they are not on the boundaries of the qubits anymore:

I'm actively looking at these issues and will sort them out.
The feature branch has been deleted and I'm going to open a PR based on my fork that is based on @crystalzhaizhai's initial work.

I realized that there are a couple of issues with the current printing:

the boundaries of the qubits are not clear, as we have grids.
the axes are reversed weirdly
smaller test cases plot weirdly into the negative

cirq.InterHeatmap({
    (cirq.GridQubit(0, 0), cirq.GridQubit(0, 1)): 0.1,
    (cirq.GridQubit(0, 1), cirq.GridQubit(0, 2)): 0.2,
    (cirq.GridQubit(1, 0), cirq.GridQubit(0, 0)): 0.3,
}).plot()

in case of the sycamore connectivity graph (cirq.google.Sycamore) there is a shift in the position of the annotations - they are not on the boundaries of the qubits anymore:

I'm actively looking at these issues and will sort them out.
The feature branch has been deleted and I'm going to open a PR based on my fork that is based on @crystalzhaizhai's initial work.

xref #3642


Ubuntu packages for the complete 'icestorm flow' ?

Hi all,
I, personally, don't have any issues with cloning the source repositories, installing pre-requisites and manually compiling four separate systems and installing them. But, it is a big turn-off for new beginners. I have a hard time recommending it to people coming from Windows background.
Having an "apt-get install icestorm-flow" kinda installment way can increase the number of people willing to try the environment.
Yes I know that even compiling the whole toolchain from the sources is way easier and have less problems than installing ISE / Vivado or any other commercial toolchain but I'm asking whether can we do even better.
Kicad has similar convenience for some time: http://kicad-pcb.org/download/ubuntu/ Users can either tap into stable or nightly build repositories and after that Kicad can be installed/updated over apt-get commands.
If it is hard to maintain an Ubuntu package, pre-compiled all-in-one compressed releases can be good as well.  Example for this is GNU Arm toolchain. Users can download the compressed release file from https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads and after uncompressing and set a path, the complete toolchain is ready.
Thanks again for all the efforts.
ihsan.

Debian has packages: apt-cache show fpga-icestorm arachne-pnr yosys
Updating the contents probably will not be too difficult.

I know many people disagree with me, but I vote for "pre-compiled all-in-one compressed releases." The builds I've been making (once I get them working again) are linked with musl and work across basically all distros including Android (since icestorm does not require NSS).

Do note that some of the programs (e.g. icetime) hardcode the prefix configured at build time and will not be able to find data files if the package is "just unpacked" and not installed into the correct directory. Perhaps this can be improved.

If following the official instructions is too difficult for new users,
they're probably better off sticking with icestudio, which is binary and
includes a gui:
http://icestudio.readthedocs.io/en/latest/source/installation.html#windows
icestudio-0.3.3-beta-win64.exe was 105 MB. It seems to be about 263 MB on
disk after 'toolchain' installation. It includes Python2.7 and uses apio
internally, but that doesn't matter to the end-user, since the icestudio
installer is the only one that needs to be run.
It's a very 'Arduino'-like experience, which I think is what you want if
you want pre-compiled stuff.
Impressively quick too -- adding another output to one of the 'blink'
examples, and it was rebuilt and running within five seconds after hitting
'Upload'. (YMMV, my PC is plenty fast). It even includes libusbk driver
installation, which vastly improves upload speed (included in that 5
seconds!)
apio is good, and works wherever pip does.
If you want prebuilt binaries, it's the way to go, IM(NS)HO.
Otherwise there's not much getting around living on the bleeding edge git
versions.
Here's something that may help, which may be especially good if the
'official' steps look too hard and one doesn't want to manually setup a VM
and manually download and 'install' a Linux Distro on a windows PC.
https://github.com/RGD2/icestorm-git-sing
This provides a (relatively) easy way to build the toolchain from scratch
under windows, in such a way as to be useful for submitting tickets,
confirming bugs etc.
Requires download and installation of three or four (free software) windows
installers that have nothing to do with icestorm, but little to no config
effort afterwards.
Takes perhaps 15? GB of disk space, and 13 minutes to do a full rebuild for
me. A 'make clean' when you're done zaps the whole compressed binary image
to save disk space.
And then you can delete the VM too, if you want. Redoing it all doesn't
take many steps.
If you keep the ~540MB image around, it's pretty quick to load.
I've confirmed that icotools (included) can program an icoboard on the
ico-usb adaptor on a windows 10 machine as well.
In fact, it's not such a bad idea to do something like this even if you're
on other systems / distros, just to eliminate your dependencies and
environment as variables for hunting bugs.
On Fri, May 25, 2018 at 2:35 PM, Robert Ou<EMAIL_ADDRESS>wrote:

Do note that some of the programs (e.g. icetime) hardcode the prefix
configured at build time and will not be able to find data files if the
package is "just unpacked" and not installed into the correct directory.
Perhaps this can be improved.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cliffordwolf/icestorm/issues/140#issuecomment-391938537,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AO8-GL4tePxaiIOuaiPCWZGcbZNzjwr6ks5t14oAgaJpZM4UM2xt
.

--
-- Remy

It seems Apio project maintains "compressed folder" toolchain only release. They are not 'nightly builds' but it should do the trick.
https://github.com/FPGAwars/toolchain-icestorm/releases
After unpacking the necessary release file into a directory and adding prefixes to Makefile for toolchain programs for that specific folder, example projects compiled perfectly without messing with $PATH.
Thanks everyone for suggestions.
I'm closing the issue.


libjaylink: Move package definition into by-name directory

Description of changes
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.11 Release Notes (or backporting 23.11 and 24.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.

Add a :+1: reaction to pull requests you find important.

It's discouraged to send a PR just to move a package to by-name since that will be done automatically, though you're welcome to do it if you're fixing other stuff in the package as well (I see for example description has some issues, we can switch to SRI hash, formatting could be updated, ...)

It's discouraged to send a PR just to move a package to by-name since that will be done automatically, though you're welcome to do it if you're fixing other stuff in the package as well (I see for example description has some issues, we can switch to SRI hash, formatting could be updated, ...)

Could you explain how it is done automatically? It wasn't done until now.

It's pending a future PR.

It's pending a future PR.

So it's not done automatically ;)
It seems integrating the package into the by-name structure does not just have superficial effects, but actual advantages, like a bot that can help with getting patches in. However, I've added more commits for your suggestion. I would appreciate it if we could get this in now.

It seems integrating the package into the by-name structure does not just have superficial effects

See https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name#manual-migration-guidelines.
The reasoning is that it is superficial and simply causes PR spam if everyone moves their packages one-by-one with no other substantial changes, same goes for reformatting. We had this churn with meta.mainProgram, let's not repeat that here.
As there's no substantial change that wouldn't already be covered by a treewide, I'd vote to close this PR.

It's discouraged to send a PR just to move a package to by-name since that will be done automatically

When? The author is a maintainer and wants to use the merge-bot to get his packages updated. What is your recommended course of action? Waiting for some arbitrary unnamed date in the future seems silly.

@mweinelt Thanks for confirming the merge bot is in use. I've reopened the pull request. Hoping to get this in now.

I concur with @mweinelt.
I too dislike moving stuff to by-name (or do nixfmt) just for the sake of it but, in this case, the ultimate intention is to unlock usage of the merge bot; it's almost like an opt-in.

It's discouraged to send a PR just to move a package to by-name since that will be done automatically

When? The author is a maintainer and wants to use the merge-bot to get his packages updated. What is your recommended course of action? Waiting for some arbitrary unnamed date in the future seems silly.

It's literally in the contribution guidelines?

do we really want these sorts of no-op PRs times tens of thousands of packages?

Nobody is arguing for that extreme here. The intention is clearly to unlock usage of the merge bot in this case. Arguably, that's not even a no-op.
I also highly doubt we even have 10000 individually maintained packages that still have an active maintainer who could conceivably desire to port them.
Even if we had, it's also not like these PRs require significant reviewer attention as they're dead simple. I could have merged a couple of those in the time it took to argue with you about it. I don't see the negative effect.

Nobody is arguing for that extreme here. The intention is clearly to unlock usage of the merge bot in this case. Arguably, that's not even a no-op.

It's more of a no-op than mainProgram was, and that was in fact a mess.
And if you're arguing for this PR, then you are in fact arguing that:

All packages that simply move to by-name are valid, which in turn implies that
The contribution guidelines don't matter (since no one has discussed PR'ing a change to them), and
You're willing to sign up nixpkgs for PR spam (because the same argument would apply to every package, right?)

Stop rule lawyering. We wouldn't have a hint in the bots PRs if it was not supposed to be used.

I wanted to finish that work, but Things™ happened, and now I'm involved in something completely different and don't have time to finish the automated migration just yet :upside_down_face:, sorry for the unexpected delay!
So I think it's totally fair to move packages manually by now, especially since there's the merge bot now that depends on it. I'll submit a PR to update the contributor guidelines, they weren't originally written with all of this in mind.
And if somebody would like to help out with the automated migration, check out https://github.com/NixOS/nixpkgs-vet/issues/56. It's totally doable, but it needs a bit of elbow grease. I'll get to it eventually if nobody else does, though it might still take some time.

https://github.com/NixOS/nixpkgs/pull/340235

Stop rule lawyering.

Did you read my other points?
I'm still against the PR spam, and personally won't be approving PRs that do this.
Feel free to encourage the spam by merging.

@eclairevoyant We need to consider new context as well. The guidelines weren't written with the merge bot in mind, that only came later. With the bot now existing, we should think of such moves to pkgs/by-name not as churn, but rather empowering maintainers to take care of their own packages. You're not just merging such a move, but effectively also merging any future package updates on behalf of the maintainer! I do believe that kind of empowerment is what Nixpkgs is in need.

It should also be noted that the contributing guidelines are, indeed, guidelines, not rules. Our actual rules are decided through the RFC process and there has been no such RFC banning the manual migration to by-name.
Perhaps we should also make that fact more clear in the document. IMV its purpose is to document the contributor etiquette as we live it (all the "unwritten rules" etc.), not provide hard clear-cut rules on processes and that should be clear to readers too.

So I think it's totally fair to move packages manually by now

I am angry and happy rn.


Revert Vec::resize

Vec::resize was added in 1.5.0. attr.rs#L44

Build failed because of #61.

r=me + #63


Shorthands for less typing

Some ideas for quicker use:
!s -> !search
!p -> !price
!o -> !oracle
!h -> !help
!res = !resources

There are no collisions yet in the most frequently used commands.
Another idea is !p ^ and !o ^ which would give you the price/oracle of the last card you requested with []. This could be extended to last card requested with !p and !o as well, but I don't think that's necessary.
A common use case for the use of this would be checking if a card is legal and if not, then checking its price to see how close it is to rotating in.
Another useful application is seeing the oracle text of an old nonsense card after querying it.

I guess the generalized scheme here should be to take the provided command and scan to see if it unambiguously starts any of the known commands and if so treat it as if that command had been invoked. We could also do fuzzy matching for all the times people type !proce and !prcie. The bot doesn't really have destructive operations so being overeager to match what you say seems ok?

7a23ca8. No fuzzy matching.


Upon success I get additional guessing time for a new word.

Couldn't be completed since we lost a group member in the beginning.
Please find further explanation in the group report.


WindowState does not reflect correct state on Windows

Describe the bug
Window.WindowState property seems to only remember programmatically set values, but when the actual window state changes afterwards, such as when user minimizes/maximizes the window, the property value remains unchanged (still stuck on the last programmatically set value). Moreover OnPropertryChanged is not being raised for when window state actually changes.
To Reproduce
Just monitor the value of Window.WindowState property while minimizing/maximizing/restoring window.
Expected behavior
Reading Window.WindowState should always accurately reflect the actual state.
When the state changes - for whatever reason - whether programmatically or via OS/chrome interaction, OnPropertyChanged for WindowState property should be raised.
Avalonia version
11.1 RC2
OS
Windows
Additional context
Likely related to #16227
Unfortunately PlatformImpl.WindowState which looks like it would return correct value is not accessible as it is internal.

This is fixed as of master. Could you confirm with the latest commit.

https://github.com/AvaloniaUI/Avalonia/wiki/Using-nightly-build-feed
Here is how to test it. We cannot modify already released versions.

If the fix is in the nightly, when will it make its way to official release - 11.1 or 12?

Tried latest nightly - 11.1.999 - No, the issue remains! Window is effectively normal, but Window.State reports it as maximized still. It basically bypasses the actual window state check and uses some sort of cached value, which has not been properly updated.

11.1.999 is outdated nightly. Check your nuget feed sources and make sure to enable preview checkmark. Should be 11.2.999

Yeah, sorry not sure how I picked up the wrong version.
As of 11.2.999-cibuild0050204-alpha the issue seems fixed.
But so it won't make it into 11.1 RTM?

Not sure it's making it into 11.1.1 probably but can't confirm. If you're a paying customer you can request it.


Small correction to README.md

Excellent library!
I just made a small correction to the readme file.

Thanks for the kind words and for your contribution!


Crashes when running locally with 'bosco cdn minify'

On this line: https://github.com/tes/bosco/blob/master/commands/cdn.js#L58
Because https://github.com/tes/bosco/blob/master/src/Minify.js#L185 returns an object for the minified css rather than a string

Is this still an issue?

Closing


Wrong current release and version number

Carthage has problems detecting the newest release, since the newest tag is not marked as the current release.
And when you look at the targets Version in the Xcode project it is set to 2.0.10...
Could you please update it also when you update the pod spec, so it will work for Carthage users? :)

Hi @anfriis
I've pushed the updated project and embedded the compiled framework to the current tag, let me know if that fixes the issue or if I have to tag a new release

Yes it worked, thank you!


Reproducible output cannot be achieved in model Mixtral

Neither of ollama.generate or ollama.chat produces reproducible output after setting seed and/or temperature options when the model is set to "mixtral".

I have same problem with llama3.1 and llama3.2


Error 403 in PutFile and GetRawFile but no in GetProcessedFile

I'm using https with basic authentication, I can connect and read a file with GetProcessedFile but the methods PutFile and GetRawFile returns allways 403 Forbidden
        // Tls1.2
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
        // Ignore certificate check
        ServicePointManager.ServerCertificateValidationCallback +=
        (se, cert, chain, sslerror) =>
        {
            return true;
        };

        WebDavClientParams clientParams = new WebDavClientParams();
        clientParams.BaseAddress = new Uri(config.host); // HTTPS URI
        clientParams.Credentials = new NetworkCredential(config.user, config.pass);
        var client = new WebDavClient(clientParams);

            foreach (string file in Directory.EnumerateFiles(this.localFolder, "*", SearchOption.AllDirectories))
            {
                string dirName = file.Replace(this.localFolder, "");
                dirName = dirName.Replace("\\", "/");
                string dest = config.host + config.remoteFolder + dirName;

                    var response = await client.GetRawFile(config.host + "/test.txt"); ->status code 403
                    var response2 = await client.GetProcessedFile(config.host + "/test.txt"); -> status code 200
                    var response1 = await client.PutFile(dest, File.OpenRead(file)); -> status code 403
         }

I want to upload local files to the server
any idea?

Seems my user name was wrong, I was desoriented with the status 200 on GetProcessedFile

Cool, I'm glad it's resolved.


Create marketing materials for CPS

@MaxWofford and I need to meet offline to figure out the deliverable for this.
/cc @kyleemile

Alright, we met offline and the deliverable has been set.
We'll be making three posters, to be posted one week at a time, in order, inside of the CPS math and science classrooms.
PDF of mockup:
2017-02-27_cps_poster_idea.pdf

First poster

ROT13 encoded text (hardest difficulty level)
Include general overview of Hack Club and mention that we want to get a club started at their high school. Will include a special code to use when applying.

Make sure that it's clear where to actually put the code. Right now the application form doesn't have a clear place for referral codes. Perhaps we can tell them to put it into the "how did you hear about Hack Club" field?

Second poster

Will be posted to the right of the first poster one week later
Will be binary encoded and include photos of clubs / club members / club projects (will leave to your discretion)
Will have a separate code to use when applying

Third poster

Generic non-encoded Hack Club poster

This poster should be able to stand alone and be used at other schools without referring to the first or second poster (this'll let us separately send this to teachers for the Matthew campaign)

Will have another separate code to use when applying

We'll send these to Rukiya when they're done and have her tell teachers to post each one, in order, next to the previous one. One new poster each week.

Here's the general layout so far (ignore most of the copy):

@hackclub/staff I'd love your opinion on this copy for the first poster:
Welcome to the club,

We’re a non-profit that helps high schoolers start their own coding clubs.
 Looking forward to your application :-).

And don’t worry if you can’t code just yet – the important part is that you’re
willing to learn to build projects with code. That’s the real focus here:
having the power to learn to build things you want to see in the world.

More posters will come soon... stay tuned! You may want to check out
https://blog.hackclub.com though, it might not be the same by the time the last
poster shows up.

Looking forward to your application,

Max (@msw)

Also, I'd love your feedback on this. It's the copy of the last (non-encoded poster).

Thoughts on this? A little more ominous:

Welcome to the club,

We're Hack Club, the worldwide movement of student-led coding clubs. We're
about turning fellow students into hackers -- people who build things that,
often unintuitively, change the world. We are the future's Alan Kays, Ken
Thompsons, and Grace Hoppers.

We're here because we want El Segundo High School to be the next place we
infiltrate. Don't worry if you can't code just yet -- the important part is
that you're willing to learn and share the knowledge with your peers.

More posters will show up soon -- keep the fact that you were able to decrypt
this on the dl. Do check out https://blog.hackclub.com, it may not be the same
by the time the next poster shows up.

- msw

Need a better phrase than keep this on the dl.

Note to self: @paked had the idea to have a bar/qr code to a paste bin of all this text so people don't have  to type it in manually.

https://imgur.com/a/3qUpa

I've drafted an email to send this off, just waiting for @kyleemile's review of it.

Just sent out the email. Thanks for the edit @kyleemile.


Refactor

This PR

removes double calculation of absolute value
simplifies implementation to better reflect argument reduction
fixes bug where "odd" values greater than MAX_INT32 are incorrectly computed (=> &1 only works for int32 values)
enables browser tests
removes Boost license, as current implementation is no longer a derived work
checks for large doubles (>2**53), in which case the returned value is always 1.0.
sets test tolerance to double-precision floating-point epsilon

Current coverage is 100.00%

Merging #2 into master will not affect coverage as of 789be12

@@            master      #2   diff @@
======================================
  Files            1       1
  Stmts           35      33     -2
  Branches         9       7     -2
  Methods          0       0
======================================
- Hit             35      33     -2
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 789be12

Powered by Codecov. Updated on successful CI builds.


Xphoto api change

The xphoto APIs in contrib part have been changed different. This PR makes them keep in sync with official changes. Compiling locally is already checked that can be build pass.

Sorry reopen it because I forget to revise functions in lua files. And please review this PR. The changed log about xphoto is here.

That's cool, thank you for the nice work!
Am I right that in your implementation we can't set parameters, like saturationThreshold in GrayworldWB? Then it's better to make torch classes for OpenCV class wrappers.
Still, for now, while we don't belong to the official OpenCV distribution (as Python wrappers do, for example), we need (unfortunately) to stick to some single version of the main library for consistent wrapping. Right now it's 3.1.0. If we decide to switch to 3.2.0 (which you refer to), then we'll need to test the wrappers against 3.2.0 as well. So, did you do the same? Does the project compile (with all the contrib) successfully with OpenCV 3.2.0?

Ops, Sorry about those virtual functions. I will re-write them into torch classes type in these days.
Currently, the whole project can be compiled with opencv 3.2.0 and latest contrib part except dnn and xfeatures2d. Because these two modules will download some big model files during compiling them, I turn them off in my Opencv environment. But I will make sure again about other contrib modules.

Found that 3.2.0 has been changed a lot from 3.1.0, I found ximgproc has been revised, too. So upgrading into 3.2.0 maybe need some time. I will create a new branch 3.2.0 beta of my own repo. And do quite lot tests against version of 3.2.0. I will close this  PR.


[R-package] make package installable with CRAN toolchain (fixes #2960)

* checking top-level files ... WARNING
A complete check needs the 'checkbashisms' script.
See section ‘Configure and cleanup’ in the ‘Writing R Extensions’
manual.
 * checking for left-over files ... OK

https://github.com/r-lib/actions/issues/111


Add support for args with action append and nargs>1

For args that are setup as:
add_arg('--m', action="append", nargs=3, metavar=("", "", ""),)
(action append and nargs>1)
... parse the input file as an array of arrays:
m = [[1, 2, 3], [4, 5, 6]]

Related to #96 ?  This adds support to the default file format not yaml


AKS application ingress controller uses pod identity

Hey team, AGIC doc still uses pod identity, Pod identity upstream was retired in 2023.9 and aks managed pod identity will be retired in 2024.9.
Shall we update the doc to use workload identity instead.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 95812617-2cee-fb2c-2c6d-573f222033be
Version Independent ID: bf51864f-646f-2fda-7842-b1f3cf2f9ce2
Content: Creating an ingress controller with a new Application Gateway
Content Source: articles/application-gateway/ingress-controller-install-new.md
Service: application-gateway
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@CocoWang-wql
Thanks for your feedback! We will investigate and update as appropriate.

@CocoWang-wql
Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

Closing this request and moving to internal work item 91204
#please-close


problem after upgrade to 2.10

Hello,
My setup was running perfectly fine on older version with patches for Meitrack devices that you helped me with sometimes ago. I just recently upgraded the traccar software to the latest 2.10 and it seems like there is a problem processing the data.
I can see from "netstat -an" that there are streams of data coming in, but only few devices were able to update the database.
I then tried to feed data locally using wifi and traccar client.
From the log file (level ALL), when I started the client, I can see data coming in, but it is not doing anything:
2015-01-08 17:45:26 DEBUG: [5005 <- <IP_ADDRESS>] - HEX:<PHONE_NUMBER>2c41303030303032464542373136352a33310d0a
There will be nothing happening until I turn of the client service, which then will log the following:
2015-01-08 17:46:33  INFO: Closing connection by disconnect
For the other devices, the logfile does not have anything logged.
I only see from "netstat -an" report that there are open established streams of data that never got disconnected (until I restart the traccar and I see multiple "Closing connection by disconnect").
Do you have any ideas on what may be happening?

I am not sure if this is related ... but I found the following error messages:
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at java.lang.Thread.run(Thread.java:745)
INFO   | jvm 1    | 2015/01/08 17:48:06 | Caused by:
INFO   | jvm 1    | 2015/01/08 17:48:06 | javax.persistence.EntityNotFoundException: Unable to find org.traccar.web.shared.model.Position with id -1
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.ejb.Ejb3Configuration$Ejb3EntityNotFoundDelegate.handleEntityNotFound(Ejb3Configuration.java:155)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:210)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:260)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1078)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1005)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:651)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.type.EntityType.resolve(EntityType.java:471)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:167)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:137)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1103)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.processResultSet(Loader.java:960)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.doQuery(Loader.java:910)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:311)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.loadCollection(Loader.java:2228)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:61)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:678)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:80)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.internal.SessionImpl.initializeCollection(SessionImpl.java:1804)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.collection.internal.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:681)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.engine.internal.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:1024)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:346)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.doList(Loader.java:2516)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.doList(Loader.java:2502)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2332)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.Loader.list(Loader.java:2327)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:490)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1247)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:264)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.traccar.web.server.model.DataServiceImpl.login(DataServiceImpl.java:130)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at java.lang.reflect.Method.invoke(Method.java:606)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:265)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:305)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.Server.handle(Server.java:370)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
INFO   | jvm 1    | 2015/01/08 17:48:06 | 	at java.lang.Thread.run(Thread.java:745)

Seems like the problem is on the Client side. There were no major changes on the server to T55 protocol.
The error in the log is not related to the original issue.

I was using the Traccar Client. Should I upgrade the Client too?
There are other errors:
INFO   | jvm 1    | 2015/01/08 17:58:34 |       at java.lang.Thread.run(Thread.java:745)
INFO   | jvm 1    | 2015/01/08 17:59:20 | 2015-01-08 17:59:19.976:WARN:/:Exception while dispatching incoming RPC call
INFO   | jvm 1    | 2015/01/08 17:59:20 | com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract org.traccar.web.shared.model.Device org.traccar.web.client.model.DataService.addDevice(org.traccar.web.shared.model.Device)' threw an unexpected exception: java.lang.IllegalStateException: Transaction not active
INFO   | jvm 1    | 2015/01/08 17:58:34 |       at java.lang.Thread.run(Thread.java:745)
INFO   | jvm 1    | 2015/01/08 17:59:20 | 2015-01-08 17:59:19.976:WARN:/:Exception while dispatching incoming RPC call
INFO   | jvm 1    | 2015/01/08 17:59:20 | com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract org.traccar.web.shared.model.Device org.traccar.web.client.model.DataService.addDevice(org.traccar.web.shared.model.Device)' threw an unexpected exception: java.lang.IllegalStateException: Transaction not active

Protocol hasn't changed, but you might want to update Client because recent versions contain important bug fixes.

I have been running the latest software provided via Google Play.
I just reinstalled the server and client to the latest version.
I found other error message:
2015-01-09 09:53:20  WARN: Connection reset by peer - java.io.IOException (FileDispatcherImpl.java:-2)
2015-01-09 09:53:20  INFO: Closing connection by exception
2015-01-09 09:53:20  INFO: Closing connection by disconnect
I just tried playing with the GPS source provider, with the source set to GPS, the client reports the following:
2015-01-09 09:55:18 DEBUG: [5005 <- <IP_ADDRESS>] - HEX:<PHONE_NUMBER>2c41303030303032464542373136352a33310d0a
and no response from the server.
When I use Mixed source as GPS provider, it has better result:
2015-01-09 09:55:33 DEBUG: [5005 <- <IP_ADDRESS>] - HEX: 244750524d432c3032353533362e3634382c412c303731362e313338372c532c31313234342e353939342c452c302e30302c302e30302c3039303131352c2c2a31310d0a
2015-01-09 09:55:33 DEBUG: [5005 -> <IP_ADDRESS>] - HEX: 4f4b310d0a
Do you know why?

From netstat, it seems like the connections were made to tcp6 instead of tcp.
tcp6       0      1 <IP_ADDRESS>:8500           <IP_ADDRESS>:36658   FIN_WAIT1
tcp6       0      1 <IP_ADDRESS>:8500           <IP_ADDRESS>:39494     FIN_WAIT1
tcp6       0      1 <IP_ADDRESS>:8500           <IP_ADDRESS>:1936     FIN_WAIT1
I just disabled tcp6 and now no data is shown on the logs.
I still see data coming in from the devices by sniffing packets on my router, but traccar is not processing it.
I see it listening to the right ports:
[root@estore logs]# netstat -an | grep 8500
tcp        0      0 <IP_ADDRESS>:8500            <IP_ADDRESS>:*               LISTEN
[root@estore logs]# netstat -an | grep 5005
tcp        0      0 <IP_ADDRESS>:5005            <IP_ADDRESS>:*               LISTEN
2015-01-09 10:11:59  INFO: Starting server...
2015-01-09 10:11:59  INFO: Operating System name: Linux version: 3.14.23-100.fc19.x86_64 architecture: amd64
2015-01-09 10:11:59  INFO: Java Runtime name: OpenJDK 64-Bit Server VM vendor: Oracle Corporation version: 24.65-b04
2015-01-09 10:11:59  INFO: Memory Limit heap: 1310mb non-heap: 214mb
^C
[root@estore logs]# service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)
Active: inactive (dead)

Note that GPS does not work indoors, so no location updates is expected behavior. On the other hand mixed provider can use network location which is available all the time. That explains why one works and another one doesn't.

Yes, but is that the expected behaviour?
Data coming in and no response from server until the connection is somehow timed out or disconnected?

Yes, the first message is just a login with IMEI. It doesn't have any location info.

OK. But the connection is still active. Is there a time out mechanism? How long?

You can enable timeout on the server, but by default there is none.

How to enable the timeout on the server?
If a device, with no GPS data has active connection to the server and just waits forever like the case that I have now, moves to an area with GPS data...what should happen?
Why don't the server just disconnect/release the connection even the device only sends login data?
That way, once the device has valid GPS data, it can resume sending data to the server.
This still has not resolved the main issue I reported.
Do you have any ideas on the tcp/tcp6 problem?

I setup a new server on a different machine, and disable IPv6.
I still see the following:
root@bear:~ $ netstat -an | grep 5020
tcp        0      0 <IP_ADDRESS>:5020            <IP_ADDRESS>:*               LISTEN
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:38628     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35983   ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35167     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:41835      ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:33793    ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:32762   ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:33414     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:33725     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:32751     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35418    ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:32846   ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35145     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:40999      ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:16902      ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:32955   ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35328   ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:2265     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35018     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35236     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:4318       ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:1971      ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:2222     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:2892     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:10785      ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:35174   ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:2348     ESTABLISHED
tcp        0      0 <IP_ADDRESS>:5020          <IP_ADDRESS>:41767      ESTABLISHED
Many hung connections while on the log file there are no activities.
These connection come from Meitrack devices.

Are you using the latest version? In the latest one all the issues you mentioned are fixed.

yes..as i mentioned ...yesterday i setup yet another completely different server to host traccar. I downloaded the latest 64 bit linux version from traccar website.  The problem stays the same. Now i have 2 traccar servers giving me the same behavior.

I can let you login to one of the servers if you want. Or if you can tell me how to troubleshoot this further, i would be more than willing to help.

I can let you login to one of the servers if you want. Or if you can tell me how to troubleshoot this further, i would be more than willing to help.

Please try following version:
https://www.dropbox.com/s/cgmlansv32j3ii0/tracker-server.jar?dl=0
If still doesn't work I need tracker-server.log file for further investigation.

Here's the logfile output:
2015-01-10 11:43:53  INFO: Operating System name: Linux version: 3.14.23-100.fc19.x86_64 architecture: amd64
2015-01-10 11:43:53  INFO: Java Runtime name: OpenJDK 64-Bit Server VM vendor: Oracle Corporation version: 24.65-b04
2015-01-10 11:43:53  INFO: Memory Limit heap: 1310mb non-heap: 214mb
2015-01-10 11:43:53  INFO: Version: 2.10-SNAPSHOT
No data whatsoever is recorded, although my router records that there are traffic going and and out from the device.
Here's what happen when I telnet manually to the meitrack port:
2015-01-10 11:49:35  INFO: Closing connection by disconnect
2015-01-10 11:49:38 DEBUG: [5020 <- <IP_ADDRESS>] - HEX: 0d0a
2015-01-10 11:49:38 DEBUG: [5020 <- <IP_ADDRESS>] - HEX: 0d0a
2015-01-10 11:49:39 DEBUG: [5020 <- <IP_ADDRESS>] - HEX: fff4fffd06
2015-01-10 11:49:39  INFO: Closing connection by disconnect
So, the tracker listens on the right port, but when there is data from the device, somehow it is not doing anything. Not even logging the raw data.
I tested this on both my servers and both give the same behavior.
Have you looked into the data from my router?
ether2
0000: 00 24 81 06 36 ed 00 0c 42 f4 72 e0 08 00 45 00 .$..6... B.r...E.
0010: 00 2c 01 1b 00 00 30 06 87 4f 7c c3 72 96 0a 08 .,....0. .O|.r...
0020: 09 01 8d b4 13 9c 02 2d 87 00 00 00 00 00 60 02 .......- ......`.
0030: 7d 78 ee 31 00 00 02 04 05 50 }x.1.... .P
0010: 00 2c 00 00 40 00 40 06 38 6a 0a 08 09 01 7c c3<EMAIL_ADDRESS>8j....|.
0020: 72 96 13 9c 8d b4 a7 88 3a ac 02 2d 87 01 60 12 r....... :..-..`.
0030: 72 10 16 f0 00 00 02 04 05 b4 00 00 r....... ....
0000: 00 24 81 06 36 ed 00 0c 42 f4 72 e0 08 00 45 00 .$..6... B.r...E.
0010: 00 28 01 1c 00 00 30 06 87 52 7c c3 72 96 0a 08 .(....0. .R|.r...
0020: 09 01 8d b4 13 9c 02 2d 87 01 a7 88 3a ad 50 10 .......- ....:.P.
0030: 7d 78 23 45 00 00 }x#E..
This is communication between the device and the server. It seems like traccar responded somehow, but I cannot tell what kind of respond and why does it not log to the logfile?

All data should be logged. Maybe it's just TCP handshake messages?

If they were just handshake messages, why do you keep the connections open for so long? My Traccar crashed after a few days running with error Too Many Open Files.

I just found a fresh log with the following messages leading to Traccar stalling...
There are hundreds of lines like the following and no data is recorded:
2015-01-23 18:32:32  WARN: netty warning: Failed to accept a connection.
2015-01-23 18:32:33  WARN: netty warning: Failed to accept a connection.
2015-01-23 18:32:34  WARN: netty warning: Failed to accept a connection.
2015-01-23 18:32:35  WARN: netty warning: Failed to accept a connection.
2015-01-23 18:32:36  WARN: netty warning: Failed to accept a connection.
I then restarted the machine:
2015-01-23 18:32:36  INFO: Shutting down server...
Immediately followed by hundreds of the following messages:
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
2015-01-23 18:32:37  INFO: Closing connection by disconnect
then it restarts the traccar:
2015-01-23 18:32:41  INFO: Starting server...
2015-01-23 18:32:41  INFO: Operating System name: Linux version: 3.17.7-300.fc21.x86_64 architecture: amd64
2015-01-23 18:32:41  INFO: Java Runtime name: OpenJDK 64-Bit Server VM vendor: Oracle Corporation version: 25.25-b02
2015-01-23 18:32:41  INFO: Memory Limit heap: 763mb non-heap: 0mb
2015-01-23 18:32:41  INFO: Version: 2.10-SNAPSHOT
Data starts coming in again:
2015-01-23 18:32:54 DEBUG: [5020 <- <IP_ADDRESS>] - HEX:<PHONE_NUMBER>372c3031333737373030313137383233332c4141412c33352c2d372e3236363531362c3131322e3734333535352c3135303132333131323231392c412c352c31372c302c3232342c312e372c35302c333131323731382c31323533343533382c3531307c317c333530347c454246422c303030302c303030307c303030307c303030307c304132357c304242382c2c2a41430d0a

Nothing changed in terms of managing connections. If you want to close connections after some timeout you can set resetDelay parameter.

Where do I set it? in the conf file? xxxx  ?
What is the unit of xxx ? ms ? s?

I found https://github.com/tananaev/traccar/issues/887.
Seems like after setting resetDelay, everything works normal now.
Devices that were not registering data starts to show up properly now.
I really think you need to dig down to solving this issue permanently rather than setting the resetDelay data.

There is no way to solve it permanently.

I found https://github.com/tananaev/traccar/issues/887.
Seems like after setting resetDelay, everything works normal now.
Devices that were not registering data starts to show up properly now.
I really think you need to dig down to solving this issue permanently rather than setting the resetDelay data.


m.redraw adds duplicate content with m.trust

If you look at one of my sites that I'm using Mithril on: https://bluebirddc.com/projects/bluebird-bakery (sorry for the restriction pop up, state regulations say you have to be a resident of DC to view the page), you'll see duplicate timeline info under the press section: https://s3.amazonaws.com/screenshots.equityeats.com/S6LXq.png
The code for this view looks something like this:

{"Timeline"}

          { m.trust(ctrl.project.timeline_html()) }

{"Press"}

          { m.trust(ctrl.project.press_html()) }

(using msx so that's why the view syntax is different, but you get the idea.)
I've already verified silly things (I call this view code more than once / press_html literally containing the timeline html) and none of those things are the issue.
This problem only happens on production (minified & concatenated JS being the main difference), not locally when testing.
Then I noticed something weird. If I open the dev tools and call m.redraw() in the JS console, that specific block is duplicated again on the page. I would expect m.redraw() to not change anything since none of the project data has changed, but for some reason that one section duplicates some view code every time I call m.redraw().
For more background info, this page is loaded and then makes an ajax call to get the project information, which calls m.redraw() after the ajax call has returned with the project info.
I'm using the v.0.2.0 tagged version of Mithril. I've also tried using the bleeding edge version from the next branch, but no luck.
I'm considering this being a bug of msx, but it that were the case, I don't know why this single section is having issues where the same pattern is being used several times elsewhere on the page and we're not having any issues.
Any advice here? Are there other things I should try or check? Has this behavior been seen before?

I was able to narrow the issue down. I think the problem is with using m.trust. I recognize that m.trust returns a String object instance, not a String literal.
When I do something like m.trust(ctrl.project.timeline_html()).toString(), then I don't get this repetition, although the html is no longer encoded. I end up with literal html tags (ex: "Some text").
However when I just use m.trust it seems like m.redraw is not recognizing that the String object instance is the same instance, so it's re-adding it to the page.
Is this theory plausible?

Okay, after some more debugging I narrowed down exactly what the problem is. It happens when you use multiple m.trust calls in the same function. See this simple jsFiddle that I made to prove the issue.

A variation: it works correctly when m.trust is returned from the controller: https://jsfiddle.net/375uceLy/

Good find @ArthurClemens. I modified it to include a model, which is how my app is laid out: https://jsfiddle.net/375uceLy/, however when I move the m.trust call to my model layer in my application, it's still broken.

I was able to recreate the problem in the jsFiddle by changing:
		return m("div", [
			m('div', ctrl.page.content()),
            m('div', ctrl.page.content_two())
		]);

to
return m("div", [
			ctrl.page.content(),
            ctrl.page.content_two()
		])

so something about using m("div", m.trust(...)) fixes this. Weird.

I'm experiencing the same issue on firefox 39 while on chrome 44 everything works as expected.

I had a similar issue in FireFox and IE (but not Chrome), but the problem was I didn't set my content-type header to "application/json; charset=utf-8" for an API endpoint serving JSON I was rendering into the document.

I've spotted the issue in the injectHTML function, the "else" branch of "if (nextSibling)" performs:
parentElement.insertAdjacentHTML("beforeend", data);
Two or more calls will produce a single text node containing the "correct" output. I think is a Firefox bug since the 'afterbegin' works as expected (of course the output is reversed).
Here follows a snippet for testing this behaviour:
(function () {
document.body.innerHTML = '';
document.body.insertAdjacentHTML("beforeend", '12345');
document.body.insertAdjacentHTML("beforeend", '12345');
console.log('Expected true:', document.body.childNodes.length === 2);
document.body.innerHTML = '';
document.body.insertAdjacentHTML("afterbegin", '12345');
document.body.insertAdjacentHTML("afterbegin", '12345');
console.log('Expected true:', document.body.childNodes.length === 2);

})();

Replacing the insertAdjacentHTML with a Range seems fixing the issue:
parentElement.appendChild(document.createRange().createContextualFragment(data));
I'll submit a pull request.


feat(FX-3143): dynamic state for saved search v2

The type of this PR is: Feature

This PR resolves FX-3143
Description

PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[ ] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 45d27f3e2186e3f032b7d42206b1969b8b563aba


Is generating cyclonedx dependencies supported with the javascript-lock cataloger?

What would you like to be added:
Including dependency relationships in a CycloneDx SBOM generated by the javascript-lock cataloger?
Why is this needed:
So that I can report on Dependency Tree's using tools such as Dependency Track.
Additional context:

We don't support it today, but we plan to (#572 ). I've linked this issue back to that umbrella issue to track the specific ecosystem request 👍


Deleting html instead of replacing src

Not working for me at all.
It is just deleting everything in index.html file, starting from the part that have to be modified:
So this part:
<!-- build:js -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="js/app.js"></script>
<!-- endbuild -->

And everything bellow it disappears.
Here is my gulp task.
gulp.task('htmR', function() {
   gulp.src('app/index.html')
      .pipe(htmlreplace({
         js: 'js/bundleB.min.js'
      }))
      .pipe(gulp.dest('app/'));
});

Is it compatible with node 0.10?

I've been observing the behavior described above since we upgraded from 1.1.0 to 1.4.1. Parts of HTML are either skipped or entirely removed because of this issue.
It seems to be related to the way the parser handles line breaks. I was able to make things work with 1.4.1 by manually inserting line breaks after and before HTML comments marking the beginning and end of a snippet to replace.

@charlescaron Could you provide that HTML file? Not copy and paste contents, just the file itself. I can't reproduce such behavior no matter what i try. I tried to create HTML files with different line breaks in different OS'es with no luck.

FYI: also putting nothing between the start and end comment: <!-- build:css --><!-- endbuild --> results in everything below being deleted. Adding a line-break between them solves the issue.

Here are the links to the source and the output I get with both 1.1.0 and 1.4.1. Note that I'm on Mac OS X, but I'm observing the same behavior on CentOS 6.3.
Gulp version: 3.8.10
Node.js version: 0.10.32
Source:
https://drive.google.com/file/d/0B0RIKmSzYfVCdHcxSXE5SVZCRmM/view?usp=sharing
Output with 1.1.0 (Good):
https://drive.google.com/file/d/0B0RIKmSzYfVCRUZOX3VfSk1EY2s/view?usp=sharing
Output with 1.4.1 (Wrong):
https://drive.google.com/file/d/0B0RIKmSzYfVCVTBDenE4ZUZYalk/view?usp=sharing

Ah, finally, i see the problem now. Thanks @charlescaron ! Please test 1.4.2 and close this issue if it works

@JeroenNoten noted, thank you

1.4.2 works fine for me now, thanks!


Tmp dir overrides

This request adds more options to the tempdir overrides, allowing for different start criteria of multiple tempdirs.

Could you do a catch up merge and I'll take another look?  There are type hints now so if you have to wait for me to approve again after the update, you can give tox -e check-hints-py39 (or whatever python version you have) a try locally for feedback on that.
One point I'm not sure on, like not sure which I actually prefer, is whether the override should be allowed to be incompletely specified.  I understand reducing repetition, but does it really make sense to be able to override just the phase major, for example?

Sure thing.
Yeah, it could cause confusion if it isn't necessary to specify major and minor phases. Will change that behaviour.

I also started adding brief lines in the changelog with links to the PRs.  Could you please add one for this while you're at it?

Thanks for looking at this. I will get onto them all this evening.

Just a quick note, the failing macOS build looked like a general CI setup failure of some sort so I reran all the jobs.  Looks like they pass now.

I unresolved a couple "conversations" that were marked resolved without related code changes or replies.  Neither seem to be related to the core of this PR so it would be good to not hold the whole thing up for too long on them.  :]

Fair enough. I thought I'd clicked on all the commit suggestions?


refactor: simplify the Lifecycle Watcher

We can expect the correct order of event for DOMContentLoaded and load events,
that the main frame's will come last upstream CL.

Closing as the network idle parts need this to properly detect that part of the lifecycle.