update should not replace whole record

When updating a record using the update(id, newData) function I would expect that the database only modifies and appends the fields that are also present in the newData object.
Currently the whole record gets replaced with newData

Just found out that a function for that exists, some clarification inside the documentation would be nice :)


Polka code block styling should respect light vs dark mode

I'm running into some appearance issues with Polka and code blocks.  Namely, it's a bit jarring that code blocks don't default to matching the current Obsidian light vs dark mode. FWIW, I use "Adapt to system" where light and dark mode switch based on time of day... so this is literally a "recurring" problem. ;-) This also confuses the styling of other plugins such as Obsidian Numerals.  Here are some screenshots produced in a test vault with Polka, Style Settings, and Obsidian Numerals installed & enabled.  First, dark mode which appears as I'd expect:

Now light mode. Numerals' background is dark, but its styling expects a light background in light mode, and so the effective contrast is about zero. Likewise, the dark code blocks feel jarring in an otherwise light field.

Offhand, the simplest solution appears to be to split "Code Block Color Settings" under Style Settings > Polka into two settings, one each for light and dark modes.  Likewise, that would require that Polka's default code block theme have light and dark variants.
Sample Markdown for reference:
# Inline code blocks

This is a color test of `inline code blocks`, code in the middle of a span of text.

# Standalone code blocks

This is a test of standalone code blocks:
```
wow {
  much code;
}
so => monospace
```

# Obsidian Numerals test

```math
lets = 40
add = 20
things = 100
up = 2
lets + add + things + up =>
```

While I'm at it, Polka is amazing. I adore it, and it immediately stuck as my default Obsidian theme after Eleanor Konik tipped it off in her newsletter. Thanks for making and sharing it!

Thanks for the detailed comments, and I'm glad you're enjoying the theme besides the issues!
As you can tell from the default colors, my own preference is to view code against a dark background in both light and dark modes, but I can see that this perhaps shouldn't be the default setting.
There are parameters in Obsidian that plugin developers can use to prevent the text issues you describe if ever there's a dark code block in a light theme, but it seems there's a general expectation that light mode themes will have light code blocks, so those parameters are often overlooked.
I agree that the best solution will be to have a Style Settings option and I should be able to get around to a fix this weekend.

Thanks much for the pointer re: the text issues. I was able to dig in and figure out what was going on with Numerals specifically: it was mixing the use of --text and --code prefix colors for its math block styles. I submitted a PR over the weekend, now on master, which standardizes the math block theming to always use --code vars for consistency.
That said, I do still think separate dark vs light code block style choices would be a great addition to Polka.

That's very diligent of you, well done! As you can see, I was too busy to get a fix done over the weekend but it won't be long.


24.05?

Will it be possible to install/test Cosmic on stable 24.05 in few days with this flake or will it remain usable only on unstable?

Can confirm that COSMIC works on 24.05


Implementation of icon support for fan presets

Hello.
In the 2024.2 Home Assistant update, it is indicated that it is now possible to assign custom icons, for example, for fan presets. It is written about it here:
https://www.home-assistant.io/blog/2024/02/07/release-20242/#icons-everywhere
It says that integrations can now provide icons for things like fan speeds or thermostat presets
As far as I understand, it should be implemented like this:
https://developers.home-assistant.io/docs/core/entity/#icons
And, as far as I understand, it should be implemented by the developer of a particular integration...
At the moment, when using this integration for Xiaomi Mijia Smart Evaporative Cooling Fan (dmaker_p44), icons for fan presets are not displayed on the standard HA card for fans (as well as icons for fan speeds). Perhaps this is because the standard names of the presets and fan speeds "sewn" into the HA do not match those assigned in this integration for my particular fan... It's a pretty sad story - everything looks very uninformative...
Accordingly, in this situation it would be very appropriate to take advantage of the new features that have been implemented since version 2024.2 ... But for this it must be implemented by the developer of this integration!
If this has already been implemented, please tell me how to use it.
But if it has not been implemented yet, please do it! I think it would be useful for many users of this integration!

To add to this: it would also be nice to not only add this option for developers but also people who have defined a fan trough a fan template

@jeroenvdd, as far as I understood what is written by the links I provided, the integration developer (in this case - @al-one) must add support for such "translations" to the integration code itself, and then the file with the "translation" can already be adjusted by the end user of the integration, by adjusting its contents to his specific device...
And in this case, as far as I understand, it will work when setting up the fun template: you can specify the names of presets that this integration gives out... And for these names of presets, the file with the "translation" will contain links to icons - and fun template will already use them... Do you have a different opinion? Maybe I'm misunderstanding something...
It only remains to add that, quite possibly, we will have to wait a very long tme for the necessary modification of integration... @al-one is not very willing to respond to anything that is not written in Chinese...
In the meantime, I'm solving the problem of correctly displaying everything I need with this thing:
https://github.com/custom-cards/button-card
It is, of course, much more functional than the fun template...


Optimize search index logic & add error and timeout handling.

Hello, dear developer,
I have optimized some logic of the search-index.ts file, added some boundary error capture, and handled timeout exceptions and other issues. Please check this PR and merge it. If you have any feedback, please leave a comment. I will update in time.
thank you,
oooooyoung

hello sir @getneil , i'm pull the latest code, please review and merge, thx~

@getneil check please, i'm pull the latest code, please review and merge, thx~

hello sir @getneil , i'm pull the latest code again for main branch, please review and merge, thx~

hello sir @getneil , I fixed the prettier problem, thank you approve again~


UnitTest

I'm trying run a UnitTest but the request always return 404. It's possible running UnitTest?
`1) UserTest::testList
Expected status code 200, got 404.
Failed asserting that false is true.
vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:598
tests/UserTest.php:13`

It is indeed possible to test API endpoints.
Please post your test and relevant routes so we can have a look.


[1.27] Backport fix for missing cni.yaml for kube-ovn

Backport for error when cni.yaml was missing.
Related to #4061

LGTM +1


Stream filter typeahead in Safari cannot be focused

On iOS Safari, attempting to put focus in the stream filter box on the stream typeahead immediately kicks the cursor to the end of the topic box. (This issue is not present on iPadOS.)
Relatedly, if the cursor is in the message box, the stream typeahead cannot be accessed. Clicking it closes the keyboard, which causes a scroll, which hides the stream typeahead (this issue is also present on iPadOS).

I guess we should retest this after changing popover hiding logic, but I'm guessing that won't help, because the Typeahead is not a popover. Fix might start with migrating the Typeahead popovers to Tippy.

Oh but the stream picker is Tippy; OK this is worth testing after https://github.com/zulip/zulip/pull/27368.


Corrected typo in ObjectCreationException error message

On receiving an ObjectCreationException the exception message includes the following text: "if you have a concrete class deriving from the abstractclass". There should be a space between "abstract" and "class". This has been added.

Thank you for your contribution :+1: It's now live as AutoFixture 3.47.1.


Client interaction: Cannot find corresponding interaction for incoming message.

My scenario:

Send CON request as client
Receive ACK, but cannot find interaction by message id.
When acting as client, the message id is stored in pList->pReqMsg not pList->pRespMsg.

This commit fixed it for me.
Please correct me if I am wrong.

Thanks for the PR.
Looks sane. We mostly used the lib as Server.


[WIP] Uneven batches

new options - useful for very long sequences (summarization, asr) or potentially for translation.
In preprocess, possibility not to sort sentences by length

-sort: If 1, sort the sentences by size. [1]

In train, possibility to built up batches with uneven sentence length

-uneven_batches: If true, batches are filled up to max_batch_size even if they have different sizes. [false]

what happens if sort = 0 (no sorting) but -uneven_batches remains to false (no fill up) ?
we end up with potentially very small (size=1) batches ?

yes


Remove underline from social links inside footer.

Describe the bug
Currently the social links in the footer section contains underline (if seen properly)
To Reproduce
Steps to reproduce the behavior:

Headover to social links section of footer

Expected behavior
Social links button should not contain any underline.
Logs

Environment (please complete the following information):

OS: all
Browser: all

Additional context
none

Assign this to me please.

Please assign this to me.

@Cartikx3 are you working on this issue? or should I assign other participants.

Yes sir i am working on this. Please don't assign this to others.


Unified rc12 testing: e3sm_diags takes too long on Chrysalis

Even after setting walltime = "4:00:00" for the [[ atm_monthly_180x360_aave ]] subtask in tests/integration/generated/test_complete_run_chrysalis.cfg, the following jobs still run out of time:
e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1850-1851
e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1850-1853
e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1852-1853

This is a change from walltime = "2:00:00" in https://github.com/E3SM-Project/zppy/blob/main/tests/integration/generated/test_complete_run_chrysalis.cfg#L93
It also took significantly longer to get compute nodes with this extended time limit.

@chengzhuzhang Is there any reason it would be taking so long to run E3SM Diags?

@forsyth2 When I tested on perlmutter and compy I don't see long time to run. compy is about 10% longer then perlmutter. I didn't tested on chrysalis. how about your test on the other two machines?

@chengzhuzhang E3SM Diags runs in the expected amount of time on both Perlmutter and Compy.

Could this just be because Chrysalis is being hit pretty hard right now and the disk is slow?

@xylar I suppose that's a possibility. It would be good if it's nothing on our end. Unfortunately though, it is delaying testing since I need to get E3SM Diags results to run the tests on in the first place...

It looks like the E3SM Diags tasks completed successfully when given between 4 and 5 hours to run.

Unfortunately, I can reproduce this problem with the complete zppy test. When setting 2 hours time limit for e3sm_diags runs, jobs were cancelled due to time limit.

Do you have individual timings for different steps in e3sm_diags?  If so, can you compare a run with rc9 or rc10 to rc12 to see what changed?

I did a set of e3sm_diags runs comparing timing between rc9 and rc12.
rc9:
real	7m33.804s
user	45m46.510s
sys	1m23.407s
rc12:
real	19m48.713s
user	96m8.258s
sys	10m17.319s
I don't see obvious problem, but there is a [WARNING] yaksa: 10 leaked handle pool objects shown in the rc12 run, which is also reported here https://github.com/xCDAT/xcdat/issues/513. which is thought to come from esmf>=8.4

Even use just minimal example:
time e3sm_diags lat_lon --no_viewer --reference_data_path '//lcrc/group/e3sm/public_html/diagnostics/observations/Atm/climatology' --test_data_path '/lcrc/group/e3sm/public_html/e3sm_diags_test_data/postprocessed_e3sm_v2_data_for_e3sm_diags/20210528.v2rc3e.piControl.ne30pg2_EC30to60E2r2.chrysalis/climatology/rgr' --results_dir '/lcrc/group/e3sm/public_html/diagnostic_output/ac.zhang40/tests/eu190rc9' --case_id 'GPCP_v3.2' --run_type 'model_vs_obs' --sets 'lat_lon' --variables 'PRECT' --seasons 'ANN' --ref_name 'GPCP_v3.2'

