[gdal] add hdf5 support on windows

Describe the pull request

What does your PR fix?

add hdf5 support on windows
fix jpeg debug lib file name

Which triplets are supported/not supported? Have you updated the CI baseline?
windows , Yes

Does your PR follow the maintainer guide?

Yes

Thanks for the fix!


got banned lol

send too many messages at once from vim to the chat using tmux 🙃
id: dff3315bce50ebc4a2647bd3d79c327de77992fda848bd0f1a142ef1d30a4979

LOL. here's what i sent shortly after (didn't realize devbot had kicked you already)

You're unbanned now. Feel free to log back in!


Housekeeping

I have added and set up Prettier to your project. If you are not familiar with this, it is an automatic code formatter that is commonly integrated into your IDE, and automatically normalises single/double quotes, tabs, tabs space, EOF, redundant lines, etc, etc.
The advantage of this is that people can write code in the style they like, and then normalise it to the project standard before committing. This prevents polluted pull requests (like the one below) where it is hard to see what is a change to code, and what is a change to formatting.
In the PR below, the only change to code is adding a bit about Prettier use in the README.md, and then the Prettier setup itself.
If you don't want to integrate Prettier into your IDE, you can run bun pretty to format all files from the command-line.

@tr1ckydev - I think that you will need to resolve the conflict with README in the PR from your side. I don't seem to have permissions.


ScrollingObjectCollection doesn't mask Umlaute correctly

Describe the bug
When using the ScrollingObjectCollection with an item that contains an Umlaut (ä, ö, ü) in the text, it isn't completely masked out. If you're showing 5 items, and the 6th contains an Umlaut, the button itself will be invisible, but the Umlaut (and only this one character) is not. If the item is on 7th position, it's (correctly) completely invisible (but the bug will then occur if you scroll up so it's at the 6th position).
To reproduce
Steps to reproduce the behavior:

Create a ScrollingObjectCollection
Add some items, the last one with an Umlaut
Deploy and test it
When scrolling up, only the Umlaut will be visible when the button itself is invisible, but one position before getting inside the viewable area

Expected behavior
All characters should be invisible.
Screenshots

(Inside the visible area, everything is fine)

(One position beneath it, it isn't)
Your setup

Unity Version 2019.4.10f1
MRTK Version 2.4.0

Target platform

HoloLens 2
Same behaviour in the editor play mode

Hi @TheRisenPhoenix. The issue seems to be related to some TMPro font material not really rendering the umlaut properly.
I was able to have working umlauts by using the LiberationSans font material. For using with scroll just remeber to change shader to use Mixed reality Toolkit / TextmeshPro. I'm using MRTK 2.4, Unity 2019.3 and TMPro 1.4.1.

Okay, it indeed seems to work with the other font.
Thanks for your help! =)


How do i add simple lookup from master table filter on certain criteria please help ?

[LookupEditor(typeof(DropDownListValue.Entities.LovRow))]
public String InqFor
{
get { return Fields.InqFor[this]; }
set { Fields.InqFor[this] = value; }
}
i want filter on certain column from LovRow??

Set FilterField and FilterValue properties.

Reopen if it didn't help.

sorry volkanceylan it didn't helped me
InquiryRow.cs
I have lov (list of value) table where Lov_Group,Lov_Value,Lov_Text
i have to filter LovRow on Lov_Group Criteria but it is returning null
[DisplayName("Inquiry For"), LookupEditor(typeof(DropDownListValue.Entities.LovRow), FilterField = "Lov_Group", FilterValue = "Status")]
    public String InqFor
    {
        get { return Fields.InqFor[this]; }
        set { Fields.InqFor[this] = value; }
    }

Please help..

Hi,
How do i add one more level to Left menu i.e Global Master / Common Master / Company
and Global Master / Export Master / Item
[assembly: NavigationMenu(2000, "Global Master", icon: "fa-cube")]
[assembly: NavigationLink(2100, "Global Master/Common Master/ Company", typeof(JeenaLogistics.DropDownListValue.Pages.CompanyController), icon: "")]
[assembly: NavigationLink(2100, "Global Master/Export Master/ Item", typeof(JeenaLogistics.DropDownListValue.Pages.ItemController), icon: "")]
Please help.

Add LookupInclude to group value text properties.
See AdminLTe multi level sample, and there was another discussion yesterday.


bug: Model is not found in BentoML store, you may need to run bentoml models pull first

