Rework of Dispatch overlay for Linux

The lack of Objective-C and associated bridging
when importing the libdispatch header files into Swift
caused a number of problems including
(a) missing ref count operations in Swift compiled code
(b) SR-739, dispatch types not being upcastable to dispatch_object_t
(c) SR-740, dispatch types not being upcastable to AnyObject
(d) SR-737, dispatch types being imported as COpaquePointer
This commit fixes all of these issues by injecting a complete
Swift overlay layer that wraps the native libdispatch objects
and native APIs.
The C header files are now imported into a distinct CDispatch module
that is not made available to Swift client code (which continues to
import Dispatch). Code is added to Dispatch.swift to mirror the
native CDispatch APIs up to the Swift Dispatch API and to wrap/unwrap
values as needed across that boundary.
This wrapping layer does add some minor space and time overheads,
but after extensively exploring implementing the Swift object model
within the C code of libdispatch (to avoid introducing this overhead),
I concluded that the necessary changes to libdispatch would be fairly
invasive, and therefore were not justified at this point in the
development of the Swift/Linux port of libdispatch.

I only skimmed it so far but this looks like a great start to me.

Thanks for looking into this @dgrove-oss, it's really important stuff.
I tried to review this today, I got the following errors.  Some look Swift 3 related (COpaquePointer => OpaquePointer), others I'm not sure about.
I expect I'm on the shortlist of "large Linux dispatch users" at ~400 invocations.  I would be happy to fuzztest this against my codebase and see if I can turn up any regressions.

Thanks Drew.  I'll take a look.  My swift checkouts are a couple of weeks old (had fallen off tracking tip while waiting for things to stabilize).   I'll have to update to latest swift levels and adjust this patch for Swift 3 changes that I hadn't been compiling against.

After thinking about it I'm pretty sure we should just use the existing name and not introduce the other one:
public typealias dispatch_object_t = DispatchObject // this one
public class DispatchObject {

Once we get this building against Swift 3 we should go ahead and merge this so we can try it out. Thanks again for your work on this Dave!

Updated to build against Swift 3 as of this morning.  Also changed class names to eliminate typealias.
Did not squash & force push yet in case we need to revise further.  Would be great to have Drew validate that he doesn't see any regressions on his test suite.

@dgrove-oss You listed SR-730 in your initial comment, but I think you meant SR-740 instead. :smile:

squashed changes into single commit.  Also fixed typo in issue number in commit comment noted by @jessesquires.  As far as I can tell, this is now ready to go.

Sorry it has taken me a few days to reply, the surprise release of Xcode 7.3 lit a few fires.  They are now out.
The immediately-visible regression is
import Dispatch
var t: dispatch_once_t = 0

which produces
$ swift -Xcc -fblocks test.swift
test.swift:2:8: error: use of undeclared type 'dispatch_once_t'
var t: dispatch_once_t = 0
       ^~~~~~~~~~~~~~~

rather than builds as expected.
A second obvious regression is
import Dispatch
let s = dispatch_semaphore_create(0)
dispatch_semaphore_wait(s, DISPATCH_TIME_FOREVER)

producing
test.swift:4:25: error: value of optional type 'dispatch_semaphore_t?' not unwrapped; did you mean to use '!' or '?'?
dispatch_semaphore_wait(s, DISPATCH_TIME_FOREVER)
                        ^
                         !

instead of building as expected.

we should go ahead and merge this so we can try it out

I understand the motivation, but I think the fact that very simple regressions are being missed in manual reviews is a pretty good argument for leveraging my private testsuite to check this which can shake out problems that are hard to spot manually very easily.
That said, I do appreciate all the work that @dgrove-oss and others are doing on this and would like to see it merged as quickly as can be done without introducing breakages.

dispatch_once_t should not be used in swift, it is broken. swift has lazy initialization which covers the use case in a more integrated way.

In that case, isn't the correct thing to do to declare with an availability modifier (deprecated / unavailable)

Yes it should be marked as unavailable in swift.

For dispatch_once, here is a test program that compiles and runs using the overlay API.   I'm not 100% sure if it correctly handles the relocation issue Pierre is raising, but it does compile and run.
import Dispatch

var token: Int = 0
func test() {
  dispatch_once(&token) {
    print("This is printed only on the first call to test()")
  }
  print("This is printed for each call to test()")
}

for _ in 0..<4 {
  test()
}

For dispatch_semaphore_create, I intentionally made the return type be dispatch_semaphore_t? because it will return nil if it is passed a negative count.  This is unlike the dispatch_queue_create, etc. which are guaranteed in the API to return non-null values.   So you'd have to use ! or ? to unwrap the semaphore before using.  Maybe this is overly pedantic, but I think it is a more accurate representation of what the possible returned values are.

dispatch_semaphore_create() should return a semaphore not an optional. the convention Foundation has for this is that if it is about memory missing or programming error, it shouldn't be an optional and crashing is ok.
dispatch_once will compile, but sometimes be incorrect. trivial test programs will never trip the issues that are possible and related to how Swift work (it can relocate the dispatch_once_t)

Let me leave this quite from the Swift Programmimg Language here:
“If a property marked with the lazy modifier is accessed by multiple threads simultaneously and the property has not yet been initialized, there is no guarantee that the property will be initialized only once.”
Excerpt From: Apple Inc. “The Swift Programming Language (Swift 2.1).” Apple Inc., 2015-10-14T07:00:00Z. iBooks.
This material may be protected by copyright.
Check out this book on the iBooks Store: https://itun.es/us/jEUH0.l

So yah, I think we need a way to make dispatch_once work...

Unless something has changed in Swift 3 that I've missed.

I pushed a change to make dispatch_semaphore_create's return be non-optional.  Left dispatch_once unchanged for now (still available; takes a UnsafeMutablePointer as the first/predicate parameter).

@parkera: dispatch_once doesn't work for ivars and properties anyway, because it has to live in static memory. and my understanding is that globals initialized lazily are initialized once in swift like you expect.

Ok. I'm in favor of using the language primitives too. Hopefully that lazy limitation can be lifted in the future.

IMO we need typealias dispatch_once_t = Int.  Whether that should be unavailable or not I leave to SR-1042, but I do believe it should be declared, rather than leaving the user with a "no such type" error as if this is the first we are hearing of a 6 year old API.
In any case, I built new patch, reworked my dispatch_once usage, and got a full pass.  I was able to strip out 200 lines of evil Linux hax working around SR-739, SR-740, and SR-737, which IMO are "confirmed resolved".
My huge codebase is now 1LOC away from full source compatibility with Darwin.  So LGTM! :+1:  Thanks to @dgrove-oss and all for putting in the work.

Thanks very much for testing this @drewcrawford.  Great to hear it works modulo dispatch_once

lazy is not a substitute for dispatch_once, but dispatch_once never worked with instance properties. For lazy global initialization, declare a global or static property, which use the equivalent of dispatch_once to evaluate the initialization expression.

Frankly, the compiler should reject any usage of lazy where it can't promise the correct semantics. But anyway, that's out of the scope of this particular PR.

Pierre, do you have a sample program that demonstrates broken dispatch_once?

We can always give lazy its specified semantics—it doesn't guarantee concurrency safety in its current form. I'm trying to clarify that it's unrelated to dispatch_once.

This will also resolve https://bugs.swift.org/browse/SR-1106 when it is merged.

@mwwa @parkera @MadCoder  I'd like to move towards merging this into the experimental/foundation branch so it is available for use in our foundation/dispatch work and in downstream projects like Kitura.  Are you ok with that merge going ahead on the experimental branch?

can we close this since we're moving on the topic another way?

Closing since this branch has merge conflicts anyways.   Will open new requests with the fresh changes.


Create a video on how to use ga_statistics

What should it look like?
Ideas for this are very welcome. I assume we would create one video for setup on Linux and OS X as they work the same way and a separate one for Windows.
The Wiki and the documentation it contains should also be mentioned and explained.

Intro video for dummies would be amazing

Agreed!


ubx: support NEO-M9N

RTK configuration is not supported, thus:

only configure RTCM output for the base station
make UBX_CFG_KEY_NAVHPG_DGNSSMODE optional

Fixes https://github.com/PX4/GpsDrivers/issues/50
Tested on F9P + M9N

Could you please assign a reviewer going forward? Otherwise people don't get notified.

And who should that be?
Obviously you did see it.

Yes, but because I'm the "fixer". If I disable GH notifications for everything PX4 will fall apart because a lot of these things will fall through the cracks. But that doesn't work any more even for me because PX4 is growing. I prefer if you directly tag me than nobody - I can still hand it off.
Thanks!


Commands for setting output resolution to status. Input is validated.

Also implemented building with set resolutions. There's only tests for process_heightfiles_with_gdal with non-default resolutions as another branch has altered process_satellite_with_gdal (test for this can be added once the other branch is merged into master).


Missing AnimateLCM nodes?

From the readme:
AnimateLCM-I2V support, big thanks to Fu-Yun Wang for providing me the original diffusers code he created during his work on the paper
NOTE: Requires same settings as described for AnimateLCM above. Requires Apply AnimateLCM-I2V Model Gen2 node usage so that ref_latent can be provided; use Scale Ref Image and VAE Encode node to preprocess input images. While this was intended as an img2video model, I found it works best for vid2vid purposes with ref_drift=0.0, and to use it for only at least 1 step before switching over to other models via chaining with toher Apply AnimateDiff Model (Adv.) nodes. The apply_ref_when_disabled can be set to True to allow the img_encoder to do its thing even when the end_percent is reached. AnimateLCM-I2V is also extremely useful for maintaining coherence at higher resolutions (with ControlNet and SD LoRAs active, I could easily upscale from 512x512 source to 1024x1024 in a single pass). TODO: add examples
I could not find the Apply AnimateLCM-I2V Model and Scale Ref Image and VAE Encode nodes in the latest pull of the codebase and was wondering where they were (regular AnimateLCM-T2V works fine). If the author could kindly point me to them that would be great.
Best

Inside Gen2 Nodes

Inside Gen2 Nodes

How to use it？  Is there any  workfolw？  thanks

Looks like it's broken, no other node seem to accept M_MODELS and there are zero examples about using those nodes.

It's not broken, m_models is the input for Gen2 (Use Evolved Sampling node). Gen1 is limited to only the base AnimateDiff features, Gen2 is modular so that I can expose different features like AnimateLCM-I2V, PIA, and CameraCtrl.

@Kosinkadink thanks for that clarification, that was exactly the missing bit of information I (or we) needed in order to look further. lol
Comfy should implement a way to search for extensions that can accept certain inputs.


[Marker.io] Flag

Funnily enough it appears in screenshot but not on actual website on mobile - flags don’t show and the box is tiny. These should default to locale

Reported by: Adrien<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://na13-prezzee.webflow.io/en-us/contact
Issue details: Open in Marker.io
Device typemobileBrowserChrome Mobile 130.0.6723.90Screen Size375 x 812OSiOS 18.0Viewport Size375 x 748Pixel Ratio@3x

this is how it appears in real:
https://drive.google.com/file/d/1fnaE5aKXQGgPWvOgRaZlmz2XsP2CVDcO/view?usp=sharing
anotheralready raised issue :
https://github.com/NotAnother-NZ/na13-prezzee/issues/1

🤖 Marker.io bot - This issue was marked as ✅ Resolved in Marker.io


Help to download models for training

There is no way to register for baidu in my country. I can't download it without an account, and I didn't find a suitable model in the github repository.
Could someone download and add to google drive for example
https://eyun.baidu.com/s/3humTUNq password: rknn

I had to ask for help on reddit some time ago and someone saved me.
https://pixeldrain.com/u/GSVn2sKP


Enhance crd-sync to add labels and annotations

The previous update to the Policy CRD which added the "deletion-orphan" annotation would not be persisted through the "crd-sync.sh" script. Now, that script adds the annotation.
The script also adds the "policy-type" annotation to the v1beta1 CRD for ConfigurationPolicy, since that was missing. It is easier to add it here rather than update the kustomization in the other repo, since it never creates the v1beta1 crd in that repo's scripts.
Refs:

https://issues.redhat.com/browse/ACM-5326

/hold
Let's see if we can come up with a better way 😅

/unhold


Implement DDPM Scheduler

Hello,
this PR aims at integrating the DDPMScheduler into this beautiful rust implementation of the diffusers API.
I made it a draft because, despite the implementation seems (to me) to be sound, using the stable_diffusion pipeline as it is with this new scheduler, the final image is nothing but noise. I'm still working on it, but I wanted to show this "work-in-progress" result in case anybody wanted to point out anything / help .

Looks pretty interesting! What I usually did when getting noise back for the generated image was lining things up between the python and rust implementation, they are close enough so that it's easy to fix the seed and get almost identical numbers on both sides (and for the scheduler I guess there is even a lot less randomness involved in the process).

Hello @LaurentMazare,
thanks for the feedback. This implementation is in fact sound: I tried again with the official python implementation, specifically this notebook, and I played around with the number of inference steps. Nothing below 1000 produced a "meaningful" image (I was "testing" the rust version with 30, 100, 200).
With 1000 steps, I'm getting back a meaningful result with the code of this PR. I'm marking it as "Ready for review" :)

