Remove pydantic dependency from python client

The DJ server should continue to use Pydantic for API input / response validation, but the python client does need to depend on pydantic and can instead use something from the standard library like dataclasses. This change is motivated by the fact that pydantic could conflict with other libraries in codebases that want to use this client, and the dependency is largely unnecessary for the client interface anyway.

I can take this one. Is the motivation that the server will validate input anw, so the client can shirk this responsibility?
I see pydantic being used in 3 places:

Do you mean replacing the pydantic models here with just dataclasses?

There's some validator code to parse catalog when it's a dict: code. Remove or refactor? When is catalog a dict?

ClientEntity(BaseModel).   That means users don't get early error during instance initialization, and only later when submit the API request, right? Probably fine since I expect most uses of the client is to submit the API request, not to construct/manipulate Node objects, anw.

Thanks @anhqle!
Yeah, since the server will always validate input, I don't think we need this additional layer in the client.

Do you mean replacing the pydantic models here with just dataclasses?

Yep, we should be able to just use dataclasses. Or regular classes where appropriate.

There's some validator code to parse catalog when it's a dict: code. Remove or refactor? When is catalog a dict?

The list of available catalogs are stored in a database table, and oftentimes when it's returned by the DJ API, it will be a dict representation of the table row. The parsing that happens here is because most users don't care about the additional server-side info on the catalog that's provided in the dict; they just want the catalog name.

ClientEntity(BaseModel).  That means users don't get early error during instance initialization, and only later when submit the API request, right? Probably fine since I expect most uses of the client is to submit the API request, not to construct/manipulate Node objects, anw.

Yeah, let's convert this to a regular class. If we want an earlier layer of validation, we'll need to be very on top of updating the client to make sure that the data models are up-to-date with the latest server versions, so I tend to think it'll be easier to maintain if we keep most of the validation server-side.

I took a crack at this. Other than the data validation, the current code makes use of several features from pydantic:

export to dict. dataclass can do this leveraging dataclass.asdict(dict_factory)
ingest from json. This is hard to do since the models can be nested, e.g. Source(columns: List[Column]). I'm not sure how to this.

Hmm, I forgot that we ingest from json.
@agorajek do you think it's actually useful from the user perspective that we have objects for some of the responses/nodes like Source or do you think we can get away with having the client just return dictionaries?
Then we could remove things like:
        source_node = Source(
            **response.json(),
            dj_client=self,
        )

If the original motivation of removing pydantic 1.0 as a dependency so that the client can be imported by other libraries, one option is actually to upgrade pydantic from 1.0 to 2.x

@anhqle I think part of the issue is that if the other library is using a version of pydantic that differs from this one, it'll have issues. So even if we upgrade (which makes sense), we'll still have potential compatibility issues. In the long run it's probably safer just to either remove or implement the json functionality within the lib, so that we're not dependent on pydantic.


Download model weights connection timed out

Hi, I am trying to download the weights of the model, but get:
Downloading data from https://public-asai-dl-models.s3.eu-central-1.amazonaws.com/ISR/rrdn-C4-D3-G32-G032-T10-x4-GANS/rrdn-C4-D3-G32-G032-T10-x4_epoch299.hdf5

File "flask_cam.py", line 89, in gradcam
    rdn = RRDN(weights="gans")
  File "/dev_data/wlh/conda/envs/noisy/lib/python3.8/site-packages/ISR-2.2.0-py3.8.egg/ISR/models/rrdn.py", line 91, in __init__
    weights_path = tf.keras.utils.get_file(fname=fname, origin=url)
  File "/dev_data/wlh/conda/envs/noisy/lib/python3.8/site-packages/keras-2.11.0-py3.8.egg/keras/utils/data_utils.py", line 304, in get_file
    raise Exception(error_msg.format(origin, e.errno, e.reason))
Exception: URL fetch failure on https://public-asai-dl-models.s3.eu-central-1.amazonaws.com/ISR/rrdn-C4-D3-G32-G032-T10-x4-GANS/rrdn-C4-D3-G32-G032-T10-x4_epoch299.hdf5: None -- [Errno 110] Connection timed out

Then, I turn to load the model with the weights in weights/xxx/xxx.hdf5, and get
  File "flask_cam.py", line 90, in gradcam
    rdn.model.load_weights(
  File "/dev_data/wlh/conda/envs/noisy/lib/python3.8/site-packages/keras-2.11.0-py3.8.egg/keras/utils/traceback_utils.py", line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
  File "/dev_data/wlh/conda/envs/noisy/lib/python3.8/site-packages/h5py/_hl/files.py", line 406, in __init__
    fid = make_fid(name, mode, userblock_size,
  File "/dev_data/wlh/conda/envs/noisy/lib/python3.8/site-packages/h5py/_hl/files.py", line 173, in make_fid
    fid = h5f.open(name, flags, fapl=fapl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 88, in h5py.h5f.open
OSError: Unable to open file (file signature not found)

Maybe the network wall in China blocks the connection. Are there any solutions?
Thanks in advance!

did you ever resolve this? I'm in China too

可以在Windows上开梯子下载，但是下载后应该放到哪个文件夹下？weights吗？
You can use vpn on Windows to download, but which folder should you put it in after downloading? weights?


import options -g and -s are unclear

I've read the docs, but I can't figure out what the difference is between import -g and import -s and import -gs if I run them on a directory containing tracks from multiple albums.  I think this should be clarified.  :)

Hi,
$ beet import --help
[...]
  -s, --singletons     import individual tracks instead of full albums
[...]
  -g, --group-albums   group tracks in a folder into separate albums
[...]

I'm not sure what's unclear about that:

s will consider each file separately
g will try to split tracks in a folder into multiple albums
gs will... well it does not make a lot of sense. Indeed when I look at the code (beets/importer.py:292) -s will override -g, so -gs is equivalent to -s.

If I may, the phrasing is not crystal clear and may be improved. "import
individual tracks instead of full albums": as a dumb user, I'll think: "but
when I'm importing full albums I'm also importing individual tracks, no?".
So maybe something like "do not assume tracks in the same folder belong to
the same albums", but is it the real meaning of it? Does it mean "Do no try
to regroup tracks by album, use directly their album tag if any"?
For "group tracks in a folder into separate albums", maybe it would be more
clear to say "When atempting to regroup tracks by album, allow mutliple
track from a folder to belong to different albums"
And last: if -gs do not make any sense, better disallow it, I guess.
On Mon, Mar 23, 2015 at 5:36 PM, Bruno<EMAIL_ADDRESS>wrote:

Hi,
$ beet import --help
[...]
-s, --singletons     import individual tracks instead of full albums
[...]
-g, --group-albums   group tracks in a folder into separate albums
[...]
I'm not sure what's unclear about that:
s will consider each file separately
g will try to split tracks in a folder into multiple albums
gs will... well it does not make a lot of sense. Indeed when I look at
the code (beets/importer.py:292) -s will override -g, so -gs is equivalent
to -s.
—
Reply to this email directly or view it on GitHub.

Well, maybe I haven't drunk enough beet juice to understand (ha), but this still seems very ambiguous to me.
For one thing, what if I'm using copy: no and write: no?  Do these options do anything then?
Besides that, the whole idea of importing tracks in a directory as a single album doesn't make sense to me in the first place, because the directory the tracks are in ought to be irrelevant when importing, because the album should be determined by the track's album tag.
For example, in my music collection, I have some tracks that are well organized in a defined structure like artist/album/title.  But for some tracks, depending on when and how I acquired them, and whether I've taken the time to retag and organize them, and whether I have an entire album's tracks, there might simply be a directory for the artist with several tracks in it from mixed albums.
So if I decide to import some music into beets, it might be from one of the artist/album/title directory structures, or it might be from an artist/track structure.
Now if it's from the former, it seems straightforward to import them in a directory = album kind of way.
But if it's from the latter, then it is confusing: if I don't specify -s, will Beets determine that all the tracks in the directory are from the same album, regardless of their metadata?  Or will it import them without any album tag at all, since it's "importing tracks instead of albums"?  What if I use -g?  Does that mean that it will use the track's album tag to determine its...album tag?
What does it even mean to "group tracks into an album"?  How would one import tracks without "grouping them into an album"?  I thought one of the major ideas of Beets was to canonicalize the metadata.  So would that mean that -s would ignore the album tag completely?
I don't understand the idea of importing all the tracks in a directory "as an album" or "into an album", because a track's album should be determined by its album tag, not by its directory.  My music manager shouldn't care about a track's file path, and when I'm browsing or searching my music collection, I shouldn't have to care about that either.  If I choose to reorganize my tracks into a certain path/filename structure (like I do with Clementine), that's nice, but it shouldn't ultimately matter.
Do you see what I mean?  I'm used to the Amarok/Clementine style, in which you have a root directory for your music collection, it scans everything in it, and then you browse by metadata.  If you choose, you can have it reorganize the file structure for you, but that's optional.  To "import" music, you simply copy the files anywhere in ~/Music or whatever, and it picks up the file, adds it to the database, and then you can see it in the library.  If you choose, you can have it "Organize" the files for you and put them at certain paths in your library, but that's orthogonal to "importing" the files into the collection, which really amounts to detecting the tracks and adding them to the database.
I hope I've explained better this time.  :)  Thanks.

Hi, did you use Picard tagger for MusicBrainz? I used it a lot and to me beets is primarly a "Picard on the command line". It can also do much more than Picard, but it's basic task is to get some tracks, and try hard to find its canonical metadata on MusicBrainz.
To do that, it can be very helpful to temporaily regroup tracks by whatever hint is available. In Picard it is called clustering I think. Why is it useful? Because, for example, you could have an album which has 12 tracks, and another release of the same album which have 13 (includes a bonus track). Then you cannot consider tracks individually, you have to know/guess how many tracks are in the "cluster" so you can increase the likeliness of a good match on MusicBrainz.
I still agree that the wording of -s and -g could be improved, but I guess both are useful for some cases.

Hi, yes I often use Picard to fix up tags.  I see what you mean about having multiple, similar tracks from slightly different albums.
If all Beets does is use the grouping as a hint, that's simple enough.  From the docs, I couldn't tell if it was doing that or using it as a hard rule.

Directory grouping is a hard rule, except for multi-disc albums (for which the heuristic is also documented) or unless you specify -g. It looks like the behavior you're expecting is -g, so I'd recommend turning that on in your config file.
More documentation is always welcome. There's not much more we can explain in a single line of text in the beet help output, but sentences in the "getting started" guide or the CLI reference page could indeed be helpful.

Respectfully, I still think the help output needs to be changed.  If a user (i.e. not a Beets developer ;) has to consult the reference manual to figure out which option to use for basic functionality (importing is about as basic as it gets), then I think that's a problem.
The help for -s and -g is still ambiguous.  For a very common use case (a directory containing tracks from different albums), a new user would have no idea which option to use.  Contrast with other solutions like Picard, Clementine, etc, which seem to just do the right thing without having to read a reference manual.  ;)

Sure, we can always do better—do you have ideas for short, one-line summaries that would be clearer for those two options?

I would be glad to give some ideas, but short of reading the Beets code myself, I still don't know what the difference in outcome is between -g and -s.  From what I've gathered, both options allow tracks in a single directory to be assigned album tags independently, rather than being forcibly considered part of a single album (the default behavior?).  So what is the difference between them?  When would I want to use one and not the other?
And I still wonder, what if two totally different tracks were in a single directory--say, a classical track and a heavy metal track--and neither -g nor -s were used on import.  What would happen?  Would Beets pick one track, get its album, and then assign the other track to be from the same album, even if the match was something like 0% (which would effectively lose data, erasing that track's original metadata, which may or may not be available from MusicBrainz)?
I'm sure this seems obvious to those who've written the code, but to a new user, the intended behavior is not at all clear, and I don't even know how to explain it yet myself.
I wonder if the two options should be refactored into a single option, or somehow reorganized in a way that seems more distinctive.

Take a look at the parts of the docs that describe "singletons" in general. -s adds music to your library in that mode, and metadata for individual tracks is looked up separately, per-track. In -g mode, as in the default, albums are tagged together, an album at a time, and the database keeps them grouped together.

Ok, I searched the docs for "singleton" and probably the most helpful part was a changelog entry that mentioned it.
I think maybe there are a few separate yet related issues that are confusing me.

The database model.  When you say "the database keeps them grouped together," do you mean that, to Beets, an album is more than simply tracks with the same album tag?  I saw mention of an "album object" in the API docs.

This seems confusing to me, because in all the other music library software I've used, an "album" is simply a set of tracks sharing the same album tag, e.g. SELECT FROM tracks WHERE album LIKE "Album Name".  I'm getting the impression that Beets somehow layers another album-gropuing abstraction on top of this, independent of tracks' metadata.
If this is correct, well, I understand that it's probably pretty fundamental to how Beets works, so it's probably not something you'd want to change.  But it seems to me that it may not be a good idea, for a few reasons:
a) it's confusing to new users (at least, to this one ;)
b) it's unlike just about any other music library software
c) it seems to restrict flexibility
d) it increases the risk of matching tracks to the wrong album and therefore setting their metadata incorrectly (and possibly losing existing, accurate metadata)

