ZFS improvements

This PR does the following:

Uses the upstream systemd services by default (including the one for zed - the ZFS Event Daemon)
Reimplements the ZFS pool import service so that:

We do not fail if there are no ZFS pools to import
We not rely on /etc/zfs/zpool.cache, which eliminates some issues
Instead, the ZFS pools to import have to be specified in configuration.nix
To avoid issues and make configuration simpler, NixOS will automatically infer the necessary ZFS pools to import for ZFS filesystems which are defined in fileSystems.*
For ZFS pools which are not mentioned in fileSystems.*, the user will have to add them to boot.zfs.extraPools if they want them to be automatically imported on every boot
Please note that the way in which this PR is now importing ZFS pools is more or less the direction in which upstream ZFS seems to be moving towards

Added option to disable force import (i.e. --force / -f) of ZFS pools. Currently, we still force-import by default to maintain backwards compatibility with NixOS systems that don't have the host ID recorded in their ZFS pool labels, but once most people upgrade to this PR we should disable force-importing by default
Reimplement SPL's host ID configuration so that:

The SPL now correctly picks up the host ID defined in configuration.nix (this wasn't happening before due to a bug in the SPL)
The host ID is now configured system-wide by writing it to /etc/hostid, which makes the ZFS userspace tools agree with the kernel as to what the host ID is. It also makes glibc (and therefore, other unrelated applications) pick up the host ID defined in configuration.nix
Renamed boot.spl.hostid to networking.hostId, to make it clear that the host ID is a system-wide config option and not tied to the SPL. I've put it under networking because it closely resembles networking.hostName in terms of purpose
Only allow ZFS to be enabled if networking.hostId is set. Otherwise, ZFS pools will not record the host ID in the vdev labels and it will be impossible to open or import a ZFS pool without passing the --force / -f parameter

Make nixos-generate-config generate a random 32-bit host ID by default (when installing NixOS). This makes the host ID more reliable than falling back to the default glibc behavior of generating a host ID based on the IP address, which can change quite often and conflict with other machines in the same network in some cases. It also makes using ZFS easier by not requiring the user to worry about manually generating a host ID themselves and adding it to configuration.nix

The commit messages contain a bit more details regarding the issues above.

I was told to leave a comment here. Not sure why I'm not opening a new issue, but whatever.
The docs for networking.hostId are confusing. They say it should be a unique number, but it doesn't exactly state why. It's apparently used by ZFS for now, but I had to find that out by asking on IRC. It should state that if you aren't using ZFS or whatever uses it, you can safely remove it.


APPS-747 update ExpertOptions doc

@r-i-v-a You're right, I had planned to implement that but didn't get to it. We can remove it from the docs for now and add a Jira issue to implement it.

https://jira.internal.dnanexus.com/browse/APPS-914 @jdidion @YuxinShi0423


Backport changes from master to 15.7

@AlexanderSher I'll need to merge this soon so I can also backport the latest localization updates (which I just got approval for).
I guess the easiest way to review is just compare the commit hash values? I didn't create any new commit, they're all coming from master branch.


feat: support ctx in sqlx/sqlc, listed in ROADMAP

https://github.com/zeromicro/go-zero/blob/d254e6dc0a53cd03192b038d129ae2f3b44702e8/core/stores/sqlx/sqlconn.go#L240-L247
Maybe  need to judge context.Canceled and context.DeadlineExceeded?

https://github.com/zeromicro/go-zero/blob/d254e6dc0a53cd03192b038d129ae2f3b44702e8/core/stores/sqlx/sqlconn.go#L240-L247
Maybe need to judge context.DeadlineExceeded ?

good catch!

https://github.com/zeromicro/go-zero/blob/1131cec070600b3396aafcdf914b1f048da724cd/core/stores/sqlx/tx.go#L128
https://github.com/zeromicro/go-zero/blob/1131cec070600b3396aafcdf914b1f048da724cd/core/stores/sqlx/tx.go#L134
rollback failed: %s - > rollback failed: %w  more perfect.

goctl mysql model gen should support context

goctl mysql model gen should support context

I think it might be better to in another PR. And merge it after go-zero v1.3.1 released, which contains this PR.
Otherwise, if we release another goctl version, it breaks.


standalone logging

extend edpm log collection to standalone nodes
update ansible lint to run locally

As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

so we do not run the adoption jobs in this repo so ill add a DNM patch to the adoption repo with a depends on an we can use that to confirm if this does indeed fix the log collection for the standalone node as i expect. i could also drop the ansible-lint changes or move them to a different pr that fixes some but not all of the warnigs/slow execution issues i was having locally

@SeanMooney heya! is this still relevant? If yes, care to rebase and advertise it on the support channel, or join the review call (Mon, Wed, Fri) to get some reviews? Thanks!

The logging situation for adoption has improved but it's still not the same as greenfield. With that said I'm not planning to work on this anytime soon so I'll closer this for now


<EMAIL_ADDRESS>hash check failed

Checking hash of SysinternalsSuite.zip ... ERROR Hash check failed!
App:         extras/sysinternals
URL:         https://download.sysinternals.com/files/SysinternalsSuite.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    a510c31c2cc591a16f342e7cba5dc8409eaf08c9b56729cf132c95c69e196787
Actual:      9b9d6bd0718a5680b2322398345271142783156dc8d6f3642bce72f80337850f

Duplicate of #1809.

Fixed in https://github.com/lukesampson/scoop-extras/commit/e6789d1c27ec4ac1be1298981acb3d5c3e92137d


Review the volunteer dashboard to suggest materials and next steps

Business Goal
For any volunteer, have clear next steps on the dashboard. We hope to see increased engagement and increased retention.
https://docs.google.com/document/d/1xVZSRaiZ_gsvaVWwFsQkFLTNYiRvu1drD31XULofHeo/edit#
Task
Redesign the "This is the most important things" section on the dashboard for volunteer experiences.
[TBD]

First Suggestions here
https://share.goabstract.com/b0212c5e-d6a6-4c86-bf85-085155265802

So, a couple of points:

Even if we hide it after 3 months, we can't currently tick anything, there are no storage dedicated to that (and unsure we'd like to)
The scenarios for showing it needs to be defined. I think not only 3 months (which is long for the life of a Dojo) but as well as "not being part of a Dojo with an event", elsewhat the whole screen's going to turn purple. As well, to me, this "main action" (whatever we decide it is) should only be part of the main block while you're not a volunteer, but applied to be. If you're a volunteer already, see 3)
The top part was reserved for single-click/very clear call to actions. Having a todo-list here is against the whole design of a "simple, clear path to follow". It could be part of a less intrusive experience within the side-bar (think of Reddit/board-like dashboard with pinned topics), or as a randomly selected tip "Did you know".
However, that leads back to "What's the main call to action for newcoming volunteers". A tour of the dashboard, showing tips about "new content", followed by "the important links" could be something.
Pending requests can use a similar design than events, and not being part of that list of links (separated as a different ticket here : https://github.com/CoderDojo/community-platform/issues/1251). That could be used both for awaiting requests (that the user requested) as for awaiting approval (from a champion perspective), and help us putting some alternate actions in case of lack of response (contact support for example)
Regarding the content of those links overall:

You shouldn't have a Find a Dojo link as part of that list: if we do, it means we don't even know the user is willing to volunteer, so that display should not exists at all.
Safeguarding is fine
Guide to mentoring is not something I would set here. That's a lengthy document. If you want people to not come back, that's probably a good way
Yes-ish for projects, but it's displayed lower in the page, in a way better manner
Keep going/become a co-champion: he's barely a volunteer, irrelevant and even dangerous (co-champion).
Overall on that list, only 2 are, to me, meaningful at that stage for the user. The list itself doesn't seem justifiable and we could either better content, or more impactful design.
As a counter example for parents:
Find a Dojo is a single action, it's not:
Find a Dojo,
Register your kids,
review our ethos,
become a volunteer yourself
Start your own dojo

So I'm proposing a simpler version.
There are theoretically 4 stages to a volunteer path on CoderDojo

Just signed up and haven't even applied to a Dojo.
Applied to a Dojo and no reply (biggest opportunity here from the data)
Been accepted recently and/or go to an actual event, first 6 months
Have been going to events a lot and maybe been 6 months in a Dojo (secondary opportunity here to try to push them to be a champion)

My proposal is... treat them separately. Create issues about doing a small messaging change to support 1. A larger piece like a small pathway to support 2. and for 4 suggest adding in a footnote about becoming a co-champion.
Pros
Smaller focused pieces of content for each of them that target the specific problem we've noted. Less design work.
Cons
Less of a redesign and no major improvement except for (2). Not a major con to be honest!

### Proposal in detail
https://share.goabstract.com/b0212c5e-d6a6-4c86-bf85-085155265802
Three stages are now included in this ticket.
First state : New volunteer no club or applications to join. Tweaked message in above screens.
Second state : Volunteer with open applications, no club. Second screen above, new card with suggested next steps and some mild time fillers.
Third state : Volunteer with both open applications, and a club, and it's the first 3 months. This is to cover a case where someone applied for several clubs. Third screen in abstract. Basically they should still be shown most of the second state date until 3 months pass and then we can assume they understand the process.
Notes:

The 3 months only applies if they joined a club. If they don't successfully join a club they should always be shown the first or second state.
If possible (need to run through journey) redirect volunteers to the dashboard after they join a club. The dashboard then acts as confirmation
Some of the spacing in abstract and the real frontend are different. Just review with me live if we need to make a choice there.

First state:

not defined how we identify that case, we don't know he wants to volunteer without requesting it in the first place
Second state:
OK, not a big fan of the design, but can probably work around it and offer something a tad different
Third:
If you're already part of a club, I wouldn't show the list here. You already have experience with a Dojo, either as a Ninja (unlikely) or as a mentor. Everybody else will fall in case 2, which is the most likely scenario to happen. This will just be a nuisance to already experienced mentors. I would push it as a side-info at that point, even for any experienced mentors .
Projects is still here despite being more visible under.

Notes: there is a strange difference between waiting a few days for a requests, and displaying for 3 months a guide. I understand they serve a different goal, but you'll have fresher data from our list of projects for example than any links in the current projects.rpf platform (maybe the new homepage ?). As well, the safeguarding module is a 10 minutes action that is going to be there.. for 3 months. You're unlikely to come back to it because of its simplicity (which is not the case of the guide, for example).
That's why overall, I'm pushing for a side-list of links for already-in mentors, it's because those resources are good as references, but aren't useful for 3 months or are already displayed in a better manner next to it (projects).  If this becomes an accepted solution, I would recommend changing the titles to something more neutral, such as "Our projects website" or "Discover more projects".

For not defined how we identify that case, we don't know he wants to volunteer without requesting it in the first place  Should have clarified that should generally just be the default message for all users that have 0 actions done and haven't created a lead or anything.
Fair enough on the 3 months. It's always an arbitrary choice. It can be 30 days on the list of actions part. The 3 months is more for the pending applications part so we can split the pending and the list. If for state 3 you want to push the list into the side no problem, I will survive (but genuinely no problem there, the first two states by far the most important for this ticket).

So, the way forward can be seen in 2 ways:

migrate endpoints to v3 for join_requests, stick to the current db structure
migrate endpoints to v3 for join_requests, change the db structure to reflect its nature

The second point means migrating the join_requests from the user profile and the user db to the cd_usersdojos (club membership) table from the dojo db. However, this impact retro-compatibility in 2 ways:

selecting from the cd_usersdojos table would need to exclude those join_requests, which is used by the Seneca services
Current front-facing interfaces making use of the current table (such as the manage-users "accept/decline" interface) needs to be redone in the process, on top of the solution 1).
I expect the length of solution 2) to be the same as solution 1), which for a part of the system that have been hardly touched in 3 years, overly expensive.
Now, we can go the "efficient but with technically wrong" solution (1) or "technically pure but way more work" (2)
Thoughts @ArayB @nyashamaphosa ?

