Data download size descrepancy

I'm downloading XCL using the following:
from birdset.datamodule import DatasetConfig
from birdset.datamodule.birdset_datamodule import BirdSetDataModule

# download a complete xeno canto snapshot included in BirdSet
# https://huggingface.co/datasets/DBD-research-group/BirdSet

# initiate the data module
dm = BirdSetDataModule(
    dataset=DatasetConfig(
        data_dir=".../data_birdset/",
        hf_path="DBD-research-group/BirdSet",
        hf_name="XCL",
        n_workers=4,
        val_split=0.2,
        task="multilabel",
        classlimit=500,
        eventlimit=5,
        sampling_rate=32000,
    ),
)
# prepare the data (download dataset, ...)
dm.prepare_data()

Based on the description on HuggingFace I expected  528,434 files, 484 Gb. However, I eventually ran out of storage with the downloaded content hitting over 700 Gb.
Additionally, when I re-started the download, it did not resume downloading but instead started re-downloading into subdirectories with different long random-hexidecimal-character names.
Two questions: (1) what is the full size of the XCL download; and (2) is there a way to avoid duplicate downloads of the same files using this api? This applies not only to if a download gets interrupted, but also to the case of downloading multiple datasets like XCL and PER: ideally they would reference the same set of files on disk rather than have to store an additional copy of the xeno canto files.
Edit: I was able to download the entire XCL after clearing up space. The data_birdset/downloads folder is 986G and data_birdset/downloads/extracted is 502G. Should I now delete the files in downloads folder? (are they temporary files that were extracted into downloads/extracted?) I'm also unclear on how to use the XCL/XCM datasets in general, is there a script somewhere that demonstrates training on XCL? After the download completes and the train/valid split are created using the code above, I get KeyError: 'test_5s' which I guess is because this dataset (unlike HSN etc) doesn't contain test data.
Traceback (most recent call last):
  File "/home/sml161/birdset_download/download_XCL.py", line 22, in <module>
    dm.prepare_data()
  File "/home/sml161/BirdSet/birdset/datamodule/base_datamodule.py", line 120, in prepare_data
    dataset = self._preprocess_data(dataset)
  File "/home/sml161/BirdSet/birdset/datamodule/birdset_datamodule.py", line 130, in _preprocess_data
    dataset = DatasetDict({split: dataset[split] for split in ["train", "test_5s"]})
  File "/home/sml161/BirdSet/birdset/datamodule/birdset_datamodule.py", line 130, in <dictcomp>
    dataset = DatasetDict({split: dataset[split] for split in ["train", "test_5s"]})
  File "/home/sml161/miniconda3/envs/birdset/lib/python3.10/site-packages/datasets/dataset_dict.py", line 75, in __getitem__
    return super().__getitem__(k)
KeyError: 'test_5s'

Hey :)
Thanks for catching that! You’re right—the file size displayed on Hugging Face (HF) only reflects the zipped files and not the extracted ones. We’ll look into updating that to avoid any confusion.
Download process:
HF should recognize if a download has already started and automatically continue it. If the download is restarting, it might be due to a change in the download folder path?
Dataset size:
After unpacking, the dataset should be around 993 GB total, with the extracted folder taking up about 510 GB.  TBH we haven’t thought about deleting files outside /downloads/extracted, but a quick check suggests that all paths point to the extracted files. This is a great point! Maybe we can add an automatic cleanup step in the builder script to remove unnecessary files—I’ll explore this further.
HF dataset structure & downloads:
Here are a few notes on how HF handles data structure and downloads:

When you download the dataset, HF automatically saves/unpacks it into subdirectories based on HF’s naming conventions.
Our data natively includes Audio(decode=False), which means preprocessing (using map in HF) without decoding will only update the metadata. Using our example code with save_to_disk, you’ll need the /downloads/extracted folder path to load it properly with ds = load_from_disk(dm.disk_save_path). Our XCL_processed folders end up around 6GB, so those downloads need to stay in place.
If you choose to save_to_disk after decoding, HF saves it in Arrow format. This unpacked data might be larger than the original files. In this case, you could delete the entire /download folder, though you’d lose the ability to unpack any additional files from the original set.

Duplicate downloads:
Duplicate downloads can be an issue, and while we’ve attempted to address this in our HF builder script, afaik HF doesn’t allow a better solution right now. To help minimize duplicates, you could:

Selective downloads: You can download only specific datasets like HSN_scape without pulling XC files again.
Subset creation: If you need the train subsets, a workaround is to first load XCL, then apply a custom mapping function to filter the specific eBird codes for each test set (we created our subsets this way) and saved them with save_to_disk. We’ll look into integrating a simpler subset creation method in BirdSet—thanks for the suggestion!

Error in XCM/XCL test dataset:
The error is due to needing a different datamodule for XCM/XCL, as these sets don’t include a specific test dataset. This is covered in the “ Reproduce Baselines” section in the docs (that I accidentally removed). Also, you can refer to the configs:

Datamodule config: XCL.yaml
Experiment configs: BirdSet NeurIPS24

If you still need clarification, feel free to reach out here or by email!

@Moritz-Wirth
Possible solutions list:

[ ] Avoid extracting the files entirely.
This approach works easily if we utilize the Audio class from Hugging Face. However, it has two significant drawbacks:

The true file paths would not be accessible.
The soundfile library would need to support partial loading of zipped files to load specific events without processing the entire file each time.

[ ] Delete the zipped files after extracting them via Hugging Face.
This is the simplest solution but requires additional temporary disk space during extraction. The space is freed afterward, but the temporary demand is still large.

[ ] Delete zipped files during the extraction process via Hugging Face.
Implementing this directly in the dataset builder script may not be possible? and could involve additional complexity.

[ ] Re-upload files without zipping them.
Completely omit zipped files by re-uploading all content directly in a usable format, such as .ogg or .flac.

@lurauch @Moritz-Wirth
I would opt for reuploading as .flac.

Following up for possible solutions:

Avoid extracting the files entierly.
This approach involves making minor modifications to the Hugging Face (HF) dataset builder script and the BirdSet event decoding process. Instead of extracting the audio files, the bytes can be loaded directly from the archive and saved into the HF Arrow files during the dataset build process. Once a portion of the archive is processed, it can be deleted, thereby reducing storage needs.
Loading the bytes is only performed once at the start and is efficient. The resulting Arrow files have the same data size as the extracted audio files. Audio files can still be partially loaded from the bytes using the 'io' and 'soundfile' libraries as before.

Pro:

Download as archive
Half of storage space needed (at all times)

Con:

'filepath' is irrelevant, thus could be removed
No direkt access to audio files (only the bytes)

Delete the zipped files after extracting them via Hugging Face.
Archives can be deleted once the HF dataset builder finishes processing. This requires minimal modification to the builder script. However, during the download and extraction process, double the required storage space is still needed temporarily.

Pro:

Simple and no changes except one line in the builder script
Direkt access to audio files

Con:

Temporarly need double the amount of actual storage

Delete zipped files during the extraction process via Hugging Face.
Currently, this is not feasible with the existing builder script because the archives are iterated over after extraction. Implementing this approach would require significant modifications to the builder script, as HF does not support this natively.
If implementation is possible, audio files would be directly accessible, and double storage usage could be avoided entirely.

Re-upload files without zipping them.
This would include re-uploading the audio files in an unzipped format, updating the metadata file paths, and modifying the builder script accordingly. While it avoids double storage space requirements, downloading individual audio files might increase the total download time.

Pro:

Half of storage space needed (at all times)
Direkt access to audio files

Con:

Re-upload of all audio files and changes in metadata files
Audio files are downloaded individually
larger builder script changes/rewrite

Regarding different audio formats
@raphaelschwinger
I've tested common different audio formats using a subset of 687 audio files.
The original files are in ogg format and are reformated.
Unsigned 8 bit PCM (PCM8) is possible, tho not tested at the moment.
File size:
ogg: 25MB
flac (PCM16): 88MB
flac (PCM24): 210MB
wav (PCM16): 243MB
wav (PCM24): 365MB
npy: 975MB
Loading speed (avarage of 7 runs, without caching):
ogg: 3.79 s
flac (16 PCM): 4.44 s
flac (24 PCM): 5.61 s
wav (16 PCM): 1.18 s
wav (24 PCM): 1.98 s
npy: 320 ms

I would put a strong vote in for ending up with audio files rather than some encoded format. This greatly expands the usability of the downloaded content for any downstream use case without requiring the use of specific BirdSet classes. Even something as simple as opening and playing back the audio file would become complicated if audio files are not available.

I would put a strong vote in for ending up with audio files rather than some encoded format. This greatly expands the usability of the downloaded content for any downstream use case without requiring the use of specific BirdSet classes. Even something as simple as opening and playing back the audio file would become complicated if audio files are not available.

Thanks for your take on this @sammlapp!
Unfortunately, that’s my biggest concern as well. This was the issue I had with the current AudioSet implementation available on HF. @Moritz-Wirth, it might be worth sending an email to Quentin from HF after all. They might have a solution for this - it cannot be an uncommon problem.

We implemented:

Delete zipped files during the extraction process via Hugging Face.

This combines the best of both worlds.

Only need half stoage space at all times.
Direct access to audio files, in the Hugging Face cache folder


Add a TensorFlow Saved Model serving example

We define a tensorflow_saved_model_service.py to serve tensorflow models
We extend it as tensorflow_vision_service.py to serve image requests
Added a README on how to use the tf_vision example.

Before or while filing an issue please feel free to join our  slack channel to get in touch with development team, ask questions, find out what's cooking and more!
Issue #, if available:
Description of changes:
Testing done:
To run CI tests on your changes refer README.md
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@maaquib @dhanainme


feat: Success email Page

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#50  👈
#48
#46
#43
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tamrivera05 and the rest of your teammates on  Graphite


fix: separate sort and search fields when looking up relationship.

Description
Default sort is used as searching field which is causing unexpected behaviour described in #4815 and #5222 This bugfix separates which field is used for sorting and which is used for searching.
Fixes: #4815 #5222

