[BEAM-12008] Add New Coder for KafkaIO.Read() to Deal with Null Key

Please add a meaningful description for your change here
Created a pr for IT testing

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Seed Job

Run Java KafkaIO Performance Test

Run Java KafkaIO Performance Test

Hi @WeiwenXu21 - what is the next step on this PR?

Hi @aaltay I've been trying to run Java KafkaIO Performance Test but keep getting the same error during build:
15:12:09 Error from server (Invalid): error when creating "/home/jenkins/jenkins-slave/workspace/beam_PerformanceTests_Kafka_IO/src/.test-infra/kubernetes/kafka-cluster/04-outside-services/outside-0.yml": Service "outside-0" is invalid: spec.ports[0].nodePort: Invalid value: 32400: provided port is already allocated
15:12:09 Error from server (Invalid): error when creating "/home/jenkins/jenkins-slave/workspace/beam_PerformanceTests_Kafka_IO/src/.test-infra/kubernetes/kafka-cluster/04-outside-services/outside-1.yml": Service "outside-1" is invalid: spec.ports[0].nodePort: Invalid value: 32401: provided port is already allocated
15:12:09 Error from server (Invalid): error when creating "/home/jenkins/jenkins-slave/workspace/beam_PerformanceTests_Kafka_IO/src/.test-infra/kubernetes/kafka-cluster/04-outside-services/outside-2.yml": Service "outside-2" is invalid: spec.ports[0].nodePort: Invalid value: 32402: provided port is already allocated

Hi @aaltay I've been trying to run Java KafkaIO Performance Test but keep getting the same error during build:
15:12:09 Error from server (Invalid): error when creating "/home/jenkins/jenkins-slave/workspace/beam_PerformanceTests_Kafka_IO/src/.test-infra/kubernetes/kafka-cluster/04-outside-services/outside-0.yml": Service "outside-0" is invalid: spec.ports[0].nodePort: Invalid value: 32400: provided port is already allocated
15:12:09 Error from server (Invalid): error when creating "/home/jenkins/jenkins-slave/workspace/beam_PerformanceTests_Kafka_IO/src/.test-infra/kubernetes/kafka-cluster/04-outside-services/outside-1.yml": Service "outside-1" is invalid: spec.ports[0].nodePort: Invalid value: 32401: provided port is already allocated
15:12:09 Error from server (Invalid): error when creating "/home/jenkins/jenkins-slave/workspace/beam_PerformanceTests_Kafka_IO/src/.test-infra/kubernetes/kafka-cluster/04-outside-services/outside-2.yml": Service "outside-2" is invalid: spec.ports[0].nodePort: Invalid value: 32402: provided port is already allocated

@chamikaramj / @tysonjh - Could you please help?

Seems like external Kafka test has been red for some time.
Internal Kafka test is green, so you might have a better luck with that if you just want to test your PR.

Jira is https://issues.apache.org/jira/browse/BEAM-9482

Seems like external Kafka test has been red for some time.

Side question: What do we need to do to fix kafka tests?

@WeiwenXu21 - please ping when you are ready to get back to this PR. (Not urgent, not a priority.)


switching from HEAT to COOL or viceversa does load the temperature preset on AC mode and ThermostatOverSwitch

Version of the custom_component
Version: 4.0.1
Configuration
My VTherm attributes are the following:
vac_modes: heat, cool, off
min_temp: 7
max_temp: 35
preset_modes: none, eco, comfort, boost
current_temperature: 19.5
temperature: 29
hvac_action: idle
preset_mode: eco
hvac_mode: cool
type: null
eco_temp: 16
boost_temp: 20
comfort_temp: 18
eco_away_temp: null
boost_away_temp: null
comfort_away_temp: null
power_temp: null
ext_current_temperature: 17.1
ac_mode: true
current_power: null
current_power_max: null
saved_preset_mode: eco
saved_target_temp: 29
saved_hvac_mode: null
window_state: off
motion_state: null
overpowering_state: null
presence_state: null
window_auto_state: off
window_bypass_state: false
security_delay_min: 60
security_min_on_percent: 0.5
security_default_on_percent: 0.1
last_temperature_datetime: 2023-11-11T16:57:21.260861+01:00
last_ext_temperature_datetime: 2023-11-11T16:57:21.260861+01:00
security_state: false
minimal_activation_delay_sec: 10
device_power: 2
mean_cycle_power: 0
total_energy: 0
last_update_datetime: 2023-11-11T16:57:21.341504+01:00
timezone: Europe/Rome
window_sensor_entity_id: null
window_delay_sec: null
window_auto_open_threshold: null
window_auto_close_threshold: null
window_auto_max_duration: null
motion_sensor_entity_id: null
presence_sensor_entity_id: null
power_sensor_entity_id: null
max_power_sensor_entity_id: null
is_over_switch: true
underlying_switch_0: switch.fancoil_camera_matrimoniale
underlying_switch_1: null
underlying_switch_2: null
underlying_switch_3: null
on_percent: 0
on_time_sec: 0
off_time_sec: 300
cycle_min: 5
function: tpi
tpi_coef_int: 0.6
tpi_coef_ext: 0.01
friendly_name: Termostato Camera Matrimoniale
supported_features: 17

Describe the bug
I'm trying to:
change  the hvac_mode: from cool to heat or vice versa
And I expect:
eco_temp: 16 if the hvac_mode is heat
eco_temp: 29 if the hvac_mode is cool
But I observe this ....
but  I'm always see 29 as target temperature

I'm very surprise of this issue. I just test it over and over with automatic tests.
I don't see the _ac temp in your configuration. Do you have configured it ?

The thermostat instance was existing before the upgrade, after the upgrade
I have just clicked over the configurations on top the existing instance,
I'll try on recreate the thermostat from scratch maybe there is something
that fails, I'm trying to understand from debug messages what is happening
Il Sab 11 Nov 2023, 18:11 Jean-Marc Collin @.***> ha
scritto:

I'm very surprise of this issue. I just test it over and over with
automatic tests.
I don't see the _ac temp in your configuration. Do you have configured it ?
—
Reply to this email directly, view it on GitHub
https://github.com/jmcollin78/versatile_thermostat/issues/185#issuecomment-1806868178,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALTEWFOQX5HPVLIMGCHH5LYD6WUHAVCNFSM6AAAAAA7HLAK7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHA3DQMJXHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I did a try on remote and set again the thermostat for some reason it
always takes the eco AC temperature switching between cool and heat, I'll
debug on up coming days
Il Sab 11 Nov 2023, 19:26 Andrea Nicotra @.***> ha
scritto:

The thermostat instance was existing before the upgrade, after the upgrade
I have just clicked over the configurations on top the existing instance,
I'll try on recreate the thermostat from scratch maybe there is something
that fails, I'm trying to understand from debug messages what is happening
Il Sab 11 Nov 2023, 18:11 Jean-Marc Collin @.***> ha
scritto:

I'm very surprise of this issue. I just test it over and over with
automatic tests.
I don't see the _ac temp in your configuration. Do you have configured it
?
—
Reply to this email directly, view it on GitHub
https://github.com/jmcollin78/versatile_thermostat/issues/185#issuecomment-1806868178,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALTEWFOQX5HPVLIMGCHH5LYD6WUHAVCNFSM6AAAAAA7HLAK7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWHA3DQMJXHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm traying on debug the issue this is what I see
2023-11-23 20:02:38.939 DEBUG (MainThread) [custom_components.versatile_thermostat.thermostat_switch] VersatileThermostat-Termostato Camera Viola - Calling update_custom_attributes: {'is_on': True, 'hvac_action': <HVACAction.HEATING: 'heating'>, 'hvac_mode': <HVACMode.HEAT: 'heat'>, 'preset_mode': 'eco', 'type': None, 'eco_temp': 16.0, 'boost_temp': 20.0, 'comfort_temp': 18.0, 'eco_away_temp': None, 'boost_away_temp': None, 'comfort_away_temp': None, 'power_temp': None, 'target_temperature_step': 0.1, 'ext_current_temperature': 10.8, 'ac_mode': True, 'current_power': None, 'current_power_max': None, 'saved_preset_mode': 'eco', 'saved_target_temp': 35.0, 'saved_hvac_mode': None, 'window_state': 'off', 'motion_state': None, 'overpowering_state': None, 'presence_state': None, 'window_auto_state': 'off', 'window_bypass_state': False, 'security_delay_min': 60, 'security_min_on_percent': 0.5, 'security_default_on_percent': 0.1, 'last_temperature_datetime': '2023-11-23T20:02:38.930416+01:00', 'last_ext_temperature_datetime': '2023-11-23T20:02:38.930416+01:00', 'security_state': False, 'minimal_activation_delay_sec': 10, 'device_power': 1.0, 'mean_cycle_power': 1.0, 'total_energy': 0.05, 'last_update_datetime': '2023-11-23T20:02:38.935389+01:00', 'timezone': 'Europe/Rome', 'window_sensor_entity_id': None, 'window_delay_sec': None, 'window_auto_open_threshold': None, 'window_auto_close_threshold': None, 'window_auto_max_duration': None, 'motion_sensor_entity_id': None, 'presence_sensor_entity_id': None, 'power_sensor_entity_id': None, 'max_power_sensor_entity_id': None, 'temperature_unit': <UnitOfTemperature.CELSIUS: '°C'>, 'is_device_active': True, 'is_over_switch': True, 'is_inversed': False, 'underlying_switch_0': 'switch.fancoil_camera_viola', 'underlying_switch_1': None, 'underlying_switch_2': None, 'underlying_switch_3': None, 'on_percent': 1, 'power_percent': 100, 'on_time_sec': 180, 'off_time_sec': 0, 'cycle_min': 3, 'function': 'tpi', 'tpi_coef_int': 0.6, 'tpi_coef_ext': 0.01}
it is on heating mode , preset_mode: eco , eco_temp: 16 but when I select the preset it get the eco of cool mode

do you have some Idea where I can try on review the code? where the target temp for the preset is coming from?