At some point we are going to have to pay off this tech debt and start making these changes to db schema/ re-organising of services.
Do you have any estimates for how long each solution would take? You say the length of solution is the same, but then that one is way more work so I'm a little confused.
If we go with the efficient solution and leave the db as it is what is the outcome, the services are harder to reason about because the same or very similar functionality is in different services?
If we don't move things now, under what circumstances to we ever take the decision to move something.

Sorry, by "the same", I meant to say that the length of doing 2) is as long as twice 1), due to the dependencies of the front-end to that API. That would force us to deprecate that part of the v2 API since the back-end would be different; and hence requiring either a rework of the front by either using the new API despite being in the ng1 version; or a total rework of the page in vueJs.
If we go with the efficient solution (1), it means the data is not part of the db I would expect to be in (the dojo db) and hence the logic will belong to a service I would not expect to be in (in this scenario, the logic will need to be in the user-service instead of the expected club-service).
As well, in solution 1) the process would not be replicated, but will coexist with the v2 version as they rely on the same data structure and db. That means that some interfaces will make use of the v3 API (request to join as, booking process which makes people join as parent/attendee), and others will use the v2 (champion's display for managing requests likely).
If we don't move now due to the size of the task, I would ensure that every interfaces making use of that entity have been rewritten. At that point, only the first bullet point (selecting from the cd_usersdojos table..) will be the issue, which isn't that big (probably 1 day writing, 1 day testing) by itself.
The reason for solution 1) are to avoid trying to solve 2 very different and large issues at a time (Seneca deprecation AND schema being a bit all over the place) while solution 2) is about getting it right (once and for all until something else happens) whatever the cost.

For 2nd and 3rd state, should we filter the requests to join created after a certain date? I'd like to avoid a weird experience with requests to join which are 3 years old.
@conoramurphy

The "3 months" hiding point should cover that no? This is only relevant for the first 3 months.

It can be 30 days on the list of actions part. The 3 months is more for the pending applications part so we can split the pending and the list.

Fair point, sorry.

Np, a lot of content in this thread.


remove old tool-group functionality from the categorization page

For this first release we will remove the annotation-tool-group workflow again. It will be re-implemented using a different UI. To make sure our tests still pass, we need to remove the functionality for annotation-tool-group markup in the categorization and annotation components.

Old tool group functionality was removed in https://github.com/neurobagel/annotation_tool/pull/233/commits/75cff0e6505073a31d345078b4b7f668ab45ed9c


Godot 4.0  Can not find 'ICD' object in ICD JSON

Godot version:
Godot Engine v4.0.dev.custom_build.794a56b1c March 2
OS/device including version:
Ubuntu 18.04
Issue description:
When starting an application the following error occurs:
ERROR: WARNING : GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
loader_icd_scan: Can not find 'ICD' object in ICD JSON file /usr/share/vulkan/icd.d/nvidia_layers.json.  Skipping ICD JSON
Objects - 1
Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle 137194512
at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:142)
Steps to reproduce:
1: Compile
2: Run
The problem seems to be that the loading algorithm expects the ICD object in the nvidia_layers.json file; however, on my machine, the ICD object is in a seperate file: nvidia_icd.json.
I don't know if that is standard or not.. or what the remediation strategy is, but I though someone should know.
Here Is my local nvidia_layers.json file:
{
    "file_format_version" : "1.0.0",
    "layer": {
        "name": "VK_LAYER_NV_optimus",
        "type": "INSTANCE",
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.1.109",
        "implementation_version" : "1",
        "description" : "NVIDIA Optimus layer",
        "functions": {
            "vkGetInstanceProcAddr": "vk_optimusGetInstanceProcAddr",
            "vkGetDeviceProcAddr": "vk_optimusGetDeviceProcAddr"
        },
        "enable_environment": {
            "__NV_PRIME_RENDER_OFFLOAD": "1"
        },
        "disable_environment": {
            "DISABLE_LAYER_NV_OPTIMUS_1": ""
        }
    }
}

Here is my nvidia_icd_json file:
{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.1.109"
    }
}

Can provide more info if needed.

It seems to be done on purpose by the Vulkan-Loader library: https://github.com/KhronosGroup/Vulkan-Loader/blob/master/loader/loader.c#L4417-L4420
I assume that it still works fine regardless of that warning? After skipping nvidia_layers.json, it should parse and succeed loading nvidia_icd.json.
I don't know if it's standard for Ubuntu to put nvidia_layers.json in /usr/share/vulkan/icd.d/, which as the name indicates, is meant for ICDs. I suspect that's a packaging bug on their end.

I don't know if it's standard for Ubuntu to put nvidia_layers.json in /usr/share/vulkan/icd.d/, which as the name indicates, is meant for ICDs. I suspect that's a packaging bug on their end.

Yeah it should likely go either in /usr/share/vulkan/explicit_layer.d or /usr/share/vulkan/implicit_layer.d.
I would advise filing a bug report against Ubuntu's nvidia drivers packaging. This is not a Godot bug so I'll close it, but feel free to reference this issue in the Ubuntu bug report.

#36792 should make it appear as a yellow warning instead of a red error now.


Question about experiment results

Hello, thank you for your excellent work. I'm sorry to bother you again.
The caption of Table 3 in your paper is about "LDM-8 on ImageNet 256x256", but I notice that the  result of PTQD method in Table 3 is almost the same with PTQD's result on model LDM-4. So I want to figure out which model you quantized, LDM-4 or LDM-8.
Thanks a lot!

Yes，it is LDM-4.


Update message-deferral.md

Modify the Java API wording and links.

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


Update default folder when Creating a new bot

Version
cd1cc71f (from Master 10/30/2019)
Describe the bug
When creating a new bot, use a dedicated folder that is outside of Composer repo. The default project folder for new bots should not be MyBots under Composer.

For windows use %userprofile%\Documents\Composer\

create the folder if doesn't exists

For Mac it should be in /user/documents/composer

create the folder if doesn't exists

addressed in https://github.com/microsoft/BotFramework-Composer/pull/1548


Various notebooks issues

@pl-marasco @acocac
In a new environment with Python 3.10 and latest xarray 2023.9.0 (probably something changed recently) I'm getting this kind of errors in various notebooks:
import xarray as xr

catalogue="https://object-store.cloud.muni.cz/swift/v1/foss4g-catalogue/c_gls_NDVI-LTS_1999-2019.json"
LTS = xr.open_mfdataset(
    "reference://", engine="zarr",
    backend_kwargs={
        "storage_options": {
            "fo":catalogue
                    },
        "consolidated": False
    }
)
LTS

Error:
File ~/anaconda3/envs/stac_310/lib/python3.10/site-packages/zarr/storage.py:1382, in FSStore.__init__(self, url, normalize_keys, key_separator, mode, exceptions, dimension_separator, fs, check, create, missing_exceptions, **storage_options)
   1380 else:
   1381     if storage_options:
-> 1382         raise ValueError("Cannot specify both fs and storage_options")
   1383     self.fs = fs
   1384     self.path = self.fs._strip_protocol(url)

ValueError: Cannot specify both fs and storage_options

In the xarray_hands_on notebook, I'm getting this error:
DriverError: '/vsizip/vsicurl/https://mars.jrc.ec.europa.eu/asap/files/gaul1_asap.zip' does not exist in the file system, and is not recognized as a supported dataset name.
Not sure if it's due to my environment.

In the wildfires notebook there's an issue with the used SATC Catalog from Element84, since the v0 is no more updated.
# prefire data
time_range = "2021-08-10/2021-08-16"

query1 = catalog.search(
    collections=["sentinel-s2-l2a-cogs"], datetime=time_range, limit=100,
    bbox=bbox, query={"eo:cloud_cover": {"lt": 0.5}},
)

items = list(query1.get_items())
print(f"Found: {len(items):d} datasets")

items_pre = min(items, key=lambda item: item.properties["eo:cloud_cover"])

prefire_ds = stac_load(
    [items_pre],
    bands=("B08", "B12"),
    crs=crs,
    resolution=10 * zoom,
    chunks={},  # <-- use Dask
    groupby="datetime",
    bbox=bbox,
)

returns:
DoesNotConformTo: Server does not conform to ITEM_SEARCH, There is not fallback option available for search.
We need to switch to this one:
catalog = Client.open("https://earth-search.aws.element84.com/v1")
with this collection
query1 = catalog.search(
    collections=["sentinel-2-l2a"], datetime=time_range, limit=100,
    bbox=bbox, query={"eo:cloud_cover": {"lt": 0.5}},
)

band names are also different:
    bands=("nir", "swir22"),

In the xarray_hands_on notebook, I'm getting this error: DriverError: '/vsizip/vsicurl/https://mars.jrc.ec.europa.eu/asap/files/gaul1_asap.zip' does not exist in the file system, and is not recognized as a supported dataset name.
Not sure if it's due to my environment.

most probably it's related to a ban inside the ec. I'll find another source

