New way to detect duplicate transaction

If there are 2 transaction with exact same amount made on the same day
from the same payee — they are duplicates.

What about these two?

MTB INSTITUTION is payee in this case.
There a lot of other examples so the logic can be erroneous.
It's better to report duplicates, the issue should be fixed on SaltEdge's side.
There is a special route for that and a note in guides

I'm glad you're still following ex_money :)
As I can see these two transactions have the same day, the same amount and the same payee, so the match with the new logic.
Am I missing something?
I guess instead of discarding a duplicate transaction detected by the new logic I should store it with a special flag and then should show to a user, so a user can confirm that this is a duplicate or not. When a user confirms that detected duplicate is a real duplicate, I can send a request to saltedge to mark this transaction as duplicate.

Emm, I was on my thoughts, didn't get the PR's point. I was thinking that your are going to not fetch the transaction from SaltEdge. Marking it as a duplicate and allowing user to decide is a perfect thing to do. :)
Just one more advice, do not include payee in your algorithm, most of the providers don't show payee at all. Relying on date, amount and description is more than enough.

Thanks for the advice. I had to rely on payee exactly because description of the duplicate transactions are different. They might be different in a couple of symbols or description of the duplicate transaction might include some more info(additional digits or codes).
Recently I synced transactions with fetch_all: true to finally import transactions from the last year and got tons of duplicated transactions and all duplicates I checked had payee field and description field was a bit different.
Probably in case of empty payee I should come up with a more sophisticated way of detecting duplicates. Like calculating difference between description using Levenstein algorithm :)

Don't think it would work for automatic logins. Transactions are taken from the banks, it creates space only for 2 types of duplicates:

Our engine doesn't work as expected after bank interface change or it encounters previously unseen data and tries to work with it as usual.
Bank changes a transaction's description for the next day, appends additional data in description or applies some fees.

A couple of different symbols sounds strange 💭

Actually, this way of detecting duplicate transactions is too naive. It's better to allow users to mark duplicate transactions, send a request to Saltedge and exclude such transactions from anywhere.

And I'm already doing that https://github.com/gaynetdinov/ex_money/blob/master/web/controllers/mobile/transaction_controller.ex#L136-L147 :)

Wise decision :)

@idanci check it out :) pay attention to inserted_at column
ex-money::DATABASE=> select saltedge_transaction_id, inserted_at, description, amount from transactions where made_on = '2016-09-01' order by saltedge_transaction_id;
saltedge_transaction_id |     inserted_at     |                                           description                                            | amount
-------------------------+---------------------+--------------------------------------------------------------------------------------------------+---------
                15376552 | 2016-09-01 06:02:28 | ABSCHLAG Strom 09/16 V K: 122683582gruenstrom easy 90                                            |   -40.0
                15384239 | 2016-09-01 13:03:48 | NORDRING APOTHEKE//BER LIN/DE 2016-08-31T08:49:31 Folgenr.002 Verfalld.2019-1 2                  |  -23.94
                15384240 | 2016-09-01 13:03:48 | CA//Berlin Prenzlauer Berg/DE 2016-08-31T18:35:56 Folgenr.002 Verfalld.2019- 12                  |   -19.0
                15584845 | 2016-09-06 10:02:50 | ABSCHLAG Strom 09/16 V K. 122683582gruenstrom easy 90                                            |   -40.0
                15584846 | 2016-09-06 10:02:50 | NORDRING APOTHEKE//BER LIN/DE 2016-08-31T08.49.31 Folgenr.002 Verfalld.2019-1 2                  |  -23.94
                15584847 | 2016-09-06 10:02:50 | CA//Berlin Prenzlauer Berg/DE 2016-08-31T18.35.56 Folgenr.002 Verfalld.2019- 12                  |   -19.0

So today I got 3 duplicates: 3 transactions were synced after 5 days they were actually made with different saltedge_transaction_id.
The only difference is in descriptions: some colons got replaced with dots.
Do you have any idea why it happens?

Emm, looking on the HBCI responses, it just returned different data on different days:
    {
      "transaction_id": "",
      "local_bankcode": "filtered",
      "local_account": "filtered",
      "local_name": "filtered",
      "remote_bankcode": "filtered",
      "remote_account": "filtered",
      "remote_name": "NORDRING APOTHEKE",
      "date": "2016-09-01",
      "value_date": "2016-09-01",
      "amount": -23.94,
      "currency": "EUR",
      "purpose": "NORDRING APOTHEKE//BER LIN/DE 2016-08-31T08:49:31  Folgenr.002 Verfalld.2019-1 2",
      "category": ""
    },

    {
      "transaction_id": "",
      "local_bankcode": "filtered",
      "local_account": "filtered",
      "local_name": "filtered",
      "remote_bankcode": "filtered",
      "remote_account": "filtered",
      "remote_name": "NORDRING APOTHEKE",
      "date": "2016-09-01",
      "value_date": "2016-09-01",
      "amount": -23.94,
      "currency": "EUR",
      "purpose": "NORDRING APOTHEKE//BER LIN/DE 2016-08-31T08.49.31  Folgenr.002 Verfalld.2019-1 2",
      "category": ""
    },

You are right, the difference is in colons/dots. I think we should find a common standard and replace colons with dots or vice-versa in transactions with similar templates. I'll create an issue in our tracker.
Thanks for reporting it!


"You need to load a kernel first" on trying to boot

Howdy. I'm trying to make an external USB boot drive to set up LUKS encryption as per:
https://davidalger.com/posts/fedora-asahi-remix-on-apple-silicon-with-luks-encryption/
The process has a few snags. First it kept saying "you have to run this script as root and not as sudo." I was actually running as root. I opened a terminal in my user account and did $sudo -i as well as $sudo su root and each time the script kept giving that error. I commented out the check and the install ran fine and appeared to succeed without any error messages.
When I tried to boot from the drive by cancelling the boot process and trying "env set boot_efi_bootmgr" and "run usb_boot", it was saying no usb devices found.
When I tried to boot from the drive by adding an entry in the Grub boot menu, it did show the apparent install to the device, but there doesnt seem to be a kernel. See screenshots.

When I boot from the internal drive I do see this file which is 1.7 GB
/run/media/user/fedora-usb-boot/vmlinuz-6.6.3-408.asahi.fc39.aarch64+16k.hmac
Is that the kernel sought?
There is also a file in that directory, initramfs-6.6.3-408.asahi.fc39.aarch64+16k.img
Could you offer any advice? Thank you. This is a MBP 16" with an M2 pro max chip.

I just pushed out a new change to sort out the sudo issue. I didn't account for users using sudo -i .
You grub menu looks a bit funky
edit /etc/default/grub and ensure this is set to the blank scree (and not to console)
GRUB_TERMINAL_OUTPUT=""
then run to enable the change.
If you want to inspect the contents of the usb drive -- just run ./build.sh chroot
That will chroot you into the usb drive where you can inspect the contents of it.
[root@m1 usb]# ./build.sh chroot
### Chrooting into /root/usb/mnt_usb
[root@m1 /]# ll /boot/
total 41648
-rw-------.  1 root root  7682703 Dec 15 00:00 System.map-6.6.3-408.asahi.fc39.aarch64+16k
-rw-r--r--.  1 root root   301917 Dec 15 00:00 config-6.6.3-408.asahi.fc39.aarch64+16k
lrwxrwxrwx.  1 root root       36 Dec 17 07:19 dtb -> dtb-6.6.3-408.asahi.fc39.aarch64+16k
drwxr-xr-x. 18 root root     4096 Dec 17 07:19 dtb-6.6.3-408.asahi.fc39.aarch64+16k
drwxr-xr-x.  3 root root     4096 Jan  1  1970 efi
drwx------.  4 root root     4096 Dec 17 07:20 grub2
-rw-------.  1 root root 18042674 Dec 17 07:19 initramfs-6.6.3-408.asahi.fc39.aarch64+16k.img
drwxr-xr-x.  3 root root     4096 Dec 17 07:19 loader
lrwxrwxrwx.  1 root root       56 Dec 17 07:19 symvers-6.6.3-408.asahi.fc39.aarch64+16k.xz -> /lib/modules/6.6.3-408.asahi.fc39.aarch64+16k/symvers.xz
-rwxr-xr-x.  1 root root 16597504 Dec 15 00:00 vmlinuz-6.6.3-408.asahi.fc39.aarch64+16k

I ran into this same issue yesterday and posted about it on this channel.
https://app.element.io/#/room/#asahi:fedoraproject.org
According to marcan, there's some sort of race condition occurring with uboot -- and he doesn't have time to fix it at the moment.
Here are some cmds you can run at the uboot prompt
usb reset
usb info
usb storage

usb storage should display the details of your usb device. If it doesn't then somethings wrong with uboot/m1n1 -- not with the usb drive itself.
Yesterday, I ran into the same issue so I downgraded to m1n1-1.4.8 by running these three cmds
rpm -e --nodeps m1n1
rpm -ivh https://leifliddy.com/asahi-linux/39/aarch64/m1n1-1.4.8-1.fc39.aarch64.rpm
update-m1n1

And it worked after that. In fact I just upgraded to m1n1-1.4.9 and now uboot is not recognizing the usb drive any longer. So, there's something off with that update in some form or fashion . Try downgrading to  m1n1-1.4.8 and see if that works for you.