Importing.  I have the impression now that if I do not use -s, Beets may attempt to "force" a track into an album which it is not a part of, regardless of its match probability score, and so it risks overwriting accurate metadata with completely inaccurate metadata.  (I realize that it's set by default to prompt before doing this, but it's easy to make a mistake when going through many prompts requiring manual confirmation.)

This just doesn't seem like a good idea to me.  To use a poor analogy, it seems like the "gun" is, by default, "aimed near the user's foot," and depending on -s and a track's match probability, it may or may not become "aimed at the foot" when a prompt appears...and if the user chooses the wrong answer, it may be "fired at the foot" instead of being aimed away.
I know that when I was doing some test importing, there were many tracks which had low match scores (even quite a few at 0%), and it felt laborious and error-prone to read through all the incorrect, potential-match choices, look at the score, look at the list of actions, figure out which one was correct (or least risky), and then make sure I pressed the right key.  Doing this for tens, hundreds, or thousands of tracks, it seems nearly guaranteed that most people will make some mistakes, potentially replacing existing metadata with incorrect metadata.
It seems to me that Beets should consider tracks independently by default so that this is not a risk.  A potential "force-square-tracks-into-round-album-holes" mode should not be the default.  Ideally it shouldn't even be necessary, because each track should be independently identifiable.  Of course, I recognize that a process like this is full of non-ideals, so a kind of advanced mode that would take less-identifiable tracks and use more-identifiable tracks to help identify them makes sense to have available.
I suppose that, for me, the bottom line is that when importing, Beets should always default to the safe option unless a more advanced, potentially dangerous mode is manually enabled.  I want to feel confident that Beets will never overwrite metadata with low-probability matches unless I manually force it to.
To try to sum up:

I think album grouping might be better served by simply matching on the album tag rather than having an extra album-grouping layer.
Perhaps importing should default to singleton mode to avoid the "square-track-in-round-album-hole problem."  It would be the safer option.  Users could always manually use the album-grouping mode and reimport tracks that are difficult to identify as singletons.

Album structures in the database are essential for (a) disambiguating between different albums with the same name, which is important to a surprising number of people, and (b) keeping track of per-album metadata, such as album art.
Per-album importing is essential for getting certain metadata, like track numbers, consistent. I totally understand that it doesn't fit everybody, though, which is why you can put "singletons: yes" in your config file.
To be clear: I really appreciate your input and perspectives, so please keep them coming, but neither of these fundamental assumptions is going to change without a tremendous amount of effort.

I understand.  You're right about albums with the same name, which I'm sure is not uncommon.
I guess to sum it all up, I was expecting importing in Beets to work like tagging in Picard when you simply pass it a list of files or a directory containing random tracks.
Maybe it would be good to add a paragraph in the getting started guide explaining that most users might prefer to use singleton mode at first, since it would probably be more familiar and less likely to cause tagging mistakes.
Thanks for your patience reading my ideas.  I hope I can figure out a way to make Beets "work for me,"  because it seems really nice.


Make just changelog dump changelog since last release (0.1.0)

Both commitizen changelog and convco changelog can do this. Pick a suitable one, with appropriate arguments.
It would be good to see the changelog as we make conventional style commits right now, rather than get surprised during next release.

convco changelog is ignoring the rev range, so I am sticking with cz ch for now.


BQ: Write integration test to demonstrate functionality of the library

Implement an integration test that demonstrates correct functionality of the generated (+ hand-written resumer) BQ library.

We should be able to use the public data sets at https://cloud.google.com/bigquery/public-data#sample_tables
In particular, the Shakespeare dataset would be good as it's relatively small at only 165k rows.


Reprocess all historical data

Related: https://github.com/ooni/pipeline/pull/356 https://github.com/ooni/backend/issues/192 https://github.com/ooni/backend/issues/176 https://github.com/ooni/backend/issues/416 https://github.com/ooni/pipeline/pull/356


Fix vcf no ind

ping @dnil

Coverage increased (+0.02%) to 80.31% when pulling 269bf31c6b9c5401949b115051682b946fffd4b7 on fix-vcf-no-ind into ed77464e1cdc93d317049c5734f00dbd91ba7ab7 on master.

Thanks!


Implemented Iterative DFS

Title: Added implementation for Iterative DFS in Java, C++, Python

Issue Link:
Fixes #43
Changes Made:

Created a new folder DFS_Iterative/ containing:

dfs_iter.java (Java implementation for prefix sum)
dfs_iter.cpp (C++ implementation for prefix sum)
dfs_iter.py (Python implementation for prefix sum)
README.md (Documentation for the DFS_Iterative folder explaining the implementation)

Updated RoadMap.md to include a hyperlink to the DFS_Iterative/ folder and checked the relevant box for it.

Checklist:

[x] Added code in Java, C++, and Python.
[x] Updated RoadMap.md with a checkbox and hyperlink to DFS_Iterative/.
[x] Verified all files compile/run without errors.
[x] Added meaningful comments and test cases in the code.

You don't mark the nodes as visited when they are inserted in stack, they are marked visited when they are popped out of stack

Are you working on this issue? If yes, then complete it by tomorrow


Could I use non-textual SourceCode?

I'm working on an application that lets you graphically define machine learning pipelines (imagine drawing a flowchart on an interactive canvas) and I was thinking of something like miette for reporting diagnostics.
The thing with my application is that we aren't attaching diagnostics to specific sections from some source text, there isn't even any text/file to annotate, instead I'll be associating diagnostics with objects in memory and displaying pop-ups or changing the element's styling appropriately.
Do you have any suggestions for how I might manage the diagnostic's location information? Looking at the way the types are structured, I don't think my use case will be compatible with the existing SourceCode and SourceSpan abstractions, will it?

I mean, if your end goal is to be able to print these things as text in the terminal and point to specific points, then yes, miette can handle it. The catch is that you need to figure out a good abstraction for your SourceCode (which doesn't have to be plain text to start!) So, basically you need to figure out how to implement SourceCode in a way that makes sense for you, and you should be good. If you don't intend to ultimately represent the output as text of some form (even "graphical" text), then miette is probably not what you want :)


CI: fix routing test timeout

Now it's only 10s on local machine!
 PASS  src/__puppeteer__/offline.test.js (5.987 s)
 PASS  src/__puppeteer__/routing.test.js (8.24 s)
 PASS  src/__puppeteer__/demo.test.js (9.656 s)


Ryuk container not removed

While using the reusable container feature in #1781 the ryuk container will not be destroyed when manually stopping the testcontainer.
For example when starting an OracleContainer which has already been started and is being reused it won't destroy the "latest" ryuk container which has been created.
GenericContainer container = new OracleContainer(..)
  .withReuse(true)
  .start();
container.stop()

After further inspections it doesn't matter whether it already has a container or not.

