Fix Security Tests for OpenSSLv3

OpenSSLv3 does stricter protocol matching in the handshake.
This change adapts the test matrix to work with either both widespread versions of OpenSSL.
Partially fixes THRIFT-5672.

[ ] Did you create an Apache Jira ticket?  (not required for trivial changes)
[ ] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[ ] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[ ] If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

Thanks!
While we're at it ... why do we need that same matrix twice? Any possibility to consolidate that into just one easily?

@tobim

C:\projects\thrift\lib\cpp\test\SecurityTest.cpp(223): error C2065: 'OPENSSL_VERSION_MAJOR': undeclared identifier [C:\projects\build\MSVC2017\x64\lib\cpp\test\SecurityTest.vcxproj]

I guess this define is included in the prepocessed source by default on linux/unix but not on msvc. #include <openssl/opensslv.h> in both files should fix it, but I don't have access to that platform right now so I can't test it.
Docs are at: https://www.openssl.org/docs/man3.0/man3/OPENSSL_version_major.html

Docs are at: https://www.openssl.org/docs/man3.0/man3/OPENSSL_version_major.html

Tests are at: https://ci.appveyor.com/project/ApacheSoftwareFoundation/thrift/builds/46410992/job/mhmu1h5fghb3snpk


[Coverity CID :185395] Memory - corruptions in /samples/net/mbedtls_sslclient/src/mini_client.c

Static code scan issues seen in File: /samples/net/mbedtls_sslclient/src/mini_client.c
Category: Memory - corruptions
Function: tls_client
Component: Samples
CID: 185395
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

samples/net/mbedtls_sslclient/ removed


Manual patches for Kernel 6.8 Jammy and Noble

Tracked by RSDSO-19755

Jammy patches working. Tested with 585.
Noble patches are not getting applied. Debugging it.

@dmipx please review and help Arun understand why it doesn’t work.
@Arun-Prasad-V  please attach dmesg output on the problematic formats

I suggest to verify on one of our NUC setups. They have specific default media setup with loaded sensor driver which conflicts on patched modules loading.

I suggest to verify on one of our NUC setups. They have specific default media setup with loaded sensor driver which conflicts on patched modules loading.

So you recommend updating the kernel on one of our U22 NUCs?
I believe it was tested on U24 by Arun.

@Arun-Prasad-V  looks like a rebase is required to fix CI issues

Manual patching from development branch failed with Ubuntu 22.04.01 , kernel release 6.8.0-49-generic . Error code
Patched kernels modules were created successfully

Replacing uvc  -
	Applying the patched module ... modprobe: ERROR: could not insert 'uvc': Key was rejected by service
Failed to insert the patched module. Operation is aborted, the original module is restored
Verify that the current kernel version is aligned to the patched module version
The original  uvc  module was reloaded

Edit: problem solved after disabling secure boot


Cannot update mongoose

I use mongo-atlas
I added admin bro to my nodejs application like in documents.  Sometimes i cant see fields. Error message is ;
Error: There are no resources with given id: "User"
[0] This is the list of all registered resources you can use:
[0] user, profile, post
[0]     at AdminBro.findResource (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/admin-bro.js:251:13)
[0]     at PropertyDecorator.reference (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/decorators/property-decorator.js:90:36)
[0]     at /home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/utils/populator.js:25:57
[0]     at Array.filter (<anonymous>)
[0]     at populator (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/utils/populator.js:25:41)
[0]     at ApiController.recordAction (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/controllers/api-controller.js:194:45)
[0]     at processTicksAndRejections (internal/process/task_queues.js:94:5)
[0]     at async handler (/home/emrah/Belgeler/devconnect/node_modules/admin-bro-expressjs/plugin.js:56:22)

When i can see the field, i try to update than get this error message
 Error: There are no resources with given id: "users"
[0] This is the list of all registered resources you can use:
[0] user, profile, post
[0]     at AdminBro.findResource (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/admin-bro.js:251:13)
[0]     at PropertyDecorator.reference (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/decorators/property-decorator.js:90:36)
[0]     at /home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/utils/populator.js:25:57
[0]     at Array.filter (<anonymous>)
[0]     at populator (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/utils/populator.js:25:41)
[0]     at ApiController.recordAction (/home/emrah/Belgeler/devconnect/node_modules/admin-bro/lib/backend/controllers/api-controller.js:194:45)
[0]     at processTicksAndRejections (internal/process/task_queues.js:94:5)
[0]     at async handler (/home/emrah/Belgeler/devconnect/node_modules/admin-bro-expressjs/plugin.js:56:22)

User schema
const mongoose = require("mongoose");
const { ObjectId } = mongoose.Schema;
const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  password: {
    type: String,
    required: true
  },
  approved: {
    type: Boolean,
    required: true,
    default: false
  },
  payment: {
    type: Boolean,
    default: false
  },
  paymentDate: {
    type: Date
  },
  resetToken: String,
  resetTokenExpiration: Date,
  following: [{ type: ObjectId, ref: "User" }],
  followers: [{ type: ObjectId, ref: "User" }],
  role: {
    type: String,
    required: true,
    default: "user",
    enum: ["user", "admin", "root", "commission"]
  },
  date: {
    type: Date,
    default: Date.now
  }
});

module.exports = User = mongoose.model("user", UserSchema);

Profile schema
const mongoose = require("mongoose");

const ProfileSchema = new mongoose.Schema({
	user: {
		type: mongoose.Schema.Types.ObjectId,
		ref: "user"
	},
	image: {
		type: String
	},
	company: {
		type: String
	},
	website: {
		type: String
	},
	start:{
		type:Number,
		required:true
	},
	graduation:{
		type:Number,
		required:true
	},
	option:{
		type:String,
		required:true
	},
	mentorship:{
		type:Boolean,
		default:false
	},
	scholarship:{
		type:Boolean,
		default:false
	},
	representative:{
		type:Boolean,
		default:false
	},
	location: {
		type: String
	},
	status: {
		type: String,
		required: true
	},
	skills: {
		type: [String],
		required: true
	},
	bio: {
		type: String
	},
	description:{
		type:String
	},
	experience: [
		{
			title: {
				type: String,
				required: true
			},
			company: {
				type: String,
				required: true
			},
			location: {
				type: String
			},
			from: {
				type: Date,
				required: true
			},
			to: {
				type: Date
			},
			current: {
				type: Boolean,
				default: false
			},
			description: {
				type: String
			}
		}
	],
	education: [
		{
			school: {
				type: String,
				required: true
			},
			degree: {
				type: String,
				required: true
			},
			fieldofstudy: {
				type: String,
				required: true
			},
			from: {
				type: Date,
				required: true
			},
			to: {
				type: Date
			},
			current: {
				type: Boolean,
				default: false
			},
			description: {
				type: String
			}
		}
	],
	social: {
		youtube: {
			type: String
		},
		twitter: {
			type: String
		},
		facebook: {
			type: String
		},
		linkedin: {
			type: String
		},
		instagram: {
			type: String
		}
	},
	date: {
		type: Date,
		default: Date.now
	}
});

module.exports = Profile = mongoose.model("profile", ProfileSchema);

How can i solve this problem thanks.

I changed  ref's in followers and following as you suggested. But still can't update fields.
Errors in termina;
@wojtek-krysiak
Error: Request aborted
[0]     at IncomingMessage.<anonymous> (/home/emrah/Belgeler/devconnect/node_modules/formidable/lib/incoming_form.js:122:19)
[0]     at IncomingMessage.emit (events.js:223:5)
[0]     at abortIncoming (_http_server.js:496:9)
[0]     at socketOnClose (_http_server.js:489:3)
[0]     at Socket.emit (events.js:228:7)
[0]     at TCP.<anonymous> (net.js:664:12)
[0] Error: Request aborted
[0]     at IncomingMessage.<anonymous> (/home/emrah/Belgeler/devconnect/node_modules/formidable/lib/incoming_form.js:122:19)
[0]     at IncomingMessage.emit (events.js:223:5)
[0]     at abortIncoming (_http_server.js:496:9)
[0]     at socketOnClose (_http_server.js:489:3)
[0]     at Socket.emit (events.js:228:7)
[0]     at TCP.<anonymous> (net.js:664:12)

check out what is send from the frontend (in Network tab in chrome inspector). Maybe it will give you some clues.

Same issue I couldnt use the connection method so Im trying adding my resources.
How does it see the db?

Same issue I couldnt use the connection method so Im trying adding my resources.
How does it see the db?
 I didnt try it again since last summer. I think the problem is i added Admin-bro after all models,routes. We should add admin-bro at the beginning of the each project. Admin-bro has a potential to be standart admin panel for nodejs, like django admin.

@developdeez unfortunately no. I didnt try it again since last summer. I think the problem is i added Admin-bro after all models,routes. We should add admin-bro at the beginning of the each project. Admin-bro has a potential to be standart admin panel for nodejs, like django admin.


Support Private Enum Variants

There should be a way to mark enum variants as private.
Possible syntax:
enum MyThing {
  priv OneState(Foo),
  priv OtherState(Bar),
}

Motivation
Type authors should be able to use an enum to represent their type without exposing that to users. Today if a type is an enum that is visible to users so almost any change is a breaking change (I think only adding an additional private field to a struct-style variant is not breaking).
For example if the leading example was written today without priv a user would be able to do:
match v {
    MyThing::OneState(..) => true,
    MyThing::OtherState(..) => false,
};

Possible Alternatives
#[doc(hidden)]
enum MyThing {
  #[doc(hidden)] OneState(Foo),
  #[doc(hidden)] OtherState(Bar),
}

This hides it from documentation but doesn't actually protect against using it. It is possible that the user copies an old code sample, guesses a name without knowing it is private or an IDE autocompletes it and the user will unknowingly be relying on a (logically) private API.
Internal Enum
enum MyThingImpl {
  OneState(Foo),
  OtherState(Bar),
}

pub struct MyThing(MyThingImpl);

This works but results in tedious code. Internals must be accessed as self.0 and if you want to derive traits this needs to be done on both the wrapper and the impl.
Related: https://github.com/rust-lang/rfcs/pull/2028 https://github.com/rust-lang/rust/issues/32770

My preference: In a future edition, make enum variants private by default.

I feel that privacy goes contrary to the main advantages of enums:

Enums only represent valid states.
This contrasts with structs where you're often relying on primitives that express too much, and so constructors are used to validate or implicitly map onto valid states. If all possible states of a type are valid, it shouldn't matter that you can construct the type arbitrarily; there's no undefined behavior.

match forces exhaustive handling of all possible states.
If an enum has private variants, every match over it has to resolve to a catch-all _ case. Users won't know if there's new cases to handle when they update a dependency until it appears at runtime by chance.
I'm even skeptical of the #[non_exhaustive] attribute. Like, if I'm trying to exhaust a value of type syn::Expr, I'd want to be warned at compile-time if a new expression was added in an update. If not, I'd add the _ case. I'm not sure, it just seems overused.

