Array out of bounds in base_reducer interpolate_wf_peak function

Need to protect bounds when indexing in waveforms
Peak finding will fail often / always when dealing with files containing no laser events
If the tevent from the average across and event has a peak < 2 mV or outside 20 - 80 ns then could just set tevent to the middle of the window.. maybe not the best idea, but could make a 'better' reducer to be used specifically for noise analysis later

Traceback (most recent call last):
  File "/home/cta/Software/CHECLabPy/scripts/extract_dl1.py", line 131, in <module>
    main()
  File "/home/cta/Software/CHECLabPy/scripts/extract_dl1.py", line 94, in main
    params = reducer.process(waveforms_bs)
  File "/home/cta/Software/CHECLabPy/CHECLabPy/core/base_reducer.py", line 47, in process
    params.update(self._get_timing(waveforms))
  File "/home/cta/Software/CHECLabPy/CHECLabPy/core/base_reducer.py", line 137, in _get_timing
    t_pulse, amp_pulse = self.interpolate_wf_peak(waveforms)
  File "/home/cta/Software/CHECLabPy/CHECLabPy/core/base_reducer.py", line 123, in interpolate_wf_peak
    y2 = waveforms[self.pixel_arange, t1 + 1]
IndexError: index 128 is out of bounds for axis 1 with size 128

Yes, I will restrict t_event to be within 10 to (n_samples - 10) to avoid this problem, does that seem reasonable?

Yes - that sounds good. At a higher level we can add cuts - for example when making plots of FWHM there's no point in trying for pulses found with low amplitudes or with arrival times very far from the mean

Fixed in #31


sc8280xp: Can't find more than one screen at a time

Are you using the latest driver?
Yes

Are you using the latest EVDI version?
Yes

If you are using a DisplayLink device, have you checked 'troubleshooting'
on DisplayLink's website?
Yes

Is this issue related to evdi/kernel?
Possibly

Hardware is Lenovo Thinkpad X13s (sc8280xp SoC)

Linux distribution and its version
Arch Linux ARM
Linux kernel version
6.0.0-rc4
Xorg version (if used)
X.Org X Server <IP_ADDRESS>
Desktop environment in use
GNOME 42.4

Before connecting, xrandr output:
> $ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x44 cap: 0x2, Sink Output crtcs: 3 outputs: 3 associated providers: 0 name:modesetting

alex@naga ~                                                          [13:33:48]
> $ xrandr --current
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 5120 x 4096
eDP-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 286mm x 179mm
   1920x1200     60.00*+
Unknown20-1 disconnected (normal left inverted right x axis y axis)
Unknown20-2 disconnected (normal left inverted right x axis y axis)

After connecting to DisplayLink dock with two external monitors, dmesg output:
[  154.023785] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[  154.179170] usb 3-1: New USB device found, idVendor=047d, idProduct=8074, bcdDevice=93.05
[  154.179218] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  154.179235] usb 3-1: Product: USB2.1 Hub
[  154.179248] usb 3-1: Manufacturer: GenesysLogic
[  154.233435] hub 3-1:1.0: USB hub found
[  154.234175] hub 3-1:1.0: 4 ports detected
[  154.628147] usb 3-1.1: new high-speed USB device number 3 using xhci-hcd
[  154.765820] usb 3-1.1: New USB device found, idVendor=17e9, idProduct=6000, bcdDevice=32.01
[  154.765842] usb 3-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  154.765849] usb 3-1.1: Product: USB-C Dual-4K Dock
[  154.765853] usb 3-1.1: Manufacturer: DisplayLink
[  154.765858] usb 3-1.1: SerialNumber: DGWC00120695073
[  154.884174] mc: Linux media interface: v0.10
[  154.885078] usbcore: registered new interface driver cdc_ether
[  154.907875] cdc_ncm 3-1.1:1.5: MAC-Address: 80:6d:97:1f:d3:6a
[  154.907887] cdc_ncm 3-1.1:1.5: setting rx_max = 16384
[  154.907976] cdc_ncm 3-1.1:1.5: setting tx_max = 16384
[  154.908192] cdc_ncm 3-1.1:1.5 eth0: register 'cdc_ncm' at usb-xhci-hcd.1.auto-1.1, CDC NCM (SEND ZLP), 80:6d:97:1f:d3:6a
[  154.908294] usbcore: registered new interface driver cdc_ncm
[  154.910620] usbcore: registered new interface driver cdc_wdm
[  154.959130] usb 3-1.2: new high-speed USB device number 4 using xhci-hcd
[  155.100239] usb 3-1.1: Warning! Unlikely big volume range (=767), cval->res is probably wrong.
[  155.100253] usb 3-1.1: [4] FU [Mic Capture Volume] ch = 2, val = -4592/7680/16
[  155.106563] usb 3-1.1: Warning! Unlikely big volume range (=672), cval->res is probably wrong.
[  155.106578] usb 3-1.1: [7] FU [USB Audio Playback Volume] ch = 6, val = -10752/0/16
[  155.107295] usbcore: registered new interface driver snd-usb-audio
[  155.107360] usbcore: registered new interface driver cdc_mbim
[  155.244935] usb 3-1.2: New USB device found, idVendor=047d, idProduct=8076, bcdDevice= 6.60
[  155.244948] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  155.244951] usb 3-1.2: Product: USB2.0 Hub
[  155.244954] usb 3-1.2: Manufacturer: VIA Labs, Inc.
[  155.321313] hub 3-1.2:1.0: USB hub found
[  155.321733] hub 3-1.2:1.0: 4 ports detected
[  155.779223] usb 3-1.4: new high-speed USB device number 5 using xhci-hcd
[  155.951972] usb 3-1.4: New USB device found, idVendor=047d, idProduct=8074, bcdDevice=93.05
[  155.951982] usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  155.951984] usb 3-1.4: Product: USB2.1 Hub
[  155.951986] usb 3-1.4: Manufacturer: GenesysLogic
[  156.025330] hub 3-1.4:1.0: USB hub found
[  156.025893] hub 3-1.4:1.0: 4 ports detected
[  156.060455] evdi: [I] (card1) Opened by Task 485 (DesktopManagerE) of process 473 (DisplayLinkMana)
[  156.060479] evdi evdi.0: [drm] Cannot find any crtc or sizes
[  156.060500] evdi: [W] evdi_painter_send_update_ready_if_needed:693 Painter does not exist!
[  156.060727] [drm] Initialized evdi 1.12.0 20220713 for evdi.0 on minor 1
[  156.060747] evdi: [I] Evdi platform_device create
[  156.060750] evdi: [I] Attaching to usb:3-1.1
[  156.078061] evdi: [I] (card1) Opened by Task 444 (systemd-logind) of process 444 (systemd-logind)
[  156.206055] evdi: [I] (card1) Opened by Task 485 (DesktopManagerE) of process 473 (DisplayLinkMana)
[  156.209741] evdi: [I] (card1) Added i2c adapter bus number 5
[  156.209747] evdi: [I] (card1) Connected with Task 485 (DesktopManagerE) of process 473 (DisplayLinkMana)
[  156.209755] evdi: [I] (card1) Connector state: connected
[  156.212010] evdi: [I] (card2) Opened by Task 485 (DesktopManagerE) of process 473 (DisplayLinkMana)
[  156.212029] evdi evdi.1: [drm] Cannot find any crtc or sizes
[  156.212050] evdi: [W] evdi_painter_send_update_ready_if_needed:693 Painter does not exist!
[  156.212263] [drm] Initialized evdi 1.12.0 20220713 for evdi.1 on minor 2
[  156.212278] evdi: [I] Evdi platform_device create
[  156.212280] evdi: [I] Attaching to usb:3-1.1
[  156.218905] evdi: [I] (card1) Connector state: connected
[  156.219125] evdi: [I] (card1) Edid property set
[  156.219407] evdi: [I] (card1) Connector state: connected
[  156.219582] evdi: [I] (card1) Edid property set
[  156.225660] evdi: [I] (card1) Connector state: connected
[  156.225906] evdi: [I] (card1) Edid property set
[  156.226202] evdi: [I] (card1) Connector state: connected
[  156.226406] evdi: [I] (card1) Edid property set
[  156.227636] evdi: [I] (card2) Opened by Task 444 (systemd-logind) of process 444 (systemd-logind)
[  156.235285] usb 3-1.2.3: new full-speed USB device number 6 using xhci-hcd
[  156.238681] evdi: [I] (card1) Connector state: connected
[  156.238857] evdi: [I] (card1) Edid property set
[  156.239061] evdi: [I] (card1) Connector state: connected
[  156.239200] evdi: [I] (card1) Edid property set
[  156.342906] evdi: [I] (card2) Opened by Task 485 (DesktopManagerE) of process 473 (DisplayLinkMana)
[  156.346373] evdi: [I] (card2) Added i2c adapter bus number 6
[  156.346377] evdi: [I] (card2) Connected with Task 485 (DesktopManagerE) of process 473 (DisplayLinkMana)
[  156.346383] evdi: [I] (card2) Connector state: connected
[  156.380946] usb 3-1.2.3: New USB device found, idVendor=065f, idProduct=f60f, bcdDevice= 1.00
[  156.380956] usb 3-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  156.380959] usb 3-1.2.3: Product: SD4750P USB-C & USB 3.0 Dual 4K Docking Station
[  156.380960] usb 3-1.2.3: Manufacturer: Good way
[  156.380962] usb 3-1.2.3: SerialNumber:<PHONE_NUMBER>ABC
[  156.383884] evdi: [I] (card2) Connector state: connected
[  156.384080] evdi: [I] (card2) Edid property set
[  156.384412] evdi: [I] (card2) Connector state: connected
[  156.384570] evdi: [I] (card2) Edid property set
[  156.385153] evdi: [I] (card1) Connector state: connected
[  156.385304] evdi: [I] (card1) Edid property set
[  156.385509] evdi: [I] (card1) Connector state: connected
[  156.385650] evdi: [I] (card1) Edid property set
[  156.506474] hid-generic 0003:065F:F60F.0003: hiddev0,hidraw2: USB HID v1.11 Device [Good way SD4750P USB-C & USB 3.0 Dual 4K Docking Station] on usb-xhci-hcd.1.auto-1.2.3/input0
[  157.119617] evdi: [I] (card2) Connector state: connected
[  157.119918] evdi: [I] (card2) Edid property set
[  157.120451] evdi: [I] (card2) Connector state: connected
[  157.120691] evdi: [I] (card2) Edid property set
[  157.121347] evdi: [I] (card1) Connector state: connected
[  157.121575] evdi: [I] (card1) Edid property set
[  157.121886] evdi: [I] (card1) Connector state: connected
[  157.122104] evdi: [I] (card1) Edid property set
[  157.230602] evdi: [I] (card2) Connector state: connected
[  157.230892] evdi: [I] (card2) Edid property set
[  157.231462] evdi: [I] (card2) Connector state: connected
[  157.232126] evdi: [I] (card2) Edid property set
[  157.235453] evdi: [I] (card1) Connector state: connected
[  157.236636] evdi: [I] (card1) Edid property set
[  157.238205] evdi: [I] (card1) Connector state: connected