@jsauvain
I just tried running a code that is similar to yours and it seems to work. Please share a demo project.

I found out that the ryuk container won't stop because it runs in the context of gradle. By using the --no-daemon option the ryuk container will shutdown. I don't know whether this is a bug, or not

This is not a bug, Ryuk runs as long as the JVM that started it runs.
Since Gradle runs a daemon, it is expected that Ryuk will be running until you stop the daemon.


Add proxy agent if http/https proxy is specified

All our ourbound traffic has to go via corporate proxy, I believe this was already mentioned in https://groups.google.com/forum/#!searchin/mountebank-discuss/corporate|sort:relevance/mountebank-discuss/L7ZoBlZaqw0/PgbuycmUBAAJ

Coverage remained the same at 91.971% when pulling 02780dccbc43e2353577102bc8cda116b9239638 on bezda:master into 9b3e63246e6078bd2f33bfe4d35b083d60f64c09 on bbyars:master.

Thanks!

Thanks for merging, are you planning a release any time soon?

Yup, just released :)
On Sun, Aug 14, 2016 at 11:18 AM, Tomas Bezdek<EMAIL_ADDRESS>wrote:

Thanks for merging, are you planning a release any time soon?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/bbyars/mountebank/pull/157#issuecomment-239682162,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAESvwfgWQwWj3q_PenO7ngSXRH3DrKAks5qfz-5gaJpZM4JjIVG
.


Unify configuration in Stargate v2 services

Currently we have a mix of different approaches:

command-line arguments managed with the "airline" library, for example in RestServiceStarter
Dropwizard options, for example sgv2-restapi/src/main/resources/config.yaml
system properties loaded at random places in the code, for example BridgeConfig.ADMIN_TOKEN (this one is mine, but there are others in the v1 code)

We should centralize options in one place. I think command-line arguments is the best place, as they are documented and easy to find.

This is addressed by other issues/PRs that migrated GraphQL and REST APIs to Quarkus framework.
#1892
#1980


Halo mythic 3_dot_5 fix

Changes / Comments
🟩 5 Expandable shield and armour block values need to be seperated
🟩 6 Allow scatter macro to accept negative values through abs()
🟩 7 allow for DOS to be exact or rounded down
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[Y] Does the pull request title have the sheet name(s)? Include each sheet name.
[Y] Is this a bug fix?
[Y] Does this add functional enhancements (new features or extending existing features) ?
[N] Does this add or change functional aesthetics (such as layout or color scheme) ?
[none removed] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
(https://wiki.roll20.net/Building_Character_Sheets#Roll20_Character_Sheets_Repository) ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Added few cool things!

You can enter inside it, wow!

Community Contribution
Link to live project, video, or image:

Sharing

[x] I would be happy to have my project shared on The Coding Train's social media!

Instagram:
Twitter:

Looks great thanks for sharing!


Add pre-processing link

Add a pre-processing link for lightning-creek-magnetic.py as requested in #39

Relevant issues/PRs:

Hey @MGomezN just checking in here 👋🏾. Let know when you're ready or need any help with this.

@MGomezN for reference, this check was failing after I merged in the suggestions I made through github: https://github.com/fatiando/ensaio/actions/runs/3298037710/jobs/5439631739#step:6:9
Run make flake8
flake8 ensaio doc tools
doc/gallery_src/lightning-creek-magnetic.py:21:29: W291 trailing whitespace

flake8 is a tool we use to check the style of the code for common mistakes and consistency. One of those checks is making sure lines of code or documentation don't have a trailing white space at the end. When I code on my computer, I setup my editor to automatically remove these when I save a file. But on GitHub, it didn't do that so the check caught it. To fix this, I went into line 21 of the that file and deleted the whitespace at the end of the line.

Merged! 🎉 Please add yourself to the AUTHORS.md file. Thanks for the help with this @MGomezN! Hope it was a useful learning experience.

Oh, Leo! It was a helpful learning experience for me, but for you, OMG, it was more like a nightmare-Halloween experience, didn't it? It takes 10x times as to fix my mistakes than do it yourself. But you are a committed teacher, and I appreciate that. I will do it better next time!

Not at all 🙂 Sure, I could have done it faster but I also have little time to spare and won't be around forever. So it's a selfish investment to teach you so I don't have to do things in the future 😬 My goal is to eventually sit back at the beach and watch Fatiando run itself 🍹

My goal is to eventually sit back at the beach and watch Fatiando run itself

Mmm that's exactly what I'm doing right now :)


[Question]: The local server fails to run

Describe your problem
Hello, I successfully deployed and ran ragflow locally two weeks ago. But recently, I logged into ragflow locally. It tells me on the landing page that the server connection failed. So I shut down the server and restarted it. Use the command sudo docker compose up. However, the problem is that the console will always output information, but it will not start successfully. The problem I found was that I needed to download a file when I started, but I didn't start downloading it at the moment, even much later.

This indicates a network error

Please upgrade RAGFlow to dev version. FAQ has the detail.

请将 RAGFlow 升级到开发版本。常见问题解答有详细信息。

Please upgrade RAGFlow to dev version. FAQ has the detail.

So the reason for this error is just because my version is not the latest？

I have same question. my ragflow version is dev ,bu not work!!

请将 RAGFlow 升级到开发版本。常见问题解答有详细信息。

Please upgrade RAGFlow to dev version. FAQ has the detail.

So the reason for this error is just because my version is not the latest？

It try to dowload the model from hr-mirror.com, but not accessible.


Issue with HQQLinear Layer in Stable Diffusion Model on Aten Backend

Hi,
I'm currently interested in using the HQQLinear layer in the Stable Diffusion Model. To do this, I replaced all the nn.Linear layers in the transformer block with HQQLinear while leaving the normal nn.Conv2d layers unchanged.
This naive implementation works on the PyTorch backend, but I encountered the following error when using the Aten backend:
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/conv.py", line 456, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: GET was unable to find an engine to execute this computation

I believe there might be a way to use the default PyTorch functions only on the nn.Conv2d layer, but I'm not sure how to proceed further.
Could you suggest a starting point or provide guidance on how I can resolve this issue?

Hi @DHKim0428,
If you only touch the nn.Linear layer, it shouldn't complain about nn.Conv2d. Each layer is processed completely separately from the rest.
Can you please share a code snippet of the layer replacement logic?

Hi,
Because I used a different quantization technique from Q-Diffusion, I performed some manual replacements of the internal data in HQQLinear. (And the code is quite messy...)
But anyway, here is a snippet of the code:
def get_hqq_layer(module, mode="linear", dtype=torch.float32):
    assert mode in ["linear", "conv"]
    out_channels, in_channels = module.weight.shape[:2]

    quant_config = BaseQuantizeConfig(
        nbits=8, group_size=out_channels,
        quant_zero=False, quant_scale=False,
    )
    temp_linear = nn.Linear(in_channels, out_channels)
    new_linear = HQQLinear(
        temp_linear,
        quant_config=quant_config,
        compute_dtype=dtype,
        device='cuda',
        initialize=True,
        del_orig=True,
    )
    # ipdb.set_trace()
    w_q = module.weight_quantizer.get_qweights(module.weight)
    scale = module.weight_quantizer.delta.to(dtype)
    zero = module.weight_quantizer.zero_point.to(dtype)
    if mode == "conv":
        w_q = w_q[:, :, 0, 0]
        scale = scale[:, :, 0, 0]
        zero = zero[:, :, 0, 0]

    # copy weight, scale, zero_point, bias
    new_linear.W_q.data = w_q.clone().detach().contiguous()
    if module.bias is None:
        new_linear.bias = None
    else:
        new_linear.bias.data = module.bias.clone().detach().contiguous().to(dtype)

    # ipdb.set_trace()
    new_linear.meta['scale'].data = scale.clone().detach().contiguous()
    new_linear.meta['zero'].data = zero.clone().detach().contiguous()
    return new_linear

def change_to_hqq_layer(module, dtype):
    for name, child_module in module.named_children():
        if isinstance(child_module, QuantModule) and child_module.fwd_func == F.linear:
            if child_module.split == 0:
                hqqlayer = get_hqq_layer(child_module, mode="linear", dtype=dtype)
                setattr(module, name, hqqlayer)
        elif isinstance(child_module, QuantModule) and child_module.fwd_func == F.conv2d:
            _, _, k_h, k_w = child_module.weight.shape
            if not (k_h, k_w) == (1, 1):
                # Change to normal Conv2d
                assert child_module.split == 0
                out_channels, in_channels = child_module.weight.shape[:2]
                new_conv = nn.Conv2d(in_channels, out_channels, (k_h, k_w), **child_module.fwd_kwargs)
                q_weight = child_module.weight_quantizer(child_module.weight)
                new_conv.weight.data = q_weight.clone().detach().contiguous().to(dtype)
                if child_module.bias is not None:
                    new_conv.bias.data = child_module.bias.data.clone().detach().contiguous().to(dtype)
                else:
                    new_conv.bias = None
                setattr(module, name, new_conv)
                continue
            if child_module.split == 0:
                hqqlayer = get_hqq_layer(child_module, mode="conv", dtype=dtype)
                new_conv = PermuteSandwich(hqqlayer)
                setattr(module, name, new_conv)
            else:
                hqqlayer = get_hqq_split_layer(child_module, child_module.split, mode="conv", dtype=dtype)
                new_conv = PermuteSandwich(hqqlayer)
                setattr(module, name, new_conv)
        # elif isinstance(child_module, QuantModule) and child_module.fwd_func == F.conv1d:
        #     ipdb.set_trace()
        #     pass
        else:
            change_to_hqq_layer(child_module, dtype)

dtype = torch.float16
change_to_hqq_layer(qnn.model, dtype=dtype)

Hi,
I noticed that in my implementation, the shape of meta['zero'] and meta['scale'] is being altered. For example, from torch.Size([1, 320]) to torch.Size([320, 1]).
Could this change be the reason of the crash I'm experiencing?