Enums can form categories of types; similar to traits, but in a strict way where all variants are known and you have greater case-by-case control.
I don't think privacy would really hinder this, but it's a good choice if privacy is desired. It's not that different from having private fields - which feels like an argument for private fields, but then you might want constructors specific to each variant. I think it's nicer to have that organized into separate types.

Enums are convenient and readable. This is kind of an extension of point 1, but I think it's true that people reach for enums specifically because they provide a very clean way to construct, organize, & handle states.
An enum with private variants seems like a weird half-struct, where you gain the ability to validate how certain variants are constructed, but lose half of their utility. In your example, Foo and Bar can validate their own states instead.

Generally: enums are explicit and direct, structs are implicit and indirect - I think it's nice to have that distinction.
Your friend,
Yokin

Trying to think of a better alternative. Maybe variants could be allowed to pseudo-alias a type that they also wrap?
pub enum Expr {
    Array: ExprArray,   // Array(ExprArray)
    Assign: ExprAssign, // Assign(ExprAssign)
    Async: ExprAsync,   // Async(ExprAsync)
    // ..
}

? Functions and constructors accessed through the variant's path could be syntax sugared:
assert_eq!(Expr::Array::from([1, 2]), Expr::Array(ExprArray::from([1, 2])));

? Matching could be syntax sugared:
match text {
    Expr::Array { .. } => {},
    Expr::Assign { .. } => {},
    Expr::Async { .. } => {},
}

to
match text {
    Expr::Array(ExprArray { .. }) => {},
    Expr::Assign(ExprAssign { .. }) => {},
    Expr::Async(ExprAsync { .. }) => {},
}

This is basically what exists already, just a little less repetitive. Maybe it would be too confusing since trying to access a variable after construction would require pattern matching.
Alternatively, it could be interesting if each variant counted as its own type and you could implement associated functions and constants per variant (no methods), but I'm sure it's been proposed before. Maybe that would make them seem too type-like when you can't really do anything else with them, like implement traits or use them in function parameters.
Your friend,
Yokin

@Yokinman what about we look at this from another way, that enums with private variants are equivalent to #[non_exhaustive] ones? As for enums with only private variants, they are basically syntactic sugar for newtype structs wrapping a private enum.
Just as enums indeed should not add a #[non_exhaustive] for no reason, structs should not add a _private: () field no reason. The same argument about "exhaust a value of an enum" applies to "construct a value of a struct" too — if I'm trying to construct a struct, I would like to be warned at compile time if a new field appears, not through hiding an optional parameter in a constructor. The abuse of non-exhaustive enums is not much different from the abuse of private struct fields.

I'm not super against enum privacy in terms of fields, but if it existed I think there should be a way to define "write" privacy independently from "read" privacy. So you can match on a variant, but you can't necessarily construct that variant. I think that could definitely be useful.
pub enum MaybePrime {
    Yes(&priv u64),
    No(&priv u64),
}

impl MaybePrime {
    pub fn new(num: u64) -> Self {
        if num.is_prime() {
            Self::Yes(num)
        } else {
            Self::No(num)
        }
    }
}

// ..in another crate..

fn num_value(num: MaybePrime) -> u64 {
    let (MaybePrime::Yes(x) | MaybePrime::No(x)) = num; // Allowed
    x
}

fn make_prime(num: u64) -> MaybePrime {
    MaybePrime::Yes(num) // Not allowed
}

I find it harder to think of an example where you might want fully private/inaccessible variants, other than specifically #[non_exhaustive]. I think it would be too easy to do out of convenience without realizing that you've neutered match.
Your friend,
Yokin

I'm even skeptical of the #[non_exhaustive] attribute. Like, if I'm trying to exhaust a value of type syn::Expr, I'd want to be warned at compile-time if a new expression was added in an update.

This is not meant as an argument in the discussion, but you can kinda solve this problem today for yourself with the clippy lint wildcard_enum_match_arm. Example:
// lib.rs
#[non_exhaustive]
pub enum Foo {
    Bar,
    AddedLater,
}

// main.rs
#[warn(clippy::wildcard_enum_match_arm)]
match foo {
    Foo::Bar => todo!(),
    _ => todo!(),
}

The compiler forced us to add the wildcard before Foo::AddedLater was created. But clippy actually warns us now that the wildcard pattern matches something. Without a strong opinion on the topic, this is just a little trick that met my needs in the past.

I think this is a bad idea, as it forces non-exaustive matching -- which removes a large part of the point of enums. Like Yokinman mentioned, having some way to not allow users to construct certin variants could possibly have merit, but entirely private fields makes no sense to me.

I disagree. Just because a client of a type shouldn't construct it doesn't make me want to remove the ability of the source of a type to construct it and benefit from sum types in general. It feels a bit baby-with-the-bathwater to not support some valuable features of enums just because one feature is undesired.

I disagree. Just because a client of a type shouldn't construct it doesn't make me want to remove the ability of the source of a type to construct it and benefit from sum types in general. It feels a bit baby-with-the-bathwater to not support some valuable features of enums just because one feature is undesired.

I've paid more attention since I last posted and I've noticed that it's pretty useful to use enums for iterators that have multiple parsing modes (surely other kinds of modal things too). You don't want it to be constructable by a user since you might change it later, but you do want to use it in a public return value. Maybe the enum could be marked with an attribute that makes all of its sub-variants private/unconstructable or something?
I don't think individually private variants are a good idea, but I like the sound of all variants being private at once.
Your friend,
Yokin

I disagree. Just because a client of a type shouldn't construct it doesn't make me want to remove the ability of the source of a type to construct it and benefit from sum types in general. It feels a bit baby-with-the-bathwater to not support some valuable features of enums just because one feature is undesired.

I've paid more attention since I last posted and I've noticed that it's pretty useful to use enums for iterators that switch between multiple modes (surely other kinds of modal things too). You don't want it to be constructable by a user since you might change it later, but you do want to use it in a public return value. Maybe the enum could be marked with an attribute that makes all of its sub-variants private/unconstructable or something?
EDIT: Actually, I suppose you can do this already by stuffing a public enum into a private module. It's not intuitive, but it does achieve the function of making the enum inaccessible, yet still usable as an associated type / return type. Or maybe not, since you can still construct it through the associated type.
I don't think individually private variants are a good idea, but I like the sound of all variants being private at once.
Your friend, Yokin

Thats a neat use case! Like I said above, unconstructable (to the end user) variants makes sense, but making them entirely private defeats the pourpose. AN attribute could defintely be a good way to do it. Though like you mentioned here, if an enum is public access but cannot be constructed manually that makes sense to have all-private variants, even if its basically the same as all-uncontructable variants. You may, for example, want to match against what type of iterator it is.

@Yokinman for the iterator case, isn't the usual approach to wrap the enum in a struct such that the enum doesn't need to be pub?

Here's a usecase: I have an enum ```rs
enum Foo {
Bar,
Baz,
Qux
}

And I want to run code when, say, `Foo::Bar` is instantiated.

One case I frequently run into is mapping non-exhausitive enums from an external system (e.g. a JSON or C API) which represents enums as string or integer. I'd like to preserve unknown values, while acting as similar as possible to a normal non-exhaustive enum in rust.
So I'd like to write something like:
pub enum MyEnum {
    Value1,
    Value2,
    #[non_exhaustive]
    private Unknown(String),
}

From outside the crate this enum would behave like:
#[non_exhaustive]
pub enum MyEnum {
    Value1,
    Value2,
}

Outside the crate the Unknown variant would be inaccessible, which has two important benefits:

An outsider won't be able to put a known value into Unknown (MyEnum::Unknown("Value1") would produce and invalid value)
An outsider won't be able to match on Unknown, so adding a new known value is not a breaking change

But traits like FromStr and Display could still access the Unknown variant, making conversion from/to strings infallible and lossless.
Currently it's necessary to resort to ugly workarounds, like putting the enum inside wrapper.


Add books dataset

Pull Request
Related issue
Fixes #25
What does this PR do?

Adds books dataset used in How to speed up GoodReads book titles search with Meilisearch and JavaScript

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Thanks a lot 🔥


filtering issue check (IC)

Remind me...I though we filtered redundant IC but

I though we filtered redundant IC

Yep, IC is filtered.  I'll check this annotation.

I forgot to ask, which gene is that?

No problem, found it: cwg2 (SPAC2E1P5.04c).  I don't know what the problem is yet though.

Yep, IC is filtered. I'll check this annotation.

Sorry, I got that wrong.  IC is kept.  Here is a previous discussion: #505

Yes I forgot.  We can delete if we have experimental....


