issue : bad sectors with the "convert" action

Hello,
Same bug as #206  but with the host tool 1.1
convert report 1 bad sector :

HxC export fine :

data used : link

The cause is different. This time there is some spot of mould or similar around cyl 24 side 1 which is making the bitcells noisy.
Still it should be possible for Greaseweazle to do better. The PLL is being too skittish and getting thrown off by the noise.

it's a dump made some time ago.
The read function is also impacted by this ?

Read to raw flux is not affected (SCP and Kryoflux stream formats). The PLL is used when converting flux to bitcells.

The skittish aggressive PLL parameters stem from an aggressive variable-rate Amiga protection track (Speedlock). Nothing else seems to need such aggressive settings, and Greaseweazle isn't handling copy protections anyway. I've just toned the PLL parameters down by a factor of about three!
Please can you try the test build linked below (you need to be logged into github for the link to work):
https://github.com/keirf/greaseweazle/suites/7592909339/artifacts/314530353
For reference, you would now get the old PLL behaviour by specifying --pll-period-adj=5 --pll-phase-adj=60 on the convert, read, or write command lines.

Thanks for your quick actions !
The test version work fine with the 5 floppies tested. The convert are done correctly.
Question : if i use gw with the command line : gw read --raw --format ibm.1440 track.00.0.raw
The format parameter is used only for verifiyng the dump. Withe this bug, it can report an error while the reading is correct ?

Yes that's the idea. Your raw flux will be saved but it will be checked against the specified format and you can consider any missing sectors as a warning that your dump may not be good. But for example you would be able to gw convert your saved flux with different pll parameters.

ok thanks for the informations

On further thought I realised that actually the aggressive PLL is quite good at quickly locking on to unexpected and varying bit times. The conservative PLL sure is a good fallback for noisy regular tracks though. So I've implemented both, and both will be tried (if necessary) during reads and conversions.
https://github.com/keirf/greaseweazle/suites/7593906375/artifacts/314598708

Testing this build looks good

Fixed in latest release.


[Chore] Fork update

This PR contains all new upstream changes from the source repository.
Do NOT squash this merge.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 9 committers have signed the CLA.:white_check_mark: johnxnguyen:x: dnkoutso:x: ydnar:x: tbkka:x: glbrntt:x: thomasvl:x: ziwei2041:x: FlamingHairball:x: LukasaYou have signed the CLA already but the status is still pending? Let us recheck it.

Closing due to fork syncing via merging upstream/master

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 9 committers have signed the CLA.:white_check_mark: johnxnguyen:x: dnkoutso:x: glbrntt:x: tbkka:x: thomasvl:x: ydnar:x: ziwei2041:x: Lukasa:x: FlamingHairballYou have signed the CLA already but the status is still pending? Let us recheck it.


[MM-25355] Throttle notifications for Windows by channel id

Summary
On Windows, when receiving multiple notifications sequentially, the application would show them in order but there would be a delay between each notification and if there was a large number of notifications, the application would spam the user.
This PR stops the spam of notifications by only storing the last notification from each channel id in the Notifications Center and auto-dismissing all previous notifications.
Issue link
https://mattermost.atlassian.net/browse/MM-25355

Notes:

@esethna Added you as reviewer to confirm that this change fixes the issue in your eyes.
Includes a similar change to https://github.com/mattermost/desktop/pull/1484, which I'll merge into this branch once that PR is merged.

@devinbinnie looks like build failed

@devinbinnie looks like build failed

Build always fails right now, I think there's an issue with the CI. Just wanted your take on the approach as described above.
There will be a build you can test out if this gets merged.

This PR stops the spam of notifications by only storing the last notification from each channel id in the Notifications Center and auto-dismissing all previous notifications.

@devinbinnie This only applies to Windows correct? I think this approach is fine but will need thorough testing cc// @jgilliam17

This PR stops the spam of notifications by only storing the last notification from each channel id in the Notifications Center and auto-dismissing all previous notifications.

@devinbinnie This only applies to Windows correct? I think this approach is fine but will need thorough testing cc// @jgilliam17

Correct, and agreed on the testing.

@devinbinnie Please give me a ping here or in a DM to let me know which desktop daily build this is going to be on. Thanks.

@jgilliam17 this should be in the daily build already


Change default risk lists, updated defaults and update documentation.

Required items, please complete
Change(s):

Change default risk lists, updated defaults and update documentation.

Reason for Change(s):

Customer feedback

Version Updated:

no

Testing Completed:

yes

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Hello @RecordedFutureOskbo, Thanks for raising this PR. We will investigate this PR and get back to you by 26 March, 2024.


Make dispatch a pure function

I'm working on some future work that requires the dispatch method to be pure. This commit extracts the dispatch function into a separate module.

:+1:

:+1:

Thanks, gents


Autonomous command doesn't run in driver station

Autonomous command only runs when there is a switch from teleoperated to autonomous like in the practice mode of the driver station.

 Figure out why autonomous on driver station doesn't work


Added medication statement question

Proposed Changes

Added medication statement question

Screenshot:

@ohcnetwork/care-fe-code-reviewers

Lets keep it simple?

Keep doasage as text
Make soruce a dropdown. Default to patient
Should we rename effective period to Started and Ended? Something simpler for users?

@khavinshankar ping me once you push the changes

Updated UI:


Feature request: support milliseconds for multicast_class_c_margin

Hello all, I would like to know if it's possible to support milliseconds interval for the multicast class C margin here chirpstack/src/config.rs#L205
I tried to set the multicast_class_c_margin to 500 milliseconds as follows in the snippet, but does not seem to work, if it's not possible with this approach, can you suggest an idea of how to update to multicast queue to send faster than 1 second to the device?
I'm trying to achieve a fuota firmware upgrade but faster than 1 fragment per second seems not to be possible so far.
    fn default() -> Self {
        Scheduler {
            interval: Duration::from_secs(1),
            batch_size: 100,
            class_a_lock_duration: Duration::from_secs(5),
            class_c_lock_duration: Duration::from_secs(5),
            multicast_class_c_margin: Duration::from_millis(500),
            multicast_class_b_margin: Duration::from_secs(5),
        }
    }
}

figured out after finding this comment in configfile.rs now it works by modifying chirpstack.toml using for example multicast_class_c_margin="700ms" in case someone need it in the future
# Scheduler settings.
[network.scheduler]

  # Scheduler interval.
  #
  # The interval in which the downlink scheduler for multicast, Class-B and
  # Class-C runs.
  interval="250ms"

  # Class-A lock duration.
  #
  # This defines the lock duration between receiving a Class-A uplink and
  # the next scheduler-run for a device. The purpose of this lock is to
  # avoid collisions between Class-A and Class-B/C downlinks.
  #class_a_lock_duration="{{ network.scheduler.class_a_lock_duration }}"

  # Class-C lock duration.
  #
  # This defines the lock duration between scheduling two Class-C downlink
  # payloads for the same device. The purpose of this lock is to avoid
  # overlap between scheduling Class-C downlinks and / or spreading the
  # downlink capacity load on the gateway.
  #class_c_lock_duration="{{ network.scheduler.class_c_lock_duration }}"

  # Multicast Class-C margin.
  #
  # This defines the minimum margin between scheduling multiple multicast downlinks
  # (within the same multicast-group). This value must be equal or greater than the
  # scheduler interval.
  multicast_class_c_margin="700ms"

  # Multicast Class-B margin.
  #
  # This defines the minimum margin between scheduling multiple multicast downlinks
  # (within the same multicast-group). This value must be equal or greater than the
  # scheduler interval.
  #multicast_class_b_margin="{{ network.scheduler.multicast_class_b_margin }}"


gRPC Stream - Stream Device Event Hanging

Hi,
I am using an almost direct clone of this repo to test some LoRa nodes. The only configuration I have made is to use au915_0 in the gateway-bridge configuration.
Most is working fine, I have a gateway and 2 devices configured (1 ABP, 1 OTAA). Except, the sockets on the events and LoRaWAN Frames tabs are continually buffering. These buffer indefinitely unless the connection to the server is lost, when that connection is lost the events appear as expected. When connection is regained the socket returns to buffering indefinitely.
When inspecting the logs and databases it appears that all the data is there and that it is only the socket that is failing.
I am using nginx as a reverse proxy, however the same issue is produced when not used with the proxy
UI does not change from this state in normal operation

UI after connection loss and reconnect

Inspect Console (~3 mins between start and error)