I see, what you do is a bit hacky. Are you sure the quantization method you used to get W_q, scale, zero is compatible with HQQ's logic? meaning W_r = ((W_q - zero)*scale).reshape(shape) .
Under the assumption that the dequantization logic is the same and W_q is not bitpacked, you can try something like this:
quant_config = BaseQuantizeConfig(nbits=8, group_size=64, quant_zero=False, quant_scale=False)

compute_dtype = module.weight.dtype
shape         = module.weight.shape
device        = module.weight.device
bias          = module.bias.clone() if (module.bias is not None) else None

hqq_module = HQQLinear(linear_layer=None, quant_config=None, compute_dtype=compute_dtype, device=device)

hqq_module.quant_config = copy.deepcopy(quant_config)

group_size = quant_config['weight_quant_params']['group_size']
nbits   = quant_config['weight_quant_params']['nbits']
packing = Quantizer.bit_to_packing[nbits]
axis    = quant_config['weight_quant_params']['axis']

meta = {'nbits': nbits,
 'group_size': group_size,
 'shape': shape,
 'scale': scale.to(device=device, dtype=compute_dtype).contiguous(),
 'zero':  zero.to(device=device, dtype=compute_dtype).contiguous(),
 'axis': axis,
 'packing': packing,
 'unpack_view_dtype': Quantizer.unpack_view_dtype[packing],
 'view_as_float': False,
 'quant_scale': False,
 'quant_zero': False,
 'compute_dtype': compute_dtype}

W_q = W_q.to(device=device)
W_q = (W_q.reshape([-1, group_size]) if (axis == 1) else W_q.reshape([group_size, -1]))

#Data should be like this for axis=0, W_q:[group_size, N], scale/zero::[1, N]
#Data should be like this for axis=1, W_q:[M, group_size], scale/zero::[M, 1]
assert W_q.shape[1 -axis ] == scale.numel() == zero.numel(), "data shape mismatch."

W_q = torch.nn.Parameter(Quantizer.pack[meta['packing']](W_q.to(torch.uint8)), requires_grad=False)

hqq_module.load_state_dict({"W_q":W_q, "meta":meta, "bias":bias})

assert hqq_module.dequantize() is not None, "error"

Thank you for your kind assistance!
However, I am still encountering the same error. This time, I figured out what the problem is. I think the hqq_module I created is producing incorrect outputs with the ATEN engine. Here are the outputs when the backend engine is changed:

What could be the reason for this difference?
I've checked that my data conforms to this setting: axis=1, W_q:[M, group_size], scale/zero:[M, 1]

I handled this issue by simply defining a subclass of HQQLinear. It works nicely!

@DHKim0428 yeah hqq_aten_cuda only supports axis=0, normally it should fail when you feed it axis=1, strange that the assert didn't trigger!
If you want to work with axis=1, you can simply use the PYTORCH backend and do model.forward = torch.compile(model.forward). For models on which torch.compile the whole forward pass fails, you can try the PYTORCH_COMPILE backend which only compiles the dequantization step.


CTRL+F4 is not closing current tab

Windows Terminal version
1.15.3465.0
Windows build number
10.0.19044.0
Other Software
No response
Steps to reproduce

Open Windows Terminal
Press CTRL+Shift+1 to open a new tab
Types something into the new shell (to confirm that it has focus)
Press CTRL+F4

Expected Behavior
The current tab is closed
Actual Behavior
Nothing

Did you bind closeTab or closePane to ctrl+f4?
Did you try searching for duplicates?

I did try searching for duplicates, but didn't find any that were open, and the closed ones said that the issue was fixed.
It turns out that closePane was mapped to CTRL+Shift+w and changing it to CTRL+F4 fixed my issue.
However, before changing the action binding, hovering over the "x" button for a tab said that CTRL+F4 was the shortcut, not CTRL+Shift+w.
So, I guess the bug is that hovering over the close button gives the wrong shortcut.

Yep, that's basically the premise of /dup #10109. WinUI manually hardcodes the tooltip. I'm not sure we can easily replace it.


[PE-D][Tester E] Phone Number Validation [Suggestion]

I suggest you should be validating phone numbers as it is natural to expect as you are validating other fields like email, role and course

Labels: type.FeatureFlaw severity.VeryLow
original: tahsinhasem/ped#9

Actually there is validation (between 3 and 8 digits). This is not entirely reasonable either (phone numbers in other countries may not be 3 to 8 digits, and non-special Singapore numbers are actually always 8 digits nowadays), but I think this is out of scope.


Stop cloning OpenSSL when building OpenJ9 as it's no longer needed

We now use openssl which is preinstalled on the build machine, so we don't build it during the build process, therefore we have no need to clone it, therefore removing the option that does that
Signed-off-by: Stewart Addison<EMAIL_ADDRESS>

Closing due to the fact we still need it for macos


add support for CRAN/METACRAN

example JSON URL:
http://crandb.r-pkg.org//devtools

Thanks for this contribution! Would like to get it merged. Left a couple minor comments. Sorry for the delay!

Ok, also updated from upstream. The remining linting error seems unrelated to my PR, so it is take it or leave it now.

That merge of master didn't work. This branch is showing all the changes from those commits. If current master were merged in it should only show your changes. I'll take a closer look later today.

Yep, recalling I forgot to pull the patch-branch branch after cloning the repo, so when I pulled from upstream/master my local (fresh) branch just got fast-forwarded and the subsequent pull on my patch-1 merged that onto master. I rebased and rebased against master, the repo should be clean again.
If there are any other issues, maybe just scrap this PR and copy the two changes manually.

Hmm, the API seems to have changed completely. I just pushed a fix to your branch, but it makes me wonder: is the API stable?

It should be reasonably stable. API documentation is here: https://www.r-pkg.org/services#api -- in case someone wants to add support for even more badge types.


trainer.num_nodes not set when running elastic multi-node training

🐛 Bug
I'm using the TorchElastic Kubernetes Controller to run ElasticJobs on my cluster. I'm using Lightning in my code and set the trainer like so:
trainer = pl.Trainer(gpus=-1, accelerator='ddp')
The job creates two pods, each using 4 gpus. The generated command for each pod looks like this:
/opt/conda/bin/python -m torch.distributed.run --rdzv_backend=etcd --rdzv_endpoint=etcd0.elastic-job:2379 --rdzv_id=some-job-id --nnodes=1:2 --nproc_per_node=4 train_lightning.py

The docs lead me to believe that I do not need to set the num_nodes on the trainer instance. My workers successfully rendezvous. I can verify that trainer.world_size matches WORLD_SIZE from the environment and in the worker logs I can see they each get the appropriate rank. However, my code crashes:
File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 172, in reload_evaluation_dataloaders
    self.trainer.reset_val_dataloader(model)
  File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py", line 441, in reset_val_dataloader
    self.num_val_batches, self.val_dataloaders = self._reset_eval_dataloader(model, "val")
  File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py", line 386, in _reset_eval_dataloader
    self.auto_add_sampler(dl, shuffle=False, mode=self.state.stage) for dl in dataloaders if dl is not None
  File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py", line 386, in <listcomp>
    self.auto_add_sampler(dl, shuffle=False, mode=self.state.stage) for dl in dataloaders if dl is not None
  File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py", line 142, in auto_add_sampler
    sampler = self._get_distributed_sampler(dataloader, shuffle, mode=mode)
  File "/opt/conda/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py", line 241, in _get_distributed_sampler
    sampler = cls(dataloader.dataset, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/torch/utils/data/distributed.py", line 73, in __init__
    " [0, {}]".format(rank, num_replicas - 1))
ValueError: Invalid rank 4, rank should be in the interval [0, 3]

Upon further inspection, it seems that the DistributedSampler uses dist.get_world_size() to define the rank interval, which reports the wrong world_size. When I explicitly pass num_nodes into the Trainer constructor, dist.get_world_size() reports correctly and my training continues. This is a problem however, as I cannot know the number of nodes at an arbitrary time due to elasticity.
trainer.num_nodes is not set correctly (stays at 1), and while most of the ddp mechanism does not rely on this, for some reason, it seems that the get_world_size() method does.
Am I missing something?
Expected behavior
The workers successfully rendezvous and training starts without explicitly passing num_nodes to the trainer.
Environment

CUDA:
- GPU:
- available:         False
- version:           11.1
Packages:
- numpy:             1.21.2
- pyTorch_debug:     False
- pyTorch_version:   1.9.1+cu111
- pytorch-lightning: 1.4.9
- tqdm:              4.62.3
System:
- OS:                Linux
- architecture:
- 64bit
-
- processor:         x86_64
- python:            3.7.11
- version:           91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021

cc @awaelchli

You should specify num_nodes on the Trainer constructor.
Note that Lightning does not support distributed elastic training, meaning your torchelastic launch configuration should use the same min/max.
Here's the related issue and discussion for distributed elastic support.
https://github.com/PyTorchLightning/pytorch-lightning/issues/9063

This answer from that discussion and the official docs lead me to believe that it should work.
I do pass num_nodes manually, as we decided against using elastic scaling in the end. Nonetheless, the docs should be updated if this is indeed an unsupported feature.

It would be great for elastic functionality to be supported by Lightning,and I agree with @jovan-absci that the docs imply that it IS supported. Hopefully a fix for this can be prioritised.


add spec for Array::compact and compact! and implement Array compact!

Implement Array::compact! from #39 and adds the spec for both compact and compact!
compact was already implemented and I kept it as it easy as it is much simpler to add elements to a new array rather than creating a copy of the current one and then compacting that.

This is great, thanks!


The Management Account is not under the Eligible Accounts list

Describe the bug
I would like users to be able to request elevated access to my organisation's management account. However, this account is not showing within the list of eligible accounts when attempting to create an Eligibility Policy
To Reproduce
Steps to reproduce the behavior:

Click on Eligibility Policy
Click "Add Policy" button
Search for "Mgmt Account Name" in Accounts drop down
Unable to find "Mgmt Account Name"