[X] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[X] Bug fix (non-breaking change which fixes an issue)

Checklist:

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Existing test suite passes locally with my changes
[ ] I have made corresponding changes to the documentation

Thanks @andershermansen . Triggering tests now.

@denolfe Glad that my contribution was merged. For v3/beta I created a PR with the same change.
https://github.com/payloadcms/payload/pull/6440

@andershermansen Amazing, I will take a look 👍


Fixing grammar error in Readme

This grammar error was messing with my code for about good 10 minutes. Stupid, I know, but I decided to fix it :)

I swear I read this README one hundred times and never saw this mistake. Thank you.


Load seed data via fixtures instead of the data migration.

Is your proposal related to a problem?
We are unable to load our own fixtures for our front-end development team.
Describe the solution you'd like
Load initial data using a fixture or command instead of the data migration.
python manage.py wagtail_load_demo_data
python manage.py loaddata path/to/fixture,json/
Describe alternatives you've considered
We've considered using flush prior to loading our fixture.

python manage.py flush doesn't work because of #1824, so we can't use this as a workaround.
we use a docker-compose service with restart on failure to run a task to success when setting up local development environments so that the service runs its command once successfully.  When migrating our Django services and loading fixtures, we consider fixture load failure because of conflicts a success on the tasks since data is already initialized. In this scenario we do not want to use destructive commands on the developer's data set, so we do not interrupt their work or hinder their productivity. We strongly prefer that destructive actions are explicit discrete operations in our dev ops practice, so including it in an automated environment setup with docker-compose is not ideal.

We've also considered using data migrations,

This requires the developers to have a keen understanding of the models, which is non-trivial with stream fields.
It isn't accessible for our editorial team to log in and set up an example for our developers to easily export.

Additional context
I've reviewed #1937 and #2112 and the TL; DR

There is some perceived ugliness in the wagtailcore / project_template migrations that we'd like to get rid of
The proposed fix is to add a "disable the ugliness" setting which can only be employed by power users who properly understand the nature of the ugliness
This fix doesn't eliminate the ugliness from the codebase, or from the developer experience of "non-power" users - it just adds another moving part on top of it
There doesn't seem to be a way to actually eliminate the ugliness without breaking things.

My counterpoints would be.

We are not talking about abstract concepts of ugliness. This is a functional issue that prevents teams choosing wagtail from following generally considered community best practices to set up demonstration, development, staging, and test environments.
I don't quite see how moving loading seed data to a fixture or command breaks anything, it just means users need to run an extra command to add demo data when they set up a new wagtail site. This seems fairly easy to rectify by updating documentation.
This is a feature request that seems to have a decent number of users agreeing it should change and it keeps coming up.

#1937, @jordij, @mx-moth, @alexgleason, @akx, @mvdwaeter,
#2112,  @akx, @mx-moth, @jordij, @timorieber, @alexgleason, @akx, @mvdwaeter, @gasman
#3323, @jeffreckchau
#742,  this is someone trying to do the same thing, but with data migrations instead of fixtures, which has the accessibility drawbacks for editorial teams setting up demo content.
this issue and @dopry.

Just because an agreeable solution wasn't discovered in #2112, doesn't seem like a sound reason to close and ignore this feature request. In my experience, people who work with fixtures in stage gated testing and release environments, tend to be in positions to support and expand an opensource community.

It seems like #2112 would address my needs. In the interim, we're having our developers manually run
docker compose exec -e PGPASSWORD=password postgres psql -U cms -d cms <<EOF
BEGIN;
TRUNCATE "wagtailsearch_editorspick", "typenetwork_newsindexpage", "wagtailusers_userprofile", "wagtailcore_pagerevision", "auth_user_groups", "wagtailsearch_indexentry", "wagtailcore_pageviewrestriction_groups", "wagtailcore_workflowpage", "auth_group", "django_content_type", "wagtailcore_page", "wagtailcore_collectionviewrestriction", "wagtailcore_collection", "wagtailsearch_query", "auth_permission", "wagtailcore_collectionviewrestriction_groups", "typenetwork_galleryindexpage", "django_session", "wagtaildocs_uploadeddocument", "wagtailcore_commentreply", "wagtailimages_rendition", "taggit_taggeditem", "auth_group_permissions", "wagtailcore_grouppagepermission", "django_admin_log", "wagtailsearch_querydailyhits", "typenetwork_homepage", "wagtaildocs_document", "wagtailcore_pagesubscription", "wagtailadmin_admin", "wagtailcore_comment", "wagtailcore_groupapprovaltask", "auth_user_user_permissions", "wagtailcore_modellogentry", "wagtailcore_workflowtask", "wagtailcore_taskstate", "wagtailcore_workflowstate", "wagtailcore_locale", "typenetwork_tnpage", "typenetwork_gallerypage", "wagtailcore_pageviewrestriction", "taggit_tag", "wagtailembeds_embed", "wagtailforms_formsubmission", "typenetwork_foundrypage", "wagtailredirects_redirect", "wagtailimages_image", "wagtailcore_task", "wagtailcore_workflow", "typenetwork_newspage", "wagtailimages_uploadedimage", "wagtailcore_groupapprovaltask_groups", "wagtailcore_groupcollectionpermission", "auth_user", "wagtailcore_pagelogentry", "wagtailcore_site" RESTART IDENTITY;
COMMIT;
EOF
docker compose exec cms python manage.py loaddata cms/fixtures/seed.json

to get the effect of something they're used to just happening for them.

I found a slightly better approach that improved DX for our team...
I run an initial migrate before adding my modules, then export a fixture using
./manage.py dumpdata --natural-foreign --natural-primary --indent 2 > seed.json

to create the root page and such.
Then I created our app-specific initial migration with the following.
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('wagtailcore', '0066_collection_management_permissions'),
        ('wagtailimages', '0023_add_choose_permissions'),
        # our truncate requires the following to be completed.
        ('wagtailsearch', '0006_customise_indexentry'),
        ('wagtailusers', '0010_userprofile_updated_comments_notifications'),
        ('wagtaildocs', '0012_uploadeddocument'),
        ('wagtailadmin', '0003_admin_managed'),
        ('wagtailembeds', '0009_embed_cache_until'),
        ('wagtailforms', '0004_add_verbose_name_plural'),
        ('wagtailredirects', '0006_redirect_increase_max_length'),
    ]

    operations = [

       migrations.RunSQL(
            'BEGIN;'
            + 'TRUNCATE "wagtailsearch_editorspick", "wagtailusers_userprofile", "wagtailcore_pagerevision", "auth_user_groups", "wagtailsearch_indexentry", "wagtailcore_pageviewrestriction_groups", "wagtailcore_workflowpage", "auth_group", "django_content_type", "wagtailcore_page", "wagtailcore_collectionviewrestriction", "wagtailcore_collection", "wagtailsearch_query", "auth_permission", "wagtailcore_collectionviewrestriction_groups", "django_session", "wagtaildocs_uploadeddocument", "wagtailcore_commentreply", "wagtailimages_rendition", "taggit_taggeditem", "auth_group_permissions", "wagtailcore_grouppagepermission", "django_admin_log", "wagtailsearch_querydailyhits", "wagtaildocs_document", "wagtailcore_pagesubscription", "wagtailadmin_admin", "wagtailcore_comment", "wagtailcore_groupapprovaltask", "auth_user_user_permissions", "wagtailcore_modellogentry", "wagtailcore_workflowtask", "wagtailcore_taskstate", "wagtailcore_workflowstate", "wagtailcore_locale", "wagtailcore_pageviewrestriction", "taggit_tag", "wagtailembeds_embed", "wagtailforms_formsubmission", "wagtailredirects_redirect", "wagtailimages_image", "wagtailcore_task", "wagtailcore_workflow", "wagtailimages_uploadedimage", "wagtailcore_groupapprovaltask_groups", "wagtailcore_groupcollectionpermission", "auth_user", "wagtailcore_pagelogentry", "wagtailcore_site" RESTART IDENTITY;'
            + 'COMMIT;'
        ),

       # generated initial migration commands go here.
    ]

you can't migrate your custom app and module before running the truncate. you want to be sure your modules don't create any page subclass tables before the truncate runs as well...


Ensure the link order is -ljemalloc -lnuma

If NUMA build is enabled ensure the link order in -ljemalloc -lnuma, that way init in libnuma is called before init in libjemalloc

I'm not super familiar with libnuma -- can you briefly explain why the init order here is so important?

And cc @sgolemon who seems to have touched OSS numa in the past.

@sgolemon  There's some history on this issue here - https://github.com/facebook/hhvm/issues/1141
The author used an API that wasn't exported - numa_init()  on some distro's
This api is a constructor in libnuma and is automatically called, however the author suspected that it is called after JEMallocInitializer() get's through to the calls from jemalloc lib so it was called explicitly.
The commit to folly is harmless, it will only ensure the correct ordering since folly uses jemalloc too.
and CMake topologically sorts all of them when building hhvm and tools exe's.

@jwatzman  once this commit is merged, the submodule commit id for third-party needs to updated, Is there a link on how to update project submodule's in HHVM ?

once this commit is merged, the submodule commit id for third-party needs to updated, Is there a link on how to update project submodule's in HHVM ?

Just update the submodule in your fork of HHVM, and send a PR to us with it.

@jwatzman We have no evidence of an order dependency.


ci: add action for Definition of Done

Description
This adds a checklist section in the Description which are mandatory in the Definition of Done. See ./dod.yaml.
The action will fail until all tasks are checked.
In addition, an action for a valid AB Work Item is added.
Addresses: AB#291000
Definition of Done

[x] PR title and description are to the point and understandable
[x] I have performed a self-review of my own code

I close this without mergin.
No reason to be disruptive and chang anything so late and so close to the end.


Publish 06/21/2022 3:30 PM PT

Docs Build status updates of commit c6827b0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/New-RetentionComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Search-MailboxAuditLog.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Cancelling async iterators