Merged, thanks for the PR!

Can someone maybe explain what this DDPM schedulers is, what makes it cool, when it should be used? If it needs 1000 steps for a proper result, it sounds extremely slow?

@JohnAlcatraz Sorry, I must have missed your comment. The scheduler contained a bug when used with less  inference steps than training timesteps (both the python and rust version). Should be fixed now.


Custom JSON De/Serialization for complex struct with related fields

Hello there, new to using this library so trying to find the best way to use it to serialialize/unserialize the following struct to a known JSON format:
union type_union {
  type1
  type2
  type3
}

struct Data {

 type_union m_union;
 union_type m_unionType;

....
}

So basically, I have a struct that contains some members that are dependent on each other, several of which require transformation functions to/from json, specifically focusing on m_union, m_unionType for this example.
I've been experimenting with the glaze metadata and so far was able to come up with this for serializing the union based on the type:
namespace glz {

template <>
struct meta<Data>
{
  using T = Data;
  static constexpr auto value = object(
      "custom_field_name", [](auto&& self) -> std::string { return transformUnionToString(self.m_union, self.m_unionType); }
}

Data data{};
data.m_unionType = union_type::type1;
string buf;
glz::write_json(data, buf);

The output JSON in buf is: "{"custom_field_name":"valueForType1" }, which is great, just what I intended.
This works for glz::write_json(data, buffer), where custom_field_name is the name I want the field to have. However, it isn't clear to me how to provide the analogous glz::read meta method (does the lambda get applied for both read/write or is there a way to define the read lambda explicitly & separately?)
How would I use glaze::meta to deserialize (read_json or read) a field (potentially with different JSON field name) back into my union/union type members?
My thought is that there would be an analogous meta struct defined for doing glz::read into the same struct, just with different lambdas or static utility methods I have defined outside my Data struct, but I haven't been able to figure out how this is done yet.
My current approach is using to_json and from_json but I'm not sure if it's the correct way to do this. Right now the API seems to have a hook for transforming a struct, but Im not sure I can specify which field Im reading/writing from/to. I've seen examples specializing this template for each individual struct field type, but none yet for working with other struct fields that depend on each other. To do that I would imagine we would just specialize the whole struct and read/write to each field inside each to/from method:
  template <>
  struct from_json<Data>
  {
    template <auto Opts>
    static void op(Data& value, auto&&... args)
    {
        std::string typeString{};
       read<json>::op<opts>(typeString, args...); // Can I specify the JSON field name I want to read here? Would be ideal since the from JSON is formatted differently
        value.m_unionType = toUnionType(typeString)

        std::string unionString
        read<json>::op<opts>(unionString, args...); // specify known JSON field name here?

       // read the rest of the fields by JSON field name...
    }
  };

   template <>
   struct to_json<Data>
   {
      template <auto Opts>
      static void op(Data& value, auto&&... args) noexcept
      {
          write<json>::op<opts>(transformUnionToString(value.m_union, value.m_unionType);, args...); // specify custom field name here
         // write the rest of the fields by JSON field name...
      }
   };

Thanks, let me know if I can clarify my issue any further or if this is the proper way to accomplish this.

Your single lambda approach invokes the function for both reading and writing. To split out different behaviors for reading and writing with lambdas you can register separate lambdas using glz::custom.
A basic example:
struct custom_load_t
{
   std::vector<int> x{};
   std::vector<int> y{};