Stack Trace
2023-01-10T05:22:13.354544Z TRACE chirpstack::downlink::scheduler: class_b_c_scheduler_loop completed successfully
2023-01-10T05:22:14.036390Z DEBUG http{method="GET" uri=/ version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:14.036418Z  INFO http{method="GET" uri=/ version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=38.95µs
2023-01-10T05:22:14.045064Z TRACE chirpstack::api::internal: DropReceiver drop method called
2023-01-10T05:22:14.045081Z DEBUG chirpstack::api::internal: Client disconnected
2023-01-10T05:22:14.057941Z DEBUG http{method="GET" uri=/static/js/main.c173e3dd.js version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:14.057965Z  INFO http{method="GET" uri=/static/js/main.c173e3dd.js version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=32.348µs
2023-01-10T05:22:14.332342Z TRACE chirpstack::downlink::scheduler: Starting multicast-group queue scheduler loop run
2023-01-10T05:22:14.332354Z TRACE chirpstack::downlink::scheduler: Getting schedulable multicast-group queue items
2023-01-10T05:22:14.333336Z TRACE chirpstack::downlink::scheduler: Got this number of multicast-group queue items count=0
2023-01-10T05:22:14.333347Z TRACE chirpstack::downlink::scheduler: Multicast-group queue scheduler run completed successfully
2023-01-10T05:22:14.355539Z TRACE chirpstack::downlink::scheduler: Starting class_b_c_scheduler_loop run
2023-01-10T05:22:14.355548Z TRACE chirpstack::downlink::scheduler: Getting devices that have schedulable queue-items
2023-01-10T05:22:14.356632Z TRACE chirpstack::downlink::scheduler: Got this number of devices with schedulable queue-items device_count=0
2023-01-10T05:22:14.356642Z TRACE chirpstack::downlink::scheduler: class_b_c_scheduler_loop completed successfully
2023-01-10T05:22:14.827903Z DEBUG http{method="GET" uri=/static/css/main.d189f327.css version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:14.827932Z  INFO http{method="GET" uri=/static/css/main.d189f327.css version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=39.365µs
2023-01-10T05:22:15.015556Z DEBUG chirpstack::eventlog: Channel has been closed, returning
2023-01-10T05:22:15.031874Z DEBUG http{method="GET" uri=/static/js/main.c173e3dd.js.map version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:15.031902Z  INFO http{method="GET" uri=/static/js/main.c173e3dd.js.map version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=36.85µs
2023-01-10T05:22:15.072129Z DEBUG gRPC{uri=/api.InternalService/Profile}: chirpstack::api: Started processing request
2023-01-10T05:22:15.073232Z  INFO gRPC{uri=/api.InternalService/Profile}: chirpstack::api: Finished processing request status="200" latency=1.110249ms
2023-01-10T05:22:15.170309Z DEBUG http{method="GET" uri=/static/css/main.d189f327.css.map version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:15.170335Z  INFO http{method="GET" uri=/static/css/main.d189f327.css.map version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=38.082µs
2023-01-10T05:22:15.203923Z DEBUG gRPC{uri=/api.InternalService/Settings}: chirpstack::api: Started processing request
2023-01-10T05:22:15.203978Z  INFO gRPC{uri=/api.InternalService/Settings}: chirpstack::api: Finished processing request status="200" latency=62.116µs
2023-01-10T05:22:15.222153Z DEBUG gRPC{uri=/api.TenantService/Get}: chirpstack::api: Started processing request
2023-01-10T05:22:15.223206Z  INFO gRPC{uri=/api.TenantService/Get}: chirpstack::api: Finished processing request status="200" latency=1.057478ms
2023-01-10T05:22:15.243003Z DEBUG gRPC{uri=/api.TenantService/Get}: chirpstack::api: Started processing request
2023-01-10T05:22:15.244127Z  INFO gRPC{uri=/api.TenantService/Get}: chirpstack::api: Finished processing request status="200" latency=1.129669ms
2023-01-10T05:22:15.266493Z DEBUG http{method="GET" uri=/icon.png version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:15.266520Z  INFO http{method="GET" uri=/icon.png version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=36.067µs
2023-01-10T05:22:15.301306Z DEBUG gRPC{uri=/api.ApplicationService/Get}: chirpstack::api: Started processing request
2023-01-10T05:22:15.303169Z  INFO gRPC{uri=/api.ApplicationService/Get}: chirpstack::api: Finished processing request status="200" latency=1.869528ms
2023-01-10T05:22:15.321412Z DEBUG http{method="GET" uri=/logo.png version=HTTP/1.0}: chirpstack::api: Started processing request
2023-01-10T05:22:15.321439Z  INFO http{method="GET" uri=/logo.png version=HTTP/1.0}: chirpstack::api: Finished processing request status="200" latency=36.468µs
2023-01-10T05:22:15.336175Z TRACE chirpstack::downlink::scheduler: Starting multicast-group queue scheduler loop run
2023-01-10T05:22:15.336183Z TRACE chirpstack::downlink::scheduler: Getting schedulable multicast-group queue items
2023-01-10T05:22:15.336212Z DEBUG gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Started processing request
2023-01-10T05:22:15.337139Z TRACE chirpstack::downlink::scheduler: Got this number of multicast-group queue items count=0
2023-01-10T05:22:15.337150Z TRACE chirpstack::downlink::scheduler: Multicast-group queue scheduler run completed successfully
2023-01-10T05:22:15.339681Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=3.471485ms
2023-01-10T05:22:15.357016Z TRACE chirpstack::downlink::scheduler: Starting class_b_c_scheduler_loop run
2023-01-10T05:22:15.357025Z TRACE chirpstack::downlink::scheduler: Getting devices that have schedulable queue-items
2023-01-10T05:22:15.358173Z TRACE chirpstack::downlink::scheduler: Got this number of devices with schedulable queue-items device_count=0
2023-01-10T05:22:15.358183Z TRACE chirpstack::downlink::scheduler: class_b_c_scheduler_loop completed successfully
2023-01-10T05:22:15.372525Z DEBUG gRPC{uri=/api.DeviceProfileService/Get}: chirpstack::api: Started processing request
2023-01-10T05:22:15.375163Z  INFO gRPC{uri=/api.DeviceProfileService/Get}: chirpstack::api: Finished processing request status="200" latency=2.642662ms
2023-01-10T05:22:15.432077Z DEBUG gRPC{uri=/api.InternalService/StreamDeviceEvents}: chirpstack::api: Started processing request
2023-01-10T05:22:15.433064Z  INFO gRPC{uri=/api.InternalService/StreamDeviceEvents}: chirpstack::api: Finished processing request status="200" latency=992.707µs
2023-01-10T05:22:15.433395Z TRACE chirpstack::eventlog: Event-log received from stream key=up id=1673318457975-0
2023-01-10T05:22:15.433476Z TRACE chirpstack::api::internal: Message received from Redis Stream channel
2023-01-10T05:22:16.338168Z TRACE chirpstack::downlink::scheduler: Starting multicast-group queue scheduler loop run

chirpstack-gateway-brigde.toml
[integration.mqtt.auth.generic]
servers=["tcp://mosquitto:1883"]
username=""
password=""

[integration.mqtt]
event_topic_template="au915_0/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
state_topic_template="au915_0/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
command_topic_template="au915_0/gateway/{{ .GatewayID }}/command/#"

chirpstack.toml
[logging]

  level="info"

[postgresql]

  dsn="postgres://chirpstack:chirpstack@$POSTGRESQL_HOST/chirpstack?sslmode=disable"

  max_open_connections=10

  min_idle_connections=0

[redis]

  servers=[
    "redis://$REDIS_HOST/",
  ]

  tls_enabled=false

  cluster=false

[network]

  net_id="000000"

  # regions commented out to make help debugging
  enabled_regions=[
    # "as923",
    # "as923_2",
    # "as923_3",
    # "as923_4",
    "au915_0",
    # "cn470_10",
    # "cn779",
    # "eu433",
    # "eu868",
    # "in865",
    # "ism2400",
    # "kr920",
    # "ru864",
    # "us915_0",
    # "us915_1",
  ]

# API interface configuration.
[api]

  bind="<IP_ADDRESS>:8080"

  secret="REDACTED"

[integration]
  enabled=["mqtt"]

  [integration.mqtt]
    server="tcp://mosquitto:1883/"
    json=true

Turns out it was a proxy issue, nginx needs to pass gRPC to /api.
I am still unsure why this issue persists when bypassing the proxy but, there shouldn't be a case where I am using this without the proxy.
location ^~ /api {
	grpc_pass grpc://chirpstack:8080;
}

see https://github.com/chirpstack/chirpstack/issues/75

Hi @JTuckerBCAE, just want to ask where did you put the nginx.conf ? is it under new folder called .nginx ? I am not really familiar with NGINX setup on docker. and how did you include the nginx conf under docker-compose ? is it automatic ?


doc: update broken link

Updating broken to the OEP2

Thanks for the pull request, @ghassanmas! I've created OSPR-6055 to keep track of it in JIRA, where we prioritize reviews. Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@ghassanmas Thank you for your contribution, please let me know once it is ready for our review.

@ghassanmas 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Importing interfaces from @uirouter/angularjs do not match type definitions and are broken (1.0.6)

This issue tracker is for Bug Reports and Feature Requests only.
Please direct requests for help to StackOverflow.  See http://bit.ly/UIR-SOF for details.
This is a:

[X] Bug Report
[ ] Feature Request
[ ] General Query

My version of UI-Router is: 1.0.6 (1.0.5 works correctly)
Bug Report
Current Behavior:
import {StateService} from '@uirouter/angularjs'; returns an undefined object.
Expected Behavior:
import {StateService} from '@uirouter/angularjs'; returns the StateService
I believe this a bug with how the release/ui-router-angular.js is generated and the issue is exposed by this particular commit.
With 1.0.5, the package.json main path pointed to lib/index.js.  Within that (compiled) file, there is a re-export of all @uirouter/core objects.
/**
 * Main entry point for angular 1.x build
 * @module ng1
 */ /** */
function __export(m) {
    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./services"));
__export(require("./statebuilders/views"));
__export(require("./stateProvider"));
__export(require("./urlRouterProvider"));
require("./injectables");
require("./directives/stateDirectives");
require("./stateFilters");
require("./directives/viewDirective");
require("./viewScroll");
exports.default = "ui.router";
var core = require("@uirouter/core");
exports.core = core;
__export(require("@uirouter/core"));
//# sourceMappingURL=index.js.map

The important line here being:
__export(require("@uirouter/core"));

Now with 1.0.6, the package.json main path points to release/ui-router-angularjs.js.  This file contains no such line that would have a similar re-export.
/**
 * Main entry point for angular 1.x build
 * @module ng1
 */ /** */
var index = "ui.router";

exports['default'] = index;
exports.core = _uirouter_core;
exports.watchDigests = watchDigests;
exports.getLocals = getLocals;
exports.getNg1ViewConfigFactory = getNg1ViewConfigFactory;
exports.ng1ViewsBuilder = ng1ViewsBuilder;
exports.Ng1ViewConfig = Ng1ViewConfig;
exports.StateProvider = StateProvider;
exports.UrlRouterProvider = UrlRouterProvider;

Object.defineProperty(exports, '__esModule', { value: true });

})));

Link to Plunker that reproduces the issue:
http://bit.ly/UIR-Plunk

UPDATE 2018/02/05
I have updated my project with expectation that this might have been resolved.
Test 1
UIRouter 1.0.14
Typescript 2.6.2
Test 2
UIRouter 1.0.14
Typescript 2.7.1


No CarlaUE4.sh file

CARLA version: CARLA Server Version: 0.9.15-191-g12f09009a-dirty / CARLA Client Version: 0.9.15
Platform/OS: Ubuntu 20.04
I build carla using https://carla.readthedocs.io/en/latest/build_linux/
When I launch it using make launch command it works.
After I finished build and re-open carla there is no CarlaUE4.sh.
So I can't open carla server using ./CarlaUE4.sh
Am I always open carla server using "make launch" command?
There is no CarlaUE4.sh file in github I clone in https://carla.readthedocs.io/en/latest/build_linux/???

CarlaUE4.sh is generated in a package, if you want to use sh you will need to create a package using make package which will be stored in Dist folder, or download one from our releases

t

CARLA version: CARLA Server Version: 0.9.15-191-g12f09009a-dirty / CARLA Client Version: 0.9.15 Platform/OS: Ubuntu 20.04
I build carla using https://carla.readthedocs.io/en/latest/build_linux/ When I launch it using make launch command it works. After I finished build and re-open carla there is no CarlaUE4.sh. So I can't open carla server using ./CarlaUE4.sh
Am I always open carla server using "make launch" command? There is no CarlaUE4.sh file in github I clone in https://carla.readthedocs.io/en/latest/build_linux/???

Then can I

CarlaUE4.sh is generated in a package, if you want to use sh you will need to create a package using make package which will be stored in Dist folder, or download one from our releases

Then can I merge those two folder???

They are not intended to be merged. Depending on the use you want to make of Carla, you may choose either using a package or building from source.
If you just want to run Carla with the current features and assets, making use of the Python API, just download a package, which does not requires the Unreal editor and it is much simpler to get started.
Instead, if you plan to add new features modifying the source code, you should build from source with the Unreal editor. From that, you can also generate a package.


Support for bi-directional references (@JsonManagedReference)

Bi-directional references cause a recursive loop in the code generator. I'm testing with an input object that has a List of items, and each item has a reference to the containing object. Using @JsonManagedReference and @JsonBackReference handles this case with Jackson, but RestyGWT doesn't check for those annotations and gets stuck in a loop.

please give a trial on https://resty-gwt.github.io/documentation/restygwt-user-guide.html#using-gwt-jackson-for-json-serialization-and-deserialization
and report back, whether or not it fixes this issue. so we can see where to fix it on restygwt or gwt-jackson.


docs(config/node): add boolean to the type

Follow up for https://github.com/webpack/webpack.js.org/pull/1317.
describe your changes...

[x] Read and sign the CLA. PRs that haven't signed it won't be accepted.
[x] Make sure your PR complies with the writer's guide.
[x] Review the diff carefully as sometimes this can reveal issues.
Remove these instructions from your PR as they are for your eyes only.

Thanks


feat: expose PyWindowFrame

Which issue does this PR close?

Partial progress on #191 : Expressions: Window function
What changes are included in this PR?

This PR

adds PyWindowFrame
modifies functions.window to accept an optional PyWindowFrame and optional PySessionContext

PySessionContext is necessary to look up aggregates registered via PySessionContext.register_udaf

modifies function.window to fall back to SessionContext.udaf when find_df_window_func fails
modifies Accumulator impl for RustAccumulator to expose retract_batch and supports_retract_batch

Are there any user-facing changes?

PyWindowFrame needs to be documented as do changes to functions.window

note: I have working code that enables window functions for ibis that I still need to create a PR for

Build is failing due to new clippy rule in latest Rust. I have a fix in https://github.com/apache/arrow-datafusion-python/pull/511

@dlovell Could you upmerge to pick up the clippy fix?

@andygrove i hadn't heard the term upmerge before, but i presume that means merge main into pywindowframe. let me know if i should do something else.

@andygrove i hadn't heard the term upmerge before, but i presume that means merge main into pywindowframe. let me know if i should do something else.

Yes, exactly.


QT event loop integration

Hi all
for an ongoing project I am using ZMQ pubsub and need to generate QT signals once a frame is received by a SUB socket. The basic idea is fairly straightforward and basic implementations can be found (i.e. https://gist.github.com/ivanalejandro0/dba1dd504edbc2c32e83): get the edge triggered filedescriptor and couple with a QSocketNotifier. This turns out in a ~100 lines implementation which I think it could be useful to many. Are you interested in integrating it into pyzmq? I would open a base pull request with the code that serves my purpose but I am of course interested in expanding and fixing it.

That sounds super useful! I would recommend making a standalone package, though. pyzmq is released somewhat infrequently and is a harder, compiled dependency since it pulls libzmq into wheels, etc. That means getting bugfixes for your piece of pyzmq is harder than if it's a standalone pure-Python package. I've been thinking of moving in this direction for the eventloop integration in zmq.green and tornado, since those are also pure Python, and it's a bit of a pain to have them in the same package as the base bindings.

I would prefer not to have the usual one-man-toy-project package, which would likely lead to fragmentation and scarce user base. However the idea of factoring out eventloop stuff sounds good to me. If I can be of some help let me know.

Closing here, since this isn't going to happen in pyzmq, but can definitely be done in a standalone package.


Something Went Wrong error in RLOS- ArcMap 10.5, should be warning about different coordinate systems

I added a basemap, then the military tools sample dem to the map and tried to conduct RLOS. I added multiple observer points and clicked OK when...
Something Went Wrong:

What that something is are two different coordinate systems, that of the basemap and that of the elevation layer. This error message should be changed to reflect that. And the progress bar is still moving, which seems wrong.

https://github.com/Esri/visibility-addin-dotnet/issues/61
So I'm realizing that this issue is due to the fact that the elevation spatial reference didn't match the basemap I was using. However, we need a warning for different data frames. This was apparently fixed last may, but it has been broken since then.

I think I have further issues that are similar to this.
Steps to replicate the dialog:

Start with a empty data frame
Add a non projected layer
Add a projected elevation layer

The expected result should be explaining to the user that the data frame is not projected properly.

The issue is that there are multiple dialog prompts happening for the same issue. @dhagens

Assigning to @Dbarnes1 to verify

verified. Thanks @dhagens


Adding back green logo, driven by settings

This PR adds the possibility have the logo in the menu in green, instead of only grayscale.
The choice between green and grayscale is driven by the settings.
Warning : I'm unfamiliar with jupyterlab extensions and TypeScript, this attempt might not respect some rules. Please fix accordingly or explain what to do.
Also : I couldn't make the logo show up on my local installation, despite the code looking legit and following the contributing docs. So please test before merging.

@pierrotsmnrd is this still needed? shall we move this forward or something else?


chore(notes): format release note md

Use ## headings.

Deploy preview for pf-next ready!
Built with commit 75557abb15b19a902fbeeeddb2dc8120412923d7
https://deploy-preview-1956--pf-next.netlify.com

:tada: This PR is included in version 2.13.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Sms Example did not work !!

I testet the SMS Example, but "Device" everytime "null".
Also on Windows Mobile 10 -
On device = SmsDevice2.GetDefault() - it will be crashed

I've asked the feature team to investigate.

Please use fieldmedic to submit the issue with logs as described here: https://docs.microsoft.com/en-us/windows-hardware/test/mobile-tracing/use-field-medic-to-generate-a-report

Thank you @sohirani - There is a old Problem with Microsoft.
Send issues - no reaction. For 2 years i send Microsoft a Issue with the Media Player. Now, no suolution. The issue exist again.
Okay, in next stepps i send the Report to Microsoft.

Let us know when you have the logs.


Modus Table - Support Columns Filtering - Keyboard Interaction

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I have read the Modus style guidelines

Proposal
Related to #1473
Motivation and context
No response
What is the issue regarding ?
@trimble-oss/modus-web-components
Priority
High
What product/project are you using Modus Components for ?
modus
What is your team/division name ?
modus
Are you willing to contribute ?
None
Are you using Modus Web Components in production ?
No response

@coliff  Can you please assign this to Sprint 77?

@rthanga1 This needs further refined to define the scope of the changes


The script is loading

Hi,

My chrome

My Chromedriver

What could be a problem?

Hey @rfalcon-cnmc , could you show me what happens in the graphical interface when you launch the program? Or is it stuck permanently on Loading....?
A visual GUI interface should appear for you and whatsapp-osint should be redirecting you to scan the QR code automatically

what-osin.webm
I leave you a complete recording of the execution

Hey @rfalcon-cnmc , so I have modified the code to add some debug logging when there is the permanently stuck loading error (now you will get a more detailed exception).
I think that the issue is that it's not detecting the following XPATH element in the web app: //div[@data-testid="wa-web-loading-screen"] which is the loading screen for whatsapp. For some reason it's loading extremely fast for you and you don't get a loading screen as usual.
Can you try again with the new error, and print this error here?
If we can't fix it like this, I will add the possibility to skip the loading step by pressing a key like F1.

@jasperan It is throwing me this error:
Loading...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
  (Session info: chrome=123.0.6312.86); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x60df8ff5c8a3 <unknown>
#1 0x60df8fc528c6 <unknown>
#2 0x60df8fc9d618 <unknown>
#3 0x60df8fc9d6d1 <unknown>
#4 0x60df8fce0744 <unknown>
#5 0x60df8fcbf5cd <unknown>
#6 0x60df8fcddc19 <unknown>
#7 0x60df8fcbf343 <unknown>
#8 0x60df8fc90593 <unknown>
#9 0x60df8fc90f5e <unknown>
#10 0x60df8ff2088b <unknown>
#11 0x60df8ff247e5 <unknown>
#12 0x60df8ff0e5b1 <unknown>
#13 0x60df8ff25372 <unknown>
#14 0x60df8fef38bf <unknown>
#15 0x60df8ff4b768 <unknown>
#16 0x60df8ff4b93b <unknown>
#17 0x60df8ff5b9f4 <unknown>
#18 0x78072a694ac3 <unknown>
Loading...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}

Hey can you try with the new code? You should skip the loading screen by pressing F1

The keyboard library requires root permissions on the user you're trying to execute, the script is not failing now but getting stuck on the new skip line feature with F1.
Can you try to run the program with administrative privileges?

First of all, thank you for your work. I'm very interested in this tool. Unfortunately, I'm having trouble using it. I've added the ‘keyboard’ library, which isn't in the requirements.txt. Then I ran the script command with and without privileges.
Here are the results:
Without privileges :
python3 whatsappbeacon.py --username "XXX" --language "fr"
In order to make this program to work, you will need to log-in once in WhatsApp. After that, your session will be saved until you revoke it.
Loading. Press F1 if stuck in this step...: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
  (Session info: chrome=126.0.6478.182); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x65202bb60c7a <unknown>
#1 0x65202b843e2c <unknown>
#2 0x65202b890661 <unknown>
#3 0x65202b890751 <unknown>
#4 0x65202b8d4f64 <unknown>
#5 0x65202b8b35ed <unknown>
#6 0x65202b8d2303 <unknown>
#7 0x65202b8b3363 <unknown>
#8 0x65202b883247 <unknown>
#9 0x65202b883b9e <unknown>
#10 0x65202bb2724b <unknown>
#11 0x65202bb2b2f1 <unknown>
#12 0x65202bb12afe <unknown>
#13 0x65202bb2be52 <unknown>
#14 0x65202baf779f <unknown>
#15 0x65202bb50638 <unknown>
#16 0x65202bb50810 <unknown>
#17 0x65202bb5fdac <unknown>
#18 0x7c98c70fdded <unknown>
#19 0x7c98c71810dc <unknown>
Traceback (most recent call last):
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 169, in whatsapp_load
    loading = driver.find_element(by=By.XPATH, value='//div[@data-testid="wa-web-loading-screen"]')
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 748, in find_element
    return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
    self.error_handler.check_response(response)
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@data-testid="wa-web-loading-screen"]"}
  (Session info: chrome=126.0.6478.182); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
Stacktrace:
#0 0x65202bb60c7a <unknown>
#1 0x65202b843e2c <unknown>
#2 0x65202b890661 <unknown>
#3 0x65202b890751 <unknown>
#4 0x65202b8d4f64 <unknown>
#5 0x65202b8b35ed <unknown>
#6 0x65202b8d2303 <unknown>
#7 0x65202b8b3363 <unknown>
#8 0x65202b883247 <unknown>
#9 0x65202b883b9e <unknown>
#10 0x65202bb2724b <unknown>
#11 0x65202bb2b2f1 <unknown>
#12 0x65202bb12afe <unknown>
#13 0x65202bb2be52 <unknown>
#14 0x65202baf779f <unknown>
#15 0x65202bb50638 <unknown>
#16 0x65202bb50810 <unknown>
#17 0x65202bb5fdac <unknown>
#18 0x7c98c70fdded <unknown>
#19 0x7c98c71810dc <unknown>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 250, in <module>
    main()
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 243, in main
    driver = whatsapp_login()
             ^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 205, in whatsapp_login
    whatsapp_load(driver=driver)
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 175, in whatsapp_load
    if keyboard.is_pressed('F1'):
       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/__init__.py", line 410, in is_pressed
    _listener.start_if_necessary()
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_generic.py", line 35, in start_if_necessary
    self.init()
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/__init__.py", line 196, in init
    _os_keyboard.init()
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_nixkeyboard.py", line 113, in init
    build_device()
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_nixkeyboard.py", line 109, in build_device
    ensure_root()
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/keyboard/_nixcommon.py", line 174, in ensure_root
    raise ImportError('You must be root to use this library on linux.')
ImportError: You must be root to use this library on linux.

With privileges :
sudo python3 whatsappbeacon.py --username "XXX" --language "fr"
In order to make this program to work, you will need to log-in once in WhatsApp. After that, your session will be saved until you revoke it.
Traceback (most recent call last):
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 250, in <module>
    main()
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 243, in main
    driver = whatsapp_login()
             ^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/whatsappbeacon.py", line 200, in whatsapp_login
    driver = webdriver.Chrome(options=options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
    super().__init__(
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
    super().__init__(command_executor=executor, options=options)
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 212, in __init__
    self.start_session(capabilities)
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 299, in start_session
    response = self.execute(Command.NEW_SESSION, caps)["value"]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
    self.error_handler.check_response(response)
  File "/home/osint/Documents/whatsapp-osint/env/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally.
  (session not created: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /root/.cache/selenium/chrome/linux64/126.0.6478.182/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
 Here are the versions of the programs requested:
Google Chrome 126.0.6478.126
ChromeDriver 126.0.6478.126 (d36ace6122e0a59570e258d82441395206d60e1c-refs/branch-heads/6478@{#1591})
Python 3.12.4

Hey @zubi33 , this is a known issue (the second one) which happens when you run chromedriver as root. The intended use is for you to run without privileges, and trying to fix the first issue.
On line 175, in whatsappbeacon.py, there is a if statement. You can try to delete that statement and the command inside it:
if keyboard.is_pressed('F1'):
.......
Delete these lines, and remove the keyboard import, I think it's the only time it's being used.
On Windows, it would work for you, but Linux and the keyboard module aren't good friends. :)

@zubi33 , keep the "break" statement but remove the if. It should look like:

			except Exception as e:
				print("Loading. Press F1 if stuck in this step...: {}".format(e), end=f"\r")
				break

@jasperan,  it would appear that even with the addition of break, the programme will not work. It cannot find the selected contact. Perhaps it's a language problem because i use french ?
XXX is not found. Returning...(Maybe your contact is in the archive. Check it)

Hmmm @zubi33 , French language should be supported. Have you put the name exactly as it is found (byte by byte) as the target? If you think it's a language issue you can also try with English by changing the language of your WhatsApp

@jasperan  Unfortunately, I couldn't get the script to work. I tried with a simple name ‘Florine’. I also tried changing the language to English, but I got the following result:
Florine is not found. Returning...(Maybe your contact is in the archive. Check it)

This is a weird issue, I am quite busy right now with work but I have put this in my watchlist to debug what's happening - I have tested myself and for me it's working - I'll be able to have a look in a couple of weeks

I have the same error, it says it can't find the contact

@jasperan Why using name instead of using phone numbers to identify targets, I don't get your choice here... Because for example I have some contacts that have 2 or 3 numbers under one name, so will how will it manage these cases? will your script bug on those targets?

@BurnsteinKarl because even if the phone number is unique and the name isn't, nobody has duplicate names for contacts in their contacts list (it's confusing)
Also, it's searching for HTML elements in the chat interface, if you have a person added as a contact, it won't display their phone number in their name. But, if you have someone in your recents without a contact saved, you can input the phone number as their "name" and it will still work

Thank you for your reply and clarification about your choice here, @jasperan . Your explanation about the uniqueness of the phone number and the name in the contacts list makes sense. Also, your point about searching for HTML elements in the chat interface is well taken. I appreciate your insights

No worries @BurnsteinKarl happy to 👍🏻


Feature Request: SwitchBot Bot HomeKit (button press - Homekit toggle on/off)

Problem
Currently have switchbot bot set in press mode for a tower fan (single button press) in app and in home bridge (OPEN API). In Homekit, when I say "Turn on Tower Fan" after like 30-45 seconds, the bot presses the fan power button, turns on the fan, and for about 10 seconds the "fan" aka switchbot bot in Homekit says that it's powered on, but after a few seconds, it shows that it's powered off again, which is really annoying because all I want to do is say "Turn on fan", "turn off fan" with Homekit and have it's true power status reflected.
Solution
I want my "Fan" to show when/if/invoked powered on, and then show as powered off, when activated/invoked by Siri through HomeKit.
Alternatives
No response
Additional context
No response

@dwest26 chnage the bot mode to switch mode instead of press mode for that specific bot, under device config.


[BUG] vmware_exporter running error

vmware_exporter running error
this is  error  log :
`2021-11-15 06:42:16,921 INFO:START: _vmware_get_vm_perf_manager_metrics
2021-11-15 06:42:16,921 INFO:Fetching vim.Datastore inventory
2021-11-15 06:42:16,921 INFO:Starting host metrics collection
2021-11-15 06:42:16,921 INFO:Fetching vim.HostSystem inventory
2021-11-15 06:42:16,922 INFO:START: _vmware_get_host_perf_manager_metrics
2021-11-15 06:42:17,109 INFO:Retrieved service instance content
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 701, in errback
self._startRunCallbacks(fail)
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 764, in _startRunCallbacks
self._runCallbacks()
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 859, in _runCallbacks
current.result, *args, **kwargs
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 1751, in gotResult
current_context.run(_inlineCallbacks, r, gen, status)
---  ---
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 1658, in _inlineCallbacks
cast(Failure, result).throwExceptionIntoGenerator, gen
File "/usr/local/lib/python3.7/site-packages/twisted/python/failure.py", line 500, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/usr/local/lib/python3.7/site-packages/vmware_exporter/vmware_exporter.py", line 1942, in _async_render_GET
request.finish()
File "/usr/local/lib/python3.7/site-packages/twisted/web/server.py", line 279, in finish
return http.Request.finish(self)
File "/usr/local/lib/python3.7/site-packages/twisted/web/http.py", line 1132, in finish
"Request.finish called on a request after its connection was lost; "
builtins.RuntimeError: Request.finish called on a request after its connection was lost; use Request.notifyFinish to keep track of this.
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 701, in errback
self._startRunCallbacks(fail)
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 764, in _startRunCallbacks
self._runCallbacks()
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 859, in _runCallbacks
current.result, *args, **kwargs
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 1751, in gotResult
current_context.run(_inlineCallbacks, r, gen, status)
---  ---
File "/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py", line 1658, in _inlineCallbacks
cast(Failure, result).throwExceptionIntoGenerator, gen
File "/usr/local/lib/python3.7/site-packages/twisted/python/failure.py", line 500, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/usr/local/lib/python3.7/site-packages/vmware_exporter/vmware_exporter.py", line 1942, in _async_render_GET
request.finish()
File "/usr/local/lib/python3.7/site-packages/twisted/web/server.py", line 279, in finish
return http.Request.finish(self)
File "/usr/local/lib/python3.7/site-packages/twisted/web/http.py", line 1132, in finish
"Request.finish called on a request after its connection was lost; "
builtins.RuntimeError: Request.finish called on a request after its connection was lost; use Request.notifyFinish to keep track of this.
2021-11-15 06:42:18,277 INFO:Fetched vim.VirtualMachine inventory (0:00:01.356919)
2021-11-15 06:42:18,296 INFO:Fetched vim.Datastore inventory (0:00:01.374444)
2021-11-15 06:42:19,899 INFO:Fetched vim.HostSystem inventory (0:00:02.977969)
2021-11-15 06:42:21,367 INFO:Finished vm metrics collection
2021-11-15 06:42:21,372 INFO:FIN: _vmware_get_vm_perf_manager_metrics
2021-11-15 06:42:21,423 INFO:Finished host metrics collection
2021-11-15 06:42:21,425 INFO:FIN: _vmware_get_host_perf_manager_metrics
2021-11-15 06:42:21,448 INFO:Finished collecting metrics from vc.ilanni.com
2021-11-15 06:42:46,920 INFO:Start collecting metrics from vc.ilanni.com
2021-11-15 06:42:46,920 INFO:Starting vm metrics collection
2021-11-15 06:42:46,921 INFO:Fetching vim.VirtualMachine inventory
2021-11-15 06:42:46,921 INFO:Retrieving service instance content
`

What is your timeout set too?

Sorry I guess I didnt set this in the read me :: https://github.com/pryorda/vmware_exporter/issues/213

@pryorda yes, this is prometheus.yml
  - job_name: 'vmware_exporter'     **scrape_interval: 1m     scrape_timeout: 1m**     static_configs:     - targets: ['<IP_ADDRESS>:9272']       labels:         instance: 'vmware_exporter'         env: 'shangtang'
prometheus.yml config scrape_interval:1m   is  ok

You might have to set it longer based on the sizing of the cluster and node.

@pryorda yes,tks


Problem upgrading to Python 3.13

I have two alternative versions of python installed as shown below. Both were built from source, but I doubt that's relevant.
update-alternatives --display python
python - auto mode
  link best version is /usr/local/bin/python3.13
  link currently points to /usr/local/bin/python3.13
  link python is /usr/bin/python
/usr/local/bin/python3.12 - priority 1
/usr/local/bin/python3.13 - priority 2

I created a new project and uv installs version 3.13 in the venv
mkdir pytest
test@Pi5 ~ $ cd pytest
test@Pi5 ~/pytest $ uv init
Initialized project `pytest`
test@Pi5 ~/pytest $ uv run python
Using Python 3.13.0 interpreter at: /usr/local/bin/python3.13
Creating virtualenv at: .venv
   Built pytest @ file:///home/test/pytest
Installed 1 package in 0.51ms
Python 3.13.0 (main, Oct  8 2024, 09:19:25) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit

An old existing project installed version 3.12 as expected as that was the latest version at the time
cd albatross/
test@Pi5 ~/albatross $ uv run python
Python 3.12.5 (main, Aug 25 2024, 12:01:22) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

I'm having a problem upgrading this environment to 3.13. uv can see the later version:
~/albatross $ uv python list
cpython-3.13.0-linux-aarch64-gnu     /usr/local/bin/python3.13
cpython-3.13.0-linux-aarch64-gnu     /usr/bin/python -> /etc/alternatives/python
cpython-3.13.0-linux-aarch64-gnu     /bin/python -> /etc/alternatives/python
cpython-3.12.5-linux-aarch64-gnu     /usr/local/bin/python3.12
cpython-3.12.5-linux-aarch64-gnu     <download available>
cpython-3.11.9-linux-aarch64-gnu     <download available>

I assumed that install was the way to go:
~/albatross $ uv python install 3.13
Searching for Python versions matching: Python 3.13
error: No download found for request: cpython-3.13-linux-aarch64-gnu

I thought perhaps it was necessary to uninstall 3.12 before installing 3.13:
~/albatross $ uv python uninstall 3.12
Searching for Python versions matching: Python 3.12
No existing installations found for: Python 3.12
No Python installations found matching the requests

An earlier issue #7325 suggested  that the --reinstall option could be a solution
~/albatross $ uv python install --reinstall 3.13
Searching for Python versions matching: Python 3.13
error: No download found for request: cpython-3.13-linux-aarch64-gnu

So I'm looking for further help/guidance TIA

Are you on the latest version of uv?

Regarding the behavior in albatross, do you have a .python-version file pinning the version to 3.12? Does it have a requires-python in the pyproject.toml with a minimum version of 3.12?

I was on 0.3.2, and have just updated to 0.4.19. There is no .python-version file present and in pyproject.toml I have requires-python = ">=3.12"
 ~/albatross $ uv self update
info: Checking for updates...
success: Upgraded uv to v0.4.19! https://github.com/astral-sh/uv/releases/tag/0.4.19

install now seems to work
~/albatross $ uv python install 3.13
Searching for Python versions matching: Python 3.13
Installed Python 3.13.0rc3 in 1.61s
 + cpython-3.13.0rc3-linux-aarch64-gnu

Which all looks good, but uv run python is still launching 3.12
 ~/albatross $ uv run python
Python 3.12.5 (main, Aug 25 2024, 12:01:22) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

As an experiment I edited pyproject.toml' to requires-python >=3.13`
'uv run python' now tries to launch 3.13 but I am getting problems compiling the dependencies - I'll see if I can eliminate these for the moment

We'll use the first compatible version we find for your requires-python range. You can use uv python pin 3.13 in the project if you want to change the default.

Thanks, that makes sense. I guess just updating requires-python>=3.15 will
have the same effect?
On Tue, 8 Oct 2024, 18:33 Zanie Blue, @.***> wrote:

We'll use the first compatible version we find for your requires-python
range. You can use uv python pin 3.13 in the project if you want to
change the default.
—
Reply to this email directly, view it on GitHub
https://github.com/astral-sh/uv/issues/8008#issuecomment-2400446249, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXMVZYILHCQII4KV466ZRTZ2QJODAVCNFSM6AAAAABPSVUN4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBQGQ2DMMRUHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Pete Barlow

Thanks for all the help and suggestions, happy to close.


Update vendor

Some files are missing in the current vendor package, compiling will fail if I don't use go mod.
I updated the vendor the vendor by command go mod tidy and go mod vendor.

/assign @oilbeater

Thanks! @xieyanker


Update sites.yml

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[x] I have included a link to the Cloudflare report
[x] This site is not an ultra lightweight site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

- domain: wildflower.work
  url: https://wildflower.work/
  size: 32.9
  last_checked: 2024-02-05

Cloudflare Report: https://radar.cloudflare.com/scan/d8b22ac0-4865-46c8-a7cc-39b1e25975df/summary

Thanks!


Fix GraphViewExample.

Fixes GraphViewExample. I only used the Dim.Percent for Width and I decrease the thickness at start to show more the graph. I also fix the diagnostic to enable the check if it's enabled at start.

@tig this is ready for review. Thanks.


add line numbers and stacktraces to error output

users just see a single terse error which is difficult to debug, e.g.:
Error
 SyntaxError: Unexpected token ;

this is a problem with our JS plugin, thanks for filing the bug.

dup of https://github.com/twosigma/beaker-notebook/issues/889


Error Json-Ld parse context

Error Json-Ld parse context, not valid:
ccs/sae
bbox
biodieser ethanol
commercial supply
hybrid electric/diesel
hybrid electric/petrol
rainwater capture
snow/ice
water dam
Tested with https://json-ld.org/playground/ and https://github.com/filip26/titanium-json-ld

Same error with this context : https://schema.lab.fiware.org/ld/context.jsonld

this repo is here only for historical reasons. Development is done Smart data models initaitive and its web page
It's been fixed issues on these:  ccs/sae,  hybrid electric/diesel, hybrid electric/petrol, now/ice
could you move this issue to this repo and provide further details?


Avoid unnecessary sync leap

This PR adjusts the sync leap behavior:

Upon receiving a successful sync leap response, the block_hash of the highest block is memoized in main reactor
When another sync leap is about to be requested, the memoized block hash is compared to the block hash we're about to request a sync leap for
If the block hashes match, the sync leap attempt is aborted

Closes #3685

bors try

@georgepisaltu re your comment, I'm afraid I don't agree that this PR introduces a lot of state to the reactor.  I feel that the simplicity and explicitness of this approach makes it more robust than an alternative which adds more burden on the already complex relationship between the synchronizer and accumulator.
I could kinda agree if the suggestion was to put the new state inside the sync leaper (so e.g. LeapState::Idle was updated to include the optional block hash of the latest attempt's highest block), but I don't see that making much difference.

@georgepisaltu re your comment, I'm afraid I don't agree that this PR introduces a lot of state to the reactor. I feel that the simplicity and explicitness of this approach makes it more robust than an alternative which adds more burden on the already complex relationship between the synchronizer and accumulator.

As I said previously, I think the approach in this PR is implemented well. If both you and @rafal-ch agree on this, I'm fine with it as well.

I could kinda agree if the suggestion was to put the new state inside the sync leaper (so e.g. LeapState::Idle was updated to include the optional block hash of the latest attempt's highest block), but I don't see that making much difference.

My reasoning was that the accumulator is ultimately the component which tells us to leap or do other things, so it made the most sense to me to put it there. After all, it was the accumulator which gave the leap instruction with that hash, so it should know if a leap comes back with that same hash and do some internal updates.
I'm going to approve now. Feel free to merge once all the other comments are addressed.

bors r+


Check for native support and only enhance where necessary

Great work with this polyfill.
Here's a suggested enhancement which allows it to be used as a fallback - only affect fields that aren't natively supported by the browser.

Thank you Ryan for the contribution, unfortunately I am short on time currently to review and apply but I will do it asap.
If i remember well enough I am already doing some check to avoid overwriting browser functionalities.
One quick question: why removing the 'data-regex' attributes ? No browser that I know implements that so it's not going to overwrite anything functional.
Or am I missing something ?

To be honest I just applied the check on everything - assuming the data-regex were part of the fallback. I guess I was trying to keep browsers with support totally clean.
I couldn't see any functionality check in place - so if there is could you let me know where so I can test to see if its working for me?

On 4 Feb 2015, at 21:43, Diego Perini<EMAIL_ADDRESS>wrote:
Thank you Ryan for the contribution, unfortunately I am short on time currently to review and apply but I will do it asap.
If i remember well enough I am already doing some check to avoid overwriting browser functionalities.
One quick question: why removing the 'data-regex' attributes ? No browser that I know implements that so it's not going to overwrite anything functional.
Or am I missing something ?
—
Reply to this email directly or view it on GitHub https://github.com/dperini/nwxforms/pull/8#issuecomment-72945845.

Ryan,
could you show a small example of "nwxform" overwriting browser native functionalities ?
This would help me avoid many tests and see the problem instead of hunting it.

Hello. Sorry for the delay - I've only just now been able to come back to the code.
All I was trying to do was ensure that the 'upgrade' to the validation was only applied where required. As it stood the data-regex was always being applied even if there was browser support for the types of color, number etc - and in this case I feel the browser's native validation on input should be used.
What do you think?

@ryanmitchell
as explained above the "data-regex" attribute is not part of any standard or native interface.
If you don't want that special functionality it offers just don't put that attribute on your elements.
You are probably confusing the functionality of "data-regex" with the functionality of the HTML5 "pattern" attribute, which is a native thing in browsers supporting it and that also accepts a regular-expression as it's value.
However the scope of the "data-regex" attribute is different. It allows a regex check for every keystroke the user types so for example you can block non numeric keystroke in INPUT elements.
There is also the possibility that I don't exactly understand what you mean, therefore I  suggested above to send me a simple HTML example showing were "nwxforms" fails or overwrites some native functionality.

Maybe I'm not explaining very well.
The data-regex is being added to input type=color, input type=number, even when the browser supports the input type natively.
Thats why I added the check for native support.

@ryanmitchell,
what you described above is exactly the expected behavior, the "data-regex" attribute is added because there is no support for it in any browsers, even the newest browsers don't support the functionality offered by the "data-regex" attribute. This means you cannot test support for that functionality.
However while reviewing your issue I found a bug that my have affected your testing.
The bug is on line 479, I forgot a backslash in the regular expression for type 'color':
element.setAttribute('data-regexp', '[-\w#]');

should be:
element.setAttribute('data-regexp', '[-\\w#]');

I will fix this bug and setup a demo for you to look at with an ìnput of type number to better explain what the scope of the "data-regex" attribute.

Fixed the missing backslash in the "data-regex" attribute value for color input types.


TextSortWidget, scrolling & dragging

Its not possible to scroll if the entire window is full of list elements.
The drag function won't stop at the last list element, will continue into infinite white space.
The scrolling is not very smooth.

Scrolling is handled by answerview (doScroll)

scrolling should be active by default
when dragging scrolling should be activated only if the touch is in the header or button area
use fake element to place the drag item to a location.
at top one needs to be able to scroll above the first element
at bottm one needs to be able to scroll beyond the last element


Rename maven profile

I think the maven profile "main" should be renamed with "standalone" for clearer usage.

Done with #150


Inline code elements trap cursor at the end of a line

Reported on Meta.SE
Related to #31?
Describe the bug

Type in some text, highlight and Ctrl-K to make into an inline code block

<Right-Arrow> to deselect the highlighted text and place your cursor immediately after

Ctrl-K to turn off the inline code block

Start typing (don’t hit the spacebar first no space)

Use your arrow keys to place the cursor immediately before your first plaintext character after the inline code block (or just use your mouse)

Hit the spacebar or type a character

Expected: you are typing in plain text, and not in the inline code block
Currently: you type inside the inline code block. There is no way to get to the plaintext section immediately after the inline code block. The workaround is to type a space at the end of the inline code block, highlight it, Ctrl-K to toggle the inline code block off for that space. But that is really annoying.
Ideally, if you are at the end of the inline code block, you could use your right arrow key to move out of the inline code block and to the spot right after it in the plaintext area, and then use your left arrow key to move back into the tail of the inline code block. (This is how Slack handles the transition between inline code block and plain text areas).

Closing in favor of tracking in #64.


Update README.md with proper environment variables.

Fixed the env_vars in the Handler definition in the example.
Looks like the change was made during this commit.

Good catch. Thanks!


Import/Export/Module

Tests are failing so WIP
Ref #40

    passExpressionOrSuper() {
        return this._passExpressionInBraces(expression => expression.isExpression || expression.type === 'Super');
    }
    passExpressionOrSpreadElement() {
        return this._passExpressionInBraces(
            expression => expression.isExpression || expression.type === 'SpreadElement');
    }

I think it would be good to do .passExpression where you can pass in a function. It sounds better than creating a new function for each case? Or a way for the consumer to pass an array of checks instead of doing  || expression.type === 'SpreadElement' in the elementAssert file.
Example - I want to check expression or declaration.
This doesn't have to be only for passExpression. Or should I just being doing if statement checks?

passExpression is only useful because it processes situation with braces around. We don't have braces allowed everywhere, so something like passExpressionOrSpreadElement would be incorrect as we cannot put braces around spread (as far as I understand).

@mdevils Ok I added passExpressionOrSpreadElement in a previous commit since I wasn't sure so that will need to be changed. Used in ArrayExpression and CallExpression for spread

Still need to finish ExportNamedDeclaration and Imports but otherwise can have a review.
Not sure about the ModuleDeclaration and ModuleSpecifier stuff

Ok updated let me know what you think - updated ExportNamedDeclaration as well but could probably add more tests with whitespace etc

I guess can finish up this PR with the Import ones.

Ok added imports.

Also we should rename braces -> parens later. _passExpressionInBraces -> _passExpressionInParens since braces usually refer to { and parens to (
Not sure https://en.wikipedia.org/wiki/Bracket#Names_for_various_bracket_symbols

How can I do args.push(children.passExpressionOrSpreadElement()); so that it will pass either an expression or a spread element?

Ready for more review other than points mentioned

Also we should rename braces -> parens later. _passExpressionInBraces -> _passExpressionInParens since braces usually refer to { and parens to (

I agree, sorry for confusion

I'l do a PR now since it doesn't affect this one

Great job, @hzoo!
I've finished the review. Left several notes about trailing whitespace. The rest is nice.

Ok made changes. Yeah I see that specifiers doesn't need whitespace - covered in declaration already

Great job! We have almost finished everything for ES6 and some ES7

Maybe make a 0.0.9 release if you want?


Make ApolloEngineLoader optional

Is your feature request related to a problem? Please describe.

@graphql-toolkit/apollo-engine-loader depends on apollo-language-server which is a huge dependency. But we are not using Apollo Server and we do not need this feature.
Describe the solution you'd like

The dependency tree includes a lot of modules of Apollo Server that do not seem to relate to GraphQL code generation, such as apollo-link. It would make more sense to make the loaders into plugins.
Describe alternatives you've considered

It should also be possible to make apollo-engine-loader more lightweight so it doesn't depend on apollo-language-server.
Additional context

$ yarn why apollo-language-server
yarn why v1.21.1
[1/4] 🤔  Why do we have the module "apollo-language-server"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found<EMAIL_ADDRESS>info Reasons this module exists
   - "@graphql-codegen#cli#@graphql-toolkit#apollo-engine-loader" depends on it
   - Hoisted from "@graphql-codegen#cli#@graphql-toolkit#apollo-engine-loader#apollo-language-server"
info Disk size without dependencies: "8.8MB"
info Disk size with unique dependencies: "42.48MB"
info Disk size with transitive dependencies: "8.8MB"
info Number of shared dependencies: 59
✨  Done in 1.29s.

it seems that the loaders are added to @graphql-codegen/cli in #3087. it feels strange to me as it defeats the purpose of @graphql-codegen being a highly customisable and plugin-based tool?
also from reading the documentation, it mentions Custom Schema Loader. Is it still supported? If so, could we just allow users to add ApolloEngineLoader and PrismaLoader as custom loader if needed?

@ardatan what do you think about allowing developers to specify additional loaders in config file? something like that:
schema: ...
generates: ...
loaders:
  - apollo-engine

And only if apollo-engine is specific, it will load it's package lazily and use it.

@dotansimha It sounds good but this might cause a breaking change for existing users.

@ardatan I think it's something we can go with, we first need to decide with loaders should be there by default, and which are optional via config.


DragSelectGridViewController disposed prematurely

Consider the following code :
import 'package:flutter/services.dart';
import 'package:flutter/material.dart';
import 'package:drag_select_grid_view/drag_select_grid_view.dart';

import 'selectable_item.dart';
import 'selection_app_bar.dart';

void main() {
  SystemChrome.setSystemUIOverlayStyle(
    SystemUiOverlayStyle(statusBarColor: Colors.grey[200]),
  );
  runApp(
    MaterialApp(
      home: MyApp(),
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primaryColor: Colors.white,
        accentColor: Colors.white,
        scaffoldBackgroundColor: Colors.white,
        appBarTheme: const AppBarTheme(elevation: 2),
      ),
    ),
  );
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final controller = DragSelectGridViewController();

  @override
  void initState() {
    super.initState();
    controller.addListener(scheduleRebuild);
  }

  @override
  void dispose() {
    controller.removeListener(scheduleRebuild);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: SelectionAppBar(
        selection: controller.selection,
        title: const Text('Grid Example'),
      ),
      body: PageView(
        children: [
          Column(
            children: [
              Center(
                child: Text('first page'),
              )
            ],
          ),
          DragSelectGridView(
            gridController: controller,
            padding: const EdgeInsets.all(8),
            itemCount: 90,
            itemBuilder: (context, index, selected) {
              return SelectableItem(
                index: index,
                color: Colors.blue,
                selected: selected,
              );
            },
            gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
              maxCrossAxisExtent: 150,
              crossAxisSpacing: 8,
              mainAxisSpacing: 8,
            ),
          ),
        ],
      ),
    );
  }

  void scheduleRebuild() => setState(() {});
}

It gave the following error when I switched between Page 1 to Page 2 to Page 1 to Page 2
I/flutter ( 3079): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 3079): The following assertion was thrown building NotificationListener<KeepAliveNotification>:
I/flutter ( 3079): A DragSelectGridViewController was used after being disposed.
I/flutter ( 3079): Once you have called dispose() on a DragSelectGridViewController, it can no longer be used.
I/flutter ( 3079):
I/flutter ( 3079): The relevant error-causing widget was:
I/flutter ( 3079):   PageView
I/flutter ( 3079):   file:///home/vin-fandemand/Downloads/drag_select_grid_view-master/example/lib/example.dart:53:13
I/flutter ( 3079):
I/flutter ( 3079): When the exception was thrown, this was the stack:
I/flutter ( 3079): #0      ChangeNotifier._debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:108:9)
I/flutter ( 3079): #1      ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:114:6)
I/flutter ( 3079): #2      ChangeNotifier.addListener (package:flutter/src/foundation/change_notifier.dart:144:12)
I/flutter ( 3079): #3      DragSelectGridViewState.initState (package:drag_select_grid_view/src/drag_select_grid_view/drag_select_grid_view.dart:219:22)
I/flutter ( 3079): #4      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4684:58)
I/flutter ( 3079): #5      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4520:5)
I/flutter ( 3079): ...     Normal element mounting (33 frames)
I/flutter ( 3079): #38     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14)
I/flutter ( 3079): #39     Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18)
I/flutter ( 3079): #40     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1164:36)
I/flutter ( 3079): #41     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1149:20)
I/flutter ( 3079): #42     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2620:19)
I/flutter ( 3079): #43     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1142:11)
I/flutter ( 3079): #44     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:356:23)
I/flutter ( 3079): #45     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1868:58)
I/flutter ( 3079): #46     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:920:15)
I/flutter ( 3079): #47     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1868:13)
I/flutter ( 3079): #48     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:345:5)
I/flutter ( 3079): #49     RenderSliverMultiBoxAdaptor.insertAndLayoutChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:491:5)
I/flutter ( 3079): #50     RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:258:17)
I/flutter ( 3079): #51     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
I/flutter ( 3079): #52     RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:137:11)
I/flutter ( 3079): #53     _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:170:11)
I/flutter ( 3079): #54     RenderObject.layout (package:flutter/src/rendering/object.dart:1769:7)
I/flutter ( 3079): #55     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:471:13)
I/flutter ( 3079): #56     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1465:12)
I/flutter ( 3079): #57     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1374:20)
I/flutter ( 3079): #58     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1632:7)
I/flutter ( 3079): #59     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:889:18)
I/flutter ( 3079): #60     RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:404:19)
I/flutter ( 3079): #61     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:867:13)
I/flutter ( 3079): #62     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
I/flutter ( 3079): #63     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
I/flutter ( 3079): #64     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1056:9)
I/flutter ( 3079): #65     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:972:5)
I/flutter ( 3079): #69     _invoke (dart:ui/hooks.dart:253:10)
I/flutter ( 3079): #70     _drawFrame (dart:ui/hooks.dart:211:3)
I/flutter ( 3079): (elided 3 frames from dart:async)
I/flutter ( 3079):
I/flutter ( 3079): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 3079): Another exception was thrown: 'package:flutter/src/rendering/sliver_multi_box_adaptor.dart': Failed assertion: line 265 pos 16: 'child == null || indexOf(child) > index': is not true.

Looks like the controller is disposed but not initiated again. The state on the appbar is still retained. Can you please help ?

Looks like the controller is disposed but not initiated again.

Once the controller is disposed, it cannot be initiated again.
The problem here is: DragSelectGridViewState.dispose() is disposing the controller, but it shouldn't. Instead, it should just remove the listener, since DragSelectGridViewState.initState() added it.
https://github.com/hugocbpassos/drag_select_grid_view/blob/09253966fe9d811827fd6aac08459acff506ab34/lib/src/drag_select_grid_view/drag_select_grid_view.dart#L217-L227
I'll land a fix soon, just need to write some tests.


Broken link in ballerinax/rabbitmq

Description:

In https://central.ballerina.io/ballerinax/rabbitmq, There is a broken link to QoS Settings Example at the very bottom of the page.
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Ballerina Swan Lake - Alpha3
Suggested Assignees (optional):

This entire page was redone in https://github.com/ballerina-platform/module-ballerinax-rabbitmq/pull/177. This issue is no longer valid.
To verify visit: https://central.ballerina.io/ballerinax/rabbitmq


regression enable fixed unstable cases

Proposed changes
enable fixed unstable cases

run buildall

run buildall

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.2 seconds
stream load tsv:          538 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>2 Bytes

run p0

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.5 seconds
stream load tsv:          543 seconds loaded<PHONE_NUMBER>9 Bytes, about 131 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>0 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.33 seconds
stream load tsv:          534 seconds loaded<PHONE_NUMBER>9 Bytes, about 133 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.2 seconds inserted 10000000 Rows, about 342K ops/s
storage size:<PHONE_NUMBER>9 Bytes

run buildall

run buildall


Have a way to close the current tab when opening the next one.

When double-clicking (or pressing enter) on a foreign key a new tab is added, but the original one is still available.
This is a desirable behaviour, because the original tab can be reused to get different new tabs by selecting different rows.
But if the user is sure that the original tab will not be reused, it does not make sense to keep it open.
By giving the possibility to automatically close the original tab when opening a new one, for example by keeping pressed the Ctrl key, we have the advantage that the UI is not filled up with too many unuseful tabs.

Job done for the foreign keys. Following a foreign key and keeping the Ctrl key, the current tab closes as the new one appears.
Will do the same also for the Where text box. Writing a where condition and pressing the Ctrl key together with Enter, the current tab closes as the new one appears.


Fixed pin definitions and default board

There was a mismatch between the pin defines for currently two available boards. Also changed the default pin config to the original esp32-s2 ch32v003programmer (BOARD_CNLOHR).
Firmware tested on my own, compatible hw.

Adding a small delay before the target power is enabled at boot fixes the problems with too high inrush current happening during usb enumeration.
Still, a target board with enough decoupling capacitance might occasionally crash the ESP32-S2 if the current spike exceeds the Imax of the onboard voltage regulator. Solution would be to change the hardware to use current limited switches for the 3.3V and 5V outputs.

poke @hexeguitar

Closing because comment was not addressed in 4 months.


Is this project maintained?

Hi!
Anyone here to help, please?
Thanks!

Yes.  It's still being maintained (using it myself!).  Not much time for it though.  If there's bugs definitely post them.
I've been using it in internal projects here and there but haven't encountered any issues, missing features, etc.  So I haven't thought about it much!


High-level Python SDK: add an option to list repositories

Add the ability to list repositories to the lakeFS Python SDK.
Use cases -

Build applications that require repos browsing.
Programmatically manage lakeFS infra.

Me too
We divide our data into repos but for some workload we would like to be able to scan all of our data, across repos. Having to maintain a list of repo in a text file is kind of ugly ! Especially if the Web UI can list them. Git allow you to list repo right ;-)


Customizable links/paths between nodes

How i can show conditional custom paths styles for different spouses like example: green path for current spouse & red path for ex-spouse?

You can add your custom styles.
/* Data object */
[{
    /* ... */
    class: "node spouse spouse_current",
    /* ... */
}]

/* stylesheets */
.spouse{
    background-color: red;
}
.spouse_current{
    background-color: green;
}

Sorry @aroraank , missing the "path" word  :smile:
I like your idea for custom path's color.
For example, different color for current and ex-spouse, 1st and 2nd generation, or each descendant.
https://github.com/ErikGartner/dTree/blob/master/src/builder.js#L93
Can we add a class attribute to spouse ?
Or can we add it as a callback?
WDYT, @ErikGartner ?

Good question @aroraank and thanks for helping out @ucay! 🙂 Currently there is no way to do this. Though I would be open to merging a pull-request adding this feature as it is a good suggestion.
A simpler class based solution makes if we can come up with a good and consistent way of addressing the path and everything that we want to do in terms of customize can be done in CSS (which I think is the case). We could add a class linkClass to spouses and children (of marriages and directly to a node).
A callback based solution would make sense if we would want more powerful customization beyond what CSS allows for. The only problem is designing the callback with "enough" information to be able to determine the color of the path. It would need something like function linkRendeder(fromNode, toNode, isChild, isSibling) and then execute the relevant d3 SVG commands. However this would force the user to write d3 code themselves, though on the other hand if the user wants to change the lines they probably are be an advanced user.
In general I'm open for merging any/both of these solutions as long as the solution is backwards compatible with the current format (i.e. adding an optional field or callback is fine).
I think the class based solution probably is favorable and considerably simpler (here and here  dTree currently sets the path class). Some code to propagate the class attribute in a similar manner as with textClass and nodeClass and then setting it for each link should be all that is required.
/Erik

// Draw siblings (marriage)
this.g.selectAll('.sibling').data(this.siblings).enter().append('path').attr('class', opts.styles.marriage).attr('d', _.bind(this._siblingLine, this)).attr('style', _.bind(this._siblingStroke, this));


Fix the multihash table link

It broke after https://github.com/multiformats/multihash/commit/9de92c03602326c46cab51d5cf0988bd01d8c51d.

Thanks


[Bug]: migrating snowflake_user to snowflake_service_user forces recreation

Terraform CLI Version
v1.9.1
Terraform Provider Version
v0.98.0
Company Name
No response
Terraform Configuration
resource "snowflake_user" "old" {
  ...
}

resource "snowflake_service_user" "new" {
  ...
}

Category
category:import
Object type(s)
resource:user
Expected Behavior
I should be able to migrate the old way of using snowflake_user to the new way of using snowflake_service_user by way of terraform state rm && terraform import, and the end result should be 0 terraform plan diffs, 0 resource recreations, and 0 effect on the deployed resources. The only changes should be entirely within the HCL and the terraform state.
Actual Behavior
  # snowflake_service_user.new must be replaced
-/+ resource "snowflake_service_user" "new" {
      + user_type                                     = "<changed externally>" # forces replacement
        ...
}

Steps to Reproduce

Use HCL similar to what is seen above.
terraform state rm the old resource to delete it from the state to start the migration
terraform import the new resource to import it into state to finish the migration
terraform plan to see the diffs and see that your new resource will be re-created, defeating the purpose of the migration.

How much impact is this issue causing?
Medium
Logs
No response
Additional Information
I see the same behavior when migration from snowflake_user to snowflake_legacy_service_user too.
Using jq to inspect my state file from prior to this migration, I see "user_type": "" as one of the attributes.
https://github.com/Snowflake-Labs/terraform-provider-snowflake/pull/3119
Would you like to implement a fix?

[ ] Yeah, I'll take it 😎

Hey 👋
I'll take a closer look at it next week. We'll try to make sure the fix is in the next provider release.

Hey @jrobison-sb
I'm missing some information, so correct me if I did the migration differently than in the described case. I did the migration from 0.97.0 to 0.98.0. After migration, according to the described steps, I got the recreation plan that indicated that the user_type was incorrect. I did the migration again, and it worked by adding a step before importing a service user. The step is running alter user "<user_name>" set type = service; in the worksheet before importing. After that, you can import this user into the service user resource. It should be the same for legacy service but with another user type. Please, let me know if that's the case. After import, you may also get a plan that shows different fields changing; that's because different user types have different default values. If you want old values to stay you have to explicitly set them in the configuration.

Hi @sfc-gh-jcieslak, I'll come back to this next week and let you know how it went. Thanks.

@sfc-gh-jcieslak, your suggestion of alter user ... set type = service did indeed unblock the original issue reported here. Thanks for that.
But as part of pushing ahead with this, I ran into another related problem with migrating to the new snowflake_legacy_service_user resource. I'll report it here since it's all part of the same goal for me, but if you prefer me to open a separate issue I'm happy to do so.
I need to migrate from the old resource type to the new resource type, like this:
resource "snowflake_user" "old" {
  password = "foo"
}

resource "snowflake_legacy_service_user" "new" {
  password = "foo"
}

So I do the usual resource migration dance mentioned here, and also mentioned elsewhere in the migration guide:
terraform state rm snowflake_user.old
snowsql ... --query "alter user ... set type = service"
terraform import snowflake_legacy_service_user.new ...

The above works fine and the new resource type imports successfully.
But during the import, terraform presumably has no way to import the existing password, so on a subsequent terraform plan, I'll see diffs like this, informing me that it's going to reset the password and store the password in the state:
+ password                                      = (sensitive value)

And if I go ahead and apply the above change, then I run into this error because apparently the password doesn't comply with a password policy which never applied to the old resource but apparently now does apply to the new resource?
│ Error: 003002 (28P01): SQL execution error:
│ New password rejected by current password policy. Reason: 'MIN_UPPERCASE'

And even if the password had the desired uppercase (or whatever) characters, password re-use would also presumably be blocked.
I know I could use ignore_changes and just ignore the password for now, then come back later and reset the password to a valid value, but is that the optimal migration path here? Using ignore_changes after this migration seems like it will leave us in a worse condition with terraform managing less infrastructure attributes than it used to manage before the migration.
Usually I would expect a migration like this to take place entirely within the terraform state and without any affect to our applications, but apparently that's not how this is playing out.
Thanks for any thoughts on this.

Thanks for your thoughts on this @sfc-gh-jcieslak. You've been very helpful on this migration, and on a few others I've been doing over the past couple months or so. Thanks.
Though I still wish that Snowflake as a company wouldn't force changes like this on its users without providing a better migration path. I ended up unblocking myself by way of jq'ing the terraform state to put the passwords back into the state when they couldn't be imported. Other Snowflake customers might well have ended up taking a downtime for their applications and resetting passwords that they never wanted to reset, but Snowflake made that decision for them.
Anyway, in case anybody else finds themselves in the same spot, here is basically how I did the migration (with no warranty implied, this is potentially dangerous, YMMV):
HCL:
resource "snowflake_user" "old" {
  for_each = toset(compact([
    "SOMEUSER",
  ]))
  password = "foo"
  ...
}

resource "snowflake_legacy_service_user" "new" {
  for_each = toset(compact([
    "SOMEUSER",
  ]))
  password = "foo"
  ...
}

Migration:
# Before doing anything, pull the terraform state, because editing the state is super dangerous and it's best to keep a backup. And also because we'll need to pull the passwords out of the old state so we can jq them into the new state for the legacy service user, which terraform can't import.

terraform state pull > tfstate_before_migration.json

# Do the migration
terraform state rm snowflake_user.old
snowsql ... --query "alter user SOMEUSER set type = legacy_service"
terraform import snowflake_legacy_service_user.new SOMEUSER

# If you have a bunch of other users to rm/import all at once, do them here.

# Okay, all the rm/imports are done. Now we modify the terraform state to restore the old passwords
terraform state pull > tfstate_after_migration.json

# Get the old password from the old state
PASSWORD="$(cat tfstate_before_migration.json | jq -r --arg index_key SOMEUSER '.resources[] | select((.mode == "managed") and (.type == "snowflake_user") and (.name == "old")) | .instances[] | select(.index_key == $index_key) | .attributes.password')"

# Inject the password into the new state for the new legacy service user
cat tfstate_after_migration.json | jq -r --arg password "$PASSWORD" --arg index_key SOMEUSER '(.resources[] | select((.mode == "managed") and (.type == "snowflake_legacy_service_user") and (.name == "new")) | .instances[] | select(.index_key == $index_key)).attributes.password |= $password' > tfstate_after_migration.json.new
mv tfstate_after_migration.json.new tfstate_after_migration.json

# Increment the state serial so we can push it back up to s3
cat tfstate_after_migration.json | jq '.serial += 1' > tfstate_after_migration.json.new
mv tfstate_after_migration.json.new tfstate_after_migration.json

# Push it back up to s3
terraform state push tfstate_after_migration.json

And in case your users use a count instead of a for_each, then you'll want something like --argjson index_key 0 instead of --arg index_key SOMEUSER for a named index key.
If you mess up any of this is some way, you can try to roll back by way of:
terraform state push -force tfstate_before_migration.json
snowsql ... --query "alter user SOMEUSER set type = null"

Hey, sorry to hear that.
On the bright side, we just released the v1.0.0 https://github.com/Snowflake-Labs/terraform-provider-snowflake/releases/tag/v1.0.0 which means that no breaking changes will be introduced in stable resources (without bumping a major, we are still following semver rules). A more detailed announcement is coming and will be published as a discussion in our repository, so stay tuned.


在python3.8环境下无法运行

Please tick all applicable boxes.

[x] I am using Python 3.5.3 or higher (run python --version on the command line)
[x] I have followed the official guides to install the bot for my system
[x] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[x] The latest master version (release-260419)
[ ] The latest review version

What type of issue are you creating?

[ ] Bug
[ ] Feature request
[x] Question

Description of issue
clone下来后无法运行运行run.sh。环境为python 3.8, mac os x 10.13.6.
log:
Traceback (most recent call last):
File "run.py", line 438, in
main()
File "run.py", line 347, in main
finalize_logging()
File "run.py", line 179, in finalize_logging
dlh.setFormatter(logging.Formatter('.'))
File "/Users/####/.pyenv/versions/3.8.0/lib/python3.8/logging/init.py", line 576, in init
self._style.validate()
File "/Users/####/.pyenv/versions/3.8.0/lib/python3.8/logging/init.py", line 429, in validate
raise ValueError("Invalid format '%s' for '%s' style" % (self._fmt, self.default_format[0]))
ValueError: Invalid format '.' for '%' style
Steps to reproduce

clone the reop
install requirements
invoke run.sh or run.py

Log file
Please attach your MusicBot log file (located at logs/musicbot.log) to this issue. You can do so by dragging and dropping the file here. If you do not include your log file, you WILL be asked to provide one.

设置python为3.7能解决问题


Add command line flag for Winograd output tile size

This patch adds a command line option for the
Winograd output tile size instead of hardcoding it. This patch also adds transformation matrices for
the 4x4 output tile size.

(channeling Mahesh) can you outline a plan for removing this flag or moving it into IR instead? How long do you see this flag living? Are users expected to know about this flag or is it only for testing/experimentation?
Flags like these are better than hardcoding but only barely better and something we want to avoid wherever possible. If this is just for experimentation then adding "experimental" to the flag name can help alleviate the worries.

Makes sense. This was mostly to enable testing to understand the perf/accuracy tradeoffs with different tile sizes. Once we do that, the hope is that we can converge on a single tile size going forward. If not, then we would need some way of setting the output tile size, but we can probably do that with some attribute that tags the convOp as a winograd candidate and specifies its chosen tile size similar to how lowering config works. We don't have to merge this in. I can use this patch as is and test with it and if I can't get a single tile size to work, then I can put up a separate patch for specifying the tile size in the IR. Thanks!

No worries if it's useful for short-term experimentation, just trying to bound the number of flags in the file as they tend to live about 10-100x longer than anyone plans on average :)


Ignore buggy clippy::question_mark lint

https://github.com/crossbeam-rs/crossbeam/runs/4904085171?check_suite_focus=true

bors r+


Redis SSL?

Question:
Does DBeaver EE supports Redis connected through SSL? Like Azure Redis Cache for example.

Yes, SSL support was added in Redis driver in the latest DBEaver EE version.
But you will need to use Early Access version (https://dbeaver.com/files/ea) or wait for 5.3 release (early December).

Thanks.

Just small follow-up - the link contains EA builds for Community edition and the Redis is EE feature, so it does not (obviously) work with them either.

Umm, the latest one dfinitely has this
<IP_ADDRESS>810181733