Splitted in multiple issues #7, #8 #9
the initial one has been fix through the #9


Get/Set BindingContext value from ContentView

Hi,
I have a CarouselView configurated in this way:
_AggiungiRigaWOViewModel = new AggiungiRigaWOViewModel(_WoSelezionato);
CarouselView.Position = 0;
CarouselView.ItemsSource = new ObservableCollection<DataTemplate>() { /
            new DataTemplate(() => { return new AggiungiRigaWOData(); }),
            new DataTemplate(() => { return new AggiungiRigaWOViaggioAndata(); })
        };
        CarouselView.BindingContext = _AggiungiRigaWOViewModel.WoSel;

Then, in the first page, i need to create dynamically some views like this:
public AggiungiRigaWOData() {
        InitializeComponent();

        DatePicker Dpicker = new DatePicker() {
            VerticalOptions = LayoutOptions.CenterAndExpand,
            HorizontalOptions = LayoutOptions.FillAndExpand,
        };

        Dpicker.SetBinding(DatePicker.DateProperty, "dt_inizioIntervento"); // dt_inizioIntervento is a property of _AggiungiRigaWOViewModel.WoSel
        StackLay.Children.Add(Dpicker, 0, 1);
[...]

Then I would like to make a button that get all values of the bindingContext to see what is changed.
How can I do this?
Thank you! :)
EDIT: here a zip with full project

The button will be located inside one (or more) of ContentView inside the main CarouselView.

To make it work use a List or ObservableCollection as CarouselView ItemsSource. The list will include the objects or ViewModel you want to use as BindingContext of each View in the Carousel. Then you use a TemplateSelector to return the View you want on each position. The Carousel internally will assign BindingContext. Later you can see what changed just checking CarouselView.ItemsSource.


[QA] public links allow upload when expired and viewer only

tested with

ocis-1.0.0-rc1 via https://github.com/owncloud-docker/compose-playground/blob/master/examples/hetzner-deploy/make_ocis_eos_compose_test.sh
firefox on an ubuntu desktop

Version details ocis-1.0.0-rc1

OCIS_VERSION:         v1.0.0-rc1
ocis --version:       ocis version 199267c^M
git log:              commit 199267c13e916aa8de027a81dbf6733af820369f (HEAD, tag: refs/tags/v1.0.0-rc1)
eos --version:        EOS 4.6.5 (2019)^M
xrootd -v:            v4.11.0^M
bin/ocis contains:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

User einstein creates a pubic link on folder init.
The link is expired 9 hours ago, when freshly created.

The link works and allows upload into the folder.
Expected behaviour: expiry in future, viewer cannot upload.

permissions are not enforced yet, tracked here: https://github.com/owncloud/ocis-reva/issues/292 and https://jira.owncloud.com/browse/OCIS-172

This ticket is about two different issues. Closing this issue in favour of https://github.com/owncloud/ocis/issues/1029 and https://github.com/owncloud/ocis/issues/372


Node Functions App Deploy fails - Internal Server Error (CODE: 500)

Created a new Azure Function App today on Windows using a consumption plan and am using Azure/functions-action@v1 in our GH action to deploy a nodejs app (12.x). The first deploy worked just fine. We were able to test the deployed function and it was working. We are using WEBSITE_RUN_FROM_PACKAGE = 1 in our application settings.
However, any subsequent deployment attempt fails.

Deployment Center Logs produce a single entry "failed" that doesn't provide any other detail about why this fails.
GH Action Yaml (pretty much a straight up copy of the example):
env:
  AZURE_FUNCTIONAPP_NAME: LegacyBuildTest    # set this to your application's name
  AZURE_FUNCTIONAPP_PACKAGE_PATH: '.'      # set this to the path to your web app project, defaults to the repository root
  NODE_VERSION: '12.x'                     # set this to the node version to use (supports 8.x, 10.x, 12.x)
  NODE_ENV: development

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: 'Checkout GitHub Action'
      uses: actions/checkout@master

    - name: Setup Node ${{ env.NODE_VERSION }} Environment
      uses: actions/setup-node@v1
      with:
        node-version: ${{ env.NODE_VERSION }}

    - name: 'Resolve Project Dependencies Using Npm'
      shell: bash
      run: |
        pushd './${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}'
        npm install
        npm run build-prod --if-present
        npm run test --if-present
        popd
    - name: Azure Functions Action
      uses: Azure/functions-action@v1
      with:
        app-name: ${{ env.AZURE_FUNCTIONAPP_NAME }}
        package: ${{ env.AZURE_FUNCTIONAPP_PACKAGE_PATH }}
        publish-profile: ${{ secrets.AZURE_FUNCTIONAPP_BUILDTEST_PUBLISH_PROFILE }}

Function App Id: 32a72a36-92de-42aa-971f-c01e91608d8d
Operation System: Windows
Runtime Version: <IP_ADDRESS>

Hi @ryanfollmer, I'm looking into this issue and have few questions to start. Is this an on-going issue or one-time occurrence? What was the time period between the 2 deployments? Did you try to redeploy?

@patelchandni This is an on-going issue unfortunately.
The time period between the 1st and 2nd deployments was approx 2 hours.
We did try to deploy again a few hours after the 2nd deploy and it still failed with the same 500 error.
We're able to deploy using Azure extensions in VS Code. But we're unable to do that with our CD process in GitHub Actions.

@ryanfollmer I noticed you said it's a Windows on consumption plan, but in the template it declares "runs-on: ubuntu-latest" i.e. Linux. Please clarify whether the function app is on Windows or Linux?

@patelchandni Yes, the function app is running on Windows in Azure.

@ryanfollmer please update your template accordingly. Here are examples for Function app on Windows: https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-github-actions?tabs=javascript#deploy-the-function-app


Sheet wont show/open

Describe the bug
For some reason when i try to create a merchant I can't open that actor. Seems like its trying to access game.users.players. But the player object is empty.
in the prepareGMSettings function
row 351: const actor = g.actors.get(player.character.id);
To Reproduce
Just create a actor NPC and change sheet to Merchant NPC
I can then reproduce the bug by clicking the NPC in the Actor list.
Expected behavior
To see the sheet
Screenshots

Desktop (please complete the following information):

Browser [e.g. chrome, safari]
Chrome

Any progress on this? It is certain that it does NOT work, at least not on actors who are not linked to a specific actor.

I agree, it still does not work.


Graph Editor: Mouse UI action orbits camera in render view

When the scrollbar appears in the property editor, grabbing it with the mouse to scroll and dragging the scrollbar up next to the render view, treats it as a mouse drag in the render view and orbits the camera.
Using the File menu and clicking a menu option and dragging the mouse also does the same and orbits the camera as it is over the render view.

There are bunch of UI items here. I think your case  is similar to another item mentioned.

Hi! I would like to tackle this issue for the ASWF Dev Days 2024.

While working on this issue I also noticed another case of unintentional camera orbiting. The previous logic to detect the cursor in the render view did not consider that the render view moves up when scrolling. As a result, the camera would
still orbit when clicking parts of the Node Property Editor that were previously occupied by the render view. I added a fix for this behaviour as well in my changes for this ticket (PR will be out soon).

Thanks to @HardCoreCodin for this original report, and to @LeaRe for the fix in #2032!


[info] LICENSE for logo

I'm the maintainer of uvw. I'd like to create a simple logo for the project and add it to the README. The idea was to create it out of the one of libuv.
Because of that I want to know exactly what license is applied to the logo, the MIT one or the CC BY 4.0 license?
In other terms, can I freely use the unicorn velociraptor for that? If yes, have you any preference regarding the logo?
Note that my sole purpose is to recall to the mind that libuv is the engine that runs under the hood. If you prefer not to have your logo used in another project, there are no problems. I can do it differently.
I'm looking forward to having a feedback from you. Thank you in any case.

Given It's not code I'd say CC-BY-4.0. Since @indutny and I were involved in the logo, WDYT Fedor?

I agree.

So far so good. I can use it because of the license and I know what are the terms now.
Is there any problem if I do that? I mean, I can use the logo of libuv, but if you don't agree I can do it differently.
Do I have your approval?

@skypjack As long as it doesn't violate [license][https://creativecommons.org/licenses/by/4.0/] - I don't see any problem with this.

It sounds good. Then I'll be back when published to check with you if it violates the license.
Thank you very much.

If you haven't comments to add, we can close the issue.

Thanks for asking, much appreciated!


coder: 2.9.3 -> 2.9.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for coder is: Provision remote development environments via Terraform
meta.homepage for coder is: https://coder.com
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.9.4 with grep in /nix/store/g71k1fn6c2ib73l7l8w5h3f7sn3kbdhg-coder-2.9.4
found 2.9.4 in filename of file in /nix/store/g71k1fn6c2ib73l7l8w5h3f7sn3kbdhg-coder-2.9.4

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

coder

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/g71k1fn6c2ib73l7l8w5h3f7sn3kbdhg-coder-2.9.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A coder https://github.com/r-ryantm/nixpkgs/archive/ac5acaaf9c57dccd5646860be655351452006d3f.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ac5acaaf9c57dccd5646860be655351452006d3f#coder

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/g71k1fn6c2ib73l7l8w5h3f7sn3kbdhg-coder-2.9.4
ls -la /nix/store/g71k1fn6c2ib73l7l8w5h3f7sn3kbdhg-coder-2.9.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

coder

Maintainer pings
cc @ghuntley @kylecarbs @urandom2 for testing.

@marcusramberg yeah, for Nix we should just pin to a version of PostgreSQL then execute the binaries manually. I'll look into it.


GUI client dashboard and create client

updated the new GUI work.
What I did:

Made the client window connect with clients.jsonl, it shows the clients right now
Built the Ceate Client new window, and it successfully save the new record into the clients.jsonl
Close the new window without saving any record when you press the "Close" button

Something might be taken care for Tzelepidou, Maria Hui, Yau Kam :
When the new client has been created the id and type goes to the last order. It seems ok when running the main.py

Great work, there's some minor bugs like the window doesn't close when we click "confirm" on update and the table doesn't refresh after a customer update but we can fix those in subsequent pull requests.


Suggestion: Gran Turismo 1 PAL

This one's likely to be somewhat nasty as it requires a save which unpacks to 16 sectors, so you have to loop the last physical sector of the save onto itself... and it makes it somewhat impossible to deal with in the PS1 BIOS shell. It's probably best to deploy this on a microcontroller rather than a regular PS1 memory card.
I think I found this one in 2019, so it's going to take a while for me to piece this together. Also please let me know if any of this is wrong.
The kind of save file I use for this is a car settings save. For PAL this is "BESCES-00984CS".
The method I use to activate the payload if I recall correctly:

Enter Gran Turismo mode.
Buy a used car.
Go Race -> Time Trial -> any track will do but Autumn Ring Mini is probably the fastest... but it doesn't matter because it takes a loooooong time to load a 16-sector save.
Load your car settings.
Eventually you will hear a buzz sound effect indicating that your settings failed to load correctly... and your payload should run.

So let's bring up some pointers from my notes I had to hunt down.

0x801D2E2C: Start of where the memory card save buffer is in RAM. This is your overall load address.
0x801F22D8: Function pointer. When the save inevitably fails its CRC check, it jumps to whereever this points to.

This means you need your pointer at 0x1F4AC bytes into the save, or 0x14AC bytes into the last sector of your 16-sector save which you have looping back onto itself.
NTSC-U should have something similar.

Hello. Sorry for the delay but these last day I've been too busy crunching to fix the bugs and quirks that were present in the code base.
Regarding that game, if it requires something so complex I'm not sure if it'd be IMO worth supporting. The key features of the other games is that you don't need any ability with electronics, just an average knowledge about console hacking. If this game requires a microcontroller, my opinion is that at that point you might as well chip the console.
With that said, I'll try to check how feasible is to exploit this game as soon as I'm done with the backlog of other games. This is one that could be really interesting to do so since according to Wikipedia it's the PS1 that sold the most.
Marcos

Go Race -> Time Trial -> any track will do but Autumn Ring Mini is probably the fastest... but it doesn't matter because it takes a loooooong time to load a 16-sector save.

For this step, you can also use Machine Test -> 0-400 since it's way shorter and thus faster.

Since this is too convoluted and there are enough games already I'm closing it.


Add ok status to KernelInfo replies. Fixes #398

This should solve the syntax highlighting issues described in #398.

@sbrunk Don’t hesitate to tag a release after that, and then check if the release runs fine on Travis.


Generate WHLSL module via node/rollup in rollup_browser/whlsl.js

Hi, this adds support for node/rollup and can be executed via npm run-script rollup
The standalone file rollup_browser/whlsl.js is currently 1.56MB in size and exports a simple WHLSL module, which then contains all the classes, as seen in this image:

When Source/Test.js is excluded, the standalone file shrinks to around 1MB (still containing all comments, so it's also quite nice to see all code in one place for quick debugging).

@kungfooman ouch - sorry I didn't see this sooner.
Let's see if it still applies after my recent changes.

Just some minor changes for file renames: https://gist.github.com/grorg/36d8bd6efd7f70b5a09788c06b609c3a
I also added the Source/spirv/SPIRV.mjs file


Traccar API on 3.3

Hi,
Great work on this new release. I can see a lot of  bugs relating to my NoranProtocol device have been fixed. I however need to understand how to use the new API. I can't seem to call from my Rest Clients anymore, Also I cannot seem to login. Any help will be appreciated.

The API has changed. I am working on the documentation for it.

Hi,
Do we have any updates on this now, as we really need to reinstate our API connection.
Any rough ideas will be of help.

I have create a swagger file that you can use as a documentation for the new API. Here you can find more details and reference to the file:
https://www.traccar.org/traccar-api/

Thanks. I however get permission denied when I use /api/positions
/api/session shows a session has been created and I should have access.

Are you using the cookie returned with session request?

No, I am not. I tried using it, and I still get the same error
{
"details": "Device access denied - SecurityException (PermissionsManager:89 < PositionResource:41 < ...)"
"message": "Device access denied"
}

Now it looks like the user doesn't have access to the device.

But I do, from traccar web client, I can see the device

Can I see the request that you are sending?

GET http:///api/positions
deviceId: 10
JSESSIONID: 1uzpbi1j736ry1c2jrtafbqygq

Try to get devices and see if user has access to this particular device. Also, you are missing other parameters (from and to timestamps).

Yes, when I ran /api/devices, I got: a list of devices including this:
3:  {
"id": 10
"name": "Fuel Level Pico"
"uniqueId": "NR09G13609"
"status": "online"
"lastUpdate": "2016-01-12T08:10Z"
"positionId": 84396
"dataId": 0
}

It doesn't looks like you are using version 3.3.

I have 3.3 installed, checked the db changelog, The latest file there is 3.3

Version 3.3 doesn't have dataId parameter for devices.

How can I confirm the version of traccar installed, apart from what I did there?
I'm certain I did a clean install of 3.3

OK, I was wrong. The dataId field was there, but it wasn't used.
I would recommend to look at what requests default web interface sends and compare it to your ones.

Can I connect with websocket? How should I do it?

You need to create a user session first using regular AP. After that you can connection to the WebSocket (/api/socket).

Here's my request monitored:

Have you trie to compare it with Traccar web interface requests? There must something missing.

How can I get what the web interface is sending out?

You can use browser developer tools.

How I can get ALL positions? Using GET http://myserver/api/positions without any parameters (as said in API docs) doesn't work - I get positions, but not all. Found it when try find position from event reference (by positionId), so can't find that position in positions previously fetched from server (there must be ALL), but found it on server by id.

@zzheads, are you asking of ALL position from the database? Obviously there is no API for that. You can only get all latest positions for your devices.

What means latest? For what period of time? Position I was unable to find was recent.

Latest means latest for each device. No period of time.

1 position for each device?

Yes.

Thanks

Hi @tananaev
I was trying to fetch latest positions of devices, as per the documentation I used /positions without any parameters but I get 400 response code with error NullPointerException (... < DateUtil:64 < PositionResource:80 < ...).
I even tried adding id as positionId which I get from /devices api but same error. Any change in documentation or APIs?
I am on 3.14-SNAPSHOT

Nevermind, found the issue.
One needs to add Accept header else it throws the above error. I believe the error message should be more relevant in this case, shouldn't it?
Anyway, credits to this post and your comment there.
Hope it will help others who stumble upon here while googling.. :)


web browser build example works on OSX but fails with linux x86

examples/web works on mac, but on ubuntu linux (x86 on an x1 nano), the adapter request fails (TODO(avh): check error code):
Hello gpu.cpp!
--------------

[info] Requesting adapter
[error] Error in file ../../gpu.h line 704:
Request WebGPU adapter
program exited (with status: 1), but keepRuntimeAlive() is set (counter=0) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)

Resolved.
The issue is WebGPU wasn't enabled on linux chrome. Resolution required two steps:

Enable WebGPU support under chrome://flags/ - be sure to review and understand security considerations described in the flag description and keep chrome up to date
Launch chrome with Vulkan enabled. From the command line, launch chrome with google-chrome --enable-features=Vulkan

In the medium term once webgpu chrome support is stabilized across all platforms these issues shouldn't come up at all, but for the time being I've added error message breadcrumbs for browser builds behind an #ifdef EMSCRIPTEN flag when adapter request fails with these two steps in commit 24caba0221f624441eb6f3e9bc3063083eaf3237


remove guava dependency

quite often there are CVE that prevent jgitver to be deployed due to guava.
The lib is mainly used for directory/file manipulation in tests. It should be quite easy to replace with pure JRE stuff.

duplicate with #118 (github is buggy tonight !)

duplicate with #118 (github is buggy tonight !)


When one embed field value is set null it results in an errror

General Troubleshooting

[X] I have checked for similar issues on the Issue-tracker.
[X] I have updated to the latest JDA version
[X] I have checked the branches or the maintainers' PRs for upcoming bug fixes.

Expected Behaviour
Not to give an error as both values are marked as Nullable.
This can be shown here

Code Example for Reproduction Steps
EmbedBuilder builder = new EmbedBuilder()
                       .addField("one", null)
                       .build();

Code for JDABuilder or DefaultShardManagerBuilder used
Someone else code

Exception or Error
java.lang.IlligalArgumentException: Both name and value must be set!

If this error is valid can I make a pr on it.

Both name & value have to be set, or neither
There's no name OR value possible, pretty sure this is intentional

Then why are they Nullable

If you want have Nullable just have addfield() and addfield(NotNull name, Notnull value)

so this problem does not occour.

Read what I said.
Either BOTH the name AND value are set
OR
The name and value are NOT set
You CANNOT have the name OR value

Since this confusion has come up multiple times now, I think we can just make them non-null only. The case of having both null doesn't really do anything in the first place.

ok, can i be assigned for this.


WIP: Refactor Client and ClientWrapper to use Observables directly

Pull Request Test Coverage Report for Build 123

49 of 49 (100.0%) changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 94.764%

Totals

Change from base Build 122:
0.04%

Covered Lines:
263

Relevant Lines:
267

💛  - Coveralls

Pull Request Test Coverage Report for Build 123

49 of 49 (100.0%) changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 94.764%

Totals

Change from base Build 122:
0.04%

Covered Lines:
263

Relevant Lines:
267

💛  - Coveralls


∆ṁ - Median

Median of a list of numbers - center when sorted, or average of two in center if even length


Trigger recalculate cart

Start checkout
End checkout
View cart
More or less?

@lauraluiz Recalculation is also done when merging carts such as an anonymous cart with a custom cart, and @idamia can probably give you a good insight on other use cases when to recalculate.
https://dev.commercetools.com/http-api-projects-carts.html#recalculate

If necessary, only at the very end before the order creation can be called.

A product discount will only appear in the cart's products once an operation is applied (e.g. increasing quantity). Until then, no discount appears.


Rename package.json scripts

:sparkles: Enhancement
Remove the ':' character from script names. They were denoting both a namespace (e.g. build:src, build:dts) and a switch (e.g. build:watch). This causes scripts to become difficult to find.
Now we use - for namespacing, and -- for switches, eg: build-src, build-dts, build--watch
BREAKING CHANGE: Scripts renamed to new namespace / switching rules.

:white_check_mark: Checklist

[x] Following CODE_OF_CONDUCT.md.
[x] Checked for duplicate pull requests
[x] Title is a summary of the change, in present tense, ideally < 50 characters
[x] Pulling from a branch (right side), not master.
[x] Pulling into master branch (left side).
[x] Fixing a bug? An open bug report exists.
[x] Breaking API changes? Migration notes attached.
[x] Changed relevant files in templates directory.
[x] Updated examples: npm run build:examples.
[x] Ready for review

:tada: This PR is included in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add manifest file for webapp configs

