dash-seperated 'script-dir' will not be supported in future versions

Hello! I am just writing to report that I get the following warning when trying to build in ros2 humble on ubuntu jammy.
➜  pcd_workspace source /opt/ros/humble/setup.zsh
➜  pcd_workspace colcon build
Starting >>> pcd_demo
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'install-scripts' will not be supported in future versions. Please use the underscore name 'install_scripts' instead
  warnings.warn(
--- stderr: pcd_demo
/usr/lib/python3/dist-packages/setuptools/dist.py:723: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
---
Finished <<< pcd_demo [1.00s]

I am not sure when this deprecation will happen, but I just wanted to share in case someone has a version of setuptools where this does break

actually I am not sure if it runs out of the box on humble in general


Digital clock with date

Digital clock with date ft. dark mode

I'd like to work on that.

go ahead 🚀

hey @AbhiMishra-Now  please assign me this issue

hey @AbhiMishra-Now please assign me this issue

already assigned


Question: Reproduce data figure from paper

Hi Mat,
I am trying to reproduce the data generation process in order to achieve the same data distribution shown here:

However when I wrote this code it doesnt change the between different seeds:
from caussim.data.simulations import CausalSimulator
from caussim.experiences.base_config import DEFAULT_SIMU_CONFIG

from copy import deepcopy
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
import seaborn as sns
from sklearn import clone

if __name__ == '__main__':

    dataset_config = deepcopy(DEFAULT_SIMU_CONFIG)

    dataset_config["simu_random_seed"] = 0
    base_seed = 8
    overlap = 0.7
    n_components = 2
    dataset_config["treatment_ratio"] = 0.2
    dataset_config["treatment_link"]["params"]["random_state_feat"] = base_seed
    dataset_config["baseline_link"]["params"]["random_state_feat"] = base_seed
    dataset_config["outcome_noise"] = 0
    dataset_config["treatment_link"]["params"]["n_components"] = n_components
    dataset_config["baseline_link"]["params"]["n_components"] = n_components
    dataset_config["treatment_assignment"]["params"]["overlap"] = overlap
    n_samples = 1000

    sim = CausalSimulator(
        n_samples_init=dataset_config["n_samples_init"],
        dim=dataset_config["dim"],
        baseline_link=dataset_config["baseline_link"],
        effect_link=dataset_config["effect_link"],
        treatment_link=dataset_config["treatment_link"],
        treatment_assignment=dataset_config["treatment_assignment"],
        effect_size=dataset_config["effect_size"],
        outcome_noise=dataset_config["outcome_noise"],
        treatment_ratio=dataset_config["treatment_ratio"],
        random_seed=dataset_config["random_seed"],
        clip=dataset_config["clip"],
    )

    df = sim.sample().df

    graph = sns.jointplot(data=df, x='x_0', y='x_1', hue='a')
    plt.tight_layout()
    plt.show()

The distribution looks is:

When I change the setting to seed = 187 and $\theta =1$ I get a very similar distribution (as opposed to the paper):

Where did I go wrong? I might be wrong but it looks like RBF is not applied when the data is generated and maybe that is why?
Thanks!

Hi Yarin !
I think that the parameters of overlap 0.7 and 1 are a little too close to see something in term of overlap on these graphs. I tried with your snippet and put overlap =0.7 and overlap= 3 and had very distinct overlap populations. For the main experience of the paper I varied the range of this overlap parameter from 0.1 to 3.
In the code for the figure 4, I mainly wanted to show different response surfaces functions induced by different RBF basis

functions, so the overlap parameters are maybe a little too close. If you want to replicate exactly the paper figures, there is a notebook for it : https://github.com/soda-inria/caussim/blob/main/caussim/demos/caussim_examples.py

Happy to help

Clothing due to no activity/response


⚠ Cioos National CKAN has degraded performance

In ab67769, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 11014 ms

Resolved: Cioos National CKAN performance has improved in 90e9c96 after 5 minutes.


Cal 34961 no shows

Changes

WIP to create and render no-show data for a scheduled event
(I'm not sure if markAsNoShow needs to accept invitee uri to pass to postRequestConfiguration. The server-side API seems to overlap too much with the fetch request in the component.)

Story
https://calendlyapp.atlassian.net/browse/CAL-34961

Forgot to mention that I updated pagination in the invitee component. Let me know if any issues/objections!


start-stop-daemon: init at 1.22.1

Description of changes
Adds start-stop-daemon package which helps run processes in the background easily

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

start-stop-daemon


Validation runs

Unless we are changing them we will use standard settings of fmin = 1e-4, fmax = 2e-2, duration = 2e6, seglen = 5e4, nside = 6, alpha=2/3, omega0 = 4.5e-9, seed=10, fs=0.25, FixSeed=1, mldc=0
Orbiting vs Stationary: XYZ Channels

[x] with nside = 4 compare recoveries with stationary lisa and orbiting lisa setting.
[x] with nside = 8 compare recoveries with stationary lisa and orbiting lisa setting.

optional run with nside =12
Stationary LISA : XYZ channels

[x] Run with a series of Omega0 1e-12, 1e-11, 1e-10, 5e-10, 1e-9,  8e-9, 1e-8

Stationary LISA : AET channels

[x] Run with a series of Omega0 1e-12, 1e-11, 1e-10, 5e-10, 1e-9,  8e-9, 1e-8

Test nside effect

[x] Using XYZ channels run with Omega0 = 1e-10, 1e-8 for nside of 6, 12 with stationary LISA

@sharanbngr
This is my attempt for nside=4 for stationary lisa. let me know if something's wrong, if not I will do run it with other settings.
[params]
fmin=1e-4
fmax=2e-2
duration in seconds, should be compatiable with fmin
duration=2e6
segment length for fft in seconds, should be compatiable with fmin
Note by SB: Looks like this needs to be atleast a factor of 10 larger than 1/fmin
to give consistant recoveries.
seglen=5e4
sample rate in Hz, should be compatible with fmax
Note by SB: Looks like this needs to be atleast a factor of 4
higher than fmax (as opposed to the usual factor of 2) to give
consistent recoveries.
fs=0.25
Shfile=LISA_2017_PSD_M.npy
nside=4
LISA configuration. Can be stationary or orbiting
lisa_config=stationary
Level of the tdi. Can be michelson, xyz or aet
tdi_lev=aet
If the mldc flag is set to 1, then the time series data is read in from a file.
mldc=0
datafile=SGWB_withnoise_full.txt
Current options: SGWB_withnoise_full.txt mldc_tdi_withnoise.txt
If loadResponse is true, then a previously generated set of detector responses is read in from a file. Only use when running repeated analyses on the same data set. Only used for orbiting LISA configuration due to the increased computation time of that case.
File loaded depends on tdi_lev.
loadResponse=0
If loadCustom is also true, the detector response arrays will be loaded from files specified by the user (responsefile1,2,3). Specified detector responses should be compatible with tdi_lev.
IMPORTANT - only load responses when analyzing the dataset originally used to generate them. The code will throw an error if the duration/segment length (dur/seglen) don't match. However, mismatched combinations of data and responses can still function in some cases and will produce erroneous results.
loadCustom=0
responsefile1=R1arrayAETMLDC.txt
responsefile2=R2arrayAETMLDC.txt
responsefile3=R3arrayAETMLDC.txt
fref parameter useful for powerlaw stochastic backgrounds
fref = 25
recovery model type, can be isgwb, sph_sgwb, isgwb_only or noise_only for now
modeltype=isgwb
lmax=0
Truevals for whatever parameters are being used.
This should be a comma seperate list WITHOUT spaces
For sph, the list is alpha, {log_omega_lm}, Np, Na
truevals=0.667,-8.455,-41.045,-48.443
[inj]
Power Law Injection
Omege0 is defined as the power at 1e-3 Hz
doInj=1
omega0=4.5e-9
alpha=0.667
Np=9e-42
Na=3.6e-49
injtype=isgwb
[run_params] # Parameters related to the run or to the sampler
out_dir=./stationary_n4_0
verbose=1
Set doPreProc to 1 to force generation of fake data again rather than used
precalculated data in the data_spectrum file
doPreProc=0
nlive=500
Nthreads=1
If FixSeed is true, the sampler will use random states generated by the seed given in the 'seed' parameter below. This allows for reproduction of sampling results; for a given seed value, repeated analyses of the same dataset will produce precisely identical results. The seed can be any unsigned 32-bit integer.
FixSeed=1
seed=10
Must be .npz file
input_spectrum=data_spectrum.npz

Hi @kuan0020, in the params file change tdi_lev to xyz. Everything else looks okay.
Regarding the error you emailed me about, I think that is because you don't have latex installed on your computer. Do
sudo apt install texlive-full

https://docs.google.com/presentation/d/1uuhY1vxJdz5bgdTFGf_aNqXFacbAgLIkde1D5BlHfA4/edit?usp=sharing


including a non-minified version of the jquery.mmenu.all.min.js

Hi, what do you think about including a non-minified version of the jquery.mmenu.all.min.js  file? It could help follow your code or troubleshoot. If you provide a non minified version, we could use it directly in meteor since things are minified automatically there, with the appropriate .map that helps decipher the code during runtime in Chrome web dev tools. The meteor package is currently forked at: https://github.com/JoshDellay/jquery-mobile-menu

+1

I'd recommend including each file seporately when running into troubles.


.combinations(ofCount k:) not working

combinations(ofCount:) not working in a command line app for the documented examples.
Swift Algorithms version: 0.0.2
Swift version: 5 (selected from build settings).
Checklist

[X] If possible, I've reproduced the issue using the main branch of this package
[X] I've searched for existing GitHub issues

Steps to Reproduce
Created a new command-line app with v 0.0.2 of the Algorithms Swift Package, successfully compiled. I am trying to use combinations(ofCount: ) but it doesn't seem to work. I've tried with String and Int arrays, but the result of the combo only includes the original array. I've pretty much followed the documentation word-for-word, with the example.
func algorithmCombinations(_ digits: [Int]) -> [Int] {
  let combos = digits.combinations(ofCount:3)
  var results = [Int]()
  for combo in combos {
    results.append(contentsOf: combo)
    print(combo)
  }
  return results
}

let res = algorithmCombinations([3,6,2]) // prints [3,6,2]

Expected behavior
Describe what you expect to happen.
[2,3,6],[2,6,3],[3,2,6],[3,6,2],[6,2,3],[6,3,2] gets printed and returned.
Actual behavior
Describe or copy/paste the behavior you observe.
let res = algorithmCombinations([3,6,2]) // prints and returns [3,6,2]

Expected behavior
Describe what you expect to happen.
[2,3,6],[2,6,3],[3,2,6],[3,6,2],[6,2,3],[6,3,2] gets printed and returned.

It sounds like you're looking for the permutations(ofCount:) method 🙂 In a permutation the order matters, in a combination it does not. [2, 3, 6] and [2, 6, 3] are the same combination of 3 elements, just in a different order.

Expected behavior
Describe what you expect to happen.
[2,3,6],[2,6,3],[3,2,6],[3,6,2],[6,2,3],[6,3,2] gets printed and returned.

It sounds like you're looking for the permutations(ofCount:) method 🙂 In a permutation the order matters, in a combination it does not. [2, 3, 6] and [2, 6, 3] are the same combination of 3 elements, just in a different order.

Ok, I understand now. Thanks for the help.

Ok, I understand now. Thanks for the help.


datacamp tracks - not working

ERROR : datacamp tracks command is not working
ERROR MESSAGE :
Please wait \Traceback (most recent call last):
File "/home/pratik/anaconda3/bin/datacamp", line 8, in
sys.exit(app())
File "/home/pratik/anaconda3/lib/python3.8/site-packages/typer/main.py", line 214, in call
return get_command(self)(*args, **kwargs)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/pratik/anaconda3/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/typer/main.py", line 497, in wrapper
return callback(**use_params)  # type: ignore
File "/home/pratik/anaconda3/lib/python3.8/site-packages/datacamp_downloader/downloader.py", line 58, in tracks
datacamp.list_completed_tracks(refresh)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/datacamp_downloader/datacamp_utils.py", line 43, in wrapper
return f(*args, **kwargs)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/datacamp_downloader/helper.py", line 64, in wrapper
output = f(*args)
File "/home/pratik/anaconda3/lib/python3.8/site-packages/datacamp_downloader/datacamp_utils.py", line 144, in list_completed_tracks
self.get_completed_tracks()
File "/home/pratik/anaconda3/lib/python3.8/site-packages/datacamp_downloader/datacamp_utils.py", line 356, in get_completed_tracks
courses.update(track.courses)
AttributeError: 'list' object has no attribute 'update'

Thanks for reporting this bug. Please install the tool again using pip install git+https://github.com/TRoboto/datacamp-downloader and test again.

Shows s
ame error.

If it shows exactly the same error, this means you still use the old version. I would suggest that you create a new virtual env, and install the tool their using the above command and test again. If an error occurs, it should be different. One more thing, does datacamp courses command work?

Okay I will check, soon, currently using datacamp download all. And the command datacamp courses is working perfectly fine. Also would like to suggest if the quality of videos can be given as an option. Thanks for a great tool!

Glad to see the tool help you. I'll be waiting for you!

If it shows exactly the same error, this means you still use the old version. I would suggest that you create a new virtual env, and install the tool their using the above command and test again. If an error occurs, it should be different. One more thing, does datacamp courses command work?

Hi, it works fine. The problem was in environment. This helped me.


Corrected a typo and added a picture of the witch

Added some content to your story. You are free to ask me to do any change you like before approving! Use this opportunity to experiment.
To complete this task you need to merge my contribution as explained in slides 95-101 keeping in mind that you are the release manager.

I'll close this part of the homework, but if there is something else you're
curious to try and I am available I'll be happy to test.


VueJs isSinglePage and panelydynamic not working in display mode

Are you requesting a feature, reporting a bug or ask a question?
Bug
What is the current behavior?
The current behavior shows an error in VueJs when using the isSinglePage property in combination with a survey that has a paneldynamic element.
The error is as follows:
[Vue warn]: Error in render: "TypeError: Cannot read property 'questionTitleLocation' of undefined"

found in

---> <SurveyRow> at src\vue\row.vue
       <SurveyPanel> at src\vue\panel.vue
         <SurveyPaneldynamic> at src\vue\paneldynamic.vue
           <SurveyElement> at src\vue\element.vue
             <SurveyRow> at src\vue\row.vue
               <SurveyPanel> at src\vue\panel.vue
                 <SurveyElement> at src\vue\element.vue
                   <SurveyRow> at src\vue\row.vue
                     <SurveyPage> at src\vue\page.vue
                       <Survey> at src\vue\survey.vue
                         <Root>
warn @ vue.js:597

vue.js:1743 TypeError: Cannot read property 'questionTitleLocation' of undefined
    at VueComponent.get (survey.vue.js:12794)
    at Watcher.get (vue.js:3140)
    at Watcher.evaluate (vue.js:3247)
    at VueComponent.computedGetter [as questionRootClass] (vue.js:3503)
    at Object.get (vue.js:1945)
    at survey.vue.js:24751
    at Proxy.renderList (vue.js:3699)
    at Proxy.render (survey.vue.js:24747)
    at VueComponent.Vue._render (vue.js:4535)
    at VueComponent.updateComponent (vue.js:2788)

What is the expected behavior?
No errors, and the page is shown in a single page.
How would you reproduce the current behavior (if this is a bug)?
See VueJs
Specify your

browser: Chrome
browser version: Chrome 66
surveyjs platform: vuejs
surveyjs version: 1.0.20

@exnihilo-creatio The same problem with other platform and the error are show for both modes: edit and display. We are working on the fix.

@exnihilo-creatio a new unit test has been added and the bug has been fixed.
Thank you,
Andrew


Bot status away apparently with no reason

I have created a bot which works fine for some hours (even days) but, with no reason, some times the bot is status is marked as away and I cannot interact with it. The bot is still running in the server, it didn't crash and I don't see any error log. Does anybody know what is happening?

Same thing happens to me (typically after a week). Wondering if there might be a way to do a periodic check of Slack connection status, and, if necessary, trigger a startRTM method call again.

Closed due to inactivity, please continue the discussion on dev4slack!


Camera do not save Wifi config, wpa_suplicant.conf from SD?

My camera do not connect to my wifi after reboot, they want to scan the QR code. Tested with 0.1.4 and 0.1.6.
Is it posible to make as option to read and copy the wpa_suplicant.conf from SD card?

You can read wpa_supplicant but you can't write it.
Wifi configuration is saved on flash (a raw partition), wpa_supplicant is "only" a copy.

Having the same issue with WiFi in #45. I did not disable the Yi cloud as I'd like to have the ability to use the Yi app to Live stream. Every now and then it does lose the Wifi config though...which makes me hesitant to actually install the camera at a hard-to-reach-place for security purposes.
I was wondering though...If we, at boot using startup.sh, forcefully copy/set a Wifi config? Possibly even kill any running instances of wpa_suplicant and start a new one with our custom wpa_suplicant.conf file as argument?
Only thing that I am not sure about is the camera state when not connected to the WiFi. Do all the services come up like normal? Or does it go into some other state and first needs to be fed before working normally?

I was wondering though...If we, at boot using startup.sh, forcefully copy/set a Wifi config? Possibly even kill any running instances of wpa_suplicant and start a new one with our custom wpa_suplicant.conf file as argument?

It could be possible but we need ESSID and password.
It depends on whether the cam lost them or not.

Only thing that I am not sure about is the camera state when not connected to the WiFi. Do all the services come up like normal? Or does it go into some other state and first needs to be fed before working normally?

I don't know.
Nevertheless all the tests I have done, it has never happened to me.
The same problem happens in the Mstar model.

I had buy the camera to use without cloud.
I have copy the wpa_suplicant.conf from /tmp to /tmp/sd
and change the /home/app/script# vi wificonnect.sh
to
/home/base/tools/wpa_supplicant -c/tmp/sd/wpa_supplicant.conf -g/var/run/wpa_supplicant-global -Dnl80211 -iwlan0 -B;
it works, but it's dangoures, this file are be no reset ore overwrite with stage. An the camera want to scan a QRCode and start then wificonnect.sh, with my file.
the wpa_supplicant.conf is 777, can you write a script to copy the file from sd and stop QRCode scanning if exsist and restart wlan, so you do not have a QRCode
drwxrwxrwt    6 root     root           460 May 31 01:19 . drwxrwxr-x   14 root     root           195 Oct 30  2019 .. -rw-r--r--    1 root     root             0 Apr 17 20:16 .count lrwxrwxrwx    1 root     root            23 Jan  1  1970 audio -> /home/app/audio_file/us -rw-r--r--    1 root     root          1587 May 31 01:18 debug_alarm.txt -rw-r--r--    1 root     root             0 Jan  1  1970 debug_oss.txt -rw-r--r--    1 root     root             0 Jan  1  1970 debug_p2p.txt -rw-r--r--    1 root     root            43 May 31 01:18 dns1 -rw-r--r--    1 root     root             2 May 31 01:18 done -rw-r--r--    1 root     root            13 May 31 01:18 gw1 -rw-r--r--    1 root     root             0 Jan 19  2016 httpd.conf -rw-r--r--    1 root     root            48 May 31 01:19 iframe.idx drwxr-xr-x    2 root     root            40 Jan  1  1970 log -rw-r--r--    1 root     root          9876 May 31 01:18 log.txt -rw-r--r--    1 root     root             0 Jan  1  1970 log_oss.txt srwxr-xr-x    1 root     root             0 Jan  1  1970 logsock -rw-r--r--    1 root     root            14 May 31 01:18 mask -rwxr-xr-x    1 root     root          2508 Jan  1  1970 mmap.info -rw-r--r--    1 root     root           139 May 31 01:18 resolv.conf drwxr-xr-x    2 root     root            40 Jan  1  1970 run drwxr-xr-x    6 root     root         16384 Apr 17 20:16 sd drwxr-xr-x    3 root     root            60 Jan  1  1970 var -rwxrwxrwx    1 root     root           166 Apr 17 20:16 wpa_supplicant.conf

Sorry, but I did not understand.
Could you explain me better?

Question is when the "not paired" voice message is played. Is that while the camera has fully start up but somehow does not manage to (re) connect to the Wifi network that has previously been configured? Or does that happen when there is no Wifi network configured at all.
In the first case we can probably do something, like patching wificonnect.sh, or, something like this in the startup script:

if [ -f "/tmp/sd/wpa_supplicant.conf" ]; then
kill ps | grep wpa_supplicant | grep -v grep | awk '{print $1}'
/home/base/tools/wpa_supplicant -c/tmp/sd/wpa_supplicant.conf -g/var/run/wpa_supplicant-global -Dnl80211 -iwlan0 -B;
fi

This should then, at every startup, kill the standard Yi wifi connect and re-start with the custom one.
However...if the "Not paired" voice message is triggered by a Yi-config check (rather than actually not being able to connect to the previously configured Wifi) then this won't work. Because the Yi software will keep thinking that the camera is not paired/configured, even if we 'reset' the Wifi connection. This would only work if the Yi software actually checks/verifies the Wifi/IP connection upon startup (and the "not paired" voice message is based on that).
Normally if the cam loses its connection the blue light just starts flashing and when the Wifi comes back it reconnects. That does not cause the "Not paired" voice message. So I wonder what may trigger that scenario. Maybe if it does not detect the Wifi network at all while the camera is booting..or something similar like that?

I switched off my AP and rebooted the cam.
I can't ear "not paired" message.
I tried with soft reboot (reboot command in shell) or hard reboot (removing power) and the cam doesn't speak.
Then I turned the router back on and the cam reconnected automatically.
Probably the "not paired" happens when cam loses the config. But why?
I have been restarting 2 cams continuously for almost a year and I have never had this problem.

My issus is, I can't write nothing on camera. No text file you can edit, you can't Upgrade anything. I think the rom is explode. How can I write it new (with dd) ?
Why I don't know. I Show as tomorow.
IT is possible to start the camera from Sd card? Thats better, because you come back if you have issus. You have enough memory.
You can patch the fstab for this I think.
You create a image file with all partions, systemroot ext4, home ext4, and a small vfat, that you expand by first start.

This cam has 2 partitions:

rootfs is a squashs
home is a jffs2

squasfs is a read only file system, so you can't write anything on the following dir: bin, etc, lib, mnt, root, sbin and usr.
jffs2 is read/write, so you can write on /home.
If you can't write on /home, you probably don't have any free space left.
Check with the command df your state:
root@yi-hack-allwinner:~# df
Filesystem           1024-blocks    Used Available Use% Mounted on
/dev/root                 1536      1536         0 100% /
devtmpfs                 30528      1824     28704   6% /dev
/dev/mtdblock3           11776     10020      1756  85% /home
tmpfs                    32768        84     32684   0% /tmp
/dev/mmcblk0p1         7743488   5421532   2321956  70% /tmp/sd

home partition is on /dev/mtdblock3
To recover the cam if the home partition is full, log in with telnet or ssh and remove the hack deleting the folder /home/yi-hack
About starting the cam from sd, it must be supported by u-boot, I don't know if it's possible.

Have the same problem on one of my yi home camera.
Only one on two camera have this problem, when I disconnect it form power or remove the sd card, I always must remade the wifi synch from yi home app. Never have this problel with the other camera.
I double check the yi home cloud is enable in this camera.

Check the fw version (yi fw).

Does the yi firmware version not get overwritten/reset when we apply the hack?
If that is not the case it would make sense to every now and then revert the hack, upgrade the yi firmware, and re-apply the hack. It thought though that applying the official fiormware updates don't make much sense because the hack-firmware would bring everything back to the version that the hack was based on originally?

Check the fw version (yi fw).

Can't check the yi firmware version cause this webcam won't connect to yi app anymore (but i made the last update before  apply the hack, the update will have 2 mounth now.)

This hack doesn't contain files from the original yi firmware.
And it doesn't change original files except:

/home/app/init.sh
/home/base/tools/extpkg.sh

At the moment, the upgrade works with both versions:

<IP_ADDRESS>A_201912121707
<IP_ADDRESS>A_201912270941

I don't know if it could work with a future version and I think that yi wil not release a new version.

@MrPatate87
Are you able to detect the differences between the 2 cams?

@MrPatate87
Are you able to detect the differences between the 2 cams?

One of the camera haven't been update before apply hack, on this one i'm on <IP_ADDRESS>A_201912121707 yi firmware.
This one work fine with yi home app and with the hack.
One the second one i have apply yi firmware update before apply the hack si i must be in <IP_ADDRESS>A_201912270941 version. This camera wotk fine with the hack, but this one can't save network info and i must reconnect via yi app every time the camera is power off. More other on this camera thé wifi connection work with yi home app but after this the camera won't show in yi app.

Don't really know why but I disable the option to Recording without Cloud and reboot the camera to apply the setting, after this whenthe camera boot, i have to link my wifi with the yi home app, after that the camera will appeare in the yi home app and I can re enable Recording without Cloud option, reboot the camera and the wifi parameter was saved (so i don't need anymore to do the wifi setting with the app)
Don't relly understand why it works but it work for me.
Thanks fo @roleoroleo for all your help and for this great hack.

Hi all,
is there any update on the original issue? Looking at /home/app/init.sh the sd card is mounted in the very beginning even before the wifi kernel module is loaded.
Modifying /home/app/wifi.sh to use a (configurable) wpa.conf from SD card instead of /tmp/wpc should do the trick:
`echo -e "ctrl_interface=/var/run/wpa_supplicant\nap_scan=1\nnetwork={\nssid="TP-LINK_gzy"\
ifconfig wlan0 up
sleep 1
/home/base/tools/wpa_supplicant -c/tmp/wpa.conf  -g/var/run/wpa_supplicant-global -Dnl80211
killall udhcpc
udhcpc -i wlan0 -b -s /home/app/script/default.script
rm /tmp/wpa.conf`

Same issue here; have to reconnect to wifi (by scanning the QR code) every time I reboot the camera. Issue affects two cameras, both on <IP_ADDRESS>A_201912270941 firmware. Hack works flawlessly on both cameras though, it's just the whole rebooting-and-register-wifi-issue that is a bit annoying. It also means that if the power is lost somehow, the cameras wont work again until manually reconnecting.
Anything I can do to help identify this issue/bug?

Did you have the same problem before applying the hack?

Another data point:
I 'lost' a camera while unpugging / plugging it into a solar cell + battery pack.
All of a sudden it said "ready to pair".
(both camera on the latest firmware using the latest hack. I set them up 2 days ago.)

This is a very annoying problem, I have to find a way to solve it.
A lot of issues concern this problem.

I know this is an old issue but I made a new wiki page to change wifi credentials.

https://github.com/roleoroleo/yi-hack-Allwinner/wiki/Change-WiFi-credentials
Awesome!

I'm not sure if this method solves the problem but you can try.

@rb2k
Did you try the wiki page method?

@roleoroleo I'm just trying (received 9FUS today) - doesn't work, so hack works, config is saved, MQTT connects etc. but after a reboot/powerdown it's 'waiting to connect' message played.

@roleoroleo I'm just trying (received 9FUS today) - doesn't work, so hack works, config is saved, MQTT connects etc. but after a reboot/powerdown it's 'waiting to connect' message played.


Error response from daemon: invalid volume specification

Just followed your tutorial "sample 3".
Dev cert is created in C:\temp\docker\.
But I get the below error:

C:\Program Files\Docker\Docker\resources\bin\docker.exe: Error response from daemon: invalid volume specification: 'C:\temp\docker:/root/.dotnet/https'.

docker run -d -p 8000:80 -p 8443:443 -e ASPNETCORE_HTTPS_PORT=8443 -e ASPNETCORE_URLS="https://+:443;http://+:80" -e Kestrel__Certificates__Default__Path=/root/.dotnet/https/cert-aspnetcore.pfx -e Kestrel__Certificates__Default__Password=mypwd-v C:\temp\docker\:/root/.dotnet/https --name=second_attempt webapp:1.0.0

The error message does not list the trailing slash after docker but your script shows a trailing slash. Did you verify that you included that trailing slash when you ran your command?

The script is a copy of my console command, yes the trailing slash is there, it does not show up in the error msg though.

Do I have to switch to Linux Containers? Because the image is a Linux image, right?

That was the issue... my first steps with Docker ;-)