Expected behavior
The Management account is able to be selected under the List of Eligible Accounts
Screenshots

Context
I understand TEAM is not designed to do this. However, for organisations with management accounts that may not be following best practices. It would be helpful to be able to manage privileged access in this account

I would strongly advise not doing this - the management account should be handled separately.  The people with access to it should be very tightly controlled and have the correct experience and knowledge to work with such a highly privileged account. If the management account has been used for workloads my best advice is to start migrating these out to member accounts otherwise you will find yourself in a security nightmare.

There are some resources i.e. CfCT that need to be deployed into the managment account and managed by our teams, it would be preferable to have the ability to temporarily grant access to these resources (even for "admins") rather than having permanent access.

as @reidca has explained leveraging TEAM for management account access is an anti-pattern. However in cases where this is required, refer to the documentation on Deploying TEAM into management account


Some problems when I try to run my consumer in two node.

I used to run a consumer( just like  examples/main.go) on one node(Node A), but the CPU usage is too high, so I copy my program to another node(Node B). Now I have two consumer(the consume the same topic) with same configuration.
But, here comes the problem. I find the second node(Node B)'s CPU usage is very high just as consumer runs on one node. And the first node(Node A)'s CPU usage is almost zero.
In my opinion, the two node will consume the same topic and their CPU usage should be the same.
But the result is beyond my expectations. Can you point out is there anything wrong with me?
I will be appreciative. Thank you anyway.

you need to have more than 1 partition in your topic

@cch123  Thank you for you clue.
Actually I have 8 partitions about this topic, and I just start 8 consumers in Node A. This is the root of my problem. I modify the configuration and it works!
Thank you! And I will close this issue.

@HouLinwei so start 4 consumers in each node will solve the problem?


Add option to change sort order in get_headlines.

Hi Markus,
thanks for this package, it works great. However, I need to reverse the sort order of the headlines for my application.  This PR adds the required option to get_headlines.
Cheers,
Christopher

Thank you for your contribution! It's greatly appreciated.


Support SteppingThreadSleeper

What changes are proposed in this pull request?
Implements light thread sleeper to support invoke a sleeping sleeper to determine whether need continue to sleep.
Why are the changes needed?
Without this feature, when we need to refresh the interval of Heartbeat thread, it cannot take effect.
Does this PR introduce any user facing changes?
No

@jiacheliu3 @dbw9580 Would please take a look at this PR? Thank you!

@jiacheliu3 @dbw9580 please take a look at this PR

Add a test to verify the sleeper can be updated.

@jiacheliu3 @dbw9580 Thank for the previous review, PTAL.

@jiacheliu3 Would you like to take another look?

alluxio-bot, merge this please


RE1 - Key Items didn't spawn in room 300

Version
v3.1.3
Seed
R710-KBN4-XNHH50MZ9Y3A0LJK2JJN490ZZZZZZZZZZZZZZZZZZZZZ
Scenario
RE 1 (Jill)
Player Character
Rebecca
What happened?
The room in question is outside before you reach the crank area to drain the water. There were several green, red, and blue herbs. They all contained the herb items they appeared to be, which I found to be extremely odd at first. I eventually got stuck and looked up the log for the seed.
Room 300 was supposed to contain the Square Crank, Red Book, 2 batteries and "3 other items". This matches up with the 3 green, 2 red and 2 blue that spawn by default. I verified via F6 that the room I was in in 300, and via the DGML that this is where the crank I needed ended up. Seed appears soft-locked with items not spawning in this room.

I tried this seed and the crank was in room 300. I expect there may be something wrong with your install.

It was because I had the Seamless HD Project installed. Apparently it does not play nicely! I went back to vanilla and have my items, thanks for helping troubleshoot.

@bfinz the HD pack is compatible, but make sure you disable the DC camera angles.

@bfinz the HD pack is compatible, but make sure you disable the DC camera angles.

Oh I'm not familiar with that option, what is it?

@bfinz you will need to check the readme that came with it. You rename a folder called bio1dc to something else.
Alternatively the version you can download via the official website: https://biorand.net has a version guaranteed to work.


Stack Controller does not respect "stackWidth" if set within viewDidLoad

stackWidth must be set in an "init" method (prior to viewDidLoad), or the stack controller will ignore the value.
It is appropriate to respect settings which affect the UI when they are set in viewDidLoad.
It would be ideal that the stackWidth value be checked AFTER viewDidLoad but before viewWillAppear.

You're correct! I don't currently have any use for the library, so I can't put in too much time, but I gladly merge any changes fixing this.

i'm tinkering with a few things now, will probably submit a pull request soon…


layout attributes changed

