system: switch default gateway by optionally selected group

Hi,
is it possible to set a metric in routes or better in gateway config?
The problems is when you have more than 2 lines you can not set an order which line follows after primary down (with gateway switching).
With Cisco you can set as many default gateways and use metrics to set the priority.
Is this also possible with FreeBSD / OPN?

I think route metrics are not in FreeBSD https://github.com/opnsense/core/issues/123

Hm, OK, Not used by recent kernels. In Gateway - Advanced you can set a priority, would it be possible to patch the Script for adding routes to respect this setting?

@mimugmail what exactly do you mean?

Via Advanced in gateways you can set a priority. When you have 3 you can set them 1 to 3 and when failover occurs, the script changing the routes could (if possible) check if the gateway which is down is a lower number, and if yes is there another gateway with a lower number, then use this as next default gateway, if not, self default gateway.

You mean „weight“?
Yes, we could use that during default gateway switching. But the default gateway will be highest in priority, no matter the weight value.
AFAIK, the weight is for load balancing on multi-wan to distribute traffic using a non 50-50 distribution.

On 1. Apr 2018, at 21:56, Michael<EMAIL_ADDRESS>wrote:
Via Advanced in gateways you can set a priority. When you have 3 you can set them 1 to 3 and when failover occurs, the script changing the routes could (if possible) check if the gateway which is down is a lower number, and if yes is there another gateway with a lower number, then use this as next default gateway, if not, self default gateway.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Oh, weight, correct. But that doesn't matter since in setups were weight is activly used, you don't care which default gateway the system has. But when you have a 1G, a 100M and a LTE line you don't want to see the firewall switch from 1G to LTE. Sure, the default gw is highest and there can only be one at a time. But it would be good to have a choice :)
In the long term (20.1, 20.7) I'd love to see the way Cisco does this with monitoring groups and tracked interfaces. 👍

Okay, i think we’re on the same page then. 😊

@AdSchellevis this was the topic we talked via IRC lately :)

@mimugmail ok, to summarize what we've discussed (if I remember correctly).
If @fichtner agrees, we could add a marker for "backup default" with a weight and use the weights to sort the gateways. This would allow us to prioritise default gateway switching. Ideally we would like to use policy based routing for local traffic too, but that is more of a long run solution. agreed? (if so, I'm offering todo the work for this item)

yes, but I want to see how https://github.com/opnsense/core/commit/da4d25e629 works out on 18.7... it's preliminary work to exclude certain gateways from default gateway switching. it's not practical to mark a gateway down and should probably be a separate option, but if this separate option is what we talk about here with a priority setting that would be best.

(it's correct to exclude down gateways from switching, I just mean it's impractical if you don't want it down and still not use it for default switching)

Full agree with this! :)
Just to have it here: The need for local PBR traffic would cover all transparent stuff like Squid, siproxd, ftp-proxy etc.
Local PBR can be a mind/long term task :)
Thanks guys, very appreciated!

[x] Add gateway group selection for IPv4 and IPv6
[ ] Move gateway switching back to System: Settings: General (not deprecated, not part of firewall)
[ ] Possibly move fixup_default_gateways() to routing setup
[ ] Pass down gateways in order for fixup_default_gatways() to use them only or any available one

If you need root access to some Multi WAN systems, ping me <3

@mimugmail I'll let you know when to test. Still some things to figure out.

Similar issue was here: #2563

@mimugmail the gateway status/edit pages are changed now, could you check on your end? system_gateways.php is ordered by priority now and marks the gateways "(default)" according to the new logic.
The routing itself is still setup with the old code, but the status page should reflect how it would react when finished.
It's quite a project to reimplement all the logic here and keep user impact as low as possible, so a pair of extra eyes while working on it would be highly appreciated. Thanks!

Priority selection looks good. Currently my test system don't like to monitor my first default gateway, strange. Other two gateways are monitored. What I observed is, that when I set a second gateway as default, the checkbox in the first gateway isn't deselected. Also not sure if this was the case before, but doesn't make sense.

Another observation. Default gateway prio1, has IP <IP_ADDRESS> ... when I change IP to <IP_ADDRESS> it get's saved. But when I change prio of this gateway to 4 ... the IP is back at <IP_ADDRESS>.

I'm not sure if it's a good idea to make prio 1 the default when adding new gateway, as it would break a setup when adding a new internal one. This is one part of the problematic, since when you have two or more WAN gateways and an internal to a VoIP net or whatevery, it could be chosen as your default one (if not marked as down)

I’m not sure if we need a prio after all. My idea was to use the gateway group ordering. It fulfils the same requirement in the end.
So you could choose one default gateway group for IPv4 and IPv6 or leave the default behaviour (which can already be steered by force down).

On 11. Apr 2019, at 06:41, Michael<EMAIL_ADDRESS>wrote:
I'm not sure if it's a good idea to make prio 1 the default when adding new gateway, as it would break a setup when adding a new internal one. This is one part of the problematic, since when you have two or more WAN gateways and an internal to a VoIP net or whatevery, it could be chosen as your default one (if not marked as down)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

@mimugmail @fichtner some feedback:

"What I observed is, that when I set a second gateway as default, the checkbox in the first gateway isn't deselected"

That's on purpose, you can have multiple defaults, which are selected by priority. The form shows the active default. The previous auto deselect was quite wonky to start with.  We could reimplement something similar, although I don't think we should, since part of the gateways are automatic and could be default (dhcp for example), which always leads to some weirdness in the logic underneath.

"Default gateway prio1, has IP <IP_ADDRESS> ... when I change IP to <IP_ADDRESS> it get's saved. But when I change prio of this gateway to 4 ... the IP is back at <IP_ADDRESS>."

I'm not sure I can reproduce this, it doesn't make sense it knows previous state.  Just to be sure, was this a manually added gateway or a dynamic one?

"I'm not sure if it's a good idea to make prio 1 the default when adding new gateway, as it would break a setup when adding a new internal one. This is one part of the problematic, since when you have two or more WAN gateways and an internal to a VoIP net or whatevery, it could be chosen as your default one (if not marked as down)"

Higher priority would make it more attractive, you would like to set this to 0 when new/dynamic (same as localhost networks)?

"I’m not sure if we need a prio after all. My idea was to use the gateway group ordering. It fulfils the same requirement in the end."

I think we should have a priority, since it prevents twisted logic while selecting gateways. Most of the misery now seems to be a result of not being able to properly select which gateway is default now, this at least provides the option to make it explicit. Don't the groups already support this kind of priority using the Tiers by the way?

Would this work if you have more than one FO group.

Does this mean we're not doing "default gateway group" idea anymore? I seems cleaner to me but happy to delete the remaining code to not have conflicting systems of operation.
More than one default gateway is going to introduce side effects in other code unless everything is neatly refactored. The groups avoid all this and you don't actually have multiple gateways in our system just one according to rotation so double or triple check default gateway depends on settings default gateway switching in the first place. What happens if it is turned off? Or are we going to remove this feature checkbox as well?

I'm not sure which code you mean now, which code would need to be deleted?
As for refactoring the rest of the gwlb.inc, I am going to fix that too, we can't have different decision options about what's "default". so getDefaultGW() should be the only call to determine this.
I want to prevent being haunted by gateway misery indefinitely :) it's flawed by design now.

https://github.com/opnsense/core/blob/master/src/www/system_general.php#L445-L477
then let's ditch all of this. from what I can understand none of these config.xml related settings will be needed?

except the "gw_switch_default" I presume, since we don't have a good option to fix the local default using policy based routing.

let me rework fixup_default_gateway() first, so you know what I mean.

if we can have multiple default gateways selected in their settings we don't need gw_switch_default :)

there is no trigger to change gateways now when the gateway is down.... we can change its name, but the function isn't there by my knowledge.

IMHO, there are two options:

Have a default gw group, like with gateway groups for failover
Have priorities like Ad started, but the we could/should just rename "Default Gateway" to something like "WAN Gateway". So, it's clear that it's for outside connections, and of course, you can have multiple of them.

I like the idea of "WAN Gateway", but that's more a naming thing we can sort out when finished with the code.
I think it will be pretty difficult to have a default group, since in the end, the group itself would need a priority then (within the tier) so we can select one default active gateway. Maybe I'm missing something obvious, but to me it looks like the problem is always the same, but more related to the gateway than the group.

It's indeed just a naming confusion. A default gateway can only be one gateway (the default). What we do/want here is a tiering for it, so there still can be only ONE default gateway. That's why I was confused yesterday when testing the code as in status view there is only one gw marked as default, but in edit mode the checkbox for "Default Gatway" was ticked on multiple gateways :)
Back to the default prio, I'd say a default of 0 or none would be best, so when adding new gateways (automatic or manually) won't break your current configuration, especially when working remote.

default is 1 now, for both automatic and manual, changing both to 0 would do the same. right? I don't mind what it is, as long as the mechanism doesn't change drastically.

1 is highest priority right? So GW with prio 1 has most chance to be default? Then it doesn't make sense to me to have default 1 when adding new GW. A default that gateway is not in the decision process (like 0?) would make more sense to me.

no higher is more important, so it would prefer 2 over 1, the sorting order in the form matches preference (for easy tracking)

Oh, but this is reversed compared to Tier's in Failover Groups, wouldn't this confuse the end user?

I'm not sure, weights work the same in the same form... I don't have a strong preference, although we need to calculate it to keep max --> low to prevent the order changing from what it was (dynamic preferred over manual).
Order seems to be quite important, and quite obscure how it was.

It's only related to UX, as an enduser working with Tiering I'd expect that Prio1 would be chosen first.

default 255 and 1 highest then?

Perfect! :)

@mimugmail The complete gateway code is refactored, I did some testing locally and all looks more consistent now. Eventually we could consider to also migrate return_gateway_groups_array(), which would make gwlb.inc the dpinger.inc package.
As soon as you have some time for testing, let me know.

some notes, for future reference:

system_routing_configure() doesn't (and didn't) consider gateways that are down, we might want to rethink that at some point in time, since its not only called on bootup.
legacy_interfaces_details() is pushed as a parameter into the constructor, which is needed at the moment to keep interfaces clean. we might want to consider moving legacy_interfaces_details() into its own class and use it directly from the Gateways() class

I'm ok with changing the name to dpinger.inc -- gwlb.inc shouldn't be in interfaces.inc anymore and related code should be moved either to system.inc or interfaces.inc.
Shall I opportunistically change the file name right away?