Introduction to Recursion

Description
Description
Since recursion is an important part of algorithm. I propose to introduce the basics of recursion through the topic:
Introduction to Recursion
--- GSSOC22 Contributor Sanya Gera
Domain
Algorithm
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign


Wording for negated assertions is confusing

Below is sample output from a passing notEqual() test:

key icon is visible when activeKeys is empty
Expected:
"none"
Result:
"inline"
Diff:
"none" "inline"

The way this is written, it implies that "none" was expected when in fact, we are expecting anything except "none".

Prepending "NOT" to the expected value seems fine.

@jzaefferer I've created PR #822 as a possible fix for this issue, but it's incorrectly flagging the PR as CLA: Error (and the travis build seemed to fail on teardown). Any chance you could take a look and let me know if I'm doing anything wrong?


Solution to Enable WASM in Flet

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the requested feature
File Changes

File: flet/packages/flet/lib/src/flet_server_protocol_javascript_web.dart

@JS()
library script.js;

import 'dart:js_interop';

import 'package:flutter/foundation.dart';
import 'flet_server_protocol.dart';

@JS('jsConnect')
external JSPromise<JSAny?> jsConnect(JSFunction onMessage);

@JS('jsSend')
external void jsSend(JSString data);

class FletJavaScriptServerProtocol implements FletServerProtocol {
  final String address;
  final FletServerProtocolOnMessageCallback onMessage;
  final FletServerProtocolOnDisconnectCallback onDisconnect;