   struct glaze
   {
      static constexpr auto read_x = [](auto& s) -> auto& { return s.x; };
      static constexpr auto write_x = [](auto& s) -> auto& { return s.y; };
      static constexpr auto value = glz::object("x", glz::custom<read_x, write_x>);
   };
};

You probably have a good reason for using unions, but Glaze also has a lot of support for std::variant that can achieve similar goals: docs/variant-handling.md

Thanks for the quick response! This looks like what I'm going for and I'll give it a try.
In the meantime I came up with another solution where I define a "normalizing" struct to act as a shim for reading/writing data that just uses the glz::meta approach with normal reflection
template <>
struct glz::meta<normalized_data>
{
  using T = tasty::BackendUpdateReflection;
  static constexpr auto value = object(
      "actor-name"                 , &T::actor_name
      "actor-name"                 , &T::actor_name
    )
}

struct normalized_data
{
   string actor_name
   string actor_type
}

struct Data
{
  union u1
  int unionType
}

void serialize(Data &data)
{
  normalized_data.field1 = transformUnion(u1, unionType)
  glz::write(normalized_data, buffer)
}

I'll weigh the two options if I ever need to add new structs, and if I ever move to variants I'll give that a second look.
One last question (slightly related), my glz::meta seems to output the incorrect key (just uses member name for reflection rather than how I specified it). Is there an option needed in order to enable dasherized/hyphenated key names? Below is the output
{"actor_name":"John Smith","actor_type":"developer"}

Cool, that sounds good. And, std::variant is really nice if you get around to experimenting with it.

One last question (slightly related), my glz::meta seems to output the incorrect key (just uses member name for reflection rather than how I specified it). Is there an option needed in order to enable dasherized/hyphenated key names? Below is the output

This issue is something I haven't seen before. Maybe your glz::meta specialization needs to be declared after your class, or it isn't in the same translation unit as your serialization. If you could provide me with a simple example of code that produces the incorrect output that would help me find the problem.

No problem. I think it's what you're saying, I changed the names entirely and they don't seem to have any effect.
This should be a working example (I added a bit more of my actual code to illustrate what's happening):
glazeMetadata.h
#include "Reflection.h"

#include <glaze/glaze.hpp>

namespace glz {

template <>
struct meta<event::Data>
{
  using T = event::Data;
  static constexpr auto value = object(
      "actor-name"               , &T::actor_name
    , "actor-type"                , &T::actor_type
    , "job-id"        , &T::job_id
  );
};

} // namespace glz

Reflection.h
namespace event
{
  struct Data
  {
    uint32_t         job_id;
    std::string      actor_name;
    std::string      actor_type;
  };

} // namespace event

These two structs are in separate header files inside of the same library, built using CMake. Here's my test code:
event::Data data{};
data.job_id = 1;
data.actor_name = "John Smith";
data.actor_type = "developer";
std::string_view buffer;
glz::write_json(data, buffer);

No need to chase this down, it was the include order that was throwing things off. I fixed it by just moving the meta specialization into the same header.
Appreciate all the help!

Sorry to reopen this, but kind of ran into trouble with this approach further down the line, but it seems like there isn't a way to access the data read from the json string inside my lambda:
template<>
struct glz::meta<Data>
{
  static constexpr auto read_type = [](const auto &s)  {
    return toType(s.); // how do I get the raw string value read from JSON here in order to transform it back into my struct field?
  };
  static constexpr auto write_type = [](const auto& s) {
    return printTypeString(s.type));
  };

  static constexpr auto value = object( "type"            , glz::custom<read_type, write_type>)
}

When I run this code all I get in the lambda is the empty struct Im trying to read into. I guess the real thing I'm after here is full control over how data gets written/read from json based on access to both the struct we're reading into, and the raw json data. Is there a way to pass more arguments to custom readers and writers than just const auto&?

I think I see how to do this now based on the compile error messages
static constexpr auto const read_instrument_type = [](Data&s, const std::string_view& value) -> void {
    s.type = serialize::FieldHelper::parseInstrumentTypeString(value);
  };
  static constexpr auto write_instrument_type = [](const auto& s) {
    return printType(type);
  };

It still doesn't eliminate the need for tagged union support (I'd imagine it'd be very similar to the variant support) We do have strong reasons for wanting to control the size of the union but if we ever make the change it should work for our purposes. Are there any plans to support tagged unions? e.g.
union typeUnion
{
   type1 cool
   type2 beans
}
enum type;

I started down my own workaround to imitate what you do for variant, but it seems there's no support for union:
template<>
struct meta<typeUnion>
{
  using T = typeUnion;
  static constexpr std::string_view tag = "instrument-type";
  static constexpr auto ids = std::array{"type1Tag", "type2Tag};
};

The problem is that I don't think C++ has a mechanism to determine the alternative types of a union. Whereas, with a std::variant we can look at the types at compile time and build logic about how to serialize/deserialize it.
In the glz::meta we could have the user list the union types. This requires more typing, but I think makes sense.
I do think it would be useful to add union support to Glaze (for trivial types). I'll update this issue's name appropriately.


Permissions issues with electron sandbox on archlinux

Operating System: Archlinux (Manjaro)
Beaker version: 0.8.8
Hi all,
I'm trying to build Beaker from source and having some issues.
First I run npm install which completes successfully
then npm run rebuild also successful
then npm start here's where i first get my error
[8958:0619/111505.829308:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that ./node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.

a chmod and chown later npm start now succeeds and Beaker starts
so now I successfully build the AppImage with npm run release
but when running the built AppImage I get the same error but this time pointing at a temporary chrome-sandbox
You need to make sure that /tmp/.mount_BeakerhN8lvV/chrome-sandbox is owned by root and has mode 4755.

I can't however change that file's permissions as it seems to be deleted after the app crashes. Any suggestions? I'm not super familiar with electron so maybe I'm missing something obvious?

I've noticed something similar on Debian 10. Haven't been able to research it in detail though.

Thanks for filing. That's a pain! I'll check into it.

@pfrazee let me know if I can help in anyway!

Thanks! I just need to dig into electron docs and issues and look for some pointers.

Facing similar issue (one with temporary path ) on CentOS7 as well.

I confirm this issue on Manjaro (Archlinux). The fix #1524 that works for me on Debian sudo sysctl kernel.unprivileged_userns_clone=1returns the following error on Manjaro: sysctl: cannot stat /proc/sys/kernel/unprivileged_userns_clone: No such file or directory
I am not able to install the last appimages on Manjaro linux.


Cannot read properties of undefined (reading 'replace')

Describe the bug
Running npx react-native-rename "New Name" results in an error after the ios/XXX/Info.plist reports itself as UPDATED.
The error is
TypeError: Cannot read properties of undefined (reading 'replace')
   at Cn (/Users/xxx/.nvm/versions/node/v16.15.1/lib/node_modules/react-native-rename/lib/index.js:50:3569)
    at vn.<anonymous> (/Users/xxx/.nvm/versions/node/v16.15.1/lib/node_modules/react-native-rename/lib/index.js:61:1031)
    at async vn.parseAsync (/Users/xxx/.nvm/versions/node/v16.15.1/lib/node_modules/react-native-rename/lib/index.js:10:4063)

To Reproduce
Steps to reproduce the behavior:

Create a new project with npx react-native init
Enter the new project directory
Attempt to rename the project using npx react-native-rename "New Name"
Updates occur until after Info.plist and then an error is displayed

Expected behavior
It should not throw an error
Environment (please complete the following information):

operating system: MacOS Monterey
npm version: 8.11.0
node version: 16.15.1
react-native-rename version: 3.2.7
react-native version: 0.71.0

I am facing the same error

Fixed in v3.2.8, cheers!


PSN Gift Cards Generator Free 2023 $100 NEW Tools No Verification

Description
5 minute ago — Free PSN Codes 2023 Our generator makes it easy to receive free PlayStation Gift Card codes. Only select the value of your gift card and wait for the generator to locate an unused gift card on the PlayStation server.
CLICK HERE TO GET FREE NOW
CLICK HERE TO GET FREE NOW
Unused codes can be retrieved securely and easily from your web browser. psn code generator that actually works no human verification CRkLd you can sign up for gaming forums and websites if you are a passionate gamer these platforms are full of like minded people who love to discuss their hobbies you can easily find discussions related to ps4 games and systems and participate in them to earn free points these points can be redeemed for ps4 codes and cards PlayStation Network also includes a PlayStation Store.
The PlayStation Store offers online games, videos, and other downloadable content. PlayStation users can purchase games and videos online using standard payment methods like credit cards, money or PSN codes. PSN store codes can also be found offline at various gaming shops. psn code 2023 generator no verification free psn gift card code generator 2023 thats actually working free psn code generator 2023 free psn codes list how to get free psn gift card codes free working playstation gift card codes list is given below if you want to skip the old list that is given below in this article and go to our all time updated codes list then you can view here all the working updated gift card codes PSN, or PlayStation Network Code, is a fancy name for gift cards that are issued by Sony Playstation. They can be used to purchase games at the PlayStation Store.
You will find hundreds of pages and sites that claim to offer working PSN codes if you Google search PSN code generator. Some generators call themselves PSN code generators. There is no need for human verification to generate working PSN codes. #FreePSNCardsGenerator2023 #FreePsncodesgeneratornosurvey #FreePsncodesgeneratornoverification #FreePsncardcodesgeneratornosurveys After you have entered the details, an animation will appear that makes it seem like PSN codes were generated under your account. These animations can fool up to 80% of Internet users, as they look real. When you click the "Get PSN codes" or "Redeem button", a pop-up will appear. The pop-up will ask for you to complete surveys and tasks in the name human verification.
You will be asked to complete one or more tasks. Although the tasks/surveys sound simple, it can become quite complex once you click on them. This step is never completed by half of the users. Half of the respondents to the PSN code generator survey will be redirected to the page, where they can redeem PSN Codes. PSN, or PlayStation Network Code, is a fancy name for gift cards that are issued by Sony Playstation. They can be used to purchase games at the PlayStation Store. Free PSN Cards Generator 2023 Free Psn codes no generator Free playstation Card Codes Generator Free Gift card codes generator Free Psn codes generator no verification Psn card codes unused Free playstation Gift Code Generator Free Psn card codes generator no surveys Free Psn codes generator no survey.
React Native Version
new
Output of npx react-native info
new
Steps to reproduce
new
Snack, screenshot, or link to a repository
new

Click Here 👇👇👇

PSN Gift Cards Generator Free 2023 $100 NEW Tools
#FreePSNCardsGenerator2023 #FreePsncodesgeneratornosurvey #FreePsncodesgeneratornoverification #FreePsncardcodesgeneratornosurveys After you have entered the details, an animation will appear that makes it seem like PSN codes were generated under your account. These animations can fool up to 80% of Internet users, as they look real. When you click the "Get PSN codes" or "Redeem button", a pop-up will appear. The pop-up will ask for you to complete surveys and tasks in the name human verification.
Click Here 👇👇👇

Click Here 👇👇👇


Select Multiple not display when value updated

Describe the bug
Select in multiple mode can not display selected options on value updated
Steps To Reproduce

set value is []
update value to [...options]

Expected behavior
Select input should display the selected options tag
Screenshots

fixed at v0.6.4


[SERF-2181] Update Node version in pipeline

Description
This addresses the Node deprecated warnings in CI actions.
Testing considerations
Make sure there is no Node deprecation error in the pipeline
Checklist

[x] Prefixed the PR title with the JIRA ticket code
[x] Performed simple, atomic commits with good commit messages
[x] Verified that the commit history is linear and commits are squashed as necessary
[x] Thoroughly tested the changes in development and/or staging
[x] Updated the README.md as necessary

Related links

SERF-2181

Created by Sourcegraph batch change laynax/test-serf-2181.

Close as it was a test PR.


Port #18028 to v1.x, master

Description
This PR was created for the v1.6 branch and merged. However, this change never made it into the v1.x branch, and it's associated port for master was never merged as well.
We have users with models that use these ops, and they are unable to upgrade from v1.6 since these ops are not present. Could we get some help from the Intel folks to get this ported into v1.x and master branches?

As v1.9 official release is getting closer, can we expedite this  pull request to v1.x branch ASAP? Thanks!

quantized RNN is already merged to v1.9.x, v1.x and master branch - please open new issue if something is wrong
v1.9.x: https://github.com/apache/incubator-mxnet/pull/20815
v1.x: https://github.com/apache/incubator-mxnet/pull/20759
master: https://github.com/apache/incubator-mxnet/pull/20952


Additonal check for dataparallel, loss_lr_scheduler support

There are two updates:

Additional check for normalizing dataparallel keys when loading a checkpoint. When using dataparallel, at first run a comp. scheduler is created from a dataparallel model. Then when saving the checkpoint, both model and scheduler are saved with dataparallel keys. On the second run, when loading checkpoint, _load_compression_scheduler(): function catches an exception and returns "normalize_dataparallel_keys" as True.  Then using this flag, dataparallel keys are removed from the checkpoint. The problem starts at this point because the model will be sent to dataparallel again in the main loop and will be saved as dataparallel. However, comp. scheduler keys will remain as normalized, and  _load_compression_scheduler(): will not catch an exception. Therefore, when trying to load for the third time with dataparallel missing_leys value error will be raised. To prevent this, I added an additional check that directly searches for the "module" keyword in the checkpoint state dict.

Loss lr scheduler support will enable the usage of an additional lr policy that schedules the second (loss) optimizer. For the faceID case after trials, I didn't have to use this. However, it may be useful for applications in the future.

Updated the solution for the first item with the latest commit


Missing Data In Grafana?

This might be related to getting Teslamate to start polling overnight.  When I look at the States graph, it looks like the car did not sleep overnight (am I correct with this assumption?).  I naturally assumed that the car was still being polled by Teslamate.  Looking at DriveDetails it appears some data was captured - only when I reached my workplace (which is why the graph shows a straight line.  The Drives graph captures nothing.  I figured it would have captured my final destination as an end data point, and the original data point would be the start data point.
I just purchased Tasker for my Android phone - now I need to figure out how to PUSH/PUT resume to Teslamate (which is running on virtualized Ubuntu in VMWare).
On a separate note - should the Position graph display a "dot" where the vehicle is on the map?  Currently I just get a map of the general area where the car is.

This might be related to getting Teslamate to start polling overnight. When I look at the States graph, it looks like the car did not sleep overnight (am I correct with this assumption?). I naturally assumed that the car was still being polled by Teslamate. Looking at DriveDetails it appears some data was captured - only when I reached my workplace (which is why the graph shows a straight line. The Drives graph captures nothing. I figured it would have captured my final destination as an end data point, and the original data point would be the start data point.
I just purchased Tasker for my Android phone - now I need to figure out how to PUSH/PUT resume to Teslamate (which is running on virtualized Ubuntu in VMWare).
On a separate note - should the Position graph display a "dot" where the vehicle is on the map? Currently I just get a map of the general area where the car is.

In tasker open a new task, add a javascriptlet and put the following:
xmlhttp = new XMLHttpRequest(); xmlhttp.open('PUT', 'https://<IP_ADDRESS>:4000/api/car/1/logging/resume');
where 192,168.1.1 is the IP address (I have mine over a VPN), 4000 is the port and 1 is the car number
It took me a while to get that worked out

naturally assumed that the car was still being polled by Teslamate

It is constantly being polled, even overnight.
Unless something is not working as intended, which seems to be the case here.
Please provide the log output of that given time period. With docker-compose that can be done with
docker-compose logs teslamate

On a separate note - should the Position graph display a "dot" where the vehicle is on the map? Currently I just get a map of the general area where the car is.

It never bothered me tbh. But it can be changed of course.
In general, the Grafana interface might not always be as polished as a custom written UI. That’s why there are some quirks I cannot necessarily fix or that need community feedback and help. So please keep that in mind.

Hi Adrian,
Thank you so much for your responses.  To be honest, I'm a complete
beginner when it comes to all of the work you've produced.  The past couple
days I've spent learning basic Linux commands and about Docker to get this
up and running.  I've tried a few different self serve Tesla data scrapers
(Lephisto, Tesalive, etc) - and yours by far is the best one I've tried.
My "issue" submissions to your Github are not intended to be critical of
your development, but just things I've noticed/experienced.  It seems you
have an active following - as other members have responded providing
assistance to troubleshooting my issues.  Please feel free to
comment/ignore.  You've graciously shared your awesome work with the
public, so I have no expectations with regards to fulfilling my specific
requests.  That said - thank you and keep up the excellent work.
I do hope to peel back the layers and learn more about how the data is
being loaded into Postgres DB and retrieved in Grafana.  Which file houses
the Elixir code you've developed?  I've recommended your Github to some
coworkers who own Teslas as well.  I'm sure they'll be as pleased as I am
with your work.
Cheers,
J
On Thu, Aug 15, 2019 at 1:48 PM Adrian Kumpf<EMAIL_ADDRESS>wrote:

naturally assumed that the car was still being polled by Teslamate
It is constantly being polled, even overnight.
Unless something is not working as intended, which seems to be the case
here.
Please provide the log output of that given time period. With
docker-compose that can be done with
docker-compose logs teslamate
On a separate note - should the Position graph display a "dot" where the
vehicle is on the map? Currently I just get a map of the general area where
the car is.
It never bothered me tbh. But it can be changed of course.
In general, the Grafana interface might not always be as polished as a
custom written UI. That’s why there are some quirks I cannot necessarily
fix or that need community feedback and help. So please keep that in mind.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adriankumpf/teslamate/issues/95?email_source=notifications&email_token=AHJD4L2KZKSTLJ3DSMPCEJLQEWXKTA5CNFSM4IMAWGFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4MZ6YA#issuecomment-521772896,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHJD4L362NE7T3JEPIO6O3TQEWXKTANCNFSM4IMAWGFA
.

Thank you, I appreciate your kind words. Sorry, if my previous response sounded too harsh. It's just getting a little exhaustive with all those inquiries coming in lately.
Your drives should be logged in any case. And if there is a bug I really want to fix it. To find out more we need to check out the logs TeslaMate produces. If you're getting stuck with Docker or the above mentioned command feel free to ask for help.

In tasker open a new task, add a javascriptlet and put the following:
xmlhttp = new XMLHttpRequest(); xmlhttp.open('PUT', 'https://<IP_ADDRESS>:4000/api/car/1/logging/resume');
where 192,168.1.1 is the IP address (I have mine over a VPN), 4000 is the port and 1 is the car number
It took me a while to get that worked out

Thanks for your sharing your findings @IMgoRt
Is this what you mean?

So based on what @adriankumpf suggested - did you create a profile that triggers the above, when the bluetooth is connected to the Tesla?
Thanks,
J

Yes, exactly like that and a profile triggered I connect to the car

Thank you, I appreciate your kind words. Sorry, if my previous response sounded too harsh. It's just getting a little exhaustive with all those inquiries coming in lately.
Your drives should be logged in any case. And if there is a bug I really want to fix it. To find out more we need to check out the logs TeslaMate produces. If you're getting stuck with Docker or the above mentioned command feel free to ask for help.

@adriankumpf I ran "sudo docker-compose log teslamate" and it outputted the same message over and over again.  I'm guessing it might be related to the YML file.
teslamate:
image: teslamate/teslamate:latest
restart: unless-stopped
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=secret
- DATABASE_NAME=teslamate
- DATABASE_HOST=db
- MQTT_HOST=mosquitto
- VIRTUAL_HOST=<IP_ADDRESS> # if you're going to access the UI from another  machine replace
# "localhost" with the hostname / IP address of the docker host.
- TZ=America/Edmonton       # (optional) replace to use local time in debug logs. See "Configuration".
ports:
- 4000:4000
cap_drop:
- all

When I look at the States graph, it looks like the car did not sleep overnight (am I correct with this assumption?)

Sorry if this is a dumb question - what do the state numbers mean? Could we either please add it to the readme, or perhaps a part of the legend. For example below is my interpretation, but I am not sure if I got it right:
0 (Yellow) - Car Asleep
1 (Green) - Car Awake ?
2 (Bluish) - Car driving?
Thanks.

I’m not sure I’ve seen blue but green means it’s in a sleep/offline state and yellow means online

I can confirm from my Drive Details the issue is related to the Tesla sleeping.  It's the only way to explain the straight lines in the maps (which i've noted as 1 and 2).  Both instances, the vehicle was parked for an extended period of time.

My States dashboard should reflect when the car is On, Sleeping, or Driving I believe.  However, the only state I see is "2" which is "On".  The car was definitely sleeping as my instrumentation cluster was off upon entering the parked vehicle.

That said, my Drives are working!  It has captured 2 out of my 4 drives today.  If I can get the Tasker trigger to work, that I think would solve the issue.  I just need to figure out how to expose the ipaddress of Ubuntu, which is a VM (VMware) within a Windows box on my LAN.

Thanks for everyone's help

When I look at the States graph, it looks like the car did not sleep overnight (am I correct with this assumption?)

Sorry if this is a dumb question - what do the state numbers mean? Could we either please add it to the readme, or perhaps a part of the legend. For example below is my interpretation, but I am not sure if I got it right:
0 (Yellow) - Car Asleep
1 (Green) - Car Awake ?
2 (Bluish) - Car driving?
Thanks.

Yellow, I think, is falling asleep
Green is car asleep
I'm guessing blue is awake

When I look at the States graph, it looks like the car did not sleep overnight (am I correct with this assumption?)

Sorry if this is a dumb question - what do the state numbers mean? Could we either please add it to the readme, or perhaps a part of the legend. For example below is my interpretation, but I am not sure if I got it right:
0 (Yellow) - Car Asleep
1 (Green) - Car Awake ?
2 (Bluish) - Car driving?
Thanks.

For me
Yellow (2), I think, is falling asleep
Green (1) is car asleep
I'm guessing blue (0) is awake - only seen when driving or this app was misconfigured keeping the car awake.

I've already built an improved version of the States graph that replaces the numbers with the actual state names. It also includes driving and charge sessions. Coming soon.

That said, my Drives are working!

okay, awesome! Let's figure out how to expose teslamate to your local LAN then. I'm not familiar with VMWare though. I only know that you need to replace the VIRTUAL_HOST env variable with the IP address of your windows box (<IP_ADDRESS> ?) once you got it to work.
How are you gonna access teslamate remotely? Do you plan to use a VPN to your home LAN?

That said, my Drives are working!

okay, awesome! Let's figure out how to expose teslamate to your local LAN then. I'm not familiar with VMWare though. I only know that you need to replace the VIRTUAL_HOST env variable with the IP address of your windows box (<IP_ADDRESS> ?) once you got it to work.
How are you gonna access teslamate remotely? Do you plan to use a VPN to your home LAN?

So I figured out half of the problem.  I changed the network settings on the VM from the default to use NAT to Bridge mode.  Now I can see the VM on the Local LAN.  The new settings yield the following :
Ubuntu (ens33 : <IP_ADDRESS>)
VMware - VMNet1 (<IP_ADDRESS>)
VMware - VMNet8 (<IP_ADDRESS>)
Host Windows box (<IP_ADDRESS>)
Other Windows box (<IP_ADDRESS>)
As Ubuntu, Host, Other exist on the same LAN now (192.168.86.XXX), I can now access Ubuntu from any of my computers on the LAN with <IP_ADDRESS>:3000 and <IP_ADDRESS>:4000.
I thought to access from the outside would be easy from this point by simply port forwarding (<IP_ADDRESS>:3000 and <IP_ADDRESS>:4000).  I thought I could then use My_Provider_IP:3000 and My_Provider_IP:4000 from outside the LAN to access the content - no such luck.
I don't understand VPNs and Reverse Proxies - so I was just trying to get this to work first before getting my hands dirty with those unfamiliar configurations.
Thanks in advance for everyone's help.

a little comment on that: exposing both ports by simply port forwarding comes with the risk of your data getting exposed. The default configuration provides no protection whatsoever. A potential attacker could grab your Tesla API token via Grafana.

a little comment on that: exposing both ports by simply port forwarding comes with the risk of your data getting exposed. The default configuration provides no protection whatsoever. A potential attacker could grab your Tesla API token via Grafana.

Yikes.  Thanks for the heads up.  I think I am getting close to getting a working solution.  I've tried using NGROK, which I believe acts like a VPN and provides a specific IP.  I can confirm it works to access http://<IP_ADDRESS>:4000, but I'm unable to click the resume/sleep button.  It is related to the below error message.  I think I need to config the check origin to allow http://XXXYYYZZZ.ngrok.io.
teslamate_1  | Origin of the request: http://XXXYYYZZZ.ngrok.io
teslamate_1  |
teslamate_1  | This happens when you are attempting a socket connection to
teslamate_1  | a different host than the one configured in your config/
teslamate_1  | files. For example, in development the host is configured
teslamate_1  | to "localhost" but you may be trying to access it from
teslamate_1  | "<IP_ADDRESS>". To fix this issue, you may either:
teslamate_1  |
teslamate_1  |   1. update [url: [host: ...]] to your actual host in the
teslamate_1  |      config file for your current environment (recommended)
teslamate_1  |
teslamate_1  |   2. pass the :check_origin option when configuring your
teslamate_1  |      endpoint or when configuring the transport in your
teslamate_1  |      UserSocket module, explicitly outlining which origins
teslamate_1  |      are allowed:
teslamate_1  |
teslamate_1  |         check_origin: ["https://example.com",
teslamate_1  |                        "//another.com:888", "//other.com"]
teslamate_1  |
teslamate_1  |

Yes, that error is related to the VIRTUAL_HOST variable in the docker-compose file. It needs to march the IP address or hostname of your machine. Apparently ngrok supports virtual-host sites. If you want to access telamate inside your lan via its IP address and remotely via ngrok you can probably do this (not tested):
ngrok http -auth "user:password" -host-header=your.ip.here 4000

Ah, never mind, you can already see the teslamate page, right? It now fails because it cannot a websocket connection. I don't know if ngrok supports that.

Ah, never mind, you can already see the teslamate page, right? It now fails because it cannot establish a websocket connection. I don't know if ngrok supports that.

In the docker-compose file I have :
teslamate:
image: teslamate/teslamate:latest
restart: unless-stopped
environment:

DATABASE_USER=teslamate
DATABASE_PASS=secret
DATABASE_NAME=teslamate
DATABASE_HOST=db
MQTT_HOST=mosquitto
VIRTUAL_HOST=<IP_ADDRESS> # if you're going to access the UI from another machine replace

That is related to this log message :
teslamate_1 | 1. update [url: [host: ...]] to your actual host in the
teslamate_1 | config file for your current environment (recommended)
But is my issue not related to this :
teslamate_1 | 2. pass the :check_origin option when configuring your
teslamate_1 | endpoint or when configuring the transport in your
teslamate_1 | UserSocket module, explicitly outlining which origins
teslamate_1 | are allowed:
teslamate_1 |
teslamate_1 | check_origin: ["https://example.com",
teslamate_1 | "//another.com:888", "//other.com"]
That almost reads like a list of allowable addresses.  Is there somewhere that where I can add http://XXXYYYZZZ.ngrok.io as a permissible address?
Thanks

Currently you can only supply one address. Try this VIRTUAL_HOST=XXXYYYZZZ.ngrok.io

Currently you can only supply one address. Try this `VIRTUAL_HOST=XXXYYYZZZ.ngrok.io

I suspect that won't work because NGROK is already set to port 4000.  By doing that...wouldn't Teslamate be resolving to XXXYYYZZZ.ngrok.io:4000?
I will try to remote in and give it a try.
On a separate not - I looked up reverse proxy, and NGINX comes up.  Maybe that is the route to go for me.
Anybody familiar with NGINX and how to configure it?

This could be a good starting point: https://github.com/jwilder/nginx-proxy

@jun3280net I setup an nginx reverse proxy for teslamate. I can share my settings with you if you'd like and give you the approximate high level steps to set things up. You'll probably need to Google some of the details yourself however.

Thanks @adriankumpf  @EvanMcEwen !  I've been youtubing on how to use NGINX.  Until I get home - I won't be able to try anything.  That said - if @EvanMcEwen have some high level pointers on what needs to be done, I'd be most grateful.  Below is my starting point :
Ubuntu (ens33 : <IP_ADDRESS>)
Port : 4000 (to access Teslamate)
Port : 3000 (to access Grafana)
Port : 80 (do we need to do anything with this)
My_IP : WWW.XXX.YYY.ZZZ
The goal is to add the following commands to Tasker :
PUT https://teslamate.your-domain.com/api/car/$car_id/logging/resume
PUT https://teslamate.your-domain.com/api/car/$car_id/logging/suspend
Does NGINX provide a new IP address or am I required to sign up for a domain name (teslamate.your-domain.com) to make this all work?
Thanks

Does NGINX provide a new IP address or am I required to sign up for a domain name (teslamate.your-domain.com) to make this all work?

No NGINX is simple a piece of software to take incoming requests and route them (or serve them) to the appropriate resource. Most often it's used to simply serve static/dynamic HTML but it can also be used as a reverse proxy. Your external IP address is given to you by your ISP.
Truthfully if you want to do this proper you should have a domain so that you can throw SSL encryption on it but it is not technically required. The high level steps look like this:

Add an "A" record into the domain you own. So for example your-domain.com you'd add an "A" record that points "teslamate" (subdomain) to your IP: WWW.XXX.YYY.ZZZ This will point to the teslamate front-end.
Add another "A" record for "tesla" that points to your IP (same as step #1). This will point to Grafana.

(I found it easier to add two subdomains, one for teslamate and one for Grafana).

Setup NGINX to have backed service links to teslamate and Grafana.

Setup NGINX to allow access to the root of your webdirectory so that LetsEncrypt can verify that you actually own your domain so it can issue an SSL cert to you.

Setup NGINX so that when you hit http:// it redirects to https://

Finally setup the final endpoints (tesla.yourdomain.com and teslamate.yourdomain.com) and have them point respectively to the backend services you setup in step #3

I'll provide more details around my setup soon as I can but as I built it specifically for myself, it doesn't translate so easily into steps for someone else to follow (or copy/paste). Let me try and make all this work with the official NGINX docker image so there is less setup and then I'll share my config.

@EvanMcEwen thanks for all the tips.  I look forward to getting there, as I think your suggestions are a bit further along than where I'm at though.
That said, I've got NGINX running.  I'm following some very basic guides right now.
https://www.techandme.se/set-up-nginx-reverse-proxy/
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/#pass
Basic Setup
https://medium.com/moving-cubes/how-to-set-up-a-reverse-proxy-using-nginx-on-debian-9-d5f42d19ce07
SSH Setup
https://medium.com/moving-cubes/guide-set-up-open-source-ssl-for-nginx-on-linux-726867d11b6
I've got the basic NGINX setup running.

It is doing what I've set it up to do....kinda.  http://<IP_ADDRESS>:4000 is behaving the way as it should.

However, typing in http://<IP_ADDRESS> NGINX takes me to the deprecated version of the Teslamate webpage.

I think I need to solve this issue first before I get into anything too complicated.  I might try the SSH guide next.

Since you're already using docker, might want to check out https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion. This is what I use for teslamate (along with all other sites I have). It handles nginx + cert renewal for you and you just have to specify your subdomain in each of your docker container configs.

In addition, if you plan to expose your endpoint to the internet you should secure it somehow to ensure that no one else can access it. I chose to do this via oauth2 (google auth). I'll post a sample docker-compose file along with my nginx config and others later.

I would love to see this so I can extend this too. Currently mine is running on a synology NAS (via docker) and I don't want to expose everything of course.

Sorry! I'll post it tonight!

Firstly @Simple-Complexity , no need to apologize - life is busy, but I do appreciate it.
I also see that on my Synology NAS (which is running docker for TeslaMate), I can setup virtual hosts. So if I want to do something similar, with that and point it to port 3000 - any ideas on what one would need to do? See the screnshot below.
Or is it better to get it on a different port and then either with apache or Nginx, redirect it to the port 3000 - can the redirect be done locally even when access this externally?
And for those curious, the http backend are those two - nginx, or Apache 2.4 and PHP options I have are 7.0 or 5.6 or not configured.
Thanks in advance.

I upgraded to 1.6.2 and now I see charging states, even historically, across both vehicles. great!

@traviscollins that sounds a bit suspicious though. How is the Vampire Drain of your vehicles? If they have the MCU1 make sure 'Always Connected' is turned off and 'Energy Savings' is turned on in the vehicle.

In order to get SSL/TLS certificates you would need a domain. I chose to use Google since I use it for most things, but it should work for any OAUTH provider with some additional configuration.

This is awesome, thank you @Simple-Complexity.
A couple of questions - One, on the OAUTH2 details (below) - where do I get the client ID and the secrets? And I am curious if I can use a Live ID?
      - OAUTH2_PROXY_PROVIDER=google       - OAUTH2_PROXY_CLIENT_ID=<<your-google-oauth-client-id-here>>       - OAUTH2_PROXY_CLIENT_SECRET=<<your-google-oauth-client-secret-here>>       - OAUTH2_PROXY_COOKIE_SECRET=<<arbitrary-cookie-secret>>
And two, I should use this as my 'base' instead of @adriankumpf 's docker compose file, right? And seeing the dependencies it would pull TeslaMate too?


Fix doc assets being incorrectly served over http

Some of the assets on the docs branch aren't being rendered (certainly in Chrome, probably in other browsers) as they're being served over http rather https, which breaks some of the examples.

@rogerhutchings, thanks you


casemap bug

Description
For strings that have already been casemapped (and cashed under caseMap object in https://github.com/Polymer/polymer/blob/master/lib/utils/case-map.js), calling either dashToCamelCase or camelToDashCase will convert to the other notation, whatever the initial notation is.
Steps to Reproduce
Polymer.CaseMap.dashToCamelCase('i-should-stay-dash') => "iShouldStayDash" (o.k.)
Polymer.CaseMap.camelToDashCase('i-should-stay-dash') => "iShouldStayDash" (not o.k. - it should return 'i-should-stay-dash')

Expected Results
calling camelToDashCase on a 'dashed-string' should keep the sting in a dashed mode.

I hope this issue will be resolved.


feature_extraction allowing for text: List[str]

Fixes https://github.com/huggingface/huggingface_hub/issues/1745

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Very nice, thanks for the PR!

Ah I see, and thanks for the compliment on PR quality. I understand now that InferenceClient is not just an API wrapper, but actually only supports certain work streams.
I'm not quite onboard single-str only is better because:

Since Hugging Face Inference API's requests are rate limited, one bulk transaction is better than many smaller transactions from a "free users getting best mileage" standpoint
For the synchronous InferenceClient, one request with a bigger payload is faster than multiple requests with a smaller payload. Less boilerplate overall in the network packets, less established connections

Though the best is using AsyncInferenceClient and parallelizing many requests 🚀

As far as future optimization of single-str only, I would say this already exists with TGI backend vs transformers backends. Devs just become aware that one route is optimized and another isn't. Though I do agree with you that learning that is an extra hassle.
Fwiw, LangChain actually uses the List[str] capability in its custom API wrapper, https://github.com/langchain-ai/langchain/blob/v0.0.315/libs/langchain/langchain/embeddings/huggingface.py#L323, so people do use this capability.

I don't actually care that much either, my main motivation for this was I use List[str] in my work-in-progress new addition to LlamaIndex: https://github.com/run-llama/llama_index/pull/8098/files#diff-3929ac166c73f28593444e39eb4135b61531dc6c6184b1a8f8486f4d4cedf344R238
I can just adjust my implementation there to center on AsyncInferenceClient for sending 1+ texts in parallel.
I leave it up to you, feel free to close this out

One other point is, with List[str] when the strings have different token counts, the returned blob breaks feature_extraction's np.array(_bytes_to_dict(response), ...) casting, because each embedding has a different size.  The test case I added here circumvented that by making sure the contained strs all have the same tokens.
So really, the return type of this function should be:

np.ndarray: when passed str
List[np.ndarray]: when passed List[str]

So to do this right, really the return type should be modified as well.  I am just going to close this out

Thanks for listing the advantages of enabling List[str]. I think it's good to remember them if we want to update the policy in the future :+1: Also agree that we should be sure return type is correct as well. About HTTP optimizations of batching the endpoint, I agree with you though I hope it'll not cause much issue even for free users
Just for your info, if you do a for txt in txts: client.feature_extraction(txt) the SSL connection will be reused automatically. I still think it's best to use async for large inference as you suggested, but wanted to let you know :)


Storing Procs do not store local context

Storing of Procs is not complete.
Store Proc to file like this:
class Foo < Storable; field my_proc: Proc; end

def xxx
  333
end

File.open("stored.yaml", "w") {|f| f.write Foo.new(Proc.new { xxx + 1 }).to_yaml }

Load that yaml from another Ruby process and execute that block:
class Foo < Storable; field my_proc: Proc; end

Foo.from_yaml(File.read("stored.yaml")).my_proc.call
# (eval):1:in `block in from_string': undefined local variable or method `xxx' for Proc:Class (NameError)
        from -e:10:in `call'
        from -e:10:in `<main>'

It would be great if local context would be saved, but i'm not sure how that might be possible, because it would mean that there's a need to actually load all the exact environment of the storing process in the process of running that stored proc. But i guess it would be nice to mention that in your readme.

Oh, just so you know - storable seems to also work nicely in Ruby 2.2.2.


升级后无法正确PROPFIND

升级后报错
webdav_client: ^1.1.9
dio: ^5.0.0
flutter: *******************************
flutter: *** Request ***
flutter: uri: https://xxxxx/file.sqlite.zip/
flutter: method: PROPFIND
flutter: responseType: ResponseType.json
flutter: followRedirects: false
flutter: persistentConnection: true
flutter: connectTimeout: 0:00:10.000000
flutter: sendTimeout: null
flutter: receiveTimeout: null
flutter: receiveDataWhenStatusError: true
flutter: extra: {}
flutter: headers:
flutter:  depth: 1
flutter:  content-type: application/xml;charset=UTF-8
flutter:  accept: application/xml,text/xml
flutter:  accept-charset: utf-8
flutter:  accept-encoding:
flutter:  authorization: Basic bWlpcG9zX3VwbG9hZDphOTBhMjE0NmExMjIxMDhmMWMwZDllNmU4OWVlOWMwYw==
flutter:
flutter: *** Response ***
flutter: uri: https://xxxxx/file.sqlite.zip/
flutter: statusCode: 400
flutter: headers:
flutter:  connection: close
flutter:  content-type: text/html
flutter:  access-control-allow-origin: *
flutter:  date: Tue, 21 Feb 2023 12:22:08 GMT
flutter:  content-length: 150
flutter:  server: nginx
flutter: Response Text:
flutter:

flutter: <title>400 Bad Request</title>

flutter:

flutter:
400 Bad Request

flutter:
nginx

flutter:

flutter:

恢复成上一个版本
webdav_client: 1.1.8
dio: 4.0.6
flutter: *******************************
flutter: *** Request ***
flutter: uri: https://xxxxx/file.sqlite.zip/
flutter: method: PROPFIND
flutter: responseType: ResponseType.json
flutter: followRedirects: false
flutter: connectTimeout: 10000
flutter: sendTimeout: 0
flutter: receiveTimeout: 0
flutter: receiveDataWhenStatusError: true
flutter: extra: {}
flutter: headers:
flutter:  depth: 1
flutter:  content-type: application/xml;charset=UTF-8
flutter:  accept: application/xml,text/xml
flutter:  accept-charset: utf-8
flutter:  accept-encoding:
flutter:  authorization: Basic bWlpcG9zX3VwbG9hZDphOTBhMjE0NmExMjIxMDhmMWMwZDllNmU4OWVlOWMwYw==
flutter:
flutter: *** Response ***
flutter: uri: https://xxxxx/file.sqlite.zip/
flutter: statusCode: 207
flutter: headers:
flutter:  connection: keep-alive
flutter:  content-type: text/xml; charset=utf-8
flutter:  access-control-allow-origin: *
flutter:  date: Tue, 21 Feb 2023 12:17:39 GMT
flutter:  content-length: 532
flutter:  server: nginx
flutter: Response Text:

目前看GET和PUT都是正常的

1.2.0版本已修复，你自己再试下，ok的话就关闭该问题


Cannot unify array vstack

[X] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[X] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

When I try performing vstack as seen below, I get the following error:

Cannot unify array(float64, 1d, C) and array(float64, 2d, C) for 'cx'

from numba import njit
import numpy as np
@njit(parallel=True)
def stacker():
    order = 6
    st = 100
    en = 150
    xval = np.random.rand(15360,192)
    for i in range(0, 1024):
            cx = xval[i, st:en]

            for dt in range (1, order+1):
                cx = np.vstack((cx, xval[i,st-dt:en-dt]))

Now I've read some other issues regarding nested loops and variable reassignment, and I believe the error has to do with cx being reassigned a new value? How can I go about resolving this?

@AashinShazar thanks for reporting this on the Numba issue tracker. I attempted to run your reproducer locally, but it seems the variable order isn't defined anywhere. Perhaps, if could, please post an updated reproducer to fix this? Also note that, the reproducer is missing the appropriate import statements, in this case:
from numba import njit
import numba as np

It would be good if you could add those too, as this will make it more convenient for reviewers to checkout your issue and run code locally. Many thanks in advance for your cooperation!

@AashinShazar thanks for reporting this on the Numba issue tracker. I attempted to run your reproducer locally, but it seems the variable order isn't defined anywhere. Perhaps, if could, please post an updated reproducer to fix this? Also note that, the reproducer is missing the appropriate import statements, in this case:
from numba import njit
import numba as np

It would be good if you could add those too, as this will make it more convenient for reviewers to checkout your issue and run code locally. Many thanks in advance for your cooperation!

My apologies! I've updated the code above.

@AashinShazar thank for updating the example above. I'm afraid I am unable to reproduce the error using the code provided. I also tried to change the range statements to prange but that was also successful. I modified the code a little to comply with coding standards and am posting the exact version I used here:
from numba import njit, prange
import numpy as np

@njit(parallel=True)
def stacker():
    order = 6
    st = 100
    en = 150
    xval = np.random.rand(15360,192)
    for i in prange(0, 1024):
        cx = xval[i, st:en]
        for dt in prange(1, order + 1):
            cx = np.vstack((cx, xval[i,st - dt:en - dt]))

@AashinShazar perhaps if you could provide more information about your operating system and Python and Numba versions?

I get:
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float64, 1d, C) and array(float64, 2d, C) for 'cx.2', defined at issue5437_2.py (13)

File "issue5437_2.py", line 13:
def stacker():
    <source elided>
        cx = xval[i, st:en]
        for dt in prange(1, order + 1):
        ^

[1] During: typing of assignment at issue5437_2.py (13)

File "issue5437_2.py", line 13:
def stacker():
    <source elided>
        cx = xval[i, st:en]
        for dt in prange(1, order + 1):
        ^

on master.
I think the problem is because cx = xval[i, st:en] is a 1d array, then, in the loop:
        for dt in prange(1, order + 1):
            cx = np.vstack((cx, xval[i,st - dt:en - dt]))

cx becomes a 2D array by virtue of the vstack. However, Numba has to compile the code based on statical analysis and its analysis algorithms cannot tell if that loop will execute, if it does, cx might be 1d or 2d, and hence the problem.

Oh, my bad, I missed the lack of a function execution stacker() at the end of the file. I can confirm I now get this error too.

I get:
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float64, 1d, C) and array(float64, 2d, C) for 'cx.2', defined at issue5437_2.py (13)

File "issue5437_2.py", line 13:
def stacker():
    <source elided>
        cx = xval[i, st:en]
        for dt in prange(1, order + 1):
        ^

[1] During: typing of assignment at issue5437_2.py (13)

File "issue5437_2.py", line 13:
def stacker():
    <source elided>
        cx = xval[i, st:en]
        for dt in prange(1, order + 1):
        ^

on master.
I think the problem is because cx = xval[i, st:en] is a 1d array, then, in the loop:
        for dt in prange(1, order + 1):
            cx = np.vstack((cx, xval[i,st - dt:en - dt]))

cx becomes a 2D array by virtue of the vstack. However, Numba has to compile the code based on statical analysis and its analysis algorithms cannot tell if that loop will execute, if it does, cx might be 1d or 2d, and hence the problem.

Yeah, that's exactly the problem I'm experiencing. How would I go about resolving this?

You'll probably need to create a buffer and just write the slices into it opposed to vstacking them up. Further, this would likely work in a prange loop whereas the algorithm in the current code has a loop carried dependency on cx which would prevent parallelisation.

How would I go about creating a buffer for this? I can't use regular lists to create a buffer and all errors indicate I need a tuple but I can't convert a list to a tuple either.

How would I go about creating a buffer for this? I can't use regular lists to create a buffer and all errors indicate I need a tuple but I can't convert a list to a tuple either.

How about creating an array that's the correct size to hold the "stacked" output and just writing into that based on the loop index?

How would I go about creating a buffer for this? I can't use regular lists to create a buffer and all errors indicate I need a tuple but I can't convert a list to a tuple either.

How about creating an array that's the correct size to hold the "stacked" output and just writing into that based on the loop index?

Thank you! That gave me the direction I needed to solve this.

How would I go about creating a buffer for this? I can't use regular lists to create a buffer and all errors indicate I need a tuple but I can't convert a list to a tuple either.

How about creating an array that's the correct size to hold the "stacked" output and just writing into that based on the loop index?

Thank you! That gave me the direction I needed to solve this.

No problem, glad you got something working.


Minified version is missing.

There should be a minified version included, just for the ease of use.

Not sure I agree in today's world of webpack, brunch, asset pipelines, gzip, auto-minified CDN hosting, etc.


no-regex-spaces

Current dependencies on/for this PR:

main

PR #126   👈

This comment was auto-generated by Graphite.


Migrate from student email related accounts to personal

MongoDB instance is currently hosted on a student email, will need to migrate ownership to a personal account

Moved MongoDB ownership to personal email


Create runners for Rust

Right now, we have support for running tests written in javascript or typescript frameworks in jest, mocha or jasmine using test-at-scale-js-runners. We can create test-runners for Rust as well targeting native testing framework and integrate it in test-at-scale docker image

Can I work on this issue :3


Update for nopCommerce 4.60

The plugin has been submitted for review.  This issue will be closed once it's been approved on the nopCommerce marketplace

The plugin is now on the marketplace: https://www.nopcommerce.com/en/quick-style-editor-css


states with local variables lead to uncompilable code

test.rflx.txt
universal.rflx.txt
On the two attached files, the current main of Recordflux generates code that doesn't compile:
rflx-test-session.adb:139:38: error: "M_Ctx" is undefined (more references follow)

The session specification is invalid and should be rejected during model verification. 'Read or 'Write must not be used with local variables. Local declarations in IO states (i.e. states containing a 'Read or 'Write) should lead to an error.

OK got it. I will rewrite my test cases then.

@treiher Should IO states even allow local variables?

@senier No, that is what I meant with "[l]ocal declarations in IO states [...] should lead to an error".

Right, I missed the "declarations" part in you comment. When defining the syntax in #834 we should disallow the declaration of variables altogether.


Suppress events

Use an environment variable to define a comma-separated list of event types that should not appear in-channel.  For example: if SUPPRESS_EVENTS_IN_CHANNEL="sca_rule_failed,vulnerable_software_package_found_on_image" is set, then donbot will not put these events in the Slack channel.  This does not affect events that trigger quarantine or IP blocker.

we are currently only showing events that are critical. Do we want to give user the option to print both critical/non-critical? and another option for SUPRESS_EVENTS_IN_CHANNEL?

No, we just want to give the customer the ability to suppress certain critical events.

v0.17.3


[QUERY] Why are Integration Tests and Unit Tests set up this way?

Query/Question
I wanted to ask why both your Integration and Unit Tests send logs instead of using the Unit Tests to check that the producers are built properly and then the Integration Tests are used to test whether logs are/are not sent?
Setup (please complete the following information if applicable):

OS: macOSX
IDE : IntelliJ
Version of the Library used: 5.0.2

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

@ShahmirAhmed can you please give some more information. I'm not entirely sure what the context of your question is or even what library you're referring to.

Hi @JimSuplizio, sorry about that. I'm referring to azure-messaging-eventhubs version 5.0.2. Specifically the classes I am looking at are the EventHubProducerClientIntegrationTest.java and EventHubProducerClientTest.java. I'm also looking at the Asynchronous Producers as well.
What I noticed is that in both your integration and unit tests, you 1) build out your producer and 2) send logs with those producers. I would have thought that the unit tests would solely assert and check to see that the producers were built BUT NOT send logs. Then the integration tests would build the producers and actually send logs. I was curious as to why you are sending logs in both types of tests.

@ShahmirAhmed Thank you for providing more details. Unit tests use mock instances for sending. So, they don't send the events to the Event Hubs service but mimic the send operation. Unit tests then assert to see if the mocked send was called.
On the other hand, integration tests use real instances that actually send events to the Event Hubs service.
Hope that answers your question. Please let me know if you need additional details.


Tests - Add AAD app for external connections

Resolves #ISSUE
This is an auxilliary PR to help run tests in a new PR environment for https://github.com/UCLH-Foundry/FlowEHR/pull/324

/test


Release v1.0.0

:metal: :metal: :metal: :metal: :metal: :metal: :metal: :metal: :metal: :metal: :+1:


Add missing copyright header

Refer #20470

[ ] documentation is added or updated
[ ] tests are added or updated

This pull request is ready to merge

Merged, thanks for the reviews.


Administrator login

Login with pre-set username/password
As a sunbird-rc setup administrator I would like to login to admin portal to complete the registries configuration setup, with provided user details in an instruction guide as a starter.
Update password on after login
As pre-set password has been provided for first time login, immediately after login user is taken to reset username / password screen.
As a sunbird-rc setup administrator I would like to change the username / password to new one.
On successful update user will be redirected to popup for the quick video link for the configuration setup.
On failure of the update, user will be redirected to same screen with the error message for the failure and to repeat the username/password process.
Password validation
Password - Special character, number and characters can be allowed.

Screen:

@tejash-jl Figma Link: https://www.figma.com/file/N3kuvYEfnZBARL5RHPiJLM/Tenant%2FAdmin-Portal?node-id=1%3A1118


Add to mister-devel repo

Ask a question
Hi Agg,
Thank you for the core and good job!
I wonder if it would be possible for you to add this core to the mister-devel repo so that it can be fetched by downloader for mister? https://github.com/MiSTer-devel
Maybe it is better to create a separate repo that is part of the mister-devel?
The developers of this discord can help you out: https://discord.gg/misterfpga

I will not be adding this repo to the MiSTer-devel org. Someone can fork it and add it if they wish, but I will not endorse that course of action. In any case, I don't think the MiSTer org would accept a repo with code for multiple supported platforms.
MiSTer update_all should be more robust for more repo configurations. For what I could tell from my brief looking at it, there is no centralized repository/API of core sources (because it assumes cores are located in the MiSTer-devel org, though a few devs have escaped that), and requires that binaries be committed to the repository, which is terrible practice. I certainly would like to provide users the better experience of easy and automatic installation, but unless someone gives me a good reason to, I tend to be pretty uncompromising with best practices. I don't expect anyone to make changes to accommodate me, given that this is a small core of minimal interest, but I'm happy to assist if they are so inclined.
I know the Discord server exists, and would like to utilize the dev resources there, but I have been the target of frequent harassment on that server by a few people. Stuff like that doesn't typically bother me, but I would just rather not expose myself to it, so I will do without.

In any case, I don't think the MiSTer org would accept a repo with code for multiple supported platforms.

There are developers that have developed both for MiSTer and Pocket that has their code in the MiSTer org, although they have a separate repository for the respective platform. (See pram0d and nullobject cores).

MiSTer update_all should be more robust for more repo configurations. For what I could tell from my brief looking at it, there is no centralized repository/API of core sources (because it assumes cores are located in the MiSTer-devel org, though a few devs have escaped that), and requires that binaries be committed to the repository, which is terrible practice. I certainly would like to provide users the better experience of easy and automatic installation, but unless someone gives me a good reason to, I tend to be pretty uncompromising with best practices. I don't expect anyone to make changes to accommodate me, given that this is a small core of minimal interest, but I'm happy to assist if they are so inclined.

This is outside of my knowledge so I think it is better for Theypsilon or other core developers for MiSTer to respond to this

I know the Discord server exists, and would like to utilize the dev resources there, but I have been the target of frequent harassment on that server by a few people. Stuff like that doesn't typically bother me, but I would just rather not expose myself to it, so I will do without.

I'm sorry to hear that, but from what I've seen from that server is very helpful for developers.

I'm talking to theypsilon about the updater now.

I know the Discord server exists, and would like to utilize the dev resources there, but I have been the target of frequent harassment on that server by a few people. Stuff like that doesn't typically bother me, but I would just rather not expose myself to it, so I will do without.

I'm sorry to hear that, but from what I've seen from that server is very helpful for developers. If it is just one person or two then they do not represent the community, regardless of "high status" they assume they have. At the end of the day, it is Sorg that is the maintainer of the devel repo

When the insults are coming straight from the Admins of that server I don't blame any dev who has been targeted by said individuals for not wanting to participate there. It is a shame that so many people seem to overlook such behavior from the community leaders.
Anyways, I'm just happy for agg23 and hope some individuals enjoy and appreciate this fun little core.

Update all isn't officially part of mister-devel, it's a meta script that runs multiple other scripts, one of which is the mister update script, downloader. Downloader can reference a db which downloads whatever you want which could be used for distribution of this core.

I know the Discord server exists, and would like to utilize the dev resources there, but I have been the target of frequent harassment on that server by a few people. Stuff like that doesn't typically bother me, but I would just rather not expose myself to it, so I will do without.

I'm sorry to hear that, but from what I've seen from that server is very helpful for developers. If it is just one person or two then they do not represent the community, regardless of "high status" they assume they have. At the end of the day, it is Sorg that is the maintainer of the devel repo

When the insults are coming straight from the Admins of that server I don't blame any dev who has been targeted by said individuals for not wanting to participate there. It is a shame that so many people seem to overlook such behavior from the community leaders.
Anyways, I'm just happy for agg23 and hope some individuals enjoy and appreciate this fun little core.

For context in SegaSnatcher's personal view of this, he has been banned from every Discord I've shared with him for harassing other users and projects, to the point that he created his own Discord in order to slander the "terrible mods and admins" who "wronged him".  Also banned from many prominent YouTube channels like RetroRGB for similar behavior, and continues to spread misinformation about admins out of spite for the results of his own actions in all of these instances.  The wolf in sheep's clothes act he has persisted with continues to this day, unfortunately, but his record in all of these places still remains and bans will be upheld due to repeated behavior.  Every time he says he will do better when confronted about this, has turned out to be a falsehood and folks got fed up with it.  It's unfortunate this will have to be said every time he pops up to continue the same cycle.

I'm sorry I didn't respond when Sega originally posted. Please refrain from personal attacks and demeaning others. I will leave these comments up, but will be deleting any further ones.

agg23 has allowed me to defend myself, so I will do this while remaining as respectful as possible.
First of all, I got banned from CGD because Rysha does not like anyone who offers criticism towards the MiSTer project and she took issue that I called out her and Sent's behavior towards myself and other users, so she asked Kevin to ban me, I didn't actually break any of the server's rules.
Rysha and Sent prebanned me from the MiSTer server because of their grudge towards me, so CGD is technically only one server I was actually in with you that I was banned form.
Also, RetroRGB has since unblocked me from twitter and I even follow him. I've had zero issues with him for at least 3 yrs now.
I created my server because many people in the community wanted an alternative from the same moderation team that plagues both the MiSTer and CGD servers.  Don't act like I'm the only person who takes issue with those community leaders/mods behavior. There are many people who also see how problematic their behavior can be.
We are almost 1600 members strong in my server and I think anyone who has been part of the server for awhile will say that its a really good community with very minimal issues regarding how people behave. I have yet to get PM'd from users complaining about bad moderation behavior.  Can the same be said of CGD or MiSTer servers?
Lastly, I ask you to provide whatever evidence you can find of behavior I engaged in that deserved me getting banned from CGD.  Because whatever you find I can match and more with bad behavior from the people you work under.
You never saw me call anyone "Glory Parasites", but look at how your admins treat devs who work on Pocket.  What's the worst I said about someone?  That Sorg is "Stubborn"?   That Sent and Rysha are "petty"?  They have said way worse and yet I'm the toxic one?
That is all I'll say on the matter.  I am a reasonable person who went out of my way many times to try and squash the beef  with the people in question, but they hold petty grudges and that is not my fault.

I don’t want any drama here so I will remove comments from now on to respect agg23 wishes. No need to out moderators

I don’t want any drama here and only asked for the core to be added to mister-devel. And agg23 has responded why, agree or disagree. The beauty of open source is that anyone can fork this, similar to who agg23 did by porting cores to Pocket. I will close this ticket

I'm sorry I let those comments stay up. I was hoping things could remain mostly civilized.
GitHub issues are not the place for controversial, non-technical discussions. Please do not use this platform to engage in such actions. Regardless of what you think of someone, everyone is to be treated with respect and compassion in a professional manner.


Spec generated by annotations completely ignores inherited generic field

I have a class structure that looks like this. I've stripped down and swapped out a bunch of names, so please ignore if a typo left a brace unmatched somewhere.
public class MyResource {
   @Operation( responses = {
                 @ApiResponse(content = @Content(schema = @Schema(implementation = MySpecificResponse.class))
              })
  @Path blah blah
  public Response doThing() {
     ...
  }
}

public class MySpecificResponse extends MyAbstractDomainResponse<MySpecificDomainThing> {
    public String foo;
}

public abstract class MyAbstractDomainResponse<T> {
    public T domainThing;
    public ErrorCodes errors;
}

When I generate the OpenApi3 spec via the OpenApiResource endpoint, it doesn't generate the domainThing field at all. It does generate the foo and errors field, so it's looking up the inheritance tree to find fields, but it's ignoring the domainThing field.
{
  "MySpecificResponse": {
    "type": "object",
    "properties": {
      "error": {
        "$ref": "#/components/schemas/ErrorCodes"
      },
      "foo" : {
        "type" : "string"
      }
    }
  }
  ErrorCodes schema stuff down here...
}

I am guessing this is because that inherited field is based on a generics value? Type erasure is causing it to fail to determine that type? Is there an annotation feature I can use to get it to understand how to generate domainThing?

Of course, after spending 3 hours working on this, the moment I create the issue I figure out what I've done wrong...

Hi @chriskessel , I'm facing the similar issue. How did you resolve it? TIA


need better triangulation

Please replace triangulation algorithm with this one: https://github.com/mapbox/earcut. In my experiments, this library failed drawing some complex concave polygons with existing triangulation method. Then I modified PRFilledPolygon.js to work with earcut, and It worked flawlessly.
Although I am not familiar with git mechanism (how to pull/push new code etc.), here is my modification that works perfectly:
earcut returns indices. so we need to arrange returning array:
Maybe it is better to implement this function as a private method of cc.PRFilledPolygon. If I am saying something very stupid, sorry I am very new to js :D
function triangulate4pr(data){
    var triangles = earcut(data);
    var result = [];
    for(i=0; i<triangles.length; i++){
        result.push(data[2*triangles[i]]);
        result.push(data[2*triangles[i]+1]);

    }
    return result;
}

and then in PRFilledPolygon.js:
replace this line:
cc.Triangulate.Process ( Verts, this.Points );
with this one:
this.Points = triangulate4pr(Verts);

Thank you for your contribution. I haven't realized someone who looks at my codes. In this result, I am really happy and appreciated about it and it inspires me to re-walk on sharing some.

Hi my friend,
It would be also very good if the library could work with recent version of
cocos2d-x.
On Mon, Mar 20, 2017 at 9:45 PM, Younghwan Mun<EMAIL_ADDRESS>wrote:

Thank you for your contribution. I haven't realized someone who looks at
my codes. In this result, I am really happy and appreciated about it and it
inspires me to re-walk on sharing some.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/mcodegeeks/PRKit-JS/issues/1#issuecomment-287859438,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJYy-VVNviYwJjL_aL0hZn0jvINMFLiTks5rnslkgaJpZM4MVjpP
.


Allow comments in tsconfig.json issue #4987

This pull requests allows comments in tsconfig.json
Comments can be single line comments (starting with # or //) or multiline comments using / * * /

Hi @sarod, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@sarod, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

VSCode only allows // and /**/ comments in its json parser - we should do the same (or it won't be able to validate our tsconfigs).

I think this is not necessarily the right approach. Why are we building a scanner to handle a JSON file instead of leveraging the existing scanner and writing a resilient JSON parser?

@DanielRosenwasser What do you mean exactly by

I don't think this is necessarily the right approach. Why are we building a scanner to handle a JSON file instead of leveraging the existing scanner and writing a resilient JSON parser?

Are you talking about using elements of typescript scanner instead of using comment removal than JSON.parse?
If that's the case could you please clarify what direction I should follow between:

Restarting from scratch using the  typescript scanner
Applying other suggestions on top of my current PR

One nice thing about using the TS parser/scanner, is you can be much more forgiving with invalid input, and you can give helpful messages too.

I think it would be a lot better to create a custom parser, however, if you don't feel entirely comfortable with that, I think the current approach isn't too bad.

I don't think we should be putting yet another scanner in our codebase unless we have a very compelling reason. Given that implementation that uses existing scanner can be as simple as code below I would vote to reuse code that we already have
    function stripComments(text: string): string {
        let output = "";
        let scanner = createScanner(ScriptTarget.ES5, /* skipTrivia */ false, LanguageVariant.Standard, text);
        let token: SyntaxKind;
        let newLine: string;
        while((token = scanner.scan()) !== SyntaxKind.EndOfFileToken) {
            switch(token) {
                case SyntaxKind.SingleLineCommentTrivia:
                case SyntaxKind.MultiLineCommentTrivia:
                    break;
                default:
                    output += scanner.getTokenText();
                    break;
            }
        }
        return output;
    }

:+1: for Vlad's solution. You can still have the same behavior where you pad any trivia with spaces the same way you did.

OK. I'll give a try to Vlad's solution.

:+1:

Thanks @sarod!

Thanks for the guidance and suggestions.


Project team assignment with Kanban

Set Up the project with Kanban board 👍 💯
Link of kanban project
We are five people.

Team member 1 is @Reem-lab.
Team member 2 is @aimemalaika .
Team member 3 is @piero-vic .
Team member 4 is @Sahar-AbdelSamad
Team member 5 is @German-Cobian .

Hi dear students,
Good job so far!
You still need to work on some issues to prepare your project for the final evaluation, but you are almost there!

Suggested changes

[ ] please, on this issue description add a screenshot of the current state of their Kanban board ( the screenshot should look exactly like the Kanban board at this point)
[ ] I could observe you use two diff columns for To-Do tasks (back and front-end) and is an amazing idea! Now, according to my mandatory requirements, this could be only in one To-Do column task

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Hi @aimemalaika, @Reem-lab, @German-Cobian, @piero-vic, @Sahar-AbdelSamad,
In my opinion, your project is complete!
Good luck! 🎉
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.


jsessionid parameter appended to URLs after submitting the design form

I didn't find this jsessionid parameter the first time I read the book. That was
Spring Boot 2.0.4 of course. Now it's 2.0.6.
Anybody else found the same issue? I didn't find it on another computer. Everything is the same except the macOS version. So this is strange.

I just tried it, both with Boot 2.0.4 and with 2.0.6. In neither case did I see the jsessionid parameter appear in the URLs. Very strange, indeed.
Of course, as you probably know jsessionid is one of many means of managing session between requests. It often is handled in a cookie, but if cookies are disabled it might appear in a request parameter. Is it possible that you have cookies disabled in your browser?

I succeeded towards Chapter 6 before the final released edition. Seeing the final edition is out, I went back and started over again. Same computer, same OS, same browser. Issues kept popping out. I sometimes spend days researching an issue. Much like diagnosing Rails issues.
But could not afford more time. Moved on and quit the book. The OS, JDK, IDE, browsers were all reinstalled. I could not find the issues back.


math method is done

create math method for subtract, multiply, divide and pass the repec test.

Nice work Brandon. Code looks good and your formatting is great.


Plotter Screenshot Bug?

Discussed in https://github.com/marcomusy/vedo/discussions/909

Originally posted by 19kdc3 July 31, 2023
Hi Marco,
I'm encountering a discrepancy with the plotter screenshot function. When I use the screenshot function to save an image it creates the following image as expected:

But once I set asarray=True it no longer returns the correct image and is missing the red triangle in the previous image:

The red triangle is the return of a mesh's boundaries() function. It's strange that setting asarray=True removed the red triangle but still showed the blue outline, which is also created using a mesh's boundaries().
Thanks!

Hi sorry for the late reply
that's very weird..I'm not able to reproduce the issue though with a simple test:
from vedo import *
g1 = Grid()
g2 = Grid().scale(0.2).boundaries().shift(-0.5,0.5)
plt = show(g1, g2, interactive=False)
arr = plt.screenshot(asarray=True)
print(arr.shape)
plt.close()
#test
Picture(arr).show().close()

Hi Marco,
I just found your reply in this separate post, sorry for the delay.
I'm able to produce the bug using this:
import vedo as vd

model1 = vd.Mesh(vd.load("Sample Components\Square.stl"))
model2 = vd.Mesh(vd.load("Sample Components\Triangle.stl"))

plt = vd.Plotter(bg='white',title='Model plotting test', interactive=False, offscreen=True)

plt.parallel_projection(value=True)
plt.look_at(plane='xz')

plt.show(model1.c('yellow').lc('blue').lw(2))
plt.add(model2.c('purple').lc('green').lw(2))

#save array output
data = im.fromarray(plt.screenshot(asarray=True))
data.save("array_output.png")

#save image output
plt.screenshot(filename="img_output.png")

array_output:

img_output:

hi thanks!
would you be able to upload the 2 meshes in a zip file?

Interesting, when I run your sample code, without updating my Vedo package the bug doesn't occur. When I run mine (still with the original vedo package) the bug occurs. After updating Vedo, both mine and your sample code run with no bug!
Must have been an issue with the order of add() and show().
Problem fixed! Thanks Marco!


fix(rosetta): duplicated problem markers

When running with --compile, problem markers could end up duplicated.
This particularly affected problem markers reporting use of unsupported
language features in examples, which would have been repeated once per
target language.
This adds the necessary hook to de-duplicate diagnostics before
rendering them to the user interface.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: c4cc2df64f29af594563706556d47a50f20b32a3
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: cd9dbf69cebc076d676ea4b9afca04fe1a774df9
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: 71506a849ed8edb159b4c455188ba28115091d36
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository