Allow Access to Current Scene or NavigationState

I've been attempting to write a custom Header Component on top of NavigationExperimental.Header, using a lot of this project's Header source as inspiration, but I've run into some trouble. I need a custom one because I need to be to include arbitrary elements and RRN's Header only appears to support text content.
In order to support arbitrary elements with a back button, I've written a BackButton component which wraps Pop:
export const BackButton = withRouter((props) => {
  // if (props.scene.index === 0) return null;

  return (
    <Pop underlayColor="transparent">
       <Text>back</Text>
    </Pop>
  );
});

The button works, but I can't hide it when there's nowhere to go back to because I don't have access to the scene unless HeaderBack (or its parent) gets it through NavigationExperimental's renderLeftComponent (or I add it to context in my Header component). This is doable, but feels hacky and makes the API for my custom header component a bit grosser. It also means that I wouldn't be able have a back button living in some arbitrary place in my app.
Having spent some time looking into it, I can see that scene and scenes are derived from navigationState. And unless I'm misunderstanding something, RRN's navigationState is stored within the component state of the NativeRouter component but is not accessible through the router object passed from withRouter. It also doesn't seem to be getting passed to the redux store for me, which I set up based on the docs.
It seems to me that the react-router-native should expose its navigationState in order to support use cases like this. Am I simply not seeing how to get at it, or was it a conscious choice to keep it hidden?
If you think it's a good idea and it hasn't already been done I'd be happy to make a pull request, though I'm not sure exactly how best to approach this. My thinking is to pass parts of navigationState to the redux store for users who choose to use an external store, and/or make it available through a getter on the router (along the lines of getCurrentLocation). I'm not sure I understand the relationship between router and NavigationState well enough to know if the latter makes sense.
Thanks!
edit:  rewritten for clarity

I'm going to assume this is now very out of date.


Add instructions for using AAD RBAC

The instructions on this table are for if you are using Azure Access policies for securing a storage account.  The recommended way now is to use AAD RBAC method.  Please add a section to this page (and the rest of the enable CMK pages) about how to do these steps using AAD RBAC.

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

ID: 3191804d-3a7e-5a2d-8bd1-c059c5076a60
Version Independent ID: 3191804d-3a7e-5a2d-8bd1-c059c5076a60
Content: Configure customer-managed keys for Azure managed disks - Azure Databricks
Content Source: databricks/security/keys/cmk-managed-disks-azure/cmk-managed-disks-azure.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@bambam229
Thanks for your feedback! We will investigate and update as appropriate.

@bambam229
Thank you for your question. I understand that you are looking for instructions on how to use Azure Active Directory (AAD) RBAC method to secure a storage account instead of using Azure Access policies. While I can provide you with general information on AAD RBAC, I would need more specific details about the storage account and your requirements to give you a more accurate answer. Can you please provide me with more information about the storage account and your use case

@RamanathanChinnappan-MSFT
So I am not trying to solve for my individual use case, I am just indicating that this section of documentation references the use of Azure policies whereas the recommended approach by Microsoft is to now use AAD RBAC.  My suggestion is that you add a section in this documentation about how to use AAD RBAC in addition to the Azure policies so you provide users this documentation.

@bambam229
Thank you for your suggestion. While Azure Policy and Azure AD RBAC are both used for governance in Azure, they serve different purposes. Azure Policy is used to enforce rules and effects over resources, while Azure AD RBAC is used to manage access to resources. That being said, it is always good to have multiple options for governance in Azure. I will pass your suggestion along to the PG team for consideration. Please add your ideas in below link, so our production team can review it and update the same. Ideas · Community (azure.com)


update Dockerfile for push image to dockerhub by ci.

Signed-off-by: yaorui<EMAIL_ADDRESS>

/lgtm


angular-cache.min.js tries to load the .map from dist/

angular-cache.min.js tries to load the .map from dist:
https://github.com/jmdobry/angular-cache/blob/master/dist/angular-cache.min.js#L2
which confuses Safari:

angular-cache.js is fine.

Actually, angular-cache.js states the .map location twice:
https://github.com/jmdobry/angular-cache/blob/master/dist/angular-cache.js#L1321
and also confuses Safari:

Fixed by b491ed83


No newline for values

Hello,
the 0.1.1 update seems to work pretty well and addresses some of the previous issues.
But there is one thing now that I'd like to be how it was in the previous version:
Before:

After:

So the values all get a new line which is not the usual way a xml looks like in my understanding: http://www.w3schools.com/xml/
Maybe this could even lead to reading errors? (Trailing whitespace and stuff, I don't know)
But it would come in handy to have some option to change this behaviour.

Thanks for the hint 😄
This is an issue with the underlying XML library, so I'll track progress on this here.
I'll look into it asap.


Pulling MOM6 upstream updates and applying patches

:rocket: The latest prerelease access-om3/pr32-5 at 7514acc46a34940ae7ba08f3c84181c377e171dc is here: https://github.com/ACCESS-NRI/ACCESS-OM3/pull/32#issuecomment-2547484630 :rocket:

!redeploy
Re-running CI to try compiling again with these missing files, see this commit for details

!redeploy
Wishfully hoping the patches fix the !redeploy Number 6 build error.

Moved into https://github.com/ACCESS-NRI/ACCESS-OM3/pull/33


Update postgres-socket-factory to 1.16.0

About this PR
📦 Updates com.google.cloud.sql:postgres-socket-factory from 1.15.2 to 1.16.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud.sql", artifactId = "postgres-socket-factory" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.cloud.sql", artifactId = "postgres-socket-factory" }
}]

labels: test-library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #808.


 Did you find the solution?

Hello! If you were already able to resolve your doubts and achieve your goals, close the issue so that we know which ones are pending.
Thank you!
If you want expedited help and have the assistance of many professional people, join our private group. Contact us<EMAIL_ADDRESS>to give you access to the group.


Small move dots depending on theme?

When I use the green theme, small dots will show up when I drag a piece, indicating the legal positions it could move to. However, these “move dots” do not show up when using the default, yellow theme.

@sorsted
i was not able to reproduce. Are you sure the "show moves" checkbox was "on"?


Fix unable to run expose generated files command

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Makes sense, surely the repository name got changed 4 days ago.
https://github.com/pipe-cd/pipe/blob/20b14b9e297add2fc311442011e96f64b5ca4870/WORKSPACE#L2

/approve

Nice catch! Thank you.


"New Folder" option in context menu

Practicing in a Django Tutorial, I tried to add a new folder using the context menu, but the option doesn't appear.

I was only able to verify VS 2017, where it appeared fine.  I wonder if there's a conflict with DevExpress?  Can you try disabling that extension?

In fact there's no way to disable the extension, so I uninstalled the product, and the option reappeared.

So, I can't have DevExpress to have the New Folder option?

I've installed DevExpress on VS 2017 and I can confirm it is working there.


Add screen orientation listener to enable flipping screen to sideMenu on iOS devices

I thought I fixed this by adding the event listener orientationchange in modules/use-window-size.
It might have something to do with the width cutoff for showing the sidemenu. Maybe adding the viewport size for iPhone 5 will help?


Is it possible to request for postpone the deprecate date and time of AzureUpdateDelivery and AzureFrontDoor.FirstParty service tags

Hello, team,
Thank you for your time.
I would like to know that
Q1, Is it possible to request for postpone the deprecate date and time of AzureUpdateDelivery and AzureFrontDoor.FirstParty service tags ? Some of my Japan customers have concerns about the deprecate date since they was only notified about the deprecation this week (6/10 week), but the service tags will be deprecated on July 1st, it is too fast deprecating since some of customer doesn't have much time to prepare about it.
I can see the same information in below blog.
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/changes-coming-to-the-azure-update-delivery-service-tag/ba-p/4156552#:~:text=Azure Update Delivery service tag is,being deprecated starting July 1%2C 2024.
Q2, If you are not the right contact about this request, could you provide the right contact to raise such request ?

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

ID: 08217244-82bb-13b5-46f7-454801d8f865
Version Independent ID: 4a8b0a32-bf57-7544-c60d-6b7f250c4477
Content: Azure service tags overview
Content Source: articles/virtual-network/service-tags-overview.md
Service: virtual-network
GitHub Login: @asudbring
Microsoft Alias: allensu

@v-zhanyeshi
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.
@asudbring
Can you please check and add your comments on this doc update request as applicable.

@v-zhanyeshi and @SaibabaBalapur-MSFT
Thanks for the feedback!  Unfortunately, this isn't a doc issue or enhancement request. Please contact support for these types of request.
#please-close


UI not updating in the runes editor (Champion Select)

https://youtu.be/ovl58ur9XRg
Can't see runes in champion select, but later it's ok.
Sorry for so many issues but i want to help

I'm the one that should be sorry! I think it's a UI glitch, have you tried in-game? I think it's just the client's UI that can't keep up. I don't think I can fix that, but I'll check later.

Yes, it works in the game, but collection behaves like champion select ( maybe it was one time on my pc, u should check it in free time )

Here is vid https://youtu.be/2Z8UrWXiLM0

Okay, yeah it took time for me to understand haha
Yeah it's an issue I've seen a long time ago, that I forgot to check. I'll check it tomorrow

Hey, so I checked a bit, there's no way for me to make the client see, or acknowledge the new runepages. The client would have to request the runes again, but I can't force it. The runes editor will probably always be like that and I can't do anything about it. Sorry!

I think riot shoul know about this. If their API allows runes to change, then they need to provide a way to force an update on rune pages.

The thing is that it's not a public endpoint, that's private. The connection I made to their client is by reverse-engineering their client. They don't have any problem with it, but they won't make a new endpoint just for me either. Anyway I've added an option on the rework branch to choose the method you'd want Manaflux to use, either to update the runes or to delete then re-create them (which will "fix" in that case this issue).