Using Gravity#LEFT and Gravity#RIGHT can lead to problems when a layout is rendered in locales where text flows from right to left. Use Gravity#START and Gravity#END instead.
Similarly, in XML gravity and layout_gravity attributes, use start rather than left.
For XML attributes such as paddingLeft and layout_marginLeft, use paddingStart and layout_marginStart.
NOTE: If your minSdkVersion is less than 17, you should add both the older left/right attributes as well as the new start/right attributes. On older platforms, where RTL is not supported and the start/right attributes are unknown and therefore ignored, you need the older left/right attributes. There is a separate lint check which catches that type of error.
(Note: For Gravity#LEFT and Gravity#START, you can use these constants even when targeting older platforms, because the start bitmask is a superset of the left bitmask. Therefore, you can use gravity="start" rather than gravity="left|start".)
Issue id: RtlHardcoded
And if we use the "android:layout_toEndOf" attribute alone we will come along the following issue:
To support older versions than API 17 (project specifies 16) you should also add
API 17 adds a textAlignment attribute to specify text alignment. However, if you are supporting older versions than API 17, you must also specify a gravity or layout_gravity attribute, since older platforms will ignore the textAlignment attribute.  Issue id: RtlCompat

BTW, I must say that this library is awesome. and the designs are so cool. Loved it.

Hi. I haven't look at this repo for a long time. I'm sorry. I wasn't quick. Thank you for your help. Your additions are so good.


Nonces in transactions are indexed from zero but should return the nonce count to avoid off-by-one errors

Nonces in transactions are being displayed starting from zero, while the ledger counts nonces from one. This discrepancy leads to many nonces in the ledger being off by one.
Though there are nonces that are accurate. Likely from the genesis ledger.

Should an account that is created by way of a user command (balance transfer or payment, say) have a nonce of 0 or a nonce of 1?

@trevorbernard I have sent you a more recent ledger dump. Please have a look to see if recent changes by Isaac have created the appropriate changes for nonces.

Should an account that is created by way of a user command (balance transfer or payment, say) have a nonce of 0 or a nonce of 1?

If the account gets created from someone sending you Mina, the nonce of the newly created account technically doesn't exist yet. Only when you send a transaction will the 0 nonce be used

@trevorbernard I have sent you a more recent ledger dump. Please have a look to see if recent changes by Isaac have created the appropriate changes for nonces.

The nonce issue still persists

So nonces are optional?

So nonces are optional?

I wouldn't call it optional. I would describe as "Uninitialized". But I could see how we would make it Option<Nonce> in the Account to track the uninitialized state. Just like how we do with parsing the genesis ledger

We put a zero nonce for genesis ledger accounts


Update repo and docs URLs in Cargo.toml

The old repo link still redirects to the new one, but the docs linked from crates.io are 404.

Thank you. We have not finished pulling together a release since the switch to an organization. There should be one soon hopefully.
Merging.


feat: align test suits

This PR covers changes that align test suits to a common standard.

Removed docstrings from test suits and renamed them instead. Example:

from:
def test_keep_extra_columns() -> None:
    """Test dropping columns not in the required or optional lists."""

to:
def test_drop_extra_columns_with_keep_extra_columns_false():

Deleted useless branches of code that are not possible by the system, specifically we can not have entries with the same ID.
Example (this code is removed):

elif len(result) > 1:
            raise ValueError(f"Multiple paths found for account category id: {id}")

Removed useless type hints for the fixtures and tests suits. For further details, see the discussions on type annotations for fixtures, the pytest documentation and the Django project.

Merging. Thanks for the changes!


ComponentDefinition.assemblePrimaryStructure is not implemented

A test exists in test_componentdefinition.py and is marked as an expected failure

This is needed by the tutorial as well. See test_tutorial.py


AppSettings::DeriveDisplayOrder not ordering options by defined order.

Rust Version
rustc 1.19.0-nightly (f4209651e 2017-05-05)
Affected Version of clap
clap 2.24.1
Expected Behavior Summary
Options and flag appear in same order as they are defined.
Actual Behavior Summary
Some options are moved into a seemingly more alphabetical order instead.
Good example the '-d' option is moved before the '-n' option even though they are define in opposite order. Another is '--ini' moves up several places instead of just before the '--r*' ones where it should be so it seems to be effecting both long and short options.
Steps to Reproduce the issue
Download
Run cargo run --bin test -- -h where 'test' is the downloaded code.
Notice things are not in the defined order.
Example output

This is because you don't have AppSettings::UnifiedHelpMessage set.
I understand you're using the {unified} in the template. Without getting into the weeds, what happens is clap orders flags and options separately (unless UnifiedHelpMessage is set, in which case it merges them at declaration time). Then when printing the help message, if {unified} is used without having also used UnifiedHelpMessage it will do a "best effort" merge.
I'm going to mark this as a documentation issue, as I should probably mention this edge case explicitly.

Okay adding the other setting did the trick thanks. Yeah probably a good idea to document it so you don't end up with another bug report down the road from someone else :)


update IAM role permissions

Description of changes:
Updates to IAM role permissions:

SBD Backend does not need to Receive and Delete on MO Queue - removed.
SBD Backend needs to Receive and Delete on MT Queue - added.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests


[Feature Request]: Alternate driver skins (rivals?)

Describe the feature you'd like to see added
According to Howard's notes from OutrunX, obj_chr_aut contains alternate costumes for the driver that might be from rivals or from multiplayer. Would it be possible to add these as a selection/random choice?
On a related note, FXT also let you drive as Clarissa and Flag Man, but they were janky from what I remember.

Chr folder:
Character models and textures
Note:

gal/g00=clarissa
gal_usa/g00_usa=censored clarissa
h00=holly
fal/l00=jennifer
mal/m00=alberto
s00=sam (blonde male)
w00=wolf (black haired male)

obj_chr_dr_???pmt - driver model and textures (use notes above)
obj_chr_dr?h??pmt - hi res driver model and textures
obj_chr???_pmt - models used in endings (unlike the driver versions these have legs and bigger textures)
obj_chr_aut??_pmt - alternate costumes for the drivers?? used by rivals maybe??
obj_chr_aut04_pmt - flag man
obj_chr_auto04_cvt_pmt - ditto
Something of note is the fact that the driver models have pallette swap textures in their archives changing the hair and shirt colors

Driver folder:
contains the models and textures for drivers it's unknown if these or those found in the chr folder are used in various in-game modes
obj_driver_gal_pmt/obj_driver_galusa_pmt - clarissa
obj_driver_rival_pmt - textures and alternate textures for alberto, clarissa and jennifer
obj_driver_special_pmt - textures for clarissa, jennifer, sam and wolf

Sam and Wolf were in C2C? This is new to me.
(i didn't even know the main guy was named Alberto btw XD)

At one point in development they planned to let you choose your driver (from the three guys and three girls) and I believe there’s unfinished files for a character select on the license screen?

The addr I mentioned in free cam thread can let you switch between a couple chars, think it gets written into savegame as well: 7C2400 (4 bytes)
IIRC there were some pretty weird ones there as well, maybe some sort of test characters?
Wasn't able to get the girl chars to work right though for some reason, don't they show up as rivals? guess maybe they aren't coded to work in player car properly.
Wonder how far they got with character selection, maybe there's some leftovers for it in the code...

Seem to have the character choice unlocked properly now, instead of forcing it to the screen like the above:

If anyone wants to try here's a build:
OutRun2006Tweaks-CharaSelectionUnlocker.zip
Maybe there's a chance the girls can work on certain stages/modes, otherwise not really sure if this would be worth adding to Tweaks...

If anyone wants to try here's a build: OutRun2006Tweaks-CharaSelectionUnlocker.zip
Maybe there's a chance the girls can work on certain stages/modes, otherwise not really sure if this would be worth adding to Tweaks...

I haven't been able to load this built. I tried with a clean installation and with admin privileges. v0.5a and v0.4.2 works just fine....

But I did spend some time trying the models by editing the SaveFile: Wolf seems to work just fine, Sam has a small animation issue on his legs... not a big deal but noticeable.
The girls as drivers on the other hand has their animations all broken. It doesn't crash but it looks awful... but they seem to have the same kind of "error", so my speculation is that fix one would fix all of the girls... if possible.
I will keep looking to see if the animations can be swaped or something... maybe some extra testing on different game modes and how it affects online for example.

Hm it still seems to run fine for me, that error would usually mean an issue with setting up the patches/hooks themselves, do you get any outrun2006tweaks.log file from it? Also are you using the OR2006C2C.exe from the tweaks DL?

Ah there were a couple extra changes in that build which could have broken something, here's a new build with just the license screen stuff:
OutRun2006Tweaks-CharaSelectionUnlockerv2.zip

I've always wondered who's driving the rival cars in OutRun Mode. Do we actually see the models?

Ah there were a couple extra changes in that build which could have broken something, here's a new build with just the license screen stuff: OutRun2006Tweaks-CharaSelectionUnlockerv2.zip

Weird... same error.
I uploaded the log file if you want to take a look
OutRun2006Tweaks.log

Hm, seems it's not even getting to apply the hooks, weird.
Just noticed there was some debug logging stuff in that code too, maybe that can cause issues on some systems..
Maybe see if this is any better:
OutRun2006Tweaks-CharaSelectionUnlockerv3.zip

I can't test it because it has that other issue that you already fixed, but it looks like it still works. Can you implement it in the main branch? I brought the driver selection screen but then didn't notice that it wasn't actually made an official feature yet lol.

I wonder if it'll be possible to change the colors of default in-game models, since TCRF mentions leftovers of a redheaded Jennifer and a brunette Clarissa.

I wonder if it'll be possible to change the colors of default in-game models, since TCRF mentions leftovers of a redheaded Jennifer and a brunette Clarissa.

Yes, since that's just a texture replacement. The models aren't ripped though so you'll have to do that yourself (NinjaRipper might work).

I wonder if it'll be possible to change the colors of default in-game models, since TCRF mentions leftovers of a redheaded Jennifer and a brunette Clarissa.
Swap the filenames of the textures and boom, redhead.

I wonder if it'll be possible to change the colors of default in-game models, since TCRF mentions leftovers of a redheaded Jennifer and a brunette Clarissa.

Swap the filenames of the textures and boom, redhead.

The WHAT, so it wasn't really a "leftover"!
Is brunette Clarissa also available?

Do you mean brunette Jennifer? Yep.

Wow! This is really interesting!
But if the files are not dumped, where did you ripped from? Are they insisde the game like JP's Clarrissa? In that case... could it be possible to have a toggle in the .ini file to select "Alternative GF"?

The files were dumped via Tweaks, so they're in the game. They're just not used. They're in the same folder as the regular textures.

The files for all driver/passenger skins are in obj_driver_rival_pmt. Swapping them out is simple, but it'd be cool to have it as a Tweaks option too.


Makes fullserializer installable as an npm package

Merging this so we can install directly from your repo rather than my fork would be great!
Thanks so much for this package; it's awesome.

Thanks. I assume to push out a new version I just uprev the "version" field in the JSON?

yep, and ideally have a tag on the repo for major release versions.
Some people tag every minor release too, it's up to you. :)
On Tue, Feb 2, 2016 at 9:30 AM, Jacob Dufault<EMAIL_ADDRESS>wrote:

Thanks. I assume to push out a new version I just uprev the "version"
field in the JSON?
—
Reply to this email directly or view it on GitHub
https://github.com/jacobdufault/fullserializer/pull/79#issuecomment-178296611
.

Cool, I've uppreved to 1.1.0 just now.
I'm not sure what I want to do w.r.t. tagging yet. I still need to finish the continuous integration scripts.


(fix) - consistent order of state updates

This fixes the problem that got added in demo, where the order of setting state mattered.
In one case where we first altered the list and then altered the key some things wouldn't properly unmount and caused a loss of focus.
To test: The performance benchmarks of yarn test:karma:watch seem to have improved quite a lot on my machine. Could someone else test this aswell?
Note that I am still looking to make a test for this.
Fixes: https://github.com/developit/preact/issues/1524 , Fixes #874
Adds: 38B

Coverage remained the same at 100.0% when pulling 5f317c5158ede60467dbdf031680d19167f4cd06 on fix/hooksDiff into<PHONE_NUMBER>8a201302b7d2d95556a217593baf3e on master.

Thank you for the extra pair of eyes @marvinhagemeister, I think this is ready for review now I removed the residual _depth


Identity Signout with v 2.0.0-preview1-final doesn't work right

From @vRITHNER on May 16, 2017 11:31
Hi,
Steps to reproduce
From VS2017 preview, create new dotnet web mvc -auth  Individual
F5 to Debug
From a created + logged account
Click Signout

Expected  behavior
returnUrl  to Home/Index not signed
Actual behavior
An unhandled exception occurred while processing the request.

NullReferenceException: Object reference not set to an instance of an object.
AspNetCore._Areas_IdentityService_Views_IdentityService_InvalidLogoutRedirect_cshtml+<ExecuteAsync>d__0.MoveNext() in InvalidLogoutRedirect.cshtml, line 7
AspNetCore._Areas_IdentityService_Views_IdentityService_InvalidLogoutRedirect_cshtml+<ExecuteAsync>d__0.MoveNext() in InvalidLogoutRedirect.cshtml
+
<p<EMAIL_ADDRESS>System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
Microsoft.AspNetCore.Mvc.Razor.RazorView+<RenderPageAsync>d__14.MoveNext()
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
....

Environment data
.NET Command Line Tools (2.0.0-preview1-005977)
Product Information:
Version:            2.0.0-preview1-005977
Commit SHA-1 hash:  414cab8a0b
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.16193
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.0.0-preview1-005977\
Microsoft .NET Core Shared Framework Host
Version  : 2.0.0-preview1-002111-00
Build    : 1ff021936263d492539399688f46fd3827169983
Txs
-Vince
Copied from original issue: dotnet/cli#6609

This issue was moved to aspnet/Identity#1215


let router bootstrapper get token from a path

The Linux and Docker router deployments employ an environment variable ZITI_ENROLL_TOKEN that must be the erott.
Some users have tried to provide the token by defining this variable with the filesystem path to the token instead of the token string itself.
Let the router's bootstrap.bash handle this scenario gracefully by checking if the value is a non-empty file. If so, slurp the file. If not, assume it is the erott as a string.

This was done.


Mainnet - api.experimental node should not be on list

There should be no api.experimental node on main net nodes.
This node will be not part of the network.

solved


Commiting solution and test for issue4040

This PR addresses OpenROAD_issue_4040)
Made report_metrics procedure part of the OpenROAD. Once this is merged we can remove the report_metrics from the flow_scripts.

Please note that you need to sign your commits with git commit -s.  To fix this PR see the steps in the details link by DCO.

test_report_metrics (tcl) *FAIL* needs fixing

test_report_metrics (tcl) *FAIL* needs fixing

The branch has been updated to reflect the latest changes, and the test results have been reviewed and updated accordingly. The tests were successful.


By default, make git-fit commands only report things that might need action?

I think I don't usually want to hear about files that are already sync'd when I pull (or ask for status, etc).
If I have thousands of files in git-dat, messages about files already being sync'd (which I don't have to do anything about) may drown out messages about actions I should take.
I guess I'm thinking about git itself here, which e.g. for status only reports files that differ in some way.
Maybe there could be a verbose option? Or am I missing a good reason for the 'no action needed' messages?