After connecting behavior: No change, but if I log out of gnome session and go back to gdm, the screen will change to ONE of my externally connected monitors.
If I try to log in again, though, all screens are black and unresponsive until a reboot.
If I have one external display connected to the dock, things work better.
> $ xrandr --current
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 7680 x 4320
DVI-I-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1440     60.00
   2560x1080     60.00    59.94    50.00    30.00    29.97    24.00    23.98    25.00
   1856x1392     60.00
   1792x1344     60.00
   2048x1152     60.00
   1920x1200     74.93    59.88
   1920x1080     60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98
   1600x1200     75.00    70.00    65.00    60.00
   1680x1050     74.89    59.95
   1680x945      60.02
   1400x1050     74.87    59.98
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      74.98    59.89
   1280x960      60.00
   1366x768      59.79
   1360x768      60.02
   1280x800      74.93    59.81
   1152x864      75.00
   1280x768      74.89    59.87
   1280x720      60.00    50.00    59.94
   1440x576      50.00
   1024x768      75.03    70.07    60.00
   1440x480      60.00    59.94
   1024x576      59.97
   832x624       74.55
   800x600       72.19    75.00    60.32    56.25
   720x576       50.00
   848x480       60.00
   720x480       60.00    59.94
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08

alex@naga ~                                                          [13:43:59]
> $ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x40 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 1: id: 0xab cap: 0x2, Sink Output crtcs: 3 outputs: 3 associated providers: 0 name:modesetting

But as you can see, it forgets about my internal display completely. It is like it can't support finding more than one screen at a time.

I am using a Lenovo x13s. I am able to run the internal display and a single display over USB C using the Lenovo Universal USB C Dock V2. A second display appears to mirror with no options to extend to the display.
Linux Distribution: NixOS Unstable
Kernel: 6.5 - https://github.com/jhovold/linux/tree/wip/sc8280xp-v6.5
XOrg Version: X.Org X Server <IP_ADDRESS>
Desktop Environment: GNOME 44.3

[root@x13s:/etc/nixos]# xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x44 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 3 associated providers: 0 name:modesetting

[root@x13s:/etc/nixos]# xrandr --current
Screen 0: minimum 320 x 200, current 3840 x 1200, maximum 5120 x 4096
eDP-1 connected primary 1920x1200+1920+0 (normal left inverted right x axis y axis) 286mm x 178mm
   1920x1200     60.03*+
   1600x1200     60.00
Unknown20-1 disconnected (normal left inverted right x axis y axis)
Unknown20-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080     60.00*+  50.00    59.94
   1680x1050     59.88
   1600x900      60.00
   1280x1024     60.02
   1440x900      59.90
   1280x800      59.91
   1280x720      60.00    50.00    59.94
   1024x768      70.07    60.00
   800x600       72.19    60.32    56.25
   720x576       50.00
   720x480       60.00    59.94
   640x480       72.81    66.67    60.00    59.94
   720x400       70.08


touch NT and NR before deleting LRU references

Listing the huge NT and NR databases as "additional_files" makes sure the DAG engine prefetches them like all other big files, but more importantly, ensure they are not deleted by the LRU reference caching policy at the start of the postprocessing or experimental stages that use them.
This is a companion to https://github.com/chanzuckerberg/idseq-dag/pull/240 and the two can go out in any order.
For more details see https://jira.czi.team/browse/IDSEQ-1866

I plan to submit a staging sample to confirm this works.

Test methodology:   submit hacked idseq_dag branch that simulates the effect of this as follows.
         dag = json.loads(open(dag_json).read())
         log.log_event("pipeline_flow.dag_json_loaded", values={"file": dag_json, "contents": dag})
+
+        # Fake some things in order to test https://github.com/chanzuckerberg/idseq-web/pull/2945/files and https://github.com/chanzuckerberg/idseq-dag/pull/240/files
+        for s in dag['steps']:
+            for classname, afkey in [('PipelineStepDownloadAccessions', 'db'), ('PipelineStepGenerateAlignmentViz', 'nt_db')]:
+                if s['class'] == classname:
+                    s['additional_files'][afkey] = s['additional_attributes'][afkey]
+                    log.write(f"Hacked DAG step json in order to test PR2945: {json.dumps(s)}")
+
         output_dir = dag["output_dir_s3"]  # noqa
         targets = dag["targets"]

Evidence the hack served its purpose:   the following log lines:
{
    "time": "2020-01-11T22:05:57.542",
    "msg": "Hacked DAG step json in order to test PR2945: {\"in\": [\"gsnap_out\"], \"out\": \"gsnap_accessions_out\", \"class\": \"PipelineStepDownloadAccessions\", \"module\": \"idseq_dag.steps.download_accessions\", \"additional_files\": {\"lineage_db\": \"s3://idseq-database/taxonomy/2019-09-17/taxid-lineages.db\", \"loc_db\": \"s3://idseq-database/alignment_data/2019-09-17/nt_loc.db\", \"db\": \"s3://idseq-database/alignment_data/2019-09-17/nt\"}, \"additional_attributes\": {\"db\": \"s3://idseq-database/alignment_data/2019-09-17/nt\", \"db_type\": \"nt\"}}",
    "thread": "MainThread",
    "pid": 303,
    "level": "INFO"
}
{
    "time": "2020-01-11T22:05:57.542",
    "msg": "Hacked DAG step json in order to test PR2945: {\"in\": [\"rapsearch2_out\"], \"out\": \"rapsearch2_accessions_out\", \"class\": \"PipelineStepDownloadAccessions\", \"module\": \"idseq_dag.steps.download_accessions\", \"additional_files\": {\"lineage_db\": \"s3://idseq-database/taxonomy/2019-09-17/taxid-lineages.db\", \"loc_db\": \"s3://idseq-database/alignment_data/2019-09-17/nr_loc.db\", \"db\": \"s3://idseq-database/alignment_data/2019-09-17/nr\"}, \"additional_attributes\": {\"db\": \"s3://idseq-database/alignment_data/2019-09-17/nr\", \"db_type\": \"nr\"}}",
    "thread": "MainThread",
    "pid": 303,
    "level": "INFO"
}
https://us-west-2.console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEventViewer:group=/aws/batch/job;stream=aegea_util_aws_batch_jd_57d721c3/default/f19cee22246b49dfba6c24993dbce818;filter=Hacked
{
    "time": "2020-01-11T22:27:30.602",
    "msg": "Hacked DAG step json in order to test PR2945: {\"in\": [\"gsnap_m8\", \"taxid_locator_out\"], \"out\": \"alignment_viz_out\", \"class\": \"PipelineStepGenerateAlignmentViz\", \"module\": \"idseq_dag.steps.generate_alignment_viz\", \"additional_files\": {\"nt_loc_db\": \"s3://idseq-database/alignment_data/2019-09-17/nt_loc.db\", \"nt_db\": \"s3://idseq-database/alignment_data/2019-09-17/nt\"}, \"additional_attributes\": {\"nt_db\": \"s3://idseq-database/alignment_data/2019-09-17/nt\"}}",
    "thread": "MainThread",
    "pid": 303,
    "level": "INFO"
}
https://us-west-2.console.aws.amazon.com/cloudwatch/home?region=us-west-2#logEventViewer:group=/aws/batch/job;stream=aegea_util_aws_batch_jd_d68821c5/default/7534c70118a943e8beece9fae221d89d;filter=Hacked


[Event Parameter Change] Table 39 Purchase Line - OnAfterInternalLeadTimeDays

In table 39 Purchase Line, function InternalLeadTimeDays, there's a publisher invoked called OnAfterInternalLeadTimeDays
None of the parameters in this publisher are sent by VAR.
Shouldn't parameter TotalDays be returned by VAR, so it has an effect in the function InternalLeadTimeDays from where it is invoked?
Original:

[IntegrationEvent(false, false)]
local procedure OnAfterInternalLeadTimeDays(PurchaseLine: Record "Purchase Line"; PurchDate: Date; TotalDays: DateFormula);
begin
end;

Suggestion:

[IntegrationEvent(false, false)]
local procedure OnAfterInternalLeadTimeDays(PurchaseLine: Record "Purchase Line"; PurchDate: Date; var TotalDays: DateFormula);
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 46009.


[Hackadoc] operational insights intelligence pack summary

summary of all available intelligence packs

Hi @alex-frankel, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

@alex-frankel, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, AZPRBOT;


Buttons on material slots in MeshInstance bugged when trying to animate material properties.

Godot version: v3.0.stable.official (also present in 3.0.1rc1)
OS: Xubuntu 17.10 64bit
Issue description:
When trying to animate material properties with the AnimationPlayer node, the selection buttons on the material slots on for example, a MeshInstance node, get bugged out.
The little downwards dropdown menu arrow button displaces to the left of the material thumbnail, and the clickable area on the thumbnail also gets very narrow, there is also no key button present like there is with other properties.
This makes it quite confusing when trying to animate properties inside Material resources.

Steps to reproduce:

Create a scene and add any node that uses material slots/material override slots, for example MeshInstance
Add a SpatialMaterial to the MeshInstance node.
Add an AnimationPlayer node, and ofcourse a new animation.
Select the AnimationPlayer node so that the Animator panel opens.
Select the MeshInstance node and notice the material slots mess up.

Update: This only seems to happen when the roll back to default button on the right side is present, if there is no default material in the MeshInstance, it behaves as intended.

This code no longer exists, so closing this issue.


TestMeshNetworking data race

https://prow.istio.io/view/gs/istio-prow/pr-logs/pull/istio_istio/26672/unit-tests_istio/19251
Looks like we access s.instances unsafely

I think this has been fixed

by https://github.com/istio/istio/pull/27589


[CheatEnabler] Architect mode and drones

I thought I'd give architect mode a go to build some massive blueprints that cover the whole planet.
but it doesn't take into account logistics drones and logistics vessels, and still uses them from my inventory.
anyway you can fix it?

ok, I will look into it asap

resolved in release 2.3.0


editor annotations

Problem Description
editor code annotations (available via preferences > editor > advanced settings) only display a marker to the left of line number when case matches.
What steps reproduce the problem?

go to preferences > editor > advanced settings check annotations box, apply and close dialog
go to source editor and create a line "# TODO" and wait a second until a check marker appear left to line number
change the line to "# todo"and wait for a second, the marker will disappear

What is the expected output? What do you see instead?
the marker should not disappear, the application logic should be changed to be case insensitive
Paste Traceback/Error Below (if applicable)
na.
Versions

Spyder version: 5.5.5  (pip)
Python version: 3.10.12 64-bit
Qt version: 5.15.2
PyQt5 version: 5.15.9
Operating System: Linux-5.15.0-118-generic-x86_64-with-glibc2.35

Dependencies
na.