Since redux-saga doesn't directly support async iterators, I was wondering how we can deal with third-party dependencies that provide an async iterator as their interface, and specifically how we may cancel iteration before the iterator is exhausted.
The standard way to do stop an asyncIterator is to simply break out of the for await (... of ...) loop that's consuming it. However the standard way to cancel tasks in redux-saga is to give it a cancel(task) effect, which will run the return method on the saga generator. This would mean that in each iteration of the for await loop, we'd need to have a yield that allows redux-saga to intercede with the cancellation. However, as previously noted, redux-saga doesn't support async function*, so there's no obvious way to feed that cancellation into the loop.
I was wondering if there was any recommended best practice for dealing with this cancellation problem - preferably one that doesn't involve a convoluted dance with a global state-management system. Please note that in my use case, it is imperative that the iterator stop execution; it's not sufficient to leave the loop detached and continue to iterate while redux-saga ignores it.

Thanks for posting this issue!  I’d love to read thoughts from others on this issue.  I have not specifically had this issue but if I’m reading this correctly, I think it is something redux-saga should address.

Circling back to this issue.  I'd like to dive deeper into the problem.  Could you share some code that illustrates the issue with async iterators?

Octokit has async iterators available for pagination. This gives us a super clean pattern:
const getAllPages = async (octokit, request) => {
  let results = [];

  for await (const response of octokit.paginate.iterator(request)) {
    results = results.concat(response.body);
  }

  return results;
};

OK, so, that's a good start, though it would be nice to stream pages one at a time into redux... but, let's say the next priority for this is to get it into redux-saga, and to make it cancellable.  But the question is, what's the best way to make it as simple as yield cancel(paginateTask) or closing a channel? It's definitely not enough to leave it running as a detached task; that's bandwidth, and API rate limit, that the user will not appreciate wasting.
Ideally I could just plug the function provided by Octokit into redux-saga, and use cancel to just terminate the async iterator instantly, but I can't yield call(asyncGeneratorFn) to get a task because that's unsupported. I could... make an eventChannel and have emitter(END) act as a substitute for cancel(task)? But then I need to figure out how to make getAllPages shut down the moment something comes into the channel (and, as an async function, it cannot be turned into a redux-saga-compatible generator). I can use Redux to... set an abort flag that gets checked every loop? But it seems weird to use global state, if I happen to be in a situation where the caller can pass around a Task and not have to involve Redux at all, if only I had a Task to cancel.
Oh, and it would be even more ideal to abort the generator instantly in case I want to use a finally block, and not wait for the current request to complete or fail, just so I don't have to worry about race conditions with my cleanup code... so even having getAllPages be in charge of when it checks for its own abort signal is not ideal, and if I want to solve that, things start getting even... weirder.
So what would be considered the best saga-fu here?

As far as I know, there is no way to impact the async iterator while it is "in flight". The item has to resolve first before you can do anything about it. For that reason, I wouldn't recommend iterating through it using for-await-of loop but rather doing something like that:
function* getAllPages(octokit, request) {
  let results = [];

  for (const responseP of octokit.paginate.iterator(request)) {
    const { value, done } = yield responseP
    if (done) {
      break;
    }
    results = results.concat(value.body);
  }

  return results;
};

Note that I don't have any practical experience with async iterators and I could be wrong about this.

Neither do I, which is why I missed such an obvious solution 🤦
I am too accustomed to having redux-saga solve everything for me in this project. Yes, that gives a very clean and abortable saga. 👍


Upgrade data representation

I think it's better to represent hoppings using
Dict{SVector{3, Int64}, Matrix{Complex128}}

.

Done with<PHONE_NUMBER>ba6b1c17501b9b6a63cce11068abf5


Keyboard shortcut to narrow to the current compose context.