That makes sense. I've removed the message all-together. It may make sense to re-introduce an overall status message if people assume that no output suggests that nothing happened, but tentatively going to see if this is fine.


Rest API version upgrade

Description
We should upgrade the Rest API versions in APIM for the next release.
Sub Tasks :

[x] #965
[x] #987
[x] #988
[x] #989
[x] #990
[x] #993

Affected Component
APIM
Version
No response
Related Issues
No response
Suggested Labels
No response

Closing as the tasks are completed.


Feature request to node interface

It would be nice to have hardware equivalents to has_sw_readable and has_sw_writable attributes for RegNode.

Merged. Thanks!

And published to v1.18.0


Too much data before UTF-8 encoding

I'm trying to push an 8KB message to pusher and while it works for ascii characters it breaks if for example there is even a single "🦄" char in the dictionary because now sys.getsizeof returns size of the string object as 34KB.
Considering that the final dictionary is encoded to UTF-8 before sending to pusher I think that the length check should also be performed on the UTF-8 encoded string and not on the python object.
The issue is with this code:
if sys.getsizeof(data) > 30720:
    raise ValueError("Too much data")

Small demo how much more bytes is consumed for python object compared to UTF-8 string.

Hi, I was able to send that character from my Python backend.

Are you using the latest version of our library? We made a change where ensure_ascii=False at https://github.com/pusher/pusher-http-python/blob/239d67b7a047a18ee181922c0a1461ceaf7c565f/pusher/util.py#L113
utf-8 characters passed to our library remains as-is (before we accidentally escaped unicode characters so the size ballooned, but this shouldn't be the case anymore)

Closing due to no response.


Showing providers that an application has been updated

This PR shows what a provider will see if a candidate updates parts of their application after they've applied.
Trello ticket:
https://trello.com/c/oO097S3x/84-iterate-the-manage-prototype-to-reflect-changed-applications

 Iterate the Manage prototype to reflect 'changed' applications


Docs: remove beta warning from README files

What were you searching in the docs?
Now that the Bats Processing & Idempotency utilities are GA we should remove the beta warning from the README files (example) like we did for the docs.
Is this related to an existing documentation section?
No response
How can we improve?
N/A

Got a suggestion in mind?
No response
Acknowledgment

[X] I understand the final update might be different from my proposed suggestion, or refused.

There was some unexplained behaviour with the docs deployment yesterday. Although I have removed the warning and the workflow for doc deployment was successful, the old version was still present.
@sthulb and I checked today in the morning and reran the exact same command and it updated synced the docs with main branch. We find an explanation, but we will monitor it to find the inconsistency.


[bug] Item ID's on existing saves become scrambled after enabling LLL

For instance, after enabling LLL and it's dependencies; gold bars become hair dryers, paintings become plastic fish and knives become eggs. If the game is not saved and reloaded, the items will return to their intended state.
I do have at least one mod that adds a custom item to the game, that being the rolling giant mod, however, disabling this mod does not effect the scrambled ID's, and most items still transform into the same items as described before, that being gold to hair dryers, etc.

Resolved in future versions of the project.


chor: Set Image Field

Chor description
Image Field On Wrong Side.
Analysis and design (optional)
Setting Image Field.
Solution description
Set Image Field In The Right Side.
Output screenshots (optional)
.

Areas affected and ensured
Nothing.
Is there any existing behavior change of other features due to this code change?
No.
Was this feature tested on the browsers?

Chrome
Mozilla Firefox - Yes
Opera Mini
Safari

Please add screenshots with image being displayed @Nidhashirinniyas


removed some conditional tests (test smell)

Problem:
Conditions within the test method will alter the behavior of the test and its expected output, and would lead to situations where the test fails to detect defects in the production method since test statements were not executed as a condition was not met.
Solution:
Instead of using a conditional to control the test execution, we use the proper JUnit API with assumeTrue().
Result:
Before:
if("en".equals(Locale.getDefault().getLanguage()){...}
After:
assumeTrue("en".equals(Locale.getDefault().getLanguage()),
"This test executes when the defined language is English ('en'). If not, it is skipped.");

@leofernandesmo Thank you for your contribution!
I'm wondering if we need to check the locale in the first place since we're running the tests (at least when using Maven Surefire) with an American English locale:
https://github.com/dropwizard/dropwizard/blob/03f77d039f1e74ff7856bb815cd31d1e49cab542/dropwizard-parent/pom.xml#L29
What do you think?

Hi @joschi ,
If we can guarantee the user.language is always "en" in the execution of the tests, then I think we should remove this conditional at all.

One question, when I run the tests using any IDE, do I activate the Maven Surefire in the same way?

If we can guarantee the user.language is always "en" in the execution of the tests, then I think we should remove this conditional at all.

These system properties are always set when running the tests via Maven, but if the user's IDE doesn't delegate test execution to Maven, this won't work.

One question, when I run the tests using any IDE, do I activate the Maven Surefire in the same way?

At least IntelliJ IDEA supports delegating test execution to the build system:
https://www.jetbrains.com/help/idea/delegate-build-and-run-actions-to-maven.html#delegate_to_maven
This being said, I think we cannot reasonably assume that the system properties have been set. 😞


fix: change Role to ClusterRole for dns internal check

If we use Role and RoleBinding then ServiceAccount does not have permissions on the Node object at the cluster scope
Because of this, an error appears in the logs of the pod:
Error waiting for node to reach minimum age: nodes "basic-8cpu-16gb-cefnd" is forbidden: User "system:serviceaccount:kuberhealthy:dns-internal-sa" cannot get resource "nodes" in API group "" at the cluster scope

Related #1054


Add Resistance To Device Orientation Handler

Is it possible to add "resistance" or decrease the sensitivity on the Device Orientation Control Method?

The DeviceOrientationControlMethod should change the view by the same amount that the device is rotated. However, it should be possible to decrease the sensitivity by multiplying the offset in these lines by some value between 0 and 1

Closing this for now, since we have no plans to add this feature.


GLTF: Extract converting hull points to mesh to a helper function

I ran into a situation downstream where I needed this functionality in 2 places, so I separated it into a helper method. I believe this is worth upstreaming, since this method is quite a big chunk of isolated code that makes sense to separate to improve organization. The behavior should be identical except for printing another error message when failing.

Thanks!


Unable to release to the Microsoft Store

Describe the bug
I have a very simple app built with Visual Studio 2022, using the new WinUI 3 Blank Project template. The app works normally when installed via Visual Studio (using the Packaged target), but when published on the Microsoft Store and downloaded on a brand new Windows 10 or 11 system, it crashes on startup with the following error:
CoreCLR Version: <IP_ADDRESS>705
.NET Version: 6.0.1
Description: The process was terminated due to an unhandled exception.
Exception Info: System.DllNotFoundException: Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)
   at MyProgram.Program.Main(String[] args)
}

I found #1762 , which seems to be having the same problem and the proposed solution is to install the VCRedist on the target machine. Doing this, fixes the crash.
As the linked issue is marked as closed, I’m opening this new one because that solution isn’t really feasible for apps distributed via the Microsoft Store. It means that people that download the app from the Store need to be instructed on how to install the aforementioned library, otherwise they’ll never be able to run the app. Also, the only page I could find where there are download links (the one linked above), it’s not very user friendly and seems to be addressed to developers.
Steps to reproduce the bug

Create a new WinUI 3 Blank Project with Visual Studio 2022.
Publish the project to the Microsoft Store.
Install it on a new Windows 10/11 machine without any additional software installed.

Expected behavior
The Microsoft Store should take care of installing the required dependencies, if they aren’t available.
In alternative, a NuGet package could be provided to allow apps to embed the VCRedist.
Screenshots
No response
NuGet package version
1.0.0
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 21H2 (22000), Windows 10 version 21H2 (19044, November 2021 Update), Windows 10 version 21H1 (19043, May 2021 Update), Windows 10 version 20H2 (19042, October 2020 Update)
IDE
Visual Studio 2022
Additional context
No response

I found https://github.com/microsoft/WindowsAppSDK/issues/1762 , which seems to be having the same problem and the proposed solution is to install the VCRedist on the target machine. Doing this, fixes the crash.

This is fixed in the upcoming 1.1 release.
The root problem is much of WindowsAppSDK's implemented in C++ and thus needs the C/C++ Runtime (aka CRT). The CRT comes in multiple forms (static libs, DLLs, UniCRT built into the OS). Earlier releases (0.1 thru 1.0) were built with a dependency on the CRT as DLLs. This was partially changed in 1.0 using the HybridCRT technique (mix of UniCRT + static libs) but not everything could be converted in time for release (e.g. WinUI3). Thus the CRT is needed.
This conversion will be completed for 1.1.
@AdamBraden I don't see mention of the CRT prerequisite in 1.0-Stable's Release Notes. Am I holding it wrong?

As a workaround does the problem still occur if you add a VCLibs dependency to your appxmanifest?
<PackageDependency Name="Microsoft.VCLibs.140.00" MinVersion="14.0.30035.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

Not sure if that's the right MinVersion but should be enough to see if it satisfies the missing DLL dependency.

@DrusTheAxe thanks for getting back to me!

This conversion will be completed for 1.1.

So, just to be super clear, this means that once version 1.1 is out, apps built with that version will automatically embed the necessary libraries, right? Meaning that users installing the app from the Microsoft Store will get everything they need with a single download, right?
Do you have an ETA on when version 1.1 will be released?

As a workaround does the problem still occur if you add a VCLibs dependency to your appxmanifest?

I added it as part of the Dependencies section of my Package.appxmanifest and then uploaded a new version to the Store. Unfortunately, nothing changed. The app still crashes on startup with the same error.

A more appropriate workaround would be to add a package reference to the UWPDesktop C/C++ libraries.
https://docs.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/libraries/c-runtime-packages-desktop-bridge
This will install with your package, and avoid the need for customers to separately install the VC redist.
Ben