rc9:
real	0m2.348s
user	0m1.775s
sys	0m0.485s
rc12:
[WARNING] yaksa: 10 leaked handle pool objects
real	0m15.513s
user	0m5.678s
sys	0m14.101s

@chengzhuzhang, this suggests a pretty big change in behavior in ESMPy.  Do you have a way to time just the ESMF regridding?  (Is that what you already did?)
I don't think going back to ESMF 8.2.0 is a good option because that just isn't built with the dependencies that a lot of our packages rely on.  I don't even think going back to 8.3.1 is an option for the same reason.
It's odd that this is only happening on Chrysalis.  I suppose it could be an incompatibility of something in ESMPy with Chrysalis specifically but I can't think of what that would be.

@chengzhuzhang Thank you for benchmarking the runtime issue.

concurrent.futures.process.BrokenProcessPool

This is happening in rc12 on Perlmutter? I thought this was a rc10 issue (https://github.com/E3SM-Project/zppy/pull/475#issuecomment-1670412094)

I also need to confirm with @forsyth2 for the zppy test results on pm-cpu.

I don't have any issues with E3SM Diags on pm-cpu. The only issue I have on Perlmutter at the moment is https://github.com/E3SM-Project/zppy/issues/484.

I also need to confirm with @forsyth2 for the zppy test results on pm-cpu.

I don't have any issues with E3SM Diags on pm-cpu. The only issue I have on Perlmutter at the moment is #484, which concerns the global time series.

Thanks for confirming. Could you update permission for /global/cfs/cdirs/e3sm/forsyth//E3SMv2/v2.LR.historical_0201/, I wanted to rerun the zppy complete run on pm-cpu.

@chengzhuzhang Thank you for benchmarking the runtime issue.

concurrent.futures.process.BrokenProcessPool

This is happening in rc12 on Perlmutter? I thought this was a rc10 issue (#475 (comment))

Yes this is happening in rc12 on Perlmutter with my e3sm_diags testing.

Could you update permission for /global/cfs/cdirs/e3sm/forsyth//E3SMv2/v2.LR.historical_0201/, I wanted to rerun the zppy complete run on pm-cpu.

Yes, that should be updated now. See points 3,9 on https://github.com/E3SM-Project/zppy/issues/484#issuecomment-1687182581

Yes this is happening in rc12 on Perlmutter with my e3sm_diags testing.

That is very strange. I'm not sure what's happening.

Could you update permission for /global/cfs/cdirs/e3sm/forsyth//E3SMv2/v2.LR.historical_0201/, I wanted to rerun the zppy complete run on pm-cpu.

Yes, that should be updated now. See points 3,9 on #484 (comment)

I still ran into permission error. I think to change owner to e3sm recursively for the directory should work.

Ok I just ran chgrp -R e3sm /global/cfs/cdirs/e3sm/forsyth//E3SMv2/v2.LR.historical_0201/.

Ok I just ran chgrp -R e3sm /global/cfs/cdirs/e3sm/forsyth//E3SMv2/v2.LR.historical_0201/.

somehow I still can't access. I think chgrp -R e3sm /global/cfs/cdirs/e3sm/forsyth/E3SMv2 should do?

@chengzhuzhang Were you able to access this? I ran that command.

I am able to get everything working on Chrysalis given sufficient time, so I don't think this is a zppy issue. And. E3SM Diags  does in fact still appear to work. It just takes longer.

@chengzhuzhang Were you able to access this? I ran that command.

yes, I have access to the data and updated my test results on the pm-cpu issue.

Closing this issue, in favor of https://github.com/E3SM-Project/e3sm_diags/issues/720

Re-open this issue: https://github.com/E3SM-Project/e3sm_diags/issues/720 is resolved with e3sm_diags rc4. However, in my zppy complete test with unfied rc14. The e3sm_diags run still exceed the 2 hour limit.

@chengzhuzhang, can you add a bunch of timers to e3sm_diags so we can find out where the slow performance is? I suspect the remapping but it could be dask. We need to narrow it down.

From Unified RC14 testing of zppy on Chrysalis:
$ cd /lcrc/group/e3sm/ac.forsyth2/zppy_test_complete_run_output/v2.LR.historical_0201/post/scripts
$ tail -n 3 e3sm_diags_atm_monthly_180x360_aave_*.o*
==> e3sm_diags_atm_monthly_180x360_aave_environment_commands_model_vs_obs_1850-1851.o379989 <==
==============================================
Elapsed time: 47 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_environment_commands_model_vs_obs_1850-1853.o379991 <==
==============================================
Elapsed time: 48 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_environment_commands_model_vs_obs_1852-1853.o379990 <==
==============================================
Elapsed time: 47 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1850-1851.o379986 <==
==============================================
Elapsed time: 14658 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1850-1853.o379988 <==
==============================================
Elapsed time: 14688 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1852-1853.o379987 <==
==============================================
Elapsed time: 14662 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_mvm_model_vs_model_1852-1853_vs_1850-1851.o379993 <==
==============================================
Elapsed time: 4130 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_tc_analysis_model_vs_obs_1850-1851.o379992 <==
==============================================
Elapsed time: 50 seconds
==============================================

Times range from 47 to 14,688 seconds (= 244.8 minutes = 4.08 hours)

@xylar yes, I plan to do some timing profiling. Right now i'm running the e3sm_diags bash script taken from zppy but in the e3sm_diags standalone conda environment. If the timing are similar to running in unified rc14. Then we can use the e3sm_diags env for profiling. Otherwise, we may need a spack env on Chrysalis as what you created for Perlmutter to do the profiling. I will let you updated.

@chengzhuzhang, there is always a spack environment on each machine to correspond with each conda environment in E3SM-Unified.  Just take a look at the contents of the load script and you can find the 2 commands for activating the spack environment.

@xylar thanks for the instruction. I parsed the time stamps from e3sm_diags logs, comparing the time taken for zppy e3sm_diags runs, between using e3sm_diags conada env and unified rc14 env. It is obvious that with unified rc14, the processes runs much slower.
I will find the spack command for performance profiling work.

I'm using cProfile to look at smaller runs on Chrysalias compute node. Running in unified rc14 does see longer timing but for many type processes (e.x. saving provenance). Also I ran to intermittent MPI errors when doing profiling tests. I think it is worth to note as well.
(e3sm_unified_1.9.0rc14_chrysalis) [ac.zhang40@chr-0485 e3sm_diags_parameter]$ python -m cProfile run_lat_lon.py -d lat_lon_ANN.cfg > timing_eurc14_ANN_2
--------------------------------------------------------------------------
PMI2_Init failed to intialize.  Return code: 14
--------------------------------------------------------------------------
--------------------------------------------------------------------------
The application appears to have been direct launched using "srun",
but OMPI was not built with SLURM's PMI support and therefore cannot
execute. There are several options for building PMI support under
SLURM, depending upon the SLURM version you are using:

  version 16.05 or later: you can use SLURM's PMIx support. This
  requires that you configure and build SLURM --with-pmix.

  Versions earlier than 16.05: you must use either SLURM's PMI-1 or
  PMI-2 support. SLURM builds PMI-1 by default, or you can manually
  install PMI-2. You must then build Open MPI using --with-pmi pointing
  to the SLURM PMI library location.

Please configure as appropriate and try again.
--------------------------------------------------------------------------
*** An error occurred in MPI_Init_thread
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
***    and potentially your MPI job)
[chr-0485:1617174] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!

I'm uploading the cProfile results: with test on e3sm_diags conda env and unified 14 env.
e3sm_diags conda env cProfile results sorted by cumulative time:
         11900861 function calls (11594276 primitive calls) in 38.465 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      153    0.005    0.000   43.071    0.282 __init__.py:1(<module>)
   1366/1    0.014    0.000   38.469   38.469 {built-in method builtins.exec}
        1    0.000    0.000   38.469   38.469 run_lat_lon.py:1(<module>)
        1    0.000    0.000   26.105   26.105 run.py:23(run_diags)
        1    0.000    0.000   26.096   26.096 e3sm_diags_driver.py:400(main)
  1378/14    0.006    0.000   13.753    0.982 <frozen importlib._bootstrap>:1022(_find_and_load)
  1351/14    0.005    0.000   13.752    0.982 <frozen importlib._bootstrap>:987(_find_and_load_unlocked)
  1285/15    0.005    0.000   13.742    0.916 <frozen importlib._bootstrap>:664(_load_unlocked)
  1182/15    0.003    0.000   13.741    0.916 <frozen importlib._bootstrap_external>:877(exec_module)
  1696/14    0.001    0.000   13.701    0.979 <frozen importlib._bootstrap>:233(_call_with_frames_removed)
   744/33    0.001    0.000   13.451    0.408 {built-in method builtins.__import__}
 1781/524    0.003    0.000   12.659    0.024 <frozen importlib._bootstrap>:1053(_handle_fromlist)
        1    0.000    0.000   10.094   10.094 e3sm_diags_driver.py:137(save_provenance)
        1    0.000    0.000   10.089   10.089 e3sm_diags_driver.py:44(_save_env_yml)
        1    0.000    0.000   10.039   10.039 subprocess.py:1110(communicate)
        1    0.000    0.000   10.039   10.039 subprocess.py:1968(_communicate)
        2    0.000    0.000   10.038    5.019 selectors.py:403(select)
        2   10.038    5.019   10.038    5.019 {method 'poll' of 'select.poll' objects}
        1    0.000    0.000    9.620    9.620 main.py:114(create_viewer)
        1    0.000    0.000    9.609    9.609 default_viewer.py:44(create_viewer)
        1    0.001    0.001    8.708    8.708 lat_lon_viewer.py:372(generate_lat_lon_cmip6_comparison)

unified rc14 cProfile results sorted by cumulative time:
         12416679 function calls (12058492 primitive calls) in 53.285 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
   1339/1    0.013    0.000   53.289   53.289 {built-in method builtins.exec}
        1    0.000    0.000   53.289   53.289 run_lat_lon.py:1(<module>)
      152    0.004    0.000   51.361    0.338 __init__.py:1(<module>)
        1    0.000    0.000   38.861   38.861 run.py:23(run_diags)
        1    0.000    0.000   38.851   38.851 e3sm_diags_driver.py:400(main)
        1    0.000    0.000   22.114   22.114 e3sm_diags_driver.py:137(save_provenance)
        1    0.000    0.000   22.091   22.091 e3sm_diags_driver.py:44(_save_env_yml)
        1    0.000    0.000   22.055   22.055 subprocess.py:1110(communicate)
        1    0.000    0.000   22.055   22.055 subprocess.py:1968(_communicate)
        2    0.000    0.000   22.055   11.027 selectors.py:403(select)
        2   22.055   11.027   22.055   11.027 {method 'poll' of 'select.poll' objects}
  1366/14    0.006    0.000   15.746    1.125 <frozen importlib._bootstrap>:1022(_find_and_load)
  1338/14    0.005    0.000   15.746    1.125 <frozen importlib._bootstrap>:987(_find_and_load_unlocked)
  1275/15    0.005    0.000   15.737    1.049 <frozen importlib._bootstrap>:664(_load_unlocked)
  1172/15    0.003    0.000   15.736    1.049 <frozen importlib._bootstrap_external>:877(exec_module)
  1691/14    0.001    0.000   15.690    1.121 <frozen importlib._bootstrap>:233(_call_with_frames_removed)
   747/33    0.001    0.000   15.438    0.468 {built-in method builtins.__import__}
 1730/522    0.003    0.000   14.639    0.028 <frozen importlib._bootstrap>:1053(_handle_fromlist)
        2    0.000    0.000   10.936    5.468 dataset.py:1(<module>)
     1160    0.010    0.000    9.832    0.008 <frozen importlib._bootstrap_external>:950(get_code)
        1    0.000    0.000    9.784    9.784 main.py:114(create_viewer)
        1    0.000    0.000    9.773    9.773 default_viewer.py:44(create_viewer)

I'm not very experienced in interpreting cProfile results. The full results is uploaded. Maybe @tomvothecoder, @xylar and @forsyth2 can help take a look as well. I'm also making a larger run to see if we can draw more conclusive results from those.
timing_edvrc4_ANN_3.txt
timing_eurc14_ANN_3.txt

@chengzhuzhang I think the cProfile results should be sorted by tottime (total time) in descending order.
I don't have experience with cProfile (yet) and it seems a bit hard to parse where the lower level library calls are being made from (e.g., select.poll). A few log lines that stand-out in the unified rc14 log include:
   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        2   22.055   11.027   22.055   11.027 {method 'poll' of 'select.poll' objects}
     1292    9.014    0.007    9.014    0.007 {method 'read' of '_io.BufferedReader' objects}
       13    6.772    0.521    6.772    0.521 {method 'acquire' of '_thread.lock' objects}
    86/83    2.592    0.030    2.603    0.031 {built-in method _imp.create_dynamic}

select — Waiting for I/O completion

This module provides access to the select() and poll() functions available in most operating systems, devpoll() available on Solaris and derivatives, epoll() available on Linux 2.5+ and kqueue() available on most BSD. Note that on Windows, it only works for sockets; on other operating systems, it also works for other file types (in particular, on Unix, it works on pipes). It cannot be used on regular files to determine whether a file has grown since it was last read.
select.poll - (Not supported by all operating systems.) Returns a polling object, which supports registering and unregistering file descriptors, and then polling them for I/O events; see section Polling Objects below for the methods supported by polling objects.

@tomvothecoder thank you for inspecting the cProfile results!
However I did the same profiling for much larger tasks, i.e. the whole lat-lon set and all seasons. The timing actually show very similar, around 2880 seconds, between using e3sm_diags conda env and unified rc14. Note that, I only tested through running interactively. I later tried to timing each sets through zppy e3sm_diags sets through submitting slurm jobs, the slowdown only now occur. Together with the MPI error reported here, both led me to think the slowdown should relevant to building Slurm and MPI...

Sorry if there's some confusion but I'm not using Slurm to build MPI itself. I am using the same MPI module that E3SM uses for Gnu compilers on each machine. If there is MPI trouble, I suspect it is something that is built with conda MPI trying to run using HPC MPI libraries.
Please track down what package or script is being run with MPI so we can see if it has been built with system MPI (via Slurm) or if it comes from conda forge, in which case it can't be run with MPI on our systems. This is the reason that I have to build all our MPI tools and libraries with Spack.

Sorry if there's some confusion but I'm not using Slurm to build MPI itself. I am using the same MPI module that E3SM uses for Gnu compilers on each machine. If there is MPI trouble, I suspect it is something that is built with conda MPI trying to run using HPC MPI libraries.
Please track down what package or script is being run with MPI so we can see if it has been built with system MPI (via Slurm) or if it comes from conda forge, in which case it can't be run with MPI on our systems. This is the reason that I have to build all our MPI tools and libraries with Spack.

Are you seeing the MPI errors only with cProfile or also with normal runs? I could imagine cProfile itself being hard to use properly in this mixed environment.
I had in mind to just add calls within e3sm_diags to get the current time at 2 spots in the code and take the difference. The old-fashioned and tedious but also very robust method for timing a code.

@naser encountered the same issue on Chrysilas, copying his stack message here:
"I face a specific issue on a chrysalis compute node with e3sm_diags within e3sm-unified (lates RC) above:Triggering some e3sm_diags like below returns an elaborate error. Not sure what it means really. I resolve it with simply quitting the node and restarting over. This suggests that some python processes are holding on to the locks or something?"
Actually I used the same solution to get by the problem. Restart fresh would work fine.

In my testing, the MPI error occurred both with or without cProfile. Guess I can look into the old fashioned timing method.. Right now the e3sm diags run log contains time stamps, but with multiprocessing, it is not possible to isolate time spent for each processes.

Copying my Slack discussion with Jill
Adding the following code at the top of e3sm_diags_driver.py should make Dask run sequentially for debugging and profiling.
import dask
dask.config.set(scheduler='synchronous')  # overwrite default with single-threaded scheduler

We can look at the timestamps for the logs to see the runtime.  I’m hoping running Dask sequentially mimics the same slowness if it calls the same multiprocessing modules. just on one thread/process at a time.
More info on this setting:

The single-threaded synchronous scheduler executes all computations in the local thread with no parallelism at all. This is particularly valuable for debugging and profiling, which are more difficult when using threads or processes.
For example, when using IPython or Jupyter notebooks, the %debug, %pdb, or %prun magics will not work well when using the parallel Dask schedulers (they were not designed to be used in a parallel computing context). However, if you run into an exception and want to step into the debugger, you may wish to rerun your computation under the single-threaded scheduler where these tools will function properly.
https://docs.dask.org/en/stable/scheduling.html#single-thread

@chengzhuzhang, in case it's helpful, I opened:
/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.0rc14_chrysalis/lib/python3.10/site-packages/e3sm_diags

up for group write permission.

I tried running via zppy with num_workers=4 (rather than default of 24), as @golaz suggested. Unfortunately, it looks like it's still going beyond the original 2-hour limit.

Follow-up on https://github.com/E3SM-Project/zppy/issues/485#issuecomment-1699575612 and https://github.com/E3SM-Project/zppy/issues/485#issuecomment-1703391354
With 4 workers:
tail -n 3 e3sm_diags_atm_monthly_180x360_aave_*.o*
==> e3sm_diags_atm_monthly_180x360_aave_environment_commands_model_vs_obs_1850-1851.o381747 <==
==============================================
Elapsed time: 49 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_environment_commands_model_vs_obs_1850-1853.o381749 <==
==============================================
Elapsed time: 49 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_environment_commands_model_vs_obs_1852-1853.o381748 <==
==============================================
Elapsed time: 49 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1850-1851.o381744 <==
==============================================
Elapsed time: 14235 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1850-1853.o381746 <==
==============================================
Elapsed time: 14287 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_model_vs_obs_1852-1853.o381745 <==
==============================================
Elapsed time: 14303 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_mvm_model_vs_model_1852-1853_vs_1850-1851.o381751 <==
==============================================
Elapsed time: 4186 seconds
==============================================

==> e3sm_diags_atm_monthly_180x360_aave_tc_analysis_model_vs_obs_1850-1851.o381750 <==
==============================================
Elapsed time: 49 seconds
==============================================

So, 49 seconds to 14235 seconds (=237.25 minutes = 3.95 hours). So, going from "47 to 14,688 seconds (= 244.8 minutes = 4.08 hours)", that's only a saving of ~7 minutes on the high end.

Yay!!!!!


Bump pipenv version to 2018.11.14

There was an issue in pipenv that was causing heroku deployments to fail because not all dependencies were getting installed sometimes. This was fixed in https://github.com/pypa/pipenv/pull/3070 and released in pipenv==2018.11.14. Is it possible to bump the version of pipenv that is used by the buildpack so we can get this fix?

As a sidenote I will be releasing a bugfix release tonight and it may be advantageous to pin that one
FYI this seriously impacts my work builds -- I can't deploy to heroku due to pipenv pinning which is super unfortunate and has been a big annoyance for my team (and a good motivator to get things fixed)

Is there a reason this hasn't been done yet? Seems like it should be a very simple change now that the bug in pipenv has been fixed. Or at least make the version used configurable.
It's getting kind of annoying for my team and I to be stuck on older versions of pipenv

Hi there! some context:
Unfortunately, the current version of Pipenv would require users to uninstall and reinstall their local pipenv environments before being able to deploy again successfully. This is due to incompatibility with the lock files that is not autocorrected by pipenv's update function. Since this would require coordination between the release and all pipenv users, or would result in a temporarily opt-in upgrade (which, if anyone missed the communications around it, could lead to quite a lot of frustration), we're not looking at this update any time soon.
I am sorry about this frustration, however our version (2018.5.18) is also not as behind the current version (2018.11.26) as it has been since the most recent pipenv release. I'd like to see a bit more stability in the release cycle from the project before prioritizing this issue.

I am sorry about this frustration, however our version (2018.5.18) is also not as behind the current version (2018.11.26) as it has been since the most recent pipenv release. I'd like to see a bit more stability in the release cycle from the project before prioritizing this issue.

Hi! pipenv have since your comment received two releases and it's main maintainer has dedicated time set aside for pipenv work by it's employer. Hope to see you reconsider your stance on pipenv upgrades

@nikolaik Hi! Deciding the best way forwards for alternative package manager support (for example, should the buildpack support them natively, or via additional buildpacks; should we add poetry support, what to do with the currently out of date pipenv support etc) is high up my list. Pipenv now having more recent releases is something I will definitely factor into that decision :-)