Closed in https://github.com/GDGND/gdgnd.github.io/commit/f15608fc6bf0d511021663788666f84b0daa7c0e


MaterialRichText ignores material3 environment

Dark mode colours and styles are ignored in MaterialRichText version 0.11.0, becasue it does not use the material3 packages.
(note 0.12.0 is out but has broken dependencies).

Here is the code to use with Material 3. This should be in its own module, so that it doesn't pull in the material 2 dependencies.
package com.halilibo.richtext.ui.material

import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.ProvideTextStyle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.compositionLocalOf
import androidx.compose.ui.Modifier
import com.halilibo.richtext.ui.RichText
import com.halilibo.richtext.ui.RichTextScope
import com.halilibo.richtext.ui.RichTextStyle
import com.halilibo.richtext.ui.RichTextThemeIntegration

/**
 * RichText implementation that integrates with Material 3 design.
 *
 * If the consumer app has small composition trees or only uses RichText in
 * a single place, it would be ideal to call this function instead of wrapping
 * everything under [SetupMaterial3RichText].
 */
@Composable
public fun Material3RichText(
  modifier: Modifier = Modifier,
  style: RichTextStyle? = null,
  children: @Composable RichTextScope.() -> Unit
) {
  SetupMaterial3RichText {
    RichText(
      modifier = modifier,
      style = style,
      children = children
    )
  }
}

/**
 * Wraps the given [child] with Material Theme integration for [RichText].
 *
 * This function also keeps track of the parent context by using CompositionLocals
 * to not apply Material Theming if it already exists in the current composition.
 *
 * If the whole application is written in Compose or contains large Compose trees,
 * it would be ideal to call this function right after applying the Material Theme.
 * Then, calling [Material3RichText] or [RichText] would have no difference.
 */
@Composable
public fun SetupMaterial3RichText(
  child: @Composable () -> Unit
) {
  val isApplied = LocalMaterialThemingApplied.current

  if (!isApplied) {
    RichTextThemeIntegration(
      textStyle = { LocalTextStyle.current },
      contentColor = { LocalContentColor.current },
      ProvideTextStyle = { textStyle, content ->
        ProvideTextStyle(textStyle, content)
      },
      ProvideContentColor = { color, content ->
        CompositionLocalProvider(LocalContentColor provides color) {
          content()
        }
      }
    ) {
      CompositionLocalProvider(LocalMaterialThemingApplied provides true) {
        child()
      }
    }
  } else {
    child()
  }
}

private val LocalMaterialThemingApplied = compositionLocalOf { false }

Unfortunately, there is something wrong with the project and I was not able to open it properly to generate a PR for you, so this will have to do.


Remove polyfills

Removes Map and setImmediate polyfills.

BREAKING CHANGE: groupBy requires a Map polyfill in older runtimes
BREAKING CHANGE: asap scheduling requires a Promise polyfill in older runtimes

Coverage decreased (-0.04%) to 97.223% when pulling 68ee4997c875ec0d2a4acdadf252d9ee685d8acf on benlesh:remove_polyfills into 0f3cf716154967ee0f3de555e40ffaac3fd64949 on ReactiveX:master.

Coverage decreased (-0.06%) to 97.204% when pulling 68ee4997c875ec0d2a4acdadf252d9ee685d8acf on benlesh:remove_polyfills into 0f3cf716154967ee0f3de555e40ffaac3fd64949 on ReactiveX:master.


Team-forming FAQ

We've had a question on the eventbrite about forming teams if you are coming on your own. I think this may be a common question so it might be worth adding it to the FAQ.

Would something along the lines of this be ok?:
Do I have to come with teammates?
There is a team-forming session at the start of the first day so feel free to come along on your own or with friends.


tmkms v0.2.2