Hi @kr-g thank you for the feedback! I think @todo should trigger a marker too, kind of like a workaround but is that an option for you? Or maybe in general you would like for all the annotations that trigger a mark to be case insentive? So instead of the mark being triggered by only TODO, FIXME, XXX, HINT, TIP, @todo, HACK, BUG, OPTIMIZE, !!!, and ??? to be also triggered by  todo, fixme, xxx, hint, tip, @TODO, hack, bug and optimize?
What do you think @spyder-ide/core-developers ?

I think this is a good idea 👍🏽

I this is a good idea, also. 👍🏼


Declaring constants using a rest syntax doesn't highlight them outside of the line where they were declared, despite still being valid

Issue Type: Bug
Example code:
                array.forEach(element => {
                const [key, ...valueArr] = element.split('=')
                const value = valueArr.join('=')
                if (key && value) result[key] = value
            });

key and valueArr should be highlighted in dark blue outside of the line where they're declared. Instead, they show as light blue, the color of a var/undeclared variable.
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:34:46.910Z)
OS version: Windows_NT x64 10.0.19042

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 x 3192)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
19.89GB (4.98GB free)

Process Argv
D:\Users\rodri\Documents\GitHub\hypixel-translators-bot --crash-reporter-id 1aa51578-c79e-468f-b062-c24334e21918

Screen Reader
no

VM
0%

Extensions (14)

Extension
Author (truncated)
Version

vscode-crowdin
Cro
1.0.6

vscode-lombok
Gab
1.0.1

discord-vscode
icr
4.1.0

csharp
ms-
1.23.8

gradle-language
nac
0.2.3

vetur
oct
0.31.3

java
red
0.73.0

vscodeintellicode
Vis
1.2.10

vscode-java-debug
vsc
0.30.0

vscode-java-dependency
vsc
0.17.0

vscode-java-pack
vsc
0.12.1

vscode-java-test
vsc
0.27.0

vscode-maven
vsc
0.27.1

minecraft-lang-colorizer
zz5
1.0.0

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
openlogontheside:30221877
python383cf:30185419
vspyt653:30244269
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30211401
wsl2promptcf:30224613
pythonvsdeb440:30242242
unusedpromptcf:30224611
folderexplorer:30224614
openfilemenu:30224647
pythonvsded773cf:30236630
pythonvspyt600:30241727

Here's what I see once semantic highlighting kicks in:

Did you perhaps disable semantic highlighting?

Here's what I see once semantic highlighting kicks in:

Did you perhaps disable semantic highlighting?

Here's what I see once semantic highlighting kicks in:

Did you perhaps disable semantic highlighting?

If this was enabled by default then I didn’t touch it but otherwise I may need to enable it, can you tell me where to find that option? Also did tou get that behavior in the same vscode build?

Here's what I see once semantic highlighting kicks in:

Did you perhaps disable semantic highlighting?

If this was enabled by default then I didn’t touch it but otherwise I may need to enable it, can you tell me where to find that option? Also did tou get that behavior in the same vscode build?

I had semantic highlighting configured by theme so I set it to true and I'm still getting the same behavior

I had semantic highlighting configured by theme so I set it to true and I'm still getting the same behavior

Did you test with just the snippet you shared using the default Dark+ theme?

Did you test with just the snippet you shared using the default Dark+ theme?

Did you test with just the snippet you shared using the default Dark+ theme?

Yep, I tested with that exact same code and using the same settings as before with the only difference being the one I mentioned before. Here are my semantic highlighting settings in case that helps

Did you test with just the snippet you shared using the default Dark+ theme?

Yep, I tested with that exact same code and using the same settings as before with the only difference being the one I mentioned before. Here are my semantic highlighting settings in case that helps

Are you using a workspace version of TypeScript?
What is the language mode of the file? This is shown in the status bar on the right side

Are you using a workspace version of TypeScript?
What is the language mode of the file? This is shown in the status bar on the right side

This file was written in HTML and the script is in JavaScript, not sure what you mean by the first question

This file was written in HTML and the script is in JavaScript, not sure what you mean by the first question

Ah ok. Semantic highlighting for JavaScript is only supported in JS files right now, not JavaScript embedded in html

Ah ok. Semantic highlighting for JavaScript is only supported in JS files right now, not JavaScript embedded in html

Are there any plans to support it in the near future?

Are there any plans to support it in the near future?

Sorry, don't know when I'll get to that.

Sorry, don't know when I'll get to that.


Could not resolve all files for configuration ':another_brother:debugCompileClasspath'.

Hi @sureshturbo ,
Thanks for the report. The error is due to our dependency server being down this past weekend it is now up and running once more. Try to build once again and you should be able to fetch those dependencies.
Don't hesitate to reach out if there is anything else we can help with,