Issue during L1 processing simulation

I'm simulating the L1 processing with the new L1 virtual frame product CPF_L1VFRA.
During the execution, the following warning message is traced:
[W] Could not parse frame information from /opt/pnode/data/wdir-l1/inputs/CPF_L1VFRA/BIO_OPER_CPF_L1VFRA_20170225T094604_20170225T094620_01_BPF2FO.EOF.

even if the file exists at the given path.
The output products have sensing/validity start/stop as expected (from job order's TOI) but:

the track number is missing (i.e 000) from file name and MPH (eop:wrsLongitudeGrid = 0)
the data take is missing from MPH (<bio:dataTakeID>None</bio:dataTakeID>)
<bio:incompleteFrame>none</bio:incompleteFrame>
<bio:partialFrame>none</bio:partialFrame>

In attachment you can find the working directory including the scenario configuration (scenario.jsonc) and log (stdout.log): wdir-l1.zip

I did a test defining the following parameters at scenario level (i.e. the root level of the scenario):

mission_phase
global_coverage_id
major_cycle_id
repeat_cycle_id
track_number

The parameters value are correctly reported in the output file names and MPHs with the exception of dataTakeID (set to None) and track number (set to 0):
outputs.old/S3_SCS__1S/BIO_S3_SCS__1S_20170225T094604_20170225T094620_I_G01_M02_C01_T000_F283_01_BQ7BW0
outputs.old/S3_DGM__1S/BIO_S3_DGM__1S_20170225T094604_20170225T094620_I_G01_M02_C01_T000_F283_01_BQ7BW0
outputs.old/S3_SCS__1M/BIO_S3_SCS__1M_20170225T094604_20170225T094620_I_G01_M02_C01_T000_F283_01_BQ7BW0

I did an additional test moving the definition of the same parameters at data take level:
                {
                    "data_take_id": 6632654,
                    "start": "2017-02-25T09:46:04.620306Z",
                    "stop": "2017-02-25T09:58:34.884917Z",
                    "swath": "S3",
                    "operational_mode": "SM",
                    "mission_phase": "INTERFEROMETRIC",
                    "global_coverage_id": "1",
                    "major_cycle_id": "2",
                    "repeat_cycle_id": "1",
                    "track_number": "17"
                }

Procsim raised the following error:
2022-06-21T15:56:45.104145+00:00 ESR01104747 L1_P 01.00 L1_P [0000058733]: [E] mission_phase must be set

So, I moved the mission_phase parameter back to the scenario "root" level and executed the test again. dataTakeID  and track number are still set to None and 0 respectively. In addition, the specified values of global coverage id, major cycle id repeat cycle id are not reported in the file names and in the MPH:
outputs/S3_SCS__1S/BIO_S3_SCS__1S_20170225T094604_20170225T094620_I_G___M01_C___T000_F283_01_BQ7DR3
outputs/S3_DGM__1S/BIO_S3_DGM__1S_20170225T094604_20170225T094620_I_G___M01_C___T000_F283_01_BQ7DR3
outputs/S3_SCS__1M/BIO_S3_SCS__1M_20170225T094604_20170225T094620_I_G___M01_C___T000_F283_01_BQ7DR3

Please find attached the working directory containing the job order, the scenario configuration and output directories of both tests:
wdir-l1-f283.zip

See https://github.com/stcorp/procsim/issues/37#issuecomment-1161963534 .


Support for ENVs injected via secrets or configmaps in the function UI

Description
Function ENVs injected via secrets or configmaps are not visible in the busola UI
Expected result
User should see envs that are used from secrets or config maps
Actual result
Function UI in busola supports only envs with value. Envs with valueFrom are skipped
  env:
  - name: FOO
    valueFrom:
      secretKeyRef:
        key: foo
        name: test-secret
  - name: ABC
    valueFrom:
      configMapKeyRef:
        key: abc
        name: test-config
  - name: HAKUNA
    value: MATATA

Steps to reproduce

Have a kyma cluster running and accesible via CLI and Busola UI

Prepare test config map and test secret in the default namespace

kubectl create configmap test-config --from-literal abc="xyz" -n default
kubectl create secret generic -n default --from-literal foo="bar" test-secret

Initialise a simple function via kyma CLI (make sure you use latest version)

kyma init function --name test --namespace default --runtime nodejs14

Modify config.yaml

name: test
namespace: default
runtime: nodejs14
source:
  sourceType: inline
env:
  - name: FOO
    valueFrom:
      secretKeyRef:
        name: test-secret
        key: foo
  - name: ABC
    valueFrom:
      configMapKeyRef:
        name: test-config
        key: abc
  - name: HAKUNA
    value: MATATA

Modify handler.js

module.exports = {
    main: function (event, context) {
        return process.env["FOO"] + process.env["ABC"];
    }
}

Apply function

kyma apply function

Navigate to busola UI and show the function

Observe that ENVs injected from config map and secret are not shown

(Optional) Expose the function to see that the env values are injected (they are part of the returned value )

Hints
This works on console.
It was introduced probably after creating busola repository.
Please have a look at this PR which introduced it to console (Maybe it is easy to port the changes to busola)

Also.. as we go towards service integration 2.0 and pivot away from service bindings we are going to support injecting ALL entries from config map or secret. In this case the syntax on the function spec will be:
envFrom:
      - configMapRef:
          name: test-config

and
envFrom:
      - secretRef:
          name: test-secret

Maybe we can already future-proof the UI code to support that as well.
We wouldn not need to do a lookup of all entries in sych case - just sho the secret/cm reference

Enhancement is done.


Add requirements.txt for python project detection

Is requirements.txt still common post pyproject.toml era?

Is requirements.txt still common post pyproject.toml era?

It still is somewhat popular, see https://github.com/search?q=path%3Arequirements.txt&type=code&p=2

@pandaninjas kitten hop on pluiecord


Incorrectly displayed output: termux-fastboot devices

Hello, I am using a Huawei device to connect via OTG to another smartphone which has an unlocked bootloader status. In order to display the output of termux-fastboot devices
~ $ termux-fastboot devices && termux-fastboot devices && termux-fastboot devices && termux-fastboot devices && termux-fastboot devices d3d59b1b/|��    v}�0�E�                        �y�0�E�<��� d3d59b1b�l�     �m�0��                       mj�0��� d3d59b1b_�B     ��0���                       -�0������ d3d59b1bߤ�g     &��0�d�                        ���0�d�L7�� d3d59b1b�0�     2�0���                       �.�0����� ~ $