  FletJavaScriptServerProtocol({
    required this.address,
    required this.onDisconnect,
    required this.onMessage,
  });

  @override
  connect() async {
    debugPrint("Connecting to JavaScript server $address...");
    await jsConnect(onMessage.toJS).toDart;
  }

  @override
  bool get isLocalConnection => true;

  @override
  int get defaultReconnectIntervalMs => 10;

  @override
  void send(String message) {
    jsSend(message.toJS);
  }

  @override
  void disconnect() {}
}

Change File: flet/packages/flet/lib/src/utils/platform_utils_web.dart

// ignore: avoid_web_libraries_in_flutter
//import 'dart:html' as html;
import 'package:web/web.dart' as html;

Update sensors_plus version in: "flet/packages/flet/pubspec.yaml`

dependencies:
  sensors_plus: ^5.0.1

Change File: flet/packages/flet/lib/src/utils/session_store_web.dart

import 'package:web/web.dart' as html;

Update flet/pubspec.yaml to include web dependency

dependencies:
  flutter:
    sdk: flutter
  web: ^0.5.0

Notes

WASM is not available for video and audio packages since they depend on ffi, which is not supported.

Suggest a solution
No response
Screenshots
No response
Additional details
No response

We have an opened issue concerning this already: https://github.com/flet-dev/flet/issues/3069
A branch has also been created named wasm. You can have a look at what has already been done, and possibly make suggestions or open a PR based on that branch to have it completed.


fix privacy usage in whitenoise-core

update privacy parameter checking so sample notebooks will run

closing, changes will be included in https://github.com/opendifferentialprivacy/whitenoise-core-python/pull/10


Issue400 just scalafmt formated

What is the context for this pull request?

Tracking Issue: #400
Parent Issue:  N/A
Dependencies: N/A