When we send a message outside of the current narrow, we see a modal saying "Your message is out of the narrow Click here to narrow to the conversation". We should have a keyboard shortcut to switch to the current  compose context in that and other situations.
Possible combinations: CTRL + N, CTRL + \, CTRL + something where `it doesn't conflict with a default browser shortcut.
Related conversation: https://chat.zulip.org/#narrow/stream/6-frontend/topic/keyboard.20shortcut.20on.20narrowing.20suggestion
@zulipbot label "area: keyboard UI" "help wanted" "enhancement"

Closing in favor of #7804


change migrations to fix rollback in demo reset

We are currently resetting the database via a full rollback of all migrations. This fails for Demo.Repo.Migrations.MakeUserAvatarNullable:
** (Ecto.MigrationError) cannot reverse migration command: alter table users. You will need to explicitly define up/0 and down/0 in your migration
    (ecto_sql 3.11.3) lib/ecto/migration/runner.ex:219: Ecto.Migration.Runner.execute_in_direction/5
    (elixir 1.16.3) lib/enum.ex:1700: Enum."-map/2-lists^map/1-1-"/2
    (ecto_sql 3.11.3) lib/ecto/migration/runner.ex:311: Ecto.Migration.Runner.perform_operation/3
    (stdlib 5.2.3) timer.erl:270: :timer.tc/2
    (ecto_sql 3.11.3) lib/ecto/migration/runner.ex:25: Ecto.Migration.Runner.run/8
    (ecto_sql 3.11.3) lib/ecto/migrator.ex:365: Ecto.Migrator.attempt/8
    (ecto_sql 3.11.3) lib/ecto/migrator.ex:325: anonymous fn/5 in Ecto.Migrator.do_down/5

I deleted the migration and changed the :avatar field in the original migration. Normally a no-go, but in the demo we can start with a fresh database for the next release and manually delete all data.

fixed in #366


Convert FBX file to VRX

Hi, i need to convert an FBX file to VRX but i cannot make work the script https://github.com/ViroCommunity/ViroFBX .
When i try tu use it i get:./ViroFBX: command not found

First of all this conversion command is for mac and linux systems.
if you are using mac, in terminal, go to your project, then in node_modules -> @viro-community -> react-viro -> bin
Here run conversion command
./ViroFBX path/to/model.fbx path/to/model.vrx
It will work.

Its works
Thanks for your help :)

Hi! i found out that it works fine with Java JRE 8, so make sure that yout JAVA_HOME enviroment variable is well set and calling JRE 8. Thanks!


Supplemental API FA - Rohit

Supplemental API open api spec

Per Rohit, terraformed and deployed, but need to get working with APIM.  Will create new ticket for APIM work in next sprint.


Translate Key Concepts » Ledger, Use Case into simplified Chinese

Documents to be translated:

ledger

usecases.rst

Please assign this to me, @JulienGuo , thanks.


Roadmap/Status update?

What's the status of graphql-core-next vis-a-vis the graphene tools? Is there a Roadmap or other document tracking compatibility with, say, graphene-django?
Or are they already compatible and I'm missing that in the docs of those tools or graphql-core-next?
It would be great if this was addressed prominently in the README. Assuming it isn't already and I'm just flat out missing it.

Currently the tools are only compatible with graphql-core. But we are planning to base the next major version of Graphene and other tools on core-next. See also graphql-python/graphene#954.
I'm planning to push a new release with updated README this week, but currently some things are still under discussion - e.g. whether core-next should be released as core 3.

Thanks for this!
I have been (trying) to follow the relevant conversations here, including https://github.com/graphql-python/graphene/issues/884 and https://github.com/graphql-python/graphql-core/issues/241, but it has required some detective work digging through the issues to find them, and brings with it the confusion of trying to figure out which thread is canonical, which are out-dated and what information regarding the different integrations, the core and graphene is both current and useful.
Your updated README will be welcome! :)
I think, going forward, addressing such issues for and from the user perspective, or rather, up front in README/ROADMAP/etcetera rather than threaded amongst the Issues will help a lot with adoption, and absolutely resolving the versioning/naming issues in itself will be a great step forward.
Thank you, and all involved, for stepping up to keep this ecosystem alive.

Ok, I have added a section to the README now.


Why is ManyToManyField not generic?

Is there a reason for the ManyToManyField not be able to be defined as this?
class ManyToManyField(Generic[_M], RelatedField[Sequence[_M], RelatedManager[_M]]):

See #52

yeah that looks good, I don't use the field type much so it hasn't gotten much attention
There are a few edge cases with the ManyToManyField to be mindful of:
from django.db import models

class Person(models.Model):
    friends = models.ManyToManyField("self")

https://docs.djangoproject.com/en/3.2/ref/models/fields/#django.db.models.ManyToManyField


example: add fixture example for XID (not working)

This should be working on master branch (unreleased version). Please re-open if that is not the case.


D435 Not working on realsense-viewer and pyrealsense2

Required Info

Camera Model
{ D400 }

Firmware Version
(<IP_ADDRESS>)

Operating System & Version
Linux (Ubuntu 20)

Kernel Version (Linux Only)
(5.4.0-47)

Platform
Udoo x86.

SDK Version
{ 2 }

Language
{/python }

Segment
{Robot/ }

Issue Description
Build from source
Even realsense-viewer is not working.
UNKNOWN in rs2_create_device(info_list:0x564e5301c330, index:0):
failed to set power state
Pyrealsense Not Working
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pyrealsense2 as rs
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 848, 480, rs.format.z16, 30)
:1: DeprecationWarning: an integer is required (got type pyrealsense2.pyrealsense2.format).
Name : Intel RealSense D400
It should instead say "Intel RealSense D435" if it is a D435 camera.  A camera that is identified by the camera firmware as a D400 would have support missing for features such as RGB.

#response_container_BBPPID{font-family: initial; font-size:initial; color: initial;}  Hi Martin:I am using depth module D415. I also have a D435 and I mixed up the name. Sorry about it!Best Regards, Wik從我的 BlackBerry 傳送 - 最安全的行動裝置                                                                                寄件者：<EMAIL_ADDRESS>2020年9月15日 上午1:52收件者：<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Re: [IntelRealSense/librealsense] D435 Not working on realsense-viewer and pyrealsense2 (#7337)
Hi @wikpunGitHub    I notice that although the title says that you are using a D435 (a cased USB camera), the logs that you kindly provided state that the camera is a D400, which is a camera circuit board without a casing.
Name : Intel RealSense D400
It should instead say "Intel RealSense D435" if it is a D435 camera.  A camera that is identified by the camera firmware as a D400 would have support missing for features such as RGB.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.

Ok, thank you very much.  If you are using a caseless D415 depth module then you should be able to access the RGB and projector, as those components are included on the D415 depth module (the D415 is the only model in the depth module range that has an integrated RGB sensor).
The USB connection is clearly being detected as USB 3.2 and you have the full range of stream modes listed in the rs-enumerate-devices log that you would expect to see on a USB 3 connection.  So there does not seem to be a problem with USB bandwidth.
As the 400 Series cameras can work with any Intel or Arm processor, I do not think that your Udoo x86 board is the cause of the problem, and they seem ti have a good amount of memory RAM capacity.
I would like to eliminate the possibility of a conflict with the 5.4 kernel or Ubuntu 20.04 as the cause of the problem (as both can work with librealsense but are not officially validated to be used with it yet).  Could you try building librealsense and pyrealsense2 together from source code using the instructions in the link below, please?
https://github.com/IntelRealSense/librealsense/issues/6964#issuecomment-665650908

Hi Marty:
Thanks for your help! I found out that it is the USB cable which causes
issue. My robot has very limited space and the cable is blended 90 degrees
for a very long time and it stops working. I built my robot 9 months ago
and I work on my desktop for the code. When I tried my new code on the
robot that I didn't use for 9 month, the realsense camera stop working.
Do you know where can I find the specification of the USB type C cable?
There are so many different configuration. I just bought one and it is not
working.
Thanks!
Best Regards,
Wik
MartyG-RealSense<EMAIL_ADDRESS>於 2020年9月15日 週二 下午9:25寫道：

Ok, thank you very much. If you are using a caseless D415 depth module
then you should be able to access the RGB and projector, as those
components are included on the D415 depth module (the D415 is the only
model in the depth module range that has an integrated RGB sensor).
The USB connection is clearly being detected as USB 3.2 and you have the
full range of stream modes listed in the rs-enumerate-devices log that
you would expect to see on a USB 3 connection. So there does not seem to be
a problem with USB bandwidth.
As the 400 Series cameras can work with any Intel or Arm processor, I do
not think that your Udoo x86 board is the cause of the problem, and they
seem ti have a good amount of memory RAM capacity.
I would like to eliminate the possibility of a conflict with the 5.4
kernel or Ubuntu 20.04 as the cause of the problem (as both can work with
librealsense but are not officially validated to be used with it yet).
Could you try building librealsense and pyrealsense2 together from source
code using the instructions in the link below, please?
#6964 (comment)
https://github.com/IntelRealSense/librealsense/issues/6964#issuecomment-665650908
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/7337#issuecomment-692712112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBAB7XYHL6I6RGHYLD43ZDSF5TKXANCNFSM4RLXQXBA
.

Great to hear that you made progress!
You can purchase USB cables that have a 90 degree angled connector" to help resolve problems caused by lack of insertion room with the typical straight connectors.
A company called Newnex are the USB equipment supplier who are officially recommended by Intel in the data sheet document for the 400 Series cameras as a supplier for USB-C cables for use with RealSense, so you can have confidence that Newnex cables will work with your camera.
Newnex can supply "industrial-grade" premium quality cables and have cables available with L-connectors and screw-locks for securing the cable firmly into the side of the camera via two small holes either side of the camera's micro-USB port.
https://www.newnex.com/realsense-3d-camera-connectivity.php
https://www.youtube.com/watch?v=GLQgR1jT04M

Hi @wikpunGitHub   Do you require further assistance with this case, please?  Thanks!

Hi Marty:
No, thanks!
Best Regards,
Wik
On Sat, 26 Sep 2020 at 8:03 PM MartyG-RealSense<EMAIL_ADDRESS>wrote:

Hi @wikpunGitHub https://github.com/wikpunGitHub Do you require further
assistance with this case, please? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/7337#issuecomment-699486376,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBAB7QTOAWQDF7QNNI4ZQ3SHXKB7ANCNFSM4RLXQXBA
.

Thanks very much for the update!


Get source and target on swappable:stop

I'm trying to access the origin and the target on swappable:stop, but i cant access, for example:
swappable.on('swappable.stop', function(event), {
// access to source and target div
)};
any way to access? I can only access to source and mirror.
Thanks!

Hey @adriancarayol
Just pointing out a small typo:
swappable.stop should be swappable:stop
The best way to trouble shoot is console.log(event); within the body of your function, then dig through the object that gets logged.
When/if the event object is missing what I'm after, I usually create a let to store the reference to whatever it is I'm looking for.
A good example of this is in the MultipleContainers example.
You can see the creation of a (initially) null lastOverContainer variable:
https://github.com/Shopify/draggable/blob/master/examples/src/content/Sortable/MultipleContainers/index.js#L28
Then, we give it its first real reference on drag:start:
https://github.com/Shopify/draggable/blob/master/examples/src/content/Sortable/MultipleContainers/index.js#L34
Its not until sortable:sorted where I really utilize this variable:
https://github.com/Shopify/draggable/blob/master/examples/src/content/Sortable/MultipleContainers/index.js#L50-L56
You may find this approach useful. So if you are trying to track a certain swapped element that is not available later down the line of Draggable Events, narrow it down to the last Draggable Event where that element was stored, and throw it into a more "global" variable.
Hope that helps. If you want to provide a code example (codepen or something similar), we will have an easier time assisting.
Let us know if you still need help!


Failing test with latest doctrine/cache (1.5.1)

Hi,
Running the testsuite with the latest doctrine/cache (1.5.1) installed fails with the following error:
There was 1 failure:

1) Guzzle\Tests\Plugin\Cache\DefaultCacheStorageTest::testPurgeRemovesAllMethodCaches
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => 'DoctrineNamespaceCacheKey[]'
 )

[…]/tests/Guzzle/Tests/Plugin/Cache/DefaultCacheStorageTest.php:122

FAILURES!
Tests: 1531, Assertions: 4238, Failures: 1, Skipped: 87.

Regards
David

Actually, the issue is with guzzle3, so I opened https://github.com/guzzle/guzzle3/issues/67 instead, sorry for the noise.
I don’t know if there is any issue with guzzlehttp, since unfortunately, the test suite is not provided with the tarball anymore.


let statement should work only on immutable types

There is no point having a let (which caches its result) if subsequent code can mutate the value.
So the type of the value defined in a let must be immutable. (In turn this is likely to mean that let statement are used mostly in functions).
See also #648

Closing this because:

Functions do not permit mutating a mutable type anyway (no calls to procedures, nor use of an index in the target of a set.

Use of let/var in tests is not so critical as they are not in executable code. If you write the test wrongly it won't pass.


Added back button in configuration to redirect in index page.

Issue Reference
Added back button in configuration to redirect in index page.

@shivendra-webkul
Checked and found that the issue has been fixed. Now Back Button is appearing and functioning, Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/8b54babf-a162-4eae-ade0-b6fa4cdd5f0f


Server Startup Issue

Hi All,
I am trying to run cargo run --release and I get the following:
Finished release profile [optimized] target(s) in 0.21s
Running target/release/ai00_server
2024-05-04T04:35:17.007Z INFO  [ai00_server] reading config assets/configs/Config.toml...
2024-05-04T04:35:17.008Z INFO  [ai00_server::middleware] ModelInfo {
version: V5,
num_layer: 32,
num_emb: 2560,
num_hidden: 8960,
num_vocab: 65536,
num_head: 40,
time_mix_adapter_size: 0,
time_decay_adapter_size: 0,
}
2024-05-04T04:35:17.008Z INFO  [ai00_server::middleware] type: SafeTensors
2024-05-04T04:35:17.013Z WARN  [wgpu_hal::gles::egl] EGL_MESA_platform_surfaceless not available. Using default platform
2024-05-04T04:35:17.027Z WARN  [wgpu_hal::gles::egl] No config found!
2024-05-04T04:35:17.027Z WARN  [wgpu_hal::gles::egl] No config found!
2024-05-04T04:35:17.048Z INFO  [ai00_server] server started at <IP_ADDRESS>:65530 with tls
2024-05-04T04:35:17.071Z ERROR [ai00_server::middleware] reload model failed: failed to request device
Currently, it is Cpu ins Config.toml. Also, I have Nvidia 22C (24GB) GPU and it gives the same error when I set it to Gpu.
Result of lsb_release -a:
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:        18.04
Codename:       bionic

Config.toml:
[model]
embed_device = "Cpu"                                       # Device to put the embed tensor ("Cpu" or "Gpu").
max_batch = 8                                              # The maximum batches that are cached on GPU.
model_name = "RWKV-5-World-3B-v2-20231113-ctx4096.st" # Name of the model.
model_path = "assets/models"                               # Path to the folder containing all models.
quant = 32                                                  # Layers to be quantized.
quant_type = "Int8"                                        # Quantization type ("Int8" or "NF4").
stop = ["\n\n"]                                            # Additional stop words in generation.
token_chunk_size = 128                                     # Size of token chunk that is inferred at once. For high end GPUs, this could be 64 or 128 (faster).

Can anyone help? Thanks

Ai00 requires Vulkan. Does your GPU support Vulkan and Do you have Vulkan driver installed? You may check vulkaninfo.

I just checked. Vulkan drivers are not installed. Let me install and then come back.

@cryscan I have A10 G Nvidia card and driver version is 515.65.01 with CUDA 11.7. I want to know how can I install vulkan drivers? I don't seem to find any good article to install them.

==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.283

the some issues
2024-05-16T11:06:22.752Z INFO  [ai00_server::middleware] type: SafeTensors
error: XDG_RUNTIME_DIR not set in the environment.
error: XDG_RUNTIME_DIR not set in the environment.
2024-05-16T11:06:22.802Z ERROR [ai00_server::middleware] reload model failed: failed to request device
2024-05-16T11:06:22.807Z INFO  [ai00_server] server started at <IP_ADDRESS>:65530 with tls


[BUG]  Improving the Pomodoro Page

Description
Describe the bug:
A clear and concise description of what the bug is.
Expected behavior:
A clear and concise description of what you expected to happen.

Actual behavior:
A clear and concise description of what actually happened.

@akshitagupta15june  please assign me this issue


Validation of conditional sub-schemas

I am trying to figure out how to implement a schema that would allow validating different sub-schemas based on field in the parent.
Say I have the schemas for Mammal, Lizard and Bird and now want to create the schema for a collection Pets, which contains a generic field nameOfPet and a field typeOfPet = [Mammal, Lizard, Bird] so that I can include different sub-schemas. Would I custom, or blackbox these? Or do I need to write my own validation?
Is this possible at all?

+1


[PYT-529] Fix mobile nav link indentation

The dropdown items under Docs and Resources aren't indented in the mobile menu. I added the build file, and now it looks correct. Preview: https://5fd2373e881c8902f2a7f350--shiftlab-pytorch-docs.netlify.app. On the live sites, all of the new dropdown styles are appearing correctly except for this indentation which is weird. Hopefully, this PR fixes the issue; otherwise, there might be something up with their build that is preventing the updated styles from being added.

@Bgreen23 I'm not going to submit this PR to PyTorch because the indentation issue should be fixed when you submit the Expand PR with the updated build.


feat: retain non-chunk script tags and keep the order [WIP]

<script type="module">
     console.log('from module')
</script>

<script type="module" chunk>
    console.log('from first chunk module')
</script>

<script type="module" entry>
    console.log('from entry module')
</script>

<script type="module" chunk>
    console.log('from last chunk module')
</script>

<script type="module">
    console.log('from last module')
</script>

<script>
   console.log('execute before modules')
</script>

compile to
// html
  <script type="module">
      console.log('from module')
  </script>

  <script type="module" src="./_assets/index.[hash].js"></script>

  <script type="module">
      console.log('from last module')
  </script>

  <script>
     console.log('execute before modules')
  </script>

// js
console.log("from first chunk module"),console.log("from entry module"),console.log("from last chunk module");

This PR will change the current behavior, but I think it's worth.
Current behavior: merge all script tags into a bundle
This feature: merge all <script chunk|entry> tags into a bundle and replace <script entry> with it or insert it before </body> if no <script entry>.
Since rollup won't guarantee that the order of code in bundle is consistent with the order of script tags (import statements have more priority), the running order of production may be inconsistent with that of development, which is sometimes confusing.
By manually specifying <script chunk>, users can avoid getting into this kind of confusion and only bundle what they want to bundle.
and may related #719
Does this change have any impact that I didn't think about?

I think it's more straightforward to only merge <script type="module">, and leave <script> with any other types untouched. See edf0886 and c18f387


Can't connect to ksmbd server

I'm using ksmbd as smb server on an openwrt device
This is ksmbd's config
[global]
        netbios name = kvvm
        server string = Ksmbd on OpenWrt
        workgroup = WORKGROUP
        interfaces = br-lan
        bind interfaces only = no
        ipc timeout = 20
        deadtime = 15
        map to guest = Bad User
        smb2 max read = 64K
        smb2 max write = 64K
        smb2 max trans = 64K
        cache read buffers = no
        cache trans buffers = no

######### Dynamic written config options #########

[music]
        path = /opt
        valid users = kvvm
        create mask = 0666
        directory mask = 0777
        read only = no
        guest ok = no

Windows 10 explorer and X-plore filemanager on Android both went well with this setup, but CIFS proveder never worked for it, simply toasting connection failed.
Also I tried  toggling "Allow legacy (insecure) protocols/authentication." option in ksmbd, but didn't help.

Likely there are some compatibility issues, please have a look at this problem.

@escapezn
I changed a authentication code.
But I don't know if this fix solved this problem.
Can you try this and see if it has been fixed?

Unfortunately the beta version doesn't fix this problem.

OK, I will continue to check.

@escapezn
I released 1.4.0 new beta test version on Google Play.
It is improved some problems.

The new beta still failed to connect but with [TreeID is invalid] in toast message.


Challenge http://www.freecodecamp.com/challenges/waypoint-inform-with-the-paragraph-element has an issue

the test is checking for a  tag but says it needs a  tag

Thank you for bringing this to our attention. We've now fixed this!


Make TestParticleMakie as an extension after Julia 1.9

With the new capability of package extension introduced in Julia 1.9, we no longer need to maintain a separate package for plotting via Makie. See an example of the extension at Mesh.jl

I've already come across some discussions about this exciting feature. I'll give it a try later this month.

It's actually pretty straightforward given that we have a separate glue package now.

I've read the documentation on this feature, and it appears to be useful and easy. However, I have a new question: should we include Makie in [weakdeps] but not in [deps]? Makie is a resource-intensive dependency, so do we need to install it when performing calculations only?

I've read the documentation on this feature, and it appears to be useful and easy. However, I have a new question: should we include Makie in [weakdeps] but not in [deps]? Makie is a resource-intensive dependency, so do we need to install it when performing calculations only?

See an example in Meshes.jl. It should be in weakdeps, which I guess is not automatically installed if the plotting functionalities are not called.


Correct on_disconnect signature

Correct on_disconnect signature, there is no flags parameter
Reported in https://github.com/home-assistant/core/issues/43388

Math checks out https://github.com/eclipse/paho.mqtt.python/blob/42f0b13001cb39aee97c2b60a3b4807314dfcb4d/src/paho/mqtt/client.py#L461-L465
Thanks, @emontnemery


can't get pinchZoom to work?

thanks for maintaining this! I'm testing it out and the main feature that I was looking for is pinch to zoom.
All the examples have pinchZoom as false, switching it to true does nothing.
I assume it's because a Scale is hard-coded in there.
example: "bezierChartScale: BezierChartScale.WEEKLY"
I guess I need a function that checks if i zoomed in or out and returns the correct scale accordingly.
Now my question is, searching through the api i found no onZoom callback or something similar, am i missing something? or is there another way of achieving this?
thanks!

Ok, pinchZoom is true by default.  Check the sample3 ( I updated minutes ago). https://github.com/aeyrium/bezier-chart/blob/dev/example/lib/main.dart#L354
using onScaleChanged you can identify when the scale changed according to the zoom.
NOTE: Zoom only works when the indicator is hidden, so first, tap on the screen (to hide the indicator), then you can pinch/zoom.
Try sample 3 and sample 4.

Zoom doesn't work from weekly to hourly & hourly-weekly. I've logged it as separate issue as well.


Test tag for default modifier is not getting generated

Hi loved your library and the test tag part is greatly appreciated, but I have one issue
Column() -> is not getting generated to
Column(<default-value>.applyTestTag())

what i am seeing is
Column((Modifier)null)
Is this intentional?
Compose version -> 1.6.7
Library version -> 0.6-k2

Thanks for the report. Could you say which version of Kotlin you are using? And could you try 0.6.2-k2?

Yes tried with 0.6.2-k2 with Kotlin version 2.0.20, still same i have not updated compose version

I checked. We can't extract the default value from compiled libraries, and the Column function example is wrong. But Column(Modifier) will work because here we know about the argument expression. I suggest you wrap the Column function block with your own function, e.g.
fun YourFunc(modifier: Modifier = Modifier) {
   Column(modifier) {}
}


New Logo

Hey @fakenickels as we talked before, I have a logo proposal for Reform:

You can download the files using this link

Amazing!!! Thanks a lot @vmarcosp. I loved it


libraries.io dependents badge with scoped NPM packages does not work

libraries.io dependents badge with scoped NPM packages does not work
I'm trying to add a badge using libraries.io dependents for a scoped package.  I noticed that libraries.io encodes the scoped name into the package name, like @jwc%2Fjscad-utils, but this doesn't work with shields.io.
![Dependents](http://img.shields.io/librariesio/dependents/npm/@jwc%2Fjscad-utils

If there is already a way to use scoped NPM packages, I wasn't able to find it in the documentation or another issue pointing to more info.
Thanks!

Thanks for reporting this @johnwebbcole! If anyone is interested in fixing this bug, the solution here will probably be very similar to the ones in #3274 and #3570

@johnwebbcole Any chance you'd be interested in taking a look at this?

Just stumbled upon this problem right now. Will try and see if I could hack something out of it.

Closed via #4151


Feature request. Assembly (arm) support.

ARM processor
And more others
'
And support for everything on this site.
https://www.dooseep.com/2023/01/assembly-language-and-architecture.html?m=1

I don't think this is gonna happen. x86 ASM is more than enough for the moment. If you are interested in having ARM ASM support please consider collaborating. Thanks

I won't close the issue. Added help wanted tag.


Reopening Feature Request #301 - Request for Batch File Uploads to Squoosh.ai for optimising multiple Images

Is your feature request related to a problem? Please describe.
The feature request is related to #301 , and since it has been 2 years since the issue request was opened, I opened a new request referencing that. I am sorry if that is not as per forum rules. I have never opened an issue before.
Describe the solution you'd like
There need not be any major UI changes. the drag and drop can literally just say drop and drop files instead of the singular file. The backend may perform optimisations to the images in a loop, for a start. Changing image parameters individually could follow after the fact.
Does other service/app have this feature?
jpeg.io, GIMP, etc. provide this feature, through plugins. This has been discussed in #301

We are working on batch processing, as said in #301.


F3411-19 requirements listed in F3411-22a test suite

report.json is not attached because
No need for a report, the issue is in the test suite documentation for F3411-22a.
Test check
Multiple; see below
Difference from expected behavior
The F3411-22a test suite should only test requirements from the -22a standard version, not any from the -19 standard version.  But, we have a few -19 requirements listed as tested by the test suite.  This is likely due to copy/paste from -19 not being adjusted in the -22a documentation.
We should update the documentation as appropriate so that the F3411-22a test suite does not list any -19 requirements as being potentially checked by that test suite.  Test suite documentation is autogenerated using make format and ultimately uses the test scenario documentation to identified potentially-checked requirements.

Will fix.
Note to self: I'll check if I can add a simple check to the linting target(s), eg something like find ./scenarios/astm/netrid/v22a/ -name "*.md" -exec grep -l "v19" {} + as a sanity check, as I don't believe there is any valid reason for a version of the requirement to point to the other one.

Should be fixed by #354, which should also make this unlikely to impossible to reoccur.


Login failed

I used proxy.json settings.
But I can't login.

my proxy.json setting is
{
"host": "localhost",
"port": 5080
}
and my geoserver url is http://localhost:5080/geoserver

Are you using the Boundless Suite Plugin for GeoServer? It adds several API endpoints that composer requires.


BUG IN RC4: Site Configuration Not Working!

Looks like the wrong rootDir is being passed to SiteConfigurationFactory, which results in app/config/sculpin_site.yml being silently ignored.
This needs a test to ensure that the configuration is being invoked, and a bugfix ASAP.
RC3 would pass a rootDir that looks like this:
/Users/username/Projects/blog.sculpin.io/app

RC4 is passing a rootDir that looks like this:
/Users/username/Projects/blog.sculpin.io/vendor/sculpin/sculpin/src/Sculpin/Bundle/SculpinBundle

Seems related to #420

Patched in RC5 (429bcff) but a test still needs to be added.


Removed unused dependency from example (advance-editor.tsx)

Concern: There is an unused import of useEffect in advance-editor.tsx
Changes: Removed the usage

@mehulcse Examples are old, useEffect is used to sync with Localstorage. eg : https://github.com/steven-tey/novel/blob/main/apps/web/components/tailwind/advanced-editor.tsx

i need to refactor that component, but thanks for pr


Feature: Company Profile - Markdown Support

Add Markdown rendering for Company Profile Description.

This has been implemented in the master branch.


⚠ Thumbnails API Endpoint has degraded performance

In 77d5573, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 5779 ms

Resolved: Thumbnails API Endpoint performance has improved in 5e29ef3 after 9 minutes.


iTerm support

@artiom can you please make a new PR with the changes from #61, and then add more to the iTerm detection so that we don't trigger any UI if iTerm is not installed?

Sorry, this repository is long-since deprecated in favor of Docker Toolbox (whose usage is now also discouraged in favor of Docker for Windows and Docker for Mac).


Initial collapse state for Vec fields

Hi, this is such a nice library. I would love to use it for editing a large config struct at runtime. My config struct includes some Vecs that can be really large. Therefore it would be great if their fields could be collapsed by default.  Is there any way to do this already?
Otherwise, I believe an argument like this would be awesome:
#[eguis(collapsed = true)]
pub test_vec: Vec<usize>,

Hi,
Sorry for late response (I missed notification).
I don't think there was a simple way to achieve this.
But I've just released v0.4.1 that adds (as You suggested) field level attribute (#[eguis(start_collapsed = true)]) that makes it possible to have field initially collapsed.
However, You may find it unnecessary, as I've also added, that collections (including Vec<>) are initially collapsed if they have more than 16 elements.

Oh wow this is awesome! Thanks for the update :)


After upgrading from version 10.3.0 to 10.24.0, crash logs could not be uploaded unless a VPN was enabled on the mobile network, which then allowed the Firebase backend to retrieve the crash logs. The older version 10.3.0 did not require a VPN for this purpose.

Description
we have only utilized two features of Firebase: FirebaseCrashlytics and FirebaseAnalytics. After updating the Firebase version from the old version 10.3.0 to a version greater than or equal to 10.23.0, we found that the crash logs could not be uploaded to the Firebase backend and could not be retrieved from there. However, the analytics statistics for daily active users were still accessible. After several rounds of verification, it was determined that a VPN must be enabled on the phone in order to facilitate the upload, and only then could the crash logs be queried in the Firebase backend.
It's worth noting that before the upgrade, we were using the old version 10.3.0, which did not require the phone to have a VPN enabled. The crash logs were being properly collected and the Firebase backend was able to display them normally.
Reproducing the issue
No response
Firebase SDK Version
10.24.0
Xcode Version
15.3
Installation Method
Zip
Firebase Product(s)
Analytics, Crashlytics
Targeted Platforms
iOS
Relevant Log Output
10.24.0 - [FirebaseSessions][I-SES000000] [Settings] Fetching newest settings failed with error: InstallationIDError("未能完成操作。（FirebaseSessions.FirebaseSessionsError错误3。）")

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!
11

Thanks for reporting, @qianlifei. Do you have a complete error logs when trying to use v10.24.0 without VPN?

Thanks for reporting, @qianlifei. Do you have a complete error logs when trying to use v10.24.0 without VPN?
Yes, I have exported all the Firebase logs and placed them in the attached txt file, please check it out.
firebase complete error logs.txt


Automatically lookup cluster DNS/Domain service

Lookup Cluster DNS Service if not specified on command line.
This avoids the need to meticulously:

Allocate and choose a cluster DNS IP
Reconfigure kubelet --cluster-dxxxx startup args on all nodes

We now lookup the cluster DNS IP and cluster Domain from the Services in Kubernetes. This happens if a kubelet did not receive --cluster-dns and --cluster-domain arguments on the command line.
The DNS service must be called 'kubernetes-dns' and be in the 'default' namespace to be found. The service's ClusterIP is used as the DNS IP address. The following label on the service is used as the domain name:
 kubernetes.io/cluster-domain = example.local

This eases deployment of new kubernetes nodes, by removing variables that need to be configured when deploying nodes.
This is a backwards compatible change.

@eparis Is this something you'd be interested in reviewing? Do you know who else to ping about it?
Note that I've tested this manually. After vetting the change, I'd be happy to update documentation and tests, as well as (if desired) the default skydns yaml definition files.

So I really like it. As @bgrant0607 @satnam6502 and some others have told me, working integrated DNS is a 'requirement' (or they are trying to make it a requirement).
I'm almost wondering if we can deprecate the --dns flags to kubelet with this patch. Do we want to support and external integrated dns server?

The last discussion I had with @thockin we were leaning towards the kube-proxy being the dns server for the node, which removes most of the need for this.  Also, I would want to keep the ability to disable DNS.

The last discussion I had with @thockin we were leaning towards the kube-proxy being the dns server for the node,

Right, this doesn't change the architecture much. Just makes the current state of affairs more usable.

which removes most of the need for this. Also, I would want to keep the ability to disable DNS.

Obviously, with this patch, one can disable DNS by not having a kubernetes.io/cluster-domain label.
But do you mean you would like to disable DNS per kubelet?

Thinking about this more ... it would probably be better to have the DNS service namespace/name specified as an argument to kubelet, rather than discovering it via a label.
That solves some of @smarterclayton 's concerns about disabling, makes things less mysterious, while at the same time allowing operating systems like RHEL Atomic Host that ship kubernetes to ship a default configuration with a canned service name to be filled in by a service deployed in the cluster.

So right now we have 2 services which are 'special', both in the default namespace.  'kubernetes' and 'kubernetes-ro'.  It is their ns/name which makes them special. How about a solution where we just use the default/kubernetes-dns name for the dns service.
Its obvious, clear, only problem is if someone with permission to create a service in the default namespace creates another service with the name kubernetes-dns.  Not that you can really do that...

aka, instead of making it entirely label based, make it ns/name based.  Seems simple and obvious.

aka, instead of making it entirely label based, make it ns/name based. Seems simple and obvious.

Good idea. Done. And updated description at top of bug. No docs, yaml or tests updated yet. Waiting for further reviews before spending time on that.

@brendandburns This is the DNS PR I mentioned today in the call....

While I like the goal of getting rid of static config and making it more dynamic, using labels is wrong.  Labels are not config.  You could use Annotations instead of labels, which is slightly less wrong, but it's on the hairy edge.
We're supposed to be getting config objects in the API at some point, which obviates all of this.  I am a little anxious about not having a known DNS server IP, but I am not sure why.  I guess maybe I just type it out often enough that I know it.
I think I would be OK with this, with the caveat that as soon as we have config objects, we drop this like it's hot.  I don't think this can fly before 1.0, though.

While I like the goal of getting rid of static config and making it more dynamic, using labels is wrong. Labels are not config. You could use Annotations instead of labels, which is slightly less wrong, but it's on the hairy edge.

Will use Annotations for now.

We're supposed to be getting config objects in the API at some point, which obviates all of this. I am a little anxious about not having a known DNS server IP, but I am not sure why. I guess maybe I just type it out often enough that I know it.

One can easily specify a known DNS server IP by setting a cluster IP on the 'kubernetes-dns' service, when it's created, if you want.

Updated the patch to use annotations. Sorry for the delay.
@eparis @thockin An alternative to annotations is to hard code the default DNS domain to cluster.local whenever lookup is used to discover the DNS service, and no --cluster-domain has been specified. This way we don't have to specify it in an annotation, and once Config objects come along we can add support for looking up the cluster domain as well. Let me know if this makes sense.

I've updated documentation.
@thockin I'm using the name 'kubernetes-dns' to be consistent with the other well-known 'kubernetes' service. If this is going to be a problem, let me know, and I can back out that part of the change.

Let me ask a different question - why?  Or more precisely, let's assume that sometime after 1.0 we're going to get config objects in the API that kubelet can watch.  So, for example, kubelet might watch /api/v1/namespace/default/configs/cluster, which has some key-value store which includes "cluster-dns" and "cluster-domain" keys.
The flags on kubelet will go away and be replaced by a watchable interface.  This will happen.  Given that, do we still need this change?

The flags on kubelet will go away and be replaced by a watchable interface. This will happen. Given that, do we still need this change?

In the presence of the config objects code, this pull request would not be necessary. The current kubernetes dns configuration is brittle, error prone and unnecessarily complex. The status quo is not tennable.
But where is the pull request for the config objects, or perhaps a WIP branch? Maybe I can help contribute there and drive that forward instead.

The config objects was going to be a GSOC project, but got scrapped.  I'm
not sure the state of it, but it's clearly not going in for 1.0 :)
As for "not tenable" - for whom?  Yeah, it's not pretty but it's been
pretty stable for 9 months.  Is it actually hurting anyone, other than
their morale when they see yet more salt-managed gunk?
On Fri, Jun 19, 2015 at 7:07 AM, Stef Walter<EMAIL_ADDRESS>wrote:

The flags on kubelet will go away and be replaced by a watchable
interface. This will happen. Given that, do we still need this change?
In the presence of the config objects code, this pull request would not be
necessary. The current kubernetes dns configuration is brittle, error prone
and unnecessarily complex. The status quo is not tennable.
But where is the pull request for the config objects, or perhaps a WIP
branch? Maybe I can help contribute there and drive that forward instead.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/9664#issuecomment-113525713
.

Those of us who don't use salt   :-(

Is it ACTUALLY a pain point as in "OMG stop the bleeding ASAP, emergency!
emergency!"
If it were the former, I would have expected to hear about it before now :)
Don't get me wrong, I want to eliminate flags, I just don't want to check
this in (especially just before 1.0) when we KNOW it's not the right way to
do it and we KNOW how we want to do it and we KNOW other things will follow
ape this not-quite-anti pattern.  Unless there's REAL bleeding going on.
On Fri, Jun 19, 2015 at 8:27 AM, Eric Paris<EMAIL_ADDRESS>wrote:

Those of us who don't use salt :-(
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/9664#issuecomment-113548085
.

stef might argue.  but I say 1.0+

Awesome, I appreciate the honest triage.  We all have silly little pet
things we want to push on, but it's actually important that we make time to
instead focus on docs, UX etc.
I'm happy to consider this for post 1.0.  If we can't plausibly describe
how config objects will come to be, then I'll approve this and STFU.
On Fri, Jun 19, 2015 at 8:34 AM, Eric Paris<EMAIL_ADDRESS>wrote:

stef might argue. but I say 1.0+
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/9664#issuecomment-113549747
.

stef might argue. but I say 1.0+

Yeah, waiting a month or so on this isn't going to be the end of the world. There's a whole slew of things I'd like to work on to make Kubernetes not need to have a small army of shell scripts to get it running ... this is just one of them.

The config objects was going to be a GSOC project, but got scrapped. I'm not sure the state of it, but it's clearly not going in for 1.0 :)

So if it's a GSOC project, you must have docs somewhere? Could you post a link or send it to me. I'd be happy to scope it and poke at it a bit.

Start at https://github.com/GoogleCloudPlatform/kubernetes/issues/1627 and
you can see where it got left off.
On Fri, Jun 19, 2015 at 8:46 AM, Stef Walter<EMAIL_ADDRESS>wrote:

stef might argue. but I say 1.0+
Yeah, waiting a month or so on this isn't going to be the end of the
world. There's a whole slew of things I'd like to work on to make
Kubernetes not need to have a small army of shell scripts to get it running
... this is just one of them.
The config objects was going to be a GSOC project, but got scrapped. I'm
not sure the state of it, but it's clearly not going in for 1.0 :)
So if it's a GSOC project, you must have docs somewhere? Could you post a
link or send it to me. I'd be happy to scope it and poke at it a bit.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/9664#issuecomment-113553586
.

There are PRs outstanding on the config objects: #6477, #6245

I've reworked the Configuration resource proposal here: #10982

Is this PR still active?

This PR appears to no longer be active.


feature: try to download from back source even if download timeout with dragonfly

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
There is a probability that it will fail when dfget use p2p pattern to download the file from supernode. So the dfget should try to download from the source station again if the value of the notbs flag is false even if failed to download timeout with dragonfly.
Ⅱ. Does this pull request fix one issue?

NONE.
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1068 into master will decrease coverage by 0.07%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1068      +/-   ##
==========================================
- Coverage   47.15%   47.08%   -0.08%
==========================================
  Files         117      117
  Lines        7144     7157      +13
==========================================
+ Hits         3369     3370       +1
- Misses       3513     3526      +13
+ Partials      262      261       -1

Impacted Files
Coverage Δ

dfget/core/downloader/downloader.go
100% <ø> (ø)
:arrow_up:

...t/core/downloader/p2p_downloader/p2p_downloader.go
0% <0%> (ø)
:arrow_up:

dfget/core/core.go
42.3% <0%> (-3.53%)
:arrow_down:

supernode/daemon/mgr/scheduler/manager.go
22.6% <0%> (+0.68%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 91aaa6a...caba8cc. Read the comment docs.


Session.WebHookCreate() doesn't assign webhook avatar.

hook, err := s.WebhookCreate(m.ChannelID, "go-nano", "http://i.imgur.com/RQF6Yoz.jpg")

Hook is created without an avatar.

Avatar is not a URL but a base64 encoded string:
https://discordapp.com/developers/docs/resources/webhook#create-webhook
eg:
https://github.com/iopred/bruxism/blob/master/wormholeplugin/wormholeplugin.go#L164


Database reset fails

Bug report
Issue Description
When using artisan migrate:reset you get integrity constrain violations.
Preconditions
1. clone the master branch.
2. install bagisto

Steps to reproduce
It is important to provide a set of clear steps to reproduce this bug.If relevant please include code samples.
1. Execute artisan migrate:reset after installing Bagisto
2. See the result.

Expected result
it should reset all the tables from the database.
Actual result
In Connection.php line 669:
SQLSTATE[23000]: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails (SQL: drop table if exists cart_rules)
In PDOStatement.php line 119:
SQLSTATE[23000]: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails
In PDOStatement.php line 117:
SQLSTATE[23000]: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails

Hi @ghermans
We have fixed this issue, thanks for notifying us.


Issues with File Upload and Retrieval using GCP

Describe the bug
I am encountering several issues when using file upload and retrieval through Google Cloud Platform (GCP). After reading the existing issues and setting up my bucket and configuration files, I am facing the following errors:

Issue with direct ByteData upload: When I try to upload a ByteData object to a custom endpoint, I get the following error:
Connection closed before full header was received, uri = http://localhost:8080/[endpointName]
The test was performed with a png of 1.6MBytes.

Issue with file permissions after upload: When using the FileUpload component on the client side, the file uploads successfully but is made public, even though I have configured the bucket for private files (public: false).

Issue with server-side file retrieval: When I try to retrieve a file server-side, it only works if the file is at the root of the bucket. For example:

succursale/logo.png does not work.
logo.png works.

This happens with the retrieveFile and getPublicURL methods.
To Reproduce
Steps to reproduce the behavior:

Configure a GCP bucket with private permissions (public: false).
Try uploading a ByteData object to an endpoint.
Use the FileUpload component to upload a file.
Attempt to retrieve a file in a subdirectory of the bucket.

Expected behavior

Upload ByteData without errors: Uploading a ByteData object to a custom endpoint should proceed without any errors, and the connection should not be interrupted.

2.. Respect file privacy settings during upload: When I upload a file using the FileUpload method, the file should be stored as private in GCP, as configured (public: false).

File retrieval, including those in subdirectories: Files should be retrievable using the retrieveFile and getPublicURL methods, whether they are at the root of the bucket or in a subpath.

Serverpod versions

CLI Version:  2.1.1
Library version: 2.1.1

Platform information
Db and redis on Docker. Server and client on localhost using vscode debugger
Additional context

client code
  Future _updateLogoDirect(BuildContext context, String id) async {
    var succId = int.tryParse(id);
    if (succId == null) {
      return;
    }
    // ask user to upload image
    FilePickerResult? result = await FilePicker.platform.pickFiles(
      allowMultiple: false,
      type: FileType.image,
    );
    if (result == null) {
      return;
    }
    var file = result.files.single;
    var bytes = await file.xFile.readAsBytes();
    if (bytes == null) {
      return;
    }
    var byteData = bytes.buffer.asByteData();

    await client.succursale.setLogo(succId, byteData);

  }
  Future _updateLogoFileUploader(BuildContext context, String id) async {
    var succId = int.tryParse(id);
    if (succId == null) {
      return;
    }
    // ask user to upload image
    FilePickerResult? result = await FilePicker.platform.pickFiles(
      allowMultiple: false,
      type: FileType.image,
    );
    if (result == null) {
      return;
    }
    var file = result.files.single;
    var bytes = await file.xFile.readAsBytes();
    if (bytes == null) {
      return;
    }
    var logoStoragePath = await client.succursale.getLogoStoragePath(succId);
    if (logoStoragePath == null) {
      return;
    }
     FileUploader uploader = FileUploader(logoStoragePath);
    var byteData = bytes.buffer.asByteData();
    uploader.uploadByteData(byteData);
  }

server code
  Future<ByteData?> getLogo(Session session, int id) async {
    var succursale = await Succursale.db.findById(session, id);
    var logoPath = succursale?.logoPath;
    logoPath = _getLogoPath(succursale!);
    if (logoPath == null) {
      return null;
    }
    var logo = await session.storage
        .retrieveFile(path: logoPath, storageId: 'private');
    var publicUrl = await session.storage
        .getPublicUrl(storageId: 'private', path: logoPath);
    var object =
        session.storage.retrieveFile(storageId: 'private', path: logoPath);
    return logo;
  }

  // set logo
  Future<Succursale?> setLogo(Session session, int id, ByteData logo) async {
    var succursale = await Succursale.db.findById(session, id);
    if (succursale == null) {
      throw Exception('Succursale not found');
    }
    var logoPath = _getLogoPath(succursale);
    await session.storage
        .storeFile(storageId: "private", path: logoPath, byteData: logo);
    succursale.logoPath = logoPath;
    return await Succursale.db.updateRow(session, succursale);
  }

  //getLogoPath
  Future<String?> getLogoStoragePath(Session session, int id) async {
    var succursale = await Succursale.db.findById(session, id);
    if (succursale == null) {
      return null;
    }
    var logoPath = _getLogoPath(succursale);
    var storagePath = await session.storage.createDirectFileUploadDescription(
        storageId: 'private', path: logoPath);
    return storagePath;
  }

  String _getLogoPath(Succursale succursale) {
    return '/toto/logo_1_asdf.png';
  }

Thanks for your reply. PR looks promising
What about uploading ByteData files from the client to the server. Is this the right approach, or is it not planned to be able to transit files in this way?

This is possible today already. You can use the file upload API, there is only one serverside integration for this and it writes the file to the db.
If you want to manage this in memory you can set the maxRequestSize in the config to increase the byte limit in the endpoints. See: https://docs.serverpod.dev/concepts/configuration#configuration-options

Thank you for opening this issue. I have been also facing this using GCP Storage.

I get the file description and the file get uploaded.
But it returns success: false.

The verify File exists and getPublicUrl is not working correctly.

The privacy concerns that every person shall only see their own files is very important.

Happy seeing there will be progress. When we can get the new implementation because it's required for our app. Thank you.


fix: remove support for disabled property

Remove support for disabled property replacing it with the selection-disabled property to have clearer semantics. Consumers of the property have been changed to consume the new one.
Search.d2l.dev: https://search.d2l.dev/search?full="d2l-list-item"+disabled&defs=&refs=&path=&hist=&type=&xrd=&nn=8&si=full&searchall=true&si=full&n=25
Rally: https://rally1.rallydev.com/#/?detail=/userstory/681832541101&fdp=true

Hi @GZolla - looks good, you've confirmed that all usage of the disabled property has been migrated? Also reminder to add a description to the PR, with a link to Rally.

Yes, all consumers have been changed.

I think there may still be some uncaught usages of disabled - e.g. here in CourseListItemMixin.
From what I can see:

these changes are to ListItemCheckboxMixin
so we need to check all consumers/descendants of that mixin
ListItemCheckboxMixin -> ListItemMixin -> 16 results, including ListItemLinkMixin -> d2l-list-item and others
CourseListItemMixin above was one of the other 16 descendants of ListItemMixin

Unfortunately, I think we'll have to go through all 16 of those results and their full descendants 😢.

I'm also not sure how reliable this d2l.dev search is - d2l.dev works well for simple searches, but combined/complex ones get iffy.
For instance this result on capture-central turned up when I tried the same search on cs.github.com.

@eKoopmans capture-central does show up on that search, but it is an archived repo.
Good call on checking everywhere that uses the mixin

@eKoopmans capture-central does show up on that search, but it is an archived repo.
Good call on checking everywhere that uses the mixin

Yes, I'll look into the mixin results. I had capture-central in the list of consumers but since it was archived I never committed the changes. Should I?

Yes, I'll look into the mixin results. I had capture-central in the list of consumers but since it was archived I never committed the changes. Should I?

Nope, you're okay to skip that one. That's been moved over to content-components which I believe you have switched over.

Yeah I hadn't seen that it was archived, glad it was on your radar though. What about this one?

content-components: I believe the item in selectedItems is a d2l-list-item (added in _onSelectChange)

Don't think I saw any other (non-archived) suspects for d2l-list-item.

I think that line and this line in _onSelectAllChange fills selectedItems with recycle-bin-item that uses d2l-list-item. The necessary changes were made in PR 3(#652) for it to work.
I'm not entirely sure if shadowRoot.getElementById picks up an element based on id attribute or property, since recycle-bin-item declare a property with no attribute reflected. However, I ran the tests with the disabled property removed locally and they all passed.

Okay yep, you're right @GZolla about the content-components example:

it gets item by key in the 'd2l-list-item-selected' event
that key is defined as the recycle-bin-item ID
and the recycle-bin-item still has its own disabled attribute that is mirrored onto the list-item

I've pinged @GZolla on Slack, just going to triple-check with him that we've removed all other usage before merging 😄.

manager-view-fra repo has not been backported yet

Just adding this here for tracking purposes - I've updated the branch that is trying to update Manager Dashboard to latest core to use the new property name.


Actions to set min & max date

I added possibility to set min and max dates dinamically, this solves the problem where if I wish to have multiple calendars where every next calendar can't have a lower date than what is set in the previous calendar. Common use-case would be in an airline ticket website where you can choose to have multi-city flights

@arcyj thanks for the PR and attention.
This feature is present in the release v5.2.0


Error while running the demo

Thanks for the library,but I am getting error while running the demo on Edge in Windows 10(the webm-muxer demo works fine). Screenshot of console attached

Strange! "Encoder initialization error" gets thrown internally when Chromium tried to init the encoder, but it failed for some reason. What sucks is that the reason for the failure doesn't bubble up to the JS. I also think it's strange that this happens at all, because it did not complain that the encoder config is unsupported (which is a totally valid error that can occur). Could you try running
videoEncoder = new VideoEncoder({
  output: (chunk, meta) => console.log(chunk, meta),
  error: e => console.error(e)
});
videoEncoder.configure({
  codec: 'avc1.640028',
  width: canvas.width,
  height: canvas.height,
  bitrate: 1e6
});

but using different codecs? Try these:

'avc1.64001F' (Main Profile, Level 3.1)
'avc1.64001E' (Main Profile, Level 3.0)
'avc1.64001D' (Main Profile, Level 2.2)
'avc1.64001C' (Main Profile, Level 2.1)
'avc1.64001B' (Main Profile, Level 2.0)
'avc1.42001F' (Baseline Profile, Level 3.1)
'avc1.42001E' (Baseline Profile, Level 3.0)
'avc1.42001D' (Baseline Profile, Level 2.2)
'avc1.42001C' (Baseline Profile, Level 2.1)
'avc1.42001B' (Baseline Profile, Level 2.0)

Or maybe the error is in the bitrate? Really not sure. If none of this works, it might be a Chromium bug or your system is incapable of encoding H.264 (which sounds sus).

Alright, I'm switching the demo to those. Let's hope it works for everyone!

There are so many codecs variations, I had to figure out all possible codecs when trying mp4-muxer and webm-muxer.
Hope this media-codecs package can help in the future. If you need to quickly check a VP8/9 or AVC1 codec is supported: https://dmnsgn.github.io/media-codecs/
I couldn't test hevc encoding (Chome now supports reading videos but no VideoEncoder.isConfigSupported I tested work, and Safari doesn't support VideoEncoder yet).

Looks great!! Yes, in a way, my libraries expect the user to be familiar with WebCodecs and aware of the large array of possible codec strings out there. However, I see how giving them a little guidance can't hurt. I'm thinking of how I could maybe link to your package on my README?

Oh and btw, HEVC also didn't work for me!

Looks great!! Yes, in a way, my libraries expect the user to be familiar with WebCodecs and aware of the large array of possible codec strings out there.

I've been mostly copy/pasting codec string until now, and for most usages it doesn't make much difference.

However, I see how giving them a little guidance can't hurt. I'm thinking of how I could maybe link to your package on my README?

Sure, no problem if it helps.

Oh and btw, HEVC also didn't work for me!

It has only landed in Chrome 107 so it is still pretty new.

@Vanilagy Just came across your project on my way out the door. I did not have time to look further, but was thinking that the issue might be related to the hw encoder failing. You specify no preference regarding hardwareAcceleration in the codec configuration, so maybe hardwareAcceleration: "prefer-hardware" is implicit when you specify 'avc1.640028'  H.264 high profile level 4  (since the software encoder does not support h.264 high profile )
From tests we made before it turns out that VideoEncoder.isConfigSupported will succeed as long as the configuration is valid, but is does not actually tell you if encoding will fail due do some hw issue.  So afaik then what we do is to actually try first encoding first with hardwareAcceleration: "prefer-hardware" and  codec set to h.264 high profile  'avc1.640028'  , and if it fails then we change configuration to H.264 baseline profile "avc1.420028" and use hardwareAcceleration: "no-preference" or "prefer-software" (I can't recall). Its not ideal, but that is what we found is the only way to guarantee best possible compression and resource usage.
We are using mp4box js to mux webcodec H.264/AAC into mp4, but your project looks pretty cool. I have not looked at the code yet but I am interested to see how you support handling of pst (cts) and dts .(Relevant  when b-frames are generated, ie when using something like H.264 high profile 'avc1.640028'). That is how I bumbed into this issue since I noticed that you demo used H.264 baseline profile.   Will look more later.

It could be due to the wrong hardware being used, but I actually tried exactly this when trying to get HEVC to work - didn't fix it. I think it is confusing for isConfigSupported to return true, even though the encoder will error later down the road when it initializes. Maybe should report this to the Chromium team so they can make this behavior more consistent.
Regarding b-frames and PST and DTS, there's actually no logic in here from my side - I simply pipe all of the encoded frame data in and have PST=DTS everywhere. Is this an error on my part? I had to read into this topic while writing the muxer, so it's possible I missed something! All of the files I muxed with high profiles worked great, though.


[Bug] 7.6.0 issue ReferenceError: exports is not defined

Describe the bug
Hello! 👋 The recently released 7.6.0 seems to break integration with this addon, with previews displaying the following error:
ReferenceError: exports is not defined
Steps to reproduce the behavior

Clone reproduction repository

Expected behavior

Switch to branch 7.5.3-working
yarn && yarn storybook
React Native Web component and story compiles and shows in storybook preview

Screenshots and/or logs

Switch to branch 7.6.0-broken
rm -rf node_modules && yarn && yarn storybook
React Native Web component and story compiles, but preview errors with: ReferenceError: exports is not defined

Environment

OS: OSX Sonoma v14
Node.js version: v16.15.0
Yarn version: 1.22.15
Browser (if applicable): Chrome

@mkmakes have you tried with 7.6.3? Seems like an upstream issue that has been resolved in recent patches.
If it still doesn't work then please provide a reproduction so i can investigate further. Thanks 🙏.

@mkmakes have you tried with 7.6.3? Seems like an upstream issue that has been resolved in recent patches.
If it still doesn't work then please provide a reproduction so i can investigate further. Thanks 🙏.

For sure! I checked out 7.6.3 and the problem still persists. Here's 7.6.3-broken with the reproduction

I'm travelling right now so its hard for me to investigate right now but once I'm back i will take a look. I recommend staying on 7.5 for now if it's blocking you.

I updated my monorepo to 7.6.4 and it seems to work now!

I updated my monorepo to 7.6.4 and it seems to work now!

Strange, this is still happening for me, even with the example project.
Opened another issue for this.