No more palm :(

Can you please update the code as there is no more palm api access :(

Do you mean you cannot access the Palm via your API key?


Server keeps crashing after update 3.1.1 -> 3.2.0

Hi,
I've updated the mysql-async script of my server from version 3.1.1 to 3.2.0 but my server keeps crashing now while it worked just fined before the update.
Error:
stack:
TypeError: Cannot read property 'execute' of null
    at Object.global.exports [as callback] (mysql-async.js:4945:9)
    at citizen:/scripting/v8/main.js:96:41
Error resuming coroutine: citizen:/scripting/lua/scheduler.lua:720: An error happened while calling export mysql_fetch_scalar of resource mysql-async (citizen:/scripting/lua/MessagePack.lua:830: missing bytes), see above for details
stack traceback:
        [C]: in function 'error'
        citizen:/scripting/lua/scheduler.lua:720: in method 'mysql_fetch_scalar'
        @mysql-async/lib/MySQL.lua:161: in field 'fetchScalar'
        @mudoogaming/account/whitelist_server.lua:16: in upvalue 'handler'
        citizen:/scripting/lua/scheduler.lua:169: in function <citizen:/scripting/lua/scheduler.lua:168>```

Nvm, doing hwat you suggested in #74 fixed it.


Jest warning with ts-jest and TypeScript target

https://github.com/kulshekhar/ts-jest/pull/1678
https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping
Currently the target is ESNext, with Node version 10, but ts-jest seems unhappy with this.
We should also define the expected Node version for VNS.

Fix was adding the correct target in tsconfig.jest.json.


[Enhance] support NMS for DETR network in test mode

DETR by default outputs a fixed number of bboxes during inference.
It doesn't run NMS when setting test_cfg as other networks do (say ATSS)
What I have changed:

add nms parameters in test_cfg in mmdet/configs/detr/detr_r50_8x2_150e_coco.py
running multiclass_nms() after get_bboxes() (in detr_head.py:simple_test_bboxes())

Note:

This modification won't affect training.
It applies a default set of parameters for NMS if they are not set explicitly

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
DETR by default outputs a fixed number of bboxes during inference. Developers might want it to run NMS
during test time (by setting test_cfg)
Modification

add nms parameters in test_cfg in mmdet/configs/detr/detr_r50_8x2_150e_coco.py
running multiclass_nms() after get_bboxes() (in detr_head.py:simple_test_bboxes())

BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

We follow the original implementation, NMS is not an essential post-process for DETR, you can refer to the original paper

We follow the original implementation, NMS is not an essential post-process for DETR, you can refer to the original paper

well, I am closing the request


Date Type - make sure we can set a NULL value

ie Can set a real value, then set a NULL value.
Need test to check.

Done a bit on this - want to do more and re-check.


Csm Inati 2D and 3D

supersedes #173
closes #64
Too many things changes since we last worked on this so I started a fresh PR.

I verified the result with the output of the old PtbPyRecon inati code for several examples.

One last problem is using torch.is_close:
UserWarning: There is a performance drop because we have not yet implemented the batching rule for aten::isclose.
Maybe somebody with more pytorch-knowledge could comment if this is a problem and we should change this or accept the warning in the tests.

2d images are now also replicate padded. this does not change the result, only makes it a bit less efficient? Or does it change the result?

Why is the relative change currently set to 0.1 (this seems high?) ? how many iterations would this corrpsopond to on some real data example?

For my test data (2 phantoms + 1 in-vivo) this leads to around 30 iterations.

I am wondering if in the end it might be smarter to just set the number of iterations to a fixed value of say 10 and use vmap?

I will check that

Would this be faster if run for say a 32 image batch on GPU? In case we ever want to use this during a NN training..

For 2D cases, vmap leads to a significant speedup compared to smap (2-6 for n_batch=10). For 3D cases (even if it is just a few slices) there is no difference anymore between smap and vmap.

I am wondering if in the end it might be smarter to just set the number of iterations to a fixed value of say 10 and use vmap?

10 seems to be a good value. For my test data there are only minimal changes in the csm in the background between 10 and 20 iterations.

Currently if smoothing_width is int then we pad + smooth also along the z direction even if the data is 2D. I guess we do not want that...


Error on running with python3: "ModuleNotFoundError: No module named 'ConfigParser'" and the fix

When I'm trying to log in using howdy in Ubuntu 23.04 which has python3 version by default - I've got an error:
2023-06-11T07:45:01.786521+04:00 Ubuntu /lib/security/howdy/pam.py[25199]: ModuleNotFoundError: No module named 'ConfigParser'
2023-06-11T07:45:01.790383+04:00 Ubuntu /lib/security/howdy/pam.py[25198]: Traceback (most recent call last):
2023-06-11T07:45:01.790469+04:00 Ubuntu /lib/security/howdy/pam.py[25198]:   File "/lib/security/howdy/pam.py", line 10, in <module>
2023-06-11T07:45:01.790496+04:00 Ubuntu /lib/security/howdy/pam.py[25198]:     import ConfigParser
2023-06-11T07:45:01.790522+04:00 Ubuntu /lib/security/howdy/pam.py[25198]: ModuleNotFoundError: No module named 'ConfigParser'

I've searched for similar issues already, and my issue has not been reported yet.
Linux distribution (if applicable): Ubuntu 23.04
Howdy version (sudo howdy version): 2.6.1

The 'ConfigParser' library in python3 is renamed to configparser, so the fix is to change the current code in file  /usr/lib/security/howdy/pam.py like this:
@@ -6,11 +6,17 @@ import os
 import glob
 import syslog

-# pam-python is running python 2, so we use the old module here
-import ConfigParser
+import sys
+# The config parser is named in python2 as ConfigParser but in python3 as configparser
+# and here is a workaround for this.
+if sys.version_info[0] == 2:
+    import ConfigParser
+    config = ConfigParser.ConfigParser()
+else:
+    import configparser
+    config = configparser.ConfigParser()

 # Read config from disk
-config = ConfigParser.ConfigParser()
 config.read(os.path.dirname(os.path.abspath(__file__)) + "/config.ini")

I've found that the similar changes already implemented in the dev branch: https://github.com/boltgolt/howdy/blob/dev/src/pam.py#L10-L15
So, could you please make a new release with these changes?

Same exception here after updating ubuntu to 23:04, the suggested changes do solve the issue


Why is it that every time the weight of pre-training is used, the correct rate at the beginning of the model is not as good as that of the previous training?

Hello. First, thanks for your work and code!
But while I was trying to replicate your results, I had a problem.
Because of the limitations of gpu memory, I modified the batch number to 8.
Then I ran the code, trained benchvise, and looked at the acc and ADD. After training 700 epochs, I didn't reach the correct rate you gave backup weights, so I decided to train 700 epochs with the first training weight as the initial weight. However, the start of the accuracy is not as good as that of the first one, and the difference is even great.
It puzzled me that I suspected that the parameters were not fully stored, but I read the code and found no random arguments, so I'm not sure what the reason is? Do you know the reason for this?
Thank you for your help. Looking forward to your answer.

Hello! To train the confidence loss, we would need to first have reasonable estimates for coordinate locations. Therefore, we have a pretraining stage, where we initially set the regularization parameter for confidence to 0 and train the network for a while, only for coordinate prediction. Once the coordinate predictions are more accurate, we then train for coordinate and confidence predictions all together. This results in better confidence estimates and consequently better pose estimation accuracy. This is the reason why in practice we have a pretraining stage.
If you would like, you could also do this within one training run, where you set the regularization parameter for confidence loss to 0 for a certain number of epochs and then continue training afterwards in the successive epochs by training all losses together with a nonzero regularization parameter for confidence loss.

Thank you very much for your answer.
Maybe I didn't make my question clear. My question is why I continue to train with a well-trained weight, and the accuracy of the start is different from that of a trained weight.
I think it's probably the reason for learning rate. The learning rate at the beginning of re-training is high, so it is possible to deviate from the original weight too far. Do you think so?
Thank you for your help. Looking forward to your answer.

A high learning rate could indeed change the weights drastically and cause the deviation you observed. About the sources of randomness in the training of a PyTorch network, you could find the discussion in this link useful.

Thank you very much. I am now trying to change the learning rate to observe the changes, and your advice is also very useful.
I wish your work well. Good luck.


NTR: cortical endoplasmic reticulum membrane

Please provide as much information as you can:

Suggested term label:

cortical endoplasmic reticulum membrane

Definition (free text)

standard def

Reference, in format PMID:#######

https://www.pombase.org/reference/PMID:32735772

Gene product name and ID to be annotated to this term

https://www.pombase.org/gene/SPAC17C9.12 scs22
https://www.pombase.org/gene/SPBC16G5.05c scs2

Parent term(s)

GO:0032541   cortical endoplasmic reticulum
GO:0005789 | endoplasmic reticulum membrane
GO:0005789
endoplasmic reticulum membrane

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

+[Term]
+id: GO:0160219
+name: cortical endoplasmic reticulum membrane
+namespace: cellular_component
+def: "The lipid bilayer surrounding the cortical endoplasmic reticulum."


Possibility to add calibration function?

As per user request in Play Store, have the ability to calibrate the spectrum would be nice.
But:

Is there some standard (e.g. file format, procedure) for calibrating the mic?
Suppose the user have a reference mic, how to use that mic to calibrate the user's mobile device?
Is it possible for user to "calibrate" his/her mic without any extra equipment?

@nfsmaster208

Yes, to both. The standard file format is *.cal, and the procedure for calibrating the microphone is best described with the following information:

AudioTool supports loading a calibration file for the Dayton Audio iMM-6 microphone. These files have names like "99-0101.txt" when downloaded from Dayton's website. For use in AudioTool, you will simply need to rename the file so that it has the .cal file type (e.g. "99-0101.cal") and save it in the AudioTool directory on your Android phone. Then, in AudioTool, select the "Load Cal" option from the Menu, and choose the Dayton file from the list. The calibration data will be loaded, power summed to the 1/3 octave bins used by AudioTool, and saved in your Preferences - there is no further need to load the file whenever you start AudioTool, unless you change the calibration method or alter the calibration values manually.
:information_source: https://sites.google.com/site/bofinit/audiotool#TOC-Calibration

If a user purchases a relatively affordable, pre-calibrated microphone (recommended method), they will be able to ensure high bandwidth and high accuracy microphone input. In the above example, the manufacturer provides a calibration file specific to the user's purchased microphone, which is accessible online as a "*.txt" file, which in the manufacturer's current recommended procedure is converted to a *.cal file by the user, and loaded into the AudioTool Android app.

It may be possible to calibrate any microphone, but with an external Sound Pressure Level (SPL) meter, which is a calibrated, external device which may be used to validate the sound pressure readings from the microphone on the device. For example, playing a 1kHz tone at 75dB, with the calibration settings available to the user with an uncalibrated microphone, they may be able to offset the readings on the Android device if the app is registering the correct frequency but at an incorrect reading of 78dB, with an offset of 3dB at that particular frequency.

This above method is largely unreliable manually, and could be automated, but with additional hardware and expense. It would be better to have a previously calibrated microphone with a calibration file, as previously discussed.

Thank you for these valuable information! I didn't relized that there are calibrated mic for smart phone (and with 3.5mm jack).

I downloaded some .cal/.txt files (for Dayton Audio iMM-6 or MiniDSP), they are plain text, so it should be easy to parse and implement in my app.

I was think about for example you have a reference mic that connects to PC (through audio interface or whatever), then how to calibrate your phone?
i.e. How to get consistent and comparable results across different devices(mics). This is my original understanding of your question about having the calibration related ability.
But now you show me that there are cheap calibrated microphones, so purchase that mic with calibration file would be much more handy for both app developer and user.
Looks like AudioTool is a powerful app and more or less is the official recommendation. Did you try it, or have any comment on it?

So basically a sine sweep test right? Agree that it is unreliable due to environment noise, room reverberation and pointing etc.
I'm just thinking about what if the user do not have any calibrated mic available. But maybe a quiet place can be found, so that the environmental noise may be assumed to be the pink noise...... OK, forget that, purchase a good mic.

That sounds great!
I don't have any personal comment on AudioTool. I have not had the opportunity to use it.
Yes. And a good mic helps to solve many of those concerns. :+1:


Use component dots rather than circle outlines

Add dots as a component reference to a single dot component rather than a drawn circle.

I'm not seeing this. In both preview and build I see outlines, not component references.


First visible element check in cfi navigation logic broken in scroll view

This issue is a Bug
Minor regression issue due to offsets not being applied when normalizing rectangles for visibility checking.
Related issue(s) and/or pull request(s)
PR #406
Related to changes in PR#395
Observed behaviour
Result of findFirstVisibleElement in CfiNavigationLogic is always the first child element of the body when using ScrollView.
Steps to reproduce
Invoke ReaderView.bookmarkCurrentPage while using scroll view with any book. The result does not vary with scroll position.
Product
Only users of current develop branch, does not affect master

Fixed via https://github.com/readium/readium-shared-js/issues/405
Many thanks for spotting this!!


MNW cleanup May 2020

Various small comment and functionality fixes for ConsAggShockModel examples and FashionVictim.

Ok, we can delete the commented out code.  Uncommenting prints figures to
screen while the economy solves; I suppose we could just add another
boolean flag to allow that.
On Wed, May 27, 2020 at 8:21 AM Sebastian Benthall<EMAIL_ADDRESS>wrote:

@sbenthall commented on this pull request.
In examples/ConsumptionSaving/example_ConsAggShockModel.py
https://github.com/econ-ark/HARK/pull/698#discussion_r431074333:

@@ -178,28 +173,26 @@ def mystr(number):
# NOTE: These agents aren't exactly like KS, as they don't have serially correlated unemployment
KSexampleType = deepcopy(AggShockMrkvExample)
KSexampleType.IncomeDstn[0] = [

   [np.array([0.96, 0.04]), np.array([1.0, 1.0]), np.array([1.0 / 0.96, 0.0])],

   [np.array([0.90, 0.10]), np.array([1.0, 1.0]), np.array([1.0 / 0.90, 0.0])],

   DiscreteDistribution(np.array([0.96, 0.04]), [np.array([1.0, 1.0]), np.array([1.0 / 0.96, 0.0])]),

    DiscreteDistribution(np.array([0.90, 0.10]), [np.array([1.0, 1.0]), np.array([1.0 / 0.90, 0.0])]),

i love this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/698#pullrequestreview-419135801,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFLYBCP7SQDSRIXROGLRTUAV7ANCNFSM4NKMN4AQ
.

What do you love about this?  I don't get it.
On Wed, May 27, 2020 at 8:21 AM Sebastian Benthall<EMAIL_ADDRESS>wrote:

@sbenthall commented on this pull request.
In examples/ConsumptionSaving/example_ConsAggShockModel.py
https://github.com/econ-ark/HARK/pull/698#discussion_r431074333:

@@ -178,28 +173,26 @@ def mystr(number):
# NOTE: These agents aren't exactly like KS, as they don't have serially correlated unemployment
KSexampleType = deepcopy(AggShockMrkvExample)
KSexampleType.IncomeDstn[0] = [

   [np.array([0.96, 0.04]), np.array([1.0, 1.0]), np.array([1.0 / 0.96, 0.0])],

   [np.array([0.90, 0.10]), np.array([1.0, 1.0]), np.array([1.0 / 0.90, 0.0])],

   DiscreteDistribution(np.array([0.96, 0.04]), [np.array([1.0, 1.0]), np.array([1.0 / 0.96, 0.0])]),

    DiscreteDistribution(np.array([0.90, 0.10]), [np.array([1.0, 1.0]), np.array([1.0 / 0.90, 0.0])]),

i love this.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/698#pullrequestreview-419135801,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFLYBCP7SQDSRIXROGLRTUAV7ANCNFSM4NKMN4AQ
.

Just a positive vibe.
I'm not sure why Travis failed a build on this.
It might have been an internal networking error.
I think there should be a way to kick it to rerun the tests, but I don't a see a button for it.
But it should rerun them if you push a commit fixing the commented code issue.
I would rather merge this, then #702, as that's better PR hygiene.

Can the logger get graphical output?
On Thu, May 28, 2020 at 8:36 AM Sebastian Benthall<EMAIL_ADDRESS>wrote:

@sbenthall commented on this pull request.
In HARK/ConsumptionSaving/ConsAggShockModel.py
https://github.com/econ-ark/HARK/pull/698#discussion_r431801577:

@@ -1725,9 +1728,8 @@ def calcAFunc(self, MaggNow, AaggNow):
for i in range(self.MrkvArray.shape[0]):
these = i == MrkvHist
slope, intercept, r_value, p_value, std_err = stats.linregress(logMagg[these], logAagg[these])

       if verbose:

           #plt.plot(logMagg[these],logAagg[these],'.')

           pass

       if hasattr(self, 'plot_verbose'):

now the PR inconsistently uses 'plot_verbose' or 'verbose_plot' for this
feature.
I'm thumbs down on:

adding undocumented model parameters
the model specific controls of verbosity, discussed in #701
https://github.com/econ-ark/HARK/pull/701

But if this is necessary functionality, then maybe we can wire it through
the "view" code in a way that's clean.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/698#pullrequestreview-420062375,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFPA7IPA2PRTARXJ2Z3RTZLGFANCNFSM4NKMN4AQ
.


Use after-elements instead of html for sidebar elements

Thanks for the PR. Looks great 😃

You are welcome!


[stable/prometheus-pushgateway] Add configurable ServiceMonitor

What this PR does / why we need it:
This PR fixes a bug in which ServiceMonitors scrape all releases, regardless of whether those releases have ServiceMonitors enabled. Instead, a flexible selector configuration is introduced with the default selector matching only the service in the same release as the selector itself.
I've also done some minor cleanup in the ServiceMonitor.
Which issue this PR fixes

fixes #17138
changes the serviceMonitor.selector variable so that it applies to the serviceMonitor's selector, not its labels. serviceMonitor.labels has been added, and are merged into the defaultLabels and applied to the serviceMonitor
removes serviceMonitor.namespace, which (unless I'm mistaken) does not provide functionality, and breaks the technical requirement that the chart must launch with default values; the current default causes the chart to break if the monitoring namespace does not exist.
minor cleanup on the serviceMonitor.interval variable's default value

Special notes for your reviewer:

Version bumped to 1.0.3 so as to not conflict with #17128 which is related.

Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @gianrubio

/ok-to-test

Sorry I haven't gotten back to this; looks like the functionality I needed has been implemented in the time since I opened this PR, so I'm going to close it.
Thanks for taking up the maintainer mantle @cstaud !


Question: load-balancing / failover

I am planning on running Bosun on multiple machines for redundancy/scale/etc...  As of right now, my understanding is that each machine would execute its own checks and alerts, but it will probably result in a double email.
Is there a correct or recommended to do this?
thanks in advance!

We don't really have anything planned yet but this is coming up for us soon
at Stack. The main thing we would need to do is sync state between the two
instances. My recommended workaround for the time being would have opentsdb
relay send index information to both instances. Run the back up instance
with -n (no checks) and you won't get email. When you need to failover you
could clear all active alerts on the standby, and then restart it without
-n.
Not ideal but should be functional for manual or scripted failover until we
have some way to sync state. make sense?
On Tue, Jul 21, 2015 at 5:27 PM, mxk1235<EMAIL_ADDRESS>wrote:

I am planning on running Bosun on multiple machines for
redundancy/scale/etc... As of right now, my understanding is that each
machine would execute its own checks and alerts, but it will probably
result in a double email.
Is there a correct or recommended to do this?
thanks in advance!
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/1183.

Yes it does.  We have roughly sketched out a similar primary/secondary infrastructure.
A followup question, is it possible for bosun instances to use a shared database service for state?  I realize that bosun right now uses an in-memory database, but perhaps that sort of failover is also possible.

We have discussed potentially using a redis model since there is also an in-memory implementation of redis. That could potentially allow check coordination across multiple bosun hosts, but that is not really too close on our radar at present.

This library caught my interest for that http://ledisdb.com/
On Tue, Jul 21, 2015 at 6:57 PM, Craig Peterson<EMAIL_ADDRESS>wrote:

We have discussed potentially using a redis model since there is also an
in-memory implementation of redis. That could potentially allow check
coordination across multiple bosun hosts, but that is not really too close
on our radar at present.
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/1183#issuecomment-123503052
.

I see.  Did you think about supporting multiple backends, perhaps through an abstraction?  If storage is more simply a key-value store, it could really benefit from connecting to either redis, ledis, boltdb, etc.

actually, i see that https://github.com/siddontang/ledisdb can in fact use boltdb as a backend.  that could be perfect.

Closing this for now as a "question" since closing this won't delete the discussion.


Unable to send POST request using Flask test client

Expected Behavior
The POST request to /login should result in a response with status code 200.
    def initialize_authentication(self):
        soup = BeautifulSoup(self.client.get(os.environ['URL'] + "login/").data, features="html5lib")
        csrf_token = soup.find('input', dict(name='csrf_token'))['value']

        self.client.set_cookie(key='csrf_token', value=csrf_token, server_name='localhost')

        payload = {
            'username': os.environ['username'],
            'password': os.environ['password'],
        }
        headers = {
            'X-CSRFToken': csrf_token,
            'Accept': 'application/json'
        }

        response = self.client.post(os.environ['URL'] + "login/", data=payload, headers=headers,
                               follow_redirects=True)
        self.assertEqual(200, response.status_code, "Login Request failed!")
        return csrf_token

Actual Behavior
Tell us what happens instead.
Error
Traceback (most recent call last):
  File "/usr/lib/python3.5/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/lib/python3.5/unittest/case.py", line 596, in run
    self.setUp()
  File "/home/lenovo/Desktop/ML/mv/tests/mv_tests/integration_tests/parent_join_integration_tests.py", line 31, in setUp
    self.csrf_token = self.initialize_authentication()
  File "/home/lenovo/Desktop/ML/mv/tests/mv_tests/mv_base_tests.py", line 35, in initialize_authentication
    _, status_code = self.post(os.environ['URL'] + "login/", data=payload, csrf_token=csrf_token)
  File "/home/lenovo/Desktop/ML/mv/tests/mv_tests/mv_base_tests.py", line 58, in post
    rv = self.client.post(url, data=data, headers=self.get_headers(csrf_token), follow_redirects=True)
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/werkzeug/test.py", line 1038, in post
    return self.open(*args, **kw)
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/flask/testing.py", line 127, in open
    follow_redirects=follow_redirects)
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/werkzeug/test.py", line 1016, in open
    response, new_location, environ, buffered=buffered
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/werkzeug/test.py", line 947, in resolve_redirect
    return self.open(builder, as_tuple=True, buffered=buffered)
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/flask/testing.py", line 122, in open
    builder = make_test_environ_builder(self.application, *args, **kwargs)
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/flask/testing.py", line 29, in make_test_environ_builder
    url = url_parse(path)
  File "/home/lenovo/Desktop/ML/mv/venv/lib/python3.5/site-packages/werkzeug/urls.py", line 457, in url_parse
    i = url.find(s(":"))
AttributeError: 'EnvironBuilder' object has no attribute 'find'

Environment

Python version: 3.5.2
Flask version: 0.12.2
Werkzeug version: 0.15.1

Flask 0.12 is not supported, you should upgrade to at least 1.0. The latest versions of Flask do not have this issue, I'm not sure when it was fixed.


pydantic v2.0 breaking prototypes

Pydantic's V2.0 will break prototype creation in vetiver.
To reproduce error:

Update to Pydantic V2.0 (compatible FastAPI release is not out yet, you must pip install --pre --upgrade fastapi pydantic).
Run:

from vetiver import mock, VetiverModel, VetiverAPI

X, y = mock.get_mock_data()
model = mock.get_mock_model().fit(X, y)
v = VetiverModel(
    model=model,
    prototype_data=X,
    model_name="my_model",
    versioned=None,
    description="A regression model for testing purposes",
)

Output:
PydanticUserError: A non-annotated attribute was detected: `B = {0: 22, ... 99: 84}`.
All model fields require a type annotation; if `B` is not meant to be a field, you may
be able to resolve this error by annotating it as a `ClassVar` or updating
`model_config['ignored_types']`.

For further information visit https://errors.pydantic.dev/2.0/u/model-field-missing-annotation

This is happening at the dynamic creation of prototypes using pydantic.create_model()

This issue caused some CI failures for rsconnect-python. We fixed them adding pydantic<2.0.0 to the requirements file that's used. https://github.com/rstudio/rsconnect-python/pull/446


Write conflict error when deleting a document in afterChange hook

Link to reproduction
No response
Describe the Bug
Description:
I'm experiencing a MongoServerError when attempting to delete a document within an afterChange hook in Payload CMS. Specifically, when updating an invoice's payment status to 'payed', the hook is designed to archive the invoice and then delete it from the original collection. However, this process results in a write conflict error, preventing the transaction from completing successfully.
To Reproduce
Steps to Reproduce:

Update an invoice document's payment field to 'payed' via the Payload CMS admin panel or API.
The afterChange hook triggers, attempting to:

Begin a transaction.
Create a new document in the archive collection with the invoice data.
Delete the original invoice from the invoices collection.
Commit the transaction.

Observe that a write conflict error occurs during this process.

Expected Behavior:

The invoice should be archived by creating a new document in the archive collection.
The original invoice should be deleted from the invoices collection.
The transaction should commit successfully without errors.

Actual Behavior:

A MongoServerError is thrown:
ERROR (payload): MongoServerError: Caused by :: Write conflict during plan execution and yielding is disabled. :: Please retry your operation or multi-document transaction.

The transaction fails, and the invoice is neither archived nor deleted.

Code Snippet:
import payload from 'payload';
import type { CollectionConfig, AfterChangeHook } from 'payload/types';
import { Customer, Invoice } from '../../payload-types';

export const Invoices: CollectionConfig = {
  slug: 'invoices',
  // ... other configurations ...
  hooks: {
    afterChange: [
      (async ({ operation, doc, previousDoc, req }) => {
        if (operation === 'update' && doc.payment === 'payed') {
          req.transactionID = await payload.db.beginTransaction();
          try {
            const archiveData = {
              ...doc,
              customer: (doc.customer as Customer).id,
            };

            const archive = await payload.create({
              collection: 'archive',
              data: archiveData,
            });

            const deletedInvoice = await payload.delete({
              collection: 'invoices',
              id: `${doc.id}`,
            });

            if (req.transactionID) await payload.db.commitTransaction(req.transactionID);
          } catch (error) {
            if (req.transactionID) await payload.db.rollbackTransaction(req.transactionID);
            console.error('Error archiving invoice:', error);
          }
        }

        return doc;
      }) as AfterChangeHook<Invoice>,
    ],
  },
  // ... other configurations ...
};

Error Stack Trace:
ERROR (payload): MongoServerError: Caused by :: Write conflict during plan execution and yielding is disabled. :: Please retry your operation or multi-document transaction.
    at Connection.onMessage (.../node_modules/mongodb/src/cmap/connection.ts:449:20)
    at MessageStream.<anonymous> (.../node_modules/mongodb/src/cmap/connection.ts:241:56)
    at MessageStream.emit (node:events:515:28)
    at MessageStream.emit (node:domain:488:12)
    at processIncomingData (.../node_modules/mongodb/src/cmap/message_stream.ts:188:12)
    at MessageStream._write (.../node_modules/mongodb/src/cmap/message_stream.ts:69:5)
    at writeOrBuffer (node:internal/streams/writable:556:12)
    at _write (node:internal/streams/writable:490:10)
    at MessageStream.Writable.write (node:internal/streams/writable:494:10)
    at TLSSocket.ondata (node:internal/streams/readable:985:22)

Environment:

Payload CMS Version: 2.28.0
Node.js Version: 21.1.0

Additional Context:

The error seems to occur when deleting the same document that is currently being updated in the afterChange hook.
Wrapping the operations in a transaction does not prevent the error.
The issue persists even when removing the transaction logic.

Possible Solution:

Is there a recommended way to archive and delete a document within a hook without causing a write conflict?
Should the deletion be deferred to a different hook or process?
Any guidance on how to handle this scenario properly in Payload CMS would be appreciated.

Thank you for your assistance in resolving this issue.
Payload Version
2.28.0
Adapters and Plugins
"@aws-sdk/client-s3": "^3.654.0",     "@aws-sdk/lib-storage": "^3.654.0",     "@payloadcms/bundler-webpack": "1.0.7",     "@payloadcms/db-mongodb": "1.7.2",     "@payloadcms/plugin-cloud-storage": "^1.1.3",     "@payloadcms/richtext-slate": "1.5.2",

Hey @anassfiqhi, your operations don't use the transaction. You need to pass req to them for it, see the doc https://payloadcms.com/docs/database/transactions#transactions
Can you do this and confirm that your issue is slved? Also, I would ensure that transactions are enabled in MongoDB with replica set.

Hi @r1tsuu
Thank you for your response. I've updated my code to pass the req object to the operations as per the documentation you provided. However, I'm still encountering the same error.
I'm using MongoDB Atlas (cloud.mongodb.com) with a cluster of 3 nodes, so transactions should be supported and enabled by default.
Here is my updated code:
import payload from 'payload';
import type { AfterChangeHook, PayloadRequest } from 'payload/types';
import { Customer, Invoice } from '../../payload-types';

export const Invoices = {
  // ... other configurations ...
  hooks: {
    afterChange: [
      (async ({ operation, doc, previousDoc, req }) => {
        console.log(`Invoice ${operation} - ID: ${doc.id} - ${previousDoc.payment} - ${doc.payment}`);

        // Begin the transaction using the existing `req` object
        req.transactionID = await payload.db.beginTransaction();

        if (operation === 'update' && doc.payment === 'payed') {
          try {
            const archiveData = {
              ...doc,
              customer: (doc.customer as Customer).id, // Use only the customer ID
            };

            // Pass `req` to ensure this operation is part of the transaction
            const archive = await payload.create({
              collection: 'archive',
              data: archiveData,
              req, // Include the request object here
            });
            console.log('Archived Invoice ID:', archive.id);

            // Pass `req` to ensure this operation is part of the transaction
            const deletedInvoice = await payload.delete({
              collection: 'invoices',
              id: doc.id,
              req, // Include the request object here
            });
            console.log('Deleted Invoice ID:', deletedInvoice.id);

            // Commit the transaction
            if (req.transactionID) await payload.db.commitTransaction(req.transactionID);

          } catch (error) {
            console.error('Error archiving invoice:', error);
            // Rollback the transaction in case of an error
            if (req.transactionID) await payload.db.rollbackTransaction(req.transactionID);
          }
        }

        return doc;
      }) as AfterChangeHook<Invoice>,
    ],
  },
  // ... other configurations ...
};

Despite these changes, I'm still receiving the same error:
ERROR (payload): MongoServerError: Caused by :: Write conflict during plan execution and yielding is disabled. :: Please retry your operation or multi-document transaction.
    at Connection.onMessage (.../node_modules/mongodb/src/cmap/connection.ts:449:20)
    at MessageStream.<anonymous> (.../node_modules/mongodb/src/cmap/connection.ts:241:56)
    at MessageStream.emit (node:events:515:28)
    at MessageStream.emit (node:domain:488:12)
    at processIncomingData (.../node_modules/mongodb/src/cmap/message_stream.ts:188:12)
    at MessageStream._write (.../node_modules/mongodb/src/cmap/message_stream.ts:69:5)
    at writeOrBuffer (node:internal/streams/writable:556:12)
    at _write (node:internal/streams/writable:490:10)
    at MessageStream.Writable.write (node:internal/streams/writable:494:10)
    at TLSSocket.ondata (node:internal/streams/readable:985:22)

Additional Details:

I confirmed that transactions are enabled on my MongoDB cluster.
The error occurs when trying to delete the same document that is being updated in the afterChange hook.
I also tried removing the transaction logic to see if that would help, but the issue persists.

Is there anything else I might be missing or any other recommendations you might have to resolve this issue?
Thank you for your assistance!

Can you try to move this part
 // Begin the transaction using the existing `req` object
        req.transactionID = await payload.db.beginTransaction();

to this block
if (operation === 'update' && doc.payment === 'payed') {

because now, if you condition doesn't pass - the transaction never gets commited / rolled back

Hi @r1tsuu,
Thanks for your recommendation! I implemented your suggestion, passing the req object to the operations and beginning the transaction inside the if block, but unfortunately, I'm still encountering the same issue.


Reference Material Models

Is there an easy way to organize a library of RM and CRM models so that we know what people have made, what remains to be done, and which ones are buggy?

Sounds like you’re describing a GitHub repo.
On Fri, Jun 28, 2019 at 5:24 AM Chuck Magee<EMAIL_ADDRESS>wrote:

Is there an easy way to organize a library or RM and CRM models so that we
know what people have made, what remains to be done, and which ones are
buggy?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CIRDLES/Squid/issues/347?email_source=notifications&email_token=AB22FEB6L3MNW3DCETXZWJTP4WG77A5CNFSM4H4B75AKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G4HIGSA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB22FEAXPZB7FSVYDFT6CC3P4WG77ANCNFSM4H4B75AA
.

--
Ryan Ickert

The models can be easily exported in xml format from Squid3 parameter manager and then managed  as suggested by @ryanickert, for example.  Each copy of Squid3 maintains copies of the models it is using or has used.  The versioning mechanism in the models should help with keeping track of them.  It would seem this is a community task?


DerivationSubpath improvements & use

[x] Implement Deref
[x] Use for terminal path
[x] Use for account path
[x] Use in method arguments

Closed in 8f11ec93f4cfb8925dfa95e175ad721b846b4fd9


Custom player CSS

Add an album attribute custom_css which gets copied in and referenced from the web player, to allow custom fonts etc.

Closing as I'm replacing the built-in blamscamp fork with an external player.


fix(installer): Get installer to handle multi-platform binaries [DEV-1667]

Task linked: DEV-1667 Get release fetching to work with multi-platform releases


Block webmine.cz

://*.webmine.cz/miner

Same comment as in #67

@keraf they authed miner is served from https://authedwebmine.cz/authedminer.js
webmine.cz/miner is not asking for consent.

Weird. How is this possible?

Thanks guys, I'll add this one to the blacklist.

That's now blocked (see #74). Closing issue.


How does this work on the client-side?

Hi, we are investigating session management with nextjs and like this project's approach. Attaching middleware for API routes works great. I'm not sure how this project works with fetching session data from the client-side code (i.e. how _app.js's getInitialProps can fetch session data). Since getInitialProps is executed and bundled for both client and server side code, how can Session Store (a postgres js library -- in our case) not be bundled into the client-side javascript? Even if it can be bundled, it's not going to be able to communicate to the postgres database since it's executing in the user's browser instead of our backend server.
Maybe the approach is to only do this in _document.js since that should be only bundled in a server bundle? This next RFC would be the ideal solution (I think) https://github.com/zeit/next.js/issues/7208
At the moment we are doing the following: Expose an API route /api/auth/session, which responds with JSON with session details. In the _app's getInitialProps we make an API call to this endpoint. That API call can be executed from client or server code.
Thanks!

Hey @dbachrach, I do acknowledge this problem. Session management should only work server-side. Still, webpack will bundle it both client and server side. However, next-session will acknowledge if it is used in client-side and will not run.
I'm looking at https://github.com/zeit/next.js/pull/5159. Basically, you should require the postgres library under the condition, and the library will not be bundled client-side.
if (!process.browser) {
   const thatPostGresLibrary = require('thatPostGresLibrary');
   // usage with `next-session` and your own logic here
}

It would be great if you can test it out for me.
Thanks.

When I went down this path I traced it through, and it appears that the removal in client bundles only occurs when running next in production builds. So it doesn't work with next in development mode-- it still tries to include the postgres lib into the client bundle.
I think we might have to wait for zeit/next.js#7208.

Actually this is already implemented for _document.js (https://github.com/zeit/next.js/pull/7209/files).
So in your nextjs.config.js you need:
module.exports = {
  experimental: {
    documentMiddleware: true
  }
};

In _document.js we add a middleware export:
const wrapSession = handler => withSession(handler, {});
const wrapDocument = handler => wrapSession(handler);

export const middleware = async ({ req, res }) => {
  // We need to remap the calling convention since nextjs's documentMiddleware takes ({req,res})
  // while normal api routes expect (req, res).
  await wrapDocument(() => {})(req, res);
};

Then in your _app.js getInitialProps you will have a req.session populated and do what you need.
Thoughts on making this the recommended implementation?

@dbachrach Oh wow, thanks a lot for your througout investigation. I will certainly do so. I really wish Next.js documentation do include this.
Anyway, thanks again.


Plot population vs generation

A suggestion via email:

I do have one suggestion/request: It would be nice to have an "Export data"
button that generates a .csv file with the population for each generation
for the current pattern.
Another (more ambitious) idea would be to be able to see a plot of
population vs. generation.

Hello!
What should a graph be able to do? If I understand the idea correctly, the submitted data should be updated. Accordingly, the ranges of abscissae and ordinates are changed, which ensure the convenience of information perception. For example, if during the first 10 seconds the population changed between 120 and 140 units, then at the tenth second it is desirable to have from 100 to 150 units on the ordinate axis. When the population exceeds 150 units, we have to change the scale of the axis so that the line does not go over the border. Accordingly, you need to scale the line that has already been drawn. Or is this logic overly complex? Second question: what time interval should the abscissus axis reflect? Perhaps this is the entire interval from the beginning of the game. In this case, the graph will be compressed horizontally. Another option is to display, for example, the last 10 seconds. The graph will not shrink, but the history will be lost.
Maybe I'll try to create something like this.


If can use websocket to build MVVM style web framework

Just a personal doubt

https://github.com/boylegu/SanicCRUD-vue if any help?


CI: update package name to fluent-package

This fixes the not found path to upload in apt.
Warning: No files were found with the provided path:
  td-agent/apt/repositories. No artifacts will be uploaded.
Warning: No files were found with the provided path:
  td-agent-apt-source/apt/repositories. No artifacts will be uploaded.

Thanks!


Update Test2.md

@TinaLiuGirl : Thanks for your contribution! The author, @'v-caxian', has been notified to review your proposed change.


Improved rate limiting

This PR improves the rate limiting code so that:

Persistent heavy users (e.g. averaging more than 1,500 or so requests in a 6 hour period) are ultimately limited to just one request every 30s, but...
For users making fewer requests, the rate limit is still permissive

I'm using a hierarchy of token bucket regulators for this. It's not quite as good as using a sliding window regulator, but it's easier and less memory-intensive, so I figure it's good enough for our purposes.
Changes are live on staging. May be worth clicking around a bit to make sure you don't get rate limited out of the app just form normal use. The sandbox is an easy way to test (it's subject to the same rate limiting as the rest of the app).
(unrelated change: this PR also fixes a regression that was causing the admin interface not to load)

Thanks for the review Ethan!


Utilize Node Workers to parallelize files

Hello! I was poking at the code and I noticed the use of Promises to run the migrate file work per file and was thinking it could be even further optimized if the process was updated to use Node Workers.
I saw in the contributing guidelines that it was recommended to open an issue for some discussion first, so here we are. Anyone have any thoughts on this?

I played with this idea for an hour or two, but ran into a lot of issues trying to serialize the data from the main to the worker threads.
I'd really be interested to hear if anyone with more experience with worker threads in Node thinks of this idea and it's feasability.


Apostrophe not parsed correctly

Another project using this parser produces URIs that include apostrophes, even when they're not desirable:
https://www.google.com's

Thank you for raising this issue. I'm afraid this is not a problem with URI.js, but rather a false expectation of how URLs work. Because 's is a valid path (explanation below) it should be part of the URL returned by URI.withinString().
The character 0x27 (', single quote) is considered a sub-delim (RFC3986 Section 2.2 Reserved Characters). It is a valid character in the path segment (RFC3986 Section 3.3 Path) by following the ABNF:

path > path-noscheme > segment-nz-nc > 1*( unreserved / pct-encoded / sub-delims / "@" ) >  '
path > path-rootless > segment-nz > 1*pchar > sub-delims > '

The URL Spec seems to agree with this. Try running new URL("https://www.google.com's") in your browser's DevTools.

@rodneyrehm I think it's fairly safe to assume that paths should begin with a slash (after the domain). I tested this in Chrome, and while it certainly parses it in URL as part of the origin, the omnibox always executes a search for it instead of trying to navigate.

While I agree, I'd rather not force that assumption on everyone. But you could ignore trailing 's while scanning for URLs by changing URI.findUri.trim accordingly:
var text = "having fun with http://example.org's URL";
var replace = function(url) {
  return '' + url + '';
}

URI.withinString(text, replace)
// "having fun with http://example.org's URL"

URI.findUri.trim = /[`!()\[\]{};:'".,<>?«»“”„‘’]+$|'s$/;

URI.withinString(text, replace)
// "having fun with http://example.org's URL"

That would only fix the exact case of 's, I don't think that's good enough. Perhaps there's a way to specify that a slash is required for path to be parsed?
I also noticed that balanced quotes do not work if there isn't a space after the second quite, like so: "http://google.com"s

That would only fix the exact case of 's, I don't think that's good enough.

what else do you expect to be considered here?

I also noticed that balanced quotes do not work if there isn't a space after the second quite, like so: "http://google.com"s

that's because the URL now technically ends with s, so the second " is considered to be a part of the URL itself. Case of garbage-in-garbage-out?

Case of garbage-in-garbage-out?

Pretty much, sadly we have to deal with garbage when parsing user input in a chat client.

Perhaps there's a way to specify that a slash is required for path to be parsed?

Is there a way to accomplish this?

Pretty much, sadly we have to deal with garbage when parsing user input in a chat client.

however, there are limits to what you can and should do.

Perhaps there's a way to specify that a slash is required for path to be parsed?

withinString() does not actually parse the URL. It only searches for strings that look like an URL. You could deal with this in the callback function:
var text = ' http://google.com/\'s http://google.com\'s "http://google.com"s ';
URI.withinString(text, function(url) {
  // try to handle garbage input here
  console.log(url);

  return '' + url + '';
})

Another way to look at it is: are apostrophes allowed in TLDs? If not then could it be possible to not treat 's as part of the URL when it's located within the TLD?
Sure, it won't solve this for other URLs like http://<IP_ADDRESS>'s, but it would solve the issue in 99% of daily use cases of URI.withinString.


Fix latent type error in Flutter manifest

FlutterManifest has a latent type error, declaring a return type of YamlMap, but under certain circumstances returning a const <String, dynamic>{} which is not a YamlMap.
Changed to avoid handing out a sub-map, but instead providing getter for the contained scalar information.
Also added ways of creating a FlutterManifest for testing purposes (needed in an upcoming PR) without asynchronously validating yaml.

FYI @matthew-carroll @jamesderlin Flutter CLI tool refactoring to make way for #19600


Update print statements to python 3 issue #16

Update print statement to include () so they dont raise exceptions in python 3
Related to issue #16

Hi @Craicerjack, Thanks for your PR.
Can you please add back the two spaces and then we are ready to merge.

Hey @commenthol - fixed those typos (sorry about that, should have checked myself) and changed print statements in multiprocess file too.

Thanks


🐞 runtime error: index out of range [0] with length 0

What is the issue?
A module that used to work in Dagger v0.9.3 doesn't work in v0.9.4:
dagger-0.9.4 -m github.com/vito/daggerverse/test call testcontainers
Log output
┃ Error: response from query: input:1: main.testcontainers failed to get function output directory: process "/runtime" did not complete successfully: exit code: 2
✘ testcontainers ERROR [3.01s]
✘ exec /runtime ERROR [3.01s]
┃ input:1: testcontainers.dockerService failed to get function output directory: process "/runtime" did not complete successfully: exit code: 2
✘ dockerService ERROR [2.42s]
✘ exec /runtime ERROR [2.41s]
┃ json: error calling MarshalJSON for type *main.Service: input:1: docker.daemon.service failed to get function output directory: process "/runtime" did not complete successfully
┃ exit code: 2
✘ service ERROR [1.42s]
✘ exec /runtime ERROR [1.42s]
┃ json: error calling MarshalJSON for type *main.Service: input:1: container.from.withEnvVariable.withMountedCache runtime error: index out of range [0] with length 0
• Engine: 46dc831a4e27 (version v0.9.4)
⧗ 7.25s ✔ 69 ∅ 49 ✘ 7

Steps to reproduce

SDK version
CLI v0.9.4
OS version
macOS 12.7.1

cc @vito (we discussed this one in discord briefly)
PR incoming soon!

@jedevc I think this one might be different, but it would be great if I was wrong. (index out of range vs. nil pointer dereference)

:scream: yup, you're right this is different.
Thankfully... this is actually already fixed in main: https://github.com/dagger/dagger/pull/6257.
It's cause by weirdness where a core field defined on a module type will not get properly set to nil (but instead have a strange non-zero value that's not really valid).
However, the index error is very strange, we shouldn't have panics like this. I'll submit a fix to get a better message out of this.

Ok, looks like there's another issue with BuildOpts from quartz's daggerverse: https://github.com/quartz-technology/daggerverse/pull/2
Previously BuildOpts wasn't being code-gened (since it didn't have any functions): https://github.com/dagger/dagger/commit/77760c2754575695f6a9329c79c4c6a2d6078a65#diff-42df7f581f0c9e41a3320a7be6c79027f0b373d77e57231d767b3539643a4da8L155-R152
But with the above refactor, it is. The correct solution is to not code-gen this because there's no link from the top-level main type to it (opening a PR soon).