You can also encrypt a drive using this project:
https://github.com/leifliddy/fedora-macos-asahi-qemu
Let me know if you'd like more details.....

Thanks! Downgrading to m1n1-1.4.8 worked.
I'll definitely install the qemu solutions for other times when I need to access the Linux partitions though, thanks for your work on that as well.

marcan fixed the issue. The fix will be in m1n1-1.4.11 -- it's always nice when another person can reproduce the exact same issue -- I don't think this bug would have been resolved so fast if you hadn't submitted  this bug report, thanks!!


Check if a LinkedList is palindrome or not.

AIM :
Given the head of a singly linked list, return true if it is a [palindrome.]
Please Assign me this problem under LGMSOC'21 .I will be doing in C++.
Programming language

[ ] C
[ ] C++
[ ] Java
[ ] Python

Kindly assign this issue to me

@Saurabh4626  kindly assign me this issue in python and java

@SrihariTadala mention the language u want to do in?

I would like to do in Java

@Amit366  I ll do it in python #1547


Option to show only beacons within a certain distance

Not sure how this would combine with other visibility settings

I was thinking of adding this, I'll have to explore some ideas here

For now just to get this in place, I may need to do the following:

User clicks on max beacon distance setting
Switches to a new screen where they can enter the distance + select the unit that they are providing the distance in (respects distance unit settings)
Clicks done, brings them back to the setting list

I know that breaks the user experience of the settings page, but it is difficult to deal with different units in the settings screen - I'll eventually revisit and create a custom dialog where they can set all this stuff.


ImportError: No module named 'Assessment'

Hi I'm using Python 3.4.  Not sure if this Python client supports Python 3.x or not, but anyways got the following error message, when running the following lines:
from falkonryclient import client as Falkonry
from falkonryclient import schemas as Schemas

falkonry   = Falkonry('https://service.falkonry.io', 'my_auth_token')

ImportError                               Traceback (most recent call last)
<ipython-input-1-eae7303cdc03> in <module>()
----> 1 from falkonryclient import client as Falkonry
      2 from falkonryclient import schemas as Schemas
      3
      4 falkonry   = Falkonry('https://service.falkonry.io', 'my_auth_token')

/home/pybokeh/envs/jupyter/lib/python3.4/site-packages/falkonryclient/__init__.py in <module>()
     15
     16 """
---> 17 from falkonryclient.helper import schema as schemas
     18 from falkonryclient.service import falkonry
     19

/home/pybokeh/envs/jupyter/lib/python3.4/site-packages/falkonryclient/helper/schema.py in <module>()
      9 """
     10