(my IPv4 is completely broken on master as it seems to stuff an extra default gateway into the mix for the HE tunnel, which is IPv6 only and requires another IPv4 gateway. Some other issues along the way as far as I can see now. I can look into it on Monday.)

it's probably something small, just let me know if I can help debugging it.

@fichtner can you try this https://github.com/opnsense/core/commit/7a8b12f030a851a801f55c27ee2a90635805020c ? I might have been a bit to enthusiastic here by adding tunnel endpoints automatically as possible gateways. The old code only included the ones which wrote a /tmp/XX_router file. Other possible suspect is https://github.com/opnsense/core/commit/bfca97e2e0d821e3e9ad38833fd99f4a302bee83, which accidentally returned a gateway without an address.

When manually disabling gw with prio 1 it's changing correctly, after enabling it seems to recognize the correct gw (188) but sets <IP_ADDRESS> as default:
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: entering configure using defaults
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: IPv4 default gateway set to wan
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: setting IPv4 default route to <IP_ADDRESS>
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: removing /tmp/em0_defaultgw
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: creating /tmp/em0_defaultgw using '<IP_ADDRESS>'
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: IPv6 default gateway set to loopback
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: setting IPv6 default route to ::1
Apr 15 07:58:30 OPNsense opnsense-devel: /system_gateways.php: ROUTING: keeping current default gateway '::1'
Apr 15 07:58:30 OPNsense opnsense-devel: /usr/local/etc/rc.filter_configure: ROUTING: removing /tmp/em0_defaultgw
Apr 15 07:58:30 OPNsense opnsense-devel: /usr/local/etc/rc.filter_configure: ROUTING: creating /tmp/lo0_defaultgw using '<IP_ADDRESS>'
Apr 15 07:58:30 OPNsense opnsense-devel: /usr/local/etc/rc.filter_configure: ROUTING: keeping current default gateway '::1'

@mimugmail ok, I'll have to check where /tmp/lo0_defaultgw comes from in this case.

ok, it seems that I missed a race condition, this is all just too stupid. When a file exists with the name /tmp/[intf]_defaultgw[v6], it's considered "default" (as it was before), but the file itself is written when setting a default route...
https://github.com/opnsense/core/blob/c4d42929fb7c76f528c023c4286b2e23355e659f/src/etc/inc/system.inc#L430

@mimugmail @fichtner I'm not exactly sure yet why the gateway switched to localhost (other than the fact that localhost is in our list now, but with a very low priority), I'll have to do some more testing over here as well.  The interaction with dhclient looks a bit fragile, so I rather not touch that one if possible.
In https://github.com/opnsense/core/commit/dd8d3444f5bdc301fdf2ab49517729e5f24f4926 I've deleted the _defaultgw as prioritisation, which looks more logical, but I can't find any consumers for the _defaultgwv6 file. any ideas where that is/should be used?

For reference, the _defaultgw originates from quite some time ago:
Add "new status file" in https://github.com/pfsense/pfsense/commit/924f202ee818c72b10855d3a1c06b34a9e7aa595 and then at some point in time, create a loop to read the same back to determine "default" https://github.com/pfsense/pfsense/commit/999111cb73957679debbe5831e1b7d01c3985b1f
Then ipv6 came in https://github.com/pfsense/pfsense/commit/5a5413bb5227e084703515007cc28fd746183c9b , which copied the same _defaultgw to _defaultgwv6, which for as far as I can find is only written, not really used in a similar way as a dhclient to renew an address

@mimugmail this https://github.com/opnsense/core/commit/497f523f6e86fbbd229793a6ffafd6e0f61ab78c might be your issue, although I did commit some other small fixes as well.
While testing, I noticed my gateway overview reported a gateway down right after apply,  where it actually didn't know the status yet. If a filter reload would be started at the same time (which your logs seem to suggest), it would mean that this gateway would not be considered anymore.

I'll fetch latest master tonight on a fresh machine. Seems my test machine has 2 gateways with same name in config.xml

thanks!

Thanks for all the hard work on this guys!
To chime in I have some problems with the current (19.1.6) gateway-switching logic which might be relevant for the reworked code as well.
My setup has a (tier 1) cable modem connection considered to work most of the time, when it doesn't I plug in my mobile (tier 2) to use them as a failover group. (The mobile's interface is locked to prevent removal, just marked as down and the gateway disabled when the cable modem works normally and the mobile is not connected.)
The problem is that when the cable modem is offline it still reacts to the DHCP request from the OPNsense box, which in turn accepts is as the default gateway without any further checks.
Steps to reproduce the issue:

tier 1 cable modem connection offline, tier 2 mobile connection online (dpinger thinks this as well), default gw is the mobile
DHCPREQUEST to cable modem (<IP_ADDRESS>)
DHCPACK from cable modem (<IP_ADDRESS>)
default route changed to <IP_ADDRESS>
uplink connection is lost

The bad think is that this happens every few minutes, even if I forcefully mark the cable modem's gateway as down. Would it be possible to insert a check in the logic to determine if the would-be default gateway is online at all? (Dpinger should already know about this.)
Thanks very much!

@fichtner we could probably move gwlb.inc now, I have gathered the last todo's in https://github.com/opnsense/core/issues/3423 about the two functions that might be used in older plugins, not sure when we can kill those.

Fetched latest master, only had one gateway with Prio1:
    <gateway_item>
      <interface>wan</interface>
      <gateway><IP_ADDRESS></gateway>
      <name>GW_WAN</name>
      <priority>1</priority>
      <weight>1</weight>
      <ipprotocol>inet</ipprotocol>
      <interval>1</interval>
      <descr>Interface WAN Gateway</descr>
    </gateway_item>

Then I added a second one with Prio2 and now it's active and new default:
  <gateways>
    <gateway_item>
      <interface>wan</interface>
      <gateway><IP_ADDRESS></gateway>
      <name>GW_WAN</name>
      <priority>1</priority>
      <weight>1</weight>
      <ipprotocol>inet</ipprotocol>
      <interval>1</interval>
      <descr>Interface WAN Gateway</descr>
    </gateway_item>
    <gateway_item>
      <interface>wan</interface>
      <gateway><IP_ADDRESS></gateway>
      <name>NOCDialin</name>
      <priority>2</priority>
      <weight>1</weight>
      <ipprotocol>inet</ipprotocol>
      <interval/>
      <descr/>
      <defaultgw>1</defaultgw>
    </gateway_item>
  </gateways>

Apr 16 23:06:37 OPNsense opnsense-devel: /system_gateways.php: Successful login for user 'root' from: <IP_ADDRESS>
Apr 16 23:07:22 OPNsense opnsense-devel: /system_gateways.php: ROUTING: entering configure using defaults
Apr 16 23:07:22 OPNsense opnsense-devel: /system_gateways.php: ROUTING: IPv4 default gateway set to wan
Apr 16 23:07:22 OPNsense opnsense-devel: /system_gateways.php: ROUTING: setting IPv4 default route to <IP_ADDRESS>
Apr 16 23:07:22 OPNsense opnsense-devel: /system_gateways.php: ROUTING: removing /tmp/em0_defaultgw
Apr 16 23:07:22 OPNsense opnsense-devel: /system_gateways.php: ROUTING: creating /tmp/em0_defaultgw using '<IP_ADDRESS>'
Apr 16 23:07:22 OPNsense opnsense-devel: /usr/local/etc/rc.filter_configure: ROUTING: keeping current default gateway '<IP_ADDRESS>'

@AdSchellevis thanks, it works out of the box now, but I have a few questions later today about the code and backwards-compat

@AdSchellevis finally got my pppoe running. I think I've tested most possible combination including DHCP, pppoe, static, mixed als with IPv6.
Only thing I noticed was that a HE gif interface was set per default as upstream and took over (IPv6) while current v6 gateway was also prio 255.

@mimugmail ok, thanks for testing, I don't think we can fix choosing the gif interface with the current logic, since it's a gateway like all the others now (same applies for the old code by the way).

@AdSchellevis one thing I noticed is that new code differs a bit in the logic gateway selection/assuming like discussed in #3464
With 19.1 code when I use optX as a WAN and don't choose upstream gateway (or even have one), I don't get a default route. The new code base also sets a default gateway no matter if I want one or not, it seems just to look for if optX has a related gateway and uses this one.
I for myself am not sure what is best here .. the OP of other thread needs a system with multiple WANs but none gateways set and is unable to do so. Maybe it's easy to exclude opt interfaces from gateway assuming process?

I think we can incorporate something simple when this is in, although as far as I know, 19.1 (without the new code) acts basically the same in this perspective, otherwise there probably wouldn't be an issue in https://github.com/opnsense/core/issues/3464.
Not sure what the eventual logic should look like, but it should involve phasing out "Allow default gateway switching" in favour of selecting multiple gateways as upstream (as @fichtner suggested) and likely some option to ignore default gateways at all.

Agree! What are the next steps? CFT? Shall I write a small guide with some screenshots on a unofficial place or in docs so users can try this (if there are some 😄)

@mimugmail if you have a list of test scenario's it might be practical to find a spot in the docs for it, I don't think we have a lot of documentation about it. Maybe a call for testing on the gateway priority feature itself @fichtner what do you think?

@fichtner ? :)

19.1.8 happened... I will come up with a plan for 19.1.9...

this is done, thanks all! ❤


Autocomplete followed by enter

When I writing a html attribute and it´s suggest an autocomplete value and I press "enter", just break line like a new tag insertion.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29337517-autocomplete-followed-by-enter?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github).

Hi,
Same problem here. When disable Emmet Package autocomplete is working correctly. Any idea how to solve this?

Try to disable Format Line Breaks in Emmet preferences. Also you may try to remove and install Emmet

Thank you :-) It works, I mean reinstalling not solved problem but disabling Format Line Breaks make autocomplete is working correct again.


Compile errors on TextDocumentSaveReason and MessageType.

After migrating to ^3.0.2-beta.5 I get the following compile errors in vscode. Any idea?
[19:33:49] Error: /home/aeschli/workspaces/vscode/extensions/html/server/src/modes/javascriptMode.ts(67,11): Type '{ range: Range; severity: number; message: string; }[]' is not assignable to type 'Diagnostic[]'.
Type '{ range: Range; severity: number; message: string; }' is not assignable to type 'Diagnostic'.
Types of property 'severity' are incompatible.
Type 'number' is not assignable to type 'MessageType'.
[19:33:49] Error: /home/aeschli/workspaces/vscode/extensions/html/server/src/modes/javascriptMode.ts(165,12): Type '{ range: Range; kind: number; }[]' is not assignable to type 'DocumentHighlight[]'.
Type '{ range: Range; kind: number; }' is not assignable to type 'DocumentHighlight'.
Types of property 'kind' are incompatible.
Type 'number' is not assignable to type 'TextDocumentSaveReason'.

I will close the issue since there is nothing I can do right now. See the TS issue for details.
@aeschli fixed on the VS Code side by typing the fat arrow.


new advanced app

http://www.yiiframework.com/doc-2.0/guide-start-installation.html

Have you installed fxp plugin globally?

That hapenned yesterday massively.
In console run:
composer global require "fxp/composer-asset-plugin:1.0.0"

delete all data in ./vendor folder and run again:
composer update

@samdark yes, it's not first project, but basic (not dev) installed correctly.

working fine for me here with basic and advanced app. Which composer version are you using?

@cebe thx for answer, i solve problem: rm -rf ~/.composer/cache. I don't understand it behavior, but it work

use composer clearcache. If u remove ~/.composer/cache u should reinstall fxp/composer-asset-plugin:1.0.0

what made it work for me is in fact:
composer global require "fxp/composer-asset-plugin:~1.4"
I then removed composer directory and composer.lock
then rerun composer install


Remove extra spaces in hosts file

In order to facilitate merging with other hosts files, can you please remove the extra spaces in each line from
https://ssl.bblck.me/blacklists/hosts-file.txt
Thanks!

I can do that. Would a tab character work or is a single space character preferable?

Thanks.  A single space is preferable.

Done. Should be live within an hour or so.

Thank you!


GCP Server can register and cannot print any jobs always queue now.

Yes, our Xerox Phaser 6022 was GCP 2.0 logo certified. But nearly a month to maintain test, we found the printer can register and cannot print jobs.
The root cause is that the type of “numberOfPages” field returned by the /jobs interface is changed. Our code checks that it should be a integer value,
but the value returned now is a string. See below the red line:
{
"success": true,
"request": {
"time": "0",
"params": {
"printerid": [
"a3d31a69-99fd-1d22-91d1-7d6f429f94da"
]
},
"user"<EMAIL_ADDRESS>"users": [
<EMAIL_ADDRESS>]
},
"xsrf_token": "AIp06DgIDmkZzhNapOyc5B8MxA7AwLRjNw:1474420393626",
"jobs": [
{
"ticketUrl": "https://www.google.com/cloudprint/ticket?jobid\u003ddcdd5323-b309-4641-fdba-6f49ea1a2bcf",
"printerType": "GOOGLE",
"printerName": "Dell Color MFP E525w (60:C7:EA)",
"errorCode": "",
"updateTime": "1474420274394",
"title": "zlib.3.pdf",
"message": "",
"ownerId"<EMAIL_ADDRESS>"tags": [
"^own",
"print_file",
"dashboard"
],
"uiState": {
"summary": "QUEUED",
"progress": "Delivery attempts: 1"
},
"numberOfPages": "2",
"createTime": "1474420273306",
"semanticState": {
"delivery_attempts": 1,
"state": {
"type": "QUEUED"
},
"version": "1.0"
},
"printerid": "a3d31a69-99fd-1d22-91d1-7d6f429f94da",
"fileUrl": "https://www.google.com/cloudprint/download?id\u003ddcdd5323-b309-4641-fdba-6f49ea1a2bcf",
"id": "dcdd5323-b309-4641-fdba-6f49ea1a2bcf",
"rasterUrl": "https://www.google.com/cloudprint/download?id\u003ddcdd5323-b309-4641-fdba-6f49ea1a2bcf\u0026forcepwg\u003d1",
"contentType": "application/pdf",
"status": "QUEUED"
}
],
"range": {
"jobsTotal": "1",
"jobsCount": 1
}
}
The printer check type failed, so it cannot print jobs.
Is it caused by GCP server updates or modify?
Have you got specification description of the JSON response of the /jobs interface?

I'm checking on this, but you should talk to the Google Cloud Print team, as it's not an issue with the Logo Cert Tool.


Researching Virtual Machine (kubevirt) migration with crane

This issue is a means of documenting the effort of migrating Virtual Machine's using crane.

The changes were made to the following projects as part of this effort:

crane - https://github.com/djzager/crane/tree/cnv-playground
cane-lib - https://github.com/djzager/crane-lib/tree/cnv-playground
cane-plugin-openshift -https://github.com/djzager/crane-plugin-openshift/tree/cnv-playground

Environment Details

Using mig-agnosticd to provide two openshift 4.10 clusters. The only thing that must be changed is the worker_instance_type must be m5.metal (related: OpenShift Virtualization on AWS).

Demonstration: https://youtu.be/tvDYvfoHNxg

PRs:

https://github.com/konveyor/crane-lib/pull/103 - updates crane-lib to drop default rbac and cabundles one would see in kube clusters, also cleans up managedFields from metadata as this isn't useful during migration
https://github.com/konveyor/crane-plugin-openshift/pull/11 - does similar things for openshift clusters

@djzager I think we need to split this one into tractable issues in GH as features to get them onto the priority roadmap and potentially turn this into an epic. I'll hold off on triaging this into Jira until we have a conversation about how that should be done.

/priority normal
/kind feature


Update jpegquality.go

Without setting an initial values of 1 for allones the special case of "all-ones table" can never trigger

Sorry for late reply and thank you for your commit.


[1.1.0] feat: LookupMap and LookupSet

1.1.0
Contract changes

Updated status-message-collections to use LookupMap
BREAKING Updated fungible-token implementation to use LookupMap. It changes storage layout.

API changes

Introduce LookupMap and LookupSet that are faster implementations of UnorderedMap and UnorderedSet, but without support for iterators.
Most read/lookup/write are done in 1 storage access instead of 2 or 3 for Unordered* implementations.
BREAKING Default is removed from near_sdk::collections to avoid implicit state conflicts.
Collections should be initialized by explicitly specifying prefix using new method.
BREAKING TreeMap implementation was updated to use LookupMap.
Previous TreeMap implementation was renamed to LegacyTreeMap and was deprecated.
It should only be used if the contract was already deployed and state has to be compatible with the previous implementation.

Going to change version to 2.0.0


uv_uptime returns incorrect values on OpenVZ containers.

Version: All current versions, to the best of my knowledge
Platform: Any Linux container in OpenVZ/Virtuozzo, e.g.: Linux vps1607355603 4.15.0 #1 SMP Tue Aug 25 11:59:26 MSK 2020 x86_64 x86_64 x86_64 GNU/Linux
Related Node.js issue: https://github.com/nodejs/node/issues/36244 (for our exploration of the issue)

https://github.com/libuv/libuv/blob/9c6cec803aad3564376cc598d6f7dafdcc26c0f9/src/unix/linux-core.c#L606-L628
Hey there :) It appears that libuv in OpenVZ environments returns incorrect values. For instance, if one were to check the uptime using cat /proc/uptime and Node.js's os.uptime(), one would get the following results respectively: 3187731.82 and 6740816. In other words, libuv returns results that are higher than container's uptime. Same erroneous result is achieved with this code provided by @gireeshpunathil:
#include <time.h>
#include <errno.h>
#include <stdio.h>

int main() {
  struct timespec now;
  int r;

  r = clock_gettime(CLOCK_BOOTTIME, &now);
  if (r != 0) {
    fprintf(stderr, "clock_gettime failed with %d\n", errno);
    return errno;
  }
  fprintf(stderr, "system uptime: %ld\n", now.tv_sec);
  return 0;
}

To get into the root of the problem, we need to understand how OpenVZ operates. OpenVZ consists of a host Linux system with highly patched kernel, which then runs the containers. Unfortunately, all containers share the host kernel, but are provided with a separate simulation of /proc/ (procfs) filesystem for each container. Thus, the earlier mentioned 6740816 uptime from libuv coincides with the uptime of the physical host system.
In practice, this means that the clock_gettime is inherently unreliable on OpenVZ systems. It is suggested by @davedodo on a related node.js issue https://github.com/nodejs/node/issues/36244#issuecomment-733086962 that sysinfo function works correctly with OpenVZ systems (like in Cygwin implementation). However, there might be other alternatives that I (we?) are unaware of.
It is my understanding that this issue concerns only OpenVZ/Virtuozo. Thus, in order to check, whether the system is an OpenVZ container, it appears sufficient to check that /proc/vz/veinfo file exists at launch time (it contains container ID, public IP of current container and current number of running processes).
I am not providing any PR at this point, because this issue may involve quite a bit of decision making on this issue, with a non-exhausting list of three alternatives:

Rewrite uv_uptime entirely using sysinfo for all cases
Check for OpenVZ at launch time to avoid clock_gettime in uv_uptime on OpenVZ and use sysinfo instead
Ignore the issue