[#6825] Update Threading.Analyzers

Addresses #6825
#minor
Description
This PR updates the Microsoft.VisualStudio.Threading.Analyzers from 15.8.122 to 17.10.48, and fixes the VSTHRD200 issue with internal methods.
Specific Changes

Updated Microsoft.VisualStudio.Threading.Analyzers to latest version in BotBuilder and VSIX projects.
Updated some internal methods that required the Async suffix due to the VSTHRD200 error alert.

Testing
The following image shows the CI pipeline working, and an echo bot generated with VSIX templates.

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll


Can't load from file:// URLs on Mac and Linux because they are disabled in Unreal's libcurl

According to a question about loading tilesets from files under Linux from the forum, there might be an issue with the current approach of loading tilesets using the standard UnrealAssetAccessor.
The UnrealAssetAccessor uses the IHttpRequest to resolve the requests. But under linux, it might be necessary to use an IPlatformFile for local file requests, because on Linux, the libcurl library that is used in Unreal Engine is compiled with the file protocol being disabled.
This behavior has to be verified. If this turns out to be a problem, then it might be easy to fix, by just checking the protocol of the URL, and either using an IHttpRequest or an IPlatformFile, roughly at https://github.com/CesiumGS/cesium-unreal/blob/3daac114185202a8ee28b058d1131b401bad37dd/Source/CesiumRuntime/Private/UnrealAssetAccessor.cpp#L131

Edit: I think that it would be better in many ways to have the option to load local tilesets in cesium-native itself. This would essentially mean to move the https://github.com/CesiumGS/cesium-native/blob/main/Cesium3DTiles/test/SimpleAssetAccessor.h or the https://github.com/CesiumGS/cesium-native/pull/127/files#diff-43c4884466567e2f908defe62c8ba7921b5310694a2dcf3ec0501cbc5e520f9d from the "test" package into the actual cesium-native core. This would allow to create an IAssetAccessor that "dispatches" either to the current UnrealAssetAccessor or the FileAssetAccessor, depending on the protocol.

Confirmed by looking at https://github.com/EpicGames/UnrealEngine/blob/c3caf7b6bf12ae4c8e09b606f10a09776b4d1f38/Engine/Source/ThirdParty/libcurl/BUILD.EPIC.sh#L694 that libcurl is built without support for files on Linux and Mac. 😩 Contrary to the claim at https://answers.unrealengine.com/questions/891666/libcurl-behavior-with-third-party-library.html, files are supported on Windows.
I guess we probably won't have much luck convincing Epic to enable file:// since they don't need it, so we'll need to implement our own file URL loading on these platforms, as Marco mentions above.

so we'll need to implement our own file URL loading on these platforms,

One question is where this should take place. I.e. whether it is supposed to be implemented on Unreal side or native side (I'm strongly in favor of the latter, as already mentioned elsewhere). If there is some consensus about that, I could give it a try.

It seems Epic has purposely made file URLs not work even on Windows in UE 5.3:
https://github.com/EpicGames/UnrealEngine/commit/8cf99a3ba95a6c79074825c7a7db4a572c5d8a16#diff-5af25202a26d69b795835d92dfec1588eb0c1aec18dcda4b01930c9075556d6dR30
(thanks for the reference @lolleko)

I don't have access to this repo (and might need a refresher for the relevant code in general 👴 ), but this sounds like it could make a stronger case for being able to transparently do some
if (isFile(url)) { use(new PlatformFile(url); }
else { use(new HttpRequest(url)); }

abstraction somewhere in the *AssetAccessor implementation.
If a few lines of code in the implementation could simplify the life of developers who want to get started, that sounds like a sensible trade-off. I'm thinking about https://cesium.com/learn/unreal/unreal-datasets/#step-5-add-a-3d-tileset-from-a-local-directory , and the part after https://cesium.com/learn/unreal/unreal-datasets/#local-directory-filepath-formatting that are ... a nuisance for a quickstart, and wouldn't even work on windows ans more iff support for files is dropped in UE5.3. entirely...

Until this is resolved, I want to share my workaround for loading local tilesets. It's pretty simple. I just spin up a simple HTTP server in the tileset directory e.g. https://github.com/TheWaWaR/simple-http-server
This adds a tiny overhead because the files need to travel through the loopback interface on your network card after being loaded from the disk. However, it is still very fast, and in many cases, you probably can even measure the difference.

@lolleko That workaround is already described, but only as something that resembles a "footnote", in https://cesium.com/learn/unreal/unreal-datasets/#loading-assets-from-a-local-server .
One could just move this section up (and maybe extend it a bit), to replace the instructions that are currently given in the section "Add a 3D Tileset from a local directory". (And this would probably not use the server that you linked to, but something with npm install http-server or  python -m http.server)
But ...

there are many good reasons why someone might want to load local files
I think that it is important to make these first tutorial steps as easy as possible

Without diving into details: Everybody knows how important an ~"early feeling of success" can be, and how frustrating it can be to go thorugh a list of "Install this, install that, maybe you already have Node.js installed? Maybe you have Python? If so, which version?... 🙄"


few changes..

i dont think u need a setInterval after your ticker, the ticker is
already an "interval".

I put the function removeContainer of the function snowBegin, because
that is only called by the tween, which is inside too... so it makes
more organized and scope stuffs..

dont forget to upload the image! =)


Downloading assets fails

picomc installed using pip.
logs
$ picomc --debug version prepare 1.19.3
DEBUG picomc, version 0.4.5
DEBUG Python 3.11.1
DEBUG Resolving default application root
DEBUG Using application directory: /home/xdream8/.local/share/picomc
DEBUG Using cached vspec files, hash matches manifest (1.19.3)
DEBUG Using cached asset index, hash matches vspec
DEBUG Loading Config from /home/xdream8/.local/share/picomc/config.json
INFO Checking libraries.
DEBUG Attempting to use jarfile: /home/xdream8/.local/share/picomc/versions/1.19.3/1.19.3.jar
DEBUG Checking jarfile.
INFO Checking 3381 assets.
INFO Downloading 3381 assets.
DEBUG Downloading 3381 files.
DEBUG Downloading [1/3381]: http://resources.download.minecraft.net/bd/bdf48ef6b5d0d23bbb02e17d04865216179f510a
DEBUG Downloading [2/3381]: http://resources.download.minecraft.net/92/92750c5f93c312ba9ab413d546f32190c56d6f1f
...
ERROR Failed to download (400) [3363/3381]: http://resources.download.minecraft.net/95/9519c93477a4394b4ceaaa0f856c7fdd7babd834
ERROR Failed to download (400) [3362/3381]: http://resources.download.minecraft.net/70/70ae9c314c2c280af94a08c2403801e120ee4b3c
ERROR Failed to download (400) [3364/3381]: http://resources.download.minecraft.net/9a/9a5729d795b1edfeffaa99506983c8b279880fa9
ERROR Failed to download (400) [3365/3381]: http://resources.download.minecraft.net/9d/9dd32387135eefa7ab95996d52a5ca4cec8a3b30
ERROR Failed to download (400) [3366/3381]: http://resources.download.minecraft.net/eb/ebdae54b8c4cbe1aa5ae2807dbeeb6511e2add3b
ERROR Failed to download (400) [3368/3381]: http://resources.download.minecraft.net/fd/fdf18a3512fd1d2ce62b19865d4312fcc343cd36
ERROR Failed to download (400) [3367/3381]: http://resources.download.minecraft.net/45/4574e4b3a592117b019e05088947ee26bc55e697
ERROR Failed to download (400) [3369/3381]: http://resources.download.minecraft.net/1d/1d8eb3f824e8e17c0834a17cf39b9e55b8479c2e
ERROR Failed to download (400) [3370/3381]: http://resources.download.minecraft.net/2d/2d888ac14e51d7cab64b5e735456d25bf000720e
ERROR Failed to download (400) [3371/3381]: http://resources.download.minecraft.net/de/deba0627f49ca561aaec8b61057dac00deb83fe2
ERROR Failed to download (400) [3374/3381]: http://resources.download.minecraft.net/15/15c8e87c9ace8c279dffaf86d05dda43dd51d933
ERROR Failed to download (400) [3373/3381]: http://resources.download.minecraft.net/52/529e4602466f3752d66bf34eb8e5b92f7d602ccc
ERROR Failed to download (400) [3375/3381]: http://resources.download.minecraft.net/01/01564e4a93458fdc78544743528f31bd0ee1335e
ERROR Failed to download (400) [3378/3381]: http://resources.download.minecraft.net/c0/c05cbd8c88b5878703898150e157af88a29d8091
ERROR Failed to download (400) [3376/3381]: http://resources.download.minecraft.net/55/55e05b92ff63a3a762599a3c5d8911ef73632eed
ERROR Failed to download (400) [3372/3381]: http://resources.download.minecraft.net/4a/4a101c336082c530e93945b0e31ac818cfbf78a0
ERROR Failed to download (400) [3380/3381]: http://resources.download.minecraft.net/a4/a449a2395b194c67b17ce2cba15b1e2958130f11
ERROR Failed to download (400) [3379/3381]: http://resources.download.minecraft.net/09/09fc4bb8b59416d1bd941aa1f3cda0e58d8b1e38
ERROR Failed to download (400) [3377/3381]: http://resources.download.minecraft.net/ee/eed3b961158ebeae781e6c737ee55a1f5e8f6c9d
ERROR Failed to download (400) [3381/3381]: http://resources.download.minecraft.net/c1/c106e5ef000809049ce7d56e858898255cff9223
WARNING Some assets failed to download.
DEBUG Commiting all dirty configs

if you need all log just tell me

I tried opening one of the assets in the browser and i can only see the asset using https
the same can be achieved with curl too
xdream8@KISS extra 2$ curl -fLO "http://resources.download.minecraft.net/01/01564e4a93458fdc78544743528f31bd0ee1335e"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0   289    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (22) The requested URL returned error: 400
xdream8@KISS extra 22 2$ curl -fLO "https://resources.download.minecraft.net/01/01564e4a93458fdc78544743528f31bd0ee1335e"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  648k  100  648k    0     0   254k      0  0:00:02  0:00:02 --:--:--  255k

Should be fixed by ae122bcad4292b7714ccaade7233d939cf77fcfb. Don't have time to make a release at the moment, so please install from master for now. I'll hopefully get around to it this week

Thanks

The AUR package is not updated to 0.4.6, can you please do that (or do know who does it, if it's not you)?

Same with pip.

I am not the AUR packages maintainer but you can install with pip using git source:
$ pip install --user git+https://github.com/sammko/picomc

I'll look into AUR, but PyPI should be up to date.


[Internal] Fix build issue

#1774 and #1785 both hit this issue:
> Task :proguard-tests:lint FAILED
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':proguard-tests:lint'.
> Could not resolve all dependencies for configuration ':auth:debugRuntimeClasspath'.
   > A problem occurred configuring project ':internal:lintchecks'.
      > Cannot change strategy of configuration ':internal:lintchecks:classpath' after it has been resolved.

We need to fix this issue before we can safely merge any more code.
cc @puf  @rosariopfernandes

Note: this was caused by configureondemand

Fixed in #1789


WiP - Basic example of using apptest-framework

This is a work in progress example of using apptest-framework to run tests against an App running within a Giant Swarm cluster.
Towards: https://github.com/giantswarm/roadmap/issues/3190

[!CAUTION]
Blocked by https://github.com/giantswarm/apptest-framework/pull/3
This will need the replace directive in the go.mod removing before merging.

There's currently no pipeline to run these tests. Those are being working on  and will need to be ready before this PR is merged.
Todo:

[ ] Merge and release https://github.com/giantswarm/apptest-framework/pull/3
[ ] Remove replace directive
[ ] Build out the Tekton Pipeline to build the container image and inject the required env vars
[ ] Set up GitHub webhooks to Tekton cluster
[ ] Figure out how to automate the initial setup of these files (devctl maybe?) and some way of handling pushing out updates (renovate for Go modules, need to think about how to better handle the Dockerfile - maybe we don't include it here and the pipeline itself builds it from a single known source 🤔)
[ ] Handle more configuration (e.g. providers to run the tests on)

Let's see how this goes...
/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

/run app-test-suites

I'm an idiot and did a copy&paste mistake 🤦
/run app-test-suites

@AverageMarcus As our apptest-framework is also relying on Ginkgo, have you been taking a look into the upstream E2E tests of Ingress NGINX? They are heavily relying on that, maybe you can get some inspiration there. :)

https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e

No i haven't. This has been mostly based on our existing workload cluster testing framework (and extended to provide some helpers).
Is there a specific feature of the upstream tests you're wanting? This needs to work for any and all apps so can't be too specific at the framework level.

Na, nothing special. Just wanted to point you there in case you're looking for examples.

I had a little look. There's a lot there (NICE!) so didn't really know where to start. I'll keep it in mind, it might be useful for teams when writing tests to refer to for some examples.

As far as I can tell they (we, as I'm maintainer) merge PRs and do releases based on that. Like, as long as E2E is fine, the release will probably also be. So there's a lot of trust put in them. 😅

/run app-test-suites

@Gacko This is no longer work in progress 🎉
Are y'all wanting this to be merged in yet or would y'all rather do it on your own and get some actual tests included as well?

As I'm no longer member of @giantswarm/team-cabbage, I won't approve this. But it LGTM!

Ah, good point! I forgot about that!

would adding the lang-go renovate-preset be enough to keep the deps up to date?

Yes. It should then generate PRs to update this go.mod

is this basic scaffold test doing a deployment and checking the version already or do we need to add logic on our Tests funcs for that?

Yeah. The framework runs a test case to install the app (with the version to be tested) which uses the InstallApp helper that ensures the app is marked as deployed.
Theres also two other default tests that run:

Ensure the app isn't already installed into the cluster
If it is an upgrade test, there is a test case that installs the previously released version of the app first.


fix: Update docker configuration

Codecov Report

Merging #7 (b9d886d) into main (165c0b5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main       #7   +/-   ##
=========================================
  Coverage     62.76%   62.76%
  Complexity      229      229
=========================================
  Files            61       61
  Lines           913      913
  Branches         56       56
=========================================
  Hits            573      573
  Misses          316      316
  Partials         24       24

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 165c0b5...b9d886d. Read the comment docs.


Data Type Override

Depends on https://github.com/CreateAPI/CreateAPI/pull/135
Closes https://github.com/CreateAPI/CreateAPI/issues/114

What
As described in #114, a Swift type override can be very powerful when working together with packages.dependencies and entites/paths.imports. The encoding/decoding caveats and developer responsibilities are in the issue.
This PR differs in the format now being:
dataTypeOverrides:
  data-type.format: SwiftType

The power comes from format being an open value on numbers, integers, and strings. Users can now use different built in types or create and import their own custom types for corresponding labels or a global override.
Examples:

string.uuid: String
number.float: Float80
integer.Int64: Int, assuming useFixWidthIntegers = true and one wants to use Int32/Int
string.password: MyPasswordType, assuming custom import
string: MyStringType, assuming custom import

Using imports would require at least the following:
dataTypeOverrides:
  string.password: MyPasswordType
entities:
  import: MyPasswordType
packages:
  dependencies:
  - url: # MyPasswordTypeURL
  # rest of the dependency configuration

Again, it is a developer responsibility that these types are properly encoded/decoded, that they exist, and that it is proper within the context of their API.
TODO

[x] Remove useNaiveDate

Leaving in for this implementation.

However, we can recommend NaiveDate and other packages that can enhance the experience in the documentation!

[x] Interplay with useFixWidthIntegers.

Should this or overrides take precedence? Consensus reached to remove this and width types can be set here.

[ ] Documentation

Overall example usage, noting that this is Advanced configuration.

[x] Dictionary/array types (edited after some thought)

These are not "types" but "objects". This can be a future feature request. There can be a use case for this where:
1 - string.first_name: MyFirstNameType, custom format first_name
2 - An array object in the schema represents an array of first_name-formatted strings. So we want [MyFirstNameType]. This isn't configurable in the schema so this is something that developers should know within the context of their API.

[ ] Split per entities/paths?

A use case I just thought of is where somebody would want to use their entities with something like string.uuid: String for convenience but when making calls that would then require an entity UUID as a parameter they want to enforce at runtime that the type is correct. This would increase to possibly three flags: globalDataTypeOverrides, entites.dataTypeOverrides, and paths.dataTypeOverrides. I say we ignore this and can be an enhancement later on if requested as it's somewhat similar to the individual property type override idea from the original issue.

I still need to spend some time going over these proposed changes as well as #114 in more detail, but from skimming over the description I just want to mention that removing NativeDate in favour of the configuration proposed is probably not the direction that we want to go in.
We offer NaiveDate (and HTTPHeaders and URLQueryEncoder) as sensible defaults that help fill the gap where Swift/Foundation can't quite represent common parts or behaviours of the OpenAPI output. These features should remain opt-out rather than opt-in.
I think that we should have a better way to represent all of these default dependencies, but having to use the more advanced configuration to opt-in isn't preferable here

I originally commented about the distinction between NaiveDate and HTTPHeaders/URLQueryEncoder where the latter are used by the generator. These are fine to be included for our use. NaiveDate is purely for developer use to ignore the timezone for dates, so it's  just a helper package we provided behind an option. It doesn't fill in any gaps per say for Swift/Foundation.

can't quite represent common parts or behaviours of the OpenAPI output

Then the schema would be incorrect. In the context of dates, it wouldn't be a proper RFC 3339 date and that's a developer concern.

but having to use the more advanced configuration to opt-in isn't preferable here

These do require some boilerplate, but in tandem with these other options it is a lot more powerful than putting things behind flags.
Overall, NaiveDate was just a package we included as convenience and now fits of just being a normal external dependency.

Then the schema would be incorrect. In the context of dates, it wouldn't be a proper RFC 3339 date and that's a developer concern. Swift is natively capable of representing all the data types per OpenAPI 3.*

That's not the case. Foundation's builtin Date type represents date and time but when using format: date, as per RFC 3339 you might not be including time or timezone information that is necessary to properly interpret the value as a Date. That gives us two options:

Use String
Use NaiveDate

We choose the latter by default because date is a format that is recognised/defined by the OpenAPI spec and its a common scenario that we'd like to be able to support:
https://swagger.io/docs/specification/data-models/data-types/#string

An optional format modifier serves as a hint at the contents and format of the string. OpenAPI defines the following built-in string formats:

date – full-date notation as defined by RFC 3339, section 5.6, for example, 2017-07-21
date-time – the date-time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
password – a hint to UIs to mask the input
byte – base64-encoded characters, for example, U3dhZ2dlciByb2Nrcw==
binary – binary data, used to describe files (see Files below)

In addition to the built-in formats:

However, format is an open value, so you can use any formats, even not those defined by the OpenAPI Specification, such as:

email
uuid
uri
hostname
ipv4
ipv6
and others

We process uuid and uri because Swift has builtin types UUID and Data that matches in most cases.
I do see your point though about how some of our existing flags such as useFixWidthIntegers and useNaiveDate make it a bit tricky to then be able to provide complete flexibility.
I'm going to have a bit more of a read/look through this PR and also the original ticket and I'll followup some more after 👍

I'll leave useNaiveDate in for this implementation, but I think a better implementation in the future would be decoding from a DateFormatter with format yyyy-dd-MM for date-time.

Use string, use NaiveDate

We actually just set to Date if useNaiveDate is false for date-time.

That's not the case 😄
https://github.com/CreateAPI/CreateAPI/blob/674d9d8b69542d9c00c41d95ed589fc1da6d43dc/Sources/CreateAPI/Generator/Generator%2BSchemas.swift#L232-L248
This switch statement could be refactored a little for clarity, but the gist of things is this:

On line 234, if the format is date-time, it returns Date
On line 237, if the format is date and options.useNaiveDate is true, it returns NaiveDate
Otherwise, on line 247 it will return String

but I think a better implementation in the future would be decoding with a DateFormatter with format yyyy-dd-MM for date-time instead of relying on an external package so that Date is still used.

It's worth checking this blog out for a bit more context on why Date isn't suitable for representing date (not date-time) formats - https://kean.blog/post/naive-date-time

With the approach that I suggested in #114, useNaiveDate would become redundant because the implementation of the above method would end up being something like this:
private func getStringType(for info: JSONSchema.CoreContext<JSONTypeFormat.StringFormat>) -> TypeIdentifier {
    let identifier = options.stringType(for: info.format)
    if identifier == .builtin("NaiveDate") {
        setNaiveDateNeeded()
    }
    return identifier
}

Maybe theres a better way to achieve it, but the idea being that you change the data type mappings in the options if you want to disable NaiveDate from being used.

Apologies, my last comment did get date/date-time mixed up and I must've been confused and thought it also returned Date when useNaiveDate was false. I've been making this a bigger issue than it really is and I apologize for that as well.
I still think useNaiveDate is just a basic type replacement and could be removed since one could import it manually and use type replacement. However, that's just a creative difference. In my last comment I mentioned the date decoding style for native Date decoding for this case and think that would be the best in the long run, instead of depending on an external package or getting a String.

Don't worry about it, it's a confusing and complicated topic 🙂 There are still reasons why we can't just use a different date formatter to decode date formatted strings (not date-time) but lets leave that for a separate discussion 👍
If we focus here on formats preserving the existing set of default mappings then we can get this shipped 🚀

I will close this PR due to the long unnecessary discussion from me (apologies again) above with an updated and more accurate PR.


Query - regarding missing messages

Hi,
Below is the setup:

2 subscribers subscribe to the same subject and the same stream identifier (Name attribute of the stream)
1st subscriber is subscribing with option StartAtOffset and the 2nd subscriber is subscribing with default option
Scenario 1 - subscribers are on different boxes:
Both capture msgs and process them without any issues

Scenario 2 - subscribers are on the same box:
Some msgs supposed to be picked up by the 2nd subscriber are not picked
It will be great if you explain this anomaly and suggest a solution. Do let me know if there is something silly that i might have done which is a possibility :)
Thanks a lot.

Thanks for the reply.
Yes, messages are being published to the same subject. 2 subscribers are
listening on the same subject and same stream name. The issue of message
loss is happening when both subscribers are running on the same machine.
On Sat 15 Dec, 2018, 22:57 Tyler Treat<EMAIL_ADDRESS>wrote:

The default subscribe behavior is to start consuming only new messages on
the stream. Are you also publishing messages to that topic?
On Sat, Dec 15, 2018, 1:30 AM asimpatnaik<EMAIL_ADDRESS>wrote:

Hi,
Below is the setup:

2 subscribers subscribe to the same subject and the same stream
identifier (Name attribute of the stream)
1st subscriber is subscribing with option StartAtOffset and the 2nd
subscriber is subscribing with default option
Scenario 1 - subscribers are on different boxes:
Both capture msgs and process them without any issues

Scenario 2 - subscribers are on the same box:
Some msgs supposed to be picked up by the 2nd subscriber are not picked
It will be great if you explain this anomaly and suggest a solution. Do
let me know if there is something silly that i might have done which is a
possibility :)
Thanks a lot.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/liftbridge-io/go-liftbridge/issues/9, or mute the
thread
<
https://github.com/notifications/unsubscribe-auth/AAhvcfgL5VCSE9u4Auhzh_W_KvQsCPm0ks5u5KT4gaJpZM4ZUnVR
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/liftbridge-io/go-liftbridge/issues/9#issuecomment-447584230,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AgpQ0MXJjYKxYBlcUk_fzLjC6_rRcfIPks5u5TD2gaJpZM4ZUnVR
.

My apologies first and thanks a lot for your valuable time. The prognosis of the issue wasn't right. It wasn't related to loss of messages, which we discovered later with more diagnostic msgs logging. We figured out that there was an inter network communication when two different machines were involved and as a result, the time delay of receiving the publication was good enough for the db to persist the data which later was being read using the published msg. With the machines being the same, the pub-sub was faster than the db commit time and as a result, no data was available when being read. There's absolutely no issue with lift-bridge.

@asimpatnaik Great, I will close this issue. Feel free to reopen if you hit another issue.


Add ImageFullSampler.HasSameOutputWhenUsingFullyFilledMask, ImageRandomSamplerSparseMask GoogleTest unit tests

"Install PythonTests requirements" fails on Windows, Azure Pipelines, saying:

CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

and:

2023-11-10T12:14:42.6957965Z     could not find any instance of Visual Studio.

2023-11-10T12:14:42.7116975Z   Cloning into 'ITK'...
2023-11-10T12:14:42.7118371Z   error: unable to create file Modules/Core/ImageFunction/include/itkVectorLinearInterpolateNearestNeighborExtrapolateImageFunction.hxx: Filename too long

At https://dev.azure.com/kaspermarstal/d9c40921-2d83-43b7-b98b-be691988c03a/_apis/build/builds/4399/logs/40
GitHub Actions/windows-2019 also says:

could not find any instance of Visual Studio.

https://github.com/SuperElastix/elastix/actions/runs/6824043357/job/18559611353?pr=983
There errors appear unrelated to this PR.


support for poetry add --latest

[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] I have searched the documentation and believe that my question is not covered.

Feature Request

Add a way to update to latest released version. Let's say you are using gunicorn 18.x.x and you want to install the latest gunicorn 19.x.x.
Right now I couldn't find a straight forward way to do it. I found out that removing the package from the pyproject.toml and doing poetry add <package> does what I want.
Ideally I think it would be nice to have something like:
poetry add <package> --latest
Notes
Doing poetry add <package>==<latest_version> works also, but it's not the right way, because the pyproject.toml will be updated with a =<version> instead of ^<version>.
I searched a lot and couldn't find the solution, so in case it's already there I'll try to update the docs.

If you have gunicorn = "^18" in your pyproject.toml and then run poetry update gunicorn, it will update to the latest gunicorn available.

And if you always want get the latest version, just pin it to gunicorn = "*" in pyproject.yml.

My use case is different. I want to update once to the latest, not always install the latest, so no *, and I want to update the major, so no ^. In yarn for example you can do yarn add x@latest so it will install latest and will pin your version to the latest with a caret.
The main idea of this is that you manually update to the latest major. Otherwise you poetry update the minors

If i'm understanding, you'd want
gunicorn = "18.*"

and then change it to
gunicorn = "19.*"

and run poetry update?

No, I would like to have:
gunicorn = "^18"

and then do
poetry add gunicorn --latest

and I would see reflected in my pyproject.toml
gunicorn = "^19"

Otherwise a user has to manually search for the latest version.

My 2c: I think this is an impedance mismatch between the pyproject and the lockfile...

I don't see how, it should update the deps if possible, otherwise error. yarn and npm have this behaviour irc.

Added in https://github.com/sdispater/poetry/pull/1221


Add phpunit tests

This PR introduces a test suite. It's far from complete but a good basis when making future changes. I kept the tab-style like the files in www.
Installation via composer (composer install).

Thank you Marc!


Log module version when script is directly executed

Please bump priority here.  We can't determine version or params from execution, which complicates diagnosis.


User Reviews Integration

Description
This PR implements the user review section which solves issue #26 , including:

A header titled "Pumpkins People Love!".
A customer reviews slider with automatic sliding, manual navigation controls, and pagination markers.
A "Leave a Review" button that opens a modal for submitting reviews.
All features have been tested for responsiveness and functionality.

Looking forward to your feedback!
Please also consider adding hacktoberfest label.

@SreyaSudheeran as well please, feel free to see our opened issues/tasks for this project: https://github.com/orgs/OpenCodeChicago/projects/1 and if you'll like to work on some of them let me know before you start, that i can assign you. As well, hope you read our documentation, watched YouTube video, and if you'll like our project, make sure to star it, it'll helps build visibility and showcases your work! Share this project as you contributor to open-source project, add it to your portfolio if you want. Thank you

@SreyaSudheeran as I tested, may improve some of things:

pagination isn't working;
remove button previous and next as it is not in our layout design;
review modal window - place on a middle of the viewport;
and on review modal window improve styles, heading, text etc as from figma design(you can watch YouTube video where I've showed what plugin is good to use on Figma to see the styles for particular elements);

Waiting your improvement!
But overall is good, and specially glad that implementation of review submit form is working, great work!


UI tests - Add PS versions from <IP_ADDRESS> ~ <IP_ADDRESS> to <IP_ADDRESS> (Minor) on PHP 7.1 ~ 7.3

Questions
Answers

Description?
Add PS versions from <IP_ADDRESS> ~ <IP_ADDRESS> to <IP_ADDRESS> (Minor) on PHP 7.1 ~ 7.3

Type?
improvement

Sponsor company
@PrestaShopCorp

How to test?
CI is :green_apple:

issue => https://github.com/PrestaShop/PrestaShop/issues/36425

PR merged, well done!
Message to @PrestaShop/committers: do not forget to milestone it before the merge.


graph embeddings

[ ] implement simple graph embeddings via deep walk / random walks
[ ] construct similarity (k-NN) graphs
[ ] use similarity graph for

[ ] node classification
[ ] missing attribute prediction (cold-start etc.)
=> use this for the small Guetl workshop paper !!
[ ] link prediction (direct recommendation, baby!)

SqzXlZyaaafasqqfzvvc
On Sat, Feb 8, 2020, 21:16 Bernd Malle<EMAIL_ADDRESS>wrote:

implement simple graph embeddings via deep walk / random walks
construct similarity (k-NN) graphs
use similarity graph for

node classification
missing attribute prediction (cold-start etc.)
=> use this for the small Guetl workshop paper !!
link prediction (direct recommendation, baby!)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cassinius/graphinius/issues/116?email_source=notifications&email_token=AAE44G7D2Q2XCIOCFH7NTWLRB2WB3A5CNFSM4KR2OTDKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IL7WXXQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE44G6UGBAN6VRMDCM6ABTRB2WB3ANCNFSM4KR2OTDA
.


[tool_crash] ProcessException: No such file or directory Command: /home/jrermi/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/pub, OS error code: 2

Command
flutter doctor

Steps to Reproduce

...
...
...

Logs
ProcessException: No such file or directory Command: /home/jrermi/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/pub, OS error code: 2
#0      _ProcessImpl._start (dart:io-patch/process_patch.dart:390:33)
#1      Process.start (dart:io-patch/process_patch.dart:36:20)
#2      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:44:22)
#3      ErrorHandlingProcessManager.start.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:664:24)
#4      _run (package:flutter_tools/src/base/error_handling_io.dart:544:20)
#5      ErrorHandlingProcessManager.start (package:flutter_tools/src/base/error_handling_io.dart:663:12)
#6      _DefaultProcessUtils.start (package:flutter_tools/src/base/process.dart:425:28)
#7      _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart:444:35)
#8      _DefaultPub.batch (package:flutter_tools/src/dart/pub.dart:283:34)
<asynchronous suspension>
#9      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:223:7)
<asynchronous suspension>
#10     PubDependencies.update (package:flutter_tools/src/flutter_cache.dart:121:5)
<asynchronous suspension>
#11     Cache.updateAll (package:flutter_tools/src/cache.dart:546:9)
<asynchronous suspension>
#12     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1143:7)
<asynchronous suspension>
#13     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1043:27)
<asynchronous suspension>
#14     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#15     CommandRunner.runCommand (package:args/command_runner.dart:196:13)
<asynchronous suspension>
#16     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)

[✓] Flutter (Channel stable, 2.2.1, on Linux, locale en_US.UTF-8)
    • Flutter version 2.2.1 at /home/jrermi/snap/flutter/common/flutter
    • Framework revision 02c026b03c (6 weeks ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/jrermi/Android/Sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /snap/android-studio/113/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+0-b944-P17168821)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for
      more details.

[✗] Chrome - develop for the web (Cannot find Chrome executable at
    google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 4.2)
    • Android Studio at /snap/android-studio/113/android-studio
    • Flutter plugin version 58.0.1
    • Dart plugin version 202.8531
    • Java version OpenJDK Runtime Environment (build 11.0.8+0-b944-P17168821)

[✓] Connected device (1 available)
    • SM J415G (mobile) • 968106f6 • android-arm • Android 9 (API 28)

! Doctor found issues in 2 categories.

Flutter Application Metadata
No pubspec in working directory.

Duplicate of https://github.com/flutter/flutter/issues/86020

@jrermi12
You seem to have used snap to install flutter (/home/jrermi/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/pub, OS error code: 2), for which there's a separate repo for tracking. Please open the issue in the dedicated repository: https://github.com/canonical/flutter-snap/issues
Closing from here. If you get similar error by directly installing flutter sdk, then write in comments and I'll reopen it.


cannot access downloadable file: ic_grain.xml  (404 not found)

https://developer.android.com/codelabs/basic-android-kotlin-compose-practice-grid
Issue: trying to access the file ic_grain.xml for the project leads to a page 404: Not Found
broken link: https://raw.githubusercontent.com/android/compose-samples/main/Owl/app/src/main/res/drawable/ic_grain.xml
more details:
Step 1: Before you begin
You will need the following resources to complete the code for these practice problems:

Topic images  -  These images represent each topic in the list. - fine
ic_grain.xml  -  This is the decorative icon that appears next to the number of courses in the topic. - broken

I found a copy of a resource here, maybe not the same resource:
https://raw.githubusercontent.com/google-developer-training/basic-android-kotlin-compose-training-courses/main/app/src/main/res/drawable/ic_grain.xml

👍

It looks like the tutorial links to a sample in the android/compose-samples repo that was removed for being outdated (android/compose-samples@62fa0fd). You can use this link instead, it's the last known revision of the file: https://raw.githubusercontent.com/android/compose-samples/2900c017c559bf0038c1e97c6c95f88448bfd2b2/Owl/app/src/main/res/drawable/ic_grain.xml


Test revert "Native quantum control toml (#554)"

Result: Runtime test still failing to build, so PR 554 is likely not responsible.


Moving over from Catalina & Clover

Thanks for the great work on this. This is really not an issue per se, but as there are no GitHub Discussions enabled on the repo, hope questions here are ok too.
I'm currently on Catalina 10.15.0 with a Clover based EFI (Morgonaut's) on exactly the same build as you, and I'm looking to make the move to OpenCore and Big Sur.
As the latest version is not recommended for Catalina, I'm not quite sure in which order to proceed with the upgrade. Do you think the latest EFI will boot enough to get through the update process? Or should I do the upgrade first and get the EFI replaced afterwards?
I do have full copies of the hard drive to test things out first but thought to ask beforehand.
Any guidance highly appreciated.

Hmm well you’ve got a couple of options as I see it.

Go through the commit history on this repo and download the EFI as it was just before the Big Sur upgrade, use that during the macOS update process, and then use the current EFI once the update has been installed and you’re trying to boot to Big Sur.

(Recommended) Since you have backups (assuming you have time machine backups too), and you’re coming from Clover, it’s really best to do a clean install. Clover is messy and directly switching isn’t always smooth.

Use gibMacOS to download the Big Sur install files
Use create a bootable USB with the installation files
place my latest EFI on the USBs EFI partition
install Big Sur fresh

@baughmann Thank you. Certainly going with a clean install then, plenty of bootable drives to test it out with beforehand as well.

@hellojere sounds good, let me know how it goes. Best of luck.


The Dashboard table is not rendering due to an error happening in server side logic

Describe the bug
An error is shown relating to the server side logic when trying to view the Dashboard table (see image below).
To Reproduce
Steps to reproduce the behavior:

Classes pages
Click 'view class' (or create class and then click 'view class')
See error

Expected behavior
The Dashboard table UI should be rendered displaying student activty.

Possible solution (needs review and further investigation): https://github.com/freeCodeCamp/classroom/pull/401.


[#7] Implement previousClearBit and previousSetBit

Both methods essentially look up the desired bit and search linearly
backwards from that position. The allowed parameters and return values
match those of the JDK's BitSet.

Thanks.  Nice work.

Wow, thanks, that was fast. I think may have put a bug into previousOnClear when the value is just off the end of one of the arrays so there may be a follow PR on this.


 However, the same query on a collection with more than 100k documents takes more than 10-20s.
I think this is a cloud_firestore plugin issue because this query running on Python on the same large collection is also "instantaneous".

Please add the output of flutter doctor and the cloud_firestore version you are using.
@collinjackson

I'm using cloud_firestore 0.7.3 and below is the output of flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.4.4, on Mac OS X 10.13.5 17F77, locale en-BR)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4)
[✓] Android Studio (version 3.1)
[✓] Connected devices (1 available)
• No issues found!
Process finished with exit code 0
Also, when I run the query on a small collection there's no output on Android Studio's console. However, when running on the large collections there're dozens of outputs like these:

W/CursorWindow( 6915): Window is full: requested allocation 2355 bytes, free space 1925 bytes, window size 2097152 bytes
I/art     ( 6915): Background partial concurrent mark sweep GC freed 5351226(159MB) AllocSpace objects, 0(0B) LOS objects, 35% free, 28MB/44MB, paused 1.453ms total 198.925ms

Thank you for your help.

I'm seeing the same problem, with a 10k collection.
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.5.1, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] Android Studio (version 3.1)
[!] VS Code (version 1.24.1)
[✓] Connected devices (1 available)
! Doctor found issues in 1 category.

I'm seeing this too
W/CursorWindow(21291): Window is full: requested allocation 253420 bytes, free space 67821 bytes, window size 2097152 bytes
W/CursorWindow(21291): Window is full: requested allocation 253420 bytes, free space 68329 bytes, window size 2097152 bytes
I/zygote64(21291): Background concurrent copying GC freed 535155(13MB) AllocSpace objects, 5(1240KB) LOS objects, 50% free, 17MB/35MB, paused 60us total 102.836ms
I/zygote64(21291): Background concurrent copying GC freed 586382(13MB) AllocSpace objects, 9(1508KB) LOS objects, 49% free, 24MB/48MB, paused 102us total 212.880ms

And I do only have a few dozens of documents returned from the request.
This also seems to put huge load on the main thread and the navigation stutters (at least in debug, haven't build the release version yet).
Any ideas?
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel dev, v0.5.8, on Microsoft Windows [Version 10.0.17134.228], locale en-NZ)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[√] Android Studio (version 3.1)
[√] IntelliJ IDEA Community Edition (version 2017.3)
[√] Connected devices (1 available)

• No issues found!

@BerndWessels it's the same for me. I've a collection of 5k documents and it takes 10s to load.
Is there any workaround?

Any fixes?

Started seeing this as well on previously stable versions. Upgrading dependencies did not resolve it.
A few notes of what I'm seeing:
Web versions of the same query work fine.
The collection being queried is large, but the query result only contains a single document.
This behavior started appearing for no obvious reason, no packages were upgraded, the queries were not modified - but the collection did grow in size.
Running in debug mode (with a simple DateTime.now() comparison for timing) to resolve a query that returns a single document.takes ~20 seconds on first run, and ~10 seconds on subsequent runs.
Resolving the query to a Future (via .getDocuments()) or a Stream (via .snapshots()) makes no difference.
Previous versions: Flutter 0.8.2 / cloud_firestore 0.7.3:
[✓] Flutter (Channel beta, v0.8.2, on Linux, locale en_US.UTF-8)
    • Flutter version 0.8.2 at /home/vic/devel/flutter
    • Framework revision 5ab9e70727 (7 weeks ago), 2018-09-07 12:33:05 -0700
    • Engine revision 58a1894a1c
    • Dart version 2.1.0-dev.3.1.flutter-760a9690c2

Upgraded to latest (beta): Flutter 0.9.4 / cloud_firestore 0.8.2+1
[✓] Flutter (Channel beta, v0.9.4, on Linux, locale en_US.UTF-8)
    • Flutter version 0.9.4 at /home/vic/devel/flutter
    • Framework revision f37c235c32 (4 weeks ago), 2018-09-25 17:45:40 -0400
    • Engine revision 74625aed32
    • Dart version 2.1.0-dev.5.0.flutter-a2eb050044

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /home/vic/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: /usr/local/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
    • All Android licenses accepted.

Resolved by disabling firestore persistence, it seems that Firestore persists by loading the whole database [just the collection being queried?] and then querying locally. So even a query with limit(1) would load all the data.
My assumption is that the data has grown to such a point that it can no longer be held in memory, so loading it seems to thrash while the GC clears up space to continue and query [?!].
Surprisingly this happens on every query, not just the very first, so I guess as long as the app is online, every query will download the whole collection :confused:
Disabling persistence results in sub-second loading:
  await Firestore.instance.settings(
    persistenceEnabled: false,
    timestampsInSnapshotsEnabled: true,
  );
```

can confirm that performance really degraded once a collection i was querying got to over 1k records. i'm querying about 12 snapshots concurrently:

    List<Future<QuerySnapshot>> _feeds = [];

    for (var i = 0; i < docs.length; i++) {

      String _id = docs[i].data['id'];

      _feeds.add(dbTable
        .where('id', isEqualTo: _id)
        .limit(1)
        .getDocuments()
      );
    }

   Stopwatch stopwatch = new Stopwatch()..start();

    Future.wait(_feeds, eagerError: false, cleanUp: (val) {
      print(val);
    }).then((result){
      print('took ${stopwatch.elapsed}');
    }).catchError(print);

prior to the last several days, when dbTable only had 100-200 records, this always finished in less than a second (i wasn't using Stopwatch til now, so don't have an actual number).  now, after batch inserting over 1k records, it takes 6-7 seconds to return.  and the above query is stripped down - the real one had 2 more where clauses, an orderby, and a limit of 50.
cloud_firestore: "^0.8.2+1"
[✓] Flutter (Channel dev, v0.10.2, on Mac OS X 10.14 18A391, locale en-US)
• Flutter version 0.10.2 at /Users/neil/flutter
• Framework revision d8cbb80206 (10 days ago), 2018-10-26 01:30:21 -0400
• Engine revision 6c2ade9fa2
• Dart version 2.1.0-dev.8.0.flutter-bf26f760b1
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /Users/neil/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.1, Build version 10B61
• ios-deploy 1.9.2
• CocoaPods version 1.5.3
[✓] Android Studio (version 3.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 29.1.1
• Dart plugin version 181.5656
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
[✓] Connected device (1 available)
• iPhone X      • 09913D8F-AAA2-4959-B2DA-06D3229A683A     • ios • iOS 12.1 (simulator)
• No issues found!

running the real query on my current data took 8 seconds.  i deleted approx 800 records from that dbTable and it's now 1.1 seconds.  dbTable has 26 fields, mostly strings and bools, and negligible amounts of data in each field.

this is also a problem that's far more pronounced on iOS.   using my aforementioned ~12 concurrent calls, with and without @xqwzts solution:
iOS
persistenceEnabled: true - 2.96 seconds
persistenceEnabled: false - 2.3 seconds
android
persistenceEnabled: true -  2.47 seconds
persistenceEnabled: false -  0.38 seconds

Not sure how related this is, but I have a loading indicator and it seems that
persistenceEnabled: true blocks the UI and the loading indicator animation stutters and gets stuck.
persistenceEnabled: false takes longer but leaves the loading indicator animation much smoother.
I even put the deserialization (using built_value) into another "threat" via compute(...) which makes me think that persistenceEnabled: true really messes up the UI "threat".

I am also seeing performance issues with the cloud_firestore once my collection grows in size.
More specifically: I want to sync a large (10K-100K) collection of small (~1KiB) documents to my app so they can also be accessed offline.
That part on its own seems to work just fine: Documents are available in the app and running queries with few results on them is fast.
However, running large updates on the underlying data in Firestore (e.g. deleting all documents in Firestore and then adding them again) seems to be very slow in apps (Android on phone or in the Simulator) or make them freeze.
I wouldn’t even mind the update itself taking a while in the background but the UI seems to lock up as well while the update is running (which breaks the charm of having out-of-the-box data-sync for offline usage), rendering the app unusable.
As my issue feels similar to what is described in this ticket, I am adding this comment. Please let me know if this sounds different to you and should be in a separate ticket.
In case the data volume I have in mind exceeds the scope Firestore and its flutter integration are designed for, it would also be helpful to know the intended limits of the technology, so I can investigate alternative approaches.
Thanks

I am seeing the same behavior on Android libraries also.

This seems to me to be an issue with the underlying iOS/Android Firebase SDK rather than Flutterfire. You could open up an issue against https://github.com/firebase/firebase-ios-sdk if the issue reproduces there.

I have the same issue, for example .limit() is completely ignored. I read somewhere that full collection if downloaded to client and the query conditions applied (very inefficient). There is no way to disable persistenceEnabled  for single query (only for full connection in plugin ?) as this method is depreciated.

This seems to me to be an issue with the underlying iOS/Android Firebase SDK rather than Flutterfire. You could open up an issue against https://github.com/firebase/firebase-ios-sdk if the issue reproduces there.

This is definitely a problem of the SDKs as this also happens for non flutter users. There are multiple issues related (some of it is related to missing indexing of the local db) to this but it looks like there is no solution in sight right now.
https://github.com/firebase/firebase-ios-sdk/issues/1868
We're seeing performance issues on 4k documents already.

If this issue is showing up in the native SDKs then unfortunately I don't think there's much we can do in the cloud_firestore plugin. Closing the issue for now but happy to reopen if anyone has any ideas.

In the native SDKs there is a cache size option.
I think it can solve it the issue, if we could set it via dart code ...
https://firebase.google.com/docs/firestore/manage-data/enable-offline

I'm having a similar problem with the native lib, I added an issue there: https://github.com/firebase/firebase-android-sdk/issues/565

@uehsnap
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/791. Any further collaboration will be done there.


Generator template should come from STD <experimental/generator> but it cannot be found.

Not reasonable to have us all reinventing the wheel with those coroutine return values.
Tried to use seastar::coroutine::experimental::generator template, but it seems to be a totally different thing.

The database server is now using the seastar generator template for index listing and rownext. A step closer to seastar compliance, I hope.


sql: TIMESTAMPTZ is incorrect

The docs for TIMESTAMPTZ say: "TIMESTAMPTZ stores a date and time pair with a time zone offset from UTC" however this isn't correct as both TIMESTAMP and TIMESTAMPTZ are stored in the same way: number of seconds and nanoseconds since the epoch. No timezone information is stored at all in either case.
In general the TZ type cares about the session offset and normal TIMESTAMP doesn't, but that's not always true. Ping me when you'd like to go over specifics of how these two types differ, as there are many edge cases here and pretty much only David knows how it all works.

@mjibson, here's the related issue I mentione: https://github.com/cockroachdb/cockroach/issues/9266

A user just hit this issue. We need to correct the docs, because they are incorrect and misleading.

@mjibson's response in forum:

Our docs for the WITH TIME ZONE type are incorrect (see https://github.com/cockroachdb/docs/issues/685). Both the WITH and WITHOUT types of TIMESTAMP are stored as UTC without any timezone info. The only difference is that the WITH TIME ZONE variety will send back data in whatever time zone your SQL session is using. (And I'm not sure if it defaults to UTC or the system's time zone.)
Our recommendation is to never ever use the WITH TIME ZONE type, but always use just TIMESTAMP, which does everything in UTC.

I'd change the first sentence from The TIMESTAMP data type stores a date and time pair in UTC, whereas TIMESTAMPTZ stores a date and time pair with a time zone offset from UTC. something like:

The TIMESTAMP data type stores a date and time in UTC.
The TIMESTAMP type has two variants: TIMESTAMP WITH TIME ZONE and TIMESTAMP WITHOUT TIME ZONE. Both are always stored in UTC -- the difference between them is that WITH TIME ZONE uses the session offset, if set, when sending timestamps to clients, and when parsing received timestamps if they do not contain an explicit offset, while the WITHOUT TIME ZONE version ignores the session offset.
The WITHOUT TIME ZONE variant can sometimes lead to unexpected behaviors when it ignores a session offset, so it is generally recommended to use the WITH TIME ZONE variant.
TIMESTAMP with no specifier is a shorthand for the WITHOUT TIME ZONE variant for legacy compatibility reasons, TIMESTAMPTZ is a shorthand for TIMESTAMP WITH TIME ZONE.

I like the suggestion above, but I think it should also note as Ben brought up that some functions like extract will extract the day or whatever the parameter is in the time-zone converted timestamp, which happens before data is sent to the client.

@mjibson Does that David's suggestion work for you?

Yes.


Connection to relay fails

Starting the echodeamon and connecting to the relay panics with:
panic: Can not create a new relayFinder. Need a Peer Source fn or a list of static relays. Refer to the documentation around `libp2p.EnableAutoRelay`

goroutine 1 [running]:
github.com/libp2p/go-libp2p/p2p/host/autorelay.newRelayFinder(0x147ca10?, 0xc000190000?, 0xc0000143a0?)
	/home/dylan/go/pkg/mod/github.com/libp2p/go-libp2p@v0.26.0/p2p/host/autorelay/relay_finder.go:84 +0x234
github.com/libp2p/go-libp2p/p2p/host/autorelay.NewAutoRelay(0xc000002780, {0x0, 0x0, 0x10?})
	/home/dylan/go/pkg/mod/github.com/libp2p/go-libp2p@v0.26.0/p2p/host/autorelay/autorelay.go:49 +0x1a5
github.com/libp2p/go-libp2p/config.(*Config).NewNode(0xc000319000)
	/home/dylan/go/pkg/mod/github.com/libp2p/go-libp2p@v0.26.0/config/config.go:354 +0x3cc
github.com/libp2p/go-libp2p.NewWithoutDefaults({0xc000366f80, 0x8, 0x8})
	/home/dylan/go/pkg/mod/github.com/libp2p/go-libp2p@v0.26.0/libp2p.go:67 +0x6b
github.com/libp2p/go-libp2p.New(...)
	/home/dylan/go/pkg/mod/github.com/libp2p/go-libp2p@v0.26.0/libp2p.go:53
github.com/threefoldtech/libp2p-relay/client.CreateLibp2pHost({0x147ca10?, 0xc000190000}, 0x12333e4?, 0x1, {0xc000050880, 0x20, 0x40}, {0x0?, 0x0}, {0xc00037aa20, ...})
	/home/dylan/Projects/libp2p-relay/client/p2p.go:76 +0x756
main.main()
	/home/dylan/Projects/libp2p-relay/examples/echodaemon/main.go:86 +0x6ce

fixed in https://github.com/threefoldtech/libp2p-relay/pull/7

#7  has some flaws that need to be adressed, looking into using autoRelay

ed196a726262f62656ebb5286340ae400ec24272


Bar & Background Colour Disappear When Embedded in UITableViewCell & Selected

Hi, when I embed a GTProgressBar in a UITableViewCell and select that cell, the bar and background of the progress bar disappear (see photos attached). Is this a known issue?

I have pushed a change that fixes this issue. It will be deployed in the next version of the pod.


Integrating arm nn's tflite delegate to my android project

I am working on ASR , i have converted whisper-base-en model into tflite.
I wanted to decrease the inference time by using th GPU delegate, I tried with LiteRT gpu delegate it didn't work as there are many layers that are not supported by it. I wanted to integrate arm nn gpu delegate to my project. Can some guide me with that.

Hiya,
I would recommend you start with our documentation here. https://arm-software.github.io/armnn/24.08/


Highlighting commit message produces weird symbols

VSCode Version: 1.49.0
OS Version: macOS Catalina 10.15.6 (19G2021)

Steps to Reproduce:

Enter a commit message
Highlight the entered text

Does this issue occur when all extensions are disabled?: Yes

@mbs-zanas-stundys I'm not able to reproduce this issue, can you confirm if you are still seeing this issue everytime?

Nope, I can't reproduce it anymore 👍  Closing the issue...


missing values in schema

Problem
The web API doesn't seam to be using the missing values in the schema compared to goodtables.io or goodtables.exe with the same data.
Possible solution
Does the goodtables web just need to be updated with the latest goodtables-py
Resources used
Data url: https://raw.githubusercontent.com/PNNL-Comp-Mass-Spec/MetabolomicsCCS/master/data/metabolitedata.tsv
Schema url: https://raw.githubusercontent.com/PNNL-Comp-Mass-Spec/MetabolomicsCCS/master/metabolitedata-schema.json

@Tweety79rw hi, you are correct in identifying that the current goodtables-web codebase still uses the old version of the goodtables Python library and pre-missingValues Frictionless Data specs.  There is ongoing discussion on how best to create a new app that fulfills the function of the old goodtables-web.

@Tweety79rw @danfowler it is actually not too far away, we are targeting this to be beta testable next week (functionally solid, UI sketchy)

Please use https://try.goodtables.io


Why do namespaces translate to files and not packag dirs?

they end up with package statements that don't match they file location

I have a fix for this but it is held up by https://github.com/Kotlin/ts2kt/pull/90


Single file limit of 15GB ?!

The single file limit for mover should match SPO's limits which is up to 100GB per file.
https://docs.microsoft.com/en-us/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#file-size-and-file-path-length
Mover currently doesn't move anything over 15GB
ATM it seems mover is artificially limiting migrations due to historical limits

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

ID: 0bb5783d-8e13-a082-66dc-86a3e87e2252
Version Independent ID: 10739dac-3f2e-5403-6f0e-3d3cb4868e13
Content: Mover Microsoft 365 Migration FAQ - Migrate to SharePoint and OneDrive
Content Source: migration/mover-microsoft-365-faq.md
Service: sharepoint-online
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

@msellar-inst  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

The new limit is 250GB, though that may not be on your tenant, yet.
https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/gain-more-flexibility-with-250-gb-file-size-support-in-microsoft/ba-p/1847728

The new limit is 250GB, though that may not be on your tenant, yet.
https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/gain-more-flexibility-with-250-gb-file-size-support-in-microsoft/ba-p/1847728

The new limit is 250GB, though that may not be on your tenant, yet.
https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/gain-more-flexibility-with-250-gb-file-size-support-in-microsoft/ba-p/1847728

For mover too?

The new limit is 250GB, though that may not be on your tenant, yet.
https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/gain-more-flexibility-with-250-gb-file-size-support-in-microsoft/ba-p/1847728

For mover too?


Re-enabling unit tests

Between the signing change and adding Roslyn toolset components, many of
the unit tests I previously disabled now work. There are a few left that
have issues still, I didn't want to spend too much time right now though.

I went through all this effort to deal with ignores and now you're taking them away :sob:
LGTM


Error with static linking SDL2 Mac.

Summary:
Hi I am trying to statically link SDL2 in my build. I am currently getting this error "could not find native static library SDL2main, perhaps an -L flag is missing?" I know I have SDL2 installed however I am not sure what is causing this. Any suggestions would be great!

Looking more closely at the docs for the SDL2 crate, it looks like it might need an extra feature flag enabling for things to link properly if you're not also using the bundled feature.
If you add this to your [dependencies] in Cargo.toml (making sure you're also using Tetra 0.4), does it work?
sdl2 = { version = "0.34.0", features = ["use-pkgconfig"] }

If so, that will work as a workaround until I figure out a better way of exposing that from Tetra properly.

That solved it! Thank you.

Alright I thought that solved it however now I am getting this error.
Undefined symbols for architecture x86_64:
            "_OBJC_CLASS_$_MTLSamplerDescriptor", referenced from:
                objc-class-ref in libsdl2_sys-30c6c709f61685ba.rlib(SDL_render_metal.o)
            "_OBJC_CLASS_$_MTLTextureDescriptor", referenced from:
                objc-class-ref in libsdl2_sys-30c6c709f61685ba.rlib(SDL_render_metal.o)
            "_OBJC_CLASS_$_MTLRenderPassDescriptor", referenced from:
                objc-class-ref in libsdl2_sys-30c6c709f61685ba.rlib(SDL_render_metal.o)
            "_OBJC_CLASS_$_MTLVertexDescriptor", referenced from:
                objc-class-ref in libsdl2_sys-30c6c709f61685ba.rlib(SDL_render_metal.o)
            "_OBJC_CLASS_$_MTLRenderPipelineDescriptor", referenced from:
                objc-class-ref in libsdl2_sys-30c6c709f61685ba.rlib(SDL_render_metal.o)
            "_MTLCreateSystemDefaultDevice", referenced from:
                _METAL_CreateRenderer in libsdl2_sys-30c6c709f61685ba.rlib(SDL_render_metal.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

I can run my game using cargo run with no problem.

I switched to using the bundled SDl2 and it works now.

Glad you were able to fix it!
Looking at the error you got when you used use-pkgconfig, the missing symbols were all from Metal's API, so it might be that you needed to link that into your project as well. Presumably when you switched over to bundled it compiled SDL with Metal support disabled, or something like that.
I don't understand MacOS 😅


enable/ disable devices

Please explain your feature request in a one or two sentences.
Ability to choose what meross devices we want to enable through HB. Otherwise I still have my Meross Homekit devices two times on homekit.

Is your feature request related to a problem? Please describe.
no

Any particular Meross devices that this relates to?
I have one MSS510X, one MSG100, three MSS210 and four MSS310. I just needed HB for the MSS310's, because all of the others were already configured through apple homekit (and now are duplicated in apple homekit)

Anything else?
no

Hi @Stromberg73 can you get me a list all the homekit native devices you, specifically with their model number and the hardware version as shown in the homebridge ui? (in the my devices tab of plugin settings).
Thanks!

Hi @bwp91, I have:

One MSS510X hardware 4.0.0 Firmware 4.2.3
Three MSS210 hardware 4.0.0 Firmware 4.2.5
One MSG100  hardware 4.0.0 Firmware 4.2.1
Four MSS310  hardware 2.0.0 Firmware 2.1.16

Closing as I believe this is resolved now!


allow machine pools to be auto-scaled

This add an autoscaling field to MachinePools. Under the autoscaling field are the minReplicas and maxReplicas fields. The autoscaling field is mutually exclusive with the replicas field. The user can either specify a static number of replicas or specify that the cluster should take care of auto-scaling between the min and max replicas.
When auto-scaling is enabled for a machine pool, Hive will ensure that the cluster has a "default" ClusterAutoscaler resource with scale down enabled. Hive will also create MachineAutoscaler resources for each of the MachineSets for the MachinePool. The minReplicas and maxReplicas specified in the MachinePool will be distributed evenly across all of the MachineAutoscaler resources.
For example, let us say that minReplicas is 5 and maxReplicas is 10 for a MachinePool using 3 zones. Since there are 3 zones, there will be 3 MachineSets and 3 MachineAutoscalers. The first MachineAutoscaler will specify a minimum of 2 replicas and a maximum of 4 replicas. The second MachineAutoscaler will specify a minimum of 2 replicas and a maximum of 3 replicas. The last MachineAutoscaler will specify a minimum of 1 replica and a maximum of 3 replicas. In total, the minimum replicas specified by the MachineAutoscalers will be (2+2+1=) 5 and the maximum replicas will be (4+3+3=) 10.
In order for the autoscaler to consider a MachineSet for scaling, that MachineSet must specify at least 1 replica. Consequently, the minimum number of replicas is bounded on the lower end by the number of zones used for the MachinePool. If the zones are specified explicitly in the MachinePool, then the validator will ensure that the minimum replicas specified are sufficient. If the zones are not specified explicitly, then the controller will put a condition on the MachinePool if the minimum replicas are not sufficient. In the latter case, the controller will not create any MachineSets until the user specifies a sufficient number of minimum replicas.

/test e2e-gcp

/test e2e-gcp

@dgoodwin I have added comments were requested. Let me know if you think there need some more color.

/lgtm
Thanks!


Replacing Values in a toml::array

Is your feature request related to a problem? Please describe.
It seems that there's no way to replace a value in a toml::array. Currently, I'm using this code:
auto array = toml::array { 0, 1, 2, 3 };

if (array.get(0)) {
	array.erase(array.cbegin());
}

array.insert(array.cbegin(), 5);

Describe the solution you'd like
I would like a way to easily replace a value, something like operator[] in std::vector:
auto stdVector = std::vector { 0, 1, 2, 3 };
stdVector[0] = 5;

Additional context
None

Thanks for the suggestion. I can't implement this as operator[] because of the polymorphic nature of the data (well, I can, but not in the current design, and it necessitates a bit rewrite), but I can implement it using a member function, e.g. array::replace(iterator, value)

@marzer Thank you for the solution. I look forward to using array::replace(iterator, value) in the future.

@LebJe  If you're still interested in this feature I've pushed an implementation of it to the v3 branch.
I won't merge v3 into master for a while yet since there's more work to be done before I cook a new release, but I welcome you to try it before then. (Do note that the v3 branch will be a massive ABI break so I'm not promising it will just work out-of-the-box without requiring a code change or two)

@marzer Thank you very much! I've tested some of the features in the v3 branch (including array::replace) and they work perfectly!

@LebJe Awesome, good to hear.
Somewhat related: I happened to notice you have a couple TOML parser+serializer projects in other languages that use toml++ as the native backend, meaning you're probably more sensitive to API and ABI changes than most. I'll try to keep CHANGELOG.md as up-to-date and detailed as I possibly can so you can get out in front of those breaks early. Please let me know if you see something I've missed.


No 'Access-Control-Allow-Origin' header is present on the requested resource.

When developing for flutter web no videos will load, because vimeo does not send an Access-Control-Allow-Origin header with the /config endpoint.  i.e.  https://player.vimeo.com/video/395212534/config.
When running the application on a domain with https enabed i.e. https://5e4f23850498.ngrok.io, the same error occurs.
I am using the code from the example:
VimeoPlayer(id: '395212534', autoPlay: true),
Is there any workaround for this problem?

You need to open chrome with disabled security flag, look here
https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome

I have the same problem here. There is a solution for a prod env ?


Revert "Websocket graceful shutdown support"

Reverts wildfly/wildfly#7930

Windows Build 2450 is now running using a merge of 22f96942c09b856a2acb9968d2fba75be17961a0

Linux with security manager Build 2265 is now running using a merge of 22f96942c09b856a2acb9968d2fba75be17961a0

Linux Build 7403 is now running using a merge of 22f96942c09b856a2acb9968d2fba75be17961a0

Linux with security manager Build 2265 outcome was SUCCESS using a merge of 22f96942c09b856a2acb9968d2fba75be17961a0
Summary: Tests passed: 895, ignored: 290 Build time: 0:06:39

Linux Build 7403 outcome was SUCCESS using a merge of 22f96942c09b856a2acb9968d2fba75be17961a0
Summary: Tests passed: 3100, ignored: 370 Build time: 0:48:18

Windows Build 2450 outcome was SUCCESS using a merge of 22f96942c09b856a2acb9968d2fba75be17961a0
Summary: Tests passed: 3100, ignored: 370 Build time: 0:51:34


PSDesiredStateConfiguration download error

When I try to run nanoExample.ps1 I get the following error. I've been doing Lability for a while now but I had to reload my laptop and start all over again. It seems that PSDesiredStateConfiguration version 1.1 is no longer in the powershell gallery. Is there a work around to make Lability to work? I managed to get the zip file but I am not sure in which directory I need to place in order for the script to pick it up and not download it from the powershell gallery.
VERBOSE: [3:40:26 PM] Module 'PSDesiredStateConfiguration' v1.1 was not found in the module cache or -Force was specified.
VERBOSE: [3:40:26 PM] Downloading resource 'https://www.powershellgallery.com/api/v2/package/PSDesiredStateConfiguration/1.1' to 'C:\ProgramData\Lability\Modules\PSDesiredStateConfiguration.zip'.
VERBOSE: [3:40:26 PM] Dismounting disk image 'C:\Users\Hector.Andrade\Lability\VMVirtualHardDisks\LON-DC01.vhdx'.
Error: 9/27/2017 3:40:27 PM:

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [<<==>>] Exception: Web resource 'https://www.powershellgallery.com/api/v2/package/PSDesiredStateConfiguration/1.1' download failed.

Hi @hektop - thanks for reporting. I don't think that the PSDesiredStateConfiguration module has ever been published in the gallery?! Should this be the xPSDesiredStateConfiguration module? Can you post the Lability .psd1 configuration file?

Here is the Lability.psd1 file
Lability.zip

I just noticed that you wanted my .psd1 configuration file not the Lability.psd1 file I sent. I went and checked and saw that I had the following line of code inside DSCResource in the NonNodeData. I removed this line of code and that fixed my issue. Wow this was a newbie mistake, thanks for pointing that out.
@{ Name = 'PSDesiredStateConfiguration'; RequiredVersion = '1.1'; }

Correct - That's a built-in resource that cannot be downloaded 😉. Glad you're all sorted now!


Make toml dependency optional

This PR makes reading properties from Cargo.toml optional. This change does not introduce any breaking change because the feature is enabled by default.
The motivation of this change is to reduce dependencies.
toml is enabled:
> cargo tree
winresource v0.1.16 (C:\Users\rhysd\Dev\winresource)
├── toml v0.7.6
│   ├── serde v1.0.185
│   ├── serde_spanned v0.6.3
│   │   └── serde v1.0.185
│   ├── toml_datetime v0.6.3
│   │   └── serde v1.0.185
│   └── toml_edit v0.19.14
│       ├── indexmap v2.0.0
│       │   ├── equivalent v1.0.1
│       │   └── hashbrown v0.14.0
│       ├── serde v1.0.185
│       ├── serde_spanned v0.6.3 (*)
│       ├── toml_datetime v0.6.3 (*)
│       └── winnow v0.5.14
└── version_check v0.9.4

toml is disabled:
> cargo tree --no-default-features
winresource v0.1.16 (C:\Users\rhysd\Dev\winresource)
└── version_check v0.9.4

When all properties are set in build.rs, the toml crate dependency is a pure overhead. Since the crate depends on serde, which is a large crate, it makes builds slower. This PR aims to opt-out the overhead.

Thank you for your contribution. Your points are valid, your change makes sense and looks good to me. I merged your PR and released this latest library version as winresource v0.1.17.