---> 11 from falkonryclient.helper.models import *
     12
     13 Models = {

/home/pybokeh/envs/jupyter/lib/python3.4/site-packages/falkonryclient/helper/models/__init__.py in <module>()
----> 1 from Assessment import Assessment
      2 from Pipeline import Pipeline
      3 from Signal import Signal
      4 from Eventbuffer import Eventbuffer
      5 from Subscription import Subscription

ImportError: No module named 'Assessment'

@pybokeh : Currently we only support python 2.7

@pybokeh : Quick question - Can you please tell us more about the experiment you are trying to do ? This will help us to escalate this issue and support you by better mean.

Hello @phagunbaya
I am trying to do a classification task to classify data into a categorical label.  I am currently using Python scikit-learn machine library to do this, but was also looking into using a local GUI application like KNIME or web GUI (cloud-based) environment to perform machine learning experiments.  I was referred to your fellow associate by my coworker who was looking into using Falkonry.
Here is my example use case:
http://nbviewer.jupyter.org/gist/anonymous/d3979c313dcee8dc44ab3047f5610032
I am attempting to use the Falkonry web UI, but than came across this GitHub repo and thought perhaps I can do this all behind the scenes using Python.  I am currently trying to get familiar with the web UI.  Thanks for looking into supporting Python 3.  Otherwise, I can just create a virtual environment running Python 2.7.

@phagunbaya BTW, my data is not time-series based, so I received instructions via email from a Falkonry associate on how to transform/format the data so that it would work with Falkonry AI:
http://nbviewer.jupyter.org/gist/anonymous/70c3edc3424a91ad2ce6c54965ce537a

@pybokeh Thanks for the elaboration. The steps seem fine to me but I would like to point out that, using this client library you can only create eventbuffer, pipeline and add data. For rest steps you might have to use the http APIs documented here: https://service.falkonry.io/api or use the Falkonry UI.
We do have plan to include all the APIs in the client library but that's not targeted any sooner. Please let me know if you need anything and you can always drop an email with question at support[at]falkonry[dot]com.


Include package hash in metadata when uploading

Add a function to work out the SHA hash and attach it to the package metadata.
Also add the other available package metadata keys.

This is now done.


Limit check bug in output_pss_limiter

Fix upper limit check in output_pss_limiter.

Thanks for the fix.

While Rust doesn't support the same syntax, Clippy will print a warning if this mistake is made:
warning: this binary expression can be simplified
  --> src/main.rs:10:8
   |
10 |     if v_ct >= v_cl && v_ct <= v_cl {
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v_ct == v_cl`
   |
   = note: `#[warn(clippy::double_comparisons)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons

https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=21ed74912797b72f02cfd0e4fc180885
Perhaps there is a similar linter available for Julia that could be set up to catch these kind of bugs.


[ERROR] cannot visit harbor UI, contanier harbor-db restarting.

docker-compose version 1.10, docker version 1.13.1
The container harbor-db is always restarting. The logs in /var/log/harbor/2017-02-13/ui.log :

Feb 13 02:44:02 <IP_ADDRESS> ui[8918]:
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: goroutine 1 [running]:
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: panic(0xbdb780, 0xc820329a10)
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: #011/usr/local/go/src/runtime/panic.go:481 +0x3e6
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: github.com/vmware/harbor/src/common/dao.InitDatabase()
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: #011/go/src/github.com/vmware/harbor/src/common/dao/base.go:50 +0x1d7
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: main.main()
Feb 13 02:44:02 <IP_ADDRESS> ui[8918]: #011/go/src/github.com/vmware/harbor/src/ui/main.go:78 +0xd8
Feb 13 02:44:03 <IP_ADDRESS> ui[8918]: 2017-02-13T02:44:03Z [INFO] token expiration: 30 minutes
Feb 13 02:44:03 <IP_ADDRESS> ui[8918]: 2017-02-13T02:44:03Z [INFO] Config path: /etc/ui/app.conf
Feb 13 02:44:03 <IP_ADDRESS> ui[8918]: 2017-02-13T02:44:03Z [INFO] initializing database: type-MySQL host-mysql port-3306 user-root database-registry
Feb 13 02:44:03 <IP_ADDRESS> ui[8918]: 2017-02-13T02:44:03Z [ERROR] [mysql.go:79]: failed to connect to db, retry after 2 seconds :dial tcp: lookup mysql: no such host
Feb 13 02:44:05 <IP_ADDRESS> ui[8918]: 2017-02-13T02:44:05Z [ERROR] [mysql.go:79]: failed to connect to db, retry after 2 seconds :dial tcp: lookup mysql: no such host
~```
It means that mysql is not working well, and it cannot find the host mysql. Can anyone help slove the problem?

Oh, I've fixed this problem. The log in /var/log/harbor/mysql.log/2017-02-13/mysql.log tells me that the problem is that my memory is too small to allocate something.

Thanks for the update, closing the issue.


Improve handling of NULL and empty array for array functions.

Is your feature request related to a problem or challenge?
One of the most important topic for implementing a good array function interaction ecosystem is NULL and empty array handling. There were a lot of attempts and impromevents, but all of these contain a lot of imperfections.
So, I think this theme deserves more attention from the developers.
List:
The list contains all issues and pull requests dedicated NULL and empty array handling:
Issues:

https://github.com/apache/arrow-datafusion/issues/7028
https://github.com/apache/arrow-datafusion/issues/6808
https://github.com/apache/arrow-datafusion/issues/6556
https://github.com/apache/arrow-datafusion/issues/7142
https://github.com/apache/arrow-datafusion/issues/6561
https://github.com/apache/arrow-datafusion/issues/6887
https://github.com/apache/arrow-datafusion/issues/7136
https://github.com/apache/arrow-datafusion/issues/7144

Pull Requests:

https://github.com/apache/arrow-datafusion/pull/6662
https://github.com/apache/arrow-datafusion/pull/6593
https://github.com/apache/arrow-datafusion/pull/7008

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

Add more issue to track this issue

[ ] https://github.com/apache/arrow-datafusion/pull/8269


Donation Button

Donations plunged since we removed them from the above the fold.
We should probably have Donate button next to the Live Demo.

ICYMI: Interim changes to mainstream site live at btcpayserver.flat18.co.uk and wild but not entirely useless stuff lives at experimental-btcpayserver.flat18.co.uk


Npm rebuild node-sass error

When reporting an bug, you must provide this information:

NPM version (npm -v): 2.15.11

Node version (node -v): 4.8.3

Node Process (node -p process.versions):

{ http_parser: '2.7.0',
  node: '4.8.3',
  v8: '<IP_ADDRESS>',
  uv: '1.9.1',
  zlib: '1.2.11',
  ares: '1.10.1-DEV',
  icu: '56.1',
  modules: '46',
  openssl: '1.0.2k' }

Node Platform (node -p process.platform): darwin
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"):

/Users/Marcelo/node_modules/node-sass/lib/binding.js:15
      throw new Error(errors.missingBinary());
      ^

Error: Missing binding /Users/Marcelo/node_modules/node-sass/vendor/darwin-x64-46/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 4.x

Found bindings for the following environments:
  - OS X 64-bit with Node.js 8.x

This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass --force` to build the binding for your current environment.
    at module.exports (/Users/Marcelo/node_modules/node-sass/lib/binding.js:15:13)
    at Object.<anonymous> (/Users/Marcelo/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at [eval]:1:1
    at Object.exports.runInThisContext (vm.js:54:17)

When I run the command above(npm rebuild node-sass --force), I get this error: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

npm node-sass versions (npm ls node-sass):

└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
I am using nvm: 0.33.2
Any suggestions?

Whenever you change node versions you'll need to remove your node_modules
and npm install
On 29 Jun. 2017 7:10 pm, "Marcelo Retana"<EMAIL_ADDRESS>wrote:

When reporting an bug, you must provide this information:

NPM version (npm -v): 2.15.11
Node version (node -v): 4.8.3
Node Process (node -p process.versions):
{ http_parser: '2.7.0',
node: '4.8.3',
v8: '<IP_ADDRESS>',
uv: '1.9.1',
zlib: '1.2.11',
ares: '1.10.1-DEV',
icu: '56.1',
modules: '46',
openssl: '1.0.2k' }

Node Platform (node -p process.platform): darwin
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"):

/Users/Marcelo/node_modules/node-sass/lib/binding.js:15
throw new Error(errors.missingBinary());
^
Error: Missing binding /Users/Marcelo/node_modules/node-sass/vendor/darwin-x64-46/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 4.x
Found bindings for the following environments:

OS X 64-bit with Node.js 8.x

This usually happens because your environment has changed since running npm install.
Run npm rebuild node-sass --force to build the binding for your current environment.
at module.exports (/Users/Marcelo/node_modules/node-sass/lib/binding.js:15:13)
at Object. (/Users/Marcelo/node_modules/node-sass/lib/index.js:14:35)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at [eval]:1:1
at Object.exports.runInThisContext (vm.js:54:17)
When I run the command above(npm rebuild node-sass --force), I get this
error: xcode-select: error: tool 'xcodebuild' requires Xcode, but active
developer directory '/Library/Developer/CommandLineTools' is a command
line tools instance

npm node-sass versions (npm ls node-sass):

└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>I am using nvm: 0.33.2
Any suggestions?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sass/node-sass/issues/2032, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjZWMlTSOHIWE9R0o0wdaFYmNKuqqAUks5sI2oYgaJpZM4OJBnW
.

@xzyfer that is implicit.
The error still there, mate.

There is a lot going on here.

<EMAIL_ADDRESS>
This ancient, and will not install properly anymore. It's also not the version of node-sass supplying the error you're seeing because it was added in node-sass@3.

that is implicit.

Nothing is implicit when you're asking for help.
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 4.x

Found bindings for the following environments:
  - OS X 64-bit with Node.js 8.x

The error message appears to contradict you have followed my initial instructions. Node Sass was installed under Node 8 successfully. You've since changed to Node 6. The node_modules folder wasn't removed because node-sass can still see the successful installation under Node 8.
Since you're using nvm make sure all your tabs are on the same version.

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory

The forced rebuild requires Xcode installed on OSX. However since we're able to determine you're on Node 6 a forced rebuild isn't necessary. We should make these instructions more clear.

, mate.

Be nice please, we don't have to help. I could happily be enjoying my dinner.

I am sorry to bother, just walk by, but is 'mate' a word meaning something non-respectful?


Questions about proxies

This is not a bug submission , i just want to ask, before version v2.3.6, proxies were supported, but v3.0.0 does not seem to support the use of proxies, Is it removed? and will it be supported in the future? Because some animations are only available in certain regions...

Yes, this can be re-added.

I'm working on proxy support ATM but I think this won't be implemented. As far as I can see socks5 and http(s) proxies aren't forwarding the TLS settings which are required to bypass Cloudflare. So proxies would work in theory but Cloudflare blocks all traffic unless the TLS config of the proxy server is especially configured to bypass the CF bot protection.

Perhaps, the download part should not go through the proxy, which sometimes slows down the download speed. If it is just to unblock the region, you only need to proxy crunchyroll's api


[io] Dynamic management of objects in mechanics_io.py

In the mechanics_io (hdf5) interface, it would be great to be able to fully use the capacity of Siconos/Mechanics to be highly dynamic from the point of view of the creation and destruction of bodies
Especially, if an object is created on the fly by addObject and add__Shape calls, it should be possible to use importObject  to include it into the simulation also on the fly. We have also to deal with bodies that already have an history
In the same spirit, a exitScene() should be implemented to remove (possibly temporarily) an object from the simulation scene.
Should we rename the function importScene(), enterScene()

Currently, when you run a simulation Python script, if there is already a simulation it is wiped clean, and the new simulation is written to the file.  You may also explicitly split creation of the scene and running the scene, as seen with cube_scene.py and cube_simulation.py.
This is good, but I want to discuss desired behaviour when a simulation already exists, is completed or empty, or is partially completed.  I'll do this with a series of questions:
When an already-complete simulation is found, should the program,

ask the user whether to erase it
just announce that it is complete, and exit.  User must manually delete the file.  Provide an "overwrite" command-line flag. (e.g. --force)
just go ahead and erase it

When a partially-completed simulation is found, should the program.

continue the simulation until T.
continue the simulation until t+T, where t is the last time simulated.  (current behaviour!)
continue the simulation until t-h+T, ie. disregard the last timestep assuming it may have been partially completed

A new feature should also be to be able to specify a time at which to continue the simulation, explicitly removing everything after a given time.  I am currently working on this.
Ideally, personally, I think it would be nice not to have two files like this, but rather define and execute the simulation from the same file.  Or have the simulation scripts only define simulations, but not automatically clear the data, and have a standard separate command for running the simulations.  (E.g. there is nothing really simulation-specific in cube_simulation.py, so we could make that an installed command perhaps?)
A problem with the above proposal is if you want to add a callback for adding forces or adding objects into the scene at certain steps or doing other things that manipulate the simulation while it is running.
We could just make it a standard practice to always make a dedicated "execution script" if that kind of thing is desired, or provide a way to specify a script name to load containing callback, and save this in the hdf5 file.
Another issue, how to ensure consistency between the simulation (only initialized, or partially completed..) and what has been defined?
These are some cases that I can think of, add your own if you think of more:

Simulation is defined, file contains identical simulation, check that simulation is completed, exit.
Simulation is defined, file contains identical simulation, change T and keep running it.
Simulation is not defined, but loaded from file, but change T and keep running it.
Simulation is defined, contains same  simulation plus more objects, with time of birth after the last time of the file.  Keep running it.  (Change T)
Simulation is loaded, more objects are added with time of birth after last time of the file.  Keep running it.  (Change T)
Simulation is loaded, more objects are added without time of birth, need to restart the simulation.
Simulation is loaded, more objects are added with time of birth at t1, rewind simulation to t1 and run to T.

It seems to me that it should be possible to check if simulation definition is the same as that saved in the HDF5 file, disregarding positions.  Is it necessary to do this?  It comes down to two sets:

Defined simulation and file contain the same objects (shapes are the same)
Defined simulation contains all objects defined in the file
File contains some objects not in the simulation (error condition?)
File contains only objects that are not in the simulation (assume they are added at last time)

Okay on further thought, to keep things simple I think the behaviour should be left as it is currently, perhaps adding a warning if the file is going to be overwritten.
Along with this we can add a way for something like cube_simulation.py to restart the simulation extending T or changing t0 to a later time, and it should do what is expected.  It should "finish" a partially completed simulation, and do nothing for a completed simulation.  This can be a standard script that takes the HDF5 filename as argument.  I propose the name siconos_run, or we can extend the existing siconos script.
We should then add a way to add objects to an already-initialized scene before executing run.  This should be a fairly straightforward extension of cube_simulation.py.  It should be assumed that new objects have time of birth after previous T, but it should require that a new T be given.
An alternative could be to have a way to import another simulation entirely into the current simulation.  It could be possible to load these "sub-simulations" as they are, perhaps just the last frame, and then run it from there.

With the time_of_birth feature can we close this bug?  Should we think about time_of_death as well?  (I think actually position_of_death would be useful!)

I think we can close it, but all the above points have been discussed and fixed ?

It has been a while, so I will review this points.  I think this issue should be closed and dedicated issues should be created as wish-list items.  Probably they will be added as-needed on a future project.

Add new items to an existing simulation before calling run()
Way to merge / import sub-simulations (eg. a pile of rocks into different chute structures, or importing vehicles into some terrain world..)
time_of_death / position_of_death

Otherwise, time_of_birth added by @bremond and siconos_run added by me (and siconos_info for checking T) handle all the main concerns here I think.  Further, I observe that the following controller can be added to a running simulation, which adds a new object to the HDF5 on the fly at a certain time:
class Ctrl(object):
    def initialize(self, io):
        self.io = io
        self.model = io._model
        self.added = False

    def step(self):
        t = self.model.simulation().nextTime()
        if t >= 5 and not self.added:
            self.added = True
            print('Adding an object..')
            self.io._number_of_dynamic_objects = 2
            self.io.addObject('cube', [Contactor('Cube')], mass=1.0,
                              translation=[0, 0, 7],
                              time_of_birth=t)
            self.io.importBulletObject(
                'cube', translation=[0,0,7], orientation=[1,0,0,0],
                velocity=[0,0,0,0,0,0], contactors=[Contactor('Cube')],
                mass=1.0, inertia=None, body_class=BodyDS, shape_class=None,
                birth=t, number=self.io._number_of_dynamic_objects)

This could be developed into a dynamic addImportObject() function for example.. do you think it's interesting to do so?  The only reason would be to be able to program dynamic objects to be added to the scene in reaction to current conditions.

Since last looking at this bug, time_of_death has been implemented, not position_of_death, but objects flying out of the screen generally do not take much computational resources, and I showed in the last comment that some clever things can be done in the controller callback if necessary to create objects on the fly.  I vote to close until such time that this is needed in a real application, otherwise API design choices regarding these issues will be very tentative anyways.

I agree


[mapping, xml] field-name argument ignored for embedded document id

Bug Report

Q
A

BC Break
n/a

Version
2.0.0@beta

Summary
When mapping an ID of an embedded document to a property not called "id", an exception is thrown in "Property id does not exist at ClassMetadata.php:1940". I suspect that the new "field-name" XML argument is ignored in this specific case.
Current behavior & how to reproduce
<embedded-document name="AcmeBundle\Document\Foo">
    <id field-name="name" type="string" strategy="none" />
    <field field-name="value" type="string"/>
</embedded-document>

Results in an exception:
An error occurred in AcmeBundle\Document\Foo" at /app/vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Mapping/MappingException.php line 106 {"exception":"[object] (Doctrine\\ODM\\MongoDB\\Mapping\\MappingException(code: 0): An error occurred in AcmeBundle\\Document\\Foo at /app/vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Mapping/MappingException.php:106, ReflectionException(code: 0): Property id does not exist at /app/vendor/doctrine/mongodb-odm/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadata.php:1940)

When I add the following at the top of the XmlDriver::addFieldMapping() method, everything works fine.
if (isset($mapping['field-name'])) {
    $mapping['fieldName'] = $mapping['field-name'];
}

Using fieldName="name" instead of field-name="name" should work.
See this line

But you can't use that as it fails XML schema validation. It's no longer supported.

Sorry, I didn't know it was not supported anymore, I didn't try the 2.0 beta yet.
I just read the <field id="true"/> is removed too so I don't see any other way to do that.
It seems to be a bug, then.
The field-mapping attribute appears in xsd here but maybe it's not handled in code.

The new id mapping doesn't allow using a different name, as an identifier in MongoDB is always mapped to the _id field in the database. However, this _id field doesn't really exist for embedded documents, at least not with the special handling normally associated with it (even when you don't specify it while inserting a document, it will always be added). This handling does not exist for embedded documents. Furthermore, embedded documents normally don't have an identifier in the sense that regular documents have one. I'm not sure if ODM even adds a unique index on the identifiers of embedded documents in a collection, but I don't think that it does. I'll have to take a deeper look at that later. As for the ID mapping, the fact that people used id="true" on fields in embedded documents was an oversight when adding the new id field, as was the fact that you're able to map an id field in an embedded document.
I'll have to take a look at the current behaviour, but I think the best solution here is deprecating the use of identifiers in embedded documents and removing that functionality in 2.0. If you want to store an ObjectId in a field, you can always map a field with the ObjectId type and an arbitrary name. This has the downside that there are no ID generators, but then embedded documents have different requirements for identifiers from regular documents, so a separate feature or special handling should be considered for that.

After discussion within the team, we've decided to keep things the way we have them at the moment. Identifiers will always map from any property name to an _id field in the database. While this may seem unnatural for embedded documents, I would suggest not using identifiers for embedded documents at all. Instead, if you want to store an ObjectId, map it as a regular field with the ObjectId type. While such fields don't have any autogeneration logic built in (which can be worked around during prePersist events), the upside is that the mapping no longer suggests that the field is an identifier like for a regular document. This assumption is wrong, as there will not be a unique index on an identifier mapped in an embedded document, which is contrary to what an identifier suggests.
At the same time, we will not disallow using the new id mapping in embedded documents just yet: the changes necessary to the XSD would far exceed the scope of changes I'm willing to do for 2.0 release and it would also not cover any other drivers. We'll be deprecating this kind of mapping in a further 2.x release for removal in 3.0.


⚠ Bofrost.at has degraded performance

In b778363, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 950 ms

Resolved: Bofrost.at performance has improved in 4cdd7b7 after 8 minutes.


hrlp

can you help me with creating the .exe?

Use this one, it's compiled v 6.4 - Here

dont u have 6.5v !?


modified to use sdl2 for an android install

I managed to get audiostream compiled and working using sdl2 on android.
Mostly just changed instances of 'SDL' into 'SDL2' and added an include.
To be viable tho, this needs three things:

able to use sdl or sdl2 - I do not know how to detect which is being used to add if/else clauses
make the include system-independent - I'm not sure how to refer to that directory from environmental variables, I'm not sure how to get the ndk path.
the python-for-android init file needs to be edited as well, as in: https://github.com/kivy/python-for-android/pull/1178

@Zen-CODE @KeyWeeUsr Just to be clear, I asked @snuq to open this PR as the first step towards merging the changes, knowing that they'd need some fixes like this to avoid interfering with other OSs.
@snuq Do the changes suggested make sense to you?

Most of the suggestions made sense, yes, I made some changes to the file, added the environmental variable USE_SDL2, and removed the changes for ios and osx.  Ill have to dig for the ndk environ variable once i get some more free time.

ok... i really have no idea what im doing at this point...
I have no idea if i should set the environmental variable 'SDL2_INCLUDE_DIR' for the include folder like I have, or if i should somehow put it in the CFLAGS environmental variable...
on top of that, i have been looking for a reference to the ndk folder and still cant find one.
In its current state, it will compile and works, but I think im out of my league fixing this to be release-worthy...

I'd say it's good enough, but there's still the else part you edited out and I think it might cause troubled (as mentioned in the review comment).
Also, this line:
libraries = ['SDL2', 'SDL2_mixer'] if use_sdl2 else ['sdl', 'sdl_mixer']

might need the libraries to be lowercase as they were originally:
libraries = ['sdl2', 'sdl2_mixer'] if use_sdl2 else ['sdl', 'sdl_mixer']

but I might be wrong. If it works with lowercase, no need to force caps though.
@inclement ?

alright, i changed the includes back, the caps are needed tho, tested a compile with it lowercase and it failed.

Ah, ok... then it seems fine to me. Thanks! :)


Add test for extended models

This just adds tests for uploading extended objects

@mkoistinen any more fixes needed to merge this?

👍

LGTM, but please add a changelog entry.

@mkoistinen changelog added.
Merging


Make shelley TxWits consistent with other eras

Description
Resolves #3959

Checklist

[x] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages. New section is never added with the code changes. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[ ] Self-reviewed the diff

I also moved mapTraverseableDecoderA from Alonzo.TxWits to Shelley.TxWits. Although, it might be better to move it to Decoding in cardano-ledger-binary. Any suggestions?
I'll also update the CHANGELOGs and then this will be ready for review.


CRT_Lottes doesn't work with current version of Reshade

This is only an issue in the latest Reshade. The log shows:
13:29:23:469 [05928] | ERROR | Failed to compile "C:\DATA\Games\Tools\ReShade\reshade-shaders-master\Shaders\CRT_Lottes.fx":
C:\DATA\Games\Tools\ReShade\reshade-shaders-master\Shaders\CRT_Lottes.fx(1, 2): preprocessor error: unterminated #if
C:\DATA\Games\Tools\ReShade\reshade-shaders-master\Shaders\CRT_Lottes.fx(140, 1): preprocessor error: missing #if for #elif
C:\DATA\Games\Tools\ReShade\reshade-shaders-master\Shaders\CRT_Lottes.fx(140, 7): preprocessor error: syntax error: unexpected token 'CRT_LOTTES_MASK'
C:\DATA\Games\Tools\ReShade\reshade-shaders-master\Shaders\CRT_Lottes.fx(142, 1): preprocessor error: missing #if for #endif
C:\DATA\Games\Tools\ReShade\reshade-shaders-master\Shaders\CRT_Lottes.fxh(314, 1): error: unreachable code

Probably because I haven't taken the time to maintain it.
I'll see what I can do and post any updates here.

I have re-added the CRT_Lottes.fx file back, it seems to be working on the latest version, see if it works now.
I haven't changed anything about it nor tested it much beyond checking if it compiled, so there may be bugs.

Huh, it does work on the latest version! Thanks

Cool, I'll close the issue now then.


Vlite issue

Vlite protocol seems not work
tl;dr the server will panic when the client connect,and report  handshake error: dtls temporary: packet length and declared length do not match panic: runtime error: invalid memory address or nil pointer dereference
To Reproduce:
Step 1: install v2ray 5.7.0 in client and server
Step 2: use this config
server:
{
  "inbounds": [
    {
      "protocol": "vliteu",
      "port":443,
      "listen":"<IP_ADDRESS>",
      "settings": {
        "password":"1145141919870",
        "scramblePacket":true,
        "enableStabilization":false,
        "enableRenegotiation":true,
        "enableFec":false,
        "handshakeMaskingPaddingSize":1280
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
  }
  ]
}

client:
{
  "inbounds": [
  ],
  "outbounds": [
    {
      "protocol": "vliteu",
      "settings": {
        "address": "114514",
        "port": 443,
        "password": "1145141919810",
        "scramblePacket": true,
        "enableFec": false,
        "enableStabilization": true,
        "enableRenegotiation": false,
        "handshakeMaskingPaddingSize": 1280
      },
      "tag": "out_vlite"
    }
  ],
  "services": {}
}

Step 3: start server and watch,once the client connect,the server will exit and output some error info like this
V2Ray 5.7.0 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.20.4 linux/amd64)
A unified platform for anti-censorship.
2023/07/08 11:24:39 [Warning] V2Ray 5.7.0 started
2023/07/08 11:24:39 handshake error: dtls temporary: packet length and declared length do not match
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xceef4e]

goroutine 21 [running]:
github.com/pion/dtls/v2.(*Conn).isHandshakeCompletedSuccessfully(...)
        github.com/pion/dtls/v2@v2.2.4/conn.go:815
github.com/pion/dtls/v2.(*Conn).Read(0x1b91f78?, {0xc0004de000?, 0x44aeb4?, 0x5d9008?})
        github.com/pion/dtls/v2@v2.2.4/conn.go:293 +0x2e
github.com/xiaokangwang/VLite/transport/filteredConn.(*FilteredConn).Read(0xc0003ecaa0, {0xc00024c000, 0x2000, 0xc0004729c0?})
        github.com/xiaokangwang/VLite@v0.0.0-20220418190619-cff95160a432/transport/filteredConn/conn.go:147 +0x7c
github.com/pion/sctp.(*Association).readLoop(0xc0003d4680)
        github.com/pion/sctp@v1.7.6/association.go:421 +0x14e
created by github.com/pion/sctp.(*Association).init
        github.com/pion/sctp@v1.7.6/association.go:298 +0xd0

...
Application Info
Debian 12  Linux CSTNET 6.1.0-9-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux , V2Ray 5.7.0 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.20.4 linux/amd64)

github.com/pion/dtls/v2.(*Conn).isHandshakeCompletedSuccessfully(...)
github.com/pion/dtls/v2@v2.2.4/conn.go:815

UPD: was a mistake. vlite falling only with TCP traffic. What about UDP, i dont know, because i dont have installed wireshark and v2ray cannot sniff UPD :-)
So i will install it and maybe open new issuse.