What changes were proposed in this pull request?
Files (which were changed in https://github.com/microsoft/hyperspace/pull/402) were missing scalafmt formatting.
As result PR-402 is hard to review due to mix of issue fix and scalafmt formatting.
To resolve it, the simplest approach is to apply scalafmt formatting in first place.
After merging this PR PR-402 should be unblocked.
Does this PR introduce any user-facing change?

No
How was this patch tested?

No need

Could you confirm that this was from hyperspace/dev/.scalafmt.conf?

Hi @sezruby!  It's formatted with hyperspace/dev/.scalafmt.conf

@dmytroDragan could you revert changes from "rearrangement"?
I think the current arrangement looks better especially for IndexLogEntry, tag related functions / variable.
As we don't have a specific rule for arrangement for now, let's let that part so that we could merge this change quickly.

Th problem was with 1.5.1  vs 2.7.5 scalafmt.
https://github.com/microsoft/hyperspace/pull/418


Package conflict between opencv-python and opencv-python-headless

Preface: This is somewhat of a weird issue because I can't manage reproduce it with a MWE (perhaps someone here will be able to shed light on why).
I have a library: kwimage that depends on the cv2 module, and there are two main ways of obtaining this with pip. Either opencv-python or opencv-python-headless. Currently the install_requires simply specified "opencv-python".
The issue is that opencv-python contains libraries that can conflict with pyqt5, which I often see when I'm using matplotlib.  Using opencv-python-headless works around this issue.
The problem is that pip has gotten too smart for its own good. If I uninstall opencv-python and install opencv-python-headless, it throws some requirements not satisfied error, but I can't figure out how to reproduce that reliably (in that I can't set up another package where it lists some package as a dependency and then remove it to reproduce the error). However, when it does happen it looks like this:
ERROR ex = DistributionNotFound(Requirement.parse('opencv-python'), {'kwimage'})
Traceback (most recent call last):
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/bin/kwcoco", line 33, in <module>
    sys.exit(load_entry_point('kwcoco', 'console_scripts', 'kwcoco')())
  File "/home/joncrall/code/kwcoco/kwcoco/cli/__main__.py", line 112, in main
    ret = main(cmdline=False, **kw)
  File "/home/joncrall/code/kwcoco/kwcoco/cli/coco_validate.py", line 81, in main
    result = dset.validate(**config_)
  File "/home/joncrall/code/kwcoco/kwcoco/coco_dataset.py", line 2670, in validate
    from kwcoco.coco_schema import COCO_SCHEMA
  File "/home/joncrall/code/kwcoco/kwcoco/coco_schema.py", line 42, in <module>
    from kwcoco.util.jsonschema_elements import SchemaElements
  File "/home/joncrall/code/kwcoco/kwcoco/util/__init__.py", line 6, in <module>
    from kwcoco.util import util_sklearn
  File "/home/joncrall/code/kwcoco/kwcoco/util/util_sklearn.py", line 6, in <module>
    from sklearn.utils.validation import check_array
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/sklearn/__init__.py", line 82, in <module>
    from .base import clone
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/sklearn/base.py", line 17, in <module>
    from .utils import _IS_32BIT
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/sklearn/utils/__init__.py", line 23, in <module>
    from .class_weight import compute_class_weight, compute_sample_weight
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/sklearn/utils/class_weight.py", line 7, in <module>
    from .validation import _deprecate_positional_args
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/sklearn/utils/validation.py", line 26, in <module>
    from .fixes import _object_dtype_isnan, parse_version
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/sklearn/utils/fixes.py", line 28, in <module>
    from pkg_resources import parse_version  # type: ignore
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3262, in <module>
    def _initialize_master_working_set():
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3245, in _call_aside
    f(*args, **kwargs)
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3274, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
    ws.require(__requires__)
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/pkg_resources/__init__.py", line 901, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/joncrall/.pyenv/versions/3.8.5/envs/py385/lib/python3.8/site-packages/pkg_resources/__init__.py", line 787, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'opencv-python' distribution was not found and is required by kwimage

I'm currently going to work around this by making both opencv-python and opencv-python-headless optional installs in the install_extras section with different tags. This will solve 80% of the issue, but I think a modification to how these opencv wheels are produced might 100% solve the issue.
What I'm wondering is if it is possible for there to be an opencv-python-base package, which is effectively the headless code and then a plugin package opencv-python-graphics could be installed on top of that to only add the qt-libs? Thus the opencv-python package could maintain backwards compatibility by simply being a meta package that requires opencv-python-base and opencv-python-graphics.
I'm not sure if this is easy / possible to do, because perhaps the "non-headless" library has some compile time difference that can't be augmented at runtime.
If anyone can shed more light on the pkg_resources issue or comment on the feasibility of the "graphics-libs-as-a-plugin-module" idea, that would be appreciated.

It's not possible to separate the Qt libraries into another package because OpenCV is compiled against them. They must be present or the dynamic linking will fail during runtime.
It would be of course great to have that kind of extra packages (or just a single package, and the user could then install the extra dependencies via some other package manager), but it's not simply possible with the current OpenCV C++ side architecture. It would require that the whole C++ side is refactored to load 3rd party dependencies during runtime instead of making them hard dependencies during compile time. For example, on the Windows side, FFmpeg is loaded during runtime like this, and not having it next to the binary is not an issue.
The reason why PyQt5 conflicts with the package is that we ship with a different version of the Qt 5 platform plugin than PyQt5 and they are not ABI compatible. This is the line that breaks PyQt5: https://github.com/opencv/opencv-python/blob/master/cv2/init.py#L23
I think this is one of the cleanest solutions that could be used to circumvent the issue: https://github.com/opencv/opencv-python/issues/386#issuecomment-688444195 It requires some testing to confirm that it works.
Another option is to use different backend with matplotlib: matplotlib.use('tkagg')
The error you are seeing is coming from scikit-learn which uses setuptools to do something. I don't have time to dig deeper, but this is the line which imports parse_version and subsequently causes some side effect inside pkg_resources/__init__.py: https://github.com/pypa/setuptools/blob/main/pkg_resources/init.py This is not really related to pip but to some runtime checks done by scikit-learn.

The unsatisfying but ultimately stable solution I've gone with is to hack my setup file with extra requirements:
        install_requires=parse_requirements('requirements/runtime.txt'),
        extras_require={
            'all': parse_requirements('requirements.txt'),
            'tests': parse_requirements('requirements/tests.txt'),
            'build': parse_requirements('requirements/build.txt'),
            # Really annoying that this is the best we can do
            # The user *must* choose either headless or graphics
            # to get a complete working install.
            'headless': parse_requirements('requirements/headless.txt'),
            'graphics': parse_requirements('requirements/graphics.txt'),
        },

The requirements directory: https://gitlab.kitware.com/computer-vision/kwcoco/-/tree/main/requirements
In headless.txt I have:
opencv-python>=<IP_ADDRESS>  ;                            python_version >= '3.10'    # Python 3.10+
opencv-python>=<IP_ADDRESS>  ; python_version < '3.10' and python_version >= '3.9'    # Python 3.9
opencv-python>=<IP_ADDRESS>  ; python_version < '3.9' and python_version >= '3.8'    # Python 3.8
opencv-python>=<IP_ADDRESS>  ; python_version < '3.8' and python_version >= '3.7'    # Python 3.7
opencv-python>=<IP_ADDRESS>  ; python_version < '3.7' and python_version >= '3.6'    # Python 3.6
opencv-python>=<IP_ADDRESS>   ; python_version < '3.6' and python_version >= '3.5'    # Python 3.5
opencv-python>=<IP_ADDRESS>   ; python_version < '3.5' and python_version >= '3.4'    # Python 3.4
opencv-python>=<IP_ADDRESS>   ; python_version < '3.4' and python_version >= '2.7'    # Python 2.7

and in graphics.txt I have:
# python ~/local/tools/supported_python_versions_pip.py opencv-python
opencv-python>=<IP_ADDRESS>  ;                            python_version >= '3.10'    # Python 3.10+
opencv-python>=<IP_ADDRESS>  ; python_version < '3.10' and python_version >= '3.9'    # Python 3.9
opencv-python>=<IP_ADDRESS>  ; python_version < '3.9' and python_version >= '3.8'    # Python 3.8
opencv-python>=<IP_ADDRESS>  ; python_version < '3.8' and python_version >= '3.7'    # Python 3.7
opencv-python>=<IP_ADDRESS>  ; python_version < '3.7' and python_version >= '3.6'    # Python 3.6
opencv-python>=<IP_ADDRESS>   ; python_version < '3.6' and python_version >= '3.5'    # Python 3.5
opencv-python>=<IP_ADDRESS>   ; python_version < '3.5' and python_version >= '3.4'    # Python 3.4
opencv-python>=<IP_ADDRESS>   ; python_version < '3.4' and python_version >= '2.7'    # Python 2.7

Then I have a check at import time in __init__.py: https://gitlab.kitware.com/computer-vision/kwimage/-/blob/main/kwimage/init.py#L15
import ubelt as ub
try:
    import cv2  # NOQA
except ImportError as ex:
    msg = ub.paragraph(
        '''
        The kwimage module failed to import the cv2 module.  This may be due to
        an issue https://github.com/opencv/opencv-python/issues/467 which
        prevents us from marking cv2 as package dependency.
        To work around this we require that the user install this package with
        one of the following extras tags:
        `pip install kwimage[graphics]` xor
        `pip install kwimage[headless]`.

        Alternatively, the user can directly install the cv2 package as a post
        processing step via:
        `pip install opencv-python-headless` or
        `pip install opencv-python`.

        We appologize for this issue and hope this documentation is sufficient.

        orig_ex={!r}
        ''').format(ex)
    raise ImportError(msg)

So the user has to choose [graphics] or [headless] otherwise they will get an error, but the error does try to explain what's going on.
And FWIW, I have a bash script that "ensures" the system has the headless version of opencv installed:
fix_opencv_conflicts(){
    __doc__="
    Check to see if the wrong opencv is installed, and perform steps to clean
    up the incorrect libraries and install the desired (headless) ones.
    "
    # Fix opencv issues
    pip freeze | grep "opencv-python=="
    HAS_OPENCV_RETCODE="$?"
    pip freeze | grep "opencv-python-headless=="
    HAS_OPENCV_HEADLESS_RETCODE="$?"

    # VAR == 0 means we have it
    if [[ "$HAS_OPENCV_HEADLESS_RETCODE" == "0" ]]; then
        if [[ "$HAS_OPENCV_RETCODE" == "0" ]]; then
            pip uninstall opencv-python opencv-python-headless -y
            pip install opencv-python-headless
        fi
    else
        if [[ "$HAS_OPENCV_RETCODE" == "0" ]]; then
            pip uninstall opencv-python -y
        fi
        pip install opencv-python-headless
    fi
}

Hope this helps someone. And if anyone has an improvement to this method, let me know.


Uncaught TypeError: Cannot read property '0' of undefined from wheeled function

I probably came upon some kind of edge case. When zooming in and out I'm getting
Uncaught TypeError: Cannot read property '0' of undefined

I have traced this back to wheeled function in zoom.js. Specifically on line 218
g.zoom("mouse", constrain(translate(scale(t, k), mousePoint, mouseLocation), g.extent));

In my case g.extent is undefined.

Please post an example that reproduces this issue. Otherwise I may not be
able to investigate.
On Wed, Jul 6, 2016 at 6:44 PM Valter Martinek<EMAIL_ADDRESS>wrote:

I probably came upon some kind of edge case. When zooming in and out I'm
getting
Uncaught TypeError: Cannot read property '0' of undefined
I have traced this back to wheeled function in zoom.js. Specifically on line
218
https://github.com/d3/d3-zoom/blob/cff5362ab4bea80c08ce28021b11d90eebd91509/src/zoom.js#L218
g.zoom("mouse", constrain(translate(scale(t, k), mousePoint, mouseLocation), g.extent));
In my case g.extent is undefined.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/d3/d3-zoom/issues/41, or mute the thread
https://github.com/notifications/unsubscribe/AAOEjT9b3_V3b1zEIcbgz2aIKVuQmhyBks5qTC-xgaJpZM4JGk7t
.

I hit this while trying to figure out how to implement zooming so the code is somewhat dirty. There are also sample data I'm using.
https://gist.github.com/martinek/106a9159426c7c13f5a6a06224da20d9