Output fc-list output for displaying the installed fonts

I'll also add architecture and kernel

If you connected the device to a PC and used fastboot devices instead, what would the output look like?

I suppose it will be just the first eight characters because the rest keeps changing. Looks like a missing null terminator of the serial number string. I'll try to find where the problem is.

Without alternatives for debugging via fastboot / adb I only use the smartphone device. As a substitute for termux, I run the bugjagear application whose output is correct.
But I prefer to use your tool because it has adb support, which I have difficulties with in bugjaeger.

Thanks for the report again, I will look into it.

I had the same issue with my host device armv7 tv running 4.9 kernel version on android 9, I thought it was a comparability issue or architecture issue. I can't use mitool too. Maybe the problem not from your side. You can report or discuss the issue maybe from termux api.


Add fontana form

Hi @ModernTek,
You will also need to add the component to the showcase website. Sorry I didn't mention it earlier.

@ModernTek
Please take note of the following:

Is Fontana form the same as the Rainbow form?
The different input fields are not colored, presuming the form is inspired by the rainbow. See image below

On Chrome, the comment textarea seems to hide when I click on it. I am using Chrome Version 56. Works fine on firefox. For this case, you can add this under known issues in the README of the rainbow form component. Here is the image showing what I am talking about.

Rainbow form and fontana form are two different components. My test on localhost:3000 in Chrome 56 shows very good picture of rainbow form:

Is that possible that something in framework makes rainbow form looks different?

@ModernTek
That's possible. I have been away but I will look at this first thing in the morning.

@ModernTek
I still get the issue of the comment textarea disappearing as I showed you in my image above. The good thing is I found a quick solution. Since you floated the columns above the textarea, you will need to add overflow: auto; to their parent element (evo_c-rainbow-form__rainbow-contentForm).
The other tiny changes are:

Change the input type from text to password for the password and confirm password fields.
Add some padding to the comment textarea. Currently, the padding is set to 0. A padding of 14px would do.

@jmatembu
@ModernTek was experiencing some issues yesterday and I tried to help.  Gabriele merged that PR.
Could you please check from your side if everything as per what you had asked for and no issues? If it is, then please close this PR without merge.


Correct HTTP port 8050 -> 8060

Corrected the HTTP port used from 8050 to 8060 which is the current default. See https://github.com/MicrosoftDocs/azure-docs/issues/29655#issuecomment-504337863 for previous discussion on this.

@SteveBurkettNZ : Thanks for your contribution! The author(s) have been notified to review your proposed change.


📊 Adding data on European water quality

Summary by CodeRabbit

New Features

Introduced a comprehensive update to the nutrient data processing pipeline, enhancing the creation and management of datasets across different stages (meadow, garden, grapher).
Added a new snapshot creation script for nutrient datasets, including metadata for easier access and citation.

Documentation

Included detailed metadata for the WISE Statistics on nutrients in European rivers, facilitating better data transparency and usability.

Very good! Only some minor comments. Interesting world the Jinja format; I might try it in the future.

Thanks for the fast review!! Yeh I quite like Jinja, but I am not sure how well it works with our new Meta GPT tools. I think sometimes GPT doesn't really know what to do with it!


Swappable/non-swappable settings are lack of explanation (Azure App Services)

Hi team,
I checked this document regarding Swapping settings on Azure App Services.
https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots#which-settings-are-swapped
However, it seems to be lack of listing about swappable/non-swappable settings.
For example, I confirmed these facts on my environment of App Services.

Swappable

Extensions and their settings

NOT swappable

Custom setting of backups
App Service Logs setting

I think some of settings regarding swapping are not listed on the document.
Could you add settings that are lack into the document?
Thank you.

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

ID: f6e09089-1ae2-8943-5ce2-9d48f458c81f
Version Independent ID: ba780cba-f604-b0a4-a81a-23c7d2384762
Content: Set up staging environments - Azure App Service
Content Source: articles/app-service/deploy-staging-slots.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@mag-chang Thank you for your feedback! We will review and update as appropriate.

@mag-chang I have assigned this to content author @cephalin to share his valuable feedback and to update document accordingly.

#needs-sme-input

@jeffwmartinez can you chase this one down, you might need to huddle with Joseph or someone from control plane

@mag-chang I know this is old, but can you give us more detail on what logs you were not able to swap and which backup settings you were also not able to swap? As well as which extension settings you had swapped?  Thank you.

Internal item created: https://dev.azure.com/msft-skilling/Content/_workitems/edit/288594
#please-close


Change Daily Data Date Filter Default Values

Problem statement
The Daily Data table date filter is used by both the support team and STLTs. The date filter starts with very low (01/01/2000) and very high (01/01/3000) values that make using the date selector tool difficult because you need to scroll for lots of years in order to get to something similar to today. Ideally, it should start at a date when RS started receiving data, and end at something less than 900 years away to make the date selection tool more usable.
What you need to know