Option 1 is probably off the table.
In 3a1be725 and 1c22b44 I switched some things from sysinfo() to /proc because of compatibility issues with lxc, another virtualization solution.
I think (not 100% sure) lxc intercepts clock_gettime() by remapping the vDSO - meaning it Just Works from libuv's perspective - but it does no such thing for sysinfo().
What could probably work - and is virtualization agnostic - is to read the first field from /proc/uptime if that file exists (the second field is the system idle time) with a fallback to clock_gettime(). Pull request welcome.
Parsing a file is much more expensive than a vDSO "system call" (it's usually serviced from the vDSO without making an actual system call) but I don't think that matters for uv_uptime(), it's not performance critical.

I'd say go for it. :-)


Add screenshot of a PC-9821 running Windows 95

OS: Windows 95 Japanese
Hardware: PC-9821 Ne3

Goofed up

Saw this was made a PR, merged it!


globalReturn flag not work

http://eslint.org/docs/user-guide/configuring

Don't think we can support that - it's not supported in es6 (and you are using babel). https://github.com/babel/babel/issues/1298, https://github.com/eslint/eslint/issues/2636. Thanks!


Support for new My BMW App

Just asking because I am curious. Is it possible (and or planed) to support the new MyBMW App?
Link to App: https://play.google.com/store/apps/details?id=de.bmw.connected.mobile20.row
PS Thank you for your great work!

Hello! Thanks for the question.
The current version (1.2.0) of the My BMW app includes most of the code to run the BMW Apps connection to the car (the BCL tunnel and the various accessory connection listeners), but it is not currently enabled (the BaseA4AApplication module is omitted). I've added support for the Security Module in this new My BMW app, so if the BMW Apps connection is enabled in the future, it should just work automatically with this single app.
If you are using IDrive 4-6, it should be safe to have both My BMW and BMW Connected installed at the same time. The main problem with combining Connected and Connected Classic is that both apps would try talking directly to the car, with undefined results and sometimes headunit crashes. Since My BMW isn't currently talking the BMW Apps protocol, this problem shouldn't happen.
If using IDrive 7, the car doesn't support BMW Apps anyways, but there is a risk that the latest BMW Connected and My BMW apps will both try to use a special BMW Bluetooth protocol to bootstrap the Android Auto Wifi-Direct connection, and I have no idea how the car will react to that.
Hope this helps answer your question!

Hi!
Tested it today. Sadly it is not working. If I have both BMW apps installed (BMW Connected App and the new MyBMW App) AndroidAutoIdrive cannot connect.
Here are my first things I noticed:

Both BMW Apps will show a notification that they are connected to my Car.
AndroidAutoIdrive will not show that it is connected.
AndroidAutoIdrive tries to connect but fails with Handshake Failed
To make it working again I needed to reinstall AndroidAutoIdrive, restart my Phone, restart my infotainment system and deinstall the myBMW App.

Additional information:

BMW F31 340i (2019) with Professional Navi

If you want to dig deeper in this problem and need more info, i will gladly help.

Alas, this is at the BMW App level, and AndroidAutoIdrive can't offer any help here. The Handshake Failed message is coming from BMW Connected, specifically the module that runs the BCL tunnel, so it's probably encountering interference from My BMW trying to start up the newer protocol over the same Bluetooth connection.
You should just need to uninstall My BMW and then Connected should automatically work on the next connection.
I guess they interfere more than I thought :(


Adding note: How to file issues against this repo.

Figured it is good to get this kinda thing in ASAP, even if the rest of the README still needs more work.

@marstr,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

publish job


It would be great if the test suite could have its own repo

Hello;
also,
Merry Christmas!
by the way,
The test suite that esprima is using is very suitable for stress testing any other ECMAScript parser.
Also the fact that it has ready-to-use AST jsons means parser authors will not have to do all the hard work of adapting the tc39 test suite into the parser they have made -- all they have to do is use Esprima's tests; the only thing they might need is possibly an "adjuster" hook to convert the ASTs their respective parsers generate into an esprima compatible AST; currently, the tests come as an integrated part of Esprima, but for those who only need the test suite, that would be unnecessary, even though trivial.
Additionally, having an independent repo for the test suite means the test suite will be under a bigger spotlight, whcih gives it a better chance to remain free of bugs.

Thanks for the suggestion!
The closest to this is https://github.com/tc39/test262.
In general, splitting the test suite to its own repo will increase the maintenance burden with no significant benefit. If there would have been an external significant contribution to the test suite, we may consider it. Otherwise, it is an inconvenient exercise with dubious advantages.


Makes links blue again, fixes left/right icon stories

This PR does the following:

Reverts links back to blue
Reverts @link and @more-link mixins to what they were pre-hero

https://nypl.github.io/nypl-design-system/storybook/storybook-static/react/index.html?path=/story/heading--headings-with-bold is this also a regression from the Hero work?  (let's file a ticket if not)

was the "Header Image Right" story and component supposed to be deleted?  (I still see it here)

@hokei yeah, merging issues—some wonky stuff happened when I tried to merge on Tuesday because of Github status issues.
Updated CHANGELOG and package bump comin' right up

@hokei I updated the package.json on react-components back to a minor number like we talked about... Not certain what happens now that you've run a release, though 😖 really sorry I didn't catch that yesterday, if I need to revert I can

I think the main problem with releasing 2.0.0 is if we get to 1.0 release and we want to release 2.0 after that, we'll have to skip and go from 1->3 because 2 already exists.
I'm not too worried because I think when we do a 1.0 release we'll have figured out a real name for Design System.

:shipit:


Relation Data

I have a Posts model but each post also has a location() relation.  Is there any way to index the Post and related data for the post at the same time?
Post::addAllToIndex();

The above does not actually index any relations only the Post model data.

Duplicate https://github.com/elasticquent/Elasticquent/issues/135


Create a crate release

As far as I can tell, this crate is at 0.0.0 which is 4 years old (and contains pretty much nothing). It seems to have enough functionality to warrant a 0.1.0 release?

Duplicate of #67 and now fixed


Validator Accepts Replacement Character in stop_name Field

Describe the problem
Mobility Data Validator currently accepts the Unicode replacement character (�) in the stop_name field. This character typically indicates a decoding error and should not be present in valid data. While I've specifically noticed the acceptance of this replacement character, I am unsure if other similar problematic characters are also being accepted. Ideally, the validator should flag or reject stop_name fields containing the replacement character and potentially other similar invalid characters, as was done by the older GTFS validator, FeedValidator - https://github.com/google/transitfeed/tree/master, which raised a Unicode error (E33) for invalid values in the stop_name field. Implementing similar checks in future releases would help prevent data issues caused by improperly decoded or malformed input. Could this behavior be reviewed and corrected in future releases please? Thank you for your consideration and for your continued work on this project!
Describe the new validation rule
replacement_char = "\uFFFD"
if replacement_char in stop_name:
trigger_error("invalid_character_in_stop_name", stop_name)
Sample GTFS datasets
auckland_gtfs.zip
Severity
No response
Additional context
No response

Thanks for flagging this @YuliaTom! The fix for this will be part of our next release (you can see the change in #1892)

Brilliant! Thank you very much for your work!

Hey @YuliaTom Glad to help! Thanks for catching the issue!


Update SGSparseMatrix.cpp

Fixes segmentation fault when num_features > num_vectors.

Changes Unknown when pulling 31219efccb38bc78bdc58864264fa957fda9f1c8 on dkostka:dkostka-patch-1 into ** on shogun-toolbox:develop**.

@dkostka thanks for the PR. Could you also please add a unit test for this? Say, three tests

one with square matrix
non-square matrix with num_feats > num_vec
non-square matrix with num_feats < num_vec

You call get_transposed on those and verify sanity. See SGSparseMatrix_unittest.cc

Merging the bug fix now. @dkostka, it would be great if you could add the unit tests that Rahul has mentioned.

@iglesias: Among the tests that @lamday mentioned. 2 and 3 are covered (get_transposed_more_features and get_transposed_more_vectors. I am adding the test for Transposing a square matrix.


Link at readme does not work

the link refers to https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduinor
as it might be intended to https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino

Hello! I am working with pulse sensor. The LED from pin no 13 is blinking according to the pulse. Its working.
But pulse sensor amped visualizer is nor working! It just shows a straight line and not gives BPM.
I used code from this site for both arduino and processing code.
https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino
I am using Windows 7(32 bit), arduino IED 1.6.9
And processing 3.1.1 software.
I gave same baud rate to both arduino and processing code.
Please suggest me how can I solve.
If possible please give the screenshot , how to fix it
Thanks

@shajjad3  i also have same problem..

@joelSensor plz help

@KiDooooo
This issue is about a previous version of the code.
Can you be more specific about what exactly the problem is?

@joelSensor pulse sensor amped visualizer 1.5.0 is nor working! It just shows a straight line and not gives BPM.
I used code from this site for both arduino and processing code. I am using Windows 8.1(32 bit), arduino IED 1.6.7
And processing 3.2.1 software.
I gave same baud rate to both arduino and processing code.
Please suggest me how can I solve.

can you confirm that you programmed your arduino with the code found here
https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino
and that you changed the variable outputType to PROCESSING_VISUALIZER as shown in the READ ME?
Also, which serial port are you selecting? Make sure that you choose the right one.

yes @joelSensor  i definately confirmed that i use same code ,also i changed the variable outputType to PROCESSING_VISUALIZER as shown in the READ ME. But still no effect

thank u so much for answering...!!! plz help

is there any modification that is required ....!!!

There is no modification.
I feel that you are simply missing something simple.
Make sure that you upload the code to the Arduino.
Make sure that you select the correct serial port in the visualizer, which is the same port you used to upload to the Arduino.

Thanks problem is solved.:-)
On Mar 15, 2017 8:54 PM, "Joel Murphy"<EMAIL_ADDRESS>wrote:

There is no modification.
I feel that you are simply missing something simple.
Make sure that you upload the code to the Arduino.
Make sure that you select the correct serial port in the visualizer, which
is the same port you used to upload to the Arduino.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/WorldFamousElectronics/PulseSensor_Amped_Processing_Visualizer/issues/6#issuecomment-286766976,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AS7pFJDLXJA_tqtfxPknQC-MfDUkQK2nks5rl_u0gaJpZM4GsGDw
.

Please share the solution

@shajjad3 tell me plz what is solution....!!!!


add cta-carousel block

Describe your specific features or fixes
Resolves: MWPW-143347
Test URLs:

Pre Migration Link: https://adobe.com/express/
Before: https://main--express-milo--adobecom.hlx.page/express/
After: https://MWPW-143347--express-milo--adobecom.hlx.page/express/

Codecov Report
Attention: Patch coverage is 86.48649% with 35 lines in your changes missing coverage. Please review.

Project coverage is 65.74%. Comparing base (51241ff) to head (4cf8c44).
Report is 15 commits behind head on main.

Files with missing lines
Patch %
Lines

express/blocks/cta-carousel/cta-carousel.js
86.48%
35 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #73      +/-   ##
==========================================
+ Coverage   64.94%   65.74%   +0.79%
==========================================
  Files          38       42       +4
  Lines        5611     6658    +1047
==========================================
+ Hits         3644     4377     +733
- Misses       1967     2281     +314

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


RCTBridgeModule.h file not found

followed the docs (using RN 0.46), but get this error.
any thoughts ?
I'm detached from expo btw.

Most likely not installed node modules


Change embedding architecture slightly to facilitate support for func…

…tional layouts

Codecov Report

Merging #247 (c1eefd8) into master (5bd5247) will decrease coverage by 1.08%.
The diff coverage is 33.33%.

:exclamation: Current head c1eefd8 differs from pull request most recent head 8bc842d. Consider uploading reports for the commit 8bc842d to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master     #247      +/-   ##
==========================================
- Coverage   87.34%   86.27%   -1.08%
==========================================
  Files           9        9
  Lines        1162     1144      -18
==========================================
- Hits         1015      987      -28
- Misses        147      157      +10

Impacted Files
Coverage Δ

dash_extensions/enrich.py
85.05% <33.33%> (-1.29%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Unable to build when CESIUM_MSVC_STATIC_RUNTIME_ENABLED is ON

Hi,
When the CESIUM_MSVC_STATIC_RUNTIME_ENABLED option of the CMakeLists.txt is set to ON, building cesium-native fails at the linker stage.
I'm using an up-to-date Visual Studio 2022 + CMake setup.
I know you managed to make this work for cesium-unity (see), didn't have time to investigate further.
Tested with v0.41.0.

@jqntn the trick is to make sure your vcpkg triplet is also set to use the static runtime library. Here's where that's done in cesium-unity:
https://github.com/CesiumGS/cesium-unity/blob/v1.13.1/native~/vcpkg/triplets/x64-windows-unity.cmake#L4


Add options to disable default props in snapshot

@adriantoine Hi !
I cherry-pick the @madou commit.
I cherry-pick the @jiangzhu-genie commit in this PR
And then I add an option ignoreDefaultProps to add this behaviour.
This way there is no breaking changes. Fixing https://github.com/adriantoine/enzyme-to-json/issues/99

Would be great to have this 👍

We'd love to have this feature @ Redbubble.
Our Design System package ships into many discrete apps in our company and every time we add new default props to components (which should be non-breaking) our internal customer's builds break because their snapshots change.
Having this option would relieve them of a lot of unnecessary work and enable our Design System updates to be far more seamless.
Thank you for working on this - would be great to see it released @adriantoine

I love to see this merged since in a project I'm working on we use a library with components with a lot of big default props that make the snapshots so big they are almost useless.

I will maybe post a tweet https://twitter.com/adriantoine
If he doesn't maintain the library he should share the property

Nice one, thanks for your contribution!!


No access logs for responses with response_code=0

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
In our Prometheus istio metrics (istio_requests_total) we see requests with labels reponse_code=0 and response_flagsDC. To be able to see more details about these failed requests, we enabled filtered access logs via Istio Telemetry API using the following API resource
apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  name: default-exception-logging
spec:
  accessLogging:
    - providers:
        - name: file-json
      filter:
        expression: "response.code >= 500 || response.code < 200"

After that we can see access logs for response code >= 500  and also < 200 but there are no access logs with response_code 0 logged (allthough we can see them in the istio metrics).
Any idea? is this a bug, is this somehow expected or is there an issue with the used filter expression?
Thx a lot,
Sven
Version
$ istioctl version
client version: 1.20.3
control plane version: 1.18.7
data plane version: 1.18.7 (2 proxies)

$ kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.26.4
Kustomize Version: v4.5.7
Server Version: v1.26.12-gke.1111000

$ helm version --short
v3.14.1+ge8858f8

Additional Information
No response

Its in your filter. "!has(response.code) || response.code >= 500"  would probably be what you want; there is no response.code attribute at all on the failures

This is a super subtle and easy mistake to make, if you have any feedback on what changes could have made that solveable (docs, etc), please let us know

Using filter expression "!has(response.code) || response.code >= 500" works!
Note: The logged access log events do actually have the field response_code=0.

I believe it's a quirk of the logging vs filtering that it will plug in default values for unset fields. Really tricky to get right though, so needs some more investigation IMO

Could this solution be CPU-intensive? I'm asking because I've noticed spikes in the Istio-proxy sidecars while using the following setting.
apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  accessLogging:
    - providers:
      - name: envoy
      filter:
        expression: "response.code >= 400"


Use --allow-change-held-packages flag

Flag --allow-change-held-packages was introduced in APT 1.1.
All distros since Ubuntu 16.04 and Debian 9 are supporting this

/assign @simplytunde

I'm not sure about this change. Wondering whether we should leave the
manual hold unhold instead.

I like this change (I have not tested that it works).
If there's a need to support older Debian-like OSs as well, how about either:

add a tab for older Debian OSs
add comments to the command section that explain what to do if your apt-get does not know --allow-change-held-packages

add comments to the command section that explain what to do if your apt-get does not know --allow-change-held-packages

+1 on this if the flag is preferred by default.

@kvaps would you be willing to revise this based on https://github.com/kubernetes/website/pull/17376#issuecomment-549278232 ?

@sftim sure, I've added a new tab "Older Ubuntu or Debian", or you still thinking better to add a note?

/sig cluster-lifecycle

/lgtm


Inherit dbt configuration

Hi 👋
Maybe I've overlooked something, but I have the feeling that some configurations aren't inherited from dbt to be interpreted by dbt-sugar. Specifically, I've encountered 2 small things that were altered in the model file, causing dbt-sugar to fail:

schemas
aliases

Once deleting the schema / alias, it looks like everything works fine.
Is there any plan to add support for this in the future?
Also, it looks like source 'descriptions' are currently ignored to be used in the model.
Is there any specific reason to do this?
Thanks for the information & have a nice day!
// Diëgo

Hi @diegodewilde thanks for the issue report.
Would you mind elaborating a bit more on those schemas and aliases? I'm not sure what you're referring to exactly but I'm sure we can make things happen.
As for sources indeed it's not in scope now. We document only model files. What do you plan to do with sources or what do you feel the tool should do with them?

Hi @bastienboutonnet
Sorry for the late reply, I've somehow missed this.
Happy to give you a more detailed example. Let's maybe focus on the alias only, but know it's similar for the schema property.
Let's assume we have a test_model.sql with following content:
{{
  config(
    alias="aliased_test_model"
  )
}}

select
    'dummy text' as dummy_column
-- from (..)

If we now execute the following command:
dbt-sugar doc --model test_model
The execution will fail, as it can't find the test_model table in the database, which is correct, as we want the table to be named as aliased_test_model in the database.
Underneath you can find the error message:
base.py 3465 get_table_oid
"path_to_sqlalchemy/dialects/postgresql/base.py", line 3465
  if schema:
      s = s.bindparams(sql.bindparam("schema", type_=sqltypes.Unicode))
  c = connection.execute(s, dict(table_name=table_name, schema=schema))
  table_oid = c.scalar()
  if table_oid is None:
>     raise exc.NoSuchTableError(table_name)
  return table_oid

s:
            SELECT c.oid
            FROM pg_catalog.pg_class c
            LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
            WHERE (n.nspname = :schema... [282]schema: schema_name
c: <sqlalchemy.engine.cursor.LegacyCursorResult object at 0x119016c70>
connection: <sqlalchemy.engine.base.Connection object at 0x1190066a0>
table_name: test_model
table_oid: None

sqlalchemy.exc.NoSuchTableError:
test_model

Hope this makes sense, don't hesitate to ask more explanations if needed.
Regarding the sources: I get your point. We're also documenting the sources and in that case it would be great if we could re-use the same documentation going forward in our model files. But for now, we use the jinja doc function like this description: '{{ doc("name_of_doc") }}' to have one source of truth. It's already great that, once inside the models, everything can be automated!

No worries @diegodewilde and thanks for providing the example it's super clear to me what you meant now.
I think we can totally do something about alias and similarly for schema, I actually almost wasn't aware of these options as I have never used the config in that way but it does make sense.
If we could rely on the internal dbt API for all of these things we'd be able to walk more hand in hand with the evolution of the options for dbt I have to say but for now we will have to implement it "on-demand". That being said we already do some parsing of the config section for the primary key so it shouldn't be too hard to extend this to other variables.
I'll have to find some time to work on this, if you feel like you want to and can get your hands dirty I could support you on the way on where to look and how maybe I would implement it. If not, that's ok I'll work on it at some point in the near future.

Linking this to #389 as part of that epic will probably enable us to use dbt to parse this info more directly.

@bastienboutonnet  Thanks for building dbt-sugar! At my company we are using DBT heavily and I came across an error when initialising with dbt-sugar bootstrap which I believe relates to this issue and in particular the ability to pick out the correct schemas from the dbt_project.yml
It looks like the schema is being picked out of the profile.yml
Resulting in a KeyError in SQL Alchemy when it searches for model.table_name instead of custom schema model_prep.table_name.
Is this epic likely to cover a fix for this? I could be keen to contribute but I am new to external project contributions so I can't promise anything soon.

Hey @rarup1 thanks for trying out the tool.
I think it's quite unrelated but also kind of related. The issue is that we built the tool when the API of dbt wasnt stable and now I have less help to refactor it.
Ideally we would now leverage the API of dbt to get all this info.
If you're keen to contribute I would love to help!
Maybe a good idea to open an issue with your particular example.
If you could maybe add some info about where you're overriding the schema that would be helpful to do some reproducing.
This is basically related to this issue https://github.com/bitpicky/dbt-sugar/issues/389 which is a big one and I'd love to chip at it based on user use cases like yours.
Is that helpful?


Bind & dnsutils

Hello,
If you don't install dnsutils, dig command is missing.
apt-get -y install bind9 dnsutils
Thank you for your work! 👍

thanks, added


feat: Port Algebra.Quandle

Thanks :tada:
bors merge

@jcommelin sorry I didn't noitce you already started the merge. I realized there was one thing I thought should be changed, but I can change it back if it was better before

bors merge


Headbar component

Epic https://github.com/x-team/auto/issues/573

Create new component or migrate https://github.com/x-team/auto/blob/master/src/client/components/XHeader.js and upgrade styles and render.

Behaviour

"Sticky header", fixed on scroll

Closing issue since this is in master now.


Support Stream Live Inputs

Current cloudflare-go version
latest
Description
The Live input portion of stream (inputs, outputs, etc) is currently not supported in the library. It'd be awesome to have this so I don't have to manually manage the API calls.
https://developers.cloudflare.com/api/operations/stream-live-inputs-list-live-inputs
Use cases
Automating management (creation, destruction, listing, etc) of live inputs and outputs associated with them.
Potential cloudflare-go usage
client.StreamsCreateLiveInput()
client.StreamsUpdateLiveInput()
client.StreamsDeleteLiveInput()
client.StreamsListLiveInputs()

client.StreamsCreateLiveOutput()
...

References
https://discord.com/channels/595317990191398933/1043025464911986749/1214648195993436270

@Cyb3r-Jak3 as requested!


Assigning categorical dtype Modin Series to column of Modin Dataframe changes dtype to int64

System information

**OS Platform and Distribution **: macOS Big Sur (version 11.6)
Modin version (modin.__version__): 0.10.0
Python version: 3.9.7
Code we can use to reproduce:

import modin.pandas as pd
from modin.pandas import Categorical
import pandas.api.types as pt

s = pd.Series({'a': 1, 'b': 2, 'c': 3}, index=['a', 'b', 'c'])
s = Categorical(s)
print(pt.is_categorical_dtype(s))

True

df = pd.DataFrame(columns = ['a', 'b', 'c'])
df['a'] = s
print(pt.is_categorical_dtype(df['a']))

False

print(df['a'].dtype)

dtype('int64')

Describe the problem
On Modin version 0.10.0, when assigning a Series of categorical data type to a Dataframe, the data type is not maintained and rather changes to int64.
Source code / logs

Hi @naren-ponder , this isn't an issue as of Modin 0.13.0+22.gaebdb522. I'll close the issue because it doesn't apply to the current Modin version.


Add [autofix] in mail title when something has been auto-fixed

Coverage increased (+0.02%) to 32.141% when pulling 6aa9faff5cb88d34a221e22507bca01dbc33621d on calixteman:autofix_in_title into e339d3c479ab1ae2481cf48a84bf6d10d31d5cf5 on mozilla:master.


Adding an interval between click and ...

hi...thanks for the useful plugin. Is there any way to add a little interval between the time the button is clicked versus the fullscreen taking effect? I know this might not be as straightforward because actions such as fullscreen can only be invoked by user interaction. So timers and stuff are out. Any pointers? This is because I need to do a few things before going fullscreen ... and if there is no delay everything appears too abrupt. Thanks once again

There's no direct support for this, but you can implement it by creating your own button control that starts a timer when chlicked, and calling map.toggleFullscreen() (as shown in the README) when you want to go fullscreen.

Thanks but no timer event can trigger a fullscreen - It can be only initiated by a click on the button / element / object - from what I understand :) Anyways thanks, let me fiddle around with it.

Oh right, I forgot about that restriction. It was previously discussed in https://github.com/Leaflet/Leaflet.fullscreen/issues/28.

:+1:  alrighty thanks


submit the result to smifc leaderboard

Hey Nazir, could you please tell me how to submit my result to the leaderboard? Do I need an arxiv paper or project url?

Hello @Orange-rightperson ,
You may follow the instructions in the following link in order to submit the results:
https://segmentmeifyoucan.com/submit
You don't need a paper or project URL, simply prepare the submission and send it to the benchmark maintainers.

Hello @Orange-rightperson ,
You may follow the instructions in the following link in order to submit the results:
https://segmentmeifyoucan.com/submit
You don't need a paper or project URL, simply prepare the submission and send it to the benchmark maintainers.

Thank you for your reply, could you please tell me how long it takes to get the leaderboard's reply?I submit the result three weeks ago, but I did not get a reply


deploy-rs: init 2022-05-26

Description of changes

Things done

Built on platform(s)

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

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

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

[x] 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/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 182950 run on x86_64-linux 1

1 package built:

deploy-rs

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1034


Command for simulating Hold items

Something that would be useful is simulate hold items so to hold a set of specific items to get the desired result when performing IST.
hold [items ...]

would also be better if you could use pipe | symbol to list multiple things in the regex with everything encased in square brackets for those specific items. ie;
hold [Hylian Shroom | Spicy Pepper | Diamond | Hyrule Bass | Fairy]

Also when simulating holding of items, subtract N number of items currently listed.

The only scenario where hold is useful IMO is when you are breaking slots:
# do the smuggle
hold 1 shroom 1 pepper
# break slots
sell all shroom all pepper

This is achieved in the simulator with the break command
break 2 slots with all shroom all pepper

In other cases, you hold an item usually to drop/remove it, in which case you can use the remove command. If you want to indicate that hold is required for a step, you can use a comment.
Is there a specific scenario you have in your mind where simulating hold is useful? Or a state where holding and not holding makes a difference?

BTW, this is planned for v4 update. Stay tuned :)


Added instruction for starting MLZ UI with AzGov (doc change only)

Description
This is a doc change only. I copied the text block from the command line steps and replaced the reference from ./deploy.sh to ./setup_ezdeploy.sh to align with UI scenario
Issue reference
The issue this PR will close: #144, #152
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles or validates correctly
[x] BASH scripts have been validated using shellcheck
[x] All tests pass (manual and automated)
[x] The documentation is updated to cover any new or changed features
[x] Markdown files have been linted using the recommended linter. (See .vscode/extensions.json.)
[x] Relevant issues are linked to this PR

Looks like there's a merge conflict FYI, once those are remedied we can get this merged.


Steam Cache generating 302 while downloading Steam Client

We're using the the Generic Steamcache in our environment, and we've run into an issue this morning where the steam client is failing to download. Took a peek in the error log, and this is what I am seeing:
2018/03/06 16:10:33 [error] 10#10: *95612 unexpected status code 302 in slice response while reading response header from upstream, client: <IP_ADDRESS>, server: , request: "GET /client/bins_webhelpers_win32.zip.vz.c05f07ba6a52429edb32cd7b40e04d5f638f4697_1095795 HTTP/1.1", subrequest: "/client/bins_webhelpers_win32.zip.vz.c05f07ba6a52429edb32cd7b40e04d5f638f4697_1095795", upstream: "http://<IP_ADDRESS>:80/client/bins_webhelpers_win32.zip.vz.c05f07ba6a52429edb32cd7b40e04d5f638f4697_1095795", host: "client-download.steampowered.com"
Any ideas on how I could mitigate this? My research on this showed that I need to increase the proxy buffer size in nginx, which I can totally do, but it means modifying the container.
As an added note, the error the user gets is as follows:
"Steam needs to be online to update. Please confirm your network connection and try again"

where to find nginx file to change the CACHE_MEM_SIZE, CACHE_DISK_SIZE, CACHE_MAX_AGE
and how to run Game Content Cache Hostnames please post a guide or tell here ty

Can't reproduce this issue locally. If you can reliably reproduce it - please let me know and re-open this.

Generic cache generates unexpected status code 302 in slice response while reading response header from upstream while trying to cache
2019/05/11 22:32:09 [error] 42#42: *120953 unexpected status code 302 in slice response while reading response header from upstream, client: <IP_ADDRESS>, server: , request: "GET /gs2/ppkgo/prod/CUSA02168_00/55/f_852143d164a5c3a84ad75ae5cd5e1c4458e31010be1fd8794dcaeb28fec61ccf/f/EP9001-CUSA02168_00-GTSPORT000000000-A0138-V0100_10.pkg?downloadId=000000a9&du=00000000000000a900e248a22cdf490c&product=0187&threadId=0&serverIpAddr=<IP_ADDRESS>&r=00000001&downloadType=om HTTP/1.1", subrequest: "/gs2/ppkgo/prod/CUSA02168_00/55/f_852143d164a5c3a84ad75ae5cd5e1c4458e31010be1fd8794dcaeb28fec61ccf/f/EP9001-CUSA02168_00-GTSPORT000000000-A0138-V0100_10.pkg", upstream: "http://<IP_ADDRESS>:80/gs2/ppkgo/prod/CUSA02168_00/55/f_852143d164a5c3a84ad75ae5cd5e1c4458e31010be1fd8794dcaeb28fec61ccf/f/EP9001-CUSA02168_00-GTSPORT000000000-A0138-V0100_10.pkg?downloadId=000000a9&du=00000000000000a900e248a22cdf490c&product=0187&threadId=0&serverIpAddr=<IP_ADDRESS>&r=00000001&downloadType=om", host: "gs2.ww.prod.dl.playstation.net"

This is happening on multiple deployments. Any ideas? (I am using the uklans/cache-domains for sony servers)

I had to increase the slice size to some arbitrarily large number, like 700m. This cleared up the 302 errors, but I still don’t have an explanation as to why they’re happening in the first place.

@alexholliz  where did you change it?

Look for:
  location / {
    #Cache Location
    slice 200m;
    proxy_cache generic;

In the nginx config


Build 13.0.1-rc1

Continuing from conda-forge/llvmdev-feedstock#134, reusing #53

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.

Damn, wrong branch... 😑


Blocking a user through usercard then quickly closing it crashes the application

This happens somewhere in src/widgets/dialogs/UserInfoPopup.cpp:473 lines 473, 519, basically this used in that context is no longer present.

I suspect that this could happen in many other places which use NetworkRequest and can be deleted, this becomes an invalid pointer and SEGFAULT. We actually have a solution for this: NetworkRequest::caller(const QObject *parent).

This will be solved when I refactor Helix to use a NetworkRequest-like builder :)

This bug is also reproducible on chatterino7 builds when Show 7TV Animated Profile Picture is enabled, as opposed to it relating specifically to blocking.
Imo the issue title should be renamed to reflect the issue more accurately, and for easier discovery.
Event viewer says: Faulting module name: ntdll.dll
Demo: https://i.alienpls.org/DFe.apng

usercard debug logs
chatterino.http: "GET 200 https://api.ivr.fi/twitch/subage/brian6932/brian6932"
chatterino.twitch: [TwitchChannel "brian6932" ] Opened
chatterino.twitch: [TwitchChannel "brian6932" ] Send message: ""
chatterino.http: "GET 200 https://api.twitch.tv/helix/users?login=brian6932"
chatterino.http: "GET 200 https://api.7tv.app/v2/users/brian6932"
chatterino.http: "GET 200 https://api.twitch.tv/helix/users/follows?to_id=84180052"

As zneix mentioned in his initial error report, the callbacks that come back from helix contains a raw pointer to the UserCard without holding a proper reference to it. We'd want to use shared_from_this and pass along:

a weak pointer to the UserInfoPopup so we can call reenableBlockCheckbox
a shared_pointer to the channel (so just pass along this->channel_) so we know where to send the error/success message
the username as a QString
[weak = this->shared_from_this(), channel = this->channel_, userName = this->userName_]

Block
https://github.com/Chatterino/chatterino2/blob/c6ebb70e05c4b8c4b220498afde17846c7874ba9/src/widgets/dialogs/UserInfoPopup.cpp#L553-L568
Unblock
https://github.com/Chatterino/chatterino2/blob/c6ebb70e05c4b8c4b220498afde17846c7874ba9/src/widgets/dialogs/UserInfoPopup.cpp#L580-L595

This bug is also reproducible on chatterino7 builds (and any related forks) when Show 7TV Animated Profile Picture is enabled, as opposed to it relating specifically to blocking.
That is a 7tv bug. Not our code.

15 wrz 2022 04:55:53 Brian @.***>:

This bug is also reproducible on chatterino7 builds when Show 7TV Animated Profile Picture is enabled, as opposed to it relating specifically to blocking.
That is not our bug. It's a similar bug in 7tv code.

Fixed in https://github.com/Chatterino/chatterino2/pull/4711


feat: support light/dark theme and adherence to system theme

Light theme:

Dark theme:

The window switcher will check whether the current system is using a dark or light theme at startup and will follow the system theme.
close #136

Sweet! That was fast. Thx @sigoden


Misc: Wikipedia links in operation descriptions

Summary
Now that operation description popovers persist when hovered over, it is possible to add links to the descriptions. Many operations have associated Wikipedia articles which may provide users with contextual information. It would be useful to provide links where possible.

Closed in #298


Update Shadertoy-VDB.frag

Remove #version directive, it should be used in the fragment shaders themselves

I'd need fragm to use an equivalent of shadertoy's opengl version, make another PR with the right version and I'll merge.


Add has_borrows flag to margin account

Had a go at implementing your feedback on return types. I believe it will now throw errors from the mango_group checked borrow functions and I explicitly return Ok after setting has_borrows. Also checked through and I'm pretty sure those are the only places that modify borrows, or at least they're they only places that set mango_group.total_borrows and margin_account.borrows

@riordanp have a look at: https://github.com/blockworks-foundation/mango/pull/15
We can use this as a starting point to add more unit tests to the mango program as we make changes. I'd certainly be up to write a few more as well :)


goversioninfo is Windows centric

https://github.com/jantari/rewinged/blob/main/main.go#L1

//go:generate goversioninfo

package main

goversioninfo - Its only for Windows, and the compiler blows up on a non windows machine.
https://github.com/josephspurrier/goversioninfo
go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@latest
versioned - its for all OS.
https://github.com/greenpau/versioned
go install github.com/greenpau/versioned/cmd/versioned@latest
so I suggest we use flags to allow both.. yes ?

goversioninfo and versioned don't do the same thing. goversioninfo embeds standardized metadata into the Windows PE-executable which Windows can retrieve and display to the user without running the program. To my knowledge, such a feature doesn't even exist (isn't standardized) for Linux ELF executables so it's not possible to replicate the functionality in a meaningful way. versioned just helps get (git) metadata into the program code as variables, something I'm already doing for all OS using just gos' builtin -ldflags "-X ..." feature.
The compiler error is easily fixed by deleting the resource.syso file before compiling for Linux, just like I'm doing in the build process already:
https://github.com/jantari/rewinged/blob/d3069246e76fb269e9022468812b3ea9c753b139/.goreleaser.yaml#L20-L23
However it might be worth changing the go:generate command to:
//go:generate goversioninfo -platform-specific=true

so that the generated syso files are named resource_windows_<arch>.syso and don't get picked up when targeting Linux to begin with. Another thing to look into is using go-winres instead, which is an even more feature-complete alternative to goversioninfo. E.g. it would allow me to embed Windows Event Log message templates, should I ever want to log to Windows' Event Log infrastructure.


Add РАПИРА Hello World program

What does the program do ?

In what programming language it is written?

Thank you for participating  in hacktoberfest ❣ if you liked working on this repo you can share it with friends and star this project for helping others


Add a beforeClose method for MdDialog

Feature Request
What is the expected behavior?
When the user is about to close a MdDialog window (via Esc key, clickout or close button), for example an edit dialog, it would be nice to be able to have some method to prevent the window from closing to avoid unsaved changes for example.
What is the use-case or motivation for changing an existing behavior?
Since the MdDialog already listens to Esc key events, clickout and has the close() method that is used in the action buttons, it would be much easier to have a method like afterClosed that is called just before the closing event is going to occur, so we could prevent it from happening just returning true or false in a callback function. This way we don't have to overwrite those event listeners.

Related https://github.com/angular/material2/pull/3460

We did originally plan on adding a beforeClose hook, but not with the ability to cancel the close. The stance has been that, rather than canceling close, the user can disableClose and take control of closing the dialog via whatever criteria suits their application.

Well, I guess something like that could work too. Do you expect to have this functionally any time soon?

In my opinion beforeClose and disableClose serve two different purposes. Imagine a scenario where you want to prompt a user before discarding the changes (no matter how the cancellation happened); then using beforeClose would allow us to cancel closing the dialog. However, disableClose would completely remove the ability for the user to close the dialog (via cancellation) which is not what is expected.

To pitch in here (from over in https://github.com/angular/material2/issues/5209), I'd also like to have the value of the user choice exposed in an observable before/on close, to get access to it without having to wait for the animation.
(This is somewhat tangential to the beforeClose method, but it seems to be tracked collectively here).

Much needed! We have a use-case where we want to save data if the user cancels the dialog (via clicking on backdrop or hitting the Esc key). Where the problem comes in, is if there's a server error, we want to keep the modal up still to display the message.


strlen page never mentions strlen_s as a secure alternative

Security is a huge issue and MS docs do not really help the programmer. Companies are pushing for secure coding and MS hides one of the most common secure functions. Additionally, there should be a master list of secure versions of in-secure functions. But the main thig is that this page should definitely mention strlen_s somewhere.

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

ID: 006e82ed-1dab-6821-bcf8-dc897ce297e0
Version Independent ID: 5aa1d5db-3dbf-703e-b700-a093bc0663b8
Content: strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
Content Source: docs/c-runtime-library/reference/strlen-wcslen-mbslen-mbslen-l-mbstrlen-mbstrlen-l.md
Product: visual-cpp
Technology: cpp-ucrt
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

Mistake, closed


Map design

Create or get all needed submap images to show on the website during navigation and other pages.

Optimization idea: a map image could be quite large (if vector images are not used). Create multiple instances of varying resolution and split one image into multiple high-resolution segments (chunks).
In other words, optimize the website so the client doesn't load any more data than necessary.

Color code walls in colors like in the Faculty.

Approximately 16k resolution image for each submap added here.
These images will not be used because SVG is better in every sense.

These are the approximate colors used for faculty walls:
Note: left/right is oriented as when entering the main entrance from outside (looking towards the building).
main building:

floor 0:

center: 1e93d8
left: b385a1
right: b0592c

floor 1:

left: 77746b
right: 276759
special: c0370b

floor 2:

left: ac6e01
right: 3a6c8d

floor 3:

left/right: 902f50

lab building: white color

floor 2/3 old bridge to the lab: 798b51
floor 3 - little hallway to the old bridge: c16532
floor 2 (right) - little hallway to the old bridge: ce9102

stairs gray: 676566

Original (with padding cropped out) SVG images can be found here.
Colored version are here.

Ready for review and merge in #38

Future note: for converting PDF to SVG and for editing that SVG file I used Inkscape - a great free and open-source vector graphics editor.

This issue was accidentally marked as Done without closing it. I'm closing it now.


Add a flag to include stop string in output text

Fixes https://github.com/vllm-project/vllm/issues/1973
tested by running server locally

this looks good! what's the variable name in TGI? How about placing it near the stop parameters and name it like include_stop_in_output or others you would like.

this looks good! what's the variable name in TGI? How about placing it near the stop parameters and name it like include_stop_in_output or others you would like.

thanks for the review. TGI does not have this variable. it's default behavior is to include stop string in output.

@WoosukKwon @zhuohan123 would you take a look?


Rewrite and integrate ui module with iced

After 0.3.0 was released, different folks suggested me to build a standalone crate for the brand new ui module. I thought it was a really good idea. If folks use it, it would allow for cooperation between different game engines and UI applications to build better GUIs using Rust!
And so, Iced is here! A 2D renderer-agnostic GUI library focused on simplicity and type-safety. There is a long road ahead, but it is already usable!
This PR rewrites the ui module to integrate it with the upcoming first release of Iced ~while avoiding breaking changes. No examples were broken during this process!~
Depends on #62.
Changed

The Window::width and Window::height methods now return a u16. This avoids many awkward conversions in user code.

Pending work

[ ] Wait until the new ProgressBar and Image widgets are merged into Iced
[ ] Rewrite documentation
[ ] Wait for winit to implement RedrawRequested improvements: https://github.com/rust-windowing/winit/issues/1082

Hey @hecrj, Coffee and Iced are two awesome projects, kudos to you.
Is there any chance of saving/reviving this PR, to get Iced integrated into Coffee?
I started playing around with ggez as an experiment to build game mods using Wasm. I'm at a point where I want to mods to be able to build/draw widgets, but would like to use an existing Widget library for this.
Iced looks like the best candidate, and since I'm only using a small subset of ggez, a natural transition would be to use Coffee as well. I found this PR which made me realize that Iced isn't integrated with Coffee yet.
It does look like the ui module (unsurprisingly) shares many similarities with Iced, but it has (understandably) stalled quite a bit compared to Iced' development, so I'm wondering how much they have diverged, and how much more difficult the migration has become because of that (the changes in this PR seemed relatively straight-forward).
Coffee by itself looks like a nice, modern, simple engine for me to use, so I'm going to probably use it instead of ggez regardless, but having Iced integrated would definitely be... icing on the cake.

I totally agree, this rewrite of ui would be awsome !


update the last section and some changes in the structure

Hi,
I tried to finish the writing, and please kindly check.
If it is OK with you, please let me know if there is any session or meeting like, reviewing session or feedback session.
Or, if I need to clean up something, please let me know.
I will keep fixing the small things if it is necessary, but I think this is the first final version of mine. :)
Thank you.

@jihwankimdata It looks good. What I will do is merge it and review it that way, it will be easier.
After review if we catch some typos or little "things" We will create a bug and assign it to you. (I will also let you know 😉 )

Thank you very much,  Frank. :)


Add publish workflow

This PR is based on #17 and adds another workflow for publishing the Java artifacts (based on https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-Apache-Maven).
To perform a release, the maintainers of this repository will have to trigger the release workflow from the Actions tab and set the release version from there (see the added file CONTRIBUTING.md). The workflow will build the jars and publish them to Sonatype, which requires credentials that need to be provided as repository secrets.
As reflected in the README.md, this will change the way users can reuse the load-balancing module: they will be able to add a regular library dependency on the artifact com.scylladb.alternator:load-balancing instead of manually building the jar and adding it to their project classpath.
After the PR is merged, I need someone to set up the secrets and to try the workflow (see the instructions here: https://central.sonatype.org/publish/publish-guide/).

this assumes having GH actions access to our creds (can you advice here @yaronkaikov @d-helios ? or shall we better take it to internal CI/CD as we do with java driver ?)

As I mentioned in my review of #17 I'm an absolute newbie in both github workflows on Maven, but I do have quite a number of years of security experience, and I'm not very happy about the process described here:
If the "publishing" process is manual (a human - e.g., me, will need to perform the publishing), why does it need to happen on github's site and github should be told the secret of some other site (I'll read that "sonatype" page you mention later, I never even heard of them - how are they related to Maven?) Why shouldn't we do the opposite - i.e., I go to Maven's site and press a button there to download the jars from somewhere else?
There is something basic I don't understand... If I remember correctly, Github already has a way to publish deliverables. Can't we publish Jars in this way? Do these Jars have to be in a specific place (sonatype.org) to be used? Can't they be hosted by github.com?

Hey @nyh, these are all good questions!

If the "publishing" process is manual (a human - e.g., me, will need to perform the publishing), why does it need to happen on github's site and github should be told the secret of some other site

It does not need to happen on GitHub, but GitHub has utilities to support the whole software lifecycle, including performing releases, so I thought it would be convenient. That being said, if you already have an internal CI/CD infrastructure for the java-driver, it is probably better to reuse it instead of using a GitHub Workflow. Reusing your existing infrastructure would be beneficial both security-wise and homogeneity-wise :)

I'll read that "sonatype" page you mention later, I never even heard of them - how are they related to Maven?

Sonatype hosts the Maven Central repository. You can learn more about the history here.

Why shouldn't we do the opposite - i.e., I go to Maven's site and press a button there to download the jars from somewhere else?

That’s also a possibility (see here) but I don’t think it would be beneficial. Maintainers would have to build the project and then upload the jars manually. Here, I propose to automate the release process by having a single workflow that both builds the artifacts and uploads them. From my experience, it is a good idea to publish from a CD infrastructure rather than requiring the maintainers to build the packages on their own machine because the maintainers may incorrectly build the packages (e.g. if they have local changes in the code repository). But again, we could get the benefits of an automated release workflow without using GitHub Actions by reusing your existing CD infrastructure (the one you use for the Java driver).

Github already has a way to publish deliverables. Can't we publish Jars in this way? Do these Jars have to be in a specific place (sonatype.org) to be used? Can't they be hosted by github.com?

This is true, we could publish to GitHub packages instead of the Central repository. I think the Central repository is a better choice because it works out of the box with many build tools (with no extra configuration) and it is the largest Java packages repository in the world.

I see in https://github.com/scylladb/scylla-pkg/issues/3792#issuecomment-2094748627 that our Java driver team is handling similar things for the CQL Java drivers that need to be published. I think @avelanarius and @roydahan are more familiar with the details and permissions/signature aspects of how we do this, and we could do something similar for the Alternator Java library as well.

The direction is ok, we have other repositories that uses Github Actions for CI/CD.
I'm not sure about the storing the credentials and how we're usually dealing with it.
@yaronkaikov / @avelanarius ?

In my experience, the usual way to do it is to create a repository-specific token that can be used instead of the actual Sonatype password. You can then store that token in the GitHub secrets.

Thanks @yaronkaikov, ping @julienrf

@avelanarius @Lorak-mmk @yaronkaikov what are the next steps here? I guess it's just about token generation now, isn't it?

Trying to gain access to https://docs.google.com/document/d/199P3h_p1Z8vNYvqHetl5mjIr7sAYqY_NDfJwejgbI-4/edit , asked @BorishuVS

@tarzanek Can you merge this now?

nope, we need @nyh , I lack access

Merged (ab)using my super powers. Let me know if you need more assistance here / revert.


unify usage of hex and rustc_hex dependencies

The dependency tree is already large, I detected that we use two different libraries (hex and rustc_hex) for encoding/decoding hexadecimal "strings".
I don't know the reason why both are used maybe somebody could clarify?!
AFAIK hex works for slices which rustc_hex doesn't.

We're using both because hex has an actually good API and rustc_hex is in use by other dependencies that we don't have control over.
Having seen the crap that is added to our code when switching to rustc_hex, I would prefer to stick to hex.


Features planned for version 2.0 [?]

Any comments will be gratefully appreciated.
Incompatible changes
Returned values won't be resolved anymore except ones in top-level [?]
v1.x (Current)
$values = Co::wait([
    $ch1,
    function () { return $ch2; },
    function () { yield; return $ch3; },
    function () { return yield $ch4; },
]);
$values_will_be = [
    'Content 1',
    'Content 2',
    'Content 3',
    'Content 4',
];

v2.x (Future)
$values = Co::wait([
    $ch1,
    function () { return $ch2; },
    function () { yield; return $ch3; },
    function () { return yield $ch4; },
]);
$values_will_be = [
    'Content 1',
    'Content 2', // or raw $ch2? Should we count non-generator functions as one level?
    $ch3,
    'Content 4',
];

I explicitly want the result to be like:
$values_will_be = [
    'Content 1',
    'Content 2',
    $ch3,
    'Content 4',
];

The behavior can be simply explained as each callable is called and resolved if it is yielded.

I like this result
$values_will_be = [
    'Content 1',
    'Content 2',
    'Content 3',
    'Content 4',
];

because, I think to use simply same result.

As of version 1.2, this issue has been done with changing conversion rules on resolving.
We can detect Generator Closure (Closure that contains yield keywords) via reflections.
Old

Before
After

cURL resource
curl_multi_getconent() result or CURLException

ArrayTraversable(excluding Generator)
Array (with resolved children) or RuntimeException

Closure
Return value or RuntimeException

Generator
Return value (after all yields done) or RuntimeException

New

Before
After

cURL resource
curl_multi_getconent() result or CURLException

Array
Array (with resolved children)

Generator ClosureGenerator
Return value (after all yields done) or RuntimeException


Crashing client when breaking down a tree with TCon tools

When knocking down a tree with Tinker's Construct tools it crashes the client with this error - http://pastebin.com/svcvTw3c
I haven't looked at your source due to time, but does your mod trigger on every single block "break" event or just blocks from your mod? I was just curious why your mod is checking trees/wood blocks.

There is no way to subscribe to just blockbreaks on a specific mod.  This has also already been fixed. fb7410276e7a71a55dd6e39b6910db7e41b49b47


Added receiver multidb unit tests for basic cases.

Unfortunately, all passes. ):
Signed-off-by: Bartlomiej Plotka<EMAIL_ADDRESS>

This looks good to start out with! :+1:


Logchecker says checksum invalid, but it's fine according to EAC online check

This is using logchecker 0.9.6.
ID on site is 615177

That ID on OPS points to a log file for Terry Riley's In C Mali that checks out 100% with valid checksum.

http://www.exactaudiocopy.de/log/check.aspx
Hmm, it seems there was a dependency issue when upgrading debian, I reinstalled the dependencies and now it shows checksum_ok.


bullet: 3.22b -> 3.23

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/bulletphysics/bullet3/releases.
meta.description for bullet is: "A professional free 3D Game Multiphysics Library"
meta.homepage for bullet is: "http://bulletphysics.org"
meta.changelog for bullet is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.23 with grep in /nix/store/42qb5q3bcpwp78qpkwgy4sg4qg1kbiia-bullet-3.23
found 3.23 in filename of file in /nix/store/42qb5q3bcpwp78qpkwgy4sg4qg1kbiia-bullet-3.23

Rebuild report (if merged into master) (click to expand)

20 total rebuild path(s)

17 package rebuild(s)

17 x86_64-linux rebuild(s)
3 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
bullet
enlightenment.econnman
enlightenment.ecrire
enlightenment.efl
enlightenment.enlightenment
enlightenment.ephoto
enlightenment.evisum
enlightenment.rage
enlightenment.terminology
openmw
openmw-tes3mp
openrw
portmod
python310Packages.pythonefl
python39Packages.pythonefl
stuntrally
vdrift-bin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/42qb5q3bcpwp78qpkwgy4sg4qg1kbiia-bullet-3.23 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bullet https://github.com/r-ryantm/nixpkgs/archive/be5ebdd7a3fc791fd022675a302e15b02b22fce3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/42qb5q3bcpwp78qpkwgy4sg4qg1kbiia-bullet-3.23
ls -la /nix/store/42qb5q3bcpwp78qpkwgy4sg4qg1kbiia-bullet-3.23/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

openmw
portmod

2 packages failed to build:

openmw-tes3mp
stuntrally

14 packages built:

bullet
enlightenment.econnman
enlightenment.ecrire
enlightenment.efl
enlightenment.enlightenment
enlightenment.ephoto
enlightenment.evisum
enlightenment.rage
enlightenment.terminology
openrw
python310Packages.pythonefl
python39Packages.pythonefl
vdrift
vdrift-bin

Maintainer pings
cc @aforemny for testing.

@GrahamcOfBorg build openmw


feat(dynamicWidgets): prevent calling of "render" when widgets are not yet added

Summary

https://codesandbox.io/s/instantsearch-js-forked-mk75n?file=/src/app.js
Result

This would also solve infinite hits rendering with wrong results and messing up the cache


Suggestion

This my Result : transaction so slow but i think no problem ,swap add LP remove everything works fine just a suggestion you can add dark light mode then add all social media and web about your project information 0x70270cFf18C35C9BC99d2C77aAFE914931810E08

@yourbusy Thank you for your suggestions, we've taken your request and noted it within our potential enhancement document list!


Add CI for memStress to build aarch64 binary automatically

The master build failed, because the selected rpm doesn't support aarch64.

Fixed in #211


Several changes to improve the compactness of sidebar

This update includes several changes to improve the compactness of the left sidebar UI. CSS styling updated for small margins and font size, structure updated to use collapsing accordion fields, elements modified to use horizontal rather than vertical alignment (in order to reduce the scrolling required), and scroll margins were adjusted. Still need to create a new collapse panel to contain the form elements currently shown at the top, such as name search, version search etc. This updated also includes some minor tweaks and improvements to the tool tips displayed for node status (so that they are more consistent).
Fixes # (issue)
Type of change

U.I. update

[ x] Local Pre-commit Checks

[x ] CI/CD Build

Checklist

[ x] My code follows the style guidelines of this project
[x ] I have performed a self-review of my own code
[ x] My changes generate no new warnings
[ x] If applicable - I have commented my code, particularly in hard-to-understand areas
[x ] If applicable - I have made corresponding changes to the documentation
[ x] If applicable - I have added tests that prove my fix is effective or that my feature worksx

All tests are passing, however one of the checks is failing due to the current version of django being out of date. I will work to get the latest django setup, however we can merge this branch for now as migrating to the next major version of Django is looking like it's not as straight forward as I'd have liked.