I’d say this is mostly a bug in your code, but maybe d3-zoom could handle this better. I wasn’t able to reproduce the error, but I did notice a bug bug investigating your code and I think it is the most likely cause.
The problem is that you’ve applied the zoom behavior twice: once to the G element and once to a child RECT element:
const svg = d3.select(elem).append("svg")
    .attr("width", size.width)
    .attr("height", size.height)
    .append("g")
    .call(zoom);

// zoom panel
svg.append("rect")
    .attr('class', 'zoom-panel')
    .attr("width", size.width)
    .attr("height", size.height)
    .call(zoom);

So, when the wheel event is received, I think it’s possible that the zoom behavior could be confused: the zoom behavior isn’t able to handle multiple simultaneous wheel gestures, and the RECT and G element are treated as separate zoom gestures because you applied the zoom behavior to them separately.
I suspect this also has something to do with how the zoom behavior doesn’t consume wheel events that don’t trigger a change to zoom, thereby sometimes allowing both the RECT and G elements to start concurrent gestures, and then cause the race condition with the shared wheelTimer.
I think I can fix the error by making the wheelTimer state specific to the applied element rather than shared by the zoom behavior, but you’ll still want to fix your code so that the zoom behavior is only applied once.
Also… if you want your dates to parse across browsers you shouldn’t rely on Date.parse and instead use d3-time-format, e.g.,
var parseTime = d3.timeParse("%Y-%m-%d %H:%M:%S %Z");;

Thanks for tips. That double zoom fixed some weird behavior I was getting.

I pushed a fix in 1.0.2. If you have a chance to test it (with the double-zoom applied) and see if this fixes the TypeError, that would be helpful since I was never able to reproduce that error. You can load d3-zoom on top of the default D3 bundle:
<script src="//d3js.org/d3.v4.js"></script>
<script src="//d3js.org/d3-zoom.v1.js"></script>

If you can’t, no worries. I’ll push a new D3 patch release 4.1.1 tomorrow most likely.


Spelling and meaning checks

I'm checking your translation before officially adding it to the mod (please keep in mind I don't understand Turkish at all and am relying on translation software), and I'm seeing some things Google and DeepL are both reporting as mistakes:

stealth_keepcorpses.name is mistranslated as "override the bodies" or "invalidate corpses", while stealth_keepcorpses.help does correctly describe what the command does.
"uyutulduklarında" is a misspelling of "unutulduklarında".
stealth_lightfactor.help translates to "Determines how much the burning player's visibility is affected." I tried to rephrase the original text and DeepL gave me "Oyuncu üzerinde parlayan ışığın görünürlüğünü nasıl etkileyeceğini ayarlar." would that work?
stealth_backuptime.name translates to "Support request duration", when it should mean "Support request delay". Both suggested me "Destek talebi gecikmesi".
stealth_cheat_no_alert.name Translates to "Cheat: no trigger pull". Both translators suggested "Hile: uyarı yok".
The last verse of the poem in stealth_cheat_no_alert.help says "you can see me", when the point of the joke is that NPCs cannot see you.
Google detected a misspelling in stealth_cloak_allowed.help.
In stealth_musicpath.help, "something" should be translated to Turkish.
stealth_toggle_cloak_bind.name suggests that the button is what gets enabled/disabled, rather than the button toggling the invisibility.

Also, I'll add stealth.cilentsettings.name=Client Settings and stealth.serversettings.name=Server Settings at the top of the file in the next update.

is correct. The Garry's Mod Turkish Translation also uses that translation so I went with that. It seems like the meaning was lost. Will fix it soon.

is wrong there is no misspelling. "unutulduklarında" means "when they are forgotten" DeepL might try to fix non-existent errors.

is correct, that would work greatly. DeepL gave you a good one.

can be used interchangeably. In source language it still means the duration [delay] it takes them to come to help [support]. I can change it to DeepL's suggestion in this case.

sounds like a word for word translation. In my translation it means "cheat: no alert" "tetiğe geçme yok" still means "being alerted" or "being aware of your surrondings when something is wrong" in others words "being alerted"

I totally messed it up. I found the song but didn't understand it a bit. It was 1 or 2 am for me when I was translating it. My bad for not leaving a note says "Not ready yet, don't merge". Will fix it soon.

At "gizleme". Will fix it soon.

Yeah it should be.

Will fix it soon

And will add next updates text. I hope the clarification helps in some mistakes and DeepL's behaviour.

The command you are referring to might be ai_serverragdolls. Would you like me to change that as well?

It's done.


custom license

copyright: allow custom license texts
Allow specifying and including custom license texts in the package.
Related: https://github.com/chainguard-dev/melange/issues/1212
Signed-off-by: Dimitri John Ledkov<EMAIL_ADDRESS>

I think github is confused by ort merge strategy

Merge made by the 'ort' strategy.


Responsive Website

Is your feature request related to a problem? Please describe.
It is always nice when a site is responsive as
Describe the solution you'd like
Make the website responsive so that it can be properly displayed on any device.

Can you assign this to me?

Anyone can solve this issue without requesting to be assigned!


how to generate prompts of custom videos

Hello, thanks for your great job and open source. I want to ask if i will finetune model in my own dataset, I only have videos, any good video caption method I can use? thank you very much.

We employed the image captioning tool BLIP2 throughout our experiments. Recently, we noticed that VideoChat and VILA were adopted in EasyAnimate for video captioning.

We employed the image captioning tool BLIP2 throughout our experiments. Recently, we noticed that VideoChat and VILA were adopted in EasyAnimate for video captioning.

thx very much


Test against 2.6.0 and 2.7.0

#45 addresses deprecation warnings when running on ruby 2.7.0
These warnings were not visible in the builds as we did not test using that version. Lets test against more recent major versions.

No reason why not, I will update it
I guess we should just be mindful to update the list of rubies as required


Move action bar logics to utils

Describe the feature you'd like
Move action bar logic to utils like - Set title, handle visibility and display back button. No need to cast again and again for each fragment.
Would you like to work on the issue?

yes

@iamareebjamal Your opinion?

If @iamareebjamal agrees, can I take this up?

@angmas1 Please go ahead.


HDDS-7087. Manage RocksObjects to detect leaks

What changes were proposed in this pull request?
We need a mechanism to detect if any RocksObject is not closed before being GCed.
This PR replaces the usage of RocksObject classes in org.rocksdb.* package by managed RocksObject classes whose finalizers are intercepted to assert of their instances are closed before GCed.
https://issues.apache.org/jira/browse/HDDS-7087
Sample data
Metric showing memory leaks.

Sample error message when RocksObject is used in Ozone.
Banned imports detected:

Reason: Use managed RocksObjects under org.apache.hadoop.hdds.utils.db.managed instead.
	in file: org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
		org.rocksdb.RocksDB                   	(Line: 52, Matched by: org.rocksdb.**)
	in file: org/apache/hadoop/hdds/utils/db/RDBBatchOperation.java
		org.rocksdb.WriteBatch                	(Line: 22, Matched by: org.rocksdb.**)
		org.rocksdb.WriteOptions              	(Line: 23, Matched by: org.rocksdb.**)
	in file: org/apache/hadoop/hdds/utils/db/TableConfig.java
		org.rocksdb.ColumnFamilyOptions       	(Line: 28, Matched by: org.rocksdb.**)
	in file: org/apache/hadoop/hdds/utils/db/RDBSstFileWriter.java
		org.rocksdb.EnvOptions                	(Line: 23, Matched by: org.rocksdb.**)
		org.rocksdb.Options                   	(Line: 24, Matched by: org.rocksdb.**)
		org.rocksdb.SstFileWriter             	(Line: 26, Matched by: org.rocksdb.**)
	in file: org/apache/hadoop/hdds/utils/db/RDBSstFileLoader.java
		org.rocksdb.IngestExternalFileOptions 	(Line: 20, Matched by: org.rocksdb.**)
	in file: org/apache/hadoop/hdds/utils/db/RDBStore.java
		org.rocksdb.DBOptions                 	(Line: 41, Matched by: org.rocksdb.**)
		org.rocksdb.TransactionLogIterator    	(Line: 43, Matched by: org.rocksdb.**)

How was this patch tested?
Standard CI: https://github.com/duongnguyen0/ozone/actions/runs/2805369172

I like this approach; @jojochuang mentioned that there might be ways in the pom for all packages other than managed packaged to block rocks DB import.

There's a Maven plugin to ban certain classpath: https://maven.apache.org/enforcer/enforcer-rules/bannedDependencies.html
example: https://github.com/apache/hadoop/pull/2969/files

Thanks @kerneltime, @jojochuang and @szetszwo for the early review and suggestions. I've updated the code to (mostly) ban the usage of org.rocksdb.

2 successful and 8 skipped checks

Why the checks were skipped?

2 successful and 8 skipped checks

Why the checks were skipped?

Because I was a draft PR. Now all the checks are running.


On Gitter

Who controls https://gitter.im/PyAV-Org?
Who controls the server?
Linking to a 404 error is not a great look for us. If we can't restore this, say December 10, we should remove references to it.

It looks like sometime around February 2023 gitter.im fully integrated with Matrix, which changed the URLs:
https://app.gitter.im/#/room/#PyAV-Org_User-Help:gitter.im

Thanks. I've changed all the references so it points to the actual room.


Private methods in classes documented as "()" when in a module.

/** @module doctest2 */

/** */
class SomeClass {

    /** */
    #privateNoParams () { }

    /** */
    #privateWithParams (a) { }

    /** */
    publicNoParams () { }

    /** */
    publicWithParams (a) { }

}

Expected: Proper documentation generated for public methods, no documentation generated for private methods (by default).
Actual: This mess:

Given that JSDoc seems to be failing at the most basic documentation tasks, I am starting to wonder if it was ever tested, and if it even works at all any more.
After a few days of struggling I've determined that I at least am unable to use it as a documentation generator.

Thanks for the tips; I'll give them a whirl when I get a chance. I ended up switching to ESDoc.


Next button on into page is not working

On this page https://docs.olympusdao.finance/main/overview/intro  when I click the next button it doesn't take me to the staking section instead it is kind of unresponsive.

The same issue also persisted for Governance section along with the Overview section https://docs.olympusdao.finance/main/governance/dao .
#172 fixes both the sections viz. Overview and Governance, to have a link to next logical pages instead of link to the page itself on the next-page button.


isg-503: remove led from coffee file

Because LED is not specified in
the supervisor config.
Changelog-entry: isg-503: remove led from coffee file
Signed-off-by: Alexandru Costache<EMAIL_ADDRESS>Fixes https://github.com/balena-os/balena-isg/issues/11

@balena-ci I self-certify!

@balena-ci retest


feat(Examples): Increase the perceptual-speed-index of HNPWA.

A number of changes were made here. Let me explain them:

Moved the common application styles into index.html, disabling encapsulation.

This loads more styles before the application loads.
This allows a sort of SSR-lite, showing the shell of the app before JS loads.

Prefetches and in-memory-caches the current URL/RPC before the app totally loads.

This starts requesting the data from server as soon as main() is hit.
This avoids any FOUC, and makes the application appear to "pop in".

There are probably a bit better ways to do all of this, but it's a start, and was pretty low effort. Other ideas include prefetching the RPC in a 1-line pre-amble JavaScript (even before main() is hit), but again, lower impact than this.
Closes https://github.com/dart-lang/angular/issues/963.