Multiple dispatchers bug

Hello!
In case you have a multiple dispatchers (docker in my case) they are conflicting with each over directories to dispatch sometimes.
For example:
Exception in thread Thread-3115173:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 1254, in run
self.function(*self.args, **self.kwargs)
File "/opt/mercure/app/common/helper.py", line 70, in _run
self.function(*self.args, **self.kwargs)
File "/opt/mercure/app/dispatcher.py", line 74, in dispatch
items = sorted(Path(config.mercure.outgoing_folder).iterdir(), key=os.path.getmtime)
File "/usr/lib/python3.8/genericpath.py", line 55, in getmtime
return os.stat(filename).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '/opt/mercure/data/outgoing/2bc7a132-97ad-11ed-9010-0242ac120012'

I suggest adding a try/except behaviour in def dispatch of dispatcher.py at this part of the code.
try:
        items = sorted(Path(config.mercure.outgoing_folder).iterdir(), key=os.path.getmtime)
        for entry in items:
            # First, check if dispatching might have been suspended via the UI
            if dispatcher_lockfile and dispatcher_lockfile.exists():
                if not dispatcher_is_locked:
                    dispatcher_is_locked = True
                    logger.info(f"Dispatching halted")
                break
            else:
                if dispatcher_is_locked:
                    dispatcher_is_locked = False
                    logger.info("Dispatching resumed")

            # Now process the folders that are ready for dispatching
            if entry.is_dir() and is_ready_for_sending(entry):
                execute(Path(entry), success_folder, error_folder, retry_max, retry_delay)

            # If termination is requested, stop processing series after the
            # active one has been completed
            if helper.is_terminated():
                break
    except:
        return