Oh ok, that should be convenient. Thanks.

Okay so I'm re-opening this issue since the fix that I thought was working is not. I removed the fix in the last version (1.5.4).

I reworked how perks are injected into the client on the master branch. Seems to fix the editor, it'd be good to have feedback if you have itme!

Doesn't seem to work for me, looks like the same as before (v2.0.3)


Make available on flathub

if i understand this properly, the app is on patreon, but it is free.
in that case, i think that making it available on flathub would vastly boost it's popularity.

You have you sign up for an account to even download this garbage. Instant red flag for me and likely most people.

You have you sign up for an account to even download this garbage. Instant red flag for me and likely most people.

I don't understand. If this is garbage, why does it concern you if it isn't on flathub? Don't use it.

You have you sign up for an account to even download this garbage. Instant red flag for me and likely most people.

Flathub availability is planned when Evolve will be stable enough. I have tried creating a version with the features which are stable but it will take more time and testing and hence the reason this issue is kept open.
Moreover I am falling sick trying to manage everything by myself. If joining as a free patreon member too much for you after all the effort I put into everything then please stay away. This app or anything created by my isn't meant for you.


fix(bpp): overwrite turn signal by latter module

Description
Sometimes, behavior path planner module outputs unnecessary turn signal while multiple modules are running simlutaneously.
Related ticket: https://tier4.atlassian.net/browse/RT1-5329

https://github.com/autowarefoundation/autoware.universe/assets/44889564/61f39129-99fb-48d9-94ea-4a7bbff9f028
Currently, turn signal decider manages multiple turn singal infomation (e.g. lane change, avoidance, turn right/left...) based on this logic. But I think it's better to overwrite turn signal simply by latter module one in terms of the signal management among multiple modules because, in most case, the latter module's path modufication is dominant.
In this PR, I added a new function to overwrite turn signal when the ego's in the section that calculated by latter module.

former module:
------|--- turn signal section A  ---------|--------------------------------------------------------
latter module:
----------------------------------------|------ turn signal section B ------|----------------------
overwrite:
------|--- turn signal section A --|------ turn signal section B ------|----------------------

Avoidance -> LC
https://github.com/autowarefoundation/autoware.universe/assets/44889564/6ee98a3c-f8eb-430c-9fdb-3048ac9c8129
LC -> Avoidance
https://github.com/autowarefoundation/autoware.universe/assets/44889564/e8fe682b-d097-44d2-bbfa-d04d60431ffe

Tests performed

PASS TIER IV INTERNAL SCENARIOS

Effects on system behavior

Fix unnecessary turn signal.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Close this PR. I'll create new PR if need.


Input should be None when set to Optional with default value

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
I have a pydantic model where some fields are optional and per default set to None.
When I want to create an instance of these models using a dictionary of values using the alias attribute, I get an
ValidationError: 1 validation error for Model1
G00000001490
  Input should be None [type=none_required, input_value={'F00000002548': 74840448... ad commodo cupidatat']}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.4/v/none_required

error that I can't explain.
Example Code
class Model2(BaseModel):
    model_config = ConfigDict(
        extra="allow",
        populate_by_name=True,
    )
    field1: Annotated[float, Field(alias="F00000002548", ge=0.0, multiple_of=0.01)]
    field2: Annotated[List[str], Field(alias="F60000000296", min_length=0)]

class Model1(BaseModel):
    model_config = ConfigDict(
        extra="allow",
        populate_by_name=True,
    )
    field1: Annotated[Literal["001", "002", "003"], Field(alias="F00000001173")]
    Model2: Annotated[Optional[Model2], Field(alias="G00000001490")] = None

example_dict = {
    "F00000001173": "001",
    "G00000001490": {
        "F00000002548": 74840448.07,
        "F60000000296": ["incididunt velit ea", "quis ad commodo cupidatat"],
    },
}

Model1(**example_dict) # fields should be set by alias

Python, Pydantic & OS Version
pydantic version: 2.4.2
        pydantic-core version: 2.10.1
          pydantic-core build: profile=release pgo=false
                 install path: /Users/yasin/projects/2110-wohngeld-backend/.pixi/env/lib/python3.10/site-packages/pydantic
               python version: 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:41:52) [Clang 15.0.7 ]
                     platform: macOS-13.4-arm64-arm-64bit
             related packages: typing_extensions-4.8.0 fastapi-0.103.2 pyright-1.1.331

Update: Removing the default None does seem to "fix" the validation error.
However, I'm not sure why this should be the case. Am I understanding the docs wrong?

Update 2:
It also works when I change the field name to the alias key
# ...
class Model1(BaseModel):
    model_config = ConfigDict(
        extra="allow",
        populate_by_name=False,
    )
    field1: Annotated[Literal["001", "002", "003"], Field(alias="F00000001173")]
    G00000001490: Annotated[Optional[Model2], Field(alias="G00000001490")] = None

This hints to there being a bug when validating fields passed by their alias key

Hi @YYYasin19,
Thanks for your question. The issue here is that you can't name a field to have the same name as a model. See below:
from typing import Annotated, Literal, Optional, List
from pydantic import BaseModel, ConfigDict, Field

class Model2(BaseModel):
    model_config = ConfigDict(
        extra="allow",
        populate_by_name=True,
    )
    field1: Annotated[float, Field(alias="F00000002548", ge=0.0, multiple_of=0.01)]
    field2: Annotated[List[str], Field(alias="F60000000296", min_length=0)]

class Model1(BaseModel):
    model_config = ConfigDict(
        extra="allow",
        populate_by_name=True,
    )
    field1: Annotated[Literal["001", "002", "003"], Field(alias="F00000001173")]
    model2: Annotated[Optional[Model2], Field(alias="G00000001490")] = None  # <-- new name for field

example_dict = {
    "F00000001173": "001",
    "G00000001490": {
        "F00000002548": 74840448.07,
        "F60000000296": ["incididunt velit ea", "quis ad commodo cupidatat"],
    },
}

Model1(**example_dict)

Let me know if you have any follow up questions! 😄

I ran into a similar issue on Pydantic 2.9.2 where Optional complex/nested types would require None if I had defaulted that field to None. Adding the below to my model definition resolved this:
    class Config:
        allow_population_by_field_name = True

I'm not entirely certain why - your comment on aliases is what led me to try this.


⚠ Samsung has degraded performance

In 8206c78, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2688 ms

Resolved: Samsung performance has improved in 149b07c.


Does not work with firmware 5.0.10

Detects the ISY IP address correctly but after selecting the ISY, pressing Next does not do anything and the app hangs. After sometime, there is a dialog box which offers to either wait or kill the app or send a report.
With 5.0, UDI has changed lot of things. If the SmartApp can be fixed for 5.0, it will be great.

So, the issue is not firmware. Around line 141, the developer has forced port 80.
// Force port 80 (0x50)
parsedEvent.port = '0050'

This will cause the code to fail if the ISY is not running on port 80. This needs to be fixed.

Does anyone know why nothing shows up on the NODE screen?


Adds support for Capacitor v3.

What changed?

Increased the iOS target version
Replace deprecated code for android
Added AndroidX androidxAppCompatVersion
Remove unused Pod pod 'Firebase/Auth'
Fix typo activate

Confirmed Working on Capacitor 3

Can I get a review on this by someone? @capacitor-community-bot

@priyankpat


Fix more typo

Since you are already working on fixing typo, I want to fix more of them with your PR on apache/zeppelin repo.

@laesunk 이거 보시면 머지좀 해주세요ㅋㅋ


There is no Unicode byte order mark. Cannot switch to Unicode

Nice library!
This code throws error if UTF-16 is specified in the xml:
  }         public ValidationResult ValidateXml(string xml)         {             using (Stream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml)))             {                 return ValidateStream(stream);             }         }
I was able to work around it in this way:
   using var stream = new MemoryStream(System.Text.Encoding.Unicode.GetBytes(xml));
I found solution with help of this post:
https://stackoverflow.com/questions/29915467/there-is-no-unicode-byte-order-mark-cannot-switch-to-unicode

I tried to pull/ push, but not possible.

@V4A001  - I sent an invite to you to become a collaborator. Once you accept, I'll give you write access. Feel free to add whatever you want. I ran out of steam a bit when I ran into some ambiguities in the specification, but if you want to make some changes, feel free.


Consider providing a pytest plugin

How would this feature be useful?

I am currently using a custom pytest setup to run integration tests for my project. This finds any test.sh scripts and registers them with pytest, this is not ideal to say the least and I am also managing dependencies myself which causes some complexities, I am planning on switching to use nox directly within these scripts but it would be even better if there could be some way to define these tests and let nox handle everything for me.
An example of a test script can be found here: https://github.com/RobertCraigie/prisma-client-py/blob/main/tests/integrations/postgresql/test.sh and the plugin that finds and registers the script with pytest can be found here: https://github.com/RobertCraigie/prisma-client-py/blob/main/tests/integrations/conftest.py
Describe the solution you'd like

I'm not sure what the API for this would look like, just throwing the idea out there!
Describe alternatives you've considered

I am in the process of switching the custom test scripts to use nox to avoid handling dependencies myself. Once this is done, a plugin provided directly by nox would just be a QOL improvement and would allow me to remove some code.
I appreciate that this could very much be out of scope for nox to provide.

I'm not sure I understand why you are using pytest plugins.
From a quick look at your code, I would advise the following:
Place a noxfile.py at the top level of your repository (or your integration test suite). Define two Nox sessions, one for testing, one for type-checking.
The test session has two parts:

The session installs the test requirements and your package(s). Merge your test requirements files into a single one.
The session invokes pytest (via coverage). Let pytest discover the test modules.

Convert the various test setups (e.g. prisma db push) into session-scoped pytest fixtures. Ensure that these fixtures are only used for the tests that need them.
The type-checking session installs pyright and runs it.
Does that make sense?

I'm not sure I understand why you are using pytest plugins.

I use pytest plugins and separate environments for the integration tests as they are testing auto-generated library code, each environment will have different code for the same library meaning they cannot be shared in the same environment.
However, rethinking this, I may be able to merge them into a single environment by auto-generating code to different locations, this should work but would make it awkward to use as I would then have to import the different integration tests like so:
# instead of
import prisma
# it would have to be something like this
import prisma_postgres

I'm pretty sure that this solution would also mean that I wouldn't be able make use of a separate pytest plugin I plan on adding (https://github.com/RobertCraigie/prisma-client-py/issues/171) or share any code between the tests.
Another downside with this is the loss of separation of concerns:

the feedback loop would be longer when running individual tests as the clients for every test would have to be generated instead of the one client needed for the given test.
I don't want contributors to have to install / setup database servers for every supported database provider

However, I still don't understand why you are using pytest plugins. You say the pytest plugin locates test.sh scripts, and I can see that those scripts, in turn, invoke pytest. So pytest calling pytest? If you could clear this up for me, we may be able to figure out how Nox might help simplify these workflows.

I decided to use a pytest plugin so that the test.sh would be picked up by pytest so that these tests are included in the main workflow. It should be noted that not all test.sh scripts call pytest.

If I understand your feature request correctly, you want pytest to be able to call Nox as a plugin.

Essentially what I would like from this feature is the ability to write nox sessions and have pytest pick them up and run them as a standard test. Heres what the noxfile would look like for the postgresql test:
import nox

@nox.session
def postgres(session: nox.Session) -> None:
    session.install('-r', 'requirements.txt')
    session.install('.')

    session.run('prisma', 'db', 'push', '--accept-data-loss', '--force-reset')
    session.run('coverage', 'run', '-m', 'pytest', '--confcutdir=.', 'tests')
    session.run('pyright')

I'm thinking that there are two possible options here:

Nox provides a pytest fixture that provides a Session object
Nox could somehow pick up sessions and register them during the pytest collection process

Providing a solution like this would make it very easy to write automated tests for different environments.

Nox is designed to create environments and install and runs tools like pytest inside them. Your idea inverts this control flow.

Yes, this feature request is only useful for people who would want to run tests within different environments.

Nox knows nothing about pytest; it's a generic automation framework that just happens to be used with pytest a lot.

Nothing would change for any person using Nox in the standard way it was designed for, pytest plugins are registered through package entry points and are automatically picked up when pytest is ran.
setup(
    ...
    entry_points={
        'pytest11': [
            'nox = nox._pytest',
        ],
    },
)

Then the plugin code would go in nox/_pytest.py file which would only be imported by pytest.

What does the outer pytest add compared to just using plain Nox as the main entry point?
Drop a single noxfile.py into your repository, with one session per auto-generated library. In other words, each session corresponds to a test.sh script. Running nox will create separate environments for each library, and run whatever commands you need to install and test it.

Admittedly it does not add much value, I could refactor it so that the outer pytest call is not required. Explaining my original reasoning did make me realise that there are better methods to achieve what I want.
Thanks for your help!


Endpoint down

PS C:\> curl.exe -I torrentapi.org
HTTP/1.1 403 Forbidden

https://github.com/baptistecdr/rarbg_api/blob/5454eb74a4824084aca8e37b12104279e1073a88/src/lib.rs#L35

Hello,
The endpoint is not dead:
curl "https://torrentapi.org/pubapi_v2.php?get_token=get_token&app_id=github_test"

{"token":"v7qd3uh8je"}

It's normal that you get 403 Forbidden when you give 0 params.
Sincerely,
baptistecdr

Need to reopen
PS C:\> curl.exe 'https://torrentapi.org/pubapi_v2.php?get_token=get_token&app_id=github_test'

<title>521 Origin Down</title>

521 Origin Down

cloudflare-nginx

It seems that it works again.

This is interesting. Supposedly, the token is only good for 15 minutes:
https://github.com/baptistecdr/rarbg_api/blob/5454eb74a4824084aca8e37b12104279e1073a88/src/token.rs#L88-L101
but your same token from 3 days ago still works:
PS C:\> curl.exe -v 'torrentapi.org/pubapi_v2.php?app_id=1&search_string=2020&token=v7qd3uh8je'
*   Trying <IP_ADDRESS>:80...
* Connected to torrentapi.org (<IP_ADDRESS>) port 80 (#0)
> GET /pubapi_v2.php?app_id=1&search_string=2020&token=v7qd3uh8je HTTP/1.1
> Host: torrentapi.org
> User-Agent: curl/7.70.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Tue, 01 Jun 2021 00:10:43 GMT

Yeah they don't invalidate the token after 15 minutes, but I followed the API (https://webcache.googleusercontent.com/search?q=cache:gCY5Kdzz6PIJ:https://torrentapi.org/apidocs_v2.txt) so If some day they realize their mistake, no change will be needed.


hotfix for compiling bfloat16 in CUDA

Fix #2812

~Not sure if this is the best way to fix it.~ Probably better to define those type name in the CStyleLanguage and leaving them as None in the helpers??
The cuda variable type is defined as __nv_bfloat16. Also looked up for HIP and I think it is __hip_bfloat16 but can't find any reference on their documentation, only a discussion in https://github.com/ROCm/ROCm/issues/2534

first attempt with type_map wasn't successful, since the rendering is happening in UOps.LOAD and UOps.DEFINE_GLOBAL so it's not just overriding some of the render functions. since DType is NamedTuplewhich is immutable, so couldn't just override thedtype.name` either

Added render_dtype, for the scope of the fix. Need to read a bit more carefully to see whether it should replace all the dtype.name and some of the self.type_map.get(var_dtype), might be able to save a few lines there.

Still don't like the current solution. render_dtype is pretty much a dead function other than bfloat16. Ideally we can dynamtically change dtypes.name based on the Device.DEFAULT that's used but it would cause a circular import.

fixed by 3036


Domain transfer should allow to pass privacy and auto_renew options

Domain transfer should allow to pass privacy and auto_renew options.

Related to #25

Fixed in the new API client.


Added TypeScript definition file, updated README.md and LICENSE.

This PR makes it easier to use the module with TypeScript. Updates README.md accordingly and explicitly states that the license is MIT.

Thanks @mn4367!


Feature request: Configureable Ports

Hi,
it would be nice if you could add text fields for the query port and virtual server port since my server doesn't run on the default ones.
That definitely would make the app more useable.

Thanks for the request, I'll add it in the next update!

Added with release V1.3


SQL error in the example for "Downsample data by applying interval-based aggregates"

A comma was mis-placed in the example. It will generate an error when running the example.
There should be a comma after room, but not after the selector_max(). Below is the correct version:
SELECT
DATE_BIN(INTERVAL '1 hour', time, '2023-09-21T00:00:00Z'::TIMESTAMP) as _time,
room,
selector_max(temp, time)['value'] AS 'max temp'
FROM
home
GROUP BY
_time,
'max temp',
room
ORDER BY room, _time
Relevant URLs

https://docs.influxdata.com/influxdb/cloud-serverless/get-started/query/

Thanks @asiayeah! I just pushed a fix for this.


Find alternative to sun.misc.Unsafe

Starting points:

https://adtmag.com/blogs/watersworks/2015/08/java-9-hack.aspx
https://dzone.com/articles/jdk-11-and-proxies-in-a-world-past-sunmiscunsafe

Helpful article? https://blogs.oracle.com/javamagazine/java-runtime-encapsulation-internals

Solutions seems to be variable handles/method handles. This requires Java 9+, which requires figuring our MJARs if I want to retain Java 8 compatibility.

Code over to Java 21, an deprecation warnings are quite clear. Should be easier to sort out since BWC is no longer relevant


Add "Run As Administrator" menu option to Start Menu and Taskbar

Description of the new feature/enhancement
Ability, primarily in Windows, to easily open the terminal app in an elevated session. Either via the Start Menu icon, as the PowerShell app does it, or via the taskbar icon.
Example for Start Menu:

Example for Taskbar icon:

Your start menu screenshot is a screenshot of our issue template 😄

Afaik this is already possible. (Russian locale - don't panic)

My point is to make it more accessible, not that it is not possible.
Having to right click twice from the taskbar icon when it is a command need is inefficient.

Now, Windows Terminal is not:

An app you have to launch often because of TDI
An app you can't make a "Run as Administrator" shortcut for. (Not directly, but "C:\Windows\system32\cmd.exe /c start /b wt" works)
An app for which the aforementioned shortcut could not be placed in the "Startup" folder, Desktop, Taskbar, key binding, etc...

I don't feel it's that much needed to duplicate an existing feature in such a unsystematic and aesthetically frustrating manner.
I know that we are talking about a product intended mainly for Windows, in which POLP is often neglected, but I do want to bring up that running something by default with elevated privileges is considered to be a bad practice.

This'll also require us to look at the newWindow key binding and the jump list (#576). I was going to close this and link it to #1032, but it's distinct and tractable enough to stand on its own. Thanks.

Yes please ! Implement it like in pwsh with JumpList tasks : https://github.com/PowerShell/PowerShell/tree/db370dcc794e2f7b3c93e00b4538f1485d937f13/src/Microsoft.PowerShell.ConsoleHost/WindowsTaskbarJumpList

I would actually love to see the Run As Administrator also in the drop-down in the Terminal application where you select which terminal you want.  This would make quick access and then I would only do it when I really needed to.  I know it would need to start up a new process, but have that process start in the terminal mode I selected and elevated would be awesome.

I see more issues with the whole app concept.
I am not a local administrator on my machine, so I elevate with another user.
The problem is, that the application is unknown in the context of this user, and because you cannot run the Store as admin or another user, you have to log with every single user you need to run Terminal as and install/update from store...

@cstueckrath that would be how apps work from the Windows Store, everyone of them work in that manner (few exceptions, but not many).
Option would be to just grab the msix file from the release page of this repository and try to install it under the context of just that user.

@wsmelton I know, and I don't mind running calculator or paint as "Apps", but for management tools? They should be available and updateable system wide.
Maybe I don't get the concept of all this, but neither of those Store-tools will be usable in my environment - and we don't even talk about those people using Win10 LTSB...

FWIW, I have literally just installed Terminal, it took me around 10-15 seconds to ask myself "how to I run a terminal as an administrator". I clicked feedback, then search open issues for "administrator" and came here....

@cstueckrath The entire "Apps" concept still has a long way to ever get to the point where Windows is a modular system consisting of "Apps", but seeing the developers attitude under Nadella, chances are that Windows will crack open its sources like NetScape back in the days, and Azure (or Outlook, or Xbox Game Pass) will be his main business long before that might happen.
As for the LTSB, Microsoft Store is not needed for .appx or .msix to be installed

I would like to add Windows Terminal to Start menu and Taskbar so that when I click it, it will start elevated. How do I do that (without right-clicking)?

Create a shortcut to "C:\Windows\system32\cmd.exe /c start /b wt", set it to be Run As administrator from properties.

yes, but instead of menu option, can't we have the simple 'sudo bash' equivalent ? we are talking about console/command line here :-)

@garyng2000 Unfortunately, it's not that simple. You may be interested in https://github.com/microsoft/terminal/issues/1032#issuecomment-496308808

I don't quite understand the #1032 issue, I assume you meant security.
What would be the difference between 'sudo bash' vs 'right click' then run as Admin on the start menu ?
I don't really need to have the 'current terminal' session to be the parent of the 'elevated shell', but just give me a completely unrelated shell is fine. The usage scenario is just 'I am already in the directory I am in and need elevation for certain tasks'. VS Code can do this too when I try to save files under '\Windows' so why the 'terminal' app cannot ?
Though not a big issue as I already have the habit of just having a few 'admin' shell opened via the 'right click' route.

For sudo bash, bash is fundamentally still running in an unelevated window, so other unelevated applications can send keystrokes to bash by sending keystrokes to the unelevated terminal window.
When you right-click "run as admin" launch a process, it spawns a new terminal window, and that window is elevated, so it's protected from input being injected by other applications.
This is the fundamental reason there isn't a builtin in-console elevation exe like sudo on Windows.
I believe that Start-Process -Verb RunAs cmd (in powershell) will actually create a new elevated console window to run the elevated process, which sounds a lot like what you're looking for.

yes, but that is a lot of typing vs 'sudo bash'(and I have to include the working directory as well which becomes even longer) :-)
I would say 90% of the usage of 'sudo bash' is what I am doing(well may be there are some exotic way in the linux world utilizing what you mentioned but I have no experience of that personally).

I've been using these context menu shortcuts:
(https://www.tenforums.com/tutorials/60132-open-bash-window-here-administrator-add-windows-10-a.html)](https://www.tenforums.com/tutorials/60132-open-bash-window-here-administrator-add-windows-10-a.html)
to be able to quick and easy open "Open command/bash window here as administrator".
Did few modifications, but some less cryptic way would be nice too:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenTerminalHereAsAdmin]
@="Open Terminal here as administrator"
"Extended"=-

[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenTerminalHereAsAdmin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd -Verb RunAs -ArgumentList '/c start wt -p cmd -d \"\"%V\\.\"\"'\""

[HKEY_CLASSES_ROOT\Directory\shell\OpenTerminalHereAsAdmin]
@="Open Terminal here as administrator"
"Extended"=-

[HKEY_CLASSES_ROOT\Directory\shell\OpenTerminalHereAsAdmin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd -Verb RunAs -ArgumentList '/c start wt -p cmd -d \"\"%V\\.\"\"'\""

[HKEY_CLASSES_ROOT\Drive\shell\OpenTerminalHereAsAdmin]
@="Open Terminal here as administrator"
"Extended"=-

[HKEY_CLASSES_ROOT\Drive\shell\OpenTerminalHereAsAdmin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd -Verb RunAs -ArgumentList '/c start wt -p cmd -d \"\"%V\\.\"\"'\""

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\OpenTerminalHereAsAdmin]
@="Open Terminal here as administrator"
"Extended"=-

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\OpenTerminalHereAsAdmin\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd -Verb RunAs -ArgumentList '/c start wt -p cmd -d \"\"%V\\.\"\"'\""

I spent about 5 minutes right clicking on the pinned icon I had for the terminal in my taskbar trying to figure out why I couldn't see "Properties" in there and use that to set it to always run as admin...
Every other application I've ever used on windows lets me set it to run as an administrator automatically using that.
Eventually I figured it was because it was a windows store app which for some reason gives it a completely different menu than everything else, but that really clashes with my expectations as a user.
Putting this automatic "Run as Administrator" feature would at least let us get parity with the functionality we as users are used to.

you just need to do it differently for this.  right click then right click on the 'app title' again and you see the menu. weird but that is how it works. true store app like the 'store' itself just can't do this 'run as admin'

you just need to do it differently for this. right click then right click on the 'app title' again and you see the menu. weird but that is how it works. true store app like the 'store' itself just can't do this 'run as admin'

I see the menu, but there's no "Properties" in there that I can set it to always run as administrator.

ah, that is not possible AFAIK for security reason. The WindowsApp is locked down, not even admin can access it so all these tricks of changing property would not work.

Just found this blog post.
Credit: Daniel-Fisher-(lennybacon)
This is a dirty approach (but man ANYWAY IT WORKS): patching lnk file to force "tick" the "Run as Administrator" checkbox.

Drag and drop Windows Terminal shortcut to desktop
Hold shift key and right-click desktop
Choose "Open PowerShell Window Here"
And paste below snippet:

$linkFilePath = "C:\Users\$([Environment]::UserName)\Desktop\WindowsTerminal.lnk"
$bytes = [System.IO.File]::ReadAllBytes($linkFilePath)
$bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON
[System.IO.File]::WriteAllBytes($linkFilePath, $bytes)

Though this is not considered as a clean & elegant approach, it still works perfectly.

About this being a duplicate of existing features: No. In the task bar, for instance, you can't select "Run as Administrator". This is btw also what PowerShell does...

Having an option like "Run as admin" within the context menu for a tab/pane would also be more accessible and let users give a particular tab/pane elevated privileges on demand.

Additionally, although possible out-of-scope of this issue, the ability to designate certain tabs/profiles as administrator.

Having admin privileges for whole terminal seems wrong to me.
Right click submenu would be nice though:

or add this option in settings.json:
{
   ...
   "commandline": "cmd.exe",
   "elevated": true
}

The restriction I see in doing that @spixy (at least from my limited understanding and dealing with other apps in Windows) is Windows won't allow you to spawn a child process as elevated while your are in a non-elevated process (wsl). I hit this at times with various applications now.

Without major changes to how WT works, one way would be to implement it the same as we have in many SysInternals, and that is to add an option to restart the entire process elevated.

It 's not the best solution, but it works for me and should solve most of comments regarding "Run as Admin" being hard to find.

@wsmelton interesting, but ConEmu can do it somehow 🤔

(orange = elevated process)

These past few comments are better suited for #632, where we're having an ongoing discussion about why it's okay for third party developers to do this but not us (right now). Please direct further discussion that is not about adding "Run as Administrator" to the Start Menu and Taskbar to #632.

Until this gets implemented those that are double right clicking to run as administrator may instead want to perform a shift-right-click which will bring you directly to a menu with the "Run as administrator" option.

Until this gets implemented those that are double right clicking to run as administrator may instead want to perform a shift-right-click which will bring you directly to a menu with the "Run as administrator" option.

When you right-click "run as admin" launch a process, it spawns a new terminal window, and that window is elevated, so it's protected from input being injected by other applications.
This is the fundamental reason there isn't a builtin in-console elevation exe like sudo on Windows.
I believe that Start-Process -Verb RunAs cmd (in powershell) will actually create a new elevated console window to run the elevated process, which sounds a lot like what you're looking for.
@zadjii-msft why not a command like sudo bash which open the whole windows terminal in a new window with elevated mode and closes the previous terminal window, that way the un-elevated window will be closed and the new window will be in the elevated mode . Let's say i open the terminal using wt -d . so that it opens in the current directory, but wt opens in non-elevated mode. So if there was an option to enter elevated mode in the current directory, that would be very useful.

Run as Administrator should have been part of the first release. Now that it hasn't I hope they get it right and make it as easy as right-clicking on a profile and selecting "Run as Administrator". It must be a profile > list option in the json config.
Something like this..
"administrator": true

@webluke Boy, would you be interested in #8455, #8514, #5000 and all its linked threads.

FWIW This will probably need #12191 to add --elevate to the wt commandline args, and then it should be fairly trivial to add a jumplist entry that points at wt --elevate.

As I understand, we do have:
Right click on terminal icon on taskbar (1) ⇒ right click on terminal menu terminal itself icon (2) ⇒ we have "Run As Administrator" option:

Nice to have:
Right click on terminal icon on taskbar (1) ⇒ right click on terminal menu, any profile icon (2) ⇒ we have only "Open" option, but want to have also "Run As Administrator" option:

I want to implement it.


demo for the angular 4

Hello Team,
If you can provide the demo for the angular 4 it will be helpful for so many guys.

this is one of the basic feature for so many sites to upload the data.
Help the community with your demo

Hoping for the demo for Angular 4 soon :+1:

@ #

[ ]

yes team,
I am also searching for this demo, please help us

There is an example here: https://github.com/florianschwanz/xlsx-drop-parse-demo

@negberts please add your link to https://github.com/SheetJS/js-xlsx/wiki/Examples with a short comment (e.g. what version of angular, what directive etc)

Done! It's not my example, but we used it as a base for our needs.

I added an example on exporting a xlsx file from an array of jsons on Angular2/4:
https://github.com/bogdancar/xlsx-json-to-xlsx-demo-Angular2

@AnupojuVenkatNaveen we added a proper example to the repo at demos/angular2 -- it shows a simple component with a data-driven table.  A file input control is provided for data import and an export button is provided for data export.
@bogdancar we added your example to the wiki!


Switching to Serializer-based Artifacts

In this PR, I am implementing a paradigm shift in the way lazyscribe considers Artifact handlers.
Artifact handlers are now based on the serializer rather than the serialized. The previous SklearnArtifact handler which leveraged joblib for serialization has now been changed to a JoblibArtifact handler. The handler handles artifacts of any kind which are Joblib-serializable (e.g sklearn model objects).
In addition to this, I fixed the following bugs:
1. Missing Artifacts in Loaded Project
When loading a project from a json in modes 'r' and/or 'a', the resulting ReadOnlyExperiment(s) is loaded without the experiment artifacts.
2. writer_kwargs
In test_experiment_artifact_load_validation,  we test changing the package version on an experiment which was just logged and remains in memory. So writer_kwargs is empty and the model object is still stored in value.
In a more realistic situation, where an experiment is being loaded from a project.json, an artifact is constructed by unpacking the artifact dictionary in the project json file. This passes expected construct params such as name, value, fname, created_at, and package. However, it also stores other class attributes which were logged to the project.json artifact dictionary such as package_version, joblib_version, and python_version. These are passed as **kwargs and correspondingly stored to writer_kwargs, leading to the artifact being created with real-time inferences of the artifact's dependency versions. So when you go to compare curr_handler with artifact, they are equal every time.
To correct this, I've explicitly separated writer_kwargs and kwargs in artifcact handlers.
3. Timestamp comparison failure in tests
In test_project.py, both test_save_project_artifact_multi_experiment and test_save_project_artifact_updated compare timestamps. The two timestamps compared in each instance include one obtained through fs.created and the other from either the created_at or last_updated param of the experiment in question. The problem I've faced in my local environment is the differing timezones adopted by these two methods. fs.created, originating from fsspec.implementations.local.LocalFileSystem, creates a UTC timestamp, whereas the experiments timestamp attributes are derived from the local timezone of the computing environment. This leads to mismatches and failed assertions in the tests.
@ak-gupta I'm yet to resolve this, though I have ideas on how to. Have you come across this?

3. Timestamp comparison failure in tests
In test_project.py, both test_save_project_artifact_multi_experiment and test_save_project_artifact_updated compare timestamps. The two timestamps compared in each instance include one obtained through fs.created and the other from either the created_at or last_updated param of the experiment in question. The problem I've faced in my local environment is the differing timezones adopted by these two methods. fs.created, originating from fsspec.implementations.local.LocalFileSystem, creates a UTC timestamp, whereas the experiments timestamp attributes are derived from the local timezone of the computing environment. This leads to mismatches and failed assertions in the tests. @ak-gupta I'm yet to resolve this, though I have ideas on how to. Have you come across this?

Hm, I have not come across this... I'm guessing I haven't run into this error because I've been running things exclusively in Docker? I think the timezone in my container is UTC


Fix example code in Custom attributes page

Fix displaying the code snippet in the Custom attributes page.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Rough Nights & Hard Days] Bad maps

You seem to have the bad versions of all of the maps from RN&HD. Pictures to follow. Note the versions at top. Newest PDF has the bad pictures it would seem.From: Mordiggian#0850wfrp4e: 3.1.0wfrp4e-core: 1.1wfrp4e-eis: 1.0wfrp4e-rnhd: 1.02wfrp4e-starter-set: 1.02

Not sure how I didn't register this initially, unfortunately I'll need to go back and take the time to remove the labels again on the new maps to fix it.


Discussion: Dynamic NFTs

NFTs have been all the craze and hype in 2021. However, they have remained relatively low-tech because they are essentially tokens linked to a URL containing static images. In other words, when you purchase an NFT, the artwork remains unchanged throughout its life.
That's why we have the idea to create dynamic NFTs, which can connect to off-chain data through oracles and "react" accordingly. For example, the NFT image would show a rocket going up when crypto prices are up and down when prices are down.
I also believe the technical implementation shouldn't be too difficult on Algorand. Each individual image of a dynamic NFT would be stored on IPFS. The NFT's on-chain metadata would hold these IPFS links. When a user requests the image URL, the NFT smart contract would request data from the oracles (crypto prices for the above example), select the correct URL accordingly, then return it to the user.
I would love to hear people's feedback regarding this idea and its technical implementation.

yes I would absolutely love to see this @tejas-kothari - some of the only generative and parametric works Ive seen have been on eth ( https://www.artblocks.io/ ) -- with the upcoming bridges rolling out to support eth < > algo, I would be curious to know if we could leverage some support of these file types in our own arcs for NFTs as it would draw a huge market and artist group from the current limited options on eth.  I am specifically interested in webGL, html, p5 etc. cc @fabrice102

Once an ABI is in place for contract-based NFTs that wallets/etc support, then I would think this would be a simple matter of returning a different URL from the URL method (like ERC721).
If you're asking about this for existing ASAs, I have a plan for this actually, and plan to create an ARC for it soon.  If you have IPFS data then you will simply be able to pass in a new hash to your contract to update an ASA it has configuration rights over.  It will only require trivial changes for NFT clients rendering NFT ASAs, and will support huge metadata references.

Solved in https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0019.md


One Time Password example

Standard username, password authentication which can be extended to include a TOTP token input
This uses the session PR in hummingbird-auth

Updated to include latest from auth.


Is Owner right required?

I went through the directions and am using azure for the first time, so the security setup was difficult for me. I'm thinking of sending a pull request that explains that part a bit better for new people. Before I do that, could you confirm that Owner rights are needed? I used contributor (because I didn't carefully read your documentation) and it seems to work well.

Hi @mhedgpeth - a PR would be great, I had a look into it and yes it looks like Owner rights are not explicitly needed at the subscription level as typically the creator of the resources in Azure doesn't need access to other resources in the subscription.

I sent a PR on the updated documentation; the contributor works best for me. Thanks!


add null byte

say that you have two files on the disc

secret.json
profile.jpg

the server allows you to read the content of any file ending with with jpg, so it is automatically suffixed with +".jpg"
readFile(path + ".jpg")

but if you could trick it maybe you can get away with reading secret.json if you say that you want to read secret.json\0whatever_not_included

In what environment does that happen ?


Add -Wasync-stack-size, automatically configure it too

Recently the wasmtime CLI switched from sync to async to handle interrupting host APIs in WASI. Previously the CLI provided no means to configure the async stack size, however, which now means that when increasing the max wasm stack the CLI prints an error that cannot be resolved about the wasm stack being larger than the async stack. This commit fixes this issue by both adding a configuration option for the async stack size and additionally automatically increasing the async stack size when only the wasm stack size is provided.
Closes #9298

I also think this'd make a good candidate for a 25.0.1 release since otherwise -Wmax-wasm-stack is a little broken right now.


More settings

Description
It would be nice if additional settings were offered, past just "send reports automatically" and "ignore wifi scan throttling"
here are some suggestions for settings (some of these were influenced by TowerCollector):

keep screen on while collecting
begin collecting at app startup
begin collecting at device boot (see: #111)
stop collecting at low battery
map tile cache size (ie. in mb, how many map tiles are cached on-device before pruning old tiles is attempted)
scanning intervals (see: #186):

location https://github.com/mjaakko/NeoStumbler/blob/26a94cb1b579e93f5faad4d90782a87c3f09ec39/app/src/main/java/xyz/malkki/neostumbler/scanner/ScannerService.kt#L79-L80
wifi
bluetooth
cell towers

uploading to multiple sources (see: #124)
disable scanning in already scanned areas (see: #11)
maximum age for locations/beacons:
https://github.com/mjaakko/NeoStumbler/blob/26a94cb1b579e93f5faad4d90782a87c3f09ec39/app/src/main/java/xyz/malkki/neostumbler/scanner/WirelessScanner.kt#L36-L40
location accuracy:
https://github.com/mjaakko/NeoStumbler/blob/26a94cb1b579e93f5faad4d90782a87c3f09ec39/app/src/main/java/xyz/malkki/neostumbler/scanner/WirelessScanner.kt#L33-L34
enabling/disabling the recording of different sources

bluetooth
wifi
cell towers

anonymize/fuzz timestamp data (see: #168)

fuzz timestamp: add random offsets to the timestamps
less accurate timestamp: only send timestamps that are accurate to a day/hour. round timestamps to the nearest day/hour & send that instead

max reports to send in one request (see: #130)
map source (see: #145)

may think of additional ones later. will update if I do.
Suggested implementation
No response
Additional information
No response
New request

[X] I have checked that a similar feature hasn't been requested yet

Could you split this into multiple issues? That way it would be easier to keep track of progress and to have discussions, thanks!
In general I'd prefer to avoid having too many settings and instead have sensible defaults. It becomes kind of pain to test all permutations when there's a lot of settings. But if there's clear benefit of making something configurable, it's not a problem

Could you split this into multiple issues? That way it would be easier to keep track of progress and to have discussions, thanks!

I made a master issue as several of these already have their own issues, and also because I didn't want to create a ton of issues on the repo as it's kinda spammy.

In general I'd prefer to avoid having too many settings and instead have sensible defaults. It becomes kind of pain to test all permutations when there's a lot of settings. But if there's clear benefit of making something configurable, it's not a problem

I do agree that sensible defaults are good, however many of these options wouldn't require testing:

modifying the scan interval: if it works with the default interval, changing that shouldn't break it
disabling different sources: if everything works with all the sources enabled, there is no reason it would break with them disabled.
anything where a constant is just looking to be made configurable

also, for many of the cases where "sensible defaults" might apply, I think there are very good justifications for wanting it to be configurable.

neostumbler could significantly increase battery usage, so changing the scanning interval or disabling scanning sources all together would help improve battery longevity
some people may want the map cache to be small so as to avoid using too much space, whereas others may want it to be larger as they often find themselves in low-reception areas


[DOC] Promptflow concepts page would be better with definitions before details

Describe the bug
Learning promptflow, I start with concepts.   Since things like flows, tools, connections, etc. are promptflow specific terms,
I think it would be good to provide some definitions in the concepts/index.md.
I'd be happy to submit some PRs to do this, as I learn...
Additional context
Hello team.   I'm a retired Microsoft dev.   I worked on Microsoft's first NLP application, Microsoft English Query, which shipped in SQL Server 2000.
Documentation only bug.

Hi @BurtHarris
Thanks for your feedback, you are very welcome to submit a PR to add some descriptions in concept/index.md, please link the pr once you finished, we will review and merge it.
Thanks very much!


implement ast.Subscript (still missing ast.Slice)

#1542

Thanks, I have tested the changes using the PPG and it works now!


Cordova - TypeError: 'Converting circular structure to JSON'

Hello Everybody. I have been following this example:
https://github.com/shrishrirang/azure-mobile-apps-cordova-client-samples
I copied the following lines:
https://github.com/shrishrirang/azure-mobile-apps-cordova-client-samples/blob/master/offline-sync-error-handling/www/js/tableManager.js#L64-L66
but when I run, I get the following in the console:
TypeError: 'Converting circular structure to JSON'
Some details that can be of interest for the devs. Exception is caught at line number 45388 of the MobileServices.Cordova.js
Stack Trace:
TypeError: Converting circular structure to JSON
    at Object.stringify (native)
    at makeCopy (file:///android_asset/www/plugins/cordova-plugin-ms-azure-mobile-apps/www/MobileServices.Cordova.js:45862:34)
    at Object.getError (file:///android_asset/www/plugins/cordova-plugin-ms-azure-mobile-apps/www/MobileServices.Cordova.js:45609:16)
    at ComparePage.OnConflict (file:///android_asset/www/build/js/app.bundle.js:166:50)
    at Object.CreateAzureClient.then._this._syncContext.initialize.then._this._syncContext.pushHandler.onConflict (file:///android_asset/www/build/js/app.bundle.js:133:73)
    at file:///android_asset/www/plugins/cordova-plugin-ms-azure-mobile-apps/www/MobileServices.Cordova.js:45878:36
    at Promise.<anonymous> (file:///android_asset/www/plugins/cordova-plugin-ms-azure-mobile-apps/www/MobileServices.Cordova.js:43585:40)
    at file:///android_asset/www/plugins/cordova-plugin-ms-azure-mobile-apps/www/MobileServices.Cordova.js:43529:68
    at ZoneDelegate.invokeTask (file:///android_asset/www/build/js/zone.js:356:38)
    at Zone.runTask (file:///android_asset/www/build/js/zone.js:256:48)

Actual call which is resulting in a conflict:
PATCH http://<IP_ADDRESS>:8090/SomeAzureMobileServices/tables/Issue/6c10a54a-c1eb-44b4-acfd-459e653ed9bc 409 (Conflict)
If any other details are required, feel free  to ask me that.

Can you check which member is causing the circular dependency? I am guessing it is either the request or response property. Also, are you using a node backend or a .net backend?

Wow, I was just reading through the source and wondered if someone would be hitting that error! :-) It happens because the internal makeCopy function just uses JSON.stringify then JSON.parse to copy objects (from the stack trace above, an error object in this case), and that has the associated stringify problems with circular dependencies.

@shrishrirang I tried to check that, but was not able to identify that. I believe the error is caused by response property. And I am using .NET Backend.

Right, it's JSON.stringify that's the culprit here. I didn't expect request / response to have any loops - bad assumption :(

Closed by https://github.com/Azure/azure-mobile-apps-js-client/pull/230


FIX-#4498: Pin protobuf<4.0 to successfully build docs

Signed-off-by: Rehan Durrani<EMAIL_ADDRESS>
What do these changes do?

[x] commit message follows format outlined here
[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #4498 ?
[ ] tests added and passing
[ ] module layout described at docs/development/architecture.rst is up-to-date
[x] added (Issue Number: PR title (PR Number)) and github username to release notes for next major release

Link: https://pypi.org/project/protobuf/#history

Given that protobuf has been yanked, I agree - lets close this!


Is there any way to just get straight tapered outputs in MMI1x2

angle=0 for the MMI1x2 seems to get rid of the output tapers entirely instead of just providing the tapered outputs without any sort of s-curves

Thanks for the report!  Right now, the length of the taper is fixed to be half the length of the S-curve for the two outputs (and for all ports in the 2x2 MMI).  In most cases, an S-curve is recommended to separate the two output port waveguides.
I suppose one way of getting around this would be to add a very slight taper -- pass a separate WaveguideTemplate instance to MMI1x2 that has a very large bending radius, and then make angle small.
I think an enhancement would be to add an optional taper_length keyword argument to MMI1x2 so the default value of 1/2 the S-curve can be overwritten.

Another workaround is to leave angle=0, and then just connect a straight Taper object to the two outputs.  This will give you complete control over the taper length, start width, end width, etc.


[Feature] Add "--exit" support to "dat pull" command

Add a "--exit" mode to "dat pull" that such that pull could check for like, 5-10 seconds, and if no changes have been made to the repo, the process would exit. This would allow dat to better support scenarios involving cronjobs or other automated periodic update scenarios.
Currently, "--exit" does not effect the behavior of "dat pull" in any noticeable way. Here's a windows example:

This is related to #892.
Offending line is at https://github.com/datproject/dat/blob/e24d8d349e459927a0f36bdaaebf815a3fe3cccc/src/lib/download.js#L35

Yes, this issue arrises when the dat is already in sync and there are no new updates, so state.download.modified is false

One other note: "dat-cp" can be a good alternative until this addressed.

Released in 13.13.0


Add option to preload a tileset or section of a tileset

This was suggested by a user on the forum.
There are times when users may need a tileset to be fully loaded before beginning play, or may want to delay at any point until a tileset is fully loaded. It would be a great feature if users could designate either a tileset to preload, or draw out a section of a tileset to preload. In practice, I imagine this would involve waiting until the tileset is fully loaded before drawing anything to the screen, presumably pausing physics and other simulation until then. This feature could be set to run when the user hits start, or triggered manually via blueprint or code.
Of course, depending on the detail of a given tileset and a user's machine, this setting could get out of hand fast in terms of performance and memory management. It also wouldn't be desirable in many situations, but is specifically helpful when users need a particular section of a level to be reliably loaded.
Maybe not top priority, but definitely a feature worth further discussion.

I transfer this to cesium-native side as it is related to the traversal system

Not sure if relevant, but CesiumJS has some similar concepts.

allTilesLoaded event listener
initialTilesLoaded event listener
preloadWhenHidden option

Just realized that this may intersect in some way with this previously-created issue in cesium-unreal about overriding the Maximum Screen Space Error for specific regions of a tileset - https://github.com/CesiumGS/cesium-unreal/issues/323
Or, at least, implementing this would likely remove the need for the other issue.


resizing from w, nw or n with a min/max size moves the window if it goes below/above the min/max size

I've got a gfy showing off what it does, https://gfycat.com/ConfusedZanyAnaconda

@kukelekuuk00
Yes, I will fix it.

@kukelekuuk00
I've published 2.1.1 to fix this issue. Please let me know if there is any more question. Thank you.

Works perfectly now. Thanks!


Question: correct way of checking for relationships?

First off, great library! I am switching a pretty big app from ember-validations (deprecated) to ember-cp-validations and it's been great so far!
I read the docs a couple times but I'm still confused on what is the correct way to check for the presence of a relationship.
// models/address.js
export default DS.Model.extend({
  address1: DS.attr('string'),
  address2: DS.attr('string'),
  zipCode: DS.attr('string'),
  city: DS.attr('string'),
  state: DS.attr('string'),
  country: DS.belongsTo('country', { async: true })
});

I currently validate this way and it works:
// validations/models/address.js
export default buildValidations({
  'country.id': validator('presence', true)
});

My understanding is that I could leverage the dependent validator (or other?) to do the same thing. But I'm not sure how to use it. Could you give me an insight? Thanks!

Hi there! Im very happy to hear you are making the switch! I think what you are looking for (in this case) is the belongs-to validator. You can do something like this:
// validations/models/address.js
export default buildValidations({
  'country': validator('belongs-to')
});

// models/address.js
export default DS.Model.extend(Validations, {
  address1: DS.attr('string'),
  address2: DS.attr('string'),
  zipCode: DS.attr('string'),
  city: DS.attr('string'),
  state: DS.attr('string'),
  country: DS.belongsTo('country', { async: true })
});

// validations/models/country.js
export default buildValidations({
  'id': validator('presence', true),
  'name': validator('presence', true)
});

// models/country.js
export default DS.Model.extend(Validations, {
  name: DS.attr('string')
});

Then you can access country validations via
address.get('validations.attrs.country.isValid')
and to grab specific validations off of country
address.get('country').get('validations.attrs.name.isValid')

Appreciate the help, that's what I needed. Thanks for your quick answer!

Np! 😸
On Saturday, April 9, 2016, Guillaume Zurbach<EMAIL_ADDRESS>wrote:

Appreciate the help, that's what I needed. Thanks for your quick answer!
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/offirgolan/ember-cp-validations/issues/155#issuecomment-207848502

--
Thanks,
Offir Golan

By doing this
// validations/models/country.js
export default buildValidations({
  'id': validator('presence', true),
  'name': validator('presence', true)
});

are not we making any new country record invalid just by validating the presence of the id?
i think what's needed here is to be able to get an isInvalid on the address model when there is no country associated and find an error in the address validations.errors for not having a country present


TAJO-1378: Incorrect version(0.8.0) info in tajo-doc

Currently, the following meta information in all Tajo documentations is still in 0.8.0. Web search engine (like google.com) will confuse them.
~~~ Apache Tajo 0.8.0 documentation

var DOCUMENTATION_OPTIONS =
{ URL_ROOT:'../', VERSION:'0.8.0', COLLAPSE_INDEX:false, FILE_SUFFIX:'.html', HAS_SOURCE: true };

Could you rebase it? It seems to be conflict to the recent changes.

Hi, @hyunsik. This code is already committed via Jihoon. :)
https://issues.apache.org/jira/browse/TAJO-1378


Update stream.js

Changes and Improvements:

Default Parameters: Added default values for start, length, and dict parameters to simplify the constructor and ensure default values are set when arguments are not provided.
Simplified Byte Retrieval: Used Math.min and Math.max to simplify boundary checks in getBytes and getByteRange methods.
Efficient Conditionals: Combined conditional checks into single lines where appropriate to improve readability and performance.
Clarified Method Logic: Reorganized the logic in methods for clarity and efficiency, making the code easier to follow and reducing redundancy.

Sorry, but we cannot accept these changes since:

Using Math.min/max may be less efficient than if-statements.
They make the code harder to read.
This fails linting.
This contains a bunch of different changes all in one patch.
The default value changes, for one, may not be generally safe.


Question: Not an issue (sorry!)

Hey,
thanks for creating this!
before i pull the trigger, should this work with this unit?
https://new-remote.com/genius-kilo-tx2-868-jlc-remote-control/67038379-p-38379.html

No.  That Genius remote uses rolling codes.  My solution only works when codes don't change.


Dividing negative one

Hi there @liuggio. First of all wanted to say thanks so much for your work on this excellent library.
We've been tracking down some really small discrepancies in spreadsheets and narrowed it down to the &Money.divide/2 function. The behavior we are seeing is:
iex(2)> Money.new(-1, :USD) |> Money.divide(2)
[%Money{amount: 1, currency: :USD}, %Money{amount: 0, currency: :USD}]

We expected this to return  a list like:
[%Money{amount: -1, currency: :USD}, %Money{amount: 0, currency: :USD}]

I think there is a cornercase with the absolute value incrementing. I've gone ahead and added a new test and some helper functions. Let me know what you think.

@jnmandal Goog job. Thanks.

Thanks @Nitrino!


Minor performance and readability changes.

Thanks for this repo! I came across this in the bioRxiv preprint. I made a few changes in the code:

Added a docstring to describe the function's purpose, arguments, and return value.
Added comments to explain the code logic and any complex computations.
Used more descriptive variable names, for example, num_bins instead of bins.
Added error checking for invalid input arguments or unexpected data shapes.
Used consistent naming conventions throughout the code, such as using underscores to separate words in variable names.
Separated the code into smaller functions with specific responsibilities to improve modularity and readability.
Used NumPy functions to simplify some of the computations, for example, np.linalg.norm() instead of np.sqrt(x2 + y2).

Hi Ajinkya,
Thanks for your proposition and pull request.
We will get back soon to the code optimization and we will look also at this.
Best,
Chiara


Possible bug in ctc_beam_search_test.cc ?

Hello,
I've found something very confusing in the above file, I can't see how line number 54 can work correctly.
 to_state->labels.push_back(to_label);

From what I can make out each child beam entry has a new state associated with it, so the to_state being passed to the ExpandState method should only ever be called with a single label, representing the current class at that time.
I'm attempting to integrate a full n-gram language model into a beam scorer and this certainly seems to be the case. In order to build a string of all characters in the beam I must make a reference back to from_state in my HistoryBeamState and traverse back up the tree.
This is not the case in the unit test though, and in fact if I log some output there I can see the to_state being reused with different to_label values. Hence the test does pass.
Have I greatly misunderstood something here or is this not what the expected behaviour should be? I notice the test has a beam width less that the number of classes in the input tensor, which I guess is not so realistic? Perhaps I'm seeing an artifact of this?
Any feedback would be great, I think understanding is correct but can't make sense of this unit test.

That file hasn't been touched in 9 months, not sure if anyone has state on it, but cc @ebrevdo just in case

Will try to look this week.

@ebrevdo Are there any updates?
Is this fixed?

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Eugene, do you think this issue is still relevant? Should it be changed to contributions welcome?

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 107 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 122 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 137 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 152 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 167 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 182 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 197 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 212 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 227 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ebrevdo: It has been 242 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

From the test author: , I don't think it's a bug, rather an overly simplified test (where state management isn't really done).


[DOCS] MiniDataAPI Spec suggestions

Issue Type

[x] Existing documentation (e.g. typos, errors, outdated information)
[ ] Suggest new documentation that is currently missing

Suggested Improvement
@pydanny I just read through the new MiniDataAPI Spec docs. It was a great read, thanks for your efforts! I made some notes on a few things that occurred to me. Hope they are useful!\
Edit by @pydanny: Added checkboxes so I can address each of these bullets in turn

[ ] I noticed that in the doc and in some of Jeremy's videos both db = Database('test.db') and db = database('test.db') functions are used interchangeably to connect to the db. Are they both exactly the same function, and is either one preferred? In the doc should we use one of them only or clarify both are OK?
[ ] Early on in the doc we learn how to extract a Dataclass version of tables. The method is clear but I wasn't exactly sure why this might be beneficial?
[ ] When we do a table transform (e.g. to add a new table field) is it also OK to change the pk to a different field? If so, do we use table transforms to update the primary key field, even if no other columns are added?
[ ] Related to the above, what other transforms are available? Can we remove fields too for example?
[ ] In the 2nd paragraph of the .xtra() section I think there is a type. 'v ia' should be 'via'?
[ ] Also in the .xtra() section, should 2 in todos be formatted as code, and show an output of False, just like 1 in todos is?
[ ] Is it OK to set more than one field at a time with .xtra()? And can we call .xtra() again at any time to update the filtering?
[ ] Is it possible to unassign a filter set with .xtra().

Confirmation
Please confirm the following:

[x] I have checked the existing issues and pull requests to ensure this documentation issue hasn't been reported before.
[x] I have read the project's documentation and am confident this issue or suggestion is valid.

I just recorded a video about the api and fastlite, including going thru this nb in detail, so some of these issues are fixed now. The Dataclass thing wasn't really documented correctly so I've removed those bits, and added a placeholder at the bottom to fix them.


patternfly new component

hi,
when wa can use the new component of patternfly as liste view toast ....  ?
is not in github repository !
thanks

Hi,
Can you please elaborate what component you are looking for?
Is it "list view" and/or "toast notifications"?
Thanks,

Dave

As of angular-patternfly v3.1.0 the "list view" and "toast notifications" should be available.
Thanks,
Dave


feat: updated spec to v0.1.0

Updated the sample to be in line with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Additionally added comments to each method on DriverServer (renamed from ProvisionerServer).

/lgtm
/approve


Scrolling for long content is not smooth inside Container

I have a component rendering a few children components.
I am running the app on mobile browser Chrome and Safari and also as a PWA on iOS.
When i render that component inside a full screen material dialog the scroll is fine smooth and fast as expected.
However, when i render that same component inside a Container component (see following code), the scrolling is slow and not smooth.
The behaviour is exactly same as described in the dialog API page (Scrolling long content
section), but i can't see any similar property(scroll=paper or body) on Container component API.
Any thoughts? What am i doing wrong here?
Styles object:
const useStyles = makeStyles(theme => ({
  root: {
    display: 'flex',
    justifyContent: 'center',
    alignItems: 'center'
  },
content: {
    flexGrow: 1,
    height: '100vh',
    overflow: 'auto',
  },
  container: {
    paddingTop: theme.spacing(4),
    paddingBottom: theme.spacing(4),
    justifyContent: 'center',
    alignItems: 'center'
  }
....
}

And inside the function where i render the component with the weird scroll issue:
....
<main className={classes.content}>
  <Container maxWidth="lg" className={classes.container}>
       <MyComponent/>
  </Container>
</main>
.....

@andrewBsk Please provide a full reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!

@andrewBsk You should be interested in https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling.

Yeap, that was it, thanks :)


RFC: Multimodal Eval Enablement (Looking for Developer to Implement Design)

🚀 The feature, motivation and pitch
Please note that since the actual implementation is going to be simple, and the design has already been reviewed, the purpose of this GitHub Issue is to look for a developer to implement this feature ASAP.
LLM eval stands for the process of assessing the perplexity, performance and capabilities of LLMs, usually by having the model complete one or a series of tasks and assigning them scores. Torchchat is already using EleutherAI’s lm-evaluation-harness to do eval on text LLM (code pointer). Recently, torchtune has worked with EleutherAI to enable eval on text-image models in the harness, and has integrated this feature into torchtune (code pointer). Torchchat wants to just copy that solution from torchtune for text-image models.
Without the ability to do eval on multimodal LLMs, the enablement of multimodal LLMs on torchchat is incomplete. It’s critical to understand how well torchchat performs with image inputs.
Additional context
Assumptions

The eval for text LLMs is already enabled on torchchat. Code pointer to the core eval function and the main function.
The Llama 3.2-11b multimodal model has been onboarded to torchchat, and in the future there will be more multimodal LLMs on torchchat.
EleutherAI’s lm-evaluation-harness has enabled eval on llama3.2-11b, thus we don’t need to make code changes in EleutherAI repo.

The Main Goal
A torchchat user can run eval on the llama 3.2-11b model (which image-text-in, text-out). Note that we don’t need to worry about the internals of how the eval happens because we will only be calling the EleutherAI’s eval libraries and report the metrics it returns.
The user interface will be a commandline python torchchat.py eval <model-name> with additional arguments specifying detailed requirements for the eval tasks.
The result will be printed out on the terminal which include the following metrics:

Tasks that have been run
The score to each task
The time it took to run each task

RFC (Optional)
Design
Overview
In this design, the multimodal eval in torchchat will borrow from the implementation of multimodal eval in torchtune which utilizes EleutherAI’s lm-evaluation-harness. The reason we can do this is that torchchat uses the same Llama 3.2-11b model definition as torchtune.
Details
The Core Eval Implementation
[Preferred] Approach A: import the implementation of HFMultimodalLM from torchtune directly
The easiest implementation is to import the implementation of HFMultimodalLM directly from torchtune, then call evaluate() with this wrapper class passed in.
Here’s torchtune’s implementation of HFMultimodalLM: code pointer.
Pseudocode:
# In eval.py
from torchtune.recipes.eleuther_eval import _VLMEvalWrapper

if model is text-based:
   do the existing text-based model eval
elif model is text-image-based:
   eval_results = evaluate(_VLMEvalWrapper(...))

The pros and cons of this solution is discussed in the following “Alternatives Discussion” section. This solution should be the one to start with given how quick it can enable multimodal eval on torchchat. If for some unforeseen reason that it doesn’t work, then take the following approach that requires more work.
Approach B: copy the implementation of HFMultimodalLM from torchtune

Creating a wrapper class that overrides class HFMultimodalLM, which is an abstract Hugging Face model class for multimodal models. The implementation of this class can be copied from torchtune, code pointer.
Then call evaluate() with this wrapper class passed in.

Pseudocode:
# In eval.py
from lm_eval.models.hf_vlms import HFMultimodalLM
from lm_eval.evaluator import evaluate

class VLMEvalWrapper(HFMultimodalLM):
   ...# implementation

if model is text-based:
   do the existing text-based model eval
elif model is text-image-based:
   eval_results = evaluate(VLMEvalWrapper(...))

The Commandline Arguments
User command should be python torchchat.py eval llama3.2-11b + some optional arguments.
In terms of implementation, reuse the same cli entry point as the text eval: torchchat.py, eval.py. Then in def eval(), have an if-else to decide which eval wrapper (GPTFastEvalWrapper or the new VLMEvalWrapper) to use based on model type.
Alternatives Discussion
Discuss the pros and cons of importing torchtune’s implementation directly
Pro:

Easy to implement because it’s just an import
Consistency between torchchat and torchtune
Easy maintenance for us
Torchtune has a better relationship with EleutherAI

Cons:

Hard to customize the implementation for torchchat’s needs
For some models, we use model definitions that are different from torchtune’s
We rely on the compatibility on their side
We have more dependency on torchtune

Testing & Tooling Plan
Run command python torchchat.py eval llama3.2-11b with different parameter combinations.
The expected output is the tasks that have been run, their scores and the time it took to run each task.

Thanks Olivia for the RFC!
I would like to provide the third option: creating our own VLMEvalWrapper, but instead of coping-and-pasting the implementation of HFMultimodalLM from torchtune, we can make it inherit from HFMultimodalLM.
I think such way can have following benefits:

Easy to implement. First version we can make VLMEvalWrapper a simple wrapper on the top of HFMultimodalLM without any other add-ons, so that it is just an import at very beginning
Easy to maintain for us and deduplicate code across different repos
Make torchchat as lean as possible. The starting point of torchchat would always a small codebase showcasing the ability to run large language models (LLMs) seamlessly.
Keep the customizing ability. We can always add new functions or even overwrite the existing functions for our own model definitions or other purpose
Make eval.py lean and easy to maintain.  Personally, I would like to eliminate as much if-else statement as possible during the validating process, to avoid bloated code and unclear logic (that's what we plan to do on generate.py and build.py).  Creating our own VLMEvalWrapper can help us create a structural validation logic (e.g. absorb current text-only validation logic into the class.)

Please let me how's that feel

I would like to take this up, can try to help out in this.

Approach A

Thanks Olivia for the RFC!
I would like to provide the third option: creating our own VLMEvalWrapper, but instead of coping-and-pasting the implementation of HFMultimodalLM from torchtune, we can make it inherit from HFMultimodalLM.
I think such way can have following benefits:

Easy to implement. First version we can make VLMEvalWrapper a simple wrapper on the top of HFMultimodalLM without any other add-ons, so that it is just an import at very beginning
Easy to maintain for us and deduplicate code across different repos
Make torchchat as lean as possible. The starting point of torchchat would always a small codebase showcasing the ability to run large language models (LLMs) seamlessly.
Keep the customizing ability. We can always add new functions or even overwrite the existing functions for our own model definitions or other purpose
Make eval.py lean and easy to maintain.  Personally, I would like to eliminate as much if-else statement as possible during the validating process, to avoid bloated code and unclear logic (that's what we plan to do on generate.py and build.py).  Creating our own VLMEvalWrapper can help us create a structural validation logic (e.g. absorb current text-only validation logic into the class.)

Please let me how's that feel

I think this makes a lot of sense! Thanks for writing it up. Let's prefer this over the Approach B above. I'll still prefer to get Approach A work first if possible, given how simple that can be.

I would like to take this up, can try to help out in this.

@Vishnu-sai-teja That'd be awesome! Please go ahead and take it. Looking forward to it!

I would like to take this up, can try to help out in this.

@Vishnu-sai-teja That'd be awesome! Please go ahead and take it. Looking forward to it!

@Vishnu-sai-teja Once you have an ETA for a PR, please kindly let us know!

Hi @Olivia-liu,
I plan to submit the initial PR in 3-4 days. Here's the brief timeline:
Day 1-2: Study existing eval implementation and HFMultimodalLM class
Day 3-4: Implement VLMEvalWrapper and integrate with eval.py, along with basic testing
As a newbie to the codebase, this timeline ensures a quality implementation while I thoroughly understand it. Let me know if you need any adjustments.
Thanks!

Sounds great, thanks for contributing!
@Olivia-liu is OOO for a bit, so I can help with any questions/blockers you might run into

You are also welcome to join our slack channel to chat with us.
Please see https://github.com/pytorch/torchchat?tab=readme-ov-file#community-contributions for more info.

@Vishnu-sai-teja, hey checking in! Still able to take this one on?

@Vishnu-sai-teja, hey checking in! Still able to take this one on?

Hey tried to implement both ways, getting errors in the torch time imports while running the evaluation for the torchchat.

@Vishnu-sai-teja, hey checking in! Still able to take this one on?

Hey tried to implement both ways, getting errors in the torch time imports while running the evaluation for the torchchat.

Easiest to discuss if you join the slack channel.
But we can do it here if that works best.
Can you share a link to your branch, the commands you ran and the full output you got?

hi @Vishnu-sai-teja just wanna check if everything is ok here.
If you need help, feel free to share branch or any info here, or using the slack channel wo share with us.

Looking for new assignee(s) of this Issue


RFC: API: Counter: counter_read() has no way of indicating failure

Introduction
The counter API has a method for reading the current counter value with the following function prototype:
u32_t counter_read(struct device *dev);

This API function does not allow any standard way of indicating a "read failure" since the return value is just the raw, 32-bit counter value.
Problem description
Counters, like most other devices, may be connected to the SoC/MCU using an external bus (I2C, SPI, ...) where communication errors can occur. Our current counter API allows indicating failures from all other API functions than the counter_read() function.
Proposed change
I suggest introducing a new counter API function for reading the counter value with the current function prototype:
int counter_get_value(struct device *dev, u32_t *ticks);

This new API function will effectively replace counter_read(), which can then be deprecated. During the deprecation period, counter_read() can be implemented using the newly introduced counter_get_value() API function and return 0 if counter_get_value() returned a negative error code.
Detailed RFC

Introduce counter_get_value() counter API syscall and handler
Deprecate counter_read() counter API syscall and handler and reimplement it using counter_get_value()
Introduce counter_api_get_value() typedef to replace existing counter_api_get_value()
Update all in-tree counter drivers to match the new counter driver API (most will just return a value of zero)

Proposed change (Detailed)
See above.
Dependencies
This change will require users updating any out-of-tree counter drivers, but the application API can remain the same during the deprecation period.
Concerns and Unresolved Questions
None so far.
Alternatives
None so far.

Sounds ok. Counter API was initially created for internal peripherals thus direct readout but as it fits external devices then it should be extended.

Great. Thanks for your feedback. What is the next step here? Should I create a pull request?

Great. Thanks for your feedback. What is the next step here? Should I create a pull request?

Yes, and you can also deprecate counter_read() in the same PR. Since this is not a Stable API change (without deprecation) you don't need to do anything extra in this case.