I see this chain :
2023-11-23 20:24:26.114 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Termostato Camera Viola - Set hvac mode: heat 2023-11-23 20:24:26.114 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Termostato Camera Viola - Set preset_mode: eco force=True 2023-11-23 20:24:26.115 INFO (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Termostato Camera Viola - ############ find_preset_temp: eco_ac
find_preset_temp should be eco not eco_ac

You still have the issue on your side ?

Yes, and I had time to debug it , you can see that I have submitted a change
Il Ven 24 Nov 2023, 08:52 Jean-Marc Collin @.***> ha
scritto:

Reopened #185
https://github.com/jmcollin78/versatile_thermostat/issues/185.
—
Reply to this email directly, view it on GitHub
https://github.com/jmcollin78/versatile_thermostat/issues/185#event-11053721260,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALTEWDKNYQGCTNWFUQ5DODYGBG2TAVCNFSM6AAAAAA7HLAK7WVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGA2TGNZSGEZDMMA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


Replaced two invalid links to new links

as per the user report issue #2214 .  so I have replaced the following new links
https://docs.microsoft.com/windows-hardware/drivers/gpiobtn/button-behavior
https://docs.microsoft.com/windows-hardware/drivers/spb/gpio-tests-in-mitt

These are not the links to the white papers that are missing. I'm looking into the two papers.  Thanks!


functional-tester: compact request times out

2016-05-24 00:29:28.720576 I | etcd-tester: [round#77] compacting storage at 110522767 (current revision 110532767)
2016-05-24 00:29:28.720582 I | etcd-tester: [DEBUG] compactKV grpc.Dial starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:28.720615 I | etcd-tester: [DEBUG] compactKV kvc.Compact starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:58.721900 I | etcd-tester: [DEBUG] compactKV kvc.Compact error rpc error: code = 4 desc = context deadline exceeded (rev 110522767, endpoint <IP_ADDRESS>:2379, took 30.001265428s)
2016-05-24 00:29:58.721955 I | etcd-tester: [DEBUG] compactKV grpc.Dial starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:58.721998 I | etcd-tester: [DEBUG] compactKV kvc.Compact starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:58.736854 I | etcd-tester: <IP_ADDRESS>:2379 is already compacted with 110522767 (rpc error: code = 11 desc = etcdserver: mvcc: required revision has been compacted)
2016-05-24 00:29:58.736898 I | etcd-tester: [DEBUG] compactKV grpc.Dial starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:58.736945 I | etcd-tester: [DEBUG] compactKV kvc.Compact starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:58.754581 I | etcd-tester: <IP_ADDRESS>:2379 is already compacted with 110522767 (rpc error: code = 11 desc = etcdserver: mvcc: required revision has been compacted)
2016-05-24 00:29:58.754615 I | etcd-tester: [round#77] compactKV error (rpc error: code = 4 desc = context deadline exceeded)

The error happens from the node 1 (<IP_ADDRESS>:2379):
2016-05-24 00:29:28.720615 I | etcd-tester: [DEBUG] compactKV kvc.Compact starting (rev 110522767, endpoint <IP_ADDRESS>:2379)
2016-05-24 00:29:58.721900 I | etcd-tester: [DEBUG] compactKV kvc.Compact error rpc error: code = 4 desc = context deadline exceeded (rev 110522767, endpoint <IP_ADDRESS>:2379, took 30.001265428s)

The compact request has timeout of 30 seconds (https://github.com/coreos/etcd/blob/master/tools/functional-tester/etcd-tester/cluster.go#L335).
Since the request is sent with Physical: true, the server does not return until the compaction is actually done (https://github.com/coreos/etcd/blob/master/mvcc/kvstore.go#L294).
And the node 1 log shows that it took almost 30 seconds to finish the compaction, which leads to context deadline timeout.

2016-05-24 00:29:28.729809 I | mvcc: store.index: compact 110522767
2016-05-24 00:29:58.715819 I | mvcc: finished scheduled compaction at 110522767 (took 29.784187883s)

To summarize, the compact request went through, but the compaction took as much as timeout (30-sec).
I will try longer timeout and see if we still get this error.

Compacting 1565040 entries took 22.224533451s (71138 per second)
Compacting 1370733 entries took 20.072420034s (68536 per second)

Been running with longer timeout without any failure over 200 rounds. So pretty sure that configuring the right compaction timeout would resolve this. We need to cache the previous index and get the number of entries to compact, and apply different timeouts case by case.
For our testing environments, compaction rate is about 65,000 entries per second. I have a patch but need to resolve other issues in functional tester. Will send a PR that addresses it all.

2016-05-27 00:49:06.768607 I | etcd-tester: [round#72] compacting 1851204 entries (timeout 47s)
2016-05-27 00:49:06.768614 I | etcd-tester: [round#72] compacting storage (current revision 92395961, compact revision 92385961)
2016-05-27 00:49:34.028082 I | etcd-tester: <IP_ADDRESS>:2379 is already compacted with 92385961 (rpc error: code = 11 desc = etcdserver: mvcc: required revision has been compacted)
2016-05-27 00:49:39.029746 I | etcd-tester: [round#72] compactKV error (rpc error: code = 13 desc = context deadline exceeded)
2016-05-27 00:49:39.029803 I | etcd-tester: [round#72] cleaning up...

# <IP_ADDRESS>:2379
2016-05-27 00:49:06.780094 I | mvcc: store.index: compact 92385961
2016-05-27 00:49:33.080612 I | mvcc: finished scheduled compaction at 92385961 (took 26.136602748s)

# <IP_ADDRESS>:2379
2016-05-27 00:49:06.778525 I | mvcc: store.index: compact 92385961
2016-05-27 00:49:34.019549 I | mvcc: finished scheduled compaction at 92385961 (took 26.996168284s)

# <IP_ADDRESS>:2379
2016-05-27 00:49:06.778508 I | mvcc: store.index: compact 92385961
2016-05-27 00:49:32.959823 I | mvcc: finished scheduled compaction at 92385961 (took 26.006928121s)

Happen again. TImeout seemed to happen for the first endpoint, but we don't log endpoints, so it's hard to tell which was timing out.

Closing. Will revisit when it happens again.

Got this again...
2016-06-03 14:19:21.395241 I | etcd-tester: [round#136] compacting 1012186 entries (timeout 30s)
2016-06-03 14:19:21.395253 I | etcd-tester: [round#136] compacting storage (current revision 113543120, compact revision 113533120)
2016-06-03 14:19:21.395286 I | etcd-tester: [compact kv #0] starting (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:37.991977 I | etcd-tester: [compact kv #0] done (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:37.992071 I | etcd-tester: [compact kv #1] starting (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:42.993379 I | etcd-tester: [compact kv #1] error rpc error: code = 13 desc = context deadline exceeded (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:42.993465 I | etcd-tester: [compact kv #2] starting (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:43.013586 I | etcd-tester: [compact kv #2] already compacted (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:43.013652 I | etcd-tester: [compact kv #2] done (endpoint <IP_ADDRESS>:2379)
2016-06-03 14:19:43.013692 I | etcd-tester: [round#136] cleaning up...
2016-06-03 14:19:48.942654 W | etcd-tester: [round#136] functional-tester returning with error (rpc error: code = 13 desc = context deadline exceeded)

Compact request was successfully replicated in all 3 nodes, but agent2 was taking longer (I assume, because there is no mvcc: compaction done message in the log). And another weird thing is the context timeout was 30 seconds, but the compact request returns in only 5 seconds...
I will add more logs in mvcc package, to keep track of the progress of compaction, and redeploy the functional cluster. The logs from master branch doesn't help a lot to debug this.

# tester
#
2016-06-08 12:38:21.654037 I | etcd-tester: [round#117] compacting 1456983 entries (timeout 39s)
2016-06-08 12:38:21.654078 I | etcd-tester: [round#117] compacting storage (current revision 7437246, compact revision 7427246)
2016-06-08 12:38:21.654114 I | etcd-tester: [compact kv #0] starting (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.654284 I | etcd-tester: [compact kv #0] error rpc error: code = 4 desc = context deadline exceeded (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.654383 I | etcd-tester: [compact kv #1] starting (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.668267 I | etcd-tester: [compact kv #1] already compacted (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.668308 I | etcd-tester: [compact kv #1] done (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.668350 I | etcd-tester: [compact kv #2] starting (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.691179 I | etcd-tester: [compact kv #2] already compacted (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.691241 I | etcd-tester: [compact kv #2] done (endpoint <IP_ADDRESS>:2379)
2016-06-08 12:39:00.691276 I | etcd-tester: [round#117] cleaning up...

# <IP_ADDRESS>:2379
#
# compaction starts (39s to finish)
2016-06-08 12:38:21.709978 I | mvcc: store.index: compact 7427246
2016-06-08 12:38:22.183461 I | etcdserver: start to snapshot (applied: 7453467, lastsnap: 7443465)
2016-06-08 12:38:22.192653 I | etcdserver: saved snapshot at index 7453467
2016-06-08 12:38:22.192825 I | etcdserver: compacted raft log at 7448467
...
2016-06-08 12:38:26.541215 I | etcdserver: start to snapshot (applied: 7533945, lastsnap: 7523888)
2016-06-08 12:38:26.548652 I | etcdserver: saved snapshot at index 7533945
2016-06-08 12:38:26.548815 I | etcdserver: compacted raft log at 7528945
# snapshot
2016-06-08 12:38:27.687988 I | rafthttp: receiving database snapshot [index:7550738, from d323b71a635a0445] ...
2016-06-08 12:38:29.505866 I | fileutil: purged file agent.etcd/member/snap/000000000000002e-00000000006bf836.snap successfully
...
2016-06-08 12:38:29.507407 I | fileutil: purged file agent.etcd/member/snap/000000000000002e-00000000007230ca.snap successfully
2016-06-08 12:38:29.523115 I | fileutil: purged file agent.etcd/member/wal/000000000000000c-00000000004bcc48.wal successfully
2016-06-08 12:38:29.612736 I | snap: saved database snapshot to disk [total bytes: 343760896]
2016-06-08 12:38:29.612814 I | rafthttp: received and saved database snapshot [index: 7550738, from: d323b71a635a0445] successfully
2016-06-08 12:38:29.613000 I | raft: 437b8abd875de8e5 [commit: 7536016, lastindex: 7536016, lastterm: 46] starts to restore snapshot [index: 7550738, term: 46]
2016-06-08 12:38:29.613035 I | raft: log [committed=7536016, applied=7536016, unstable.offset=7536017, len(unstable.Entries)=0] starts to restore snapshot [index: 7550738, term: 46]
2016-06-08 12:38:29.613055 I | raft: 437b8abd875de8e5 restored progress of 437b8abd875de8e5 [next = 7550739, match = 7550738, state = ProgressStateProbe, waiting = false, pendingSnapshot = 0]
2016-06-08 12:38:29.613065 I | raft: 437b8abd875de8e5 restored progress of d323b71a635a0445 [next = 7550739, match = 0, state = ProgressStateProbe, waiting = false, pendingSnapshot = 0]
2016-06-08 12:38:29.613076 I | raft: 437b8abd875de8e5 restored progress of f33b1e0cca75eac9 [next = 7550739, match = 0, state = ProgressStateProbe, waiting = false, pendingSnapshot = 0]
2016-06-08 12:38:29.613084 I | raft: 437b8abd875de8e5 [commit: 7550738] restored snapshot [index: 7550738, term: 46]
2016-06-08 12:38:29.613222 I | etcdserver: applying snapshot at index 7533945...
2016-06-08 12:38:29.617338 I | etcdserver: raft applied incoming snapshot at index 7550738
# restoring from snapshot starts
2016-06-08 12:38:29.639266 I | etcdserver: restoring mvcc store...
2016-06-08 12:38:29.658983 I | wal: segmented wal file agent.etcd/member/wal/0000000000000012-00000000007371b3.wal is created
2016-06-08 12:38:53.696581 I | wal: segmented wal file agent.etcd/member/wal/0000000000000013-0000000000798286.wal is created
2016-06-08 12:38:59.507666 I | fileutil: purged file agent.etcd/member/snap/000000000000002e-00000000007257e9.snap successfully
2016-06-08 12:38:59.533436 I | fileutil: purged file agent.etcd/member/wal/000000000000000d-000000000051dd0c.wal successfully
2016-06-08 12:38:59.542172 I | fileutil: purged file agent.etcd/member/wal/000000000000000e-000000000058fa0a.wal successfully
2016-06-08 12:39:00.694335 N | osutil: received terminated signal, shutting down...

# To summarize,
# compaction should have done by 12:39:00
# but stresser triggers snapshot at 12:38:29
# and the restoring from snapshot didn't finish by 12:39:00

The root cause was https://github.com/coreos/etcd/issues/5317.


CPLAT-4303: React 16 New Context

Description:
React 16 implements a better New Context API.
Changes:

Added createContext to react_client.dart
Removed old context api (getContextKeys, getChildContext... etc)
Added contextType to react.Component
Added ReactDartContext that utilize interop ReactContext for use in ReactJS
Added ReactJsComponentFactoryProxy that was originally created by @greglittlefield-wf about 2 years ago, then updated for use with react16 and context components.
Added and Updated tests

Testing suggestions:

[ ] CI Passes
[ ] webdev serve example and check the context example make sure it works

Potential areas of regression:

Old context no longer supported

FINALLLYYYY! darn you dart1... i was building in dart2!

Holding till https://github.com/cleandart/react-dart/pull/169 is done and merged to update its snapshot type tests to utilize the new shared type tester i added in this pr: https://github.com/cleandart/react-dart/pull/169#discussion_r267532067

Comment about testing the nextContext value passed into shouldComponentUpdate (the only test we have uses null; we should also have a test with another value)

@greglittlefield-wf if the only test you're referring to is this one: https://github.com/cleandart/react-dart/pull/160/files#diff-c00a02aa016b25a86fb30a2093f935a1R520
because that component it is a child of a context.consumer callback and not a consumer/contextType component itself it will actually never have a this.context the only time this.context ever has a value is when contextType is set, and when contextType is set context and prop updates don't trigger shouldComponentUpdate.
The only time i have seen shouldComponentUpdate and nextContext be called and have a value is on a component using contextType that has a state change. But this nextContext is no different than this.context at this point so its utterly useless.

But this nextContext is no different than this.context at this point so its utterly useless.

Yeah, I think we just need to verify that when it is passed in, that it's valid.


add change_password?

The api endpoint passwd sets the password to expire instantly, But I would like to be able to change the password without it expiring. This PR uses the same endpoint that FreeIPA uses when passwords expire.
Not sure if this should be implemented as a different function or the functionality merged with passwd.
Made a PR mostly for discussion, so not suprised if it doesn't get merged.

This error happens if no user is specified.

<title>400 Bad Request</title>

Bad Request

no user specified

Another thing to note is you don't need to be authed as the user to change the username just need the correct oerns. I'm working on adding exceptions to this PR.

from python_freeipa import Client
client = Client('ipa.demo1.freeipa.org', version='2.215')
client.login('admin', 'Secret123')
user = client.user_add('test5', 'John', 'Doe', 'John Doe', preferred_language='EN', random_pass=True)
print(user)
change_password = client.change_password("test5", "asupersecurepassword", user['randompassword'])
print(change_password.text)

This is some example code of the usage, so you hopefully have a better understanding.

@Epictek Please feel free to notify me when pull request is ready for a review.


systemd timers in Authentic Theme

I'm running Let's Encrypt and it seems that they have made it easier to install.
Now you don't need to add anything to the Cron jobs. Instead it will be added here:
$ systemctl list-timers
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES
Mon 2022-09-19 06:14:00 CEST 5h 31min left n/a                          n/a          snap.certbot.renew.timer     snap.certbot.renew.service

But where can i find this in Authentic Theme without running systemctl list-timers and how can i add and edit the list from AT?

But where can i find this in Authentic Theme without running systemctl list-timers and how can i add and edit the list from AT?

This is not Authentic Theme question. Timers should also be listed in Bootup and Shutdown module though.
By the way, if you use Webmin or Virtualmin to setup to request certificates for virtual servers, you should never setup manually any custom cron jobs, as Virtualmin does it automatically.

By the way, if you use Webmin or Virtualmin to setup to request certificates for virtual servers, you should never setup manually any custom cron jobs, as Virtualmin does it automatically.

It is impossible to know what every application do. I haven't seen any setup in Webmin for a certificates.
So, there is no easy way to list these timers in Webmin?
If i run:
$ sudo systemctl list-timers
NEXT                         LEFT          LAST                         PASSED        UNIT                         ACTIVATES
Tue 2022-09-20 19:09:00 CEST 5min left     Tue 2022-09-20 18:39:03 CEST 24min ago     phpsessionclean.timer        phpsessionclean.service
Tue 2022-09-20 22:40:23 CEST 3h 36min left Mon 2022-09-19 22:40:24 CEST 20h ago       systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Wed 2022-09-21 00:00:00 CEST 4h 56min left Tue 2022-09-20 00:00:02 CEST 19h ago       logrotate.timer              logrotate.service
Wed 2022-09-21 06:14:00 CEST 11h left      Tue 2022-09-20 16:11:02 CEST 2h 52min ago  snap.certbot.renew.timer     snap.certbot.renew.service
Mon 2022-09-26 01:38:42 CEST 5 days left   Mon 2022-09-19 00:45:13 CEST 1 day 18h ago fstrim.timer                 fstrim.service

5 timers listed.

I did try the filter but it wasn't that easy. I wrote timer but it will not show all timer there 😕

So, there isn't any easy way to list the timers without running the systemctl list-timers?

Please, let's make it right -- you should submit this ticket to webmin/webmin repo, by simply copying and pasting your last message.


capture-webcam-video

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Checked that your rule idea isn't already filed: search

Summary
Let's have a rule that detects a system's webcam being used to capture video
Examples
TBD
Features
I'd need to look around for real world examples that do this, but it seems like we could look for calling capCreateCaptureWindow + calling capCaptureSequence + (calling capFileSaveAs or calling capFileSetCaptureFile)
Additional context
N/A
Rule details
Namespace
collection/webcam
References

https://docs.microsoft.com/en-us/windows/win32/multimedia/capturing-data
https://docs.microsoft.com/en-us/windows/win32/multimedia/naming-the-capture-file

Other rule meta information
N/A

Great idea. Would love to see a sample with this functionality.

https://www.virustotal.com/gui/file/1059f624494514c8366a300d034b57feb9eefed82fe61fb03cb500c8a48eebdc/content/strings
might be a candidate, and could also be used for a exposes a Java binding rule. maybe audio capture, too.


Add unconfirmed_transaction helper method for ConfirmedTransactions

Motivation
This PR adds a helper method to derive the ConfirmedTransaction's original transaction before it was confirmed.
In the case of an accepted deploy or execute, the transaction remains the same.
In the case of a rejected deploy or execute, we regenerate the original transaction by rebuilding the deployment or execution.

flg


Train locally

I'm interested in training in my own hardware, is there any notebook or script that does not rely on colab or google drive and works on a linux based OS?

You can use the extension in the A1111 webui

@TheLastBen Is it possible to use Fast Dreambooth locally on my RTX 3060ti (8GB VRAM)? Any future for them? Google Colab is really slow and limited for Free Usage.


Add .clang-format file

Hello swift-llbuild! :)
What's in this pull request?
Adds a .clang-format file using LLVM style as does the Swift compiler. Assuming there is a desire to use it! If not, my apologies!
Why merge this pull request?
Defines the coding style desired, and will be picked up by clang-format if used (with the -style=file option that is).
What are the downsides to merging this pull request?
If clang-format is never used, it's a wasted file.
Resolved bug number: (None)

Thanks for the PR!
I'm ok with having a .clang-format file, but I would like it to match the convention such that the diffs it would generate wouldn't change the style (just fix inconsistencies).
One major thing which is different in the llbuild style versus the LLVM style is that llbuild uses Google style for '*' and '&' placement. Do you know if it possible to override this element of the style? I haven't followed clang-format development and last I looked I did not see an option for it.

Hello @ddunbar!

Thanks for the PR!

np!

I'm ok with having a .clang-format file, but I would like it to match the convention such that the diffs it would generate wouldn't change the style (just fix inconsistencies).

Cool!

One major thing which is different in the llbuild style versus the LLVM style is that llbuild uses Google style for '*' and '&' placement.

Using the latest clang-format (3.9.0) and dumping the configs for each via clang-format -style=<STYLE> -dump-config, believe these are the options your referring to, correct? (these are the Google settings, the LLVM ones are false and Right respectively.)
DerivePointerAlignment: true
PointerAlignment: Left

In which DerivePointerAlignment  is defined as, "If true, analyze the formatted file for the most common alignment of & and *. PointerAlignment is then used only as fallback." [1]

Do you know if it possible to override this element of the style?

I believe so! Simply defining them in the .clang-format file should override the BasedOnStyle setting (did a quick test to confirm) [2]. If those are indeed the options mentioned above, I can make the change.
[1 - Clang-Format Style Options - Configurable Format Style Options]
[2 - Clang-Format Style Options - Configuring Style with clang-format]

Ah yes, that does make the total diff from forcing everything to conform go down considerably. Will merge if you update...

Awesome, done!


Why do we need to put the data to our pytorch model before saving model_trt to self.model in demo.py?

https://github.com/Megvii-BaseDetection/YOLOX/blob/1660f0c285eb7c914b96dff82c76e415618e5371/tools/demo.py#L117-L120
Thanks for sharing great work!
I can't understand why we need to put the data to our pytorch model before saving model_trt to self.model.
Is the purpose of this code block to warm up the GPU before the inference stage?

For trt model, we put the bbox decoder outside of the model forward.
https://github.com/Megvii-BaseDetection/YOLOX/blob/main/tools/demo.py#L147
So you have to warm up the decoder to initial the "self.hw":
https://github.com/Megvii-BaseDetection/YOLOX/blob/main/yolox/models/yolo_head.py#L207

@ruinmessi Thanks!


add maven version badge

I guess that just fits my personal whims 😅
I just like to check in on repos i'm using and see the latest version at a glance in the readme
I can add more if you'd like?

As the main Scala version is 2.12, please change that. Let's get started with circe only.

updated to 2.12


Include Path doesn't find the lib

Hello !
I just pull de daisy exemples and I wanted to build the verb project to try and it doesn't find the daisy_petal.h & daisysp.h.
I checked the path in the makefile and in the c_cpp_properties.json and it seems correct.
Do you have a solution ?
(I installed the toolchain a few months ago without troubles)
Best,
Clément.

I changed the MakeFile & Cpp_json_properties and it's fixed !


[DOCU-348] Admin API: rm del service for route

Summary
Remove Admin API Delete Service Associated to a Specific Route endpoint from versions 1.3.x onward.
Reason
Addresses DOCU-348
Testing
Latest:
https://deploy-preview-3740--kongdocs.netlify.app/gateway/2.8.x/admin-api/#delete-service

Are you saying we should add DELETE = false rather than delete it outright?

Are you saying we should add DELETE = false rather than delete it outright?

We should do both. The work you did in this PR was necessary, since we don't regenerate old content. To avoid the same issue going forward, we should add DELETE = false for this endpoint in the code repo.


Add support hash partitioning by a subset of dimensions to indexTask

Added a new configuration partitionDimensions to indexTuningConfig which is similar to that of HadoopIndexTask.

@jihoonson, the test errors look legitimate, could you please check them? In addition, it seems the expected value changes from run to run for "testPerfectRollup:847" -- is this intended?
Failed tests:
org.apache.druid.indexing.common.task.IndexTaskTest.testIntervalNotSpecified(org.apache.druid.indexing.common.task.IndexTaskTest)
  Run 1: IndexTaskTest.testIntervalNotSpecified:634 expected:<2014-01-01T00:00:00.000Z/2014-01-01T01:00:00.000Z> but was:<2014-01-01T02:00:00.000Z/2014-01-01T03:00:00.000Z>
  Run 2: IndexTaskTest.testIntervalNotSpecified:634 expected:<2014-01-01T00:00:00.000Z/2014-01-01T01:00:00.000Z> but was:<2014-01-01T02:00:00.000Z/2014-01-01T03:00:00.000Z>
  Run 3: IndexTaskTest.testIntervalNotSpecified:634 expected:<2014-01-01T00:00:00.000Z/2014-01-01T01:00:00.000Z> but was:<2014-01-01T01:00:00.000Z/2014-01-01T02:00:00.000Z>
  Run 4: IndexTaskTest.testIntervalNotSpecified:634 expected:<2014-01-01T00:00:00.000Z/2014-01-01T01:00:00.000Z> but was:<2014-01-01T02:00:00.000Z/2014-01-01T03:00:00.000Z>
org.apache.druid.indexing.common.task.IndexTaskTest.testPerfectRollup(org.apache.druid.indexing.common.task.IndexTaskTest)
  Run 1: IndexTaskTest.testPerfectRollup:847 expected:<1> but was:<2>
  Run 2: IndexTaskTest.testPerfectRollup:847 expected:<0> but was:<1>
  Run 3: IndexTaskTest.testPerfectRollup:847 expected:<0> but was:<1>
  Run 4: IndexTaskTest.testPerfectRollup:847 expected:<0> but was:<1>
Flaked tests:
org.apache.druid.indexing.common.task.IndexTaskTest.testDeterminePartitions(org.apache.druid.indexing.common.task.IndexTaskTest)
  Run 1: IndexTaskTest.testDeterminePartitions:261 expected:<0> but was:<1>
  Run 2: IndexTaskTest.testDeterminePartitions:261 expected:<0> but was:<1>
  Run 3: PASS
org.apache.druid.indexing.common.task.IndexTaskTest.testForceExtendableShardSpecs(org.apache.druid.indexing.common.task.IndexTaskTest)
  Run 1: IndexTaskTest.testForceExtendableShardSpecs:309 expected:<0> but was:<1>
  Run 2: IndexTaskTest.testForceExtendableShardSpecs:309 expected:<0> but was:<1>
  Run 3: PASS

@gianm thanks for the review.

In addition, it seems the expected value changes from run to run for "testPerfectRollup:847" -- is this intended?

This was because of the changed segment push order. I've fixed this by sorting the segments by the interval and then the partitionNum.

@himanshug @dclim any more comments?

Looks good to me, thank you Jihoon!
👍

@dclim thanks! Raised https://github.com/apache/incubator-druid/issues/6426.


Enable disabled task tests

Purpose

$subject

Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #20073 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #20073   +/-   ##
=======================================
  Coverage    19.9%    19.9%
=======================================
  Files          55       55
  Lines        1437     1437
  Branches      218      218
=======================================
  Hits          286      286
  Misses       1138     1138
  Partials       13       13

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 85308fc...efc2950. Read the comment docs.


error while using input_shape in Convolution2D

I get the following error while trying to use Convolution2D with input_shape for 128x128 RGB images.
Any idea what is happening?
File "deepTest.py", line 136, in defineCNN
  model.add(Convolution2D(36, 1, 7, 7, border_mode='valid', input_shape=(3, 128, 128 )))
File "build/bdist.linux-x86_64/egg/keras/layers/convolutional.py", line 255, in __init__
File "build/bdist.linux-x86_64/egg/keras/layers/core.py", line 51, in __init__
File "build/bdist.linux-x86_64/egg/keras/layers/core.py", line 157, in set_input_shape
File "build/bdist.linux-x86_64/egg/keras/layers/convolutional.py", line 266, in build
TypeError: 'int' object is not callable

The relevant code is as below:
model = Sequential()
model.add(Convolution2D(36, 1, 7, 7, border_mode='valid', input_shape=(3, 128, 128 )))
convout1 = Activation('tanh')
model.add(convout1)
model.add(MaxPooling2D(pool_size=(2, 2)))
...

The current API is as below:
keras.layers.convolutional.Convolution2D(nb_filter, nb_row, nb_col, init='glorot_uniform', activation='linear', weights=None, border_mode='valid', subsample=(1, 1), dim_ordering='th', W_regularizer=None, b_regularizer=None, activity_regularizer=None, W_constraint=None, b_constraint=None)

So (36,1,7,7) seems the reason, the correct arguments would be  (36,7,7,...).

Thanks @keunwoochoi.


Install from helm repo by digest

Can we add an option to pull down charts by sha256 digest instead of version (which is allowed to change)? Should be a simple fix?

Is there any progress on this ?

Hi @dimitarKiryakov. This issue was opened nearly two years ago. I don't think anyone has made progress on this feature. Feel like working on something?

closing as inactive.


fix: Add back description column to saved queries #12431

Fixes https://github.com/apache/superset/issues/12431
Add back Description column

Add tooltip for search box

@nytai All checks have passed. Is it good to merge this ?

@rusackas Hoping you can take another look at the changes we've so far and comment on whether anything else is needed before this pr can be merged and issue resolved?

The tooltip looks strangely high up, otherwise we're looking good, and thanks for the touchup! I'll try to find time in a bit to pull your branch and see about using the tooltip component's props to align it, but I'm working on something else at the moment.

The tooltip looks strangely high up, otherwise we're looking good, and thanks for the touchup! I'll try to find time in a bit to pull your branch and see about using the tooltip component's props to align it, but I'm working on something else at the moment.

ack. I'll try to align it as well later in the evening.

The tooltip looks strangely high up, otherwise we're looking good, and thanks for the touchup! I'll try to find time in a bit to pull your branch and see about using the tooltip component's props to align it, but I'm working on something else at the moment.

ack. I'll try to align it as well later in the evening.

@rusackas Hope it looks better now.

@villebro worked on making all lists consistent (using Name) and may have some input here.

OK, I think we're good to go otherwise... I'll await feedback before unilaterally merging. I think Truthfulness outweighs Consitency, which outweighs pretty much any other random change ;)

OK, I think we're good to go otherwise... I'll await feedback before unilaterally merging. I think Truthfulness outweighs Consitency, which outweighs pretty much any other random change ;)

@rusackas Just following up to find out if we need anything else in this PR or if we are good to merge this change.

Done!


Compilation error on MacOS (both arm64 and x86_64) with Python 3.11.6 & Rust 1.79.0 installed via asdf

Bug Description
Undefined symbols for architecture x86_64:
 "_PyBaseObject_Type", referenced from:
...
ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `peano` (lib) due to 1 previous error

Trying to run cargo build in this project.
First I thought it was an Apple silicon issue, but it also fails on intel Mac.
Steps to Reproduce
My Python and Rust are installed via asdf
I try to build the rust library in this project.
I have tried all the tricks I could find:
Added this in Cargo.toml:
[target.x86_64-apple-darwin]
rustflags = [
  "-C", "link-arg=-undefined",
  "-C", "link-arg=dynamic_lookup",
]

[target.aarch64-apple-darwin]
rustflags = [
  "-C", "link-arg=-undefined",
  "-C", "link-arg=dynamic_lookup",
]

Added this in build.rs:
fn main() {
  println!(
      "cargo:rustc-link-arg=-Wl,-rpath,/Library/Developer/CommandLineTools/Library/Frameworks"
  );
}

Backtrace
No response
Your operating system and version
Sonoma 14.5
Your Python version (python --version)
3.11.6
Your Rust version (rustc --version)
rustc 1.79.0 (129f3b996 2024-06-10)
Your PyO3 version
0.18.2
How did you install python? Did you use a virtualenv?
asdf
Not using virtualenv.
Additional Info
$ which python
/Users/helix/.asdf/shims/python

$ PYO3_PRINT_CONFIG=1 cargo test
warning: unused manifest key: target.aarch64-apple-darwin.rustflags
warning: unused manifest key: target.x86_64-apple-darwin.rustflags
   Compiling pyo3-ffi v0.18.2
error: failed to run custom build command for `pyo3-ffi v0.18.2`

Caused by:
  process didn't exit successfully: `/Users/helix/code/peano/environment/target/debug/build/pyo3-ffi-4888c96affd219bc/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=PYO3_CROSS
  cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
  cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG

  -- PYO3_PRINT_CONFIG=1 is set, printing configuration and halting compile --
  implementation=CPython
  version=3.11
  shared=true
  abi3=false
  lib_name=python3.11
  lib_dir=/Users/helix/.asdf/installs/python/3.11.6/lib
  executable=/Users/helix/.asdf/installs/python/3.11.6/bin/python
  pointer_width=64
  build_flags=
  suppress_build_script_link_lines=false

  note: unset the PYO3_PRINT_CONFIG environment variable and retry to compile with the above config

$ xcode-select -v
xcode-select version 2408.

Changing Pyo3 version to 0.20.2 in Cargo.toml did not help.

Ah, I had been adding rustflags to Cargo.toml of the project by mistake. Adding this to ~/.cargo/config.toml (which had to be created) fixed it - at least on M1 / arm64.


Exception to log

Added an additional column called error-message in datasette log table for endpoints which are failing. Added error message for endpoints returning empty status as well as a error status code. This particular change makes sure that the log.csv created for each collection has that additional column.
Concerned Ticket: https://trello.com/c/fRwiKwEP/78-spike-review-of-endpoint-collection-logs

Codecov Report
Patch coverage: 50.00% and project coverage change: -0.02 :warning:

Comparison is base (d989d26) 77.68% compared to head (241ad3b) 77.67%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #125      +/-   ##
==========================================
- Coverage   77.68%   77.67%   -0.02%
==========================================
  Files          66       66
  Lines        3218     3220       +2
==========================================
+ Hits         2500     2501       +1
- Misses        718      719       +1

Impacted Files
Coverage Δ

digital_land/schema.py
100.00% <ø> (ø)

digital_land/collect.py
86.91% <50.00%> (-0.71%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add Customizable SVG Icons for IconsLayerInteraction in Edit, Remove, and RotateScale Actions

Platforms
Android, iOS
Description
In the IconsLayerInteraction feature, users currently interact with three main actions: Edit, Remove, and RotateScale. I propose adding an option to allow developers to customize these icons by providing their own SVG assets. This enhancement would enable developers to create a more personalized user interface that aligns with their app’s theme and design language and give them the option to completely replace the default material icons if desired.
The new feature would allow:
=> Customization of the Edit, Remove, and RotateScale icons.
=> Ability to set any SVG asset for these interactions instead of using default icons.
=> Maintaining the core functionality (edit, remove, rotate/scale) while allowing full control over the appearance.
Why
=> Consistency in Design: By allowing custom SVG icons, developers can ensure that the design of their app remains consistent across all screens and features, improving the overall user experience.
=> Flexibility: Developers can match these icons to the app’s theme, branding, and UX guidelines, making the feature more adaptable for various use cases.
=> Enhanced User Experience: Customizing these icons can help create a more familiar interaction style for users, potentially increasing ease of use and engagement.
This feature would empower developers with additional flexibility while keeping the integrity of the IconsLayerInteraction intact.
=> Reduce app size: Developer can remove material icons completely if they are not using that help them to reduce the final build size of apk/ipa

Hi,
Thank you for your feature request.
By default, Flutter does not support displaying SVG images. The only option is to use external packages like flutter_svg to render SVG images.
However, the recommended way in Flutter is that you create a custom icon font, allowing you to use your icons. If your icons are only available as SVGs, you can convert them here into a font, which can then be used as icons. If you're unfamiliar with adding custom fonts, you can refer to this article, which explains the process in detail.
If you would prefer not to use an icon font for your SVG icons, I can add that feature request to my to-do list. However, it will take some time to implement, as I have a few higher-priority tasks at the moment. Alternatively, if you need this feature sooner, you are welcome to create a pull request.

Hey @hm21
Thanks for the prompt response.
I am using flutter_svg in my application. The main reason behind this change is to avoid adding material icons into the project. My client prefers that the app size be as small as possible. We are using very few icons in the app, so I am replacing all the icons with SVGs from your package. I have replaced all except the three I mentioned, as those are not set using the Icons class.

Just to confirm my understanding, you're replacing every icon except these three with an SVG image from the flutter_svg package, rather than using your own font, correct?
I'm asking because you mentioned IconsLayerInteraction and said, "those are not set using the Icons class" which left me a bit uncertain about what you did exactly. The IconsLayerInteraction class only allows adding IconData, not widgets like SvgPicture, so I want to ensure we're on the same page.
Do you maybe use ImageEditorCustomWidgets to replace every other icon?

Here I have attached what I did to replace the other icons with svg. Refer screenshot 1. Now When I am trying to change for the other three (highlighted in screenshot 2) it gives error.

Okay, got it, you used before custom widgets to replace it. I just released version 5.3.0 which allows you also to replace these icons with custom widgets. You can view an example of how to implement this feature here.


Attempting to delete a Collection you aren't permitted to delete confusingly throws a "not found" error

Issue Summary
Attempting to delete a Collection which you are not permitted to delete will throw a 404 Not Found error, instead of rendering the template that says "You're not allowed to do that" (or whatever).
Steps to Reproduce

Give a user Edit but not Delete permission on Collection X.
User attempts to edit the collection from /admin/collections/X/.
Due to #10084 the user will erroneously see the "Delete Collection" button.
Clicking that button results in a 404 Not Found error.

Source of Bug
This is happening because of how collections.Delete.get_queryset() is used by other code. It limits the Collections it returns to those for which the User actually has delete permission. But since DeleteView.get_object() calls SingleObjectMixin.get_object(), which calls Delete.get_queryset() to source its single object, that queryset being empty because the user doesn't have delete permission triggers a 404. This prevents the view from saying "You don't have delete permission on this Collection" (or whatever it's supposed to be doing).
Proposed Solutions

It could be that fixing #10084 will be sufficient, as users will no longer be able to get to the deletion view for unpermitted Collections.
Maybe defining Delete.get_object() so that it'll use a different queryset than what Delete.get_queryset() returns would work?

Thanks, I can confirm this issue exists.

Hmm, after looking into #10084, I think your first proposed solution is right – fixing that should be sufficient. This 404 behaviour also exists with EditView and the "change" permission.
As you mentioned, these views consider the permissions ahead-of-time as part of the query, instead of fetching the object and checking the permission afterwards.
I don't think this is a problem, and it may well be the preferred behaviour, as it imposes a better restriction: by showing a 404, we basically don't give the user the permission to even know that the collection exists. If we give a redirect with a message "Sorry, you don't have permission to edit/delete this collection", we're giving away the fact that there is a collection with that ID.
Other websites also have a similar behaviour, e.g. if you try to access a private repo on GitHub that you don't have access to, GitHub will throw a 404 instead of saying you don't have access.


Test timed out.

Hi,
I've started with acceptance tests in Ember.js and wrote simple test
test('visit teacher', async function(assert) {
        await visit('/teacher/6');
        assert.ok(find('h1.name'), 'Ричард_test');
});

And when I start test I get error:
Test took longer than 60000ms; test timed out.@ 60099 ms
This route requests data from server. But when I try to create test of visiting route without data requests then test runs well.
I use Ember 3.1 and ember-qunit 3.4.0

Are you mocking the response? If not, the promise created in your route to fetch data will not resolve, the test can't move on, and it will time out

So do you have any idea on how to modify the timeout - my ember-qunit also runns into this when using the await pauseTest() function, which kind of destroys your debugging session (in the browser) after that timeout.
It would be useful to disable or set the timeout to a very high value via the commandline to adjust.
One (in my view) valid use-case of ember-quit is also to help as a interaction script when doing tdd - I'd like to test something which is several steps away (click button, fill form, …) from my route entry, which are steps I do not want to always redo manually after a file change.

@chris-aeviator I usually run a specific test in devmode, then the pauseTest won't timeout.
also https://api.qunitjs.com/config/QUnit.config

@devdemi check the redefine of QUnit.config.testTimeout value in config files.
most luckely here: tests/test-helper.js
it looks like it redefined to 60000 in your case to force the fail on unexpected errors.
so, to resolve this issue we can temporarily change this value into default: undefined:
QUnit.config.testTimeout = undefined;

QUnit.config.testTimeout (number) | default: undefined
source: https://api.qunitjs.com/config/QUnit.config

@BobrImperator it seems like you using the updated version of ember-qunit-cli that why it works for you in dev mode:
https://github.com/ember-cli/ember-cli-qunit/pull/120/files
@devdemi so, before upgrade we can you the same approach here:
QUnit.config.testTimeout = QUnit.urlParams.devmode ? undefined : 60000;

ah :smile: sorry, the main goal of this issue was completely different :smiley:
I was surfed and looked at the last comments only, so decided that the issue is that the test crashes with timeout error when pauseTest is used for debugging
so this response is totally correct:

Are you mocking the response? If not, the promise created in your route to fetch data will not resolve, the test can't move on, and it will time out

Thanks to @nlfurniss

This route requests data from server. But when I try to create test of visiting route without data requests then test runs well.

check the mock of get requests in your mirage server config, you probably have
mock like: this.get('/teacher'); but not like: this.get('/teacher/:id');
so, just add it, btw, it probably should be teacherS not teacher to produce the index request, and /teachers/:id for show request

Are you mocking the response? If not, the promise created in your route to fetch data will not resolve, the test can't move on, and it will time out

Hey, can u also tell where we can mock the response like in which directory or file?


[INTL] Mixed character don't displayed  in "Projects"

Description
Mixed character don't displayed  in "Production Hostname (optional)" or "Repository URL: https://github.com/..."
To Reproduce
Steps to reproduce the behavior:

Go to project folder
Click on extension button > "Add this project"
Click on extension button -> "Options"
Click "Edit" button in "Projects"
Enter mix character example "ไทยعربى国ñ" in "Production Hostname (optional)" or "Repository URL: https://github.com/..."
Click "Save"
Observe "Production"
Observe result: Mixed character don't displayed in "Projects"
Expected result: All symbol displayed correctly

https://github.com/adobe/helix-sidekick-extension/assets/144205585/c4195b74-8c91-42bc-97c5-88a9335c4cef

As discussed with @rofe , closing this issue based on below key points:
Regarding point 5 in the issue explained above (Enter mix character example "ไทยعربى国ñ" in "Production Hostname (optional)" or "Repository URL: https://github.com/...")

Invalid GitHub URL is now handled in #662
Mix characters shouldn't be allowed in Production Hostname - The domain names should be limited to characters allowed by http spec.

:tada: This issue has been resolved in version 6.41.0 :tada:
The release is available on:

GitHub release
v6.41.0

Your semantic-release bot :package::rocket:


Added alt tags

Fixes 75
This PR fixes the following issues:
closes #75

Changes proposed
Here comes all the changes proposed through this PR

Check List (Check all the boxes which are applicable)

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
Add all the screenshots which support your changes

@hindu-muppala you check out the checklist properly.


Directory.watch on OS X can report events that happened while it wasn't watching

If a subscription to Directory.watch is created, canceled, and re-created it can receive events that occurred while it wasn't listening. This is causing flakiness on the watcher package bots. An easy reproduction is to run the following code:
import 'dart:async';
import 'dart:io';

Future printNextEvent(String path) {
  var completer = new Completer();
  var sub;
  sub = new Directory("test").watch().listen((event) {
    print(event);
    sub.cancel();
    completer.complete();
  });

  return completer.future;
}

main() async {
  new Directory("test").createSync();

  var future = printNextEvent("test");
  await new File("test/one.txt").writeAsString("");
  await future;

  await new File("test/two.txt").writeAsString("");

  printNextEvent("test");
  await new File("test/three.txt").writeAsString("");
}

Notice that it prints events for one.txt and two.txt, rather than for one.txt and three.txt as you'd expect (and as it does on Linux).
See also #14373.

This behavior is now documented.
It is hard to avoid this behavior on OS X without taking a large performance hit.


Fix documentation link

FYI your documentation link is broken.

Sorry, just saw this is fixed in #126


 We already know
that it's the account we are currently viewing.

Coverage remained the same at 99.152% when pulling f0ed9eb1c14ffd00bd0bbeb69d94a9e1235fcb9d on tf:eager-account-users-tab into 813e84f2ce33d0ba2ef179c110eeafc2b5bf9474 on codevise:master.


How to do a zip operation on 2 EntryStreams?

hi, I have the following pseudo code that I want to rewrite in Stream:
Object[][] array = new Object[allRows.size()][allCols.size()];
for (int i = 0; i < allRows.size(); i++) {
    for (int j = 0; j < allCols.size(); j++) {
        xxx code;
        array[i,j] = xxx();
    }
}

The 2 indexes i and j must be used in the loop。
The way I thought of doing it was to replace the 2-fold for loop with zip and iterate over the elements with index by way of EntryStream.of(allRows), but I found that the zip method is not supported by EntryStream, but is supported by the normal StreamEx class, so how do I do it by way of StreamEx? How can I achieve my requirement by means of StreamEx?

I did the zip test with 2 normal Lists and found that it doesn't achieve the effect I want, how can I use StreamEx to replace the above for loop?

List<String> rows = Lists.newArrayList("a", "b", "c");
        List<String> cols = Lists.newArrayList("1", "2", "3");

        EntryStream.of(rows).flatMap(rowsEntry -> EntryStream.of(cols).flatMap(colsEntry -> Stream.of(Pair.of(rowsEntry, colsEntry))))
                .forEach(pair -> {
                    System.out.println("threadName == " + Thread.currentThread().getName()
                            + ",rows.index == " + pair.getLeft().getKey()
                            + ",rows.value == " + pair.getLeft().getValue()
                            + ",cols.index == " + pair.getRight().getKey()
                            + ",cols.value == " + pair.getRight().getValue()
                    );
                });

I myself have achieved

`        List rows = Lists.newArrayList("a", "b", "c");
List cols = Lists.newArrayList("1", "2", "3");
    StreamEx.of(rows).cross(cols).forKeyValue((key, val) -> {
        System.out.println("threadName == " + Thread.currentThread().getName()
                + ",rows.value == " + key
                + ",cols.value == " + val
        );
    });`

does this work ?

?? my code block

@loordgek  Thanks for learning about the cross API, but I need to use the index to iterate over the relevant elements in a loop, which doesn't have an index, and the EntryStream doesn't have a cross method.

why do you need the index cant you use the entrystream?

@loordgek Because at the end of the loop I have to write one of the internally calculated data into a two-dimensional array, the two-dimensional array needs an index, which is the index associated with each element of the loop rows and cols.

@loordgek You can see from my code at the top that at the end I need to write the index and the calculated data to the array, so I need both the elements and the index in the Cartesian product loop

https://gist.github.com/8d5c50bfe7094fb0a573ca4d75d40120

i dont know what to put in the characteristics method

@loordgek The result is incorrect and can be compared to my code below, where the CHARACTERISTICS can be CONCURRENT, as my actual code would use parallel().
 Hence, I close this.


Write a Ruby program to cylindrically rotate a matrix by 90 degrees

Description
Write a Ruby program to cylindrically rotate a matrix by 90 degrees
Input  :
1 2 3
4 5 6
7 8 9

Output :
7 4 1
8 5 2
9 6 3

How to contribute

Save the solution in CylindricallyRotateAMatrixBy90Degrees.rb file
Add CylindricallyRotateAMatrixBy90Degrees.rb file in program/cylindrically-rotate-a-matrix-by-90-degrees folder

HI @harshraj8843, Please assign this issue to me.
Thanks.

!assign


Clear model passing objects

I have this code:
$scope.autocompleteOptions = {
suggest: $scope.suggestContacts,
on_select: $scope.addContactToGuests
};
$scope.addContactToGuests = function(selected) {
$rootScope.contacts.push(selected.contact);
$scope.contact = undefined;
};
But the input wasnt cleaned before de selection. In the example page of MassAutocomplete, it works similary.
Whats wrong? Help me please.

Make sure you set your input to ng-model=contact

Yes, it is setted. Check

Any Answer? could you see the problem?

Hard to tell from these bits of code. Can you set up a plunker / fiddle / jsbin to demostrate the probelm ? This dosent seem like an issue with the directive, it looks like something in you code.


Feature/cellular

Description

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We will help to verify and review this PR.

We will help to verify and review this PR.


Delay

Hi ! we ask for a phone number porting in Canada one month ago but we didn't receve anything.
is the delay normal ?
thanks

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


add base_url and base_file_url to TelegramBotClient constructor parameter

Naming should follow the current style (no underscores in the middle of the name).
New parameters should also not come before the httpClient parameter, as it's less likely to ever be used and a breaking change for no reason.

Hey @naderAbolfazli
What's the reason for parametrizing base URLs?

Hey @naderAbolfazli
What's the reason for parametrizing base URLs?

hey
it's provided in some other languages telegram sdk such as python so those sdk could use for another api that likes telegram bot api. for example, in bale messenger new bot api released based on telegram bot api so bot developer could use their bot in both with only change of base_url

In that case, we might want to set the base URL on the HTTP client and not introduce additional parameters to the constructor.

@poulad Wouldn't that require having two separate http clients since Bot API have a different url for files?
I don't mind having both base urls as properties with public setters.

Wouldn't that require having two separate http clients since Bot API have a different url for files?

It could work for Telegram's api, setting the base as "https://api.telegram.org/", but I don't think anything is gained since you still have to prepend "bot/" or "file/bot/" and other services may not share the same base for file urls.
+1 on public setters, anyone wanting to use this will surely be informed of having to change these values

public setters are ok?

Closing as the issue has not been resolved for a while.


Data binding in XAML not working when bound property is obfuscated

I have some code where the background colour of a button is animated based on the data binding to a property in the code behind. When I opt to obfuscate properties using the RenameProperties option in obfuscar.xml the data binding is broken.
I use very verbose naming for fields and properties to aid code readability so I give a lot away when I can't obfuscate the properties.
I have included the XAML and related code behind below for reference. It works fine when not obfuscated or I set RenameProperties to false. Is there a way I can address this?
XAML:
<Button Content="Connect">
    <Button.Resources>
        <Style TargetType="{x:Type Button}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsLoggedOn}" Value="true">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <ColorAnimation
                                    Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"
                                    Duration="00:00:0.2"
                                    To="#00C416"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>

                    <DataTrigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <ColorAnimation
                                    Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"
                                    Duration="00:00:0.2"
                                    To="Red"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.ExitActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Resources>
</Button>

Code Behind:
private bool _IsLoggedOn;

public bool IsLoggedOn
{
    get { return _IsLoggedOn; }
    private set
    {
        _IsLoggedOn = value;
        OnPropertyChanged();
    }
}

public event PropertyChangedEventHandler PropertyChanged;

protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
    PropertyChangedEventHandler handler = this.PropertyChanged;

    if (handler != null)
    {
        var e = new PropertyChangedEventArgs(propertyName);
        handler(this, e);
    }
}

Known. You can refer to similar issues in https://github.com/obfuscar/obfuscar/labels/area%3AWPF%2FUWP

I also see that Obfuscar is destorying my bindings of Eto.Forms controls when ViewModel is obfuscated - Eto.Forms is using WPF on Windows OS. Are there any workarrounds to make it work?

@arcykojot https://docs.obfuscar.com/support/faq#how-to-troubleshoot-typeloadexception-during-reflection


[Decommission Hub] Callysto

Summary
Callysto's funding from the Government of Canada ends soon.
Info

Community Representative: @byrcyb
Link to New Hub issue:  #1439
Proposed end date: 2024-02-29

Task List
Phase I

[x] Confirm with Community Representative that the hub is no longer in use and it's safe to decommission
[x] Confirm if there is any data to migrate from the hub before decommissioning

[ ] If yes, confirm where the data should be migrated to

[ ] Confirm a 2i2c Engineer has access to the destination in order to complete the data migration

[x] If no, confirm it is ok to delete all the data stored in the user home directories

Phase II - Hub Removal
(These steps are described in more detail in the docs at https://infrastructure.2i2c.org/en/latest/hub-deployment-guide/hubs/other-hub-ops/delete-hub.html)

[x] Manage existing home directory data (migrate data from the hub or delete it)
[ ] Manage existing cloud bucket data (migrate data, or delete it)
[x] Delete the hub's authentication application on GitHub or CILogon (note CILogon removal requires the hub config in place)
[x] Remove the appropriate config/clusters/<cluster_name>/<hub_name>.values.yaml files. A complete list of relevant files can be found under the appropriate entry in the associated cluster.yaml file.
[x] Remove the associated hub entry from the config/clusters/<cluster_name>/cluster.yaml file.
[x] Remove the hub deployment

helm --namespace HUB_NAME delete HUB_NAME
kubectl delete namespace HUB_NAME

Phase III - Cluster Removal
This phase is only necessary for single hub clusters.

[x] Remove the cluster's datasource from the central Grafana with:

deployer grafana central-ds remove CLUSTER_NAME

[x] Run terraform plan -destroy and terraform apply from the appropriate workspace, to destroy the cluster
[x] Delete the terraform workspace: terraform workspace delete <NAME>
[x] Remove the associated config/clusters/<cluster_name> directory and all its contents
Remove the cluster from CI:

[x] deploy-hubs.yaml
[ ] validate-clusters.yaml

[ ] Remove the cluster from the list of grafana datasources at https://grafana.pilot.2i2c.cloud/datasources
[x] Remove A record from Namecheap account

@chealion Can you confirm that deletions are fine?

@damianavila does February 29, 2024, work for you for the decommission date of our 2i2c hub? How much lead time do you need to decommission the hub? We're still finalizing our data migration plans but should have that in place soon but want to give you enough time on your end to complete.

@byrcyb @damianavila Can confirm that we're slated to do our back up tomorrow and after that everything will be clear to do the terraform destroy to delete everything.

@damianavila As a heads up we have backed up all the user home directories. Although we're not sure if there is an easy way to use CILogin later on to find out the user ID used for their home folder. Is there any documentation on how to use CILogin after the fact to determine what the user ID it would calculate would be?

how to use CILogin after the fact to determine what the user ID it would calculate would be?

Unfortunately I don't think there is. I think each user would have to login and take note of their user ID that would be displayed in the top right near the logout button. @GeorgianaElena am I right?

Thanks @sgibson91 - if it's not we'll have to run with it.
That said, the hub is ready to be taken down anytime between now and the 29th as well. (We'd like to make sure the terraform destroy has been run before EOD on the 29th to avoid any unexpected March charges)

Thanks @Chealion - I will start work on decommissioning the hub today

@Chealion, @sgibson91, if I'd understood the question correctly, you could also get the user ID directly from CILogon.

Go to https://cilogon.org/
Login with the same provider and account that were used to login into the hub (ex: Google and institutional email address)
You will be presented with a page like the one below, where the id that was used for the hub username was the one in the OpenID field, under the User Attributes section.

if I'd understood the question correctly, you could also get the user ID directly from CILogon.

I think they have the user IDs as these are the names of the home directories. They want to work backwards to match them to the original users (I guess their emails). This still involves every user logging into CILogon and reporting what their user ID and their email is, so it's not very automatable 😕

Note that there were two CILogon apps for Callysto's prod hub:
$ deployer cilogon-client get-all | grep "${CLUSTER_NAME}"
{'client_id': 'cilogon:/client_id/5e08f6663d8004c17ef6cf6c597b1d6e', 'name': 'callysto-prod'}
{'client_id': 'cilogon:/client_id/62c981a3d525b4d25f0f771624989ec2', 'name': 'callysto-prod'}

The deployer didn't have the correct information to delete one of them:
deployer cilogon-client delete --client-id cilogon:/client_id/5e08f6663d8004c17ef6cf6c597b1d6e $CLUSTER_NAME $HUB_NAME
{
    "app_type": "web",
    "at_lifetime": 0,
    "client_id": "cilogon:/client_id/62c981a3d525b4d25f0f771624989ec2",
    "client_id_issued_at":<PHONE_NUMBER>,
    "client_name": "callysto-prod",
    "client_uri": "",
    "ersatz_client": false,
    "ersatz_inherit_id_token": false,
    "extends_provisioners": false,
    "forward_scopes_to_proxy": false,
    "is_service_client": false,
    "proxy_claims_list": [],
    "proxy_request_scopes": [
        "*"
    ],
    "redirect_uris": [
        "https://2i2c.callysto.ca/hub/oauth_callback"
    ],
    "registration_client_uri": "https://cilogon.org/oauth2/oidc-cm?client_id=cilogon:/client_id/62c981a3d525b4d25f0f771624989ec2",
    "rt_lifetime": 0,
    "scope": [
        "org.cilogon.userinfo",
        "openid",
        "email"
    ],
    "service_client_users": [
        "*"
    ],
    "skip_server_scripts": false,
    "strict_scopes": true
}
CILogon records are different than the client app stored in the configuration file. Consider updating the file.

Hopefully there is a web UI where I can manually delete this?

The cluster is now removed, just waiting for #3741 to be merged (for file cleanup purposes)

Awesome and thank you so very much everyone! The need for username is only in the event we do have a user report they did forget to retrieve something. So knowing we could have them log into CILogin to get that ID is far more than we expected.


Feature/username

Critical Changes
Changes
Include userinfo in the OrgConfig, and print username and org id at the beginning of every task run.
Issues Closed
#204 Print org name/username at start of task/flow

this maybe is more efficiently resolved with the conversation we had about logging, but this may still be useful in the interim.


French locales

Added French translations for France, Canada and Belgium.
Updated French Calendar.
Fix 2 typos in English localization.

Also I'm not sure about bumping the version, if it should go in a new 1.2.4 or stack in the actual 1.2.3.

Thanks for the amazing contribution @emagnier! I have merged in the code and will publish to npm as revision at 1.2.3 as I haven't published that version to npm yet.


Dsd 766/select bug fix

Fixes JIRA ticket xxx
This PR does the following:

Fixes bug described in DSD-766.
Adds snapshot testing for the Select component.

How has this been tested?

All previously existing and new tests pass.

Accessibility concerns or updates

No concerns or updates.

Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[x] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr874-c31r1hcb06nhetnxgnvr0toiwvkojwfq.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/620ea6ccdae2dd15a5c44164

Tugboat has finished building the preview for this pull request!
Link:

https://pr874-c31r1hcb06nhetnxgnvr0toiwvkojwfq.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/620ea6ccdae2dd15a5c44164


MSW/Vitest/React Query tests not properly isolated

Describe the bug
I've recently migrated from Jest to Vitest to run my tests, but I'm seeing an issue where the db instance I'm creating using https://github.com/mswjs/data seems to be shared across different test suites. I feel like I must be doing something wrong here, but can't quite figure out what!
I've raised this issue against MSW Data too (here) in case my usage pattern goes against their recommendations, but I know the maintainer doesn't get a lot of time to work on the project, and I'm not sure which library the issue is coming from!
Reproduction
I've created a minimal reproduction here: https://github.com/themagickoala/msw-data-vitest-pollution
If you run npm run test you can see errors being thrown in the add user handler because a user with the given id already exists. Is there something I'm doing that's against the recommended usage of this library? Or is it a Vitest issue (I wasn't seeing this with Jest)?
System Info
System:
    OS: Linux 6.0 Pop!_OS 22.04 LTS
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    Memory: 45.53 GB / 62.56 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    npm: 9.5.1 - ~/.nvm/versions/node/v18.16.0/bin/npm
  Browsers:
    Chrome: 113.0.5672.126
    Firefox: 111.0.1
  npmPackages:
    @mswjs/data: ^0.12.0 => 0.12.0
    msw: ^1.2.1 => 1.2.1
    @tanstack/react-query: ^4.29.7 => 4.29.7
    vitest: ^0.31.1 => 0.31.1

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

UPDATE: I've found the root cause of this, and it seems like it's actually down to Vitest correctly isolating test suites. MSW is not using a unique seed for its hashed id values, which means the db instance is shared between tests. See update here: https://github.com/mswjs/data/issues/275


Add tag template to News theme

This makes the tag template of the News theme into something usable. As a stretch goal, it also refactors the content-single.php partial into a more usable and sustainable condition in a separate commit.
These changes will result in a more usable display of content for visitors who click a link on the front page of DSpace@MIT.
Links to the review app and more context are in the linked ticket.
Ticket: https://mitlibraries.atlassian.net/browse/PW-55
Note: during evaluation of this change via ANDI, I realized that there are some color contrast problems in the News theme. They are not introduced with this change, but they exist in the tag template because of how the author line (and event information) are rendered. I've created https://mitlibraries.atlassian.net/browse/PW-56 in the backlog to tackle this issue among our other work.
Developer
Stylesheets

[x] Any theme or plugin whose stylesheets have changed has had its version
string incremented.

Secrets

[ ] All new secrets have been added to Pantheon tiers
[ ] Relevant secrets have been updated in Github Actions
[ ] All new secrets documented in README
[x] No secrets are affected by this change

Documentation

[ ] Project documentation has been updated
[x] No documentation changes are needed

Accessibility

[x] ANDI or Wave has been run in accordance to
our guide and
all issues introduced by these changes have been resolved or opened as new
issues (link to those issues in the Pull Request details above)
New ticket: https://mitlibraries.atlassian.net/browse/PW-56

Stakeholder approval

[x] Stakeholder approval has been confirmed
[ ] Stakeholder approval is not needed

Dependencies
NO dependencies are updated
Code Reviewer

[x] The commit message is clear and follows our guidelines
(not just this pull request message)
[ ] The changes have been verified
[x] The documentation has been updated or is unnecessary
[x] New dependencies are appropriate or there were no changes

The tag template seems to be working as expected on the news theme. I'm not sure how to verify the changes in content-single.php, but the refactored code seems to make sense. :shipit:

Oh, I don't know if I ever documented how to verify which templates are used in building a given HTML page. content-single.php is now used on the tag template. I've made ticket PW-59 to create this.


chore: release preparation

Summary

Documentation:

Updated CHANGELOG.md
Bumped up module version number to <IP_ADDRESS>1
Added downloads badge in the docs
Updated docs with new versions for PowerValidatedSolutions and VMware.PowerCLI

Type

[ ] Bugfix
[ ] Enhancement or Feature
[ ] Code Style or Formatting
[ ] Documentation
[ ] Refactoring
[x] Chore
[ ] Other
Please describe:

Breaking Changes?

[ ] Yes, there are breaking changes.
[x] No, there are no breaking changes.

Test and Documentation

[ ] Tests have been completed.
[x] Documentation has been added or updated.

Issue References

Additional Information

Addressed the comments.

@bhumitra, I noticed that the versions for the dependencies also need to be bumped in the docs/index.md.

Addressing it in a moment.

@bhumitra, I noticed that the versions for the dependencies also need to be bumped in the docs/index.md.

Addressing it in a moment.

Addressed.


feat: clear input field on blur if the user has not selected any option

Hello and sorry for the late reply! You are on the right track here but you are using onBlur on the element instead of downshift's stateReducer which is more proper here I think. Then it would be
case useCombobox.stateChangeTypes.InputBlur:
            return {
              ...changes,
              inputValue: changes.selectedItem
                ? getLabel(changes.selectedItem)
                : '',
            }

However while testing this I came across some pre-existing bugs that needed to be fixed at the same time, plus we also needed to add a new "no options" ui-element (see original issue #3070) requiring some designer input, so I decided to handle this task myself. I will however use your test though!


FlutterError.onError doesn't work

few days ago, i upgrade flutter version form 1.9(maybe 1.6) to 1.12
i used use FlutterError.onError and runZoned get some error logs,but today i find FlutterError.onError doesn't work. i'm not sure the reason is flutter upgrade.
here is my code(Simplified)
testing errors
import 'package:flutter/material.dart';

void main() {
  FlutterError.onError = (FlutterErrorDetails details) async {
    print('FlutterError.onError!!!');
    FlutterError.dumpErrorToConsole(details);
  };

  runApp(new MyApp());
}

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

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Flutter error'),
        ),
        body: ListView(
          children: <Widget>[
            RaisedButton(
              onPressed: () {
                // throw error
                var tmp = {};
                return tmp['aa']['bb'];
              },
              child: Text('Text error'),
            ),
            Container(
              width: 100,
              height: 100,
              color: Colors.amber,
            )
          ],
        ),
      ),
    );
  }
}

when i click button Text error , console can't output FlutterError.onError!!!.
Logs
flutter doctor -v
[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18362.535], locale zh-CN)
    • Flutter version 1.12.13+hotfix.5 at D:\xxx\flutter
    • Framework revision 27321ebbad (8 days ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\xxx\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: D:\软件\android studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[√] Android Studio (version 3.5)
    • Android Studio at D:\软件\android studio
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] Connected device (1 available)
    • PBCM30 • 6306b2a1 • android-arm64 • Android 8.1.0 (API 27)

! Doctor found issues in 1 category.

+1

Probably related to #44407

same issue here

According to this response to a similar question on stackoverflow,

It looks like when in debug mode, the flutter framework catches a lot of exceptions, prints to the console (and sometimes shows in the UI itself in red and yellow), but doesn't re-throw - so they are effectively swallowed and there's no way for your own code to catch them. But, when you deploy in release mode, this doesn't happen. So my minimal reproducible example does catch exceptions when built in release mode.

It seemed to work for me when I ran the app in --release mode.

@Pyroscout @HannibalKcc
FlutterError.onError = (FlutterErrorDetails details) async {
    print('FlutterError.onError!!!');
    FlutterError.dumpErrorToConsole(details);
  };

this should be in fact this
FlutterError.onError = (FlutterErrorDetails details) async {
        if (isInDebugMode) {
            FlutterError.dumpErrorToConsole(details);
        } else {
            Zone.current.handleUncaughtError(details.exception, details.stack);
        }
    };

This way the zone will get to handle all the uncaught errors if isInDebugMode=false.

change causes internal test failure


Regression since Jan 5

We have ROS 2 tests that have regressed because of a change in fastrtps between Jan 4 and Jan 5.
Context
In the tests of the composition package, multiple participants, each with a publisher, subscriber, client or server, are loaded into a single process. The tests check that after the participants are loaded, the publisher and subscriber and/or the client and server are communicating.
What we now observe instead is that, while the participants are loaded into the process OK, they do not communicate.
An example (the 'listener' is supposed to print that it received the messages published):
https://ci.ros2.org/job/ci_linux-aarch64/1131/
(load_talker_component) pid 30581: ['/home/rosbuild/ci_scripts/ws/build/composition/api_composition_cli', 'composition', 'composition::Talker'] (stderr > stdout, all > console)
(load_listener_component) pid 30582: ['/home/rosbuild/ci_scripts/ws/build/composition/api_composition_cli', 'composition', 'composition::Listener'] (stderr > stdout, all > console)
[load_listener_component] [INFO] [api_composition_cli]: Sending request...
[load_listener_component] [INFO] [api_composition_cli]: Waiting for response...
[load_talker_component] [INFO] [api_composition_cli]: Sending request...
[load_talker_component] [INFO] [api_composition_cli]: Waiting for response...
[test_api_composition] [INFO] [api_composition]: Load library /home/rosbuild/ci_scripts/ws/build/composition/libtalker_component.so
[test_api_composition] [INFO] [api_composition]: Instantiate class composition::Talker
[load_talker_component] [INFO] [api_composition_cli]: Result of load_node: success = true
(load_talker_component) rc 0
[test_api_composition] [INFO] [api_composition]: Load library /home/rosbuild/ci_scripts/ws/build/composition/liblistener_component.so
[test_api_composition] [INFO] [api_composition]: Instantiate class composition::Listener
[load_listener_component] [INFO] [api_composition_cli]: Result of load_node: success = true
(load_listener_component) rc 0
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 1'
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 2'
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 3'
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 4'
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 5'
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 6'

Reproduce with
python3 build_isolated/composition/test_api_pubsub_composition__rmw_fastrtps_cpp_.py

Expected output is:
$ python3 build_isolated/composition/test_api_pubsub_composition__rmw_fastrtps_cpp_.py
(test_api_composition) pid 23792: ['/home/dhood/ros2_ws/build_isolated/composition/api_composition'] (all > console, InMemoryHandler: test_api_composition)
(load_talker_component) pid 23793: ['/home/dhood/ros2_ws/build_isolated/composition/api_composition_cli', 'composition', 'composition::Talker'] (stderr > stdout, all > console)
(load_listener_component) pid 23794: ['/home/dhood/ros2_ws/build_isolated/composition/api_composition_cli', 'composition', 'composition::Listener'] (stderr > stdout, all > console)
[load_talker_component] [INFO] [api_composition_cli]: Sending request...
[load_talker_component] [INFO] [api_composition_cli]: Waiting for response...
[test_api_composition] [INFO] [api_composition]: Load library /home/dhood/ros2_ws/install_isolated/composition/lib/libtalker_component.so
[test_api_composition] [INFO] [api_composition]: Instantiate class composition::Talker
[load_talker_component] [INFO] [api_composition_cli]: Result of load_node: success = true
(load_talker_component) rc 0
[load_listener_component] [INFO] [api_composition_cli]: Sending request...
[load_listener_component] [INFO] [api_composition_cli]: Waiting for response...
[test_api_composition] [INFO] [api_composition]: Load library /home/dhood/ros2_ws/install_isolated/composition/lib/liblistener_component.so
[test_api_composition] [INFO] [api_composition]: Instantiate class composition::Listener
[load_listener_component] [INFO] [api_composition_cli]: Result of load_node: success = true
(load_listener_component) rc 0
[test_api_composition] [INFO] [talker]: Publishing: 'Hello World: 1'
[test_api_composition] [INFO] [listener]: I heard: [Hello World: 1]
[test_api_composition] signal_handler(2)
(test_api_composition) rc 0
() tear down

Cause
Between Jan 4 and Jan 5, these commits were merged into the fastrtps master branch: https://github.com/eProsima/Fast-RTPS/compare/adb0014...3e225d6
At hash adb0014 (Jan 4), these tests would occasionally fail. At 3e225d6 (Jan 5), these tests fail almost all times particularly on slower configurations, e.g. Debug builds on Windows/ARM/OS X processors. This continues to be an issue using the latest master branch (3514b0 at time of writing).
I have narrowed it down to changes in the following commit range: https://github.com/eProsima/Fast-RTPS/compare/adb0014...f67cb58?w=1 where there seem to be changes made to the discovery mutex. At hash adb0014 the tests mostly pass, at hash f67cb58 the tests mostly fail.

I have tried PR https://github.com/eProsima/Fast-RTPS/pull/192 and the tests passed 50 times in a row on ARM debug.

@dhood Can you test your composition test using branch hotfix/#200? Those changes solve the issue in my ARM. About #192 I need more time to test it.

@richiware there are some changes in your branch which I know will fix some deadlocks we have seen in the stack.
I cannot tell if it will address the issues my patch is fixing but I most definitely vote to get your hotfix in.
Also, note that my change also contains a move to using shared pointers for a lot of the PDP / EDP data structures. As it stands right now, the memory is manually managed which IMHO is error prone and makes the code more complicated that it really should be. So, I'm also voting for my patch to go in at some point :P

Branch hotfix/#200 was integrated in master branch.


Loading MNIST Dataset

Running "load_data.py" gives error on "from mnist import MNIST".
Can you please clarify as to from where is this imported.

To load the MNIST dataset you'll additionally need the 'python-mnist' package.
You can install it with pip install python-mnist


DRY: don't repeat key nor Base URL when calling APi

this is done, we're just waiting for merging into main branch in PR #30


Add Tripio Token (TRIO)

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase format
[x] Image format: png
[x] Image size: 256 by 256 px

Oh nice! I can see couple of missing tokens on that list that we need to find.
Wonder what's the best way to notify all the token owners to upload their token image?
Added 0x Tracker to list of applications: https://github.com/TrustWallet/tokens/commit/ac9d085fb5821ecd929502e96c125d7c0fc07e79


feat: Add feature to store custom_files and config in a subdir for each experiment

The feature enables each training session to have it's config and custom_files stored within a subdir under experiments/.
This simplifies being able to locate the config and files that were used for a particular training session.
An additional flag is added to system.env to control the experiment name, which when set will cause the rest of the config to be loaded from $DR_DIR/experiments/<experiment_name>/run.env and $DR_DIR/experiments/<experiment_name>/custom_files/.

Question; does things like dr-increment-training and the -1 flag to dr-upload-model work?

Question; does things like dr-increment-training and the -1 flag to dr-upload-model work?

Yes, they work fine, although the increment-training will just update the current run.env inside the same experiment folder.
I plan to add another command to increment the whole experiment folder which will also update the DR_EXPERIMENT_NAME and increment model prefix + set pretrained prefix.