Add Image Search

Closes: #923

Title:  Image Search Engine
Name: Roushan Singh
Idenitfy yourself: GSSoC ext and hacktoberfest

Describe the add-ons or changes you've made 📃
Screenshots 📷

Added a Image Search website in front end projects, Basic section.
Type of change ☑

What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

Note to reviewers 📄
@Avdhesh-Varshney

I think, there is also another Image Search Engine project available. so I am closing this.


Simplify DeviceFile creation and adopt devfs module

This PR adds devfs module, offering more abstracted ways to access devfs related things. This PR also includes other changes using the newly adopted devfs APIs.
Please note that this change of PR removes the support of the npu device name form like npu0pe0-1-2. It's because we need to support only the combination of PEs like 0-3, 4-8 or 0-1,2-3,4-5,6-7 even when the renegade is released out. So, the simpler way to represent a range of PEs would be enough.

네 빠른 리뷰 감사합니다!


Add generics to collections

I've added generics to most places I could spot. Let me know if you spot any more places where it could be added.

Thanks!


Russian translation of chapter 7.1 problem

In chapter 7.1 of Pro Git 2 there is one big mistake in russian translation. The word "commit" was translated as "fixation" which can cause misunderstandings.

Sorry, there is another repo for book.


MapperException: Can't find a concrete type for abstract type or interface

Hi
I'm trying to use Detached-Mapper as a replacement for GraphDiff. One of my entities has a property of abstract type NetTopologySuite.Geometries.Geometry which leads to the following error:
public class Dataset
{
  public Geometry BoundingBoxPreview { get; set; }
}

Detached.Mappers.Exceptions.MapperException: Can't find a concrete type for abstract type or interface NetTopologySuite.Geometries.Geometry

with stack trace