Perhaps we can merge our efforts?
https://github.com/dart-lang/angular/pull/1085


add debug log to amsclient

Description
Something strange is going on in the amsclient...
Type of change
Please delete options that are not relevant.
Testing steps
n/a
Checklist

[x] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #838 (d00f0f9) into master (64fb452) will increase coverage by 0.11%.
The diff coverage is 64.28%.

@@            Coverage Diff             @@
##           master     #838      +/-   ##
==========================================
+ Coverage   56.86%   56.97%   +0.11%
==========================================
  Files          22       22
  Lines        2805     2810       +5
==========================================
+ Hits         1595     1601       +6
+ Misses       1025     1024       -1
  Partials      185      185

Impacted Files
Coverage Δ

amsclient/amsclient.go
70.09% <64.28%> (+2.44%)
:arrow_up:

Continue to review full report at Codecov.

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

@joselsegura provided a way to connect to the AMS API locally


Fix off by one error in search results

What's being changed:
Hybrid search was returning one extra search result due to an off-by-one error, now fixed.
Review checklist

[ ] Documentation has been updated, if necessary. Link to changed documentation:
[ ] Chaos pipeline run or not necessary. Link to pipeline:
[ ] All new code is covered by tests where it is reasonable.
[ ] Performance tests have been run or not necessary.

Whoops


WIP Replace concat with into

Build passes: https://travis-ci.org/twosigma/Cook/builds/232530621

https://travis-ci.org/twosigma/Cook/builds/232538564


Not showing errors diff and formatted error stacks in tests

Description
Hi, tests are still running/waiting without exiting and returning duration of tests and errors diff.
When I removed presetSails(), then errors messages from tests are showing, and tests successfully finished.
bin/test.js
plugins: [**presetSails()**, assert(), runFailedTests(), apiClient('http://localhost:3333')]
Current behavior
Tests are still running/waiting without exiting and returning duration of tests and errors diff.
Expected behavior
I want to achieve how it works in Japa.dev documentation

Replace space in square bracket with x e.g [x]

[x] I have checked and this issue does not exist

Thanks for submitting this @MaNi4 I'll take a look shortly.

Hey @MaNi4 I am researching moving off Japa to the build in node:test and Playwright for testing in The Boring JavaScript Stack, I will close this issue because of that.


[BUG] ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 502 Bad Gateway')