Daily Data Page
Per discussion with Jillian and Audrey on design 3/2/2023, the default values should start at the beginning of ReportStream (6/25/2021) and end at today's date, if possible.
Screenshot:
 ...

Acceptance criteria

[ ] Daily Data date filter has more useable default values From: 6/25/2021 and To: today's date.

To do

[ ] ...

@chris-kuryak should this logic be applied to the Data Dashboard page and any other page where this component occurs?

Does it occur anywhere else other than Data Dashboard and Daily Data now? If not, then my answer is yes.

After discussion with Jessica S, the ACs have been changed to be:

Upon first load, no date is shown in the start or end date fields (but the page still loads all results)
Upon interaction with the date picker, the default dates will be shown as today's date in both Start and End date fields

@chris-kuryak This ticket is no longer valid and is working per AC

Etan fixed as part of another ticket. ACs met.


Consider container to mount .tdexd instead of tdexd

I think it's somewhat common to use hidden folders for application-specific data on nix systems.

PS: I'd also rename .tdex-daemon (here you have it in a hidden folder actually) to .tdexd to keep things consistent and let users run the same datafolder either with dockerized or standalone tdexd

I'd also rename .tdex-daemon (here you have it in a hidden folder actually) to .tdexd

Agreed. That makes sense.

Consider container to mount .tdexd instead of tdexd

About this point, the docker documentation do not use the hidden folder in you $HOME for the reason that most of the time you use docker to not pollute your own system and try something in a "clean" way, so the rationale of this is that "hey we are going to mount something visible  in the current directory instead of $HOME/.hidden-folder, so you remember to clean after using it if you want"
For a proper long term installation, I agree would nice to use an hidden folder in your HOME. I think that maybe https://github.com/TDex-network/tdex-box should reflect this instead?


Use caret devDependencies

Description
Use caret semver in devDependencies to reduce noise from Renovate app and package updates. We could choose to do this after https://github.com/CondeNast/xml-to-react/issues/62 or in parallel.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Chore, documentation, cleanup

Related Issue
Tangentially related: https://github.com/CondeNast/xml-to-react/issues/62
Motivation and Context

Renovate opens a PR for each package update. This creates a lot of noise when all dev dependencies are pinned. Using caret-range will reduce PR noise.
How Has This Been Tested?

n/a
Screenshots (if appropriate):
n/a
Checklist:

[x] My code follows the code style of this project.
[n/a] I have updated the documentation (if required).
[x] I have read the CONTRIBUTING document.
[n/a] I have added tests to cover my changes.
[x] All new and existing tests passed.

@taveras no, these are the current versions, so the lockfile is up to date


Do not slice winbar when not enough space

When space in winbar is not enough, left part would be sliced. Maybe there is already an option to disable slicing.
folder and filename sometimes hidden because of large str. Like set wrap/nowrap. Maybe some config option or default behaviour?

Now i realized, that is behaviour of neovim not plugin, but maybe this feature makes sense.

need a Vimresize callback then regenerate winbar string.


Purple and Black No Texture Zone

Hi Lumien,
Sorry to bother you but I seem to be messing up the formatting of the path or experiencing another type of error. I downloaded Resource Loader and Custom Main Menu in hopes of making a unique launch screen for a modpack I intend to play with some friends.
I started by just trying to make a folder in the resources folder called "mainmenu" and then including a logo for my new pack called "lightningvoltz.png" inside the mainmenu folder. But when I use the refresh button in game I am given the purple and black texture instead. Over this texture the text "Error loading config file, see console for more information" appears briefly. I am unaware of where this console is as well.
I tried to set up the debug folder inside of my resources folder but it was never populated no matter how many times I refreshed the game.
I have included the first part of the code and as far as I'm aware it is formatted correctly but if I am missing an obvious mistake I apologize. Any help on this subject would be greatly appreciated.
Thank you in advance,
ArenGoodwin
{
"images":
{
"modpack":
{
"image" : "mainmenu:lightningvoltz.png",
"posX" : ,
"posY" : 0,
"width" : 240,
"height" : 108,
"alignment" : "top_center"
},

Please check to make sure your image paths are valid.

Please restart your client, and check your posX value


Refactor bitbucket collector to not swallow errors & have nicer logging

resolves #464
Testing Instructions
Positive test:

Make a pelorus repo on bitbucket
Make an app password in bitbucket
Deploy a bitbucket committime collector using that bitbucket repo and credentials
Confirm that the metrics are logged / collected correctly

SSL Error test:

Keep the existing repo and deployment
Set up mockoon, enable TLS
Locally change the code so git_server is always overwritten with the local mockoon url
Verify the TLS/SSL error in the logs

Now, the negative test:

Remove the hardcoded git_server from the above test
Delete that repo
Redeploy the pod (don't rebuild!)
Confirm that the logs report the error and are fully detailed.

Found a strange issue when testing TLS error logging.

While testing on a public bitbucket repo with no TOKEN (token not required):
Set annotations on the build, note this works fine with GIThub provider:
io.openshift.build.source-location=https://bitbucket.org/michalpryc/pelorus-bitbucket.git
io.openshift.build.commit.id=e2c4ef00468dfc10aad1bd2d4c9d470160a7f471

Exporter:
07-19-2022 15:40:19 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:343 _set_commit_timestamp() sha: e2c4ef00468dfc10aad1bd2d4c9d470160a7f471, commit_timestamp not found in cache, executing API call.
07-19-2022 15:40:19 WARNING  Skipping non GitHub server, found bitbucket.org
07-19-2022 15:40:19 WARNING  Build first/python-binary-build1-1 in app python-binary-build1 is missing required attributes to collect data. Skipping.
07-19-2022 15:40:19 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:234 get_metric_from_build() 'NoneType' object has no attribute 'commit_time'
Traceback (most recent call last):
  File "/home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py", line 214, in get_metric_from_build
    metric = self._set_commit_timestamp(metric, errors)
  File "/home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py", line 349, in _set_commit_timestamp
    if metric.commit_time is None:

Setting GIT_PROVIDER=bitbucket works slightly better, still not able to get the commit hash timestamp. I wonder if this is expected as public repo still requires token:
07-19-2022 16:14:03 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/__init__.py:104 __parse_repourl() Parsed: Parsed(pathname='/michalpryc/pelorus-bitbucket', protocols=['http'], protocol='http', href='http://bitbucket.org/michalpryc/pelorus-bitbucket', resource='bitbucket.org', user=None, port=None, name='pelorus-bitbucket', owner='michalpryc')
07-19-2022 16:14:03 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:288 _set_repo_url() Repo URL for build python-binary-build1-1 provided by 'io.openshift.build.source-location' annotation: http://bitbucket.org/michalpryc/pelorus-bitbucket
07-19-2022 16:14:03 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:252 _set_commit_hash_from_annotations() Commit hash for build python-binary-build1-1 provided by 'io.openshift.build.commit.id' annotation: e2c4ef00468dfc10aad1bd2d4c9d470160a7f471
07-19-2022 16:14:03 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:343 _set_commit_timestamp() sha: e2c4ef00468dfc10aad1bd2d4c9d470160a7f471, commit_timestamp not found in cache, executing API call.
07-19-2022 16:14:04 ERROR    While testing for API Version V_2_0 at server http://bitbucket.org, got response: 401 Client Error: Unauthorized for url: https://bitbucket.org/api/2.0/repositories

07-19-2022 20:45:16 INFO     No USER and no TOKEN given. This is okay for public repositories only.
07-19-2022 20:45:16 INFO     =====Using BitBucket Collector=====

07-19-2022 20:45:16 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:288 _set_repo_url() Repo URL for build python-binary-build1-1 provided by 'io.openshift.build.source-location' annotation: http://bitbucket.org/michalpryc/pelorus-bitbucket
07-19-2022 20:45:16 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:252 _set_commit_hash_from_annotations() Commit hash for build python-binary-build1-1 provided by 'io.openshift.build.commit.id' annotation: e2c4ef00468dfc10aad1bd2d4c9d470160a7f471
07-19-2022 20:45:16 DEBUG    /home/migi/Development/Konveyor/Pelorus/pelorus-minio/exporters/committime/collector_base.py:343 _set_commit_timestamp() sha: e2c4ef00468dfc10aad1bd2d4c9d470160a7f471, commit_timestamp not found in cache, executing API call.
07-19-2022 20:45:17 ERROR    While testing for API Version V_2_0 at server http://bitbucket.org, got response: 401 Client Error: Unauthorized for url: https://bitbucket.org/api/2.0/repositories

I'll have to retry this on my end. May ask you for an environment variable dump.

@KevinMGranger
Here is my env, note that I was unsetting USER /USERNAME for testing this.
env.txt

@KevinMGranger the api allows to get calls to an unauthorized user based on the group / repo_name and the commit hash, all this information is available from the annotation / build url, so it should work imo. Let's discuss offline during daily sync.
Please see the api URL:
https://bitbucket.org/api/2.0/repositories/michalpryc/pelorus-bitbucket/commit/e2c4ef00468dfc10aad1bd2d4c9d470160a7f471

Ah, so it's just the "version check" that uses repositories that's broken.
Either we could eliminate the version check and fall back to v1 on a per-repo basis, or find an endpoint that doesn't require auth.
However, I'm willing to bet most users will use private repos.

@KevinMGranger that makes me think, should we remove v1.0 api all together?
https://developer.atlassian.com/cloud/bitbucket/deprecation-notice-v1-apis/

I suppose it's possible that someone could be using a hosted bitbucket instance that is so old it can only do v1.0. We don't have telemetry to tell us.
However, we can do a scream test, and can always add it back later.

Rebased on top of #556 to simplify testing. View that as a prerequisite.

Code was tested using annotations:

In the pelorus dir create app.py

cat <<EOF > app.py
#!/usr/bin/env python3
print("Hello World")
EOF

chmod +x app.py

Create namespace for build and run the build, annotate with existing bitbucket url and hash

export NS=buildtest
export BUILD_NAME=bitbucket-binary-build

oc create namespace "${NS}"
oc config set-context --current --namespace "${NS}"

oc new-build python --name="${BUILD_NAME}" --binary=true
oc label bc "${BUILD_NAME}" app.kubernetes.io/name="${BUILD_NAME}"

oc start-build bc/"${BUILD_NAME}" --from-file=./app.py --follow

oc annotate build "${BUILD_NAME}"-1 --overwrite \
io.openshift.build.commit.id=e2c4ef00468dfc10aad1bd2d4c9d470160a7f471 \
io.openshift.build.source-location=https://bitbucket.org/michalpryc/pelorus-bitbucket

Run the bitbucket collector with the given build/namespace

export PROVIDER=bitbucket
export NAMESPACES="${NS}"
python exporters/committime/app.py

Confirm the timestamp was correctly "collected"

INFO     Collected commit_timestamp{ namespace=buildtest, app=bitbucket-binary-build, commit=e2c4ef00468dfc10aad1bd2d4c9d470160a7f471, image_sha=sha256:cc4e6a5c159edb6477d7b07f8a82a1708201a4a218151fd1f1616d7a2daeafaa }<PHONE_NUMBER>.0

Similarly to previous comment tested with API_USER and TOKEN, have some comments around it.
Bitbucket requires both API_USER and TOKEN to be set. If API_USER or TOKEN is set and second is unset, then it will fall back to anonymous authentication without giving error:
401 Client Error: Unauthorized for url: https://bitbucket.org/api/2.0/repositories/michalpryc/pelorus-bitbucket/commit/e2c4ef00468dfc10aad1bd2d4c9d470160a7f471

I think we should check if both are set or both are unset, otherwise users will silently use non-authorized API calls even if they requested authorized ones.

@KevinMGranger please let me know what do you think around my last comment, other then that everything looks perfect.

Very good point. Will fix that today.

/lgtm let's merge it and fix in the following PR


Update Gnosis Module Support

In the Fractal UI, a child DAO with a Gnosis Safe recognizes that it has the Gnosis Safe installed, and can display Gnosis safe module details, including a link to the Safe on the Gnosis webapp

The parent DAO veto module can display all of its child DAO proposals that have been queued

This is captured elsewhere


Update contributors list in README

What this PR does / why we need it:
Adds two new contributors @ww24 and @RikiyaFujii
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Nice.
/approve


Indentation: Toggling view scrolls down a bit

When I have spaces and toggle the view to have tabs, the content scrolls down:

Refs: https://github.com/Microsoft/vscode/issues/3922

Nice catch!


chore: remove redundant log messages in language plugin proto

We will use stdout with the json log format instead, as this matches what we do elsewhere.

Glorious!


Add ability to use a custom xaml for the drag tooltips

Hi,
So the reason for this is so that we can have tooltip styles such as Metro or Material Design which could be animated

What do you mean with tooltips? It is already possible to have custom a ‘DragAdorner‘.

@punker76 I mean custom xaml for the tooltip when dragging. WIll DragAdorner work here

that's the work of the adorner

Ok, thanks anyways


Broken dependencies issue

I tested the binary shared with me @buxx unfortunately, they fail to run on my box:
Configuration tool:
damien@christophecolomb:~/bin/trsync$ ./configure
[21745] Error loading Python lib '/tmp/_MEIPoZXbz/libpython3.8.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/_MEIPoZXbz/libpython3.8.so.1.0)

systray manager:
damien@christophecolomb:~/bin/trsync$ ./trsync_manager_systray
./trsync_manager_systray: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by ./trsync_manager_systray)
./trsync_manager_systray: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by ./trsync_manager_systray)
./trsync_manager_systray: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./trsync_manager_systray)