Describe the bug
Hi there, thanks for providing this brilliant work!
I cannot run Baichuan-13B-Chat model successfully, it said the model is not found in BentoML store <osfs '/root/bentoml/models'>, you may need to run `bentoml models pull` first
However, I found the safetensors files were already generated in /root/bentoml/models
Thanks in advance
To reproduce
openllm start baichuan --model-id baichuan-inc/Baichuan-13B-Chat --device 0,1 --debug
Logs
root@GPU11:/Working# openllm start baichuan --model-id baichuan-inc/Baichuan-13B-Chat --device 0,1 --debug
2023-08-17T09:43:00+0000 [DEBUG] [cli] Importing service "_service:svc" from working dir: "/usr/local/lib/python3.10/site-packages/openllm"
Error: [bentoml-cli] `serve` failed: Model 'pt-baichuan-inc-baichuan-13b-chat:a4a558127068f2ce965aa56aeb826bf501a68970' is not found in BentoML store <osfs '/root/bentoml/models'>, you may need to run `bentoml models pull` first
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.10/site-packages/bentoml/__main__.py", line 4, in <module>
    cli()
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/bentoml_cli/utils.py", line 367, in wrapper
    raise err from None
  File "/usr/local/lib/python3.10/site-packages/bentoml_cli/utils.py", line 362, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/bentoml_cli/utils.py", line 333, in wrapper
    return_value = func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/bentoml_cli/utils.py", line 290, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/bentoml_cli/env_manager.py", line 122, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/bentoml_cli/serve.py", line 260, in serve
    serve_http_production(
  File "/usr/local/lib/python3.10/site-packages/simple_di/__init__.py", line 139, in _
    return func(*_inject_args(bind.args), **_inject_kwargs(bind.kwargs))
  File "/usr/local/lib/python3.10/site-packages/bentoml/serve.py", line 278, in serve_http_production
    svc = load(bento_identifier, working_dir=working_dir)
  File "/usr/local/lib/python3.10/site-packages/bentoml/_internal/service/loader.py", line 374, in load
    svc = import_service(
  File "/usr/local/lib/python3.10/site-packages/simple_di/__init__.py", line 139, in _
    return func(*_inject_args(bind.args), **_inject_kwargs(bind.kwargs))
  File "/usr/local/lib/python3.10/site-packages/bentoml/_internal/service/loader.py", line 137, in import_service
    module = importlib.import_module(module_name, package=working_dir)
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/local/lib/python3.10/site-packages/openllm/_service.py", line 22, in <module>
    runner = openllm.Runner(model, llm_config=llm_config, ensure_available=False, adapter_map=orjson.loads(adapter_map))
  File "/usr/local/lib/python3.10/site-packages/openllm/_llm.py", line 1007, in Runner
    runner = infer_auto_class(implementation).create_runner(model_name, llm_config=llm_config, ensure_available=ensure_available if ensure_available is not None else init_local, **attrs)
  File "/usr/local/lib/python3.10/site-packages/openllm/models/auto/factory.py", line 50, in create_runner
    return cls.for_model(model, model_id=model_id, **attrs).to_runner(**runner_attrs)
  File "/usr/local/lib/python3.10/site-packages/openllm/_llm.py", line 922, in to_runner
    raise RuntimeError(f"Failed to locate {self._bentomodel}:{err}") from None
  File "/usr/local/lib/python3.10/site-packages/openllm/_llm.py", line 780, in _bentomodel
    if self.__llm_bentomodel__ is None: self.__llm_bentomodel__ = openllm.serialisation.get(self)
  File "/usr/local/lib/python3.10/site-packages/openllm/serialisation/__init__.py", line 77, in caller
    return getattr(importlib.import_module(f".{llm.runtime}", __name__), fn)(llm, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/openllm/serialisation/transformers/__init__.py", line 140, in get
    raise err from None
  File "/usr/local/lib/python3.10/site-packages/openllm/serialisation/transformers/__init__.py", line 132, in get
    model = bentoml.models.get(llm.tag)
  File "/usr/local/lib/python3.10/site-packages/simple_di/__init__.py", line 139, in _
    return func(*_inject_args(bind.args), **_inject_kwargs(bind.kwargs))
  File "/usr/local/lib/python3.10/site-packages/bentoml/models.py", line 45, in get
    return _model_store.get(tag)
  File "/usr/local/lib/python3.10/site-packages/bentoml/_internal/store.py", line 146, in get
    raise NotFound(
bentoml.exceptions.NotFound: Model 'pt-baichuan-inc-baichuan-13b-chat:a4a558127068f2ce965aa56aeb826bf501a68970' is not found in BentoML store <osfs '/root/bentoml/models'>, you may need to run `bentoml models pull` first

🚀 Next step: run 'openllm build baichuan' to create a Bento for baichuan

Environment
Python: 3.10.12
CUDA: 11.2.2
openllm: 0.2.25
bentoml: 1.1.1
System information (Optional)
RAM: 256G
GPU: 4 * RTX 3090
running in docker container

One side note is only CUDA 11.8 is fully supported
Recently our scheduling strategy change such that we will only create 1 runner instance regardless of the device. This option is controlled via --workers-per-resource
--device indicate what GPU is available to the Runner. --workers-per-resource is probably what you want here

Hi, thanks for your suggestion. I tried on another machine (RTX 4090 with CUDA 11.8), unfortunately, I got the same error Error: [bentoml-cli] "serve" failed: Model 'pt-baichuan-inc-baichuan-13b-chat:a4a558127068f2ce965aa56aeb826bf501a68970' is not found in BentoML store <osfs '/root/bentoml/models'>, you may need to run "bentoml models pull" first

Can you show the whole stack trace?


[Feature Request] Nuxt3 plugin - i18n manifest.json generation based on provided localized options

Current behavior:
At the moment Nuxt PWA module supports a single-dimensional set of properties that only assumes 1 possible language for generated manifest.
manifest: {
      name: 'Nuxt Vite PWA',
      short_name: 'NuxtVitePWA',
      theme_color: '#ffffff',
      icons: [
        {
          src: 'pwa-192x192.png',
          sizes: '192x192',
          type: 'image/png',
        },
        {
          src: 'pwa-512x512.png',
          sizes: '512x512',
          type: 'image/png',
        },
        {
          src: 'pwa-512x512.png',
          sizes: '512x512',
          type: 'image/png',
          purpose: 'any maskable',
        },
      ],
    },

How should it be
In order to properly reflect i18n nature of the application vite-pwa-plugin should support a multidimensional manifest object where each key will be related to the application locale:
manifest: {
      en: {
          name: 'Nuxt Vite PWA EN',
          short_name: 'NuxtVitePWA EN',
          ...
       },
       fr: {
          name: 'Nuxt Vite PWA FR',
          short_name: 'NuxtVitePWA FR',
          ...
       },
       es: {
           name: 'Nuxt Vite PWA ES',
          short_name: 'NuxtVitePWA ES',
          ...
       }
    },

Specifying manifest options in the above way should result in the generation of 3 manifest files:
en.manifest.json
fr.manifest.json
es.manifest.json

Next I, as a developer, will be able able to dynamically point to different file based on the currently selected locale using useHeade composable updating the link
<!-- If English is detected, the script will load this into the page -->
<link rel="manifest" href="/path.../en.manifest.json">

<!-- If French is detected, the script will load this instead -->
<link rel="manifest" href="/path.../fr.manifest.json">

<!-- If Spanish is detected, the script will load this instead -->
<link rel="manifest" href="/path.../es.manifest.json">

Bonus point
Integrating the above switching with additional options that would define the locale strategy might also be a good idea. e.g. one of the options might be:
pwa: {
   i18n: {
     strategy: 'route'
   }
}

this will assume the language detection should be handled based on the application route, which should also be a default option since this is the most common way for taking i18n on the web.

Sorry for the confusion, I moved the issue to
vite-pwa/nuxt repo since it's related to Nuxt 3. Closing this one


Standard Release Process

Daniil will go through this process and do the final review, based on the recent release in the Zarhus-based project.

I wonder, how this release process will address this situation?

@DaniilKl Regarding your question, I think such cases should be explained in the layer's documentation. For meta-zarhus you chose to keep the layer versions equal, but it doesn't always have to be the case.

@DaniilKl If everything is okay, can you approve this?


Streaming result

Can we make (variants) of the exporters that can "stream" the result. Formats like .csv, .json, etc. can partially generate a result. This means that it can work with a generator as source, and a generator as result.
This would be useful for web downloads, or tooling that can only use a limited amount of memory to process data, since then the source/result might not fit in memory.

Due to the way tablib functions and the API it exposes, I think it would be rather hard to make it stream its output. AFAIK several functionalities expect that the entire content is in memory. Feel free to experiment with the code if you think it's feasible, and reopen the ticket once you have some working code to show. (Note you may have to switch to another lib like numpy if you handle very big files).


Fix cast sliced fixed size list for pyarrow 15

this hsould fix the CI failures on main

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


fix JSON parse error Unexpected character (''' (code 39))

Use an escape character to fix JSON parse error: Unexpected character (''' (code 39))

@malekbenz Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@malekbenz Thank you for signing the Contributor License Agreement!


Wrong resistances

Path of Building is showing wrong resistances :/ Way above what is showned in game

Didn't pay attention that path of building was considering resistances from the potions...
sorry for this


[Requirement] Option to float or minimise Keyboard being shown

Floating Keyboard

The writing area could be expanded with twisty to only show suggestions area without keyboard being seen. Thus no additional code change required.

Minimise keyboard option included


Update trim function in windows-registry

Original trim function is iterate from back to front to trim 0x0000, but I found in some registry value is not only have one 0x0000 in the end, but also in the middle. like below:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

if use original trim function, I will get the string that is normal string plus unnormal string.

And if I use modified trim function, will work as expected.

I don't think we want to support calling trim() on an (undocumented) REG_BINARY.

Sorry, I inspect again, it's my fault. And I have a question that the value type is REG_BINARY in the registry editor, actually the value is should a string represented a document name. I dont understand whether is a windows' design error. In my understanding, the value type should is REG_SZ.

The purpose of trim is to remove trailing null characters from strings and nothing more.


Support for the Android 11 permission system

Until Android 11, it was possible to use a folder to sync out of the application data scope. As of Android 11 this seems to have changed:
https://medium.com/androiddevelopers/android-11-storage-faq-78cefea52b7c
The problem is that currently neither Noteless can save its notes outside its data folder, nor FolderSync can access Noteless' notes to sync them, so the sync part does not work in Android 11.
Any idea to try to solve it?

I have the exact same issue, likely is android 11.

I recommend not to update to Android 11 for now. Looks like https://developer.android.com/guide/topics/providers/content-provider-basics is the only way to share app data between multiple apps in Android 11, but it's quite complicated and needs to be supported by all participating apps.

Looks like https://developer.android.com/guide/topics/providers/content-provider-basics is the only way to share app data between multiple apps in Android 11

I am not sure about this, as for example Markor app can access any directory on sdcard, without needing to be supported by another apps. It uses storage access framework, which could be seen here https://github.com/gsantner/markor/issues/547. As far as I can see this method is also used in many other applications.
Another example is simpletask app, where developer used special permission to have access to whole filesystem, related issue here https://github.com/mpcjanssen/simpletask-android/issues/1100. This is only available since API level 30 though.
Please consider implementing one of these methods to access files in other directories, because simply not updating to Android 11 is clearly not a long-term solution.

Unfortunately, using the SAF (storage access framework) from Flutter is not yet possible. I couldn't find a plugin supporting it and other developers seem to struggle with it too: https://stackoverflow.com/questions/65355464/is-there-a-way-to-access-android-storage-access-framwork-saf-from-dart
Also, I think it makes more sense to implement some workaround to access the whole filesystem in Syncthing and FolderSync, because this would also give these apps access to Noteless' data directory.

Unfortunately, using the SAF (storage access framework) from Flutter is not yet possible. I couldn't find a plugin supporting it and other developers seem to struggle with it too: https://stackoverflow.com/questions/65355464/is-there-a-way-to-access-android-storage-access-framwork-saf-from-dart
Also, I think it makes more sense to implement some workaround to access the whole filesystem in Syncthing and FolderSync, because this would also give these apps access to Noteless' data directory.

I second the suggestion to use SAF. I'm running Android 9 and I would like to save the notes to the micro sd card. This is where I store all my syncthing folders due to size constraints and I would like to keep it consolidated. I do not know the flutter limitations though.

I second the suggestion to use SAF. I'm running Android 9 and I would like to save the notes to the micro sd card. This is where I store all my syncthing folders due to size constraints and I would like to keep it consolidated. I do not know the flutter limitations though.

I think that using SAF would solve a lot of problems in one simple move. It would provide Nextcloud integration, GoogleDrive integration, Termux integration, external storage integration, basically integration with every possible cloud service or app which also uses SAF... The notes could then be synchronized automagically without any effort from the Noteless app 🙂 it would be a great thing and would also improve security, since Noteless won't require storage permission anymore!

@dmotte Can you point me to a resource which explains how to integrate this?

Unfortunately i don't know Flutter or Dart. I have never used them, although i think that they are great technologies. Maybe this package can help? https://pub.dev/packages/file_picker (sorry if it's not related, just searched a few minutes)

Ok, i have another useful information:
I also use the AuthPass app (written in Flutter). With it, I am able to use a Google Drive folder to store my passwords database. It works like a charm and i have my passwords.kdbx file automatically synchronized both on my smartphone and my PC.
Just found out that the AuthPass app uses the file_picker_writable package.

@dmotte Thank you, this is extremely useful!

I just implemented and tested the changes needed for Noteless to work on Android 11. Because this is a very experimental change, I did not publish a full release yet and instead compiled a beta APK. It would be great if everyone here with Android 11 could test the change, but please be aware that it is experimental and could make your notes disappear in the worst case.
Beta APK Download: https://siasky.net/AAAmLR60_Yh3ljfvVI5poZjWmUlWa_-yl9zWH-VEbepfsQ

Testing on Pixel 3 / Android 11 and it works perfectly!
Thank you, thank you, thank you! 👏

I also have a Pixel 3 / Android 11. I was able to turn on "use external storage", which prompted me for the permission but then when trying to change the location from Android/data/net.redsolver.noteless/files to a location that another app can access, it doesn't let me browse outside of "net.redsolver.noteless".

@ivanvenosdel Could you please verify that you're using Version 1.4.0? It's shown in the top left corner of the sidebar

@redsolver I was not. Will try the install again and get back to you.

@redsolver I was not. Will try the install again and get back to you.

You have to uninstall the old version, updating is not possible.

Yeah, learned that. The beta version worked for me! I created and saved a new note and confirmed it got saved in the external location, alongside the tutorial files.

I just implemented and tested the changes needed for Noteless to work on Android 11. Because this is a very experimental change, I did not publish a full release yet and instead compiled a beta APK. It would be great if everyone here with Android 11 could test the change, but please be aware that it is experimental and could make your notes disappear in the worst case.
Beta APK Download: https://siasky.net/AAAmLR60_Yh3ljfvVI5poZjWmUlWa_-yl9zWH-VEbepfsQ

So far so good on LineageOS w/ MicroG on Pixel 4a 5G. Syncthing enabled and nothing has gone missing after a bit of testing.

There will be a release with this and some other new features soon

I just published Version 1.4.6 which contains the new permission system
Direct APK download available now: https://github.com/redsolver/noteless/releases/tag/v1.4.6
Available in about an hour in the SkyDroid App Store: https://to.skydroid.app/noteless.redsolver
Available in some days on F-Droid and Google Play


No such file error during processing

We were using a jailbroken iPhone 6 with iOS 8.4. The extraction completed successfully, but the process step produced the following error:
`xadmin@ubuntu:~$ ios-triage process /home/xadmin/Documents/af0c4c26a9c3d26093ef58922823749a02d1eaf0/1508941979989/
7:34:25 AM - info: executing processArtifacts now
7:34:25 AM - info: Backup dir not found, skipping processing
7:34:25 AM - info: wrote app data to disk
7:34:25 AM - info: wrote device info and domains to disk
7:34:25 AM - info: wrote pprofile data to disk
7:34:25 AM - info: wrote parsed backup data to disk
7:34:25 AM - info: wrote syslog data to disk
fs.js:844
return binding.stat(pathModule._makeLong(path));
^
Error: ENOENT: no such file or directory, stat '/home/xadmin/Documents/af0c4c26a9c3d26093ef58922823749a02d1eaf0/1508941979989/artifacts/crash_reports/ExcResource_FlightApp'
at Error (native)
at Object.fs.statSync (fs.js:844:18)
at Stream. (/home/xadmin/ios-triage/index.js:944:30)
at emitNone (events.js:72:20)
at Stream.emit (events.js:166:7)
at drain (/home/xadmin/ios-triage/node_modules/through/index.js:34:23)
at Stream.stream.queue.stream.push (/home/xadmin/ios-triage/node_modules/through/index.js:45:5)
at Stream. (/home/xadmin/ios-triage/node_modules/split/index.js:61:10)
at _end (/home/xadmin/ios-triage/node_modules/through/index.js:65:9)
at Stream.stream.end (/home/xadmin/ios-triage/node_modules/through/index.js:74:5)`
That directory had the following files: ExcResource_FlightApp Phone FREE_2016-07-27-093907_iPhone.ips and ExcResource_FlightApp Phone FREE_2016-07-27-093907_iPhone.ips.

Looks like ios-triage is not handling spaces in file names properly. Thx for filing the bug. I'll test it out and try to push a fix when I next tinker.

I was splitting lines based on a space which meant I didn't get the whole file name. This has been fixed. Please do a git pull to grab the latest code. If you dowloaded a zip file instead, please download the updated one and follow the install directions (unzip, npm install and npm link).


Try out closetags

https://github.com/alvan/vim-closetag

https://github.com/jiangmiao/auto-pairs


Whatsapp business

``

Maaf saya tidak paham bahasa inggris bisa di ganti dengan bahasa Indonesia ?
Pada Sen, 18 Mar 2024, 17.15, Jefri Reynaldi @.***>
menulis:

``
check-mark-icon-sign-design-free-png.png (view on web)
https://github.com/WhatsApp/proxy/assets/148523047/2d30a09b-3b8c-45eb-94dd-fc8370c4bf65

You can view, comment on, or merge this pull request online at:
https://github.com/WhatsApp/proxy/pull/244
Commit Summary

fdd3606
https://github.com/WhatsApp/proxy/pull/244/commits/fdd36065185e92516402ed8b6cda584e45fc8f7b
Add whatsapp.net frontend and backend (#197)
2ea2f1f
https://github.com/WhatsApp/proxy/pull/244/commits/2ea2f1fee80a065a4600ac43e3dec0f659e1c7df
docs: fix repetion in the comments (#203)
ae2bc06
https://github.com/WhatsApp/proxy/pull/244/commits/ae2bc0696e64d0e4fee525c088f25143599a3c1a
Create devcontainer.json
4d8ee7f
https://github.com/WhatsApp/proxy/pull/244/commits/4d8ee7fc7112f34ab1491d128cf6b37c6ed51904
Create FUNDING.yml

File Changes
(8 files https://github.com/WhatsApp/proxy/pull/244/files)

A .devcontainer/devcontainer.json
https://github.com/WhatsApp/proxy/pull/244/files#diff-24ad71c8613ddcf6fd23818cb3bb477a1fb6d83af4550b0bad43099813088686
(5)
A .github/FUNDING.yml
https://github.com/WhatsApp/proxy/pull/244/files#diff-07985fdcade0e64d11482724879a644f07879ba61b8fb6c6119e1b1902b72ae4
(14)
M README.md
https://github.com/WhatsApp/proxy/pull/244/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(3)
M proxy/Dockerfile
https://github.com/WhatsApp/proxy/pull/244/files#diff-05ecf01e8a60ed57d9ebdaa3619a65099c39dc040ba290799f0285730a20ecdc
(2)
M proxy/ops/docker-compose.yml
https://github.com/WhatsApp/proxy/pull/244/files#diff-cb37c0561747e1bf51de28e631e8fe01205ef172087fbe10079c423d32892e9d
(2)
M proxy/src/healthcheck.sh
https://github.com/WhatsApp/proxy/pull/244/files#diff-5fbce940863f0fead3ae793ccae8204f8fc28d0789468b91ddb64fb40d028ba7
(6)
M proxy/src/proxy_config.cfg
https://github.com/WhatsApp/proxy/pull/244/files#diff-bf76f28d273ad732c29c928dc2930c44a2e4e2b71c6890a824bc77e896021935
(13)
M proxy/src/set_public_ip_and_start.sh
https://github.com/WhatsApp/proxy/pull/244/files#diff-3899bd7de9f33beebee9e62654b0ca3bf6c829472d5242e9e3c4cf838b3c6f78
(2)

Patch Links:

https://github.com/WhatsApp/proxy/pull/244.patch
https://github.com/WhatsApp/proxy/pull/244.diff

—
Reply to this email directly, view it on GitHub
https://github.com/WhatsApp/proxy/pull/244, or unsubscribe
https://github.com/notifications/unsubscribe-auth/BB4A44LNOXRWWXUYIMW345TYY2WCZAVCNFSM6AAAAABE3FTNZ6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGE4TCNRTGU4DKOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


initialSlide should not be considered if there are less than slidesToShow slides

The initialSlide property should not be considered if the list contains less than or equal slidesToShow items since the transformation of slick-track will move slides "out-of-view". Furthermore because there are less than or equal slidesToShow slides no arrows are being created. This makes it imposible to ever move the hidden slide(s) in view.

As observable in the fiddle, slidesToShow is set to 3 and initialSlide is set to the 1 (second item). Due to initialSlide and the transformations the first item is out of view.
====================================================================
[  https://jsfiddle.net/9cx26rao/  ]
====================================================================
Steps to reproduce the problem

<= slidesToShow slides
initialSlide set to other value than default

====================================================================
What is the expected behaviour?
Expected behaviour in my opinion would be to have all slides visible if there are <= slidesToShow slides even though initialSlide is set
====================================================================
What is observed behaviour?
Slide(s) are hidden
====================================================================
More Details

Chrome/Firefox/Others
jquery 1.12.4, slick 1.6.0

+1

Hey thanks for reporting the issue. This is actually covered by a couple open issues and I think there's even a PR pending for it. Hope to get it into the next major release, but easy enough to create a test as a work around. Thanks again


updating rendering of pages, adding styles, updating docs

The biggest change is the ordering of the navigation pages. The navigation gets built in the order the pages are imported. Instead of recursively doing all of the stories folder (which is imported alphabetically), each stories/foo gets their own import allowing me to structure the navigation however I would like.
This is mainly because Welcome was the last one to import, so it was at the bottom (which makes no sense).

This looks awesome! We can make it as entry point for other teams to see and learn about insights.


Adds MessagingTracing.propagation()

This allows messaging-specific, and messaging library-specific
propagation, similar to what was done in #1262 for RPC.

cc @WillemJiang @davsclaus as I made some notes about how this could be used for interop in camel


LookupError: No gradient defined for operation 'ScatterUpdate_675' (op type: ScatterUpdate)

Environment info
Operating System:  Ubuntu 14.04 TLS
Installed version of CUDA and cuDNN:
-rw-r--r-- 1 root root 189170 May 10 10:51 /usr/local/cuda/lib/libcudadevrt.a
lrwxrwxrwx 1 root root     16 May 10 10:51 /usr/local/cuda/lib/libcudart.so -> libcudart.so.7.5
lrwxrwxrwx 1 root root     19 May 10 10:51 /usr/local/cuda/lib/libcudart.so.7.5 -> libcudart.so.7.5.18
-rwxr-xr-x 1 root root 311596 May 10 10:51 /usr/local/cuda/lib/libcudart.so.7.5.18
-rw-r--r-- 1 root root 558020 May 10 10:51 /usr/local/cuda/lib/libcudart_static.a
using 0.8.0 and  0.9.0rc0 version cpu only.
I am building a graph involving scatter_update operation. When building optimizer op I am getting following error
LookupError: No gradient defined for operation 'ScatterUpdate_675' (op type: ScatterUpdate)
Looks like gradient is not defined for scatter_update.

This is expected.
ScatterUpdate is a stateful operation on a variable.  If you use operations like this in your model then you will not be able to automatically compute the gradient. (You will notice that none of the state related ops have an associated gradient function.)
If you would like to discuss this limitation further, please feel free to ask on StackOverflow and tag it with the tensorflow tag.


argument supplied to before_receive_props callback has value nested inside dict, i.e. value=next_props[:key][:key] should be id=next_props[:key]

Hi All
Upgraded from
reactrb 0.8.8
opal 0.9.4
react-rails 1.8.2
to
hyper-react 0.11.0
opal 0.10.3
react-rails 1.10.0
Most things are working exactly as expected, although somewhere along the line, the way "before_receive_props" has changed.
Before my before_receive_props would look like this:
before_receive_props do |next_props|
if next_props[:object_id] == params.object_id then return end
update_hidden_component_state(next_props[:object_id])
end
Since the upgrade, i've had to change every instance of before receive props to:
before_receive_props do |next_props|
if next_props[:object_id][:object_id] == params.object_id then return end
update_hidden_component_state(next_props[:object_id][:object_id])
end
Once i'd realized why my app was throwing feces everywhere; the situation wasn't so bad, it's just a bit clunky like this. I'm going to try and work out what's going on here but I've got a backlog of other stuff that I need to see to first.
Thanks folks :+1:

That was a nasty bug... thanks for reporting.  We will fix in the next point release, and put some kind of mechanism to allow your code to transition.
@bradder555 - I apologize that this has lingered for so long... Somehow it got missed in our triage process.


Zuul returns 200 OK if the route does not exist instead of 404

My config:
zuul:
  servletPath: /
  ignored-services: "*"
  routes:
    files:
      path: /aaa/**
      serviceId: aaa-service
      stripPrefix: false

I have a the ZuulServlet mapped on the home path.
Requests to /aaa/ work fine.
I would expect requests to any other path (ex. /bbb) to return a 404 Not Found.
The actual response status code is 200 OK.
In PreDecorationFilter there is this code:
else {
			log.warn("No route found for uri: " + requestURI);
			ctx.set("forward.to", requestURI);
		}

The request is re-executed and somehow an empty response body is returned with 200OK

This was added specifically in cd30bea0c8bfd75bd27e74c5ff18f69bd0c0b532.

Also properly ignores ignored routes, so they can be handled locally
(rather than giving up and sending 404).

@dsyer will need to comment more.

Maybe a property like zuul.forwardUnknownRoutes=false?

I don't understand the uses cases where no route is found for a path, but the request is still handled somehow.
What i would do is this:
		else {
			log.warn("No route found for uri: " + requestURI);
//			ctx.set("forward.to", requestURI);
			prepareNoFoundResponse();
		}
		return null;
	}

	private void prepareNoFoundResponse() {
		log.info("Preparing 404 error");

		RequestContext ctx = RequestContext.getCurrentContext();
		ctx.set("error.status_code", new Integer(HttpStatus.NOT_FOUND.value()));
		ctx.set("error.message", HttpStatus.NOT_FOUND.getReasonPhrase());

	}

I would prepare an error for the SendErrorFilter.
The response looks like this:
{
    "timestamp":<PHONE_NUMBER>667,
    "status": 404,
    "error": "Not Found",
    "message": "Not Found"
}

If we forward to a path that doesn't exist don't you get a 404 anyway? I think we need to understand where the 200 is coming from before we do anything else.

You get a 200 now.
Conceptually speaking, I would prefer to drive everything from the route config. If the path doesn't match a route, than there should be a 404.
Nothing stops the user from configuring an explicit forward: for the intended routes, rather than relying on a fallback.

Yeah, but why is it a 200? If you forward to a non-existent resource I'd expect a 404.

Maybe from the Spring perspective there is a match.
My config is this:
zuul:
  servletPath: /

server:
  servletPath: /spring

In the logs I can see:
o.s.s.w.u.m.AntPathRequestMatcher [AntPathRequestMatcher.java:141] Request '/aaa' matched by universal pattern '/'
On the '/' ZuulServlet is mapped.

I'm trying one thing.
Maybe the forward needs to take to include the DispatcherServlet path, so other Controller behind the DispatcherServlet kicks in.
If the forward is to dispatcherServletPath + requestUri things change a bit:
2016-03-03 16:12:45,464 DEBUG [http-nio-8765-exec-1]o.s.w.s.m.a.ResponseStatusExceptionResolver [AbstractHandlerExceptionResolver.java:133] Resolving
 exception from handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], c
lass path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@50b2a260]]]: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST'
 not supported
2016-03-03 16:12:45,476 DEBUG [http-nio-8765-exec-1] o.s.w.s.m.s.DefaultHandlerExceptionResolver [AbstractHandlerExceptionResolver.java:133] Resolving
 exception from handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], c
lass path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@50b2a260]]]: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST'
 not supported
2016-03-03 16:12:45,489 WARN [http-nio-8765-exec-1] o.s.w.s.PageNotFound [DefaultHandlerExceptionResolver.java:208] Request method 'POST' not supporte
d
2016-03-03 16:12:45,495 DEBUG [http-nio-8765-exec-1] o.s.w.s.DispatcherServlet [DispatcherServlet.java:1034] Null ModelAndView returned to DispatcherS
ervlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2016-03-03 16:12:45,501 DEBUG [http-nio-8765-exec-1 o.s.w.s.DispatcherServlet [FrameworkServlet.java:998] Successfully completed request

The response is:
{
    "timestamp":<PHONE_NUMBER>592,
    "status": 405,
    "error": "Method Not Allowed",
    "exception": "org.springframework.web.HttpRequestMethodNotSupportedException",
    "message": "Request method 'POST' not supported",
    "path": "/aaa"
}

By the way, the above request is a POST.
For a GET a 404 is returned:
{
    "timestamp":<PHONE_NUMBER>924,
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/aaa"
}

My conclusion so far:

the redirect need to take into account the DispatcherServlet path (even for requests that come through ZuulServlet directly)
the default behavior of handling a POST to an unconfigured path needs to be changed
Any ideas on how to change the POST behavior?

Same as this:
http://stackoverflow.com/questions/30103157/spring-boot-returning-405-instead-of-404-for-post-to-unknown-url

https://github.com/spring-projects/spring-boot/issues/4876

spring:
  mvc:
    static-path-pattern: /static/**

This "solves" the issue  and 404 is returned for POST.
Conclusion:

Conceptually: do we want a catch all fall back in case the route is not found or we want every "forward:" to be configured
In case we want the fallback, my PR is not valid anymore
The PreDecorationFilter needs to take into account the Servlet that is executed initially and add the DispatcherServlet path before the requestUri
the spring.static-path-pattern config needs to be changed. I am not an expert on the use for this config

guys, any thoughts?

I liked having a fallback, but if it only works for GET that's a problem. I think the fact that ignored routes were caught by the fallback was a side effect of having the fallback, not a design constraint of the ignored routes, so that part of your patch is a distraction. I'd like it to just work as a fallback and I don't understand why Spring can't provide a 404 without any special configuration. I don't really have an opinion on the static path pattern (except that we don't want to be more opinionated about it than Spring Boot). I didn't understand the servlet path bit yet (I sense there is more to it).

@dsyer
"I don't understand why Spring can't provide a 404 without any special configuration"
The explanation seems to be found here:
https://github.com/spring-projects/spring-boot/issues/4876#issuecomment-171232347
"I didn't understand the servlet path bit yet (I sense there is more to it)."
I am running all the requests through ZuulServlet directly, not through the DispatcherServlet.
But the error handling mechanisms  for example are supposed to be delegated to Spring through the DispatcherServlet.
Let's take an example.
My request path is /aaa.
Variant1: Going through ZuulServlet.
The PreDecorationFilter does not find the route and forwards as fallback to requestUri which is /aaa. The request comes back to the ZuulServlet and tries again to find a route for /aaa. This time the PreDecorationFilter doesn't run because it detects a forward:
	@Override
	public boolean shouldFilter() {
		RequestContext ctx = RequestContext.getCurrentContext();
		  return !ctx.containsKey("forward.to") // another filter has already forwarded
				&& !ctx.containsKey("serviceId"); // another filter has already determined
													// serviceId
	}

A 200 OK with empty response body is returned at this point from SendForwardFilter:
			if (dispatcher != null) {
				ctx.set(SEND_FORWARD_FILTER_RAN, true);
				if (!ctx.getResponse().isCommitted()) {
					dispatcher.forward(ctx.getRequest(), ctx.getResponse());
					ctx.getResponse().flushBuffer();
				}
			}

So what happened is that the forward should have gone to DispatcherServlet, not the ZuulServlet again. The DispatcherServlet would have triggered a 404 for GET and 405 for POST.
The solution would be to make sure the PreDecorationFilter sets the forward uri to contain the DispatcherServlet servletPath.
I think this is a good solution and who is not happy with 404 vs 405 would change the spring.static-path-pattern in their own application.

In your example the ZuulServlet has a path of "/"? (I.e. not the default.)
So I can agree that maybe all we need to do is be smarter about the default forward path, but I don't think unconditionally sending it to the DispatcherServlet is going to be the right answer (what if you want to handle the response in a different servlet?

Yes, ZuulServlet is mapped to "/".
Hmm, I think we should have some convention or an opinionated approach.
Normally you would want to configure a forward:.
The catch all would be forwarded by default to the DispatcherServlet and an override mechanism could be provided also through some config. I would stick to DispatcherServlet in the current phase.

Isn't it enough to just skip the fallback if the path starts with ZuulServlet path? The empty 200 is no use to anyone, and it can be avoided in that specific case.

No, it returns a 200 with empty body, which makes sense since the request was handled.
You need to prepare by hand an error for the SendErrorFilter.

It will be something like:
		else {
			log.warn("No route found for uri: " + requestURI);
			String prefix = "";
			if (!RequestUtils.isZuulServletRequest()) {
				ctx.set("forward.to", requestURI);
			} else {
				prepareNotFoundError();
			}
		}

Honestly now I prefer the catch all solution and make sure that the forward makes sure the Dispatcherservlet servletPath (or another configurable path) is added to the request uri.
The Design would be that regardless whether ZuulServlet or DispatcherServlet is used, the forward fallback and error handling is delegated to Spring MVC

makes sense since the request was handled

It didn't make sense to me. Oh well. And I don't agree that assuming Spring MVC can handle everything is cleaner (it's only the default behaviour of a Boot app and users can change that).
We do seem to be converging on agreement on one thing though: the fallback forward is a reasonable strategy. I think maybe if the forward has a prefix which is empty by default, except when the ZuulServlet is mapped to "/" (and we are using the servlet to handle the current request), we can converge on an implementation as well? The remaining question for me is what to do when the ZuulServlet is mapped to "/" and no route is found via that mapping. I think the correct answer is that we should send a 404. Is that what you said?

We do seem to be converging on agreement on one thing though: the fallback forward is a reasonable strategy

Yes

I think maybe if the forward has a prefix which is empty by default, except when the ZuulServlet is mapped to "/" (and we are using the servlet to handle the current request)

I think the prefix needs to default to the DispatcherServlet.servletPath.
It could be overridden through config in case it is desired that other Servlet handles the fallbacks.

In case the DispatcherServlet.servletPath is / or /**, the prefix is empty.

In case request is handled by ZuulServlet, the code needs to make sure that the ZuulServlet servletPath is removed from requestUri before adding the prefix. If ZuulServlet itself is mapped on / than it doesn't matter anymore.

The remaining question for me is what to do when the ZuulServlet is mapped to "/" and no route is found via that mapping. I think the correct answer is that we should send a 404. Is that what you said?

This is not relevant anymore because the fallback handles the situation. If no fallback is found by DispatcherServlet (or other configured Servlet), than a 404 for GET and 405 for POST will be sent. (405 is solved by that static spring.static-path-pattern config)

I can try a PR if you agree with the above.

OK

i don't know if this related,  we upgraded to spring boot 1.3.3 yesterday, and zuul is not really making any requests , its just returning 200 all the time with empty body !
If the requested service is up or not , it always returns 200 with empty body, if the path is wrong it returns 404 .
any ideas ?


Unable to Use Vuetify Sass Variables

Hi.
Thank you for this excellent library. It surpasses the official vite-plugin-vuetify plugin by miles.
However, I've encountered an issue. I'm not sure if it's a bug or if something in my configuration is incorrect. I hope someone can help me.
I want to use some of Vuetify's SASS variables (such as $display-breakpoints) in my project, but I'm facing difficulties.
This is my nuxt.config.ts file:
import {defineNuxtConfig} from 'nuxt/config'

export default defineNuxtConfig({
    ssr: true,

    css: [
<EMAIL_ADDRESS>    ],

    experimental: {
        inlineSSRStyles: false
    },

    modules: [
        'vuetify-nuxt-module'
    ],

    vuetify: {
        moduleOptions: {
            styles: {
                configFile: 'assets/styles/vuetify.scss' // <--------- NOTICE
            }
        },
        vuetifyOptions: './vuetify.config.ts'
    },

    vite: {
        css: {
            preprocessorOptions: {
                scss: {
                    additionalData: `
                        @use<EMAIL_ADDRESS>as *;
                        @use<EMAIL_ADDRESS>as *;
                        @use "vuetify/lib/styles/settings/variables" as *; // <--------- NOTICE
                    `
                }
            }
        }
    }
})

And this is assets/styles/vuetify.scss:
$font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
"Noto Color Emoji";

$size-scales: (
    'x-small': -1.75,
    'small': -1,
    'default': 0,
    'large': 1,
    'x-large': 2
);

@use "vuetify/settings" with (
    $color-pack: false,
    $body-font-family: $font-family,
    $font-size-root: 18px,
);

But I encountered this error:
500
[vite-node] [plugin:vite:css] [VITE_ERROR] ./node_modules/vuetify/lib/styles/settings/_index.sass:1:1

Error: This module was already loaded, so it can't be configured using "with".
    ┌──> node_modules/vuetify/lib/styles/settings/_index.sass
1   │   @forward './variables'
    │   ^^^^^^^^^^^^^^^^^^^^^^ new load
    ╵
    ┌──> assets/styles/vuetify.scss
4   │                           @use "vuetify/lib/styles/settings/variables" as *;
    │                           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ original load
... │
205 │ ┌ @use "vuetify/settings" with (

@mostafaznv I'm not a sass/scss expert, you can check https://github.com/Pinegrow/pg-nuxt-vuetify

I don't believe it's directly related to Vuetify itself.
In one of my projects using vite-plugin-vuetify, this configuration (loading Sass variables via Vite configuration) works perfectly.
It appears that files inside Vite's additionalData are loading after your package configFile, and I'm unsure how to reverse this.

@mostafaznv maybe adding a custom module reordering vite config entry...

No, neither the pg-nuxt-vuetify solution nor the custom module worked.
It seems that Vite's preprocessorOptions runs before vuetify-nuxt-module, and when we attempt to define our custom config file through vuetify.moduleOptions.styles.configFile, it can't do it because those variables are already defined.

Hi @mostafaznv, do you have a sample repo I can have a look? I think I encountered this in the past.

If you look closely into https://github.com/Pinegrow/pg-nuxt-vuetify, you will notice the there are two sass files & they are configured differently to how you have in your nuxt.config.ts. Also take a note of @forward 'vuetify/settings' .. and @use 'vuetify'.. and compare with yours.

Hi @mostafaznv, do you have a sample repo I can have a look? I think I encountered this in the past.

Hi @TechAkayy
Thank you for your reply.
this is a reproduction link:
https://stackblitz.com/edit/nuxt-starter-nbwlts?file=nuxt.config.ts

Hey mate,
I'm not a sass expert either, my efforts have been purely trial & error. This is the best I could do - https://stackblitz.com/edit/nuxt-starter-sndsr7?file=nuxt.config.ts.
Refer to these files I have updated:

nuxt.config.ts
main.scss
settings.scss

The below two files are new additions when compared to https://github.com/Pinegrow/pg-nuxt-vuetify. Again, this is based on my assumption that when imported via app.vue, it overrides the css/scss imports of nuxt config. If you are an sass expert, you might probably know better than me :-)

variables.scss (imported in app.vue)
app.vue

You can find two comments with my initials AK:. All the best!

Also, check my reply here - https://github.com/nuxt/nuxt/issues/15412#issuecomment-1756506346

Thank you very much, @TechAkayy.
I checked it, and it works.
However, by removing vite.css.preprocessorOptions.scss.additionalData from nuxt.config.ts, I lost access to using Vuetify Sass variables in my own SCSS files or components.
For example, in one of my Vue components, I want to write a small piece of CSS to handle responsive styling on mobile. I used to do it using this technique, but I can't do it now:
<style lang="scss">
.v-btn {
  @media #{map-get($display-breakpoints, 'sm-and-down')} {
    font-size: 12px;
  }
}
</style>

Ohh okay.. I'm guessing there should be a way to acheive what you are trying to do.
I have updated variables.scss - https://stackblitz.com/edit/nuxt-starter-sndsr7?file=assets%2Fvariables.scss. Note sure how to test responsive sizes on stackblitz. Again, not sure if it works! You are not alone in this sassy ordeal ;-)

Finally, it worked. Thanks ❤
However, there is a setback here. Both vite and webpack have an option to define variables globally (using additionalData), and I'm used to defining Vuetify Sass variables globally and using them wherever I want.
However, I can't do it now, and I have to import ~/assets/settings wherever I want to use one of Vuetify's Sass variables. It requires a significant refactor in all my components.
But I think it's okay. It's nothing to stop me from using this incredible module.

@mostafaznv it seems you're using the rtl properly (from docs: https://vuetifyjs.com/en/features/internationalization/#creating-a-custom-locale), can you check virtual vuetify module  configuration and check if the options are ok?
You can use Nuxt DevTools or browser dev tools (in browser check the const options = JSON.parse(...):

locale is empty.
Could it be because I'm using nuxt-i18n at the same time? I saw a warning here, but I thought it's about loadMessages, not UI direction.
{
  "defaults": {
    "VAppBar": {
      "elevation": 0
    },
    "VBtn": {
      "color": "primary",
      "variant": "flat",
      "size": "default"
    },
  },
  "locale": {},
  "theme": {
    "defaultTheme": "light",
    "themes": {
      "light": {
        "dark": false,
        "colors": {
          "background": "#FFF",
          "surface": "#FFF",
          "primary": "#000066",
          "secondary": "#35373D",
          "error": "#FA4343",
          "info": "#345191",
          "success": "#00966D",
          "warning": "#FAB005"
        }
      },
      "dark": {}
    },
    "variations": {
      "colors": [
        "primary",
        "secondary"
      ],
      "lighten": 3,
      "darken": 3
    }
  },
  "ssr": true
}

@mostafaznv can you file a new issue (with a simple repo :pray:)?

@mostafaznv you also need to add the vuetify translations in your i18n files (json/ts/js) unde $vuetify key.

I don't think there's a need to create a new issue. The problem has been solved. I was using nuxt-i18n, which was the main reason for not loading UI with RTL styles. After checking the playground and configuring i18n properly, the issue is resolved.
Thank you to you and @TechAkayy for your helps.
I really appreciate it 🔥

issue pinned

@mostafaznv
I managed to keep the functionality of redefining vuetify scss variables and transferring them to all components for use, if I understood you correctly - this is exactly what you needed.
Example: https://stackblitz.com/edit/nuxt-starter-6ndxme?file=nuxt.config.ts
nuxt.config.ts
 vite: {     css: {       preprocessorOptions: {         scss: {           additionalData: (source: string, path: string) => {             if (path.endsWith('.vue')) {               console.log(path);               return
@import 'assets/settings.scss';
          ${source}
          `;
        }
        return source;
      },
    },
  },
},

},
`


Uncaught RpcTimeoutError: Timeout after 60000 for id: 1545, Calling function ArcanistService/isAr...

[Enter steps to reproduce:]

Set www-hg as working directory
open a terminal
arc pull.
Arc pull stops and terminal froze.

Atom: 1.27.2 x64
Electron: 1.7.15
OS: Mac OS X 10.13.5
Thrown From: Atom Core
Stack Trace
Uncaught RpcTimeoutError: Timeout after 60000 for id: 1545, Calling function ArcanistService/isArcSupported. Nuclide was trying to call to the remote Nuclide server. This usually means the server was not reachable, or the network connection is unreliable.
At /opt/facebook/nuclide/0.291.99692496/nuclide/node_modules/rxjs/bundles/Rx.min.js:34

RpcTimeoutError: Timeout after 60000 for id: 1545, Calling function ArcanistService/isArcSupported. Nuclide was trying to call to the remote Nuclide server. This usually means the server was not reachable, or the network connection is unreliable.
    at Call._timeout (/opt/facebook/nuclide/0.311.112314201/nuclide/pkg/nuclide-rpc/lib/RpcConnection.js:178:20)
    at Call._timerId.setTimeout (/opt/facebook/nuclide/0.311.112314201/nuclide/pkg/nuclide-rpc/lib/RpcConnection.js:140:14)

Commands
     -7:17.2.0 atom-ide-terminal:new-terminal (textarea.xterm-helper-textarea)
  3x -7:12.5.0 core:confirm (textarea.xterm-helper-textarea)
     -6:43.1.0 core:copy (textarea.xterm-helper-textarea)
     -6:24.4.0 diagnostics:toggle-table (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui.find-visible)
 21x -5:57.3.0 core:undo (input.hidden-input)
     -5:24.2.0 fb-interactive-smartlog:toggle (textarea.xterm-helper-textarea)

Non-Core Packages
file-icons 2.1.21
highlight-selected 0.13.1
language-babel 2.85.0
language-graphql 0.10.1
language-haskell 1.17.8
language-ini 1.20.0
language-kotlin 0.5.0
language-lua 0.9.11
language-ocaml 1.9.5
language-rust 0.4.12
language-scala 1.1.9
language-swift 0.5.0
language-thrift 1.0.2
nuclide 0.315.113461661
nuclide-format-js 0.0.46
set-syntax 0.4.0
sort-lines 0.18.0
tool-bar 1.1.7

Thanks for contributing!
It appears that this is being caused by the nuclide package, not Atom itself. It may be that there is still a bug in Atom. If so, we'll need the maintainer of the package that is causing the problem to help track that down. You should file this issue on their repository so they can either fix the problem or tell us where the problem is coming from. The Atom FAQ has information on how to contact the maintainers of any Atom community package or theme.

Seems like this is an issue related to my devserver.


Passing RecyclableMemoryStream to StreamContent of HttpRequestMessage

Yello.
I have a code somewhat like this:
IHttpClient httpClient = …;
string address = …;
string fileName = …;
byte[] buffer = …;
CancellationToken ct = …;

var stream = RecyclableStreamManager.GetStream();
await stream.WriteAsync(buffer, 0, buffer.Length, ct);
stream.Seek(0, SeekOrigin.Begin);

using var content = new MultipartFormDataContent
{
    { new StreamContent(stream), "file", fileName }
};

using var request = new HttpRequestMessage
{
    RequestUri = new Uri(address),
    Method = HttpMethod.Post,
    Content = content
};

await httpClient.SendAsync(request, ct);

It doesn't work in a sense that server receives 0-length multipart body section. If I change RecyclableStreamManager.GetStream() to new MemoryStream(), everything works fine.
What am I doing wrong? Is this task unsuitable for RecyclableMemoryStream?  Or maybe I need to configure something differently? Or is it a bug?
Thanks.

This should work just fine. I don't see an obvious issue in your code. What happens if you do stream.Position = 0 instead? Could you  expand your example and create a complete repro case that I could run and take a look at?

This should work just fine. I don't see an obvious issue in your code. What happens if you do stream.Position = 0 instead? Could you  expand your example and create a complete repro case that I could run and take a look at?

Could you expand your example and create a complete repro case that I could run and take a look at?

Tried to do that and it seems that everything should be working fine. I am able to receive sample data correctly on the test server.
Then I changed MemoryStream in my actual code back to RecyclableMemoryStream and it also works! Not sure what magic is that, I don't remember changing anything else, but I definitely remember that it didn't work with RecyclableMemoryStream and changing it to MemoryStream fixed the problem.
Guess we can call it a fluke, sorry for bothering.

Could you expand your example and create a complete repro case that I could run and take a look at?

Tried to do that and it seems that everything should be working fine. I am able to receive sample data correctly on the test server.
Then I changed MemoryStream in my actual code back to RecyclableMemoryStream and it also works! Not sure what magic is that, I don't remember changing anything else, but I definitely remember that it didn't work with RecyclableMemoryStream and changing it to MemoryStream fixed the problem.
Guess we can call it a fluke, sorry for bothering.


merge 1.1.1

:white_check_mark: Build TheIdServer 1.1.2-ci.1+8.build.838 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/c6ca0508aa by @aguacongas)


index parameter ignored when initial state is hidden

For example, this doesn't set z-index:
const winbox = new WinBox({title: "Window Title", hidden: true, autosize: true, index: 2022, mount: frame});
But this does:
const winbox = new WinBox({title: "Window Title", autosize: true, index: 2022, mount: frame});
winbox.hide();

See: https://github.com/nextapps-de/winbox/blob/master/src/js/winbox.js#L296

fixed in v0.2.8


KAFKA-5210:Application Reset Tool does not need to seek for internal topics

@mjsax @dguy @guozhangwang Could you please review the changes.

Retest this please.

LGTM! Merged to trunk.


Revert "Fix early exit condition for check_for_member_of_admin_group"

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

Reverts #1567 and #1562 because we intentionally don't run as an admin user in CI which makes CI go 💥. Relatedly, see https://github.com/Homebrew/homebrew-test-bot/pull/26 where I want to ensure we start always running brew doctor here to catch it in future.
As for the check itself @woodruffw, I think the better fix for now is to fix any permission issues in brew linkapps and print the warning there if you can't write to /Applications (although that command itself will be deprecated soon for a multitude of reasons so feel free to punt on it). My bad on merging this.

👍  I was opening an issue…

As for the check itself @woodruffw, I think the better fix for now is to fix any permission issues in brew linkapps and print the warning there if you can't write to /Applications (although that command itself will be deprecated soon for a multitude of reasons so feel free to punt on it). My bad on merging this.
Sounds good to me! I'll have a PR for linkapps soon.


Configure input parameters pushgateway-address

https://github.com/christianknell/helm-charts/blob/2154f3482062ce5e52d42fd4c7809f786aaa6934/charts/popeye/templates/cronjob.yaml#L34
- args:
   - -o
   - prometheus
   -  --pushgateway-address
   - prometheus-pushgateway:9091
   -  --force-exit-zero=true

Thank you for your support, I look forward to your comments.
Best regards

@davispalomino thanks for the idea. Can you provide me with some documentation for this feature of Popeye? Then I will add the needed values to the Chart.


Hyper API without Tableau installed

Hi,
is it possible to read a Tableau Hyper file with the Hyper API without Tableau installed on the current computer?
I know this is not exactly a question about the examples, but I think the answer would be interesting for others to and couldn´t be found in the documentation.
Regards,
Jan

Yes, HyperAPI is completely independent of any other Tableau products

Thank you for your answer!
It works :)


LayoutOptions Background property change has no effect

Hello... Thanks for the hard work with this wrapper. It's pretty good.
I am trying to change the background color on the chart.
Other properties like TextColor or FontSize work just fine. But not Background.
Here is my code to initialize the component:
`
async void InitializeChartComponent(ChartComponent chart)
{
await chart.InitializationCompleted;
chart.Clicked += OnChartClicked!;
chart.CrosshairMoved += OnChartCrosshairMoved!;
    await chart.ApplyOptions(new LightweightCharts.Blazor.Customization.Chart.ChartOptions
		{
			LeftPriceScale = new LightweightCharts.Blazor.Customization.Chart.PriceScaleOptions
			{
				Visible = false
			},
			RightPriceScale = new LightweightCharts.Blazor.Customization.Chart.PriceScaleOptions
			{
				ScaleMargins = new LightweightCharts.Blazor.Customization.PriceScaleMargins
				{
					Bottom = 0.1d,
					Top = 0
				}
			},
			OverlayPriceScale = new LightweightCharts.Blazor.Customization.Chart.BasePriceScaleOptions
			{
				ScaleMargins = new LightweightCharts.Blazor.Customization.PriceScaleMargins
				{
					Bottom = 0,
					Top = 0.9d
				}
			},
			Layout = new LightweightCharts.Blazor.Customization.Chart.LayoutOptions
			{
				Background = new LightweightCharts.Blazor.Customization.Chart.SolidColor { Color = Color.RoyalBlue },
				TextColor = Color.Red,
				FontSize = 14
			}
		});

	await SetupCandlestickSeries(chart);
	await SetupHistogramSeries(chart);

	var timeScale = await chart.TimeScaleAsync();
	await timeScale.FitContent();
	initialLoad = false;
}

`
This compiles just fine, but the background property is the only one that has no effect when rendered. The TextColor and FontSize do change.
Thanks in advance for the help.

I've upgraded the project to .net8 and fixed the serialization for the abstract properties, background in this case.
In the main branch, the background options are serialized properly now (examples included).
I'll close this issue when the new package version is released.

Released in nuget version <IP_ADDRESS>.


fixing searching for restricted datasets and accessing ASF on demand data from Opera

Fixes #439 by implementing multiple trusted domains (ASF's) on top of NASA's URS

This will fix downloading data behind ASF datapool but we still can't open them because aiohttp/fsspec do not support rebuilding the authorization headers on redirects. This should work now

import earthaccess
earthaccess.login()

results = earthaccess.search_data(
    short_name='OPERA_L2_RTC-S1_V1',
    cloud_hosted=True,
    bounding_box=(-117.33, 35.541, -117.880, 35.991),
    temporal=("2023-10-01", "2023-10-15"),
    count=50
)
files = earthaccess.download(results, "./data")

Fixes #438 by using an authenticated session in hits() instead of calling parent's class super()
Improves search by adding instrument and project to collection queries #427

collections = earthaccess.search_datasets(
    instrument="GEDI"
    cloud_hosted=True
)

📚 Documentation preview 📚: https://earthaccess--443.org.readthedocs.build/en/443/

Should we include #436 on this PR? since we are touching the EDL session?

Should we include #436 on this PR? since we are touching the EDL session?

Yes, that's a good idea

Should we merge this before the other open PRs? @jhkennedy @mfisher87

pre-commit.ci autofix

Should we merge this before the other open PRs? @jhkennedy @mfisher87

Logistically, that makes sense to me. I haven't done a proper review here and won't have time in short-term, so I'll leave the "approval" decision to others :)

I think this looks good! Should work as is, but I added a take-or-leave suggestion

I think that last commit broke things... 😂 @jhkennedy

I think this looks good! Should work as is, but I added a take-or-leave suggestion

I think that last commit broke things... 😂 @jhkennedy

Yes, hense the "Note: imports will also need to be adjusted." :wink:

I'm using importlib so we avoid importing the library and potentially produce one of those circular import errors, I think it should be good now.

going to merge this @jhkennedy


Won't compile Android

On a fork comment out the ifndef for windows so it compiles and Android goes bad...
[DCC Fatal Error] PyEnvironment.Project.pas(1): F2039 Could not create output file '.\Android64\Release\PyEnvironment.Project.hpp'
That's a new one on me...

Ohhh, it might not be related to the project itself. Have you tried in a different project?

I'm trying to build the library so I can try out an Android buld
Library build is what's failing (10.4.2 CE)

I will try it and let you know what I figured out.

I've got a ChomeBook arriving in 10 mins or so - wanted to see if that would take at least a simple project :)

I also want to check it. I'll try to fix it (if I find the bug) and then you can try it on the ChromeBook.

The world's worst ChromeBook has just arrived :)
I wanted REALLY BAD - and that's exactly what 120 quid gets you :)
If this thing can run P4D anything can :)

Haaa I like it. 💪


Add option "no margin" to widget align system

Leader
@KaWaite
User story
Users can freely place widgets using the Widget Align System. However, existing systems always have margins. Users want to realize a UI like sidebars and headers, which do not require margins, and the Widget Align System can answer these requests by eliminating margins and providing an option to add a background color.
Another idea is to develop something like a header or sidebar separately from the Widget Align System. However, this is not recommended because the UI becomes more complex in this case. There is room for consideration.
Requirements

User can remove margin from selected widget zone
User can set these things for the widget zone

background color
stroke color

Examples

Testing list

[ ]

This has been done.


cask-repair re-downloads same artifact url for different casks

E.g. I seem to be the only maintainer of telegram-desktop and telegram-desktop-dev.
As per common agreement we update non-stable cask to stable version if there is no more fresh unstable version. So when I update both formulas like:
cask-repair telegram-desktop -v 2.1.4 -b
cask-repair telegram-desktop-dev -v 2.1.4 -b -i

cask-repair always downloads same artifact for second cask, despite the fact that URLs are the same, file path too, e.g.
66b90dccb54a8d0144d8a24f442fdc7a32347230ed6c289349380d830ff5469b--tsetup.2.1.4.dmg

That’s by design. It force fetches.


Can't detect open windows when running on boot

I'm trying to start WinAppDriver on boot on AWS EC2 using user-data script.
Start-Process "C:\Program Files (x86)\Windows Application Driver\WInAppDriver.exe -ArgumentList $HOST_IP 4732
The process starts and I'm able to connect to it remotely but if I try to interact with an application I get an error that no open windows were detected. If I kill the process started on boot and run the same command manually, everything works.

Yes me also facing the same issue. While trying to run the process through Jenkins file, it starts winappdriver but tests are not able to find the application which results in an error( WebDriverException: Message: Failed to locate opened application window with appId:). Both application and winappdriver.exe are running as a background process


Are textures deallocated when removed from render tree?

I have a project that involves dynamically loading lots of textures into a scene when needed. I am slightly worried that loaded textures will not be deallocated with renderer.deallocateTexture( texture ) when the mesh and material is not in the render tree.
Is this something that I will have to do manually, with something like:
this.refs.renderer.deallocate(this.refs.texture)

before the mesh and texture is removed from the scene? This could be done in the componentWillUnmount function which is actually quite a tidy place to have it.
Just thought I'd check before powering on and implementing it.
Thanks.

When a texture gets unmounted it does call .dispose which I'm hoping should trigger the deallocation, but I'll try to dig deeper , run some tests with breakpoints and confirm how it exactly works and if the deallocations happen properly.


[OpenAI] [Scenario] Add conveniences for automatically polling runs

Runs are similar to LRO with the following statuses: queued, in_progress, completed, required_action, expired, cancelling, cancelled, and failed. In order to keep the status of the Run up to date, you have to periodically retrieve the Run object. Note that OpenAI plans to "add support for streaming to make this simpler in the near future".
Run lifecycle: https://platform.openai.com/docs/assistants/how-it-works/runs-and-run-steps

Do we have a sense of whether they expect to make current LRO legacy when the streaming is available like they did with their older chat API or is there expectations that both will work simultaneously.

Do we have a sense of whether they expect to make current LRO legacy when the streaming is available like they did with their older chat API or is there expectations that both will work simultaneously.

They will probably continue to support both.


Fix typo in README file

fixed the selector for the component. store-log-monitor -> ngrx-store-log-monitor

just saw that this was a  dupe

It has been fixed in an earlier PR. Thanks for the contribution though!


Update Airsim Environments

Hello,
I have a question about the environments used in this cookbook. Do you update this link https://airsimtutorialdataset.blob.core.windows.net/e2edl/AD_Cookbook_AirSim.7z when new release appears on the github Microsoft/Airsim (https://github.com/Microsoft/AirSim/releases) ? I've been working on this cookbook for a while and have notified that the road_points / reward_points in your NH environment are not the same as in NH from github Microsoft / Airsim. The physic of the car is also different.

The point of providing the executables is to provide you with something that just works out of the box, and is independent of the changes made by AirSim. Updating to the latest version of AirSim is not as simple as just rebuilding the executables with the latest version of the plugin; we'd have to ensure that all of the tutorials work as well, which is very time consuming. You can certainly try using the latest version of the AirSim binaries that are made available on their GitHub page, but there will be differences that will affect the quality of your final results / models. You may need to regenerate datasets or retune models.
Is there a particular feature that is missing that makes the tutorials unworkable in our binary releases?

Thanks for the answer. You are right about updating.
It can change radically the quality of the final results.
The problem is related to the clockspeed and I know that in the latest version of the Airsim, changes have been made compared to it. (I'm not sure if everything works well)
In fact, a clockspeed of 10 is not really a clockspeed of 10 in NH environment but much more (100 I think). Even a clockspeed of 2 leads to a very strong dynamic of the environment and does not correspond to reality. The car become very instable and the training is complicated because the car takes one or two actions and collides directly. (I decreased the time.sleep respectively and did other changes related to time.)

What do you mean by "clockspeed"? I'm not sure I fully understand the issue.

Clockspeed (https://github.com/Microsoft/AirSim/blob/master/docs/settings.md) :
"Determines the speed of simulation clock with respect to wall clock. For example, value of 5.0 would mean simulation clock has 5 seconds elapsed when wall clock has 1 second elapsed (i.e. simulation is running faster). The value of 0.1 means that simulation clock is 10X slower than wall clock. The value of 1 means simulation is running in real time. It is important to realize that quality of simulation may decrease as the simulation clock runs faster. You might see artifacts like object moving past obstacles because collison is not detected. However slowing down simulation clock (i.e. values < 1.0) generally improves the quality of simulation."
This function allows to train the model very fast. For example, a clockspeed of 10 allows to train 10 times faster the model.
Is not really an issue for me, just those who want to use this function, must use the last binaries of Airsim.


How to add icons to title-box

Related to #80 , I have created a context / right click for the nodes where a menu pops for edit/delete.
I could not get the icons to show properly as shown in #80 ... any ideas on how to inline font-awesome or other icons on same line as text for the title-box ?

In the template:
 var template = `

Title

              ...

          `;
          editor.addNode('node', 0, 1, pos_x, pos_y, 'node', { "name": ''}, template );

I wrote exactly as you showed but couldn't get desired result.

@shehab-01  revise your css or add an image instead of an icon


No module named 'selenium' zap-full-scan.py with auth_hook.py

Hello,
When running a scan with auth_hook I get an error:

docker command:

docker run --rm -v $(pwd):/zap/wrk/:rw -t ictu/zap2docker-weekly zap-full-scan.py -I -j -m 10 -T 60 \   -t http://localhost:3000 \   -r testreport.html \   --hook=/zap/auth_hook.py \   -z "auth.loginurl=http://localhost:3000/#/login \       auth.username="demo" \       auth.password="demo" \       auth.username_field="email" \       auth.password_field="password" \       auth.submit_field="loginButton"" \

The output:

Traceback (most recent call last):
File "/zap/zap-full-scan.py", line 520, in
main(sys.argv[1:])
File "/zap/zap-full-scan.py", line 214, in main
load_custom_hooks(hook_file)
File "/zap/zap_common.py", line 84, in load_custom_hooks
loader.exec_module(hooks_module)
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/zap/auth_hook.py", line 1, in
import zap_auth
File "/zap/zap_auth.py", line 10, in
from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'

Very kind reminder.
Hamza

Did you pull the latest version? I cannot reproduce the issue.

Did you pull the latest version? I cannot reproduce the issue.

Yes, I use the latest version and run it with podman.

Hello @hamzaElharti We are currently reviewing if there's still a usecase for this repository because in the meanwhile, ZAP seems to have included the same functionality. Do you (still) have a specific reason to use this repostory instead of the "original ZAP"?
Sorry, it's been a while before you got this answer.


Kubernetes Secrets Management: Create a common secret for ca.pem

#1497 has a common ca.pem for many modules to access the same CA certificate info in the secrets.yaml file.
Proposal is to separate it into a separate Kubernetes Secret and let each pod refer to this common secret.
Pros: Easy management and configuration of pods.
Cons: We cannot use different CAs for different modules. Also, best practices dictate that we shouldn't share secrets.
For our use case, we can use a common secret as it's the same data that is shared between pods.
Plus it is ca.crt, which is the public key anyway.
We can do something similar for crl.pem too.

This proposal arose from two comments in the review of pull request #1497:
Comment 1:  https://github.com/bigchaindb/bigchaindb/pull/1497#pullrequestreview-40984136
Comment 2:  https://github.com/bigchaindb/bigchaindb/pull/1497#pullrequestreview-40985394
In comment 2, I suggested moving both ca.pem and crl.pem into one new Secret named ca, because the CA's public key and the CA's CRL are both CA-related things.
As noted above, this would make it impossible to get the four MongoDB certificates from two or more different CAs. I don't see that as a big problem. Right now, the assumption is that all MongoDB certificates get signed by the CA associated with the organization managing the cluster, i.e. there's just one MongoDB CA per cluster.

It occurred to me that there is (potentially) at least one other CA: the CA who signs the SSL certificate so that access to the HTTP API is via SSL/TLS. There may be more CAs. The CA discussed above is the one associated with MongoDB auth.
Therefore I would amend this proposal as follows:

Create a new Secret named mdb-ca or mdb-auth-ca (i.e. the MongoDB auth CA).
Move two Secret data items into mdb-ca:

ca.pem (which could be renamed mdb-ca.pem) and
mdb-crl.pem (which already has a good name!)

One more note: the documentation currently calls the directory associated with the "MongoDB auth CA" bdb-cluster-ca, in the page ca-installation.rst.

Note: In secret.yaml, in the Secret named bdb-certs, there's an item named crlfile. That item can be removed since it's the same as what's in mdb-crl.pem.

Creating a common secret for ca.pem and crl.pem for all MongoDB replica set members and clients. Because all of them need to have a common CA. Don't need to mention mdb* for CA secrets. For reference: Use x.509 Certificates to Authenticate Clients

@muawiakh I guess this issue can be closed now?

Yes.


feat(static): implement Etag rendering for static files

Summary of Changes

Renders ETag for static files and includes it in the Response's headers.
If If_None_Match header is present in Requests's headers and its ETag matches the file's ETag an HTTP_304 status code is returned.

Related Issues
#2243
Pull Request Checklist
This is just a reminder about the most common mistakes.  Please make sure that you tick all appropriate boxes.  But please read our contribution guide at least once; it will save you a few review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing to do.

[x] Applied changes to both WSGI and ASGI code paths and interfaces (where applicable).
[x] Added tests for changed code.
[x] Prefixed code comments with GitHub nick and an appropriate prefix.
[x] Coding style is consistent with the rest of the framework.
[ ] Updated documentation for changed code.

[x] Added docstrings for any new classes, functions, or modules.
[x] Updated docstrings for any modifications to existing code.
[ ] Updated both WSGI and ASGI docs (where applicable).
[x] Added references to new classes, functions, or modules to the relevant RST file under docs/.
[ ] Updated all relevant supporting documentation files under docs/.
[x] A copyright notice is included at the top of any new modules (using your own name or the name of your organization).
[ ] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.

[x] Changes (and possible deprecations) have towncrier news fragments under docs/_newsfragments/, with the file name format {issue_number}.{fragment_type}.rst. (Run towncrier --draft to ensure it renders correctly.)

If you have any questions to any of the points above, just submit and ask! This checklist is here to help you, not to deter you from contributing!
PR template inspired by the attrs project.

I still have to  go through the docs to see if any updates are needed there. As of now, I want to check with you if that's the intended implementation.


feature: add account profile  page

@PanJiaChen Is there any current progress for this task? If you haven't started, I would like to add this page. I've just finished the similar one in my project:

Demo URL: https://laravue.dev/#/administrator/users/edit/2

@tuandm welcome pull request.

@PanJiaChen Pull request: #1953
I need more tasks to get familiar with the code base and mock api. Here is just a simple profile page with data from user state. We could improve later with mock api, we can also have a user listing page and use this profile template for user detail/edit views.


Failed loading of custom sass file in dev: first time only

It happens only the first time I run server locally and land on a page. when changing page (that imports its own style.sass) it doens't load the last style. In the network i don't see another styles.chunk.css call and inspecting the existing the style.chunk in the network and looking for a class for example it isn't present. Seems like a cache problem.
When building the full package for production all the styles are present and so it works properly.
Thanks

I'm experiencing this as well.

I am experiencing this as well. When I navigate using  the styles don't load for the page and I have to refresh :(

Related to #561

bump

I've just experienced this issue as well using next-sass with SCSS modules.
(For information I cannot use the built in CSS modules support from Next as I need to compile CSS modules from a UI library which is another package)

Hi, thanks for creating an issue. We currently recommend using https://nextjs.org/docs/basic-features/built-in-css-support as the plugins have been deprecated in favor of the built-in support.


brew audit --online not adding the HOMEBREW_GITHUB_API_TOKEN as HTTP Authorization Header

brew config output
▶ brew config
HOMEBREW_VERSION: 3.5.10-89-g451bded
ORIGIN: https://github.com/Homebrew/brew
HEAD: 451bded34d315f21ff8fcdd0a61c6ba052625b30
Last commit: 7 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 001186aea9d67bb1829448098ec89f0b363d65f4
Core tap last commit: 6 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_AUTO_UPDATE: set
https_proxy: <IP_ADDRESS>:8081
Homebrew Ruby: 2.6.8 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: octa-core 64-bit icelake
Clang: 13.0.0 build 1300
Git: 2.30.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.6.8-x86_64
CLT: <IP_ADDRESS>.9
Xcode: 13.0

Verification

[X] I ran brew update and am still able to reproduce my issue.
[X] I have resolved all warnings from brew doctor and that did not fix my problem.

What were you trying to do (and why)?
I bumped a private Formula.  All worked.
I set the HOMEBREW_GITHUB_API_TOKEN as a local environment variable.
OK:
brew upgrade foo-private-cli
OK:
brew audit foo-private-cli --git --skip-style -d
NOK:
brew audit foo-private-cli --online --git --skip-style -d
What happened (include all command output)?
  * The homepage URL https://github.com/foo/foo-private-cli is not reachable (HTTP status code 404)
  * Stable: The source URL https://github.com/foo/foo-private-cli/releases/download/0.1.1/foo-private-cli is not reachable (HTTP status code 404)
Error: 2 problems in 1 formula detected

What did you expect to happen?
As I can brew install, upgrade and reinstall from these private repos, I know my HOMEBREW_GITHUB_API_TOKEN works and there are no "Single Sign On" (SSO issues with the GitHub Personal Access Token.

We'll review a PR to fix this. We're unlikely to do it ourselves because we don't support any private formulae, sorry.

@rustymagnet3000 When you try to just curl your private repo @ just "github.com" with your token, are you able to? I may be doing things incorrectly, but it appears there's going to have to be some re-writing to api.github.com to support token auth instead of just passing it as a header.

Thinking more on this, would it make more sense to tell brew that the Github URL is private before rewriting anything? Thinking something similar to the following to not have any knock-on effects from implicit actions:
class MyPrivateFormula < Formula
  desc "The formula used for my Dr. Doofenshmirtz Gonkinator"
  homepage "https://github.com/doofenshmirtz/gonkinator/", :private => true
  url "https://github.com/doofenshmirtz/gonkinator/releases/download/v21.5/gonkinator-all-21.5.tar.gz", :private => true
  ...

This way it's only when a formula explicit calls for the URLs to be private

We're unlikely to carry code that implements this in brew, but you could probably make that work by creating your own download strategy.
See: https://docs.brew.sh/Formula-Cookbook#specifying-the-download-strategy-explicitly

Sorry--example above should have been head "https://github.com/doofenshmirtz/gonkinator.git" instead of url.
It doesn't look like homepage & head support any custom strategy, and that's where I was asking if it made sense to allow those to have a custom strategy (or just mark them private and allow resolution of private github repos)

Alright, think I'm close to a possible solution here
Convert homepage for Cask & Formula to be a URL & Resource respectively (I assume the disparate usage between the two is based on different times of implementation, but I kept convention with what was there).
Would anyone be willing to preview my changes, or should I just PR what I have once everything's passing & discussion can move there?

@troymccabe I don't think we want them to be a url or resource. This should be scoped to the code called from the auditor when making GitHub/GitHub API queries.

Totally fair--would you be open to the following approach to keep it scoped there? Without anything additional hinting that this is a private repo, it'll have to be a bit hamfisted
If Github's web ui (which doesn't use tokens) 404s, and the user has a Github api token set, fetch the repository definition from Github's API (which does use tokens) & check that that 200s
(pseudocode, since I'm still picking up Ruby)
problem = http_content_problem = curl_check_http_content(...)
if problem.match(/http status code 404/i) && homepage.url.match(/^https:\/\/github.com/) && ENV["HOMEBREW_GITHUB_API_TOKEN"]
  # rewrite to `api.github.com` url & check that with token
end

Several possible impls to compare:

Using Resource/URL: https://github.com/Homebrew/brew/compare/master...troymccabe:brew:bugfix/13789-homepage-as-resource
Checking private repo, failing, checking GH API: https://github.com/Homebrew/brew/compare/master...troymccabe:brew:bugfix/13789-homepage-gh-private-repo-check
Short-circuiting if private is a query param of a Github repository: https://github.com/Homebrew/brew/compare/master...troymccabe:brew:bugfix/13789-homepage-gh-private-repo-check-query-param

There's another possible, which is using an object lighter than Resource/Url, which just contains the check strategy. Anything that allows a custom strategy I'd personally prefer since it's less hard-coded for 1 provider. Avoids "hey I have a private bitbucket repo" convos, and puts the onus on the developer who wants private formulae to ensure the strategy for fetching the homepage can do so

Alternatively, you could try subclassing Formula with, say, AbstractPrivateFormula. Inside AbstractPrivateFormula, you can override the homepage as you please.
Your private formulae would then inherit from AbstractPrivateFormula instead of Formula.
See
https://github.com/Homebrew/homebrew-portable-ruby
https://github.com/shivammathur/homebrew-php
for examples of this.

Hrm, not sure that'd work, since homepage is expected to be a string, and the code in formula_auditor/cask/audit expects the same.
If the auditors called an instance method (e.g. homepage_is_online) of Formula (falling back to the current curl impl) or something, for sure I could see that, but as it stands the Auditor would have to be overridden, instead of Formula
As it stands, there's no way to externally override the behavior of audit_homepage (Formula) or check_https_availability (Cask). They both call curl_check_http_content, which doesn't have any code paths to modify the request before checking

Checking private repo, failing, checking GH API: master...troymccabe:brew:bugfix/13789-homepage-gh-private-repo-check
Short-circuiting if private is a query param of a Github repository: master...troymccabe:brew:bugfix/13789-homepage-gh-private-repo-check-query-param

Either of these approaches look good to me with a mild preference for the first.


Can not find the pth file.

When I run the testing code:python test.py --test_epoch=1 --benchmark=3DMatch
I come with this problem:
FileNotFoundError: [Errno 2] No such file or directory: '/root/GeoTransformer-main/data/3DMatch/data/train/rgbd-scenes-v2-scene_01/cloud_bin_2.pth'
How can I get the pth files. I can only get the ply files of 3DMatch.
Can you help me? Thank you.

When I run the testing code:python test.py --test_epoch=1 --benchmark=3DMatch I come with this problem: FileNotFoundError: [Errno 2] No such file or directory: '/root/GeoTransformer-main/data/3DMatch/data/train/rgbd-scenes-v2-scene_01/cloud_bin_2.pth' How can I get the pth files. I can only get the ply files of 3DMatch. Can you help me? Thank you.


AddNpgsqlDataSource method is not working and crashing the api project at runtime

I am trying out aspire and in my app I am using ADO.net npgsql client. For that I have added Npgsql package.
When I add the aspire project with this API project and tried to run the application It gives error as
Unhandled exception. System.InvalidOperationException: The service collection cannot be modified because it is read-only.
   at Microsoft.Extensions.DependencyInjection.ServiceCollection.ThrowReadOnlyException()
   at Microsoft.Extensions.DependencyInjection.ServiceCollection.System.Collections.Generic.ICollection<Microsoft.Extensions.DependencyInjection.ServiceDescriptor>.Add(ServiceDescriptor item)
   at Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSourceCore(IServiceCollection serviceCollection, Object serviceKey, String connectionString, Action`1 dataSourceBuilderAction, ServiceLifetime connectionLifetime, ServiceLifetime dataSourceLifetime)
   at Microsoft.Extensions.DependencyInjection.NpgsqlServiceCollectionExtensions.AddNpgsqlDataSource(IServiceCollection serviceCollection, String connectionString, Action`1 dataSourceBuilderAction, ServiceLifetime connectionLifetime, ServiceLifetime dataSourceLifetime, Object serviceKey)
   at Microsoft.Extensions.Hosting.AspirePostgreSqlNpgsqlExtensions.RegisterNpgsqlServices(IHostApplicationBuilder builder, NpgsqlSettings settings, String configurationSectionName, String connectionName, Object serviceKey, Action`1 configureDataSourceBuilder) in /_/src/Components/Aspire.Npgsql/AspirePostgreSqlNpgsqlExtensions.cs:line 109
   at Microsoft.Extensions.Hosting.AspirePostgreSqlNpgsqlExtensions.AddNpgsqlDataSource(IHostApplicationBuilder builder, String configurationSectionName, Action`1 configureSettings, String connectionName, Object serviceKey, Action`1 configureDataSourceBuilder) in /_/src/Components/Aspire.Npgsql/AspirePostgreSqlNpgsqlExtensions.cs:line 71
   at Microsoft.Extensions.Hosting.AspirePostgreSqlNpgsqlExtensions.AddNpgsqlDataSource(IHostApplicationBuilder builder, String connectionName, Action`1 configureSettings, Action`1 configureDataSourceBuilder) in /_/src/Components/Aspire.Npgsql/AspirePostgreSqlNpgsqlExtensions.cs:line 35
   at password_manager_api.Program.Main(String[] args) in C:\Users\Amit Limbasiya\source\repos\Password_manager\password-manager-api\Program.cs:line 23

In the program.cs file where the error is pointing out I have added the NpgsqlDataSource with the aspire container as below:
builder.AddNpgsqlDataSource("postgres",s=>{ s.HealthChecks = false; s.Tracing = false; });
builder.Services.AddSingleton<DbOperations>();

I am using this NpgsqlDataSource in the DbOperations file where I got the instance of the NpgsqlDataSource with DI. And I have added DbOperations as a singleton service, after that I can get the instance of the DbOperations by DI in the API endpoints like below:
app.MapGet("/api/get-passwords", async (DbOperations dbOperations) =>.
AppHost Program.cs file:
var builder = DistributedApplication.CreateBuilder(args);

var postgres = builder.AddPostgres("pg")
    .AddDatabase("postgres");

var backend = builder.AddProject<Projects.Password_manager_API>("backend")
    .WithReference(postgres);

builder.AddProject<Projects.Password_manager_UI>("Password-Manager")
    .WithReference(backend);

builder.Build().Run();

I have added the postgres database and using this postgres in the AddNpgsqlDataSource method.

Unhandled exception. System.InvalidOperationException: The service collection cannot be modified because it is read-only.

This error is telling you that you are calling this method after building the application. You need to do it before.

Thanks @davidfowl. Able to solve it now.

Hii @davidfowl, Additionally I want to ask one more question, I am able to use the API and can connect with the database as well. But when I use the Application name "backend" in the endpoint request from the blazor UI app. It gets failed and stats the error as "No host found with name backend"
Please have a look at Apphost program.cs in above issue description.
I want to connect to API from the UI app. What will be the string to pass on in httpclient. Currently passing http://backend/api/get and getting error as no such host backend.

Are you service defaults wired up correctly? That's how service discovery works when you run locally:
https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/service-defaults#add-service-defaults-functionality
The HttpClientFactory is wired up the service discovery system, and the apphost provides the right configuration.

Yes it is same. Now If I want to use HttpClient, then how can I get the instance of the same in the ui app. I think the method AddServiceDefaults() will just configures the default httpclient for us, right? Now, if it has been configured then how to use it. How can I get the instance in the Razor Pages. I will have to tell UI app to discover for the instance from AppHost?

Now, if it has been configured then how to use it.

If you want to get an instance of an http client from DI then you can inject an HttpClient into your application and it should be configured. You can learn more about the HttpClientFactory here https://learn.microsoft.com/en-us/dotnet/core/extensions/httpclient-factory.

I will have to tell UI app to discover for the instance from AppHost?

The apphost you posted should be enough to make it work. Your "Password-Manager" project should be able to talk to the backend using "http://backend".


zip: command not found

While doing some testing after having updated my buildtools submodule I get the error /bin/sh: line 1: zip: command not found every time I run make. While a working normal .cia is still created, it then does proceed to remove the .smdh file resulting in having to build this manually to go with the .3dsx.
The make log:
Building for 3DS...
build/3ds-arm/source/console.o
build/3ds-arm/source/ftp.o
build/3ds-arm/source/main.o
output/3ds-arm/FTPDB.elf
build/3ds-arm/meta.smdh
output/3ds-arm/3ds/FTPDB/FTPDB.3dsx
build/3ds-arm/banner.bnr
build/3ds-arm/icon.icn
output/3ds-arm/FTPDB.3ds
output/3ds-arm/FTPDB.cia
FTPDB.zip
/bin/sh: line 1: zip: command not found
make: *** [FTPDB.zip] Error 127
rm build/3ds-arm/meta.smdh build/3ds-arm/banner.bnr build/3ds-arm/icon.icn

And the makefile used for this build (raw from my repo)
Makefile
The full source code can be found here: https://github.com/Favna/FTPDB

I suppose the error resides somewhere in the creation of the output_zip but for the world of me I cannot find it especially since it says "line 1" which is .. well obviously false. I have also tried it without specifying any output_zip in my own makefile but to no avail.

The main issue is simply that you don't have the zip command. However, do note that the SMDH is always deleted. For a long time now, the 3DSX format has supported embedding the SMDH into the 3DSX file, so a separate SMDH file is not needed.

Ugh of course. Got it now after installing Zip for Windows from GnuWin32 and adding that to PATH. Thanks for pointing me towards the obvious ^^"


Add gpr_c constraint

Just adding the constraint for GPR.
not_inside is not yet supported in PyVSC when we declare a list of enum types of fix size as vsc.rand_list_t(vsc.enum_t(riscv_reg_t), sz =4)

@udinator @hodjat91
FYI, you can see the coverage of instructions till now here: https://github.com/saurabhsingh-pvips/riscv-dv/tree/coverage_report.
urgReport/dashboard.html will display the coverage summary.