ProxyError HTTPSConnectionPool(host='i.instagram.com', port=443): Max retries exceeded with url: /api/v1/feed/timeline/ (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 502 Bad Gateway')))
Can you please elaborate what causes this issue. If it's proxy issue what exactly can I do to resolve this with my proxy provider as this issue arises only when multi-threading is done.

Is this happening because I am multi-threading and Instagrapi uses python requests. Is it like using something like asyncIO improves such issues.

@ItzmeSwapy your proxy provider says "Tunnel connection failed: 502 Bad Gateway", can you write your question to it? My provider works fine


resolved_ts: track pending lock memory usage

What is changed and how it works?

Issue Number: ref #14864
What's Changed:

* Fix resolved ts OOM caused by adding large txns locks to `ResolverStatus`.
* Add initial scan backoff duration metrics.

Related changes

Need to cherry-pick to the release branch

Check List
Tests

Integration test

Release note
None

/merge

/test


Resolve "Add social media links" issue

Team 2 added customizable social media links for the footer section of one's portfolio

Team 2 added customizable social media links for the footer section of one's portfolio

Here's a screenshot of the same -

Users can change the links just by updating the social_links.yml file.

@amin-codes, could you please remove the changes to the gem file and .gitignore from the commit? That may cause some conflict when it is merged.

They should be removed now.


Fix handling of generics when reading objects

Generics information is not currently used when deserializing objects which leads to Jackson deserializing objects as a List of Map instances causing downstream class cast exceptions. This change ensures Jackson's JavaType API is used to correctly deserializing objects using generics.

/oca-checked

/trigger

@graemerocher Looks like you have some checkstyle errors.

I think the checkstyle doesn't like the order of imports.
+ ./etc/scripts/checkstyle.sh
[ERROR] /builds/workspace/ublic_helidon-main_PR-1763-merge/media/jackson/common/src/main/java/io/helidon/media/jackson/common/JacksonBodyReader.java:33: Wrong order for 'com.fasterxml.jackson.databind.JavaType' import. [ImportOrder]
CHECKSTYLE ERROR


v0.20.1

bump version to v0.20.1 to release max_gas and min_gas for CheckedTransaction.

while this does technically include a breaking change to the constructor for TransactionFee, that fn is never used outside of fuel-tx.


[Sugg] Command for CASSIE announcements

Hey, can you if possible do a function to play announcement with CASSIE using a given string.
Like : https://cdn.discordapp.com/attachments/422798276404838411/486631511580344326/2018-09-04_22-18-12.mov

Implemented


feat: Add ThemeProvider and a story for the Theme component

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


brew cleanup fails when cask is defined in multiple taps

[X] are reporting a bug others will be able to reproduce and not asking a question. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh (https://discourse.brew.sh/t/brew-cleanup-chokes-cask-adoptopenjdk8-exists-in-multiple-taps/4786)
[ ] ran a brew command and reproduced the problem with multiple formulae? If it's a problem with a single, official formula (not cask) please file this issue at Homebrew/homebrew-core: https://github.com/Homebrew/homebrew-core/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
[X] ran brew update and can still reproduce the problem?
[X] ran brew doctor, fixed all issues and can still reproduce the problem?
[X] ran brew config and brew doctor and included their output with your issue?

$ brew config
HOMEBREW_VERSION: 2.1.2-12-g37f4b92
ORIGIN: https://github.com/Homebrew/brew
HEAD: 37f4b92644a255ef76e2e1c9df686211f610e82e
Last commit: 31 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: cedba1f1b4daf1605ff985fcaa7995fe2eb0f527
Core tap last commit: 4 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DEV_CMD_RUN: 1
HOMEBREW_VISUAL: subl -w
CPU: quad-core 64-bit kabylake
Homebrew Ruby: 2.3.7 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 10.0 build 1001
Git: 2.21.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 11.0.3, 1.8.0_212, 1.8.0_202
macOS: 10.14.4-x86_64
CLT: <IP_ADDRESS>.1.1554506761
Xcode: N/A
CLT headers: <IP_ADDRESS>.1.1554506761
$ brew doctor
Your system is ready to brew.

What you were trying to do (and why)

I added both homebrew/cask-versions and adoptopenjdk/openjdk as taps
In the past I installed adoptopenjdk8 via the adoptopenjdk tap. Now it is available in cask-versions as well.
I run the following once in a while:

brew cask upgrade
brew upgrade
brew cleanup

Because the cask adoptopenjdk8 is available in both taps, I get:

$ brew cleanup
Error: Cask adoptopenjdk8 exists in multiple taps:
  homebrew/cask-versions/adoptopenjdk8
  adoptopenjdk/openjdk/adoptopenjdk8

As I installed adoptopenjdk8 initially without a tap prefix, I already ran brew cask uninstall adoptopenjdk/openjdk/adoptopenjdk8 and brew cask install adoptopenjdk/openjdk/adoptopenjdk8 afterwards. But the error persists.

Another thing I do not understand:
$ brew cask list --full-name
adoptopenjdk8
apache-directory-studio
fliqlo
knockknock
vagrant
virtualbox
virtualbox-extension-pack
adoptopenjdk/openjdk/adoptopenjdk11

As can be seen adoptopenjdk11 is (correctly?!?) prefixed with the tap, but adoptopenjdk8 is not.
What happened (include command output)

brew cleanup fails.
Even worse it seems that even brew upgrade fails sometime, there seems to be a sort of automatic cleanup which happens after a specific amount of days:

$ brew upgrade
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
No changes to formulae.

==> Upgrading 1 outdated package:
derailed/k9s/k9s 0.6.5 -> 0.6.6
==> Upgrading derailed/k9s/k9s
==> Downloading https://github.com/derailed/k9s/releases/download/0.6.6/k9s_0.6.6_Darwin_x86_64.tar.gz
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/167596393/718b3c80-723e-11e9-82df-3ff559a7fde5?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190509%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190509T
######################################################################## 100.0%
🍺  /usr/local/Cellar/k9s/0.6.6: 5 files, 39.8MB, built in 6 seconds
==> `brew cleanup` has not been run in 30 days, running now...
Removing: /usr/local/Cellar/k9s/0.6.5... (5 files, 39.8MB)
Error: Cask adoptopenjdk8 exists in multiple taps:
  homebrew/cask-versions/adoptopenjdk8
  adoptopenjdk/openjdk/adoptopenjdk8

What you expected to happen
I can run brew cask upgrade && brew upgrade &&  brew cleanup successfully.
Step-by-step reproduction instructions (by running brew commands)

I actually did not remove brew completely, but as far as I understand this should reproduce this.

brew tap homebrew/cask-versions
brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
brew cleanup # <-- chokes

See AdoptOpenJDK/homebrew-openjdk#106 as well.

CC @Homebrew/cask

(Not CCing for this specific Java issue but because it should be possible to have multiple taps with the same name and not have brew cleanup go 💥.
@mfriedenhagen Can I see the output of brew cleanup --debug in that case? Thanks!

@MikeMcQuaid Yes, we absolutely need to fix this.
In the meantime, the issue can be worked around by removing the cached download:
rm -f ~/Library/Caches/Homebrew/Cask/adoptopenjdk8* \
  ~/Library/Caches/Homebrew/downloads/*-OpenJDK8*

tl;dr: Casks are loaded by the about-to-be-cleaned download's file name. (Not a good idea at all.)
amalia@Sakura:~ $ brew cask info adoptopenjdk8 --debug
Error: Cask adoptopenjdk8 exists in multiple taps:
  homebrew/cask-versions/adoptopenjdk8
  adoptopenjdk/openjdk/adoptopenjdk8
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:201:in `for'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:178:in `load'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/abstract_command.rb:52:in `block in casks'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/abstract_command.rb:52:in `map'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/abstract_command.rb:52:in `casks'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/info.rb:20:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/abstract_command.rb:36:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:92:in `run_command'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:158:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:123:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:9:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in `<main>'
Error: Kernel.exit
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:162:in `exit'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:162:in `rescue in run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:146:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/cmd.rb:123:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:9:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in `<main>'

amalia@Sakura:~ $ brew cleanup --debug
<snip>
Error: Cask adoptopenjdk8 exists in multiple taps:
  homebrew/cask-versions/adoptopenjdk8
  adoptopenjdk/openjdk/adoptopenjdk8
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:201:in `for'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:178:in `load'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:99:in `stale_cask?'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:41:in `stale?'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:296:in `block in cleanup_cache'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:280:in `each'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:280:in `cleanup_cache'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:170:in `clean!'
/usr/local/Homebrew/Library/Homebrew/cmd/cleanup.rb:43:in `cleanup'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in `<main>'

Ok, I've kinda finished triaging this. Casks' downloads are stored and referenced by only their token. This triggers a lookup failure when trying to access the related cask, for obvious reasons.
The fix should be twofold: first, the downloader strategy should use the full_name to generate the cache file name. Then, all moving parts in brew cleanup that rely on cache &:children must be updated to account for this. (The latter part will be certainly difficult.)
PD: can someone check if cleaning clashing formulae triggers the same bug?

PD: can someone check if cleaning clashing formulae triggers the same bug?

It doesn't.

The fix should be twofold: first, the downloader strategy should use the full_name to generate the cache file name.

We can't modify the cache in this way again. An alternative workaround would be to use the list of installed casks to prioritise casks from a particular tap.

Where does brew store the information about installed formulas and casks?

The Cellar and Caskroom respectively.

Quick 'n dirty fix:
diff --git a/Library/Homebrew/cleanup.rb b/Library/Homebrew/cleanup.rb
index 2679b4b76..4b43f1a6a 100644
--- a/Library/Homebrew/cleanup.rb
+++ b/Library/Homebrew/cleanup.rb
@@ -96,7 +96,7 @@ module CleanupRefinement
       return false unless name = basename.to_s[/\A(.*?)\-\-/, 1]

       cask = begin
-        Cask::CaskLoader.load(name)
+        Cask::Cask.search(name, &:token).sort_by(&:token).first
       rescue Cask::CaskUnavailableError
         return false
       end

BTW, Cask list both versions as installed, so I preferred to sort them just like brew search does.

Cask list both versions as installed, so I preferred to sort them just like brew search does.

Can you elaborate on this? It shows both versions as installed even if only one is?

Yes @MikeMcQuaid , e.g. after installing homebrew/cask-versions/adoptopenjdk8. Note that I've tapped AdoptOpenJDK's tap too.
bamalia@Sakura:~ $ brew search adoptopenjdk8
==> Casks
adoptopenjdk8 ✔            adoptopenjdk8-jre          adoptopenjdk8-openj9-jre
adoptopenjdk8 ✔            adoptopenjdk8-openj9
amalia@Sakura:~ $ brew search adoptopenjdk8 -v
==> Casks
adoptopenjdk8 ✔            adoptopenjdk8-jre          adoptopenjdk8-openj9-jre
adoptopenjdk8 ✔            adoptopenjdk8-openj9
amalia@Sakura:~ $ brew cask info homebrew/cask-versions/adoptopenjdk8
adoptopenjdk8: 8,212:b03
https://adoptopenjdk.net/
/usr/local/Caskroom/adoptopenjdk8/8,212:b03 (97.7MB)
From: https://github.com/Homebrew/homebrew-cask-versions/blob/master/Casks/adoptopenjdk8.rb
==> Name
AdoptOpenJDK 8
==> Artifacts
OpenJDK8U-jdk_x64_mac_hotspot_8u212b03.pkg (Pkg)
amalia@Sakura:~ $ brew cask info adoptopenjdk/openjdk/adoptopenjdk8
adoptopenjdk8: 8,212:b03
https://adoptopenjdk.net/
/usr/local/Caskroom/adoptopenjdk8/8,212:b03 (97.7MB)
From: https://github.com/adoptopenjdk/homebrew-openjdk/blob/master/Casks/adoptopenjdk8.rb
==> Name
AdoptOpenJDK 8
==> Artifacts
OpenJDK8U-jdk_x64_mac_hotspot_8u212b03.pkg (Pkg)

@amyspark Weird! I guess that's going to be related to the underlying bug here and also probably needs addressed.

It shows both as installed because we don't store which tap it was installed from in Caskroom.

The same thing is happening for the chromedriver-beta cask as well.
chromedriver exists on homebrew/cask
chromedriver-beta exists on homebrew/cask-versions and caskroom/versions
What happens in my case is I just want to install chromedriver; however, the install fails when it performs the update check as I believe both packages have the same starting string, so the conflict clash happens.
$ brew cask install chromedriver
Updating Homebrew...
Error: Cask chromedriver-beta exists in multiple taps:
  homebrew/cask-versions/chromedriver-beta
  caskroom/versions/chromedriver-beta

This clash happens regardless if I run brew cask install chromedriver or brew cask install homebrew/cask/chromedriver so I essentially am unable to install this cask without removing one of the taps that contains chromedriver-beta.

@Archez, you seem to have an old tap, run brew untap caskroom/versions.

I uninstalled and installed brew, then installed kafka (brew install kafka). it works.

@Archez, you seem to have an old tap, run brew untap caskroom/versions.

This seems to work for me on mojave setup.


Parallel import of templates

Now parallel execution of import single template can break both imports.
We need to add support of parallel import. If one import of particular template already started second should just wait it.
Different template can be imported parallel without waiting.
Looks like lock files with template name could help with solving this problem.

Implemented


Local Memory Reset API

Should BRAM/Cache reset/flush be supported as a user-facing API? Is this intuitive enough to include in Spatial?

I don't think it is necessary.   It is simple enough to explicitly flush a memory.
Although with GEMM, it would be really convenient to have a tile transfer from bigger brams to smaller brams with the same API as offchip tile loaders.  So if we decide to allow multiple levels of hierarchy for on-chip memories and support a tile transfer API, maybe we can also use the same API to specify a flush as well.


[bug] Generate WRONG configurePresets of Clang or GCC compilers on Windows.

Brief Issue Summary
I typed "CMake: Add Configure Preset" in the command palette, and choose "Create from Compilers", and then choose GCC or Clang compilers that I installed. However, the generated configurePreset seems NOT suitable and NOT usable.
Environments and Versions

Visual Studio Code: 1.71.2
CMake Tools: 1.13.11

CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
For example, CMAKE_C_COMPILER and CMAKE_CXX_COMPILER use cl.exe.

If I choose Clang 12.0.0 (GNU CLI) for MSVC 16.11.32901.82 (Visual Studio Community 2019 Release - amd64), then it generates:
{
  "name": "win32-clang-x64",
  "displayName": "Clang 12.0.0 (GNU CLI) for MSVC 16.11.32901.82 (Visual Studio Community 2019 Release - amd64)",
  "description": "Using compilers: C = C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\Llvm\\x64\\bin\\clang.exe, CXX = C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\Llvm\\x64\\bin\\clang.exe",
  "binaryDir": "${sourceDir}/out/build/${presetName}",
  "cacheVariables": {
    "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
    "CMAKE_C_COMPILER": "cl.exe",
    "CMAKE_CXX_COMPILER": "cl.exe",
    "CMAKE_BUILD_TYPE": "Debug"
  }
}

If I choose GCC 12.2.0 x86_64-w64-mingw32, then it generates:
{
  "name": "win32-gcc-x64",
  "displayName": "GCC 12.2.0 x86_64-w64-mingw32",
  "description": "Using compilers: C = C:\\msys64\\mingw64\\bin\\gcc.exe, CXX = C:\\msys64\\mingw64\\bin\\g++.exe",
  "binaryDir": "${sourceDir}/out/build/${presetName}",
  "cacheVariables": {
    "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
    "CMAKE_C_COMPILER": "cl.exe",
    "CMAKE_CXX_COMPILER": "cl.exe",
    "CMAKE_BUILD_TYPE": "Debug"
  }
}

Screenshots

About MinGW compilers, I found a successfull template for reference, which comes from this topic in CMake Discourse.
{
  "version": 5,
  "configurePresets": [
    {
      "name": "win32-gcc-x64-mingw-debug",
      "displayName": "Windows GCC x64 (MinGW Makefiles) Debug",
      "description": "Using GCC x64 compiler with \"MinGW Makefiles\" geneartor on Windows - Debug",
      "generator": "MinGW Makefiles",
      "binaryDir": "${sourceDir}/build/${presetName}",
      "installDir": "${sourceDir}/install/${presetName}",
      "environment": {
        "PATH": "C:/msys64/mingw64/bin;$penv{PATH}"
      },
      "cacheVariables": {
        "CMAKE_C_COMPILER": "gcc.exe",
        "CMAKE_CXX_COMPILER": "g++.exe",
        "CMAKE_BUILD_TYPE": "Debug"
      }
    }
  ],
  "buildPresets": [
    {
      "name": "win32-gcc-x64-mingw-debug",
      "displayName": "Windows GCC x64 (MinGW Makefiles) Debug",
      "configurePreset": "win32-gcc-x64-mingw-debug"
    }
  ]
}

Thank you for reporting this issue. I can reproduce this issue. We will work on a fix for it.

@elahehrashedi
Despite the cache variables CMAKE_C_COMPILER and CMAKE_CXX_COMPILER, I think it is required to prepend the bin directory to PATH env. What do you think?

@elahehrashedi
The following is the Configure Preset generated by selecting MinGW compiler after updating CMake Tools to version v1.13.14.
Click to expand
{
  "version": 4,
  "configurePresets": [
    {
      "name": "win32-gcc-x64",
      "displayName": "GCC 12.2.0 x86_64-w64-mingw32",
      "description": "Using compilers: C = C:\\msys64\\mingw64\\bin\\gcc.exe, CXX = C:\\msys64\\mingw64\\bin\\g++.exe",
      "binaryDir": "${sourceDir}/out/build/${presetName}",
      "cacheVariables": {
        "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
        "CMAKE_C_COMPILER": "C:\\msys64\\mingw64\\bin\\gcc.exe",
        "CMAKE_CXX_COMPILER": "C:\\msys64\\mingw64\\bin\\g++.exe",
        "CMAKE_BUILD_TYPE": "Debug"
      }
    }
  ]
}

However, it's still NOT working. After some analysis, I sum up the following problems:

The default generator of Windows is Visual Studio generator. But for MinGW compilers, we should use MinGW Makefiles, Ninja, or Ninja Multi-Config instead. If we don't specify the above-mentioned generators explicitly, CMake will use cl.exe compiler with Visual Studio generator:
Click to expand the Debug Log
[main] Configuring folder: cmake-preset-mingw
[main] Saving open files before configure/build
[driver] Start configure
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using preset
[cmakefileapi-driver] Invoking CMake C:\Program Files\CMake\bin\cmake.EXE with arguments ["-DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64","-DCMAKE_C_COMPILER=C:\\msys64\\mingw64\\bin\\gcc.exe","-DCMAKE_CXX_COMPILER=C:\\msys64\\mingw64\\bin\\g++.exe","-DCMAKE_BUILD_TYPE=Debug","-SF:/GitRepo/cmake-preset-mingw","-BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64"]
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64 -DCMAKE_C_COMPILER=C:\msys64\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER=C:\msys64\mingw64\bin\g++.exe -DCMAKE_BUILD_TYPE=Debug -SF:/GitRepo/cmake-preset-mingw -BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64
[cmake] -- Building for: Visual Studio 16 2019
[cmake] -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22621.
[cmake] -- The C compiler identification is MSVC 19.29.30146.0
[cmake] -- The CXX compiler identification is MSVC 19.29.30146.0
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - done
[cmake] -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] CMake Warning:
[cmake]   Manually-specified variables were not used by the project:
[cmake]
[cmake]     CMAKE_BUILD_TYPE
[cmake]
[cmake]
[cmake] -- Build files have been written to: F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64
[cmakefileapi-parser] Read reply folder: F:\GitRepo\cmake-preset-mingw\out\build\win32-gcc-x64\.cmake\api\v1\reply
[cmakefileapi-parser] Found index files: ["cache-v2-9ea9d6ad0facc341a254.json","cmakeFiles-v1-08d2da9dc108b22cc2bf.json","codemodel-v2-85f304f4a6d691b5e1ce.json","directory-.-Debug-d0094a50bb2071803777.json","directory-.-MinSizeRel-d0094a50bb2071803777.json","directory-.-Release-d0094a50bb2071803777.json","directory-.-RelWithDebInfo-d0094a50bb2071803777.json","index-2022-10-19T04-14-28-0929.json","target-ALL_BUILD-Debug-a6b161d3020aa24f2365.json","target-ALL_BUILD-MinSizeRel-a6b161d3020aa24f2365.json","target-ALL_BUILD-Release-a6b161d3020aa24f2365.json","target-ALL_BUILD-RelWithDebInfo-a6b161d3020aa24f2365.json","target-ZERO_CHECK-Debug-bd91b989660e54eacaa8.json","target-ZERO_CHECK-MinSizeRel-bd91b989660e54eacaa8.json","target-ZERO_CHECK-Release-bd91b989660e54eacaa8.json","target-ZERO_CHECK-RelWithDebInfo-bd91b989660e54eacaa8.json","toolchains-v1-28ee0ab738787926a09c.json"]
[cache] Reading CMake cache file F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64/CMakeCache.txt
[cache] Parsing CMake cache string
[extension] [1202] cmake.configure finished (returned 0)

It seems that CMake cannot find MinGW Makefiles generator even if we specify it explicitly. Based on what this topic concluded, we should PREPEND the C:/msys64/mingw64/bin to the env PATH. Otherwise, CMake will report the following error:
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".

Click to expand the CMakePresets.json after solving the 1st problem
{
  "version": 4,
  "configurePresets": [
    {
      "name": "win32-gcc-x64",
      "displayName": "GCC 12.2.0 x86_64-w64-mingw32",
      "description": "Using compilers: C = C:\\msys64\\mingw64\\bin\\gcc.exe, CXX = C:\\msys64\\mingw64\\bin\\g++.exe",
      "binaryDir": "${sourceDir}/out/build/${presetName}",
      "generator": "MinGW Makefiles",
      "cacheVariables": {
        "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
        "CMAKE_C_COMPILER": "C:\\msys64\\mingw64\\bin\\gcc.exe",
        "CMAKE_CXX_COMPILER": "C:\\msys64\\mingw64\\bin\\g++.exe",
        "CMAKE_BUILD_TYPE": "Debug"
      }
    }
  ]
}

Click to expand the Debug Log
[main] Configuring folder: cmake-preset-mingw
[main] Saving open files before configure/build
[driver] Start configure
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using preset
[cmakefileapi-driver] Invoking CMake C:\Program Files\CMake\bin\cmake.EXE with arguments ["-DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64","-DCMAKE_C_COMPILER=C:\\msys64\\mingw64\\bin\\gcc.exe","-DCMAKE_CXX_COMPILER=C:\\msys64\\mingw64\\bin\\g++.exe","-DCMAKE_BUILD_TYPE=Debug","-SF:/GitRepo/cmake-preset-mingw","-BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64","-G","MinGW Makefiles"]
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64 -DCMAKE_C_COMPILER=C:\msys64\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER=C:\msys64\mingw64\bin\g++.exe -DCMAKE_BUILD_TYPE=Debug -SF:/GitRepo/cmake-preset-mingw -BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64 -G "MinGW Makefiles"
[cmake] CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64/CMakeFiles/CMakeOutput.log".
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64 -DCMAKE_C_COMPILER=C:\msys64\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER=C:\msys64\mingw64\bin\g++.exe -DCMAKE_BUILD_TYPE=Debug -SF:/GitRepo/cmake-preset-mingw -BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64 -G "MinGW Makefiles" exited with code: 1 and signal: null
[extension] [9643] cmake.configure finished (returned 1)

After setup the environment, CMake still reports an error. It seems that we should use / instead of \\ in Cache Variables CMAKE_C_COMPILER and CMAKE_CXX_COMPILER. Otherwise, CMake will report the following error:
Invalid character escape '\m'.

Click to expand the CMakePresets.json after solving the 2nd problem
{
  "version": 4,
  "configurePresets": [
    {
      "name": "win32-gcc-x64",
      "displayName": "GCC 12.2.0 x86_64-w64-mingw32",
      "description": "Using compilers: C = C:\\msys64\\mingw64\\bin\\gcc.exe, CXX = C:\\msys64\\mingw64\\bin\\g++.exe",
      "binaryDir": "${sourceDir}/out/build/${presetName}",
      "generator": "MinGW Makefiles",
      "environment": {
        "PATH": "C:/msys64/mingw64/bin;$env{PATH}"
      },
      "cacheVariables": {
        "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
        "CMAKE_C_COMPILER": "C:\\msys64\\mingw64\\bin\\gcc.exe",
        "CMAKE_CXX_COMPILER": "C:\\msys64\\mingw64\\bin\\g++.exe",
        "CMAKE_BUILD_TYPE": "Debug"
      }
    }
  ]
}

Click to expand the Debug Log
[main] Configuring folder: cmake-preset-mingw
[main] Saving open files before configure/build
[driver] Start configure
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using preset
[cmakefileapi-driver] Invoking CMake C:\Program Files\CMake\bin\cmake.EXE with arguments ["-DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64","-DCMAKE_C_COMPILER=C:\\msys64\\mingw64\\bin\\gcc.exe","-DCMAKE_CXX_COMPILER=C:\\msys64\\mingw64\\bin\\g++.exe","-DCMAKE_BUILD_TYPE=Debug","-SF:/GitRepo/cmake-preset-mingw","-BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64","-G","MinGW Makefiles"]
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64 -DCMAKE_C_COMPILER=C:\msys64\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER=C:\msys64\mingw64\bin\g++.exe -DCMAKE_BUILD_TYPE=Debug -SF:/GitRepo/cmake-preset-mingw -BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64 -G "MinGW Makefiles"
[cmake] -- The C compiler identification is GNU 12.2.0
[cmake] CMake Error at out/build/win32-gcc-x64/CMakeFiles/3.24.2/CMakeCCompiler.cmake:1 (set):
[cmake]   Syntax error in cmake code at
[cmake]
[cmake]     F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64/CMakeFiles/3.24.2/CMakeCCompiler.cmake:1
[cmake]
[cmake]   when parsing string
[cmake]
[cmake]     C:\msys64\mingw64\bin\gcc.exe
[cmake]
[cmake]   Invalid character escape '\m'.
[cmake] Call Stack (most recent call first):
[cmake]   CMakeLists.txt:2 (project)
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64/CMakeFiles/CMakeOutput.log".
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64 -DCMAKE_C_COMPILER=C:\msys64\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER=C:\msys64\mingw64\bin\g++.exe -DCMAKE_BUILD_TYPE=Debug -SF:/GitRepo/cmake-preset-mingw -BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64 -G "MinGW Makefiles" exited with code: 1 and signal: null
[extension] [2876] cmake.configure finished (returned 1)

Since we already add C:/msys64/mingw64/bin to env PATH, it is not required to specify full path of gcc.exe and g++.exe. Therefore, the following CMakePresets.json is the resultant example:
{
  "version": 4,
  "configurePresets": [
    {
      "name": "win32-gcc-x64",
      "displayName": "GCC 12.2.0 x86_64-w64-mingw32",
      "description": "Using compilers: C = C:\\msys64\\mingw64\\bin\\gcc.exe, CXX = C:\\msys64\\mingw64\\bin\\g++.exe",
      "binaryDir": "${sourceDir}/out/build/${presetName}",
      "generator": "MinGW Makefiles",
      "environment": {
        "PATH": "C:/msys64/mingw64/bin;$env{PATH}"
      },
      "cacheVariables": {
        "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
        "CMAKE_C_COMPILER": "gcc.exe",
        "CMAKE_CXX_COMPILER": "g++.exe",
        "CMAKE_BUILD_TYPE": "Debug"
      }
    }
  ]
}

And the following is its Debug Log:
Click to expand the Debug Log
[main] Configuring folder: cmake-preset-mingw
[main] Saving open files before configure/build
[driver] Start configure
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using preset
[cmakefileapi-driver] Invoking CMake C:\Program Files\CMake\bin\cmake.EXE with arguments ["-DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64","-DCMAKE_C_COMPILER=gcc.exe","-DCMAKE_CXX_COMPILER=g++.exe","-DCMAKE_BUILD_TYPE=Debug","-SF:/GitRepo/cmake-preset-mingw","-BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64","-G","MinGW Makefiles"]
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_INSTALL_PREFIX=F:/GitRepo/cmake-preset-mingw/out/install/win32-gcc-x64 -DCMAKE_C_COMPILER=gcc.exe -DCMAKE_CXX_COMPILER=g++.exe -DCMAKE_BUILD_TYPE=Debug -SF:/GitRepo/cmake-preset-mingw -BF:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64 -G "MinGW Makefiles"
[cmake] -- The C compiler identification is GNU 12.2.0
[cmake] -- The CXX compiler identification is GNU 12.2.0
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - done
[cmake] -- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe - skipped
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64
[cmakefileapi-parser] Read reply folder: F:\GitRepo\cmake-preset-mingw\out\build\win32-gcc-x64\.cmake\api\v1\reply
[cmakefileapi-parser] Found index files: ["cache-v2-a9b629d3a8a3b327cc3a.json","cmakeFiles-v1-00b762bd79c67dad4fc4.json","codemodel-v2-2cab838cc85a14464811.json","directory-.-Debug-d0094a50bb2071803777.json","index-2022-10-19T04-36-24-0397.json","toolchains-v1-754e0fc8575f63e75ef2.json"]
[cache] Reading CMake cache file F:/GitRepo/cmake-preset-mingw/out/build/win32-gcc-x64/CMakeCache.txt
[cache] Parsing CMake cache string
[extension] [8073] cmake.configure finished (returned 0)


just lost all the info I typed into the profile :( :(

Subject: just lost all the info I typed into the profile :( :(
Description:
not sure.
Results:
I clicked save on the profile icon and navigated away. the site should have told me my text wasn't saved!
Backend version: develop-87ba8c7a
Frontend version: develop-87ba8c7a
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15
Page: https://couchers.org/profile/edit
User: kevherenow (47553)

@darrenvong @bakeiro I thought we had a beforeunload dialog to prevent this from happening? It sounds like this user clicked the checkmark after uploading their profile photo and then navigated away (instead of clicking the checkmark and then clicking save and navigating away).
If the beforeunload warning dialog is missing, we should implement it. If we do have one, perhaps we should address the issue by removing the checkmark to confirm the profile photo upload and save the photo only when the user clicks the save button for the whole page (similar behavior to airßnß).

I'm going to close this as wontfix right now. I don't think it's a common enough problem that we need to address it.