AbstractTypeMapperFactory.GetConcreteType(MapperOptions mapperOptions, Type abstractType)
AbstractTypeMapperFactory.Create(Mapper mapper, TypePair typePair)
ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory)
Mapper.GetTypeMapper(TypePair typePair)
LazyTypeMapper2.get_Value() lambda_method1795(Closure , Datensatz , Datensatz , IMapContext ) RootEntityTypeMapper3.Map(TSource source, TTarget target, IMapContext context)
TypeMapper`2.Map(Object source, Object target, IMapContext context)
Mapper.Map(Object source, Type sourceClrType, Object target, Type targetClrType, IMapContext context)
EFMapper.Map[TEntity](DbContext dbContext, Object entityOrDTO, MapParameters parameters)
MappingDbContextExtensions.Map[TEntity](DbContext dbContext, Object entityOrDTO, MapParameters mapParams)

I've tried the following things:

Using [Abstract] attribute: Attribute 'Abstract' is not valid on this declaration type. It is only valid on 'class' declarations
Exclude Geometry: Code runs but BoundingBoxPreview is empty

.UseMapping(opt =>
{
    opt.Default(profOpt => profOpt.Type<Dataset>().Member(m => m.BoundingBoxPreview).Exclude<Dataset,Geometry>());
})

Is it possible to use abstract types from external libraries? If so, how can I configure it correctly?

Hi!
That's one possible solution, if you have only 1 type of geometry.
If there are may, e.g.: Geometry -> Polygon, Geometry -> Ellipse, Geometry -> Rectangle you may configure Entity Framework's Inheritance using a discriminator. The mapper will pick the settings from there.
https://github.com/leonardoporro/Detached-Mapper/blob/e6772f389d61fdc284c7ad1aed122cab2e299e80/test/Detached.Mappers.EntityFramework.Tests/Model/DefaultTestDbContext.cs#L54


Natasha/disable messaging

Checklist:

[x] Test your work and double-check to confirm that you didn't break anything
[x] Wrap any new text/strings for translation
[ ] Map any new environment variables with a default value in the Webpack config
[ ] Update any relevant READMEs and docs

Description:
Issue #393
Problem:

Disable messaging when a user does not have an account/not logged in
[ ] feedback about messaging

Solution:

Dispatch storeWeb3Intent:

when a user tries to access messages from the navbar

also disable the messages dropdown if they are don't have an account

when a user tries to contact a seller about a listing

Message from the navbar (when no web3 account exists)

Message when contacting a seller (not logged in)

Thanks @Natasha08 💬 As previously discussed, we don't have a good solution to those partial strings that won't really work for localization.  This PR is at least a step in the right direction for mobile and Safari users. I made some changes, and we will have to come back to this when one of my other commits gets merged and exposes "contact" links more frequently.


Possible error in launch-c.ini and launch-cxx.ini

I don't know if it is an error, but I had a problem during compilation.
I am using Ubuntu 20.04 and clang version 10.0.0-4ubuntu1
I received this message continuously:
launch-cxx: 3: [[: not found
And I had error in third-party libraries compilation.
So I modified lunch-c.ini and launch-cxx.ini removing a [] in the if:
if [ "$1" = "${CMAKE_C_COMPILER}" ]; then
shift
fi
this solved the issue.
Does someone have the same problem?

It's a mistake in the script, it should use /bin/bash at the top instead, or use [. [[ is a bash-ism.

I fixed the scripts, thank you!


[breaking change] hyperdb.get() returns empty array rather than null  in v3.0.0-0

If a key does not exist, get now returns an empty array rather than null.

Nice catch. This looks consistent with what's in the README, so I think it's OK.


Can't create or open Jupyter Notebook with VSC insiders

Issue Type: Bug
it is not possible to open or to create a jupyter notebook in the current
Cannot read property 'code' or 'markdown'
in the "normal" VCS jupyter notebooks are working.
Extension version: 2020.12.414227025
VS Code version: Code - Insiders 1.54.0-insider (a699ffaee62010c4634d301da2bbdb7646b8d1da, 2021-02-15T05:17:48.792Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz (4 x 2904)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.87GB (5.89GB free)

Process Argv
--crash-reporter-id a200e218-da5e-491f-adc2-d0355fa904c7

Screen Reader
no

VM
0%

A/B Experiments
vsliv695:30137379
vsins829:30139715
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry914:30244316
pythonvsdeb440:30224570
pythonvsded773:30223139
pythonvspyt875:30251590
core-portspanel:30233467
coreuntitledfile:30249963
wslfolderdoc:30257224

Hey @aisbergde sorry for the trouble. This is happening because there was a breaking change to the VS Code notebooks API in the latest VS Code Insiders update, and the Jupyter extension team is working on publishing a compatible version of the extension to the marketplace. I apologize for the trouble. In the meantime you can work around this by downgrading VS Code as described in https://github.com/microsoft/vscode-jupyter/issues/4796#issuecomment-779266138. Closing this issue as we're tracking the same problem in https://github.com/microsoft/vscode-jupyter/issues/4796, please subscribe to that issue for updates.


References to components output as literal text

I've tried using this syntax from the manual for linking: [link description][component_name]
But the brackets and text get output as literal text instead of a link. I've checked that the component name matches. The only way I can get the links to output is to reference the category file as a standard link: link description. Even local references don't work.
Something I'm missing?
Using hologram 1.2.0 with ruby 1.9.3p545 on win7.

Same here.

This feature has been added since the last release of Hologram. If you use the latest development version it should work.

Ah, thanks, that was my problem!
New problem, though: the generated xrefs are all absolute, so the output linking is only usable from a web/drive root. Any way the preceding slashes can be removed?

At the moment, no. My team uses a simple connect server to serve our
styleguide so the preceding slashes work for us.
It sounds like a configurable option - like hologram_root or something
like that - would be a good thing for this feature.
Geoffrey Pleiss
(408) 338-8247
On Sat, Jan 10, 2015 at 8:38 PM, Matt Garrish<EMAIL_ADDRESS>wrote:

Ah, thanks, that was my problem!
New problem, though: the generated xrefs are all absolute, so the output
linking is only usable from a web/drive root. Any way the preceding slashes
can be removed?
--
Reply to this email directly or view it on GitHub
https://github.com/trulia/hologram/issues/191#issuecomment-69479964.

Agree, fwiw. Even just allowing the option to generate absolute or relative paths would be a big help.

Actually, now that I think about it, I'm pretty sure relative paths would work when we're using a static server as well. I'm now thinking that there aren't any cases where an absolute path would be necessary over a relative path. I'd be down to just make the links relative paths.


E2E tests create project name lengths that fail API character length limits

The TestAccMetalDevice_sshConfig test (for one) is running into errors due to a name length restriction:
    resource_metal_device_acc_test.go:187: Step 1/1 error: Error running apply: exit status 1

        Error: API Error HTTP 422 Name must be 1-80 characters

          with equinix_metal_project.test,
          on terraform_plugin_test.tf line 76, in resource "equinix_metal_project" "test":
          76: resource "equinix_metal_project" "test" {

2023/08/08 15:03:26 [DEBUG] DELETE https://api.equinix.com/metal/v1/ssh-keys/79ee7e5b-2503-4d28-ac83-844f10ebeab7
--- FAIL: TestAccMetalDevice_sshConfig (6.74s)

The project name used in the test must be either truncated (ideally in a way that produces a unique string per test) or perhaps the string is absent or empty during this test.

Closed by #352


xml generator tests

Introduce basic tests for domainGenerator.py. No error case is covered yet.
As it stood, the XML validity checking code wasn't covered. This new test also
covers it. Same applies for xi:include tags: there wasn't any test suite
using them. This one does. Each of these features should have their own test
but this is a quick and easy solution.
Change-Id: I6e4dddf09cdda1fbd87c3db0f90b295fdf2af346
Signed-off-by: David Wagner<EMAIL_ADDRESS>

@krocard please review

Changes Unknown when pulling 34d3eec15e3921a61ac35848ec3b12424045d15e on dawagner:xmlgenerator-smoketest into ** on 01org:master**.

Coveralls seems somewhat broken but this PR does in fact improve coverage from 70.19% to 72.44% !

Remove the empty file "test/xml-generator/output.xml"

Coverage increased (+2.09%) to 72.18% when pulling 671a604afda47416efc4a36d72c11244a72c0791 on dawagner:xmlgenerator-smoketest into 86a4825487b0c7fe5c0817689077e48ac3601c08 on 01org:master.

Coverage increased (+2.08%) to 72.23% when pulling fceb4636a1460274770efdc3219a8c59b71f129a on dawagner:xmlgenerator-smoketest into a460839bd77647606c9db21fc13b92c8a254f2d8 on 01org:master.


Add support for more classes

Just as a reminder, I see several things that we could automatically register:

the event listeners located in the EventListener directory
the serializer normalizers located in the Normalizer directory
the cache warmers located in the CacheWarmer directory
the form extensions located in the Form directory

To be sure to not have conflicts with existing services, I think we should add a test to only register a class when there is no service corresponding to it.
BTW having so many classes automatically registered may introduce performance issues so it would be great to see if it's possible to cache some things or not.

I assume this means automatically tag services that have a given "prefix" (not directory)?
I think this is a very interesting idea, but, is there a good way to handle things that need a tag with extra properties? For example, kernel.event_listener? Actually, this is the main one (most-used) that has this problem. A workaround would be to recommend a key like event_susbcriber and point to an EventSubscriber directory. I wouldn't want people to mix subscribers and listeners in that directory and expect the listeners to get tagged automatically.
Also, would it be possible (and is it a good idea) for other bundles to hook into this? For example, it might be interesting if DoctrineBundle could auto-tag doctrine_event_subscriber prefixes.
I'm interested and asking questions... but I'm still not convinced of using the "prefix" (as is done currently with console). Another option is to check all auto-registered auto-wired classes for interfaces and auto-tag those. This would/could only apply if we removed the ability for all bundles to have their services auto-registered, which I think makes more sense anyways.

@weaverryan I like your last suggestion of adding tag by checking interfaces. I just removed the "autodiscovery" feature in #26. This wasn't possible in early versions of this bundle but thanks to the suggestion of @Ener-Getick to use the Finder Component there is no any interest for this feature now.

I think this is a very interesting idea, but, is there a good way to handle things that need a tag with extra properties? For example, kernel.event_listener? Actually, this is the main one (most-used) that has this problem. A workaround would be to recommend a key like event_susbcriber and point to an EventSubscriber directory. I wouldn't want people to mix subscribers and listeners in that directory and expect the listeners to get tagged automatically.

IMO for extra parameters, people should have their own service definition. If they want their listeners to be automatically tagged, they must implement the subscriber interface.

Also, would it be possible (and is it a good idea) for other bundles to hook into this? For example, it might be interesting if DoctrineBundle could auto-tag doctrine_event_subscriber prefixes.

I like this idea, maybe a solution would be to have a map in the config to add tags in function of the interface the class implement.

I'm interested and asking questions... but I'm still not convinced of using the "prefix" (as is done currently with console). Another option is to check all auto-registered auto-wired classes for interfaces and auto-tag those. This would/could only apply if we removed the ability for all bundles to have their services auto-registered, which I think makes more sense anyways.

:+1:, I'll submit a PR for that.


feat: Add Error event listener

Current dependencies on/for this PR:

main

PR #2731   👈

This comment was auto-generated by Graphite.


bug(LocalRepositoryRegistry): local repositories are not added when the extension start

Bug description
LocalRepository is only updated when recipes are started, this is an issue, as we cannot keep track of which one is already cloned, before running the recipe.
Operating system
Windows 11
Installation Method
Other
Version
next (development version)
Steps to reproduce

Start a recipe
Restart AI Lab extension
Go to recipe, you do not see it available locally.

Relevant log output
No response
Additional context
No response

This is required to achieve design in https://github.com/containers/podman-desktop-extension-ai-lab/issues/1126


user udm no read function

Made a reinstall after factory reset, then making a user unifipoller.
There is no more the read function for the user, only view.
Wil this be a problem?
Had it running until yesterday, then i f.ckt up my network and had to do a factory reset.
Now i am getting no data in grafana.
The network addresses are all the same as before.
When i look back in grafana i can see the data before the reset.
unifi-poller -j d
2021/12/23 15:33:22 [ERROR] Controller 1 of 1 Auth or Connection Error, retrying: unifi controller: (user: poller): https://<IP_ADDRESS>/api/auth/login (status: 401 Unauthorized): authentication failed
2021/12/23 15:33:22 [ERROR] re-authenticating to https://<IP_ADDRESS>: unifi controller: (user: poller): htps://<IP_ADDRESS>/api/auth/login (status: 401 Unauthorized): authentication failed

You need to adjust the permissions on that user to fix this.

This is what i thought also.
I am very sorry for my dumbness,  but i am a noob.
So my next question, where must i adjust these permissions?
My user unifipoller on the udm cant select the read function because it isn't there any more only the view  function (and some other)

So your unpoller user in the UDM Pro users setting is set to "view only" for unifi network, right?

The error was indeed from my udm settings. Apparently i had to use/make a different local username and passw.
I chanced it and went to bed (fed up with it)
I looked this morning and it is back, but with no history.
Apparently it has made a new database?
Anyway, i am happy it is back.
Thanks all for the input. @rtylerdavis , yes that was correct, but see above.


fix range query

#93
The result is not correct when using Bound::Exclude and Bound::Include in Transaction::scan.
This PR fixes the issue:

fix range filter in disk table
fix range bound in memory table

Thank you! I will have a look.

Thank you for your contribution!

Thank you @crwen ! You makes Tonbo better, I hope there are more collaborations in the future 🥰


Issue/183 PEP8 fixes and simplify error string handling

This fixes all but two PEP8 fixes (so Travis CI will show fail), and changes the ways strings are managed in custom exceptions.
@hayleyavw: The Learning Outcomes loader is broken, the wrong variables are used in the __init__ method so rather than fixing it, I'll leave it to you (as the rest of it might need changing too). We haven't encountered this yet as we don't use it.
I also haven't gotten around to testing the output of these errors, I'll get to that later tonight.

I've checked all the error messages and fixed a broken one. I also added some more text to messages where the error wasn't stated in English (only in exception name).
I noticed that the following errors are never used and had a odd bug:

MissingCurriculumArea
MissingLanguageImplementation
MissingLearningObjective
MissingRequiredFieldError

These errors asked for a loader instead of a filename, which I think is incorrect (as you would give it the place the error occurred. However I don't know if that is what you intended as they are never used in the loaders.
I changed all the errors to filename instead of loader, but change back if needed.
The issues from the initial pull request text still exist.


Add type-level godoc for various API types

Changes
Adds type-level godoc for various API types that did not have it.

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[x] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide
for more details.
Release Notes

release-note

/ok-to-test

/lgtm

Nice!! :pray: Thanks for filling these in @pmorie !! :heart:


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210911153312158 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20210911153312158 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.637%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26401

Relevant Lines:
57421

💛  - Coveralls


drop: remove helm charts, now in separate repo

this is good to remove now, right @TylerGillson @mauromorales @jimmykarily  ?

Yes, it should be good to remove
On Mon, May 1, 2023, 00:29 Ettore Di Giacinto @.***>
wrote:

this is good to remove now, right @TylerGillson
https://github.com/TylerGillson @mauromorales
https://github.com/mauromorales @jimmykarily
https://github.com/jimmykarily ?
—
Reply to this email directly, view it on GitHub
https://github.com/go-skynet/LocalAI/pull/134#issuecomment-1529143084,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVKHM3NIT6EISRVJZITPKTXD3KSPANCNFSM6AAAAAAXRFNM4E
.
You are receiving this because you were mentioned.Message ID:
@.***>


compiling all the node_modules in server side rendering with react by webpack-dev- middleware

i am facing this issue of compiling node modules folder dependency in webpack-dev-middleware .
actually i am building and express react web application, it is making my compilation very slow ,
here is some my file :-

package.json
server.js
webpack.config.js

@rizwan92 webpack-dev-middleware is a completely separate package https://github.com/webpack/webpack-dev-middleware

Closing due to inactivity. Please test with latest version and feel free to reopen if still regressions. Thanks!


client.upload_file_by_folder_id does not overwrite existing file name

Using upload_file_by_folder_id with the default overwrite=true fails when an existing file is present in the Box upload folder.
ruby-box (1.14.0)
irb(main):011:0* client.upload_file_by_folder_id('<My\Dir', '123456')
RubyBox::RequestError: Method Not Allowed
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/session.rb:128:in handle_errors'         from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/session.rb:87:in request'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/session.rb:48:in get'         from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/item.rb:68:in reload_meta'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/item.rb:85:in method_missing'         from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/file.rb:54:in update_content'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/folder.rb:23:in upload_file'         from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/client.rb:140:in block in upload_file_to_folder'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/client.rb:139:in open'         from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/client.rb:139:in upload_file_to_folder'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-box-1.14.0/lib/ruby-box/client.rb:106:in upload_file_by_folder_id'         from (irb):11         from C:/Ruby200/bin/irb:12:in '

Hello ,
I got wrong number of arguments (1 for 0)
when I try to upload file using upload_file_by_folder_id and upload_file
any idea to resolve this issue.?
I tried following codes lines but not working
Code#1
folder = @client.create_folder("folder_name")
file_path = Rails.root.join("public","404.html")
@client.upload_file_by_folder_id(file_path,folder.id,true)
Code#2
folder = @client.create_folder("folder_name")
file_path = Rails.root.join("public","404.html")
@client.upload_file_by_folder_id(file_path,folder.id)
Code#3
folder = @client.create_folder("folder_name")
file_path = Rails.root.join("public","404.html")
@client.upload_file(file_path,folder.id)
Code#4
folder = @client.create_folder("folder_name")
file_path = Rails.root.join("public","404.html")
@client.upload_file(file_path,folder.id,true)
Is there any solution?


fixed a typo in sentinelMasterName and it's examples

fixed a typo in sentinelMasterName and it's examples

@VuiDJi If we take this PR this is a duplicate of https://github.com/dapr/docs/pull/3063 which you can close. Agreed?


Transparent background in SVG becomes white

This is basically identical to #19 but now the background is white.  I don't remember if 0.2.6 has always been like this or not.  Version 0.2.4 still seems to work fine in the meantime.

Seeing the same issue with version 0.2.6 and transparent backgrounds in PNG images.

Hey guys, thanks for reporting this. I’ll be working on it today.

Hi guys, sorry for the late response. 0.2.7 fixes the issue.
The example site is running the fix while using an SVG source. As you can see on it, now the generator does not add a default background color to the PNG files.
Thanks for using the gem and reporting issues.

Thanks so much @afaundez! I'll upgrade to 0.2.7 later this week.
Really appreciate your work on this plugin, it's saved me heaps of time ❤


Crashes immediately

Describe the issue
As soon as I touch the UTM app, the screen flashes like it will load, but it never does — just crashes back to the desktop.
Configuration (required)

UTM Version: v2.0.20
OS Version: iPadOS 14.3
Device Model: iPad Pro 2018 12.9”
Is it jailbroken (name jailbreak used)? No
How did you install UTM? AltStore

Crash log
There are no crash logs with today’s date for UTM, so I can put nothing here. This is a stock, non-jailbroken 2018 iPad Pro 12.9”. There is literally nothing but stock on it, AltStore, and UTM.
Debug log
Since UTM crashes immediately when launched, I cannot provide this. However, I have tried uninstalling UTM, uninstalling AltStore, reinstalling AltStore, and reinstalling the latest version of AltStore and UTM. Nothing changes. It worked fine on iPadOS 14.3 on this exact device in December.
Upload VM
Since I cannot make a VM, I cannot provide this. I was hoping to come here and find a glaring post about an issue. I was bummed not to find anything. I had hoped the latest version would be the fix, but still no joy.

Is this relates to the recent AltStore issues? I.e. does installing anything else work?

Hey, good thinking. I haven’t tried any other apps, since I literally got AltStore for UTM. What is another app I can try to sideload to see if it has the same problem?

Try anything listed in altstore. Like delta.

Sorry it took me so long to get back to this issue. I was not able to install anything new. So I went to the AltStore issues and saw the update. Simply letting the app update itself, however, did not work. I am on Win 10, so I needed to completely remove the old version of AltStore from my iPad, AltServer from my system, reinstall latest beta of AltStore for Win, and reinstall AltStore on the iPad. Then I was able to successfully load UTM. Thanks for the kick in the right direction -- appreciate it! runs to build happy little development playgrounds on the iPad Pro Hooray!


Java bindings for version 4.0.0

Are there any current bindings for Java?

Did you have had a look onto Koin3D? Haven't tried that by myself, but it looks promising.


When I edit under watch mode, it seems it keeps queueing up recompiling

Do you want to request a feature or report a bug?
Maybe a bug
What is the current behavior?
I am writing code in PHPStorm with webpack running in watch mode. I press Cmd + S to save occasionally when I write code.
If the current behavior is a bug, please provide the steps to reproduce.
Once I made a series of changing and head to Terminal to see when will webpack finish compiling I found it keeps compiling for a few times. I think webpack queued up these tasks.
What is the expected behavior?
It should compile the last task and clear other tasks if any.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node 6.10
Chrome 60
Webpack v2.7.0
macOS Sierra 10.12.6

I doesn't queue up task. It may recompile directly after it finishes compilation when a change happend while compiling.

Is it possible for webpack to kill the current process but jump to the last one if any received? I guess you know 92% chunk asset optimization takes tremendous amount of time, right? Mostly when I go to terminal it is stuck on 92% chunk asset optimization yet once it is done it takes another iteration of compiling. I seldomly kill the watch process and restart again just try to shorten the waiting time

It wouldn't be enough to "jump to the last one it received" because that could miss changes that happened to other files in the previous save. But perhaps possible to queue up changes in watch mode, rerun the entire queue every time there's a save, and only flush it once a build iteration fully completes?

92% chunk asset optimization takes tremendous amount of time

You probably should disable minimizing while in watch mode.
An incremental compilation while in watch mode should take about 500ms - a few seconds depending on the size of the application. See https://webpack.js.org/guides/build-performance/

I have disabled it. Maybe I need to disable source map too

@bmayen My idea is to squash all tasks(changes) and compile but not handling them one by one. I think it is similar to what you say

My idea is to squash all tasks(changes)

That's the way it works.


[VQC-CHALLENGE] [Aqcent] [2022-11-04]

Team members
Kung-Chuan Hsu (Discord tag: KC Hsu#5070)
Victoria Perrone (Discord tag: VictoriaP#2190)
Max Howard
Submission summary

Added comments/notes regarding our implementation to the notebook.
Consistent VQC Accuracy of 100% with a VQC Quantum Cost of around 40.2.

Additional comments

@kchsu72017 @vmperrone
Hi there! @rryoung98 told me you guys would like a little more information about the scoring for the VQC challenge.
During the final 24 hours before the deadline, I noticed you made two submissions (this and #71). Since we were not giving any more feedback in this final 24-hour window, only the second submission out of those two (this PR) was reviewed, since it was the most recent.
We trained/tested your model three times, and over each trial evaluated the accuracy 10 times. Your model averaged 97% accuracy with an average quantum cost of 40.2.  Your team's previous submission scored 100% accuracy, which is why the score was not replaced on the leaderboard.
There were at least 4 teams with final submissions that claimed quantum costs lower than those accepted in the top three. However, the criteria for accepting an updated quantum cost score onto the leaderboard was consistent 100% accuracy scores. Unfortunately, your model's scores were too variable and had a near-equal distribution between 96%-99% with a few hits on 95% and a few hits on 100%. That is why your team's final submissions were not accepted to the leaderboard.
I'm sorry for the confusion, and with the history of PR reviews, I understand why you might've thought we missed your submission. However, you can now be assured that was not the case. It was just that we had so many submissions near the deadline that we could not respond to all of the pull requests with feedback before the closing ceremony.
If you're curious, the teams in the top 3 each took a similar approach that assured consistent accuracy, which was evaluating the accuracy of their model each iteration, and not breaking out of the training loop until 100% accuracy was achieved multiple times. Please let me know if you have any further questions about how the models were evaluated, I would be happy to answer!


Add cmake build support (w/lots of diagnostics enabled)

We have not forgotten this, but I've had to implement some other things before this can be done in its current form. I've rewritten some parts of the code to make it portable across platforms and at the same time remove the padding and alignment related warnings. More work on cleaning up the rest of the warnings is still in progress.

There are, however, some issues that we will need to resolve in this specific PR as well.
1/ For some reason the code to check what compiler options are usable doesn't work. I think this is an Apple OS X thing; their gcc is older and has slightly different syntax. I could update, but I want the software to work in everyone's environment. One way would be to remove the options that lead to this problem.
2/ Some warning options will lead to problematic results. Specifically, -Wcovered-switch-default will prevent defensive coding style, as default branches will be prohibited for enum values. Perhaps this is a philosophical issue but I like my code to detect problems and fail visibly if something's wrong, even if the reason for such a problem would have to be memory corruption or pointer error. I plan to disable the warning and use -Wno-covered-switch-default. There may be other warnings, I have not gotten through all of them yet.
3/ I would like to retain the ability to run tests as part of the regular make run; it has been very useful in catching errors. How do I do that? I still need to learn more about cmake...

I'm surprised the compiler option checker doesn't work on OSX with Apple's gcc, let me investigate.
Yes, please add whatever -Wno-* options make sense for you - I do the same for my projects.
Regarding testing, it's very easy to add test targets, see https://gitlab.kitware.com/cmake/community/wikis/doc/ctest/Testing-With-CTest

The compiler option stuff does work for me on OSX

Thanks. Will look at testing; warnings should be pretty much handled by now.
regarding the compiler options, what i get is:
Jaris-MacBook-Pro:spindump jariarkko$ git clone https://github.com/larseggert/spindump.git
Jaris-MacBook-Pro:spindump jariarkko$ cd spindump
Jaris-MacBook-Pro:spindump jariarkko$ cmake .
-- The C compiler identification is AppleClang <IP_ADDRESS>00039
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test _pipe
-- Performing Test _pipe - Success
-- Performing Test _Wextra
-- Performing Test _Wextra - Success
-- Performing Test _Wpedantic
-- Performing Test _Wpedantic - Success
-- Performing Test _Weverything
-- Performing Test _Weverything - Success
-- Performing Test _Werror
-- Performing Test _Werror - Success
-- Performing Test _fcolor_diagnostics
-- Performing Test _fcolor_diagnostics - Success
-- Performing Test _fdiagnostics_color_always
-- Performing Test _fdiagnostics_color_always - Success
-- Performing Test _fsanitize_memory
-- Performing Test _fsanitize_memory - Failed
-- Performing Test _fsanitize_memory_track_origins
-- Performing Test _fsanitize_memory_track_origins - Success
-- Performing Test _fsanitize_memory_use_after_dtor
-- Performing Test _fsanitize_memory_use_after_dtor - Success
-- Performing Test _fsanitize_address
-- Performing Test _fsanitize_address - Failed
-- Performing Test _fsanitize_undefined
-- Performing Test _fsanitize_undefined - Success
-- Performing Test _fno_omit_frame_pointer
-- Performing Test _fno_omit_frame_pointer - Success
-- Performing Test _fsanitize_address_use_after_scope
-- Performing Test _fsanitize_address_use_after_scope - Success
-- Performing Test _fno_optimize_sibling_calls
-- Performing Test _fno_optimize_sibling_calls - Success
-- Performing Test _fno_common
-- Performing Test _fno_common - Success
-- Performing Test _fsanitize_unsigned_integer_overflow
-- Performing Test _fsanitize_unsigned_integer_overflow - Success
-- Performing Test _fsanitize_implicit_conversion
-- Performing Test _fsanitize_implicit_conversion - Failed
-- Performing Test _fsanitize_nullability
-- Performing Test _fsanitize_nullability - Success
-- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.29.2")
-- Found Curses: /usr/lib/libcurses.dylib
-- Checking for module 'libpcap'
--   Found libpcap, version 1.9.0-PRE-GIT
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/jariarkko/LME/Spindump/spindump.cmake2/spindump
Jaris-MacBook-Pro:spindump jariarkko$ make
Scanning dependencies of target libspindump
[  2%] Building C object src/CMakeFiles/libspindump.dir/spindump_analyze.c.o
clang: error: argument unused during compilation: '-fsanitize-memory-track-origins' [-Werror,-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-fsanitize-memory-use-after-dtor' [-Werror,-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-fsanitize-address-use-after-scope' [-Werror,-Wunused-command-line-argument]
make[2]: *** [src/CMakeFiles/libspindump.dir/spindump_analyze.c.o] Error 1
make[1]: *** [src/CMakeFiles/libspindump.dir/all] Error 2
make: *** [all] Error 2

I get these -Wunused-command-line-argument errors, too, but only when there are other errors in a file. (I think it's a bug in clang.) For spindump_analyze.c, here are all the errors I get:
Scanning dependencies of target libspindump
[  2%] Building C object src/CMakeFiles/libspindump.dir/spindump_analyze.c.o
Warning: include-what-you-use reported diagnostics:
error: unsupported argument 'nullability' to option 'fsanitize='
error: invalid argument '-fsanitize-address-use-after-scope' only allowed with '-fsanitize=address'
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:352:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  default:
  ^

/Users/lars/Documents/Code/spindump/src/spindump_analyze.h should add these lines:
#include <_types/_uint16_t.h>  // for uint16_t
#include <_types/_uint8_t.h>   // for uint8_t
#include "spindump_util.h"     // for spindump_address
struct spindump_connection;
struct spindump_packet;

/Users/lars/Documents/Code/spindump/src/spindump_analyze.h should remove these lines:
- #include "spindump_connections_structs.h"  // lines 27-27
- #include "spindump_table.h"  // lines 28-28

The full include-list for /Users/lars/Documents/Code/spindump/src/spindump_analyze.h:
#include <_types/_uint16_t.h>  // for uint16_t
#include <_types/_uint8_t.h>   // for uint8_t
#include "spindump_capture.h"  // for spindump_capture_linktype
#include "spindump_util.h"     // for spindump_address
struct spindump_analyze;  // lines 59-59
struct spindump_connection;
struct spindump_packet;
---

/Users/lars/Documents/Code/spindump/src/spindump_analyze.c should add these lines:
#include <_types/_uint32_t.h>                   // for uint32_t
#include <netinet/in.h>                         // for IPPROTO_ICMP, IPPROTO...
#include <stdlib.h>                             // for free, malloc
#include <sys/socket.h>                         // for AF_INET, AF_INET6
#include "spindump_connections_structs.h"       // for spindump_connection
#include "spindump_packet.h"                    // for spindump_packet
#include "spindump_protocols.h"                 // for spindump_ip, spindump...
#include "spindump_stats.h"                     // for spindump_stats, spind...
#include "spindump_table.h"                     // for spindump_connectionst...
#include "spindump_table_structs.h"             // for spindump_connectionst...

/Users/lars/Documents/Code/spindump/src/spindump_analyze.c should remove these lines:
- #include <netinet/icmp6.h>  // lines 26-26
- #include <netinet/ip.h>  // lines 24-24
- #include <netinet/ip_icmp.h>  // lines 25-25
- #include "spindump_analyze_quic.h"  // lines 34-34
- #include "spindump_connections_set.h"  // lines 29-29

The full include-list for /Users/lars/Documents/Code/spindump/src/spindump_analyze.c:
#include "spindump_analyze.h"
#include <_types/_uint32_t.h>                   // for uint32_t
#include <netinet/in.h>                         // for IPPROTO_ICMP, IPPROTO...
#include <stdlib.h>                             // for free, malloc
#include <string.h>                             // for memset, memcpy
#include <sys/socket.h>                         // for AF_INET, AF_INET6
#include "spindump_analyze_aggregate.h"         // for spindump_analyze_proc...
#include "spindump_analyze_icmp.h"              // for spindump_analyze_proc...
#include "spindump_analyze_tcp.h"               // for spindump_analyze_proc...
#include "spindump_analyze_udp.h"               // for spindump_analyze_proc...
#include "spindump_connections.h"               // for spindump_connections_...
#include "spindump_connections_set_iterator.h"  // for spindump_connection_s...
#include "spindump_connections_structs.h"       // for spindump_connection
#include "spindump_packet.h"                    // for spindump_packet
#include "spindump_protocols.h"                 // for spindump_ip, spindump...
#include "spindump_stats.h"                     // for spindump_stats, spind...
#include "spindump_table.h"                     // for spindump_connectionst...
#include "spindump_table_structs.h"             // for spindump_connectionst...
#include "spindump_util.h"                      // for spindump_assert, spin...
---

warning: argument unused during compilation: '-fsanitize-address-use-after-scope' [clang-diagnostic-unused-command-line-argument]
warning: argument unused during compilation: '-fsanitize-memory-track-origins' [clang-diagnostic-unused-command-line-argument]
warning: argument unused during compilation: '-fsanitize-memory-use-after-dtor' [clang-diagnostic-unused-command-line-argument]
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:23:1: warning: #includes are not sorted properly [llvm-include-order]
#include <string.h>
^        ~~~~~~~~~~
         "spindump_analyze.h"
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:352:3: warning: default label in switch which covers all enumeration values [clang-diagnostic-covered-switch-default]
  default:
  ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:522:31: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
  unsigned int ipHeaderSize = SPINDUMP_IP_HL(&ip)*4;
                              ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:62:32: note: expanded from macro 'SPINDUMP_IP_HL'
#define SPINDUMP_IP_HL(ip)    (((ip)->ip_vhl) & 0x0f)
                               ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:530:23: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
  uint8_t ipVersion = SPINDUMP_IP_V(&ip);
                      ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:63:32: note: expanded from macro 'SPINDUMP_IP_V'
#define SPINDUMP_IP_V(ip)     (((ip)->ip_vhl) >> 4)
                               ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:533:80: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
    spindump_warnf("IP versions inconsistent in Ethernet frame and IP packet", SPINDUMP_IP_V(&ip));
                                                                               ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:63:32: note: expanded from macro 'SPINDUMP_IP_V'
#define SPINDUMP_IP_V(ip)     (((ip)->ip_vhl) >> 4)
                               ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:560:22: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
  uint8_t ecnFlags = SPINDUMP_IP_ECN(&ip);
                     ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:64:32: note: expanded from macro 'SPINDUMP_IP_ECN'
#define SPINDUMP_IP_ECN(ip)   (((ip)->ip_tos) & 0x3)
                               ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:567:8: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
  if ((off & SPINDUMP_IP_OFFMASK) != 0) {
       ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:569:57: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
    spindump_debugf("ignored a fragment at offset %u", (off & SPINDUMP_IP_OFFMASK));
                                                        ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:631:23: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
  uint8_t ipVersion = SPINDUMP_IP6_V(&ip6);
                      ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:107:30: note: expanded from macro 'SPINDUMP_IP6_V'
#define SPINDUMP_IP6_V(ip)              (((ip)->ip6_vtc) >> 4)
                                         ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:634:80: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
    spindump_warnf("IP versions inconsistent in Ethernet frame and IP packet", SPINDUMP_IP6_V(&ip6));
                                                                               ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:107:30: note: expanded from macro 'SPINDUMP_IP6_V'
#define SPINDUMP_IP6_V(ip)              (((ip)->ip6_vtc) >> 4)
                                         ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:661:22: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
  uint8_t ecnFlags = SPINDUMP_IP6_ECN(&ip6);
                     ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:108:42: note: expanded from macro 'SPINDUMP_IP6_ECN'
#define SPINDUMP_IP6_ECN(ip)            ((((ip)->ip6_tcfl >> 4)) & 0x3)
                                         ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:683:9: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
    if (spindump_ip6_fh_fragoff(off) != 0) {
        ^
/Users/lars/Documents/Code/spindump/src/spindump_protocols.h:140:45: note: expanded from macro 'spindump_ip6_fh_fragoff'
# define spindump_ip6_fh_fragoff(field)    ((field)>>2)
                                            ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:685:59: warning: use of a signed integer operand with a binary bitwise operator [hicpp-signed-bitwise]
      spindump_debugf("ignored a fragment at offset %u", (off & SPINDUMP_IP_OFFMASK));
                                                          ^
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:688:7: warning: do not use 'else' after 'return' [readability-else-after-return]
    } else {
      ^~~~~~
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:757:22: warning: statement should be inside braces [readability-braces-around-statements]
                        if (fromResponder)
                                          ^
                                           {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:759:8: warning: statement should be inside braces [hicpp-braces-around-statements]
                        else
                            ^
                             {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:764:22: warning: statement should be inside braces [readability-braces-around-statements]
                        if (fromResponder)
                                          ^
                                           {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:766:8: warning: statement should be inside braces [hicpp-braces-around-statements]
                        else
                            ^
                             {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:772:22: warning: statement should be inside braces [readability-braces-around-statements]
                        if (fromResponder)
                                          ^
                                           {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:774:8: warning: statement should be inside braces [readability-braces-around-statements]
                        else
                            ^
                             {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1101:18: warning: statement should be inside braces [google-readability-braces-around-statements]
  if (event == 0) return("none");
                 ^
                  {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1102:3: warning: do not use 'else' after 'return' [readability-else-after-return]
  else if (event == spindump_analyze_event_newconnection) return("newconnection");
  ^~~~~~~~
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1102:58: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_newconnection) return("newconnection");
                                                         ^
                                                          {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1103:61: warning: statement should be inside braces [hicpp-braces-around-statements]
  else if (event == spindump_analyze_event_connectiondelete) return("connectiondelete");
                                                            ^
                                                             {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1104:66: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_newleftrttmeasurement) return("newleftrttmeasurement");
                                                                 ^
                                                                  {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1105:67: warning: statement should be inside braces [hicpp-braces-around-statements]
  else if (event == spindump_analyze_event_newrightrttmeasurement) return("newrightrttmeasurement");
                                                                  ^
                                                                   {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1106:62: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_initiatorspinflip) return("initiatorspinflip");
                                                             ^
                                                              {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1107:62: warning: statement should be inside braces [hicpp-braces-around-statements]
  else if (event == spindump_analyze_event_responderspinflip) return("responderspinflip");
                                                             ^
                                                              {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1108:63: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_initiatorspinvalue) return("initiatorspinvalue");
                                                              ^
                                                               {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1109:63: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_responderspinvalue) return("responderspinvalue");
                                                              ^
                                                               {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1110:54: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_newpacket) return("newpacket");
                                                     ^
                                                      {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1111:64: warning: statement should be inside braces [hicpp-braces-around-statements]
  else if (event == spindump_analyze_event_firstresponsepacket) return("firstresponsepacket");
                                                               ^
                                                                {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1112:56: warning: statement should be inside braces [google-readability-braces-around-statements]
  else if (event == spindump_analyze_event_statechange) return("statechange");
                                                       ^
                                                        {
/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:1113:7: warning: statement should be inside braces [google-readability-braces-around-statements]
  else return("multiple");
      ^
       {
(information) Couldn't find path given by -I '/Users/lars/Documents/Code/spindump/src/src/'
Warning: cppcheck reported diagnostics:
[/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:254]: (style) The function 'spindump_analyze_getstats' is never used.
[/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:90]: (style) The function 'spindump_analyze_initialize' is never used.
[/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:327]: (style) The function 'spindump_analyze_process' is never used.
[/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:175]: (style) The function 'spindump_analyze_registerhandler' is never used.
[/Users/lars/Documents/Code/spindump/src/spindump_analyze.c:145]: (style) The function 'spindump_analyze_uninitialize' is never used.
(information) Cppcheck cannot find all the include files (use --check-config for details)
clang: error: argument unused during compilation: '-fsanitize-memory-track-origins' [-Werror,-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-fsanitize-memory-use-after-dtor' [-Werror,-Wunused-command-line-argument]
clang: error: argument unused during compilation: '-fsanitize-address-use-after-scope' [-Werror,-Wunused-command-line-argument]
make[2]: *** [src/CMakeFiles/libspindump.dir/build.make:63: src/CMakeFiles/libspindump.dir/spindump_analyze.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:169: src/CMakeFiles/libspindump.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Hmm. Clang gives more errors than gcc to begin with, seems like 1/ I should run also with clang (some further cleanup needed, clearly) 2/ we need to add -Wno-covered-switch-default because I decided that warning interferes too much with defensive programming that I prefer to use 3/ but even so, maybe there's some remaining clang or other version issue, because on my compilation I get the option errors even without any other errors. Maybe Clang version, OSX version, mac port vs. homebrew... many potential reasons for this. But we'd ideally have the cmake system work regardless of what specific versions there are... I'm working on this still, stay tuned :-)

Your Xcode is older than mine, FWIW

What Xcode calls gcc is really clang

The latest version of Spindumop now has cmake support (using code from this PR, although the PR itself was not taken forward). Thanks Lars!!!


Order-related issue of MinimumVolumeBox3

Hello,
We are trying to use Geometric Tools on our project, but it appears to go wrong when using MiniVolumeBox3 to get the OBB of a point set. However, when I reverse the array of points, it goes well.
    for (size_t i = 0; i < mNumVertices; ++i)
    {
        size_t vLocalMax = vMax;
        ComputeType dLocalMax = dMax;
        size_t const* adjacent = &mAdjacentPool[mVertexAdjacent[vMax]];
        size_t numAdjacent = *adjacent++;
        for (size_t j = 1; j <= numAdjacent; ++j)
        {
            size_t vCandidate = *adjacent++;
            ComputeType dCandidate = Dot(direction, mVertices[vCandidate]);
            if (dCandidate > dLocalMax)
            {
                vLocalMax = vCandidate;
                dLocalMax = dCandidate;
            }
        }
        if (vMax != vLocalMax)
        {
            vMax = vLocalMax;
            dMax = dLocalMax;
        }
        else
        {
            break;
        }
    }

I suppose the problem is in GetExtreme function. It exits early when the local maximum dot product of adjacent points to input direction is equal to dmax, so it can't visit the real extreme vertex. I don't understand why the iteration continues only when the local maximum is greater than dmax, since I don't see it monotonically increasing in the adjacency.
I tried to use std queue to handle it, but it takes too long, even much longer than exhausted method.  I don't have other solution for now, so do you have any suggestions?

Are you computing using a floating-point type or a rational type BSNumber? As with many computational geometry problems, floating-point rounding errors can cause misclassifications of signs that lead to incorrect results. The minimum-volume-box code computes the convex hull of the input points, and the hull algorithm is definitely affected by rounding errors.
If you want to provide your dataset that fails, I am happy to look at it and determine whether or not this is a floating-point rounding-error problem. The rational version has been used extensively by other users, and I have not yet received bug reports when using rational.

One of the test case is listed below.
	std::vector<gte::Vector3<double>> pointSet = {
		{242.469421,577.558533,30.638069},
		{242.469421,577.558533,5.895439},
		{192.984161,627.043823,5.895439},
		{192.984161,602.301147,5.895439},
		{217.726807,627.043823,55.380684},
		{192.984161,627.043823,55.380684},
		{242.469421,577.558533,5.895439},
		{217.726807,577.558533,5.895439},
		{217.726807,602.301147,5.895439},
		{192.984161,602.301147,5.895439},
		{192.984161,627.043823,30.638069},
		{192.984161,627.043823,5.895439},
		{217.726807,602.301147,5.895439},
		{217.726807,577.558472,5.895439},
		{192.984161,627.043823,55.380684},
		{192.984161,627.043823,30.638054},
		{217.726807,627.043823,55.380684},
		{217.726807,602.301147,55.380684},
		{242.469421,602.301147,30.638054},
		{242.469421,577.558472,30.638054},
		{242.469421,602.301147,55.380684},
		{217.726807,602.301147,55.380684},
		{242.469421,602.301147,55.380684},
		{242.469421,602.301147,30.638054},
	};

	{
		gte::OrientedBox3<double> obb;
		double vol;
		gte::MinimumVolumeBox3<double, false> solver(8);
		solver(pointSet.size(), pointSet.data(), 8, obb, vol);
		printf("OBB vol: %f\n", vol);
	}

	std::reverse(pointSet.begin(), pointSet.end());

	{
		gte::OrientedBox3<double> obb;
		double vol;
		gte::MinimumVolumeBox3<double, false> solver(8);
		solver(pointSet.size(), pointSet.data(), 8, obb, vol);
		printf("Reversed OBB vol: %f\n", vol);
	}

And the output is
    OBB vol: 0.000000
    Reversed OBB vol: 96525.547185

Using double or rational number doesn't really matter in this case. The result of reversed point array is slightly different for double numbers, but for unreversed one it is still 0.

Thank you for a clearly defined experiment to show that indeed there is a problem with the minimum-box code. It does not matter how you generate the input points, so there are no constraints on them. I will figure out how to fix the code and once fixed, respond in this thread. I appreciate your taking the time to investigate and report this.

I posted a fix for GetExtreme. Your dataset has coplanar triangles sharing the initial vertex in the extreme-point search, and all vertices adjacent to the initial vertex have the same projection value. As you noticed, the GetExtreme function exits, thinking it has found the extreme point. The hill climbing had to be modified to allow the search to continue through the "flat region" until it finds vertices of larger projection value.
When you run the rational version, you get exactly the same output for the volume whether you use the original points or the reversed points.

It works perfect now. Thank you for your help!👍 👍

The issue appears again. Try this point set.
{346.499969, 277.199982, 1068.900024},     { 346.499969, 277.199982, 1045.799927 },   { 346.499969, 277.199982, 1045.799927 },                 { 323.399994, 277.199982, 1045.799927 },                 { 346.499969, 277.199982, 1068.900024 },                 { 323.399994, 277.199982, 1068.900024 },                 { 323.399994, 277.199982, 1068.900024 },                 { 323.399994, 277.199982, 1045.799927 }
I read the GetExtreme codes again, I think the latest commit just simply skips to the last one of all qualified candidates. So I modified it with queue to make sure it can visit every qualified candidates.
std::vector<uint32_t> visited(mNumVertices, 0);
size_t vMax = 0;
dMax = Dot(direction, mVertices[vMax]);
std::vector<size_t> vQue;
vQue.emplace_back(vMax);
while(!vQue.empty())
{
    std::vector<size_t> nxtQue;
    for(const auto vCur : vQue)
    {
        for (size_t i = 0; i < mNumVertices; ++i)
        {
            size_t const* adjacent = &mAdjacentPool[mVertexAdjacent[vCur]];
            size_t numAdjacent = *adjacent++;
            for (size_t j = 1; j <= numAdjacent; ++j)
            {
                size_t vCandidate = *adjacent++;
                if (visited[vCandidate] == 0)
                {
                    ComputeType dCandidate = Dot(direction, mVertices[vCandidate]);
                    if (dCandidate >= dMax)
                    {
                        vMax = vCandidate;
                        dMax = dCandidate;
                        nxtQue.emplace_back(vCandidate);
                    }
                    visited[vCandidate] = 1;
                }
            }
        }
    }
    vQue = nxtQue;
}
return vMax;

It works fine in my test cases, and slightly puts on time cost. Maybe you can try more cases to test its robustness.

I can certainly analyze GetExtreme for your dataset, but before doing so, would you mind clarifying what you are expecting. The y-value of all your points are the same, so the points are coplanar and necessarily the box has a volume of 0. The output extent[2] is 0. The OBBs are the same whether I use the points in your specifed order or in reverse order.

Regarding your test dataset, I should have mentioned that the points are coplanar which leads to a 2D convex hull. The execution path in MinimumVolumeBox3::operator() has 'dimension 2', in which case there is a call to MinimumAreaBox2. The function GetExtreme is never called.

The GetExtreme function had another bug. Before using your queue approach, I am hoping the performance is better by fixing this bug. If you encounter another bug, please re-open the issue.
Your illustrative example, when run single-threaded, showed the failure on the third call to GetExtreme. The dMax value is computed for mVertices[0] and is 0. All vertices adjacent to mVertices[0] have d-values of 0. The loop then processes mVertices[1], and all its adjacent vertices have d-values of 0. The last of those vertices is mVertices[0]. This causes vMax to be set to 0, which invalidates the search. It is necessary before the loop to mark mVertices[0] as visited.
I have posted the fix. Once again, thank you for reporting the problem and providing the dataset!

The bug appears again. Try the point set below.
{-88.704002,205.128021, 546.839966},                 {-99.792000,205.128021, 546.839966},                 {-77.616005,205.128021, 546.839966},                 {-88.704002,205.128021, 546.839966},                 {-99.792007,216.216019, 546.839966},                 {-99.792007,205.128006, 546.839966},                 {-77.616005,216.216019, 546.839966},                 {-77.616005,205.128006, 546.839966},                 {-99.792007,216.216019, 546.839966},                 {-110.880005,216.216019, 546.839966},                 {-110.880005,216.216019, 569.015991},                 {-110.880005,205.128006, 569.015991},                 {-110.880005,216.216019, 557.927979},                 {-110.880005,216.216019, 546.839966},                 {-66.528008,216.216019, 546.839966},                 {-77.616005,216.216019, 546.839966},                 {-66.528008,216.216019, 557.927979},                 {-66.528008,216.216019, 546.839966},                 {-110.880005,216.216019, 557.927979},                 {-110.880005,205.128006, 557.927979},                 {-66.528008,216.216019, 557.927979},                 {-66.528008,205.128006, 557.927979},                 {-110.880005,205.128021, 569.015991},                 {-110.880005,205.128021, 557.927979},                 {-66.528008,205.128021, 569.015991},                 {-66.528008,205.128021, 557.927979},                 {-66.528008,216.216019, 569.015991},                 {-66.528008,205.128006, 569.015991},                 {-110.880005,216.216019, 591.192017},                 {-110.880005,216.216019, 580.104004},                 {-110.880005,216.216019, 580.104004},                 {-110.880005,216.216019, 569.015991},                 {-66.528008,216.216019, 580.104004},                 {-66.528008,216.216019, 569.015991},                 {-66.528008,216.216019, 591.192017},                 {-66.528008,216.216019, 580.104004},                 {-99.792007,216.216019, 591.192017},                 {-110.880005,216.216019, 591.192017},                 {-66.528008,216.216019, 591.192017},                 {-77.616005,216.216019, 591.192017},                 {-88.704002,216.216019, 591.192017},                 {-99.792000,216.216019, 591.192017},                 {-77.616005,216.216019, 591.192017},                 {-88.704002,216.216019, 591.192017}
There is 0 axis extent in result obb, while it is correct if change its order as below.
{-88.704002,205.128021, 546.839966},                 {-99.792000,205.128021, 546.839966},                 {-77.616005,205.128021, 546.839966},                 {-88.704002,205.128021, 546.839966},                 {-99.792007,216.216019, 546.839966},                 {-99.792007,205.128006, 546.839966},                 {-99.792007,216.216019, 546.839966},                 {-110.880005,216.216019, 546.839966},                 {-77.616005,216.216019, 546.839966},                 {-77.616005,205.128006, 546.839966},                 {-110.880005,216.216019, 557.927979},                 {-110.880005,216.216019, 546.839966},                 {-110.880005,216.216019, 569.015991},                 {-110.880005,205.128006, 569.015991},                 {-66.528008,216.216019, 546.839966},                 {-77.616005,216.216019, 546.839966},                 {-66.528008,216.216019, 557.927979},                 {-66.528008,216.216019, 546.839966},                 {-110.880005,216.216019, 557.927979},                 {-110.880005,205.128006, 557.927979},                 {-66.528008,216.216019, 557.927979},                 {-66.528008,205.128006, 557.927979},                 {-110.880005,205.128021, 569.015991},                 {-110.880005,205.128021, 557.927979},                 {-66.528008,205.128021, 569.015991},                 {-66.528008,205.128021, 557.927979},                 {-66.528008,216.216019, 569.015991},                 {-66.528008,205.128006, 569.015991},                 {-110.880005,216.216019, 580.104004},                 {-110.880005,216.216019, 569.015991},                 {-110.880005,216.216019, 591.192017},                 {-110.880005,216.216019, 580.104004},                 {-66.528008,216.216019, 580.104004},                 {-66.528008,216.216019, 569.015991},                 {-66.528008,216.216019, 591.192017},                 {-66.528008,216.216019, 580.104004},                 {-99.792007,216.216019, 591.192017},                 {-110.880005,216.216019, 591.192017},                 {-66.528008,216.216019, 591.192017},                 {-77.616005,216.216019, 591.192017},                 {-88.704002,216.216019, 591.192017},                 {-99.792000,216.216019, 591.192017},                 {-77.616005,216.216019, 591.192017},                 {-88.704002,216.216019, 591.192017}
Still the queue method works fine for both.

The GetExtreme function had another bug. Before using your queue approach, I am hoping the performance is better by fixing this bug. If you encounter another bug, please re-open the issue.
Your illustrative example, when run single-threaded, showed the failure on the third call to GetExtreme. The dMax value is computed for mVertices[0] and is 0. All vertices adjacent to mVertices[0] have d-values of 0. The loop then processes mVertices[1], and all its adjacent vertices have d-values of 0. The last of those vertices is mVertices[0]. This causes vMax to be set to 0, which invalidates the search. It is necessary before the loop to mark mVertices[0] as visited.
I have posted the fix. Once again, thank you for reporting the problem and providing the dataset!

I think I can't reopen an issue closed by you in GitHub. I'll open a new one if you can't see my comments.

I must be missing something. The hill-climbing seems like it should work without the queue. Regardless, I will read through your implementation to make sure I understand it and verify that it is a correct algorithm.

I replaced the code by a simple iteration over all vertices. Intel's oneAPI VTune profiler shows that this performs slightly better than the queue-based approach. The check-in comments have the profiling details. Thank you yet one more time for being persistent about having me fix my errors.

Closing inactive issue. Without feedback, assuming the problem has been corrected.


GEOMESA-2274 Supporting query reprojections

Signed-off-by: Emilio Lahr-Vivaz<EMAIL_ADDRESS>

Do we have any ContentDataStores left?  If so, how does this interact with 'canReproject'?

we still use content data store in arrow-datastore, fsds-datastore, cq-engine-datastore, and stream-datastore, but none of those use the query planner.

Ok, so since we aren't using the abstract ContentDataStore, then it is up to use to handle the reprojections?  (And hence this fixes that?)

right


When deploying to cluster group with no clusters, still counting resources

Steps:

Create a cluster group that will no cluster associated to it.
Deploy fleet-examples/simple to it, looked at the other cluster and didn't find them?

Results:  Active resource count is 6, when there should be 0

@aalves08 This is an old issue - the presentation is the old style (2.5) - but this is the same view as in 2.6 - so see if we can reproduce it.

@nwmac I have looked into this and indeed a git repo that doesn't have any associated clusters displays the ready count.

The result seems to come from the server (image 2) and we just display it, so if the info provided is wrong I think it should be fixed on the BE side.
Another thing I noticed is that the boxes for "Error", "Warning" and "Transitioning" don't appear to mapped to any of the counts that come from the server afaik.
https://github.com/rancher/dashboard/blob/master/detail/fleet.cattle.io.gitrepo.vue
https://github.com/rancher/dashboard/blob/master/components/fleet/FleetSummary.vue
(check images with response from server)
Next steps? thanks in advance

Test Environment:
Rancher version: v2.6-head 4bbee59
Rancher cluster type: HA
Docker version: 20.10

Testing:
Tested this issue with the following steps:

Create a cluster group that will no cluster associated to it.
Deploy fleet-examples/simple to cluster group

Result - Pass
Rancher now shows there are no resources


The list of the first category might be totally repaced by the 1st opened category sometimes

扩展版本 (extension version): 1.4.3
浏览器版本 (browser version): Firfox 65.0.1
操作系统 (operating system): Windows 7 Pro 64bit
问题描述 (problem description):
The list of the first category might be totally repaced by the 1st opened category, sometimes. At least, I'd encountered twice. 欲哭無淚!
实际行为 (actual behavior):
期望行为 (expected behavior):
That's a severe bug. I had not encountered in the previous version. Can I roll back?
重现步骤 (reproduce step):
It happened randomly. I don't do anything. Yeah, seems always the first time I open better onetab.

Hi, it sounds a serious bug but I haven't totally understood the situation. I am not clear what is the "category". Do you mean the lists with a special tag? Could you provide further information?
If you are willing to use the version before, you can download the .crx file from the release page.
Thank you.


How to provide output of one model as input to other models?

I have been learning keras. I would like to know how to connects models in the following scenario
"""
                      M1
                    /      \
                 M2     M3
                   \        /
                      M4
"""

M1, M2, and M3 are different models. I want to connect them in such a way that output from M1 is input to both M2 and M3 models and the overall model is trainable. Input is through M1.

M2 -> M4 <- M3 is easy to do using a Merge layer in a Sequential model.  Unfortunately, you can't do the branching out using the Sequential model, and you must use the functional API (class: Model).
Hope that helps!

m = Merge([M2, M3], mode="concat")
out_m1 = M1(input_)
out_m2 = M2(out_m1)
out_m3 = M3(out_m1)
fout = m([out_m2, out_m3])
finalModel = Model(input="input_", output=fout)

Did you mean something like above?

I'm in the middle of building a project with multiple machine learning models.
The issue is that I'm using multiple libraries (i.e a model built with Keras and another built with Torch). Is there a way to make one of them feed data to the other model?
Thank you


Place of D3D11 in the new low-level world

My original position was:

there is a superior D3D12 on Windows 10
there are still GL and Vulkan backends on Windows 7
thus, we don't need D3D11 backend in HAL

However, one important consideration has brought to my attention by @jrmuizel. If gfx-hal wants to be the basis of WebRender, it can't be a regression for those users of Windows 7 platforms. Currently, WebRender is using D3D11 on Windows through Angle.
In light of this fact, I believe we should bump/revive the priority of getting D3D11 backend ported over to HAL. Hopefully, most of the code is already there, and we don't need any HAL API changes.

Slightly unrelated but what's the target GL(ES) version of WebRender?
We might need to expose more features for dx11 and lower OpenGL versions but this shouldn't affect the portability API. Some parts like memory mapping, in particular, are still a bit unclear. I don't know if there is a consensus from the portability WG so far?

@msiglreith currently, GL ES 3.0 is required.

I don't know if there is a consensus from the portability WG so far?

The consensus of this group is that GL is not important for now, it is a secondary goal that shouldn't affect the trade-off and design decisions we make to reach D3D12 and Metal.

DX11 is also valuable for supporting Intel integrated graphics. There’s a few (relatively recent) DX11-compatible  generations which don’t have Vulkan support on Windows for any version, even though they do on Linux >:(.

It's also important for people that never updated the GPU driver, and the built in Microsoft ones don't have Vulkan or modern GL.

This has happened, gfx-hal as a D3D11 backend that is tested by wgpu-rs.


travis: specify newer ruby version to use

otherwise 1.9.3 is used and gems can't be installed
see https://github.com/crowbar/crowbar/pull/2276

still the old config is used for the job, so travis can't really be green here

I would like to approve it, but I actually do not know if the value is correct, at the right place etc.

@jsuchome https://docs.travis-ci.com/user/languages/ruby/#Choosing-Ruby-versions-and-implementations-to-test-against
Looks fine, but it didnt work :/
Pre-installed Ruby versions
ruby-1.9.3-p551

Why is the language set to python? Due to that, travis is ignoring the rvm keyword as...why shouldn't it if it expects python :)
from https://docs.travis-ci.com/user/languages/ruby/#Choosing-Ruby-versions-and-implementations-to-test-against
Note that the rvm: key is only available in Ruby Build Environments, not in other images containing a ruby implementation.

@Itxaka wasn't that trivial to just switch the language. i guess the language was python because of bashate. weird setup... anyways fixed now. thanks for spotting this


VSCode marketplace listing images broken

Didn't see anyone having flagged this before, so just wanted to call it out in case it wasn't known!
On https://marketplace.visualstudio.com/items?itemName=snyk-security.snyk-vulnerability-scanner, looks like a big portion of the image markdown is malformed and so not rendering:

Thanks, this has been addressed in #238 and will be fixed in the next version.


LCOW runtime implementation

This implements the first version of Linux Container on Windows runtime. It shares much of the code with the Windows runtime, but is registered as a separate runtime in order to avoid collision between the Windows runtime and the LCOW runtime.
lcow_sandbox.go is almost all temporary code due to the lack of a snapshotter for LCOW/Windows. I'll work on a snapshotter soon and delete almost all of the code there.
This PR covers basic container run scenario, but does not currently support Exec nor many options. This is mostly to prove API is sufficient to further expand and finish implementation without breaking changes.
With https://github.com/containerd/containerd/pull/1426 the following works pointing to the Docker busybox image:
PS H:\bin\containerd> .\ctr run --platform linux --runtime io.containerd.runtime.v1.lcow --layer "C:\\lcow\\lcow\\b9d90a4c74763f8da02ebeb93d4408e70c523eb1227fd634eb6c8dd7e881
7fe0" test test ls
bin
dev
etc
home
proc
root
run
sys
tmp
usr
var

closes https://github.com/containerd/containerd/issues/1355
@jhowardmsft @dmcgowan @mlaventure @stevvooe
Signed-off-by: Darren Stahl<EMAIL_ADDRESS>

I'll figure out why CI is failing (seems potentially related, though I don't see anything obvious) tomorrow.

Codecov Report

Merging #1455 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1455   +/-   ##
=======================================
  Coverage   40.82%   40.82%
=======================================
  Files          23       23
  Lines        2920     2920
=======================================
  Hits         1192     1192
  Misses       1451     1451
  Partials      277      277

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 16fcb8d...07dc720. Read the comment docs.

@dmcgowan @crosbymichael CI error is fixed.

Overall LGTM
There are a lot of debug statements but I think its fine that we keep them in while we finish windows support if they are helpful in development.  We will probably need to remove them in the future because they are very verbose for a user.

Most all of the debug statements are in the lcow_sandbox.go which is temporary. They should be removed around the creation of the snapshotter (or shortly thereafter).

@darrenstahlmsft ya, i figured

Combined cleanups too.

Fixed gofmt error in AppVeyor on the new file.

Note that in the most recent push to combine cleanup logic I changed the hcsshim owner of Windows containers and LCOW. Now the hcsshim owner is the plugin ID. This allows each plugin to manage its own containers. I'm not sure if the plugin ID is the correct thing to use here, or if something slightly more generic such as containerd.windows and containerd.lcow would be better.

LGTM

I think we need some locks cleaned up first and this should be good to go

@darrenstahlmsft sorry, I know it's more effort for you, but I would really prefer for the locks to be cleaned up to simplify the code before having this merge. If that code is in moby, the same should really be done there too.
And like I commented earlier, I  would recommend just doing the windows runtime work on containerd directly at that point.

I'll do the lock changes soon. My primary focus at the moment is ensuring no API changes are needed, so I think my effort should be on the snapshotter implementations, as I think they have the most risk. I'll make this change here and in Moby in my spare cycles.
RE focusing LCOW engineering effort in containerd over Moby, I don't think containerd on Windows is at a point that that is reasonable to do that yet. We still don't have snapshotters, which means that the current container runtime is not compatible with Moby unless some major layer management changes are done in Moby, or the snapshotter is implemented here and relevant code moved. The current state of creating a RW layer in the snapshotter does not work with the graphdriver approach in Moby. In order to integrate with Moby, the containerd daemon also needs to have its lifetime managed, which is not yet done (does it run as a service? Is it demand started by Moby? Started at boot like Moby?). All of this leads to an uncertain timeline on getting containerd Windows/LCOW runtime into Moby, and prevents any customers from getting their hands on new LCOW features to test until that happens. I think active development on LCOW needs to continue in Moby for the short term until it is at least stable and containerd is nearing the point that an integration to Moby is imminent. If getting the Windows runtimes into Moby is going smoother than I expect, then that might make sense, but I'm not convinced it will be yet.

@darrenstahlmsft I was trying to have it run as a spwan children of the service daemon, but just hit a case that make it unpractical until everything is done by the container side indeed.
It seems like the shim doesn't allow a process different that the one who "prepared" a layer to create a container from it :-/

That seems odd to me. I'll look into it. Do you have a repro?

@darrenstahlmsft you can use my containerd-1.0 branch of moby with my debug branch of containerd

Closing as this is out of date. It is still a reference for how an LCOW runtime would look, but will need major updates plus layer management before being in a final state.


artifacts left after circles are despawned

run with the inspector and see what things are left behind (meshes? materials?) and find a way to cleanup

no, materials and meshes are dropped as expected..

ah! it's not artifacts left by us, it's not artifacts left at all, i think that's an integrated gpu thing..

this needs more testing, preferably on different machines/systems
create entities, duplicate until an amount of ram is used by quartz, delete all those entities, see if the ram amount drops or remains the same
anyone seeing this and is able to, tests are appreciated

whatever this is, it's most likely either a bevy bug or my hardware

see after #130 and #128

memory used by the world isn't deallocated. a vec isn't in the world


Dispatcher & Response don't handle mixed-type content very well

Dispatcher::97:
$content = $this->response->returnOutputBuffer() . $content;
This does not handle array data. Make it:
$bufferContent = $this->response->returnAllOutputBuffers();
if (!empty($bufferContent)) {
    $this->response->appendContent($bufferContent);
}

This still appends it before the provided $content, but lets Response handle the data type.
HOWEVER. Response::248:
public function appendContent($content)
{
    if (!empty($content)) {
        if (is_array($this->content)) {
            $this->content[] = $content;
        } else {
            $this->content .= $content;
        }
    }
    return $this;
}

So okay, cool, we check the type of $this->content and append appropriately.
But what if $this->content is a string but $content is an array?
Quick fix: take $this->content's string value, do $this->setContent([$this->content]); and continue along. From that point on, all content is seen as array values.
Even quicker and more consistent fix: Always store content in an array and just add new key/value pairs always. If setContent() is called with a string, pack it into a new array and boom, consistency.
Mixed types bad.

Great suggestion, other me!

Terrible suggestions, other me. The consequences of approaching the problem as mentioned are too grand, sadly. They involve a different way of thinking about the content and especially when working with Json output, does not work as it should.
The fix will be the following. Only change to Response is that it'll get returnOutput() to return the output class currently set.
In Dispatcher, I will check whether $content is an array and if the output class is Json. If so, Parable will set it on the response directly, ignoring output buffers.
If not the above and $content is not a string, we throw an exception: "Route returned value of type '{$type}', which output class '{$outputClassName}' cannot handle."
Any other situation, we act as usual and concatenate all strings together.

Fixed in 5b0ada4fe1159af5903104cf69668f0556785329, will be released in 1.1.0.


Update README.md

Pull request for issue: #928
This Pull Request fixes the contributing link in the README.md on the master.

@mansoorkhan96 could you do the same PR for the v3 branch as well? So far I know the v3 has the same issue.

@mansoorkhan96 could you do the same PR for the v3 branch as well? So far I know the v3 has the same issue.

Sure, I just created a PR for v3 as well :).


Op guide fixes

Type of change

Documentation update

Description
I've been following the operation guide and I've noticed two errors that I've fixed in this PR:

FABRIC_CA_SERVER_TLS_ENABLED=true is not present in the complete docker-compose.yml file referenced at the beginning of the guide but it is only present in the Setup TLS CA section
Org0's Admin enrolment credentials (https://orderer-org0-admin:ordererAdminPW@<IP_ADDRESS>:7053) are different from the registration ones (... --id.name admin-org0 --id.secret org0adminpw ...) hence the program can't enrol the admin successfully

The PR includes fixes for the issues listed above
Quick Links:
Docker-compose.yml reference file
Org0's Admin Enrolment

Thanks @MattRighetti !


Generic metaphlan importer

Hi,
The mia function loadFromMetaphlan has been working perfectly with metaphlan version 2 and 3.
After testing the new 4th version, it seems that output samples have an extra header that breaks the merging when using the script provided by the authors. An example of the extra header which seems that it existed already at the 3.0.14 version:
https://forum.biobakery.org/t/merge-metaphlan-tables-py-broken/3507
Additionally, when running the metaphlans with different parameters additional results could be obtained, e.g. metaphlan 2 with additional columns which is the case also for higher versions, which perhaps the user would like to merge and use at downstream analysis.
Modifying the merging script provided by the authors would eventually solve all these problems, and eventually different output tables will be produced breaking the standard output upon which  loadFromMetaphlan depends on. The script could be modified especially since it seems no re-norming or transforming of data is performed.
Could then adding/changing the following features at loadFromMetaphlan make it generic for all versions and data produced:

The checking of metaphlan file, by parsing the header separately? And changing this condition to be able to load merged files that do not have the "ncbi_id" column (for instance the new metaphlan 4 is based on the SGB database and when converting to GTDB the specific column is discarded, and file is not able to be loaded)
Ability to internally merge from the individual files, e.g. by specifying folder path or a wildcard of files names?

Thank you.

How about having separate importers for versions 2,3,4? For those parts that are shared between all, one could use internal functions. This might help to keep things simple.
In addition there could be a wrapper that recognizes the version but I am not sure if this is needed or helpful, the user should know which version they are dealing with.
I would perhaps keep any merging steps explicit and show in examples how to do them? Then it stays a bit more transparent what is being done in the merging operations.
It would be good to have importer at least for the most common expected cases, like the individual files vs. total merge (and others if there are).

Generic solutions are good but must be balanced with time and effort.
If the importers for version 2-3 have worked so far without any issues (reports), perhaps there is no urgent need to fix/expand them?
But if new importer is created for version 4, it is good to consider a bit more. Light-weight testing might be good.

Sure, I will start with the testing.

The demo (3 light weight) raw sequences were taken from snakemake tutorial, and tested on metaphlan v3.0.14 and metaphlan v4.0.1; with default parameters.
metaphlan3 single sample file:

metaphlan3 merged samples:

metaphlan4 single sample file:

metaphlan4 merged samples:

metaphlan4 single sample file (header) converted from SGB to GTDB:

metaphlan4 fail when merging converted SGB to GTDB files:

I believe this is already done or?

The PR for it was closed for the moment link: https://github.com/microbiome/mia/pull/308


Add Specific Retirement for Toucan Protocol

Replace redeemAuto with redeemAuto2 to save on gas, as well as implement check
to ensure that the retire function is only called on TCO2s actually redeemed. Implements #8
Add methods retireCarbonSpecific and getSourceAmountSpecific to selectively choose and retire TCO2s using the aggregator. This accounts for any redemption fees incurred so that the desired number of tons will be retired.
Update the getNeededBuyAmount function across all helpers to allow consistent switching
between factoring in a redemption fee or just the AMM fees.

looks good. merged


NodeJS Wrapper - TotalPriceResponse: ServerID & ClientID are identical.

.. But they should be unique. i.e. The id of the server and id of the client.

This error has happened across multiple examples but is in fact a result of user/developer error.
The reason is that the UID of the server is passed into the parameter "serverID" in the initConsumer() function of WPWithin. This serverID is assigned to "clientID" under the hood. The assignment is correct and the variable is badly named.
I will rename the parameters in the WPWithin Thrift interface and also the Node.JS and Java Wrappers.
Maybe @andybrodie and @simbs can align this into their code?

Done 👍


useFetch: Disabling or stop refreshing a request is not possible once refresh = true has been set

Hello again,
in my current project the user clicks on a button, which starts some long running backend process via an API call.
Now I wanted to make use of the refreshing feature mentioned here, to get some status update from the API:
Once the backend task finishes, the API will respond with some special data, which I wanted to use to stop polling.
But I am unable to stop refreshing once it has been started. I tried setting refresh to false, and also tried setting disabled to true.
I think refresh here (https://github.com/BetterTyped/hyper-fetch/blob/ec9542266ad900560404464ee8443cea7ac1ffee/packages/react/src/hooks/use-fetch/use-fetch.hooks.ts#L102C10-L102C17) has not access to latest value.
Is this a bug? Or am I doing something wrong?
I have created an example here: https://codesandbox.io/s/hyper-fetch-stop-refresh-fzgglc?file=/src/App.tsx
Click the button to start polling for updates. After 5 seconds, polling should stop, but it does not. You can see that in the network tab of the dev tools.
Best
Stefan

Hey @stefanullinger thanks again for helping us! I will fix it in a minute 👍🏻

Thank you!


PS2 PS1 Mode bios

The ps2 has a bios for ps1. This will probably not be possible but if it is then 👍👍

That's not how this works at all.


Cache user assignments to avoid unnecessary DB queries

alternative to #9138 and #10981, only cache on checkAccess call which is usually
called on every request. Cache is not necessary in RBAC management.
Similar to #14061 but includes proper cache invalidation and test.
getAssignments() always queries the DB. The cache is only applied on
checkAccess calls, and invalidated as soon as the RBAC structure is
modified through the manager component (verified by the test case).
Regarding concerns of memory usage
if used in batch mode on multiple users, you can call
invalidateCache() method if this really causes a problem.
fixes #7743
close #9138
close #14061
close #10981
See also

https://github.com/yiisoft/yii2/issues/7626#issuecomment-77745166
https://github.com/yiisoft/yii2/pull/14061#issuecomment-319645488

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
yes

Seems tests aren't OK.


Missing celeba64 pretrained model in the link

Hi,
Can you also provide ema_diffusion_celeba64_model/model.ckpt?
I think it is missing in your provided link.
Thank you very much!

Hi,how do you deal with it? I can't find the model,too.

Hi,
Can you also provide ema_diffusion_celeba64_model/model.ckpt? I think it is missing in your provided link.
Thank you very much!
Hi,how do you deal with it? I can't find the model,too.

Hi,
Can you also provide ema_diffusion_celeba64_model/model.ckpt? I think it is missing in your provided link.
Thank you very much!

Hi,how do you deal with it? I can't find the model,too.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Tree] The value of path source property is cast to string type

Hi! During the migration to php7.4, we faced with an error. We use integer value as a tree path source and it causes this error:

Notice: Trying to access array offset on value of type int

on this line https://github.com/Atlantic18/DoctrineExtensions/blob/81681364331b131518060e4776300a5346df1eb5/lib/Gedmo/Tree/Strategy/AbstractMaterializedPath.php#L299

Hi @AkenRoberts! I'm sorry for bothering you but what do I need to do to review this MR? Looks like the CI failure doesn't relate to the MR.

@AkenRoberts Could this be looked at? it seems Travis fails due to a config error of Travis and not due to an error made by @kosarinin
We need these changes to have this work on PHP 7.4


[RFC] Server-timing utility

Describe the feature
Hey all 👋🏻
right now, Nitro has very low-level support for adding Server-Timing headers. While it is possible to use, it feels like DX could be improved a lot here. Thus, I'd like to suggest this RFC!
Current state
As mentioned, the support for adding server timing already exists and is realized via globalThis. This works, but has some shortcomings:
export default defineEventHandler(async () => {
  globalThis.__timing__.logStart('MY-LABEL')
  someFunction() // Do something here
  globalThis.__timing__.logEnd('MY-LABEL')
})

TypeScript support only work by defining types on your own via addition .d.ts file:

// env.d.ts

declare global {
  var __timing__: {
    logStart: (id: string) => void
    logEnd: (id: string) => void
  }
}

export { }

No documentation. While the timing option is documented, there is no example or guide on how to actually use it.

When timing is disabled, the above code will fail because no __timing__ object will be injected via timing middleware.

Lengthy code. Because the current API is rather low-level, the code is repetitive.

With the above code, server timings are not cleared and will persist through requests every now and then, mainly in dev.

Idea
Instead of using the low-level API directly, I propose to add a utility which will use the API under the hood but has improved DX, full TS support and will do nothing when timing is disabled. Ideally, it will even be treeshaken in this case (and replaced with a no-op function)
API
For the API, I was thinking about the following:

withServerTiming(fn, label) - A "wrapper" function, that will start server timing tracking before the function and will stop it after it was executed.

startServerTiming(label) - Starts server timing with certain label

stopServerTiming(label) - Stops server timing with certain label

Summary
This RFC proposes a Nitro utility to improve DX when adding Server-Timing headers. It will do nothing, when timing is disabled and will add info otherwise.
Additional information

[X] Would you be willing to help implement this feature?

I love it! Seems good to me. @pi0?

Short bullet points from in-person discussion with @pi0:

Revamp consola to work at runtime
Add timing util into consola
At some point, introduce event.$log (like event.$fetch) utilizing consola

It would be great to control timings with an env such as NITRO_TIMING


Adding Swiss German translation

Lets stay neutral 🇨🇭🧀 🍫 🏔

please reset the lockfile git remote add ben https://github.com/benawad/dogehouse.git && git reset package-lock.json ben/staging

@nadirabbas thanks for the heads up, I missed that one. Should be clean to merge now 👍

never knew Swiss Geman is a thing too XD


changed the DNS attributes in yml file since the latest version requi…

Changed the DNS values in the array as the new version accepts array string vs. strings. This was causing json marshalling error.

https://github.com/trifacta/floating-elephants/commit/05b5126769ed74c8646ac95f819a85f535cb6dec already handles this and also updates the IP of the bridged network to <IP_ADDRESS>
Once we have a versioning scheme, we'll pull that into master, until then feel free to checkout docker_1_9  locally and use it.


Modal content still using text-align:start; not supported in I.E.

#503

Since text-content: start; isn't supported in IE 11 this makes it so all the text in modals is centered in IE.

Hello, I wonder if there's an estimate on when the bug can be fixed? Or is there a workaround to get the text alignment working in IE? Currently this is affecting many places in our app (Operations Dashboard for ArcGIS). Thanks in advance!

@TifPun I'll try to get this into the next release. For now, it would be easy to add a workaround in your app. Just add the following CSS:
.modal-content {
  text-align: left;
}

html[dir="rtl"] .modal-content {
  text-align: right;
}

Thanks for the quick response and the workaround @paulcpederson! When is the next release going to happen?

Probably sometime in the next couple weeks

https://github.com/Esri/calcite-web/releases/tag/v1.0.0-rc.6