Is it possible to build a really statically linked binary? Should I build it myself? Or the only way to use trsync is to upgrade to a debian version 10 or + (I'm currently on debian 9.13 :-1: )

@lebouquetin you can build them yourself yes. But I have to modify my build process too to distribute more transportable binaries.

@lebouquetin It seems the good strategy to allow compatibility with "older" GLIBC versions is to build the binary on old distributions. Since which version of Debian do you think we should propose pre-built trsync binaries ?

Note for me : use the Open combat project GitHub actions config to build windows and Linux version which includes old clin version.


hotfix: Disable Configs API call when VPC is off

Description 📝

Disable extra Configs API call when VPC is off

Preview 📷

Before
After

How to test 🧪

Make sure configs API calls do not happen when the VPC flag is off

I'll run e2e tests locally since these will not pass in Jenkins due to those two PRs I just merged 😣 I'll report back soon

Thanks @jdamore-linode! Sorry about the timing of this 🕰😅

Thanks @jdamore-linode! Sorry about the timing of this 🕰😅

Haha ditto, should've had the foresight not to merge while the discussion around this was happening 😅
Meanwhile, the tests did pass 🎉 there was an initial failure in machine-image-upload.spec.ts and resize-volume.spec.ts, but since they're known to be flaky and both passed on re-attempt I'm not too concerned


[Table Designer] History table name not consistent with current table name if current is renamed

Steps to reproduce:

Create a new table
Change table name
Enable system-versioning

Fixed by STS vbump in #20031


Redfish and vCenter modules fighting over descriptions

So I have the same server being discovered both through redfish and through vCenter, and they end up fighting over the descriptions, leading to logs like this every time I run the program:
2023-07-19 17:41:36,834 - INFO: Interface 'vmnic0 (x.x.x.x)' attribute 'description' changed from '' to '1Gb/s  pNIC'

But nothing changed because later down (not logged), redfish source seems to change the description back to ''. Not sure how to get this to stop happening, I've not been able to find anywhere to prioritize the source of "description"?

P.S. Setting overwrite_interface_attributes = False in the redfish source doesn't seem to fix this.

Will have a look

Hi @pv2b,
Sorry it took me so long to have a look into it.
I fixed this in the latest development branch. Can you try to check it out and see if it is working now?
Thank you

will close this as resolved. Please open a new issue if a similar issue occurs again.


Use links header for next page pagination

Checklist

[ ] You added tests to cover the change
[ ] mvn clean install build and test completes
[ ] You changed or added to the documentation

@johnoliver AdoptOpenJDK failed twice


After selfupdate.Apply, how to restart?

Hi, I call
	err = selfupdate.Apply(resp.Body, selfupdate.Options{})
	if err != nil {
		// error handling
		fmt.Println(err)
	} else {
		fmt.Println("update completed.")
	}

and the program did not restart.
I use follow code, also can not restart.
"github.com/kardianos/osext"
func restart() error {
	name, err := osext.Executable()
	if err != nil {
		return err
	}
	fmt.Println("name:", name)
	return exec.Command(name, os.Args[1:]...).Start()
}

How to restart it?
thanks you.

You should just do this
// restartProcess starts a new process passing it the active fd's. It
// doesn't fork, but starts a new process using the same environment and
// arguments as when it was originally started. This allows for a newly
// deployed binary to be started. It returns the pid of the newly started
// process when successful.
func restartProcess() error {
        // Use the original binary location. This works with symlinks such that if
        // the file it points to has been changed we will use the updated symlink.
        argv0, err := exec.LookPath(os.Args[0])
        if err != nil {
                return err
        }

        // Invokes the execve system call.
        // Re-uses the same pid. This preserves the pid over multiple server-respawns.
        return syscall.Exec(argv0, os.Args, os.Environ())
}

after run, report "not supported by windows"
How to do in windows 10?

after run, report "not supported by windows"
How to do in windows 10?

Unfortunately, I don't know @Leadrive

after run, report "not supported by windows"
How to do in windows 10?

Here is the solution if anybody is still looking for one:
func restart() error {
	path, err := os.Executable()
	if err != nil {
		return err
	}
	args := os.Args
	env := os.Environ()
	cmd := exec.Command(path, args[1:]...)
	cmd.Env = env
	cmd.Stderr = os.Stderr
	cmd.Stdin = os.Stdin
	cmd.Stdout = os.Stdout
	err = cmd.Run()
	if err == nil {
		os.Exit(0)
	}
	return err
}

@packet-sent It can open a new exe file, but left the old exe file opened.

@KiddoV solved it in https://github.com/wailsapp/wails/discussions/2223 by using cmd.Start() instead of cmd.Run(). This works for me so far:
func RestartSelf() error {
	self, err := os.Executable()
	if err != nil {
		return err
	}
	args := os.Args
	env := os.Environ()
	// Windows does not support exec syscall.
	if runtime.GOOS == "windows" {
		cmd := exec.Command(self, args[1:]...)
		cmd.Stdout = os.Stdout
		cmd.Stderr = os.Stderr
		cmd.Stdin = os.Stdin
		cmd.Env = env
		err := cmd.Start()
		if err == nil {
			os.Exit(0)
		}
		return err
	}
	return syscall.Exec(self, args, env)
}


Create it_it.json (Italian translation)

Thanks for the translation @SimGitHub5, I will include it in the next release :)


Ryan's edits added

I tweaked this mission to make it fit the story better.

"machinegunner" -- it's not a machine gun


Deprecate legacy functions

Many events and methods used in RocketMod are no longer required and have been replaced by official implementations. I suggest to add a Obsolete attribute with a description that refers to the official implementation.

Which ones do you have in mind? Off the top of my head the console IO classes are stubs in the RocketMod code now.

Most of the events are only wrappers now. https://github.com/SmartlyDressedGames/RocketMod/blob/master/Rocket.Unturned/Events/UnturnedPlayerEvents.cs
and here: https://github.com/SmartlyDressedGames/RocketMod/blob/master/Rocket.Unturned/Events/UnturnedEvents.cs
And redunant wrappre classes like these:
https://github.com/SmartlyDressedGames/RocketMod/blob/master/Rocket.Unturned/Chat/UnturnedChat.cs
https://github.com/SmartlyDressedGames/RocketMod/blob/master/Rocket.Unturned/Effects/UnturnedEffectManager.cs
Maybe even the whole UnturnedPlayer class, as it just provides shortcuts:
https://github.com/SmartlyDressedGames/RocketMod/blob/master/Rocket.Unturned/Player/UnturnedPlayer.cs

If there is one thing I have learned these past years with plugin devs, it is that just because something should not be used does not mean it is not being used. :)
I agree with you about RocketMod's core functionality, and that wrappers for everything is undesirable. That said, I am not sure about going so far as to make huge components like UnturnedPlayer obsolete (obviously while also ensuring all needed functionality is available in the base game) because so many plugins are already built around them.
While they are essentially wrappers, it seems to me that these examples do provide at least some value for the meantime. For example:

UnturnedPlayerEvents has actually quite a few events that are not nicely exposed yet, and has both per-object and global events for each with an object context (whereas the base game provides no context). Most recently on this front the base game added functions for modifying life values server-side nicely, but I would like to also add these events to the base game.
UnturnedEvents handles wrapping the players in UnturnedPlayer objects which if we mark them obsolete I suspect a lot of plugin developers would just do with the built-in events. Until UnturnedPlayer is obsolete these are still useful in my opinion. onShutdown could be marked obsolete though.
UnturnedChat deals with wrapping long strings into multiple messages. Once the base game UI is reworked to UIElements whenever that's (stable?) it should be easy to support client-side wrapping and longer messages.
UnturnedEffectManager while simply a wrapper I can see being useful. Create the event data once, and then cleanly call myFireEffect.Trigger. It may as well be added to the base game, and admittedly the sendEffect functions are confusing with all the overloads.
UnturnedPlayer is a bit of a mixed bag... I think we can gradually make it obsolete, but some of the base game APIs should be made easier first.