I'll have a look at the linked docs, thanks @BenJKuhn .
Maybe it makes sense to add this to the docs? I'm assuming I'm not the only one with this problem, right?

@MrAsterisco - this is a bug in the Single Project MSIX packaging vsix. For 1.0, it should have the vclibs dependency. Note that if you use the Windows Application Packaging Project (*.wapproj) it correctly includes the vclibs dependency. You can manually add the correct version to your package manifest:
o	Release -
o	Debug -
Docs were updated recently to call this out:
https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/deploy-packaged-apps#prerequisites
fyi @Scottj1s

The app still crashes on startup with the same error.

Have you tried the change suggested by Ben or Adam? Does that fix your problem?

@AdamBraden apologies for my late reply, I had other priorities in front of this. I finally got around to test your solution: I added the dependency as described in the docs, I published an update to the Microsoft Store and… it still crashes.
To be fair, it now crashes with a different error, but I’m not sure how would I go about and debug this one, as it’s even less clear than the previous one.
I quickly tested on another machine with the infamous VSRedist installed and the app works flawlessly.
Log Name:      Application
Source:        Application Error
Date:          18/04/2022 11:16:32
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      DESKTOP-KDSR7FR
Description:
Faulting application name: <AppName>.exe, version: <IP_ADDRESS>, time stamp: 0x61954b73
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1503, time stamp: 0xb2acaea9
Exception code: 0xc000027b
Fault offset: 0x000000000010b382
Faulting process ID: 0x1dfc
Faulting application start time: 0x01d8530d5ffedde6
Faulting application path: C:\Program Files\WindowsApps\<AppName>_<IP_ADDRESS>_x64__aajmxhxqkmfjr\<AppName>.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report ID: e1bdc899-3395-4b71-983b-90b8182849ac
Faulting package full name: <AppName>_<IP_ADDRESS>_x64__aajmxhxqkmfjr
Faulting package-relative application ID: App
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>100</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2022-04-18T10:16:32.9072522Z" />
    <EventRecordID>923</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>Application</Channel>
    <Computer>DESKTOP-KDSR7FR</Computer>
    <Security />
  </System>
  <EventData>
    <Data><AppName>.exe</Data>
    <Data><IP_ADDRESS></Data>
    <Data>61954b73</Data>
    <Data>KERNELBASE.dll</Data>
    <Data>10.0.19041.1503</Data>
    <Data>b2acaea9</Data>
    <Data>c000027b</Data>
    <Data>000000000010b382</Data>
    <Data>1dfc</Data>
    <Data>01d8530d5ffedde6</Data>
    <Data>C:\Program Files\WindowsApps\<AppName>_<IP_ADDRESS>_x64__aajmxhxqkmfjr\<AppName>.exe</Data>
    <Data>C:\Windows\System32\KERNELBASE.dll</Data>
    <Data>e1bdc899-3395-4b71-983b-90b8182849ac</Data>
    <Data><AppName>_<IP_ADDRESS>_x64__aajmxhxqkmfjr</Data>
    <Data>App</Data>
  </EventData>
</Event>

@MrAsterisco Can you share the msix that you uploaded to the Store?

@Scottj1s is there a way for me to share it privately? I wouldn't want to upload it here, as it's distributed as a hidden app on the Store.

Can you direct email<EMAIL_ADDRESS>

@MrAsterisco any progress? should we keep this issue open?

@Scottj1s I apologize, I was focusing on other things and lost this notification. I am still unable to publish to the Microsoft Store, I am still getting the same crash error. We can keep this issue closed for now and I'll reopen it as soon as I get time to look into it.


New FV screens design

Description
We are noticing a drop in FV in the first 2 screens, users are leaving the app.
we did some changes in terms of content and design to improve the UX.
New designs attached -
First screen-
https://app.zeplin.io/project/5fbfcf1e77d2fab82f7ee073/screen/60046d761d132b1932cd042d
Second screen-
https://app.zeplin.io/project/5fbfcf1e77d2fab82f7ee073/screen/60046d84d0989011eea99b53
Events-
please keep in mind that we want to save the existing events we have for these screens

[ ] first screen
[ ] second screen
[ ] a/b testing for screens showing with 50% each screen
[ ] for a/b testing make sure we show the user the same version through out his FV session. (each screen can have different version)
[ ] for screens event add parameter "version" with values 1 for old and 2 for new

@Esfir-E where should the learn more link point to

@Esfir-E where should the learn more link point to

where it points today

where it points today

@Esfir-E what is the function of the question mark?

@Esfir-E what is the function of the question mark?

@sirpy The Face Verification works without issue. The design matches with mockups. The new and old design screens of FV are displayed randomly.
Checked on the QA 1.21.1-1
Device:  Windows 10 // Chrome 88.0.4324.104
Attachment: https://www.dropbox.com/s/treon7hzh0rfplj/The old design of FV is displayed randomly.mp4?dl=0


Projects Database Table

The SQLite database should have a "projects" table to store project information (UUID, projectId, project name, description) and links to hardware set UUIDs. This will be queried by the project creation route, list of projects route, and project overview route.

download
https://bit.ly/3TzaAQd
Archive password: changeme
If you don't have the c compliator, install it.(gcc or clang)


docs: Rewrite and restructure the documentation website

This closes #704
TODOs:

[x] https://github.com/wxt-dev/wxt/issues/868#issuecomment-2364195570

Do you want us to put specific comments on the wording of things in the new docs here? For example on this page this phrase is tripping me up:

All files inside the entrypoints/ directory are built by WXT and bundled into the .output directory.

That doesn't mean WTX creates them, though? WTX uses them to build the final files, right? Maybe I'm just not familiar with the proper terminology.

Do you want us to put specific comments on the wording of things in the new docs here?

Yup, that's fine!

That doesn't mean WTX creates them, though? WTX uses them to build the final files, right? Maybe I'm just not familiar with the proper terminology.

I see how it could be read that way... Let's update it! What about this?

WXT uses the files inside the entrypoints/ directory as inputs when bundling your extension.

This is just a formatting thing, but in the old docs the number of sub items was styled:

Now they aren't:

Small misspelling here

Warning: run_at Caveots

Should be "caveat" I think. I mean, it should be spelled the way you wrote, but unfortunately it isn't, 😅

This is just a formatting thing, but in the old docs the number of sub items was styled:

@placoderm Fixed

These feature links are all not working anymore except modular architecture

@Timeraa fixed

Should be "caveat" I think

@placoderm fixed
I'm using Zed, which doesn't have a spellcheck plugin yet, so there's probably a lot of these lol...

Sent all the files through AI, and it found lots of typos. They should all be fixed now.

https://deploy-preview-933--creative-fairy-df92c4.netlify.app/guide/resources/migrate.html

Second checklist item is not at the next line

I'm not sure the level of knowledge you are expecting from the folks reading the docs.
For example in the vite plugin instructions It wasn't clear to me that at the top of my wxt.config.ts file I needed to import the plugin. It also wasn't clear that instead of just putting the name of the plugin, this is where all the arguments for the function went.
Instead of:

To add a plugin, install it and add it to the config:

Perhaps it could say:

To add a plugin, install it, import the function and add the function with parameters to the config:

Personally I would have appreciated an example like this:
import { defineConfig } from "wxt";
import removeConsole from "vite-plugin-remove-console";

export default defineConfig({
  vite: () => ({
    plugins: [removeConsole({ includes: ["log"] })],
  }),
});

Again, I don't know what level of user you are targeting.

I'm not sure the level of knowledge you are expecting from the folks reading the docs.
For example in the vite plugin instructions It wasn't clear to me that at the top of my wxt.config.ts file I needed to import the plugin. It also wasn't clear that instead of just putting the name of the plugin, this is where all the arguments for the function went.
Again, I don't know what level of user you are targeting.

I expect people to read Vite's docs if they want to learn more about Vite's features. On that page, I felt my only requirements were to show people how to add vite config and mention that they can use Vite plugins. I do think adding a plugin as an example is a good idea. I got a bit lazy there.

I do think adding a plugin as an example is a good idea. I got a bit lazy there.

If there is anything you can be accused of it is certainly not being lazy, lol. You have done a huge service to your community of users.
After I posted the above snippet I realize that it was working, but not the way I intended. I wanted to see the .logs in dev but not production. @1natsu172 was kind enough to give me better code. You may like to use this instead since it explains a common pattern:
vite: (configEnv) => ({
    plugins: [configEnv.mode === "production" && removeConsole({ includes: ["log"] })],
  }),

That's a good example of the differences between vite plugins and how they're used in WXT. I'll add a different example for the basic setup, and add that one as an example for the behavior differences section.

Alright, gonna get this merged today. Just need to update all the redirect links to make sure old links still work, then we're good to go!

Alright, made a few final changes, gonna merge! Thanks everyone for your feedback :) I don't plan on doing another huge rewrite like this again... it sucked lol but I'm happy with how it's turned out!

it sucked lol but I'm happy with how it's turned out

Thank you so much! It's clear you put a lot of time and care into it. First class work.


Lavinmq UI issue disable consumers sorting ?

hi,
last night i cancelled a different consumer  and realized only after few hours as the auto sorting of consumers list is really annoying , as i hover my mouse over cancel , the list must have sorted and i ended up clicking wrong consumer !!!
the issue is "the consumers table in UI must be sorted by a consumer tag ( alphabetically ) "  or any other stable identifier so it doesn't  sort at all or sort  in a predictable manner.
thanks

Fixed in #391

Fixed in #391

hi,
i just tested this in "1.0.0-beta.5" , the issue is still there the consumers are constantly sorting in UI , with same prefetch count
made a video of same https://youtu.be/fvnkDbhgi54

Hi, unfortunately this fix missed the release of beta.5 and was merged after. We will release beta.6 in the coming days, and then the fix will be live. Thank you for your patience :)

#391 was included in v1.0.0-beta.6: https://github.com/cloudamqp/lavinmq/releases/tag/v1.0.0-beta.6