Thanks for finding and reporting this issue!
Has been addressed with commit 2096565eded589adf26dded887c49e70a51001a6.


Rename fix for pool variable.

Changes proposed in this PR

This rename was missed in pool rollout.

Why are we making these changes?

Will merge once build is green


revoke does not disconnect

when a user revokes a configuration it does not get disconnected.

fixed in 5.2.3


Dockerize the project and add a RESTful service to process images

This pull request extends the current code base to add Docker compliance and a RESTful service that can be used to process images without having to execute Python locally.
All the dependencies are covered with the Docker file that has been added. It requires only one command line to get an image to be processed.
I hope you like this addition to the project.
Cheers,
Wilder

@wilderrodrigues thank you very much for your PR. I am however, writing version 2  of my code (in the v2 branch) which re-structures most my code and also adds different video/image tests. This current PR has merge conflicts with my v2 branch. I will hopefully merge my branch next week, and then we can see how to restructure your PR, specifically the Docker file to include it into the project. Thank you very much.

Hi @oarriaga,
Okay, no problem. I will be on holidays from tomorrow, but once I'm back I will have a look at the conflicts and get them fixed so we can - hopefully - get it merged. :)
Thanks a lot for the great project.
Cheers, Wilder

how do i download this pull request?

@Zumbalamambo @oarriaga
Sorry for the delay, I was on holidays.
The current master branch on my fork has the changes: https://github.com/ekholabs/face_classification
I will fix the conflicts and get the PR updated.
Cheers, Wilder

Okay thank you. Looking forward for the same. the accuracy is too low in current model. especially for asian faces. Refer this  issue. I have tried fixing it but still the accuracy is too low.

@Zumbalamambo could you please estimate what do you mean by "the accuracy is to low"? I mean could you give a script with a dataset that tries to classify different faces and indeed achieves a low accuracy?
Thank you.

I tried the same example as in the code that you have pushed to recognize asian faces and its accuracy is too low. It is less than 70% for asian faces when I try to detect realtime.

Hi guys,
Got lots of conflicts when tried to rebase. I ended up adding the files that were changed manually and got the whole thing to work again.
I will push my changes and try to rebase again, so i get the commits from @oarriaga in place: he deserves the credits. :)

Hi @oarriaga,
The PR is now fixed and can be merged if you agree.
Cheers, Wilder

@oarriaga I tested the master branch of @wilderrodrigues and it worked 👍 with ./images/test_image.jgp
When it didn't work, it sometimes filled the output image with
{
  "error": "We cannot process the file sent in the request."
}

which is reasonable.
If it failed to detect my face, it returned an image that looked the same but the binary was different, but passing it the same image again, and comparing the first returned image and the second, the binary was the same- so it's consistent.
It didn't like to detect my face when I had my glasses on, but when I took them off it classified me as a sad man 👎
You should merge this

Thanks, @moriarty ! :)


rename of commands

What is the title of your proposal?
rename of commands
Is it a suggestion for the website or for the bot?

[x] Bot
[ ] Website