Leaving this issue open for further discussion and because it ideally will be gradually addressed.

In my experience, UnturnedPlayer is quite convenient. It provides a lot of shortcuts that I mostly use for getting the player's Steam64 and a player's different names instead of using player.channel.owner.blah.blah. It's also really handy for parsing player names/ids.

Rocket OnPlayerConnected event is very useful, because if you try to give items in Provider.EnemyConnected event you'll get null reference exeption because inventory initializes in Start()


Update colors and logos

Add colors from DS
Replace old online-logo with the new one
upgrade packages

I dig it, looking fresh.

I think the constants changes are supposed to belong to your other PR and as such I prefer that we merge that one first, or remove it from this one.

I think the constants changes are supposed to belong to your other PR and as such I prefer that we merge that one first, or remove it from this one.

The changes to constants actually originated here, I just copied them over since I was working on the other branch separately. I don't think it will cause any problems if this is changed first?

This looks good to merge when conflicts are resolved.


Create TTTAttributedLabelLink class, and use it to manage default/active/inactive link state and accessibility values for non-default link types

Create TTTAttributedLabelLink class, and use it to manage default/active/inactive link state and accessibility values for non-default link types
Updates example project to compile properly with this new class
Update documentation

@jhersh Anything blocking this PR from being merged?
@getaaron Would you be able to rebase this please.

I would echo some of Mattt's comments above, in particular:

Rebase on master please :top:
TTTAttributedLabelLink within TTTAttributedLabel.{h,m}
Adding a text checking result should return the link object(s) created
Link properties as public -- and readonly -- is a fine first step. Perhaps later we can look at informing the label of link property changes.

For bonus points:

NSCopying for links
Tests

Done:

[x] Rebase on master please :top:
[x] TTTAttributedLabelLink within TTTAttributedLabel.{h,m}
[x] Adding a text checking result should return the link object(s) created
[x] NSCopying for links

Not Done:

[ ] Link properties as public -- and readonly

Marking link properties as readonly will make it impossible to do this:
TTTAttributedLabelLink *newLink = [[TTTAttributedLabelLink alloc] init];
newLink.result = // some result…
newLink.activeAttributes = // some attributes…
[label addLink:newLink];

So I didn't move forward with that for now. We could add a custom initializer (initWithResult:attributes:activeAttributes:inactiveAttributes:) with readonly properties, but that will look pretty ugly in practice.

[ ] Tests

No tests… yet.

@kylef @jhersh I added you as collaborators on my fork if you want to make any changes. I probably won't be able to get back to this until the weekend.

(initWithResult:attributes:activeAttributes:inactiveAttributes:) with readonly properties, but that will look pretty ugly in practice.

I'm okay with that. We're gonna need a bigger initializer :boat:

As it's written now, the link is initially assigned the label's three attribute dictionaries, overwriting attributes if the developer passed one in

Wasn't this one of @kylef's concerns in the first place? It'd be good to try and square this one away.

Wasn't this one of @kylef's concerns in the first place? It'd be good to try and square this one away.

Yes, but without any changes he can work around it now. What should the expected behavior of addLinkWithTextCheckingResult:attributes: be given the related changes in this PR?

Should activeAttributes and inactiveAttributes be generated somehow, or should they be copied from the label?
Should the method be updated to require the developer to pass in all three?
Should we just deprecate addLinkWithTextCheckingResult:attributes: since this functionality can be more simply accomplished by passing a customized link object to addLink:?

@getaaron Quoting the docs, nothing should happen if the attributes there are nil.

The attributes to be added to the text in the range of the specified link. If nil, no attributes are added.

So according to that, I think it should create a link with no active, inactive attributes

@kylef Just pushed some changes. I tried to minimally change the behavior of addLinkWithTextCheckingResult:attributes: and I documented the new expected behavior. Can you please test my fork against your app and see if it resolves your issue?

@jhersh Added a little test coverage, including two tests that cover @kylef's issue. Please let me know if there are additional tests you can think of.

Thanks @getaaron! Would you consider squashing your commits, rebasing, and removing your deletion of the .xcworkspace? It should probably be removed all the same, but that's not related to this pull.

@jhersh Done.

I updated some docs and did some minor cleanup. Thanks for this @getaaron!

Nick work, thanks for getting this in @jhersh @getaaron :+1: :beers:.


Fix git_describe massaging

That seems to have done the trick.

Nice. Let's merge both and then tag v0.1.1?


[Question] Is it possible to execute the evaluation functions at an intervall?

Bascially title, I want to evaluate only every n-th boosting round. Bonus: Can it not evaluate for the the first S rounds?
Why? My evaluation code is expensive and it will determine if my best iteration is 2300 or 2400, but for that purpose it can

start evaluating only at iteration 1500 and not evaluate earlier
evaluate every 10 iterations
So my dream code would look like this

booster = lgb.train(
                {
                ...
                "eval_frequency":10,
                "start_eval_round":1500,
                },
                train_set,
                feval=fevals,
                valid_sets=[valid_set],
                callbacks=[lgb.record_evaluation(eval_result=eval_results),]
            )

Hey @simpsus, thanks for using LightGBM. About the evaluation frequency we have a feature request in #4107, so it may be implemented in the future. However, the starting at a specific iteration sounds too custom, so you may be better off trying to implement something yourself, you may find this discussion useful. Basically the idea is that you can implement your own training loop with something like the following:
params = {...}
cb = lgb.record_evaluation(eval_result=eval_results)
train_ds = lgb.Dataset(...)
valid_ds = train_ds.create_valid(...)
bst = lgb.Booster(params=params, train_set=train_ds)
# train the first iterations
for _ in range(1500):
    bst.update()