Allow empty BlockIds in validation method (#131, #132)

Doing a release here isn't strictly necessary as all builds after a new point/debug release of the tendermint crate are published will always pick up the new version, however I think it's helpful to do a release that is guaranteed to contain the bugfixed version for communication purposes (so we can just tell people that v0.2.1 is suspect and v0.2.2 should work reliably)


[Master] release/v1.9.0 QA Sign-off

This PR is automatically created by CI to release a new official version of caver-js-ext-kas.
When this PR is approved by QA team, a new version will be released.

| caver-js-ext-kas v1.9.0 QA Result |
-- | -- | --
1 | ANCHOR |
  | Total Test Cases | 37
  | Newly Added | 0
  | PASS | 37
  | FAIL | 0
  | N/A | 0
2 | TH |
  | Total Test Cases | 156
  | Newly Added | 0
  | PASS | 146
  | FAIL | 0
  | N/A | 10
3 | NODE |
  | Total Test Cases | 5
  | Newly Added | 0
  | PASS | 5
  | FAIL | 0
  | N/A | 0
4 | KIP7 |
  | Total Test Cases | 66
  | Newly Added | 20
  | PASS | 66
  | FAIL | 0
  | N/A | 0
5 | KIP17 |
  | Total Test Cases | 83
  | Newly Added | 4
  | PASS | 81
  | FAIL | 0
  | N/A | 2
6 | KIP37 |
  | Total Test Cases | 76
  | Newly Added | 76
  | PASS | 76
  | FAIL | 0
  | N/A | 0
7 | WALLET |
  | Total Test Cases | 255
  | Newly Added | 15
  | PASS | 253
  | FAIL | 0
  | N/A | 2
8 | ETC |
  | Total Test Cases | 8
  | Newly Added | 0
  | PASS | 8
  | FAIL | 0
  | N/A | 0
9 | INT |
  | Total Test Cases | 321
  | Newly Added | 42
  | PASS | 318
  | FAIL | 0
  | N/A | 3


Rainbow flag components not joining in InDesign

Rainbow flag components not joining correctly in InDesign in imported test.txt file.
1F3F3 FE0F 200D 1F308

Rainbow flag components are joining in InDesign (version 16.2.1)


.NET Core / .NET Standard support for Windows-only environments

It's possible to use the HTTP Server API with ASP.NET Core projects, see https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-5.0&tabs=windows
Are there any plans to make this project available in .NET Core, perhaps by targeting .NET Standard 2.0? Does this project still need to support .NET Framework 2.0 (if so multi-targeting could be used)?

This library was designed for .Net Framework and I do not have any plans to port it to .net core.
But I appreciate any contribution to this project. Also feel free to build a new project on top of this one.

Similar to #14

Depending on the hosting model for ASP.NET Core, HTTP.sys may still be used (either directly or indirectly by IIS), so there may be value in porting this package over. To my knowledge Kestrel server doesn't use HTTP.sys, which is the recommend option for self-hosted apps. For the 4 possible hosting options, see https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-7.0&tabs=windows#hosting-models
There are .NET Standard/Core packages that are intended to be used solely on Windows, the biggest example being Microsoft.Windows.Compatibility. Moreover, it may be that including the compatibility package is enough to get this library working out the box with .NET Standard 2.0.
For some background, we currently use this project at application startup, binding a SSL certificate to a specific port before booting a self-hosted ASP.NET OWIN app that listens for HTTPs traffic. By default the OWIN implementation (Katana) uses HttpListener as its server (which uses HTTP.sys), when we migrate to ASP.NET Core we may still need this library for dynamically binding a SSL certificate (depending on the hosting model we choose).

In addition to that there is explicitly the concept of
if (OperatingSystem.IsWindows()) { ... }
and
[SupportedOSPlatform("windows")]
which are perfect for this library.
As the user mentioned before HHTP.sys is a real thing and this package make for a perfect companion. Also note that ignoring the .NET Framework warning makes for a working package under .NET 6 and 7 and most likely 8.
So making this a .NET 6 and soon .NET 8 package would be a perfect fit and a great upgrade.

@andy1547, @Mertsch . I have added .NET Core support in the dev branch. Can please check the version 2.0.0-beta and let me know if it does work for you?

We've integrated with the v2.0.0 package and can confirm it works as intended, thanks!


EPIC: Identify and adapt PostgreSQL content from help.aiven.io

The starting point for this is the sphinx-ready exported content in #15  The page title from that data set are used in the issues/PRs below, with the PR that already made use of the content indicated where it's been migrated (this will help with redirects later)

Getting started

Migrating data to Aiven for PostgreSQL #28
Migrating an existing PostgreSQL database to Aiven manually #28
Migrating to Aiven for PostgreSQL using Bucardo #297

Replication

High availability in Aiven for PostgreSQL #48
Setting up PostgreSQL logical replication #33
Using PostgreSQL read-only replicas #33
Aiven for PostgreSQL remote replica #33
Detecting and addressing inactive or lagging PostgreSQL replication slots #33
Failover proxy #33

Using and managing services

Basic PostgreSQL best practices #298
PostgreSQL superuser access #49
Built-in Aiven PostgreSQL Grafana dashboard #44
How PostgreSQL upgrades and failovers work #48
Perform a PostgreSQL major version upgrade #48
Implementing failover-resilient PostgreSQL applications #35
Idle connections #301
PostgreSQL connection limits #25
Backups #35

Extensions and integration

Supported PostgreSQL extensions #11
How to upgrade PostgreSQL extensions #11
Integrating Google Data Studio with Aiven for PostgreSQL #292
Getting started with TimescaleDB in Aiven for PostgreSQL #143
Using the pg_repack extension #295
Enable JIT in PostgreSQL 11 #299
Using the PostgreSQL dblink extension #294
Automated Debezium Kafka PostgreSQL test environment deployment #296

Troubleshooting

PostgreSQL transaction ID wraparound #302
Identifying and repairing issues with PostgreSQL indexes #303
Preventing PostgreSQL full disk issues #293
Handling pg_restore errors #35
Missing PostgreSQL Datadog Metrics #304
I imported my PostgreSQL database and I’m getting poor performance #291
Getting access to the PostgreSQL “public” schema #49
Terminating long-running queries #300
PostgreSQL initial disk usage #21
PostgreSQL connection pooling #25
Using TSL-licensed TimescaleDB features #143

[x] Connecting #21
[x] Getting started #29
[x] Migrating #28
[x] Connection pools #25
[x] Upgrades #32
[x] Replication #33
[x] Admin/internal features #34
[x] Backups #35
[x] Grafana #36
[x] TimescaleDB #143
[x] #291
[x] #292
[x] #293
[x] #294
[x] #295
[ ] #296
[x] #297
[x] #300
[x] #301
[x] #302
[x] #303
[x] #304

Migration phase complete


How to get the details of slicer and filter applied

As part of options, is there any way I can get the list of slicer and filters applied on the data? Do we have any utility for that?

Not at this point no. Visuals only receive the filtered dataView.


Fix Swift 6 concurrency error (on Linux)

This fixes a Swift 6 compile error (on Linux):
/host/Sources/CustomDump/Conformances/Foundation.swift:50:24: error: static property 'formatter' is not concurrency-safe because non-'Sendable' type 'DateFormatter' may have shared mutable state
 48 |     }
 49 |
 50 |     private static let formatter: DateFormatter = {
    |                        `- error: static property 'formatter' is not concurrency-safe because non-'Sendable' type 'DateFormatter' may have shared mutable state
 51 |       let formatter = DateFormatter()
 52 |       formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSXXXXX"

See also: https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/issues/3115#issuecomment-2153037172

I believe this fix might be superfluous thanks to the new Swift Foundation:
❯ docker pull swiftlang/swift:nightly-6.0-jammy
nightly-6.0-jammy: Pulling from swiftlang/swift
4ce000a43472: Already exists
2f93d687a70b: Pull complete
4f4fb700ef54: Pull complete
989dc8e70c12: Pull complete
04d2dc059ad6: Pull complete
9cc74bbadbae: Pull complete
Digest: sha256:046fec375e24ecf96a1ed9794e01045bcf8a86fb465e374536230e0b266b7551
Status: Downloaded newer image for swiftlang/swift:nightly-6.0-jammy
docker.io/swiftlang/swift:nightly-6.0-jammy

What's next:
    View a summary of image vulnerabilities and recommendations → docker scout quickview swiftlang/swift:nightly-6.0-jammy
~/D/swift-custom-dump on main took 1m37s
❯ dsh swiftlang/swift@sha256:046fec375e24ecf96a1ed9794e01045bcf8a86fb465e374536230e0b266b7551
# bash
################################################################
#                                                              #
# Swift Nightly Docker Image                                   #
# Tag: swift-6.0-DEVELOPMENT-SNAPSHOT-2024-08-01-a             #
#                                                              #
################################################################
root@docker-desktop:/host# swift build
warning: 'xctest-dynamic-overlay': /host/.build/checkouts/xctest-dynamic-overlay/Package@swift-6.0.swift:5:15: warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
 3 | import PackageDescription
 4 |
 5 | let package = Package(
   |               |- warning: 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageVersions:cLanguageStandard:cxxLanguageStandard:)' is deprecated: replaced by 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)'
   |               `- note: use 'init(name:defaultLocalization:platforms:pkgConfig:providers:products:dependencies:targets:swiftLanguageModes:cLanguageStandard:cxxLanguageStandard:)' instead
 6 |   name: "xctest-dynamic-overlay",
 7 |   platforms: [
Building for debugging...
[56/56] Compiling CustomDump UserNotificationsUI.swift
Build complete! (3.08s)
root@docker-desktop:/host#
root@docker-desktop:/host# git rev-parse @
aec6a73f5c1dc1f1be4f61888094b95cf995d973

(dsh == docker run --rm -it -v $PWD:/host -w /host --network="host" --entrypoint sh $argv;)

Using the computed value should definitely be safer though, as I'm not sure if Johannes advices changes with the new Foundation.

Yeah I think it's probably harmless to have a computed var here given this is a debug tool.


Validation issues on address_from on unused tracking numbers

I have a validation error that occurs on tracking numbers that have not been used yet. For some reason, I have this occurring on two different types of responses. It is unclear if these errors are related to errors in the input when the tracking number was created, or if this is a case the API doesn't handle correctly.
Example 1:
{
    "name": "SDKValidationError",
    "cause": {
        "issues": [
            {
                "code": "invalid_type",
                "expected": "object",
                "received": "undefined",
                "path": [
                    "address_from"
                ],
                "message": "Required"
            }
        ],
        "name": "ZodError"
    },
    "rawValue": {
        "tracking_number": "<REDACTED>",
        "carrier": "fedex",
        "servicelevel": {
            "name": "Home Delivery®",
            "token": "fedex_home_delivery"
        },
        "address_to": {
            "city": "Fairfax",
            "state": "VA",
            "zip": "",
            "country": "US"
        },
        "test": false,
        "tracking_status": {
            "status_date": "2024-02-27T17:35:00Z",
            "status_details": "Shipment information sent to FedEx",
            "location": {
                "city": "",
                "state": "",
                "zip": "92879",
                "country": "US"
            },
            "substatus": {
                "code": "information_received",
                "text": "Information about the package received.",
                "action_required": false
            },
            "object_created": "2024-05-06T12:59:44.862Z",
            "object_updated": "2024-05-06T12:59:44.862Z",
            "object_id": "<REDACTED>",
            "status": "PRE_TRANSIT"
        },
        "tracking_history": [
            {
                "status_date": "2024-02-27T17:35:00Z",
                "status_details": "Shipment information sent to FedEx",
                "location": {
                    "city": "",
                    "state": "",
                    "zip": "92879",
                    "country": "US"
                },
                "substatus": {
                    "code": "information_received",
                    "text": "Information about the package received.",
                    "action_required": false
                },
                "object_created": "2024-05-06T12:59:44.862Z",
                "object_updated": "2024-05-06T12:59:44.862Z",
                "object_id": "<REDACTED>",
                "status": "PRE_TRANSIT"
            }
        ],
        "messages": []
    }
}

As you can see, on the values above, the address_to is set, but lacking a zip entirely. There is no address_from, but the pre-transit information shows a location that does not have a city or state, but does have a zip and country (which are not the same as the address_to.
Example 2:
{
    "name": "SDKValidationError",
    "cause": {
        "issues": [
            {
                "code": "invalid_type",
                "expected": "object",
                "received": "undefined",
                "path": [
                    "address_from"
                ],
                "message": "Required"
            }
        ],
        "name": "ZodError"
    },
    "rawValue": {
        "tracking_number": "<REDACTED>",
        "carrier": "fedex",
        "servicelevel": {
            "name": "SmartPost®",
            "token": "fedex_smart_post"
        },
        "address_to": {
            "city": "Hawthorne",
            "state": "CA",
            "zip": "",
            "country": "US"
        },
        "test": false,
        "tracking_status": {
            "status_date": "2023-10-10T03:19:00Z",
            "status_details": "Arrived at FedEx location",
            "location": {
                "city": "Bloomington",
                "state": "CA",
                "zip": "92316",
                "country": "US"
            },
            "substatus": {
                "code": "package_arrived",
                "text": "Package has arrived at an intermediate location in the carrier network.",
                "action_required": false
            },
            "object_created": "2024-05-06T12:52:40.592Z",
            "object_updated": "2024-05-06T12:52:40.592Z",
            "object_id": "<REDACTED>",
            "status": "TRANSIT"
        },
        "tracking_history": [
            {
                "status_date": "2023-10-09T20:41:35Z",
                "status_details": "Shipment information sent to FedEx",
                "location": {
                    "city": "",
                    "state": "",
                    "zip": "91730",
                    "country": "US"
                },
                "substatus": {
                    "code": "information_received",
                    "text": "Information about the package received.",
                    "action_required": false
                },
                "object_created": "2024-05-06T12:52:40.592Z",
                "object_updated": "2024-05-06T12:52:40.592Z",
                "object_id": "<REDACTED>",
                "status": "PRE_TRANSIT"
            },
            {
                "status_date": "2023-10-10T03:19:00Z",
                "status_details": "Arrived at FedEx location",
                "location": {
                    "city": "Bloomington",
                    "state": "CA",
                    "zip": "92316",
                    "country": "US"
                },
                "substatus": {
                    "code": "package_arrived",
                    "text": "Package has arrived at an intermediate location in the carrier network.",
                    "action_required": false
                },
                "object_created": "2024-05-06T12:52:40.592Z",
                "object_updated": "2024-05-06T12:52:40.592Z",
                "object_id": "<REDACTED>",
                "status": "TRANSIT"
            }
        ],
        "messages": []
    }
}

Just like example 1, there seems to be partial information, even transit information in this case, yet there is no address_from that makes sense here.
Example 3:
{
    "name": "SDKValidationError",
    "cause": {
        "issues": [
            {
                "code": "invalid_type",
                "expected": "object",
                "received": "undefined",
                "path": [
                    "address_from"
                ],
                "message": "Required"
            }
        ],
        "name": "ZodError"
    },
    "rawValue": {
        "tracking_number": "<REDACTED>",
        "carrier": "fedex",
        "servicelevel": {},
        "test": false,
        "tracking_history": [],
        "messages": []
    }
}

In these cases, I don't see any information on the tracking at all, but it is giving me a validation error on address_from, where I think a better detailed error could be thrown, such as not having information on the tracking number altogether. The tracking number has been recorded in our database in January 2024, so its fairly recent, but not that recent.

I'm confirming with the team whether address_from is actually required; if not, I'll get our spec and SDK updated; if so, I'll file a bug report.
in terms of the inconsistent or missing data in some of these requests, you'll probably need to submit a support request, where you can provide specifics such as your account info and the specific tracking numbers in question so they can help track down what's going on.

we just released https://www.npmjs.com/package/shippo/v/2.1.3 which should fix the validation errors.  closing this issue for now but feel free to re-open if you're still seeing validation failures.


Make Blackfriday smart fractions to really default to true

Fix my own brown paper bug :blush: in Pull Request #829,
commit eb686352b1785844778e1cba8c69b85079e3044f

Merged in f6c0b47


Adding support for Google Analytics v4 (GA4) properties

Google seems to be pushing people to "Migrate from UA to GA4", including (seemingly) deprecating some levels of support for the legacy properties.
To get ahead of this, I propose adding the new tag structure in, alongside the current UA- collector, as guidance in the migration notes includes:

If your website is manually tagged with analytics.js, don't remove the old analytics.js tag when you add the Google tag (above). The analytics.js tag will continue to collect data for your UA property. The Google tag (gtag.js) that you're adding will collect data for your new GA4 property.

There are import guides for converting your UA data over to GA4, so I think this is to avoid gaps in analytics.
Thank you for creating and maintaining sbt-microsites!

Force-push was because I neglected to supply the arbitrary instance in tests

Thanks for your time, @blast-hardcheese !


initial work for compile-time evaluation

Allows to skip unreachable code based on compile-time constant conditions
e. g.
if (!process.turbopack) {
  require("will-not-be-processed");
}

add if() and process.turbopack fixes WEB-491
Removes unreachable code fixes WEB-498
evaluate some logical operations &&, ||, ??, !
fix arguments handling fixes WEB-529
nested effects for function called with closures
handle closures when array methods are used fixes WEB-538
evaluates process.turbopack fixes WEB-496

x-ref: https://github.com/vercel/turbo/pull/3347

Do any other bundlers have a specific value dedicated to detecting them? (process.webpack, process.rollup)

Do any other bundlers have a specific value dedicated to detecting them? (process.webpack, process.rollup)

Not as far as I know.


community: change graph schema to yaml format

Description:

Changed the graph schema format to yaml for better interpretation and token count.

@dudizimber needs some fixes to lint

closing as stale and no response


Update csharp.yml

csharp action workflow->  remove push to nuget job

Could you please have a short explanation about this change?
Thank you very much!

csharp.yml 之前会build csharp/Wechaty.Grpc 解决方案生成nuget包，并推送到Nuget服务器，本次修改移除了Nuget包推送到Nuget服务器的这一步操作，只验证解决方案是否报异常

Thanks for the clarification!
According to our best practice of DevOps, I think it would be great if we could publish our package to the Nuget server after the CI passed.
However, this is a suggestion and you will make the final decision.
Should we merge this PR for now?

ping @Jesn

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: Jesn:x: Huan LiHuan Li seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Output Directory

hi! first off, I really liked your video! thanks so much for helping everyone as well.
First off, I'm new to blender / animating, so I think this is a fairly simple issue that you've solved before.
I'm currently attempting to save the files and running into the 'output dir does not exist' problem. I've read through your other comments, so I know that the issue is that it needs to be save on the C:/ rather than D:\, however I can't find where to change this. I've saved the original animation C:\Users\Melisunae\OneDrive\Desktop\blend_voxel\ there, but I don't know where to change the script directory.
You say to not "use Blender's file browser to select a directory" but basically I'm not sure where else to choose it.
Thank you so much!

Hi! You can actually save it to any drive you like (C: or D:), but the important thing is that the path is absolute, so it should start with C: or D:.
If you want to save it to a folder named "voxel_data" that is on your D: drive, simply type "D:/voxel_data" into the output directory field on the Voxelizer panel. You also have to create that directory yourself.
Hope this helps!

Perfect! Let me know if you run into any further issues.

hi! everything is working great so far, i was just curious if you could explain what to do when there are multiple objects. I noticed on one of your updates that the combining objects script is no longer needed, but I can't seem to figure out how to have it do both of my objects. thank you so much!


RFC 3: Template trait

Description
Template trait has method render() which does not consume the object itself.
Rendered

Any updates on this?
Is the crate still being maintained?

This is implemented as of release 0.9.0


Hooks keeps going on Loading (wont load all the classes)

When I try to Hook any app and Launch in the webpage the HOOKS Section. It just keeps on "Loading" and nothing more. Before some months back it worked good. After some months when I installed again it started giving me this errors.

@ac-pm Did you try to resolve this error. I don't know even the Xposed Logs doesn't give any error about the module. Tried it on an emulator too. Same problem.

Same issue here.
It gets stuck on loading.

What OS and Android Version are you on ? Let me know.

Windows and Android 4.4.2 running on Nox Player.

Right now it won't load all classes anymore.
But it's no longer stuck on loading

Hi, when i try to add a new hook it does not work and on "+Hooks" tab it stucks on "Loading" at left menu. is it the same bug?

I tried from version 1.4 to version 2.4; I also changed the permissions of the app directory, the android version from 4.4 to 6.x, 7.1, it still cannot work.


<EMAIL_ADDRESS>

[Enter feedback here]

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

ID: 2c6f6ed7-a789-502b-4c84-e823fa8e58ce
Version Independent ID: dee3faf2-ef14-c323-6307-ebe204670f59
Content: Overview of DevTools - Microsoft Edge Development
Content Source: microsoft-edge/devtools-guide-chromium/index.md
Product: microsoft-edge
Technology: devtools
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

No content was provided in this issue so I closed it.


Maintenance: automate linting/formatting with Prettier + eslint

Summary
At the moment the project uses eslint to lint and apply linting and code style rules across the project.
While this has helped immensely, as the codebase and number of contributors grow, it's time to enforce automated formatting so that styling and other rules are applied automatically.
A good candidate for this could be Prettier.
Why is this needed?
To enforce styling conventions and format the code automatically before it's committed/pushed.
Which area does this relate to?
Automation
Solution
No response
Acknowledgment

[X] This request meets Lambda Powertools Tenets
[ ] Should this be considered in other Lambda Powertools languages? i.e. Python, Java, and .NET

Future readers
Please react with 👍 and your use case to help us understand customer demand.

I have started working on this and have modified the .eslintrc that is present in the repo with the one below:
module.exports = {
  root: true,
  env: {
    browser: false,
    es2020: true,
    jest: true,
    node: true,
  },
  extends: [
    'plugin:@typescript-eslint/recommended',
    'plugin:prettier/recommended',
  ],
  parser: '@typescript-eslint/parser',
  plugins: ['@typescript-eslint', 'prettier'],
  settings: {
    'import/resolver': {
      node: {},
      typescript: {
        project: './tsconfig.json',
        alwaysTryTypes: true,
      },
    },
  },
  rules: {
    '@typescript-eslint/explicit-function-return-type': [
      'error',
      { allowExpressions: true },
    ], // Enforce return type definitions for functions
    '@typescript-eslint/explicit-member-accessibility': 'error', // Enforce explicit accessibility modifiers on class properties and methods (public, private, protected)
    '@typescript-eslint/member-ordering': [
      // Standardize the order of class members
      'error',
      {
        default: {
          memberTypes: [
            'signature',
            'public-field',
            'protected-field',
            'private-field',
            'constructor',
            'public-method',
            'protected-method',
            'private-method',
          ],
          order: 'alphabetically',
        },
      },
    ],
    '@typescript-eslint/no-explicit-any': 'error', // Disallow usage of the any type
    '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], // Disallow unused variables, except for variables starting with an underscore
    '@typescript-eslint/no-use-before-define': ['off'], // Check if this rule is needed
    'no-unused-vars': 'off', // Disable eslint core rule, since it's replaced by @typescript-eslint/no-unused-vars
    // Rules from eslint core https://eslint.org/docs/latest/rules/
    'array-bracket-spacing': ['error', 'never'], // Disallow spaces inside of array brackets
    'computed-property-spacing': ['error', 'never'], // Disallow spaces inside of computed properties
    'func-style': ['warn', 'expression'], // Enforce function expressions instead of function declarations
    'keyword-spacing': 'error', // Enforce spaces after keywords and before parenthesis, e.g. if (condition) instead of if(condition)
    'padding-line-between-statements': [
      // Require an empty line before return statements
      'error',
      { blankLine: 'always', prev: '*', next: 'return' },
    ],
    'no-console': 0, // Allow console.log statements
    'no-multi-spaces': ['error', { ignoreEOLComments: false }], // Disallow multiple spaces except for comments
    'no-multiple-empty-lines': ['error', { max: 1, maxBOF: 0, maxEOF: 0 }], // Enforce no empty line at the beginning & end of files and max 1 empty line between consecutive statements
    'no-throw-literal': 'error', // Disallow throwing literals as exceptions, e.g. throw 'error' instead of throw new Error('error')
    'object-curly-spacing': ['error', 'always'], // Enforce spaces inside of curly braces in objects
    'prefer-arrow-callback': 'error', // Enforce arrow functions instead of anonymous functions for callbacks
    quotes: ['error', 'single', { allowTemplateLiterals: true }], // Enforce single quotes except for template strings
    semi: ['error', 'always'], // Require semicolons instead of ASI (automatic semicolon insertion) at the end of statements
  },
};

Aside from adding comments to all rules to explain what they do, I have added Prettier following the recommended config:

added prettier in the plugins section
added prettier/recommended in the extends section

as well as removed the following rules:

@typescript-eslint/ban-ts-ignore (deprecated)
@typescript-eslint/camelcase (deprecated)
@typescript-eslint/member-delimiter-style' (deprecated)
@typescript-eslint/no-inferrable-types (deprecated)
@typescript-eslint/indent - now covered by Prettier
arrow-body-style - value set was already default

The new config produces a huge diff as it touches almost all code-related files in one way or another.
To avoid completely breaking the commit history and render git blame useless, my proposal would be to use the technique described here, which involves creating & committing a file called .git-blame-ignore-revs that will contain the hashes of the commits  that we want to ignore.
This setting is supported both on GitHub and locally by setting git config blame.ignoreRevsFile .git-blame-ignore-revs either globally or with the --local flag.
Since we squash & merge when merging a PR, the hash to ignore would be only the one of the merge commit. This means also that we will need to add this file in a subsequent commit.

Marking this issue as on-hold until all the issues below have been closed.

#1443
#1444
#1445
#1446
#1447
#1448
#1449
#1450
#1451

Once the issues above have been closed, the PR closing this issue should centralize the ESLint configs at the project's root.


models: Upgrade the MC19 and CovidSim models to the latest versions.

Related to: https://github.com/covid-modeling/model-runner/issues/18 and https://github.com/covid-modeling/model-runner/pull/16

MC19 also done by https://github.com/covid-modeling/web-ui/pull/40.


Add stream input support

We have a process that we build raw HTML and use this library to generate PDF files. Currently we have to write our generated HTML to a temp file, then use your library to load this. This situation doubles our IO time.
Could you add support to pass in an existing stream of bytes instead of loading a file or remote uri?

At first I was going to write this off as not possible because the WebView control itself doesn't support loading content from stream. There's support to load from string, but it's limited to 2mb which can be a problem.
But after giving this some though I did come up with a solution which basically assigns the document content as a string via script command.
[TestMethod]
public async Task PrintPdfStreamAsyncFromStreamExtendedTest()
{
    // testing with a file based stream but any stream will work
    var sampleFile = Path.GetFullPath("HtmlSampleFileLonger-SelfContained.html");

    PdfPrintResult result;
    using (var stream = new FileStream(sampleFile, FileMode.Open, FileAccess.Read))
    {
        var pdf = new HtmlToPdfHostExtended();
        result = await pdf.PrintToPdfStreamAsync(stream, new WebViewPrintSettings { ScaleFactor = 1F }, Encoding.UTF8);
    }

    Assert.IsTrue(result.IsSuccess, result.Message);

    File.Delete(SamplePdf_Outline);
    using (var fstream = new FileStream(SamplePdf_Outline, FileMode.OpenOrCreate, FileAccess.Write))
    {
        result.ResultStream.CopyTo(fstream);
        result.ResultStream.Close(); // Close returned stream!

        ShellUtils.OpenUrl(SamplePdf_Outline);
    }
    Assert.IsNotNull(result, result.Message);
    ShellUtils.OpenUrl(SamplePdf_Outline);
}

This has overhead though as the stream has to be converted into a string, and then into a JSON value that then gets embedded into the document. So you're trading the IO overhead with extra memory usage and conversion.


Excuse me WHAT!?

Describe your bug here.

HOW!?
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
no, but after just SoftLocked itself

the arrows truly say you didnt edit anything


[Feature Request] Reward models

Required prerequisites

[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[ ] Consider asking first in a Discussion.

Motivation

Add reward models
including nemotron (Custom Classifier) and skywork (Seq. Classifier)
Solution
https://huggingface.co/spaces/allenai/reward-bench
Alternatives
No response
Additional context
No response

import os
from abc import ABC, abstractmethod
from typing import Any, Dict, List, Optional, Union

from openai import OpenAI

from camel.messages import OpenAIMessage
from camel.models import BaseModelBackend
from camel.types import ChatCompletion, ModelType
from camel.utils import BaseTokenCounter, api_keys_required

class BaseRewardModel(ABC):
    r"""
    Abstract base class for reward models. Reward models evaluate messages
    and return scores based on different criteria.

    Subclasses should implement the `evaluate` and `get_score_types` methods.
    """

    @abstractmethod
    def evaluate(self, messages: List[Dict[str, str]]) -> Dict[str, float]:
        r"""
        Evaluates the messages and returns a dictionary of scores.

        Args:
            messages (List[Dict[str, str]]): A list of messages where each
                message is a dictionary with 'role' and 'content'.

        Returns:
            Dict[str, float]: A dictionary mapping score types to their values.
        """
        pass

    @abstractmethod
    def get_score_types(self) -> List[str]:
        r"""
        Returns a list of score types that the model produces.

        Returns:
            List[str]: A list of score type names.
        """
        pass

class NemotronModel(BaseRewardModel):
    r"""
    Nemotron model API backend with OpenAI compatibility.

    Args:
        model_type (Union[ModelType, str]): Model for which a backend is
            created.
        api_key (Optional[str], optional): The API key for authenticating with
            the NVIDIA service. (default: :obj:`None`)
        url (Optional[str], optional): The URL to the NVIDIA service.
            (default: :obj:`https://integrate.api.nvidia.com/v1`)

    Notes:
        Nemotron model doesn't support additional model config like OpenAI.
    """

    def __init__(
        self,
        model_type: Union[ModelType, str],
        api_key: Optional[str] = None,
        url: Optional[str] = None,
    ) -> None:
        url = url or os.environ.get(
            "NVIDIA_API_BASE_URL", "https://integrate.api.nvidia.com/v1"
        )
        api_key = api_key or os.environ.get("NVIDIA_API_KEY")
        super().__init__(model_type, {}, api_key, url)
        self._client = OpenAI(
            timeout=60,
            max_retries=3,
            base_url=self._url,
            api_key=self._api_key,
        )

    @api_keys_required("NVIDIA_API_KEY")
    def evaluate(self, messages: List[Dict[str, str]]) -> Dict[str, float]:
        r"""
        Runs inference of OpenAI chat completion and parses the response to
        extract scores.

        Args:
            messages (List[Dict[str, str]]): Message list.

        Returns:
            Dict[str, float]: A dictionary of scores.
        """
        # Convert messages to OpenAIMessage list
        openai_messages = [
            OpenAIMessage(role=msg["role"], content=msg["content"])
            for msg in messages
        ]

        response = self._client.chat.completions.create(
            messages=openai_messages,
            model=self.model_type,
        )

        # Parse the response to extract scores
        return self._parse_scores(response)

    def _parse_scores(self, response: ChatCompletion) -> Dict[str, float]:
        r"""
        Parses the ChatCompletion response to extract the scores.

        Args:
            response (ChatCompletion): The response from the model.

        Returns:
            Dict[str, float]: A dictionary of scores.
        """
        # Extract the assistant's message content
        assistant_message = response.choices[0].message.content

        # The scores are in format 'helpfulness:1.6171875,correctness:1.6484375,...'
        # Parse them to get a dictionary of scores
        scores = {}
        for item in assistant_message.split(","):
            key_value = item.strip().split(":")
            if len(key_value) == 2:
                key = key_value[0].strip()
                value = float(key_value[1].strip())
                scores[key] = value
        return scores

    def get_score_types(self) -> List[str]:
        r"""
        Returns the list of score types that this model produces.

        Returns:
            List[str]: A list of score type names.
        """
        return [
            "helpfulness",
            "correctness",
            "coherence",
            "complexity",
            "verbosity",
        ]

    @property
    def token_counter(self) -> BaseTokenCounter:
        raise NotImplementedError(
            "Nemotron model doesn't support token counter."
        )

    def check_model_config(self):
        raise NotImplementedError(
            "Nemotron model doesn't support model config."
        )

class Evaluator:
    r"""
    Evaluator class that uses a reward model to evaluate messages and
    filter data based on score thresholds.

    Args:
        reward_model (BaseRewardModel): An instance of a reward model.
    """

    def __init__(self, reward_model: BaseRewardModel):
        self.reward_model = reward_model

    def evaluate(self, messages: List[Dict[str, str]]) -> Dict[str, Any]:
        r"""
        Evaluates the messages using the reward model.

        Args:
            messages (List[Dict[str, str]]): A list of messages.

        Returns:
            Dict[str, Any]: A dictionary of scores.
        """
        scores = self.reward_model.evaluate(messages)
        return scores

    def filter_data(
        self, messages: List[Dict[str, str]], thresholds: Dict[str, float]
    ) -> bool:
        r"""
        Filters messages based on score thresholds.

        Args:
            messages (List[Dict[str, str]]): A list of messages.
            thresholds (Dict[str, float]): A dictionary of score thresholds.

        Returns:
            bool: True if the messages meet all thresholds, False otherwise.
        """
        scores = self.reward_model.evaluate(messages)
        # Check if all scores meet the thresholds
        for score_type, threshold in thresholds.items():
            if scores.get(score_type, 0) < threshold:
                return False
        return True

# Example usage
if __name__ == "__main__":
    from camel.types import ModelType

    # Create an instance of the NemotronModel
    nemotron_model = NemotronModel(model_type=ModelType.NEMOTRON_4_REWARD)

    # Create an Evaluator with the NemotronModel
    evaluator = Evaluator(reward_model=nemotron_model)

    # Define messages
    messages = [
        {
            "role": "user",
            "content": "I am going to Paris, what should I see?",
        },
        {
            "role": "assistant",
            "content": "Ah, Paris, the City of Light! There are so "
            "many amazing things to see and do in this beautiful city ...",
        },
    ]

    # Evaluate messages
    scores = evaluator.evaluate(messages)
    print("Scores:", scores)

    # Define thresholds
    thresholds = {"helpfulness": 1.5, "correctness": 1.5}

    # Filter data based on thresholds
    is_acceptable = evaluator.filter_data(messages, thresholds)
    print("Is acceptable:", is_acceptable)


Invalid content /en/shelley/tools/staking-calculator/

Where does the issue occur?
Link to the file or location on the website where the issue occurs. Optionally add screenshots for context.
Describe the issue
A clear and concise description of what the issue is.
Expected changes
A clear and concise description of what you expected to change.
Additional context
Add any other context about the problem here.

Thanks for raising an issue. Unfortunately, it is not clear from the above what an issue is.
The Staking Calculator page is working and updated:
https://developers.cardano.org/en/testnets/cardano/tools/staking-calculator/

Thanks for raising an issue. Unfortunately, it is not clear from the above what an issue is.
The Staking Calculator page is working and updated:
https://developers.cardano.org/en/testnets/cardano/tools/staking-calculator/


UI is now more complete

Create a new classifier based on user uploads
This creates a new classifier based on user uploads but does not support drag and drop.  The test data I picked at random from the other bundles.

In testing this locally, I uploaded some dog .zips and then tried the last image (the golden retriever, which should have been a hit), and got this:
TypeError: mapToCheck[kind] is undefined
lookupInMap() bundle.js:768
renderTable/classesModel</classes<() bundle.js:887
map() self-hosted:232
renderTable/classesModel<() bundle.js:885
renderTable() bundle.js:884
showResult() bundle.js:603
...

I'm looking at that.
On Tue, Jun 14, 2016 at 11:58 AM Nathan Friedly<EMAIL_ADDRESS>wrote:

In testing this locally, I uploaded some dog .zips and then tried the last
image (the golden retriever, which should have been a hit), and got this:
TypeError: mapToCheck[kind] is undefined
lookupInMap() bundle.js:768
renderTable/classesModel</classes<() bundle.js:887
map() self-hosted:232
renderTable/classesModel<() bundle.js:885
renderTable() bundle.js:884
showResult() bundle.js:603
...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/watson-developer-cloud/visual-recognition-nodejs/pull/133#issuecomment-225928821,
or mute the thread
https://github.com/notifications/unsubscribe/AAB8wlbrkAH6O-sQJl0-hL81uinnYpaeks5qLs-5gaJpZM4I0V8D
.

Confirmed that the first bug was fixed. Everything seems to be working now. Did you say there was one more checking coming in @kognate, or is this ready to merge in now?

There is one more thing.
On Tue, Jun 14, 2016 at 11:45 AM Nathan Friedly<EMAIL_ADDRESS>wrote:

Confirmed that the first bug was fixed. Everything seems to be working
now. Did you say there was one more checking coming in @kognate
https://github.com/kognate, or is this ready to merge in now?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/watson-developer-cloud/visual-recognition-nodejs/pull/133#issuecomment-225978138,
or mute the thread
https://github.com/notifications/unsubscribe/AAB8wi9tH2RSriAzfgRyK1DkRIhfj1zoks5qLvbPgaJpZM4I0V8D
.


Update many dependencies

Closes #2316

I'd change changelog category to internal

One tests still fails, will defer it until we release the copy target fix in operator (since probably we'll need to do all upgrades there too)

waiting for kube-rs official release to upgrade.