Since this is already fixed in main with #6257, I'm going to close this.
The weirdness from BuildOpts will be resolved in #6282, or the upstream quartz-technology PR. The more general version of it is equivalent to https://github.com/dagger/dagger/issues/6186, where we can accidentally generate two different structs with the same name.

@vito also just a note - it looks like the panic stacktrace gets completely swallowed up by our graqhql server. Not worth fixing now IMO, since vito/dagql is incoming 🎉 (also, I tried, and there's so many layers of panics, I have no idea where we even get the right stack trace from)

@jedevc Oh yeah the panic swallowing drives me nuts. Will keep an eye on that and make sure DagQL handles it better.


HDDS-1183. Override getDelegationToken API for OzoneFileSystem. Contr…

…ibuted by Xiaoyu Yao.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
38
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

0
mvndep
58
Maven dependency ordering for branch

+1
mvninstall
1029
trunk passed

+1
compile
970
trunk passed

+1
checkstyle
240
trunk passed

+1
mvnsite
214
trunk passed

+1
shadedclient
1230
branch has no errors when building and testing our client artifacts.

+1
findbugs
198
trunk passed

+1
javadoc
129
trunk passed

_ Patch Compile Tests _

0
mvndep
22
Maven dependency ordering for patch

+1
mvninstall
105
the patch passed

+1
compile
960
the patch passed

+1
javac
960
the patch passed

+1
checkstyle
204
the patch passed

+1
mvnsite
128
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
701
patch has no errors when building and testing our client artifacts.

+1
findbugs
212
the patch passed

+1
javadoc
121
the patch passed

_ Other Tests _

-1
unit
99
common in the patch failed.

+1
unit
48
common in the patch passed.

+1
unit
134
ozonefs in the patch passed.

+1
asflicense
51
The patch does not generate ASF License warnings.

6719

Reason
Tests

Failed junit tests
hadoop.hdds.security.x509.certificate.client.TestDefaultCertificateClient

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-526/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/526

Optional Tests
dupname  asflicense  compile  javac  javadoc  mvninstall  mvnsite  unit  shadedclient  findbugs  checkstyle

uname
Linux 3e407a210f51 3.13.0-153-generic #203-Ubuntu SMP Thu Jun 14 08:52:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / ea3cdc6

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

findbugs
v3.1.0-RC1

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/1/artifact/out/patch-unit-hadoop-hdds_common.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/1/testReport/

Max. process+thread count
2742 (vs. ulimit of 5500)

modules
C: hadoop-hdds/common hadoop-ozone/common hadoop-ozone/ozonefs U: .

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/1/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
39
Docker mode activated.

_ Prechecks _

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

0
mvndep
59
Maven dependency ordering for branch

+1
mvninstall
981
trunk passed

+1
compile
925
trunk passed

+1
checkstyle
190
trunk passed

-1
mvnsite
51
common in trunk failed.

+1
shadedclient
1065
branch has no errors when building and testing our client artifacts.

-1
findbugs
36
common in trunk failed.

+1
javadoc
132
trunk passed

_ Patch Compile Tests _

0
mvndep
23
Maven dependency ordering for patch

+1
mvninstall
99
the patch passed

+1
compile
873
the patch passed

+1
javac
873
the patch passed

+1
checkstyle
183
the patch passed

+1
mvnsite
137
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
672
patch has no errors when building and testing our client artifacts.

+1
findbugs
219
the patch passed

+1
javadoc
129
the patch passed

_ Other Tests _

-1
unit
86
common in the patch failed.

+1
unit
49
common in the patch passed.

+1
unit
95
ozonefs in the patch passed.

+1
asflicense
48
The patch does not generate ASF License warnings.

6256

Reason
Tests

Failed junit tests
hadoop.hdds.security.x509.certificate.client.TestDefaultCertificateClient

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-526/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/526

Optional Tests
dupname  asflicense  compile  javac  javadoc  mvninstall  mvnsite  unit  shadedclient  findbugs  checkstyle

uname
Linux 980988c88033 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 538bb48

maven
version: Apache Maven 3.3.9

Default Java
1.8.0_191

mvnsite
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/2/artifact/out/branch-mvnsite-hadoop-ozone_common.txt

findbugs
v3.1.0-RC1

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/2/artifact/out/branch-findbugs-hadoop-ozone_common.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/2/artifact/out/patch-unit-hadoop-hdds_common.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/2/testReport/

Max. process+thread count
2787 (vs. ulimit of 5500)

modules
C: hadoop-hdds/common hadoop-ozone/common hadoop-ozone/ozonefs U: .

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-526/2/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

+1, will add robot test as part HDDS-595.

As I see it was reverted on the trunk. Can we have some information what was the problem?

@elek this was reverted because it uses the merge with rebase instead of merge with squash. Redo PR with https://github.com/apache/hadoop/pull/545.

I see. Thanks the information. (I investigated a build problem and I was not sure if this revert is connected. But now I see that it's just an administration revert)


unity title bar icon and check list problem

Awesome theme~ but I found some problems
In the title bar, you can see some application's icon can't change correctly. (Like Spotify, Skype and Chrome that they have the flat icon, but can't showed)

and the check list don't have the box if there is not checked:

Why happened like this? > <

I fixed the checkbox bug in #5. Can you reinstall and check?
The icon in status bar is definitely a bug.

The status bar icons should be fixed when the folks maintaining Ultra-Flat-Icons roll out a fix I think. Has anybody found a workaround yet?

hi ~ @anmoljagetia
I pull the latest version from master, but the checkbox bug still exit.

Thanks for reporting this!
It works on Ubuntu 15.04 for me. I'll have to test it out manually on Ubuntu 14.04 again. @twxia thanks for reporting all these bugs in, It would keep me busy for a while :smile:
Thanks for all the help :)

@anmoljagetia
I found that the checkbox in widget factory is correctly display(right side), but others are broken (left side)

@twxia is this on Ubuntu 14.04 ?

They render fine for me on Ubuntu 15.04. I think it broke in the last commit for Ubuntu 14.04. Can you download from here and test please?

@anmoljagetia  it works !! thanks

Gnome is making a lot of changes, and reducing support for older libraries. I think we should have different download links for 14.04 and 15.04 users?

@twxia thanks for confirming this :+1:

@anmoljagetia maybe need a make file to generate two different source. > <
Like using  unity --version to check current version.(https://launchpad.net/ubuntu/+source/unity)
ubuntu 14.04 is unity 7.2.5
ubuntu 15.04 is unity 7.3.2
BTW how can I know this is Gnome's problem? I saw you change the SVG, so is it means the latest version of Gnome can't parse some structure of SVG?

@twxia I changed the svg because the newer ones a little more polished :smile: The main difference is the way path is passed to the engine that renders the theme. I assume Gnome is making changes to the engine as well. Example can be seen here. I am assuming the easiest way to do this would be have different releases for different versions of Ubuntu, like most softwares do when we run sudo apt-get install xxxxx.
I like the idea of using a makefile too, but I am unsure how that can be implemented without having the user compile the theme explicitly?

@anmoljagetia  QAQ, I have google it and found the awful support story for the old version ~
Ubuntu 14.04 only can upgrade to GNOME 3.12
but the latest function need GNOME 3.16
maybe you need to write down the prerequisite version?
and I saw you had added the tags to support 15.04 and 14.04 :+1:
I'm not sure the difference between old and latest version. I cant find a document describing these things.
If there is no too many changes, maybe can use SASS to write some @mixin and then use something like compass compile -e=oldversion,  compass compile -e=gtk3.16 ?

I just found out about the jump from 3.12 to 3.16 as well. Some libraries will be incompatible from 3.16, and will be replaced by some newer alternatives. They have documentation here however it doesn't help much except for figuring out what a particular line does. I like the idea of using SASS and include a few @mixin however, I read a few blogs that state that this method will still break a few things!
I am still on the lookout for better methods! However, a lot of popular softwares and theme, have different versions for different versions of Gnome, so I am not very positive about this, at the moment.

Thanks to @gamerox, this issue has now been resolved. The top icons can be fixed by maintainers of ultra-flat-icons (I think!). Closing this for now!


toggle-article-read "read" marks as unread when viewing an article

Newsboat version: newsboat 2.23.0
Config file (copy from ~/.newsboat/config or ~/.config/newsboat/config):
macro x toggle-article-read "read"

Steps to reproduce the issue:

View an article
Run the above macro

I am then dropped back to the article list view with the article being marked unread.
While this feature does not seem to be documented (#1336), I expect it is meant to leave the article marked as read in this case.
After limited inspection, the following seems to be the culprit of this:
https://github.com/newsboat/newsboat/blob/master/src/itemlistformaction.cpp#L215
https://github.com/newsboat/newsboat/blob/master/src/itemviewformaction.cpp#L408
Looks like arguments are only considered in the item view.

Thank you for the report! I didn't try to reproduce, but it's obvious from the code that you're right. I agree that this should behave the same across the dialogs. Since you've already identified the place in the code, would you like to send a pull request fixing it? ;)


Still maintained?

Hi, is this project still being used or or is it abandoned, given it was last updated four years ago?
Thanks for any information.

Hi. I made it few years ago for a single project that needed it. The zotero api has not changed since then so everything should be working fine. If you use it and see something wrong, you can open an issue or a pull request.

Thanks for your quick response and great to hear that you're still looking after the project.


The Fonts folder in the mapping directory does not seem to take effect

The Fonts folder in the mapping directory does not seem to take effect. The font I replaced cannot take effect. Even if the user space is restarted, my device is iPhone13Pro Max, the system is 15.4.1, and I use Dopamine1.0.2

Official version of Dopamine does not provide path mapping. Hence do not ask question here. @Cryptiiiic this should be closed.
Go to @w2599's or @Liam0205's repo and post your issue.

Also, this should be a tweak in the future, not a part of jb tool itself. (I'm working on it.

@Liam0205 yes, see: https://github.com/opa334/Dopamine/issues/91


Refactor

Part of #797 and #766

Coverage increased (+0.2%) to 74.863% when pulling c72c67e452c1fef06782a1e4cbe08f7c885e033a on refactor into 85975201a98c01bef47d99608cb1382f356e8c23 on master.


Unable to deploy to Service Fabric if the Service Connection uses Common Name for the Server Certificate Lookup

Required Information
Question, Bug, or Feature?
Type: Bug
Enter Task Name: ServiceFabricDeploy, ServiceFabricComposeDeploy
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/ServiceFabricDeployV1
https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/ServiceFabricComposeDeployV0
Environment

Server - Azure Pipelines or TFS on-premises?
Azure Pipelines

Agent - Hosted or Private:
Hosted

Issue Description
Unable to deploy to Service Fabric if the Service Connection uses Common Name for the Server Certificate Lookup due to a PowerShell error in
https://github.com/Microsoft/azure-pipelines-tasks/Tasks/Common/ServiceFabricHelpers/Get-ServiceFabricEncryptedText.ps1.
There is a typo in this module at line 82.
the line is:
$serverCertThumbprints = null;

This correctly throws an error of "null: The term 'null' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.".
The error is in a function Get-ServerCertThumbprints (line 70) which is called twice from the function Get-ServiceFabricEncryptedText (line 3). The first time (line 34) is in a try-catch block but the second is within the catch block itself (line 39).
Since this second invocation at line 39 does not catch the error, the task aborts.
The line should be:
$serverCertThumbprints = $null;

Error logs
2021-02-25T13:03:58.3821772Z ##[debug]Caught exception from task script.
2021-02-25T13:03:58.3849431Z ##[debug]Error record:
2021-02-25T13:03:58.4456437Z ##[debug]null : The term 'null' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
2021-02-25T13:03:58.4467187Z ##[debug]At D:\a\_tasks\ServiceFabricDeploy_19c02b15-d377-40e0-9efa-3168506e0933\1.9.3\ps_modules\ServiceFabricHelpers\Get-ServiceFabricEncryptedText.ps1:82 char:30
2021-02-25T13:03:58.4477854Z ##[debug]+     $serverCertThumbprints = null;
2021-02-25T13:03:58.4488319Z ##[debug]+                              ~~~~
2021-02-25T13:03:58.4499305Z ##[debug]    + CategoryInfo          : ObjectNotFound: (null:String) [], CommandNotFoundException
2021-02-25T13:03:58.4509713Z ##[debug]    + FullyQualifiedErrorId : CommandNotFoundException
2021-02-25T13:03:58.4520163Z ##[debug]
2021-02-25T13:03:58.4535625Z ##[debug]Script stack trace:
2021-02-25T13:03:58.4568628Z ##[debug]at Get-ServerCertThumbprints, D:\a\_tasks\ServiceFabricDeploy_19c02b15-d377-40e0-9efa-3168506e0933\1.9.3\ps_modules\ServiceFabricHelpers\Get-ServiceFabricEncryptedText.ps1: line 82
2021-02-25T13:03:58.4579079Z ##[debug]at Get-ServiceFabricEncryptedText, D:\a\_tasks\ServiceFabricDeploy_19c02b15-d377-40e0-9efa-3168506e0933\1.9.3\ps_modules\ServiceFabricHelpers\Get-ServiceFabricEncryptedText.ps1: line 39

This has been fixed and will be available to you in maximum next 3 weeks.


OnFileCompleteAsync never gets fired when uploading a file with size 0

I use tusdotnet version 3.0, and when i try to upload empty files, this uploading skip step with onFileCompleteAsync.
Step to reproduce:

Create empty txt file and upload it.
Nothing detected  in OnFileCompleteAsync.
With best regards, Vitaliy

Known issue that will be fixed in the next version: https://github.com/tusdotnet/tusdotnet/issues/119

@smatsson do you already know when the next version with this fix will be released? I experience an error when using uppy to upload a file on Android from a Google Drive and it might have the same cause:
https://github.com/transloadit/uppy/issues/2860
Thanks!

Hi @heebj
There are some other features that are in progress that I want to include in the new version so it will probably be a week or so before the new version hits nuget.

https://www.nuget.org/packages/tusdotnet/2.4.0


[PLANNER-873] Added i18n

@ge0ffrey How do you like the naming the constants? Is there a better naming scheme or are they good as they are? I'm pretty sure I got everything, but let me know if I missed something.

Good to merge, but there are merge conflicts, probably due to the other PR in parallel. As the code base grows, there should be less of these.
@Christopher-Chianelli would you mind looking at resolving the merge conflicts?

@ge0ffrey Done. There weren't any proper merge conflicts (since git rebase worked without conflicts), but there were whitespace errors in the patches.

Thanks Christopher :)


Question: System.AccessToken usage

Thanks Alex for the library it is really useful. Would you know if it is possible to configure the pipeline so we would leverage System.AccessToken and not a PAT? Otherwise maybe a service connection?

for connection with ADO reporter used azure-devops-node-api and used connection flow provided there