for i in range(1000): # some number of iterations here
    bst.update()
    if i % 10 == 0:
        evaluation_result_list = bst.eval_valid(feval)
        cb(lgb.callback.CallbackEnv(model=bst,
                                params=params,
                                iteration=1500+i,
                                begin_iteration=0,
                                end_iteration=1000,
                                evaluation_result_list=evaluation_result_list)

Please let us know if you run into any issues.


updated test_stephon.py to fix swap convention

Made an update to test_stephon.py which fixes the swap convention. Before the in and out token were switched up and had negative sign. Now, you can read it as Swap(in_token, in_amount, out_token, out_amount, swap_type)

@gaussianswan i guess this to close. and use new one https://github.com/ComposableFi/cvm/pull/39  . right?


Examples only for PR204 to Deprecate orientation prop in favor of two new props (horizontalAlign, verticalAlign)

This is the examples only portion that uses the new proposed Hint props - horizontalAlign, verticalAlign - (PR#204) .  PR#204 contained only the change to hint.js  So, this PR is only useful if PR#204 is accepted.
Added 3 new examples to illustrate the new Hint props (see attached figure) and to serve as test of the new Hint props:

Dynamic Simple Edge Hints - Illustrates each point using different horizontalAlign, verticalAlign options.  The hint box includes text on which option is used.  There is no additional CSS styling. So, the example illustrates edge and quadrant placement clearly before any CSS treatment.
Dynamic Simple Top Edge Hints - illustrates pinning hint to top edge but using AUTO for placement of hint box along the top edge.  The Hint's AUTO algorithm uses horizontalAlign=RIGHT for the first 2 points as they are on the left side of the plot and horizontalAlign=LEFT for the last 2 points as they are on the right side of the plot.  The pole in the hint is created using additional combination of MarkSeries and Line Series to create the pole line.
Dynamic Complex Edge Hints - illustrates the 4 edge placement represented by the 4 data points.  More importantly, it shows how the provided children contain divs with CSS classes that allow creation of pole line (using CSS) and how the hint box with a short stem (extending from the plot edge) can be offset (using flex layout). It supports the argument that offsets can be handled with CSS.

Thanks,
Added examples that illustrate and serve as test verification of new Hint align prop.


knock latest has no commands found (worked in v0.1.8)

Hey folks, recent versions of the knock cli seem to be packaged wrong or require additional steps to configure that aren't documented. Following the instructions from https://docs.knock.app/cli, and I get the same results from Homebrew.
$ npm install -g<EMAIL_ADDRESS>$ knock whoami
‣ Loading... done
‣ Successfully verified the provided service token:
    Account name: <redacted>
    Service token name: <redacted>

However, after uninstalling and installing latest:
➤ knock
Knock CLI

VERSION
  @knocklabs/cli/0.1.13 darwin-arm64 node-v21.7.2

USAGE
  $ knock [COMMAND]

TOPICS
  plugins  List installed plugins.

COMMANDS
  help     Display help for knock.
  plugins  List installed plugins.

➤ knock whoami
 ›   Error: command whoami not found

@jshirley Thank you for reporting, will take a look and follow up.

@jshirley Hi there, this issue should be fixed in v0.1.14 - would you mind testing it out? Sorry for the trouble here, and thanks for reporting. Pls let us know if any other issues!

Sorry Thomas, didn't see the update -- confirmed working for me, thank you!


Scoring Update - MDCA Enhancements

Scoring module update for MDCA module enhancements.
Look to include top risky users and trending up users in score calculation

@piaudonn thoughts on this and logic for it?
Current logic when scoring per item - UsersAboveThreshold * 10 * Multiplier
Current logic when not scoring per item - If AboveThresholdCount > 0, 10 * Multiplier
Thinking of keeping the above logic plus:

10 for user being TopUserThresholdCount
5 for ThreatScoreTrendingUp

@briandelmsft  that looks fine yes :)


Update to Hugo 0.40.3

Note that this site produces the same output running with both 0.40.2 and 0.40.3, but you might as well run with the latest patch release.

/lgtm
/approve


Adding birth version ID to /config partition

This add a subtle but very useful (at least at times!) functionality of tagging /config partition with a birth version of EVE. Note that this birth version is what an installer would use and stamp it into /config on the device. Since /config is mostly readonly (well not really 100% yet -- but we're working on it) this version is never going to change regardless of how many baseOS updates you do. This, in turn, helps you get at least a basic idea of what release things like /persist originated from (and that in turn helps a great deal with debugging when /persist gets into a weird state).
I feel this is pretty useful, but I couldn't come up with a better name than version for the file. Any suggestions that would communicate that it is a birth version would be appreciated.

release things like /persist originated from

I suspect we might see more and more use of wiping /persist. So maybe we should have a separate birth versions for /config and /persist?

If people don't think something like "created-at" implies a timestamp we could pick something like that as a name. I suspect that would be less confusing than naming it "version".
We can also consider adding a YYYY-MM-DD date stamp to it; enables us to quickly see that some snapshot build was from 4 years ago which is hard with just the tag?

I suspect we might see more and more use of wiping /persist. So maybe we should have a separate birth versions for /config and /persist?

Agree -- but I'll do it as a separate PR (as part of my back-burner storage-init refactoring)

If people don't think something like "created-at" implies a timestamp we could pick something like that as a name. I suspect that would be less confusing than naming it "version".
We can also consider adding a YYYY-MM-DD date stamp to it; enables us to quickly see that some snapshot build was from 4 years ago which is hard with just the tag?

How about something like origin.YYYY-MM-DD.<OIRIGINAL_ROOTFS_VERSION> @eriknordmark  ? This makes it super explicitly and very easy to spot (note that I now put everything into the file name so you don't even have to cat it -- you can just glance at the content of /config)


allow to make a whole embeddable versioned

this patch enables a user to put the versioned annotation on the embeddable property itself, so that you can use stuff like  https://github.com/kucharovic/money-bundle and make the whole embeddable versioned without modifiying it.

sorry, got something fucked up here. will reopen a fresh PR


In a multi-select cannot click 'x' icon on an item to remove it if the focus is outside the select

Steps to reproduce:

Create select that supports multiple selection with enough items selected that the bottom (where the focus will go when it's selected) is out of the current viewport (that seems to be the difference in my testing)
Have focus outside of the select (in the codepens, there's an input box for that)
Try clicking an 'x' in one of items at the top to remove it

Actual behavior:
I can't remove options at the beginning of a select (when it's not focused), but can remove those which are in the end of the list.
Expected behavior:
I can remove top items in the select.
Reproducible demo:
Select2 Test - 4.0.13 - lot of options (doesn't work) - try to remove first item ("1000")
Select2 Test - 4.0.13 - less options (works!)
Libraries
jQuery version: 2.1.3 (used in the codepens)
Select2 version: 4.0.13
Environment:
Google Chrome/Windows

Old issue: https://github.com/select2/select2/issues/4658

Old issue: https://github.com/select2/select2/issues/4658

First this event gets triggered
But this event is not triggered for some reason. I think that's the reason of the bug
@kevin-brown I've found that if I comment this line everything works fine. I'm not sure if that line is still needed, maybe removing it can solve the problem

First this event gets triggered
But this event is not triggered for some reason. I think that's the reason of the bug
@kevin-brown I've found that if I comment this line everything works fine. I'm not sure if that line is still needed, maybe removing it can solve the problem

Do you know if this issue is present in any of the 4.1.0 pre-release versions? We changed a lot involving these remote item buttons.

Do you know if this issue is present in any of the 4.1.0 pre-release versions? We changed a lot involving these remote item buttons.

According to the old issue, I think it worked in 4.0.0

According to the old issue, I think it worked in 4.0.0

bot, no way

Oh hey, I'm pretty sure I just closed a dupe of this ticket the other day because it was fixed in 4.1.x. Leaving this open so I can hunt it down and double check.

The project maintainer deliberately chose to leave this open, so it should be left open

I am having the same problem in version 4.1.0-rc. Basically I cant see pointer cursor when hovering over "x" sign on the selected option. Also clicking on it does nothing. I want to trigger select2:unselect event but not happening.


Transf-LM gives a very high WER compared to Viterbi

Hello,
I tested wav2vec_small_960h.pt downloaded from pre-trained models here against test-clean set of librispeech.
Using viterbi algorithm I got a WER around 3.
Also, I used a transformer language model lm_librispeech_word_transformer.pt  from here and I downloaded the associated dictionary and didn't forget to upper-case it, however, I got a WER of 81.2823.
It's worh mentioning that I only installed python bindings of wav2letter, and when I tried the evaluation command at first with LM  I got this error:
ImportError: cannot import name 'LexiconFreeDecoder' from 'wav2letter.decoder'
but I found the solution here.
Also, is it normal that the evaluation with the transformer LM took 7 hours on test-clean?

yes, transformer lm does an evaluation for each token so it is quite expensive. a more realistic approach is to emit multiple hypothesis with an n-gram lm and then rerank using a transformer lm - this is much quicker and usually is pretty similar in accuracy as using a fused transformer lm
as for accuracy drop - did you use the word score and silence score for transformer lm (it is in the appendix in the paper)? did you upper case the dict? also have you looked at the predicted hypothesis? does anything look strange?

yes, transformer lm does an evaluation for each token so it is quite expensive. a more realistic approach is to emit multiple hypothesis with an n-gram lm and then rerank using a transformer lm - this is much quicker and usually is pretty similar in accuracy as using a fused transformer lm
as for accuracy drop - did you use the word score and silence score for transformer lm (it is in the appendix in the paper)? did you upper case the dict? also have you looked at the predicted hypothesis? does anything look strange?

yes I did use the word score and silence score, but I'm not sure about their values, I used the same values as here. This is my evaluation command:
python3 examples/speech_recognition/infer.py /home/lamya/Downloads/test-clean/LibriSpeech/output --task audio_pretraining --nbest 1 --path /home/lamya/Downloads/wav2vec_small_960h.pt --gen-subset test --results-path /home/lamya/Downloads/test-clean/LibriSpeech/results  --w2l-decoder fairseqlm --lm-model '/home/lamya/Downloads/lm_librispeech_word_transformer.pt' --lm-weight 2 --word-score -1 --sil-weight 0 --criterion ctc --labels ltr --max-tokens 1280000 --post-process letter
I think according to the appendix lm-weight should be 0.92 and word-score -0.86, but what about sil-weight?
Yes I did upper-case the dict, and I looked at the predicted hypothesis and it was really unreadable..
Also I've tried another LM, that I trained on my own language using the commands here and it gives me a high WER (~99%) and before it was below 20%.

yes I did use the word score and silence score, but I'm not sure about their values, I used the same values as here. This is my evaluation command:
python3 examples/speech_recognition/infer.py /home/lamya/Downloads/test-clean/LibriSpeech/output --task audio_pretraining --nbest 1 --path /home/lamya/Downloads/wav2vec_small_960h.pt --gen-subset test --results-path /home/lamya/Downloads/test-clean/LibriSpeech/results  --w2l-decoder fairseqlm --lm-model '/home/lamya/Downloads/lm_librispeech_word_transformer.pt' --lm-weight 2 --word-score -1 --sil-weight 0 --criterion ctc --labels ltr --max-tokens 1280000 --post-process letter
I think according to the appendix lm-weight should be 0.92 and word-score -0.86, but what about sil-weight?
Yes I did upper-case the dict, and I looked at the predicted hypothesis and it was really unreadable..
Also I've tried another LM, that I trained on my own language using the commands here and it gives me a high WER (~99%) and before it was below 20%.

After setting --lm-weight to 0.92 and --word-score to -0.86, the WER with Transf-LM became 11.9%!
But it still greater than WER using Viterbi. What do you suggest for hyper-parameter-tuning?

After setting --lm-weight to 0.92 and --word-score to -0.86, the WER with Transf-LM became 11.9%!
But it still greater than WER using Viterbi. What do you suggest for hyper-parameter-tuning?


[libpng] update to version 1.6.40

Fixes #34310.

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

The patches cmake.patch, fix-export-targets.patch, and pkgconfig.patch could no linger be directly applied.

It is unclear whether cmake.patch is still required. It has been tentatively removed.
The other two patches were updated to reflect a change in a cmake variable name, specifically lib${PNGLIB_NAME}.pc changed to libpng${PNGLIB_ABI_VERSION}.pc in one place and  ${PNGLIB_NAME}.pc changed to libpng${PNGLIB_ABI_VERSION}.pc in another place (note the missing lib prefix in the second case).

It appears the patch cmake.patch might be necessary for the static windows targets. Unfortunately, I cannot pursue this any further at the moment.


Redesign Slider and RangeSlider

Description
Most browsers now support <input type="range" />. Yamada UI's Slider and RangeSlider use event handlers, moving thumbs, etc. and are very overloaded.
Problem Statement/Justification
It should be provided natively as much as possible.
Proposed Solution or API
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range
Alternatives
No response
Are you willing to participate in implementing this feature and create a pull request include the implementation?
None
Additional Information
No response

Working branches are created from v2.0.


Check that KIngress is ready before probing

Fixes #262

Implementation and comments copied from net-countour.

/ok-to-test

@arturenault thanks for fixing! can we please add a test for this new case?

@arturenault thanks for fixing! can we please add a test for this new case?

Yup will do. Still debugging conformance test failures as well

Having some trouble writing a unit test here. Basically the idea is to verify whether statusManager.IsReady is called, right?
It looks like the TableTest framework isn't directly for this as it's focused on monitoring resources that k8s knows about. I could use it if I injected a fake StatusManager into the context, stored information in it about the calls made to it, and then verify in a PostCondition that the number of calls made matches what we expect. This would be similar to what's done here, but it would require moving the fakeStatusManager into a more public location, probably into knative/networking/pkg/client/injection/client.
That or I could write a custom test that does these sorts of tests. Either is fine; but both sound like a lot of work for a relatively simple optimization, especially given that we might be getting rid of probers soon with istio VirtualService's Status field.
@tcnghia @JRBANCEL @ZhiminXiang thoughts?

Having some trouble writing a unit test here. Basically the idea is to verify whether statusManager.IsReady is called, right?
It looks like the TableTest framework isn't directly for this as it's focused on monitoring resources that k8s knows about. I could use it if I injected a fake StatusManager into the context, stored information in it about the calls made to it, and then verify in a PostCondition that the number of calls made matches what we expect. This would be similar to what's done here, but it would require moving the fakeStatusManager into a more public location, probably into knative/networking/pkg/client/injection/client.
That or I could write a custom test that does these sorts of tests. Either is fine; but both sound like a lot of work for a relatively simple optimization, especially given that we might be getting rid of probers soon with istio VirtualService's Status field.
@tcnghia @JRBANCEL @ZhiminXiang thoughts?

On further thought I think I'll go aheead with moving the fakeStatusManager. Having more robust mocking/injection will help with testing this and other networking backends, and will help with the work on VirtualService Status.

I see a bunch of cosmetic changes. These changes should be in their own PR, it makes review simpler.

I see a bunch of cosmetic changes. These changes should be in their own PR, it makes review simpler.

Yes sorry, this is not ready for review yet. The changes you're seeing are mostly thing being pulled in from knative/networking to unblock me since master is currently pinned.

not sure why this still says needs-rebase and do-not-merge/draft... I've rebased and set ready to review

This is lgtm from me. But I'll leave to the real experts :)

/approve

@vagababov @JRBANCEL looks like this is still missing LGTM label (approve is good). can one of you LGTM?

/lgtm


Add DaemonSet docs ID localization

Reference https://github.com/kubernetes/website/issues/15341
Requesting review

I'll rebase and sign the commit again if the content is ready.