Explain your proposal more accurately (It's best to give as much information as possible, so that we can implement the proposal better)
?blacklist -> ?banuser
?banlist -> ?banserver

done in the recode


split coloredcobra to its own repo

This is to resolve some issues with the mod dependencies.
THx to @crinklywrappr for #4
github.com/digitallyserviced/coloredcobra

@crinklywrappr I wanted to ensure you got the credit for the help. I asked for your review as well as invited you as a collaborator.
Can you give this a shot to see if it does what it is supposed to? Sorry I do not have nix or are too familiar with how it operates.

👍🏻 the build works w/ these changes.

badass... appreciate your time!

after this is merged, I'll work on a nixpkgs PR.

more badassness... I do plan on putting together some PKGBUILDs for Arch, maybe look into packaging for other distros... I am not well versed when it comes to package managers outside arch and deb but it is a start at least.
Again thx for your input!


Fix some bugs in the libuv timer module

timerGetSource was returning a string without setting its null terminator
Timer handles were being freed when libuv still had access to them

With this and #292, Wren builds and runs all the timer tests successfully on Windows.

:metal:


Resampling defaults different for different variables

When using get raster to download, some default resampling method is used to derive the target resolution and project. The preferred method might be different for different variables. It would be useful to set the defaults resampling methods (and document why they are chosen for this or that variable).

Currently, the nearest neighbor is used by default for all raster variables. It makes sense to allow specifying resampling, e.g., 'bilinear' or 'bicubic' for continuous variables, or indeed set defaults per variable and document it.

By default, the nearest neighbor is used for all rasters. We probably should change this depending on the variable, e.g., use 'bilinear' or 'bicubic' for continuous variables.

it is not only about continuous or not continuous I am afraid. For DEM's I have come across various discussions. DEM are very important for Wflow, and we often have issues with funny catchment borders or stream locations in the downsamples DEM's with the D8 slope calculations. I don't think that we can easily decide on the most useful downsampling method (problably something cubic), but today I realized that the best practice might even depend on the thing that we want the low resolution DEM for. For example, for catchment boundaries, the focal MAX might be useful, whereas for the river network a focal MIN might be more insightful. The resulting maps could then be burned in to a 'most accurate' downsampled DEM. Just thinking....
Anyways, downloading MAX and MIN elevations per pixel can be useful for scaling subgrid processes so probably it is good to add these as default parameters?


auto calculate max_fee

instead of 0 as the default max_fee, nile should estimate the required fee for the users, which today have to guess it.

I think it could make sense to wait for #320 before adding this (and I think it will be easier to add too).
320 adds an estimate_fee abstraction for all the transactions, that can be used for this (I think that addressing this without that could cause a lot of unnecessary conflicts in code and tests).
IMO it can still be part of the same milestone, as long as we merge #320 first.

Haha yeah, I stopped my progress after adding the implementation with account.send because of this. I'll checkout and work over the #320 PR. Thanks for the heads up, sir!


How to set custom user agent ?

Hello, how can I set custom user agent for ig ?

find file
src/samples/devices.json
there you can add your own user agent.

Thanks

Is there any ways to set user agent for current account ( I have multiply accounts )


Compare two times?

Is there a way to compare two time discarding the date component?
Ie: 15:00 is earlier than 17:00.
(I could create two NSDate of the same day with these two hours but it's the best way to use DateTools?)

So, the only way to do this at the moment is to compare all the components (to the lowest degree of certainty you care about) individually. So, you would compare
if (date1.hour == date2.hour && date1.minute == date2.minute ....)
I think there should be a method for short handing what you are talking about, so I may work it into the next release.


last improvements for v1.0.7 🍉

greatly improve the built-in support for OpenAPI Documentation, and other minor fixes

Codecov Report

Merging #168 (f57051e) into main (682ec76) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #168   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           45        45
  Lines         4190      4229   +39
=========================================
+ Hits          4190      4229   +39

Impacted Files
Coverage Δ

blacksheep/server/openapi/common.py
100.00% <100.00%> (ø)

blacksheep/server/openapi/v3.py
100.00% <100.00%> (ø)

blacksheep/client/pool.py
100.00% <0.00%> (ø)

blacksheep/server/responses.py
100.00% <0.00%> (ø)

blacksheep/client/connection.py
100.00% <0.00%> (ø)

blacksheep/server/controllers.py
100.00% <0.00%> (ø)

blacksheep/common/files/asyncfs.py
100.00% <0.00%> (ø)

blacksheep/server/files/__init__.py
100.00% <0.00%> (ø)

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 682ec76...f57051e. Read the comment docs.


Error when trying to train

I am getting the following error when I try to run training, how should I proceed in order to solve it?
(mvp) jpsml@jpsml-ubuntu:~/mvp$ python -m torch.distributed.launch --nproc_per_node=8 --use_env run/train_3d.py --cfg configs/campus/mvp_campus.yaml

Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.

Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "run/train_3d.py", line 34, in
import dataset
File "/home/jpsml/mvp/run/../lib/dataset/init.py", line 20, in
from dataset.h36m import H36M as h36m
File "/home/jpsml/mvp/run/../lib/dataset/h36m.py", line 30, in
from lib.utils.cameras_cpu import camera_to_world_frame, project_pose
ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "/home/jpsml/anaconda3/envs/mvp/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/jpsml/anaconda3/envs/mvp/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/jpsml/anaconda3/envs/mvp/lib/python3.6/site-packages/torch/distributed/launch.py", line 261, in
main()
File "/home/jpsml/anaconda3/envs/mvp/lib/python3.6/site-packages/torch/distributed/launch.py", line 257, in main
cmd=cmd)
subprocess.CalledProcessError: Command '['/home/jpsml/anaconda3/envs/mvp/bin/python', '-u', 'run/train_3d.py', '--cfg', 'configs/campus/mvp_campus.yaml']' returned non-zero exit status 1.

please add lib to the PYTHONPATH

thanks

@jpsml I meet the same problem.I try to add lib to the PYTHONPATH, such as add"import sys
sys.path.append('/media/chen-group/9400EADF00EAC778/cy/mvp-main/lib/')"  in the validate_3d.py and create the .pth file in the python site-site packages. But all of them are failed. Can you tell me how to fix it?

run the following in the terminal before running the training:
export PYTHONPATH="${PYTHONPATH}:/home/jpsml/mvp/lib"
in your case you need to replace "home/jpsml/mvp" by the local path where mvp is located

run the following in the terminal before running the training:
export PYTHONPATH="${PYTHONPATH}:/home/jpsml/mvp/lib"
in your case you need to replace "home/jpsml/mvp" by the local path where mvp is located

I run the line in the terminal.  I run 'print(sys.path)' lib path in the pythonpath. But There is still the error:
ModuleNotFoundError: No module named 'lib'

sorry, I believe the correct command is the following:
export PYTHONPATH="${PYTHONPATH}:/home/jpsml/mvp"


update management

Update version management

Pull Request Test Coverage Report for Build 425

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

Totals

Change from base Build 420:
0.0%

Covered Lines:
1362

Relevant Lines:
2077

💛  - Coveralls


Roll Flutter from a217bbb6defe to 6b3c30c12ea9 (3 revisions)

https://github.com/flutter/flutter/compare/a217bbb6defe...6b3c30c12ea9
2022-03-18<EMAIL_ADDRESS>Roll Plugins from 04f64ec89b65 to fef72e08f12e (1 revision) (flutter/flutter#100371)
2022-03-18<EMAIL_ADDRESS>[framework] Remove danger zone  (flutter/flutter#100246)
2022-03-18<EMAIL_ADDRESS>[flutter_conductor] clone from remote upstream, and not local filesystem (flutter/flutter#100335)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Plugins: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Why not clip-path ?

I am a beginner in css, and I was hurt by curiosity when I failed in your repository.
Why do you use SVG instead of the clip-path property ?
I think about something like this pen.
Cheers,

Hey @Swizz welcome to the marvelous world of CSS 🎉 😄
The reason would be browser compatibility. Clip-path is not supported in Edge or Internet Explorer
SVG, even set as an encoded background image the way it is setup here is supported in all major browsers even IE9!


NP spam option behaviour changed?

Noticed yesterday that the NP spam option seemed to no longer only use NPs after all pre-programmed commands had been used, but instead would spam NPs whenver available. This means that if saving NPs for wave 3 but there was a full bar on wave 2 it would be used there instead of waiting.
I'm not sure if this was always the intended way of it working, but the change/bug/feature means that some of my farming runs failed, which was how I'd noticed. I only noticed this occuring yesterday evening (23/9/20). I couldn't see any commits that were recent enough to maybe cause this change so I'm unsure if it's intended behaviour or not. Thanks

If you're playing Gilfest on NA, this is pretty much the result of the background animations,
See #462

Yeah that's right, missed that one sorry. I'll close this.


Honor and expose the derive_debug option.

Fixes #432
r? @fitzgen

@bors-servo r+

:pushpin: Commit e9381b8 has been approved by fitzgen

:hourglass: Testing commit e9381b8 with merge 7f6340d...

:pushpin: Commit 5d8019b has been approved by fitzgen

Re-pushed to unstuck homu
@bors-servo r=fitzgen

:hourglass: Testing commit 5d8019b with merge 0c07e9e...

:sunny: Test successful - status-travis


In the 'date-picker' component. When using the date type to pass 'disabledDate', the end date cannot be selected, which is not as expected

Reproduction link
https://stackblitz.com/edit/angular-taetoz?file=src%2Fapp%2Fapp.component.ts
Steps to reproduce
import { Component } from '@angular/core';

@Component({
  selector: 'nz-demo-date-picker-format',
  template: `
    <nz-date-picker [nzFormat]="dateFormat" [nzDisabledDate]="disabledDate"></nz-date-picker>
  `,
  styles: [
    `
      nz-date-picker
    `
  ]
})
export class NzDemoDatePickerFormatComponent {
  dateFormat = 'yyyy/MM/dd';
  disabledDate = (time: Date): boolean => {
    return new Date(time) < new Date("2024-09-16") || new Date(time) > new Date("2024-09-30");
  };
}

What is expected?
The deadline of September 30th can be selected
What is actually happening?
The component did not respond after clicking on the deadline of September 30th

Environment
Info

ng-zorro-antd
18.1.1

Browser
Google Chrome Version 129.0.6668.71 (Official Build) (64-bit)

I can only use it this way now, but it's not beautiful enough
  disabledDate = (time: Date): boolean => {
    const endTimeDateOnly = new Date(this.endTime);
    endTimeDateOnly.setHours(0, 0, 0, 0);
    const endTimeEndOfDay = new Date(endTimeDateOnly.getTime() + 24 * 60 * 60 * 1000 - 1);
    return new Date(time) < new Date(this.startTime) || new Date(time) > endTimeEndOfDay;
  };

same problem

stackblitz.com/edit/angular-taetoz?file=src%2Fapp%2Fapp.component.ts

You can use differenceInCalendarDays of date-fns lib instead
disabledDate = (time: Date): boolean => {
    return (
      differenceInCalendarDays(new Date('2024-09-16'), time) > 0 ||
      differenceInCalendarDays(time, new Date('2024-09-30')) > 0
    );
};


Added Whack a Mole

Worked on Issue Number : #467
Issue has been resolved.
This is not plagiarised Material.
I have tried it and it is a full screen project

follow the project structure of placing the files instead of making a separate folder

Do we need to change any style css path

@NOiR-07


RFC: carve out Bramble's core into an importable package

Bramble is currently a monolithic and opinionated gateway, which makes supporting all use cases quite difficult. Separating out Bramble's core gateway logic into its own importable package would allow more use cases to be implemented by the community.

Is there any movement on this? I personally think this is a really good idea too. Might make it easier to implement some of the other features too like #99 .


version update

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

There are a few problems:

It doesn't look like a tar ball was released for this version -- there's only the wheel: https://pypi.org/project/npy-append-array/0.9.7/#files
You're going to need to update the sha256 hash for the new build
If the license file is in the new release, you should delete the manually packaged copy.

Once the tarball is uploaded to pypi, you could also wait for the bot to issue a PR to this feedstock to update it. You can certainly do it manually, but make sure you also rerender the recipe whenever you do an update:
https://conda-forge.org/docs/maintainer/updating_pkgs.html#rerendering-feedstocks

Okay, I've uploaded the source and the sha256sum of the source.
How to handle the license file (number 3 on your list)?

@conda-forge-admin please rerender

To remove the manually packaged license file just delete it from the recipe directory and then you can remove the comment in the meta.yaml. I also re-rendered the recipe using the call to the service.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

license_file entry is missing, but is required.

You still need the license_file: LICENSE line. Just remove the comment above it and delete the file recipe/LICENSE (the one in the directory with the meta.yaml).

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

Okay, how about now?

Looks good to me. You can go ahead and merge it.

VS Code/git says "You don't have permissions to push to 'conda-forge/npy-append-array-feedstock' on GitHub." or is there a button I can click somewhere?

Are you able to see the button here to merge the pull request? You should have permission since you're listed as a co-maintainer, but it doesn't look strange that you're not appearing in the CODEOWNERS file. I'll just merge it since I'm core and then hopefully that will fix up the permissions for next time.

Okay, sounds nice! "conda install npy-append-array" still lists the old version 0.9.6. How long will it take until the new version is up?

It takes maybe 30-45 minutes (if my memory serves me), for it to hit the CDN.  Once it's posted to the CDN you can get it via conda install.

Yeah, cool! I've also just joined conda-forge.

I've just made another update and pushed it. Will it be automatically processed and the package updated on conda-forge or is there anything else I need to do?

Please make all updates through pull requests from a fork:
https://conda-forge.org/docs/maintainer/updating_pkgs.html#updating-recipes
It's probably a good idea to look through all of the maintainer's documentation.


Gateway CRD deployment

I noticed this operator deploys some CRDs for gateway-API but not all of them (for example HTTPRoute). Is there a reason for that?
This can affect other workloads that also install the CRDs or that require all the CRDs when some feature flag is activated.
I propose to have a feature flag to trigger the CRDs installation OR add all the CRDs found at https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.6.2/standard-install.yaml.
I am happy to do the PR if you agree with one of those.

Hi @joaogbcravo
You are correct; we are not installing all the gateway-API CRDs, only a few of them that we use in the STUNner gateway operator. This issue came up last week in this PR. IMO, once we upgraded all the Go imports and the CRDs to their latest version, we can add all the CRDs to the helm chart.
@rg0now in the linked PR you haven't shared your opinion about adding the missing CRDs. Do you think we should install them even though not using them at all? Unfortunately, Helm does not support templating the CRDs so we cannot create an enabler flag or some sort of switch to enable or disable the installation of the extra CRDs. This means we have to either install all of them or not support them.

Thanks for the offer. I think you're right: maybe it's not that good idea after all to selectively install only the CRDs that we use because we may clash with other Gateway API implementations. We chose this originally because the Gateway API is fairly huge, but in retrospect this does not seem to be that much of a good idea...
@davidkornel care to do the change?

Yes I will handle it

@joaogbcravo In the latest commit all the latest CRDs have been added to this repo. Also, they've been merged into the Helm chart https://github.com/l7mp/stunner-helm/pull/17
May I ask you what are you working on? We are interested in all the use cases as we care about our users and their situations. If you wish to explain it we would be glad for your help.
And don't forget to join our Discord as it is easier to have a talk there:
https://discord.com/invite/DyPgEsbwzc

Fixed as of l7mp/stunner-helm#17


Support "satisfies" operator in type/interface declaration as well

Suggestion
Currently "satisfies" operator only supports validating runtime const JS objects. It is SUPER useful and I have used it at so many places which has strongly typed the code base even further, thanks a lot for introducing this.
It would be very useful to also support "satisfies" operator in typescript type/interface declaration as well for exactly the same reasons.
🔍 Search Terms
satisfies, interface, type
✅ Viability Checklist
My suggestion meets these guidelines:

[ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[ ] This wouldn't change the runtime behavior of existing JavaScript code
[ ] This could be implemented without emitting different JS based on the types of the expressions
[ ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[ ] This feature would agree with the rest of TypeScript's Design Goals.

📃 Motivating Example
Currently "satisfies" operator is only supported in const runtime objects so that they retain their original definition but also have to satisfy the type constraint at either key or values or both.
It would be very helpful to also support the "satisfies" operator in TS interface/type for the very same reason without changing the definition of original interface/type.
See below use case.
💻 Use Cases
If we have an interface as below:
interface DbModels {
  users: Users[];
  addresses: Address[];
  organizations: Organisation[]'
}

Now, if we want to derive a new interface that "satisfies" all the keys from the above interface but with different values, there is no way to express it as "satisfies" operator does not support type/interface.
interface DbRecords {
  users: number;
  addresses: (string | number)[];
  organizations: string[];
} satisfies Record<keyof DbModels, unknown> // Would be great if it is supported here as well but it isn't

interface DbQueryResult {
  users: {id: string};
  addresses: {zipCode: string};
  organizations: {name: string};
} satisfies Record<keyof DbModels, unknown> // Would be great if it is supported here as well but it isn't

Any reason why satisfies is only supported on JS const objects but not in TS types? If it is also supported at type/interface then it would be super useful.

Sounds like a duplicate of #52222.

interface DbRecords extends Record<keyof DbModels, unknown>?

@fatcerberus
interface DbRecords extends Record<keyof DbModels, unknown>? Does not error out when you type an extra key (because its an interface) or miss any key.
Moreover, if the DbModels interface changes with key modifications in the future then it will not error out on DbRecords  as it is just extending an object having keys with unknown values.
Basically, you are not able to enforce the DbRecords interface to implement the keys coming from DbModels as they default to just unknown values which is much different than how "satisfies" operate, which is error out if keys are missing in the definition.
But thanks a lot for commenting.

@MartinJohns I did check that issue before posting here. Basically, 52222 is not highlighting exactly what I wanted to convey even though the title of the ticket is similar. Hence I create a separate issue highlighting the exact intent.
Thanks for commenting.

If that doesn’t error, then satisfies wouldn’t error either,  because they would both be checking the same thing: is this interface assignable to this other type

Sorry, my bad: I meant to use implements, not extends.

@fatcerberus "satisfies" does work normally for JS objects where every key in the object has to satisfy the "satisfies" clause. Interface should also work like that and hence my "issue" here to make it available on type/interface as well

@abaldawa Yeah, I thought you could already use implements on an interface to accomplish that, but it turns out you can't.


Documentation restructure

📝 Updated documentation structure
📝 Updated landing page

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.68%. Comparing base (8ebb882) to head (ed56323).

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
+ Coverage   86.52%   86.68%   +0.16%
==========================================
  Files          13       13
  Lines         319      323       +4
==========================================
+ Hits          276      280       +4
  Misses         43       43

Files with missing lines
Coverage Δ

src/annsel/core/methods.py
79.59% <100.00%> (ø)

src/annsel/core/typing.py
100.00% <100.00%> (ø)

src/annsel/datasets/basic.py
100.00% <ø> (ø)

src/annsel/tl/_filter.py
93.75% <100.00%> (ø)

src/annsel/tl/basic.py
67.85% <100.00%> (ø)


Ruby support

Out of the box. This one seems like it's pretty tricky to get running in Lambda.

Done!
I have used Traveling Ruby plus some ruby and bash scripting.
https://github.com/luisbebop/sinatra-up-demo

A more polished example
https://github.com/luisbebop/up-sinatra-ruby222-template
🚀🎉

Status?

@tj https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/ looks like ruby is natively supports as of today!

@tj @kalicki @luisbebop  https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/ looks like ruby is natively supports as of today!


Allow listing of unknown terms in term listing, default to min status 1

People can add status=0 terms, but currently can't see them; they should be able to, it's just data.
Considerations/steps:

[ ] add to filter combo box
[ ] if status lower bound isn't explicitly set, should default to 1
[ ] add test?

Hello, we tried to solve the issue.
This is what we did:
Modified the term index page to include status=0 in the filter options and adjusted the default behavior to show all statuses including 0 when no specific status range is set.
You can review changes in this commit: https://github.com/wwqwq2313/LuteOrg-lute-v3-544/commit/5fc647e4df7e932c449924db03f03aa056815634.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

Latta AI seeks to solve problems in open source projects as part of its mission to support developers around the world. Learn more about our mission at https://latta.ai/ourmission . If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

Thank you, @wwqwq2313 !  I'll take a look.

In progress, running tests.

Fixed in develop

Launched in 3.8.0.


Improve landing page

After

#33

we should improve our landing page.

[x] Add a early section arbitrators in a nutshell explaining the awesomeness of arbitrators, why/when to use them, etc.
[ ] Update docker section → point to our ghcr.io image
[ ] …?

@ll-nick FYI

Done

Add

@ll-nick Thanks for #74
As you mentioned, code-coverage would be nice as well.
I guess integration of e.g. codecov.io (see quickstart docs) isn't big of a thing, feels a bit overkill though…
A simple coverage report can be generated by CTest as well. But we'd have to then somehow provide this report as e.g. json to generate a dynamic shield :sweat_smile:

Yes, I'd also like to have code coverage :thinking:
I guess a relatively simple way would be to compute the code coverage with ctest and provide a code coverage report as a release asset. The downside would of course be that we can't use code coverage metrics on other branches or as a quality measure when adding new PRs but for a shield.io badge, it would be sufficient.


Unable to see new queries in dropdown

Thanks in advance for building this, I've used PHP Weathermap in the past and it's nice to have something in Grafana with an InfluxDB backend.
The bug I'm encountering is additional queries are not showing up in the Links A Side / Z Side Dropdown
Tested in both Chrome and Firefox (and in private browser tabs)
Example Screenshot:
Query A (ESX1-DATA-OUT) shows
Query B (ESX1-DATA-IN) shows
Query C (ESX2-DATA-OUT) doesn't show

That's odd. Would you be able to go to the top of your panel, where you usually click to edit, and then press "Inspect" > "Panel JSON" and at the top choose "DataFrame JSON" and then send the JSON here? Feel free to edit the data if it has any sensitive names you don't want posted / concatenate any large rows of data.

Wow, thanks for the fast response!
Information attached as requested.
DataFrame JSON.txt

Whoops, Sorry about that.
Clicked Close with Comment instead of Comment by mistake.

Well it doesn't look to me like a problem with the weathermap itself as in your JSON there the frame only shows two queries (A and B), and no C query, which means the weathermap isn't receiving query C in any form. Still here are some things you could try:

Does hitting refresh at the top of the panel help (you might just need to get Grafana to run the query)?
When you inspected the data, the third C query was saved, right?
Are you able to see all three queries if you recreate them in a simple line graph panel?

Refresh and Force Refresh doesn't make a difference.
Yes, the third query was saved. If I close Grafana and reload the page (in a new browser even) and edit the panel, the C query is there.
It doesn't show up in a Line Graph, I suspect this Grafana panel might be broken.

Thanks for your assistance! I'll delete this panel and try in a new one.

@knightss27 I really really appreciate the quick response and assistance in isolating this for me.
Embarrassed to admit it was bad data on my side for the device under Query C!
Love the work, and really excited to see a decent weathermap tool come to Grafana!

Thanks so much, and no worries, I'm always happy to help! Feel free to let me know if you have any other issues.


Add support for ES class based mixins

This depends on a Quip internal library. Once this stabilizes we will
put that in this repo.
Basic usage:
class Hello extends React.Component {
    hello() { return "Hello Mixix"; }
}
ReactSupport.declareMixin(Hello);
class Comp extends React.Component {
    render() {
        return <div>{this.hello()}</div>;
    }
}
ReactSupport.mixin(Comp, Hello);

I have a solution to the dead code elimination. By adding implementations of the support calls GCC is able to remove things


Add toggl track extension

Description
Added an extension for Toggl Track. Read README.md for all features. I just got aware of https://github.com/raycast/extensions/pull/693 earlier today, so we've been working in parallell without knowing about it. I'm still opening this as I believe this implementation brings more functionality and ease of use. I'm open for collaboration with @ThatNerdSquared to bring the best possible extension to the store 🎉
Type of change

New extension

Screencast
See screenshots with descriptions in README.md
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast

@pernielsentikaer I've now fixed all your suggested changes 👍 I've also made a case here https://github.com/raycast/extensions/pull/693#issuecomment-1019894190, that this Toggl Track extension is the most full-featured

Hi @franzwilhelm 👋
Is it ready for a thorough review? 💪

@pernielsentikaer I have things I would have "cleaned up" in the code, but as far as functionality and bugs go it's ready 🚀

@pernielsentikaer Added a final fix on the toast after creating a time entry. It's possible to create one with an empty description, so the toast is now more neutral without the description. Everything else should be good to go now 💯

@pernielsentikaer I added more error handling. We should now handle absolutely all toggl api errors and show messages to the user about it. I don't expose all the error data to the user, as it's not often very informative. But they'll know what failed (fetching data, creating time entry, stopping time entry etc.)

Done @pernielsentikaer

@pernielsentikaer Added a final placeholder in the onboarding with the Toggl Track profile link, so that people don't fall off here. Being able to customise this flow is super crucial for the onboarding experience of extensions. I'm going to submit a suggestion in the Raycast slack

I've been working on adding some features on top of this extension, was mostly doing it to fit my needs, but since its done thought I might share it. Just not sure how I would go about doing that.
Features added:

Action to create a complete time entry with a start and stop time.

Action to delete/edit time entries (included a preference to turn on deletes to stop accidental deletes).

Ability to set a default project in preferences

Been using it for a couple of hours and the only error I'm running into is my workaround for setting the default value for the edit form's date pickers. I was unable to set them using 'new Date()', and had to construct a string that would give me the correct time. Which throws an error because it's expecting a Date not a string, but it sets the value just fine anyway. If theres a way to set the time correctly please let me know.

Hi @Gomeyy 👋
I think it sounds like some awesome updates, what do you think about that @franzwilhelm?
The right thing is to open a PR with the changes

@Gomeyy Great additions! Please open a PR, and I'll review it and help finalize the additions. I don't think Default Project ID makes sense with the current setup. Every other feature looks amazing!

@franzwilhelm Opened a PR #770, first time doing so, if there are any issues with how I went about things please let me know. The default project is useful for me because I tend to submit time entries to one project more than others, having that project already selected when starting/creating time entries is a nice bonus for me. I also reversed the order of the recent time entries to have newer entries be towards the top. I’m okay with any changes I made being removed from the official extension, I can always make a clone and add any personal preference changes back in. Thank you for the great base to build upon!


Refactor ConfigurationComponent to contain blockly information

Currently robot configuration is handled in a different way to the program, it is not being transformed to an AST and back, so it is impossible to annotate the blocks, for example.
Information is only pulled from the XML and not written back.
In order for us to be able to annotate configuration blockly blocks, ConfigurationComponent needs to contain all the needed information to rebuild the blockly block.

see #114

ConfigurationComponent extends Phrase on feature/workflows

There is a fix for this issue in the development branch, @VinArt please do not remove it from the project

@VinArt , please provide some information how to test the solution

I added a unit test to check this.


Adding SonarQube settings file to exclude relevant files for React Native

These settings avoids false positives and ensures only files generated by us are scanned.

Working and output is relevant:
INFO: Load active rules
INFO: Load active rules (done) | time=1710ms
INFO: Indexing files...
INFO: Project configuration:
INFO:   Excluded sources: .github/**, .vscode/**, android/**, assets/**, build/**, ios/**, node_modules/**, scripts/**
INFO: 101 files indexed
INFO: 63524 files ignored because of inclusion/exclusion patterns
INFO: 0 files ignored because of scm ignore settings


Wipe deployment state if hardhat-network has been restarted

In the past, we've had the intention of keeping ignition-core agnostic of hardhat, however, with this issue, while we do need to store this piece of data (instanceId) somewhere to compare against future runs and journal does seem like the most appropriate place, that would also require breaking that separation of intent between ignition-core and hardhat as instanceId is a hardhat-specific piece of data. we would also need to add a hardhat-specific method to JsonRpcClient to retrieve the instanceId
To maintain that separation, I went a different direction with this implementation. The logic for this feature exists entirely inside hardhat-plugin, but it does require adding one new (small) file to the ignition/deployments directory to map deployment IDs to hardhat instance IDs. I think this approach is preferable since this is a hardhat-specific feature to begin with.
This implementation does have one caveat, and that's in the case of a user

with an existing deployment to a non-hardhat chain
that deployment uses a custom deploymentId
the user tries deploying to hardhat-network using the same custom deploymentId

If those criteria are met, the existing deployment to a non-hardhat chain would be wiped. I think this is a bit of a contrived edge case, so I'm okay with leaving that possibility if needed, but any suggestions on removing that possibility would be more than welcome as well.
resolves #650

Also closes #677


use https:// links to avoid broken images in mirrors

Godoc markdown copied from https://godoc.org/github.com/fatih/color?tools
Avoiding http:// images would fix broken images in GHE mirrors -

Woops didn't event noticed that. Thanks a lot @dmitris 👍