Alternative to case class generation?

How can we support serialization libraries without automatic support for case classes to use this library?

Shapeless records?

Related https://github.com/cornerman/covenant/issues/3

We are now trying upickle instead of protobuf, but we still hit this issue, because even upickle does not allow for automatic case class ser/de. We do not understand if chameleon.ext.upickle is of any use because of the above issue.

Thanks for the feedback. When I added upickle, I did not have the requirement of automatic derivation for case class serializers. So I did not really think about it. Apart from this library with its specific requirement, upickle support in chameleon still has its use.
For upickle, I have opened an issue: https://github.com/lihaoyi/upickle/issues/229
Alternatively for json, you could use circe. Does that make sense for you?
As a side note: The alternative of shapeless records would still mean, that we might need to add support to some serialization libraries, that do not support shapeless out of the box.

Instead of generating intermediate case classes for serialization, isn't it possible to define a trait like
trait Pickler[PickledType] {
  type FieldT
  def apply(fields: Seq[String,FieldT]): PickledType
}

with the addtional constraint that the implementing object must have a method
  def apply[A](a: A): FieldT

for every type A that you want to serialise? E.g. an example for uPickle,
object uPicklePickler extends Pickler[Js.Value] {
  type FieldT=Js.Value
  def apply(fields: Seq[String,FieldT]): Js.Value = Js.Obj(fields)
  def apply[A: Writes](a: A): Js.Value = writeJs[A](a)
}

This way, your macro can, instead of generating a case class, just output the code
pickler(
  "arg1"->pickler(arg1),
  "arg2"->pickler(arg2),
  ...
)

without any dependency on Shapeless.
(Code written from memory, so might contain errors, but I hope the gist is clear.)

@deterdw Good idea! This will definitely work for json, but I am not sure about binary serialization (like boopickle or protobuf). Does it still work there to serialize each argument and then serialize the Seq[(String,PickleType)]? Binary serialization would then typically drop the names and take the order of the arguments.

Sorry, I didn't get a notification about a response... I am assuming that most serialization libraries will either use a field-based AST (like JSON) or be order-based. You could also add indices to the calls, like
pickler(
  ("arg1",0,pickler(arg1)),
  ("arg2",1,pickler(arg2)),
  ...
)

if need be. I don't see how any automatic serialization system based on non-annotated case classes can do better, because you don't have more information than the constructor parameter names, types and order. You could even drop the requirement that there must be a single internal FieldT in the serializer - all that it must do, is be able to execute a call of the above structure. (It seems rather like compile time structural subtyping to me.)
For deserializing on the server side, if you want to keep serialization errors apart from execution errors, you could do something like
val arg1=pickler.unpack[Type1]("arg1",0)
val arg2=pickler.unpack[Type2]("arg2",1)
...

followed by the invocation of method(arg1,arg2,...). This supports named-based, position-based and even streaming codecs (which can ignore whatever of the three isn't relevant).

Why not just use tuples instead of case classes?

A tuple does not carry any information about field names. The payload for the request and responses are the arguments and return types of scala methods. We want to be able to serialize both with json or binary serialization. And arguments have a name and a type that you want to capture. With case classes we have the names of the arguments and the types. So serialization methods like, e.g., json can have field names.

Why is it a problem if the fields are named _1, _2, _3 etc.? Are you
supporting overloaded methods?
On Thu, Mar 7, 2019 at 5:10 PM johannes karoff<EMAIL_ADDRESS>wrote:

A tuple does not carry any information about field names. The payload for
the request and responses are the arguments and return types of scala
methods. We want to be able to serialize both with json or binary
serialization. And arguments have a name and a type that you want to
capture. With case classes we have the names of the arguments and the
types. So serialization methods like, e.g., json can have field names.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cornerman/sloth/issues/10#issuecomment-470716388, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGAUDu_te_K8B5L44B-kr1BvMH-E6rxks5vUY5xgaJpZM4T2Qce
.

@nafg We are not supporting overloaded methods automatically, though you can make them work specifying a path-annotation to your method. @Path("alternative-name"). Because every method in an Api trait is identified by the name of the Api trait and the method name (or any path annotation). Then we need to have a specific method signature to know how to deserialize the payload.
I like to support proper names in order to make the API usable from other language (and for potentially facading exisiting json apis). As of now, I can work with my APIs from another language by sending an http request with json payload corresponding to the parameter list of the method. It is nice to use real names here.
If we drop this requirements of names, we could go with something different, we could even just serialize to a list instead of a tuple. Though, a Seq or Tuple would still not suffice, because it loses all type information of the single members. For every method, we want to be able to serialize all arguments together in one go, so the serializer can work efficiently. That means we need some composite type that includes all arguments with their values and correct types. You could use shapeless with their HList and records to represent what we have. But I do not really want to pull in shapeless as a dependency (it was this way some time ago).
All in all, I realize that generating a case class for each method is not so desriable because of compile-speed and generally because it introduces kind of unnecessary types. What we could do: invent our own type for storing an argumentlist (very similar to an HList in shapeless):
sealed trait ArgList extends Product with Serializable {
  def ::[H](h : (String, H)) = ArgCons(h._1, h._2, this)
}
final case class ArgCons[H, +T <: ArgList](name: String, head: H, tail: T) extends ArgList
case object ArgNil extends ArgList

In our macro, we would make every method construct a ArgList corresponding to its own method signature. Then this ArgList can be serialized by a serializer of your choice and send to the backend via your configured transport. For this to work, we would to make each serializer work with ArgList, but at least that would be a possibility. But I am not sure. I am totally open for new ideas :)
Does that make sense to you?

For another possible way to deal with this: autowire does serialize each argument individually and then gives you a Map[String, PickleType]. That works, but has the drawback that you often need to serialize twice, once each value and then once for the whole map. Additionally, I do not see how to make this work efficiently with binary serialization.
We could also try out what @deterdw (btw. sorry for taking so long) is proposing, which supports name-based and position-based serialization. We would probably serialize twice for this approach as well (each argument and then typically the whole structure), but maybe that it not too problematic.

Is there a way currently (with the latest scalajs 1 versions) to use sloth without requiring full automatic derivation?
If I just import boopickle.Default._ and let it do its thing, my fullopt-js output grows from 4 megabytes (using autowire+upickle) to over 8 megabytes, with the optimization taking nearly 10 times as long. (This is due to picklers being generated over and over, sometimes thousands of times for a basic type that's used everywhere)
On the JVM I don't really care about this duplication but it's obviously bad for the JS side.
I can get this back down mostly by adding implicit picklers for the most commonly used types and hoping they are picked up before the auto-derivation macros (which isn't all that easy depending on how types are imported), but it's not optimal and it's easy to forget. It'd be much easier to use boopickle.DefaultBasic._ (i.e. only semi-automatic derivation) and just fix the compilation errors - except that I then don't have the necessary picklers for the sloth generated case classes.
Does anyone have a suggestion? I like the performance/size of boopickle compared to upickle, and i like the ergonomics of sloth compared to autowire.
The PR in #19 doesn'y apply to the latest release.

@Dennis4b Agree on the problem with case class generation. For now, I have rebased the PR on the current master - so if you want, you can use it via jitpack. And make it work with the tuple serialization. This should reduce your problems of generated serializers.
I am not ready to merge the PR yet, because I would like to iterate on it again - to find a maybe better solution. Not sure yet.
Does that work for you?

Thank you for the quick reply and porting the PR! It works perfectly.
I've gone and annotated all types (about 700) with the boopickle semi-automatic derivation macros, and switched to using tuple serialization. My full-opt-js is now even a good bit smaller than it was using upickle.
I am very happy with this solution, thank you!

Fixed with  #100


Correct signature for Result.partition

Hello @jstasiak! I must confess, I hadn't been able to update to the latest version of ts-results-es until recently. I had a shower thought last night that the signature for Result.partition was actually incorrect.
const all1 = Result.partition([ok0, ok1, err0, err1]);
expect(all1).toEqual([
    [ok0.value, ok1.value],
    [err0.error, err1.error],
]);
eq<typeof all1, [[number, boolean, never, never], [never, never, symbol, Error]]>(true);

The signature above implies that all is equal to [[number, boolean, undefined, undefined], [undefined, undefined, symbol, Error]] but this is not how that function works. Successes and errors will be pushed onto the partition array as they come, and we can't guarantee what index the successes or errors will be at. The real result from that function would be [[number, boolean], [symbol, Error]]
I've updated the signature and tests to reflect this. Could we patch this in? Very sorry for the inconvenience.

Thank you @jstasiak! When can we expect this to be published? The 4.2.0 version has a bugged signature so to limit impact I think we'd want to patch this at your earliest convenience.


azd up shows subcriptions when unauthenticated and config.json empty

I'm testing out/documenting our commands and I got into a weird spot.

azd config reset
Create a new dir, cd into it, run azd init, select template (I chose todo-python-mongo-aca; not that it matters?)
Run azd up

Notice that azd:

Shows you the list of your subscriptions
Then shows an error telling me to authenticate/that it can't retrieve locations

I'm a bit confused because I'd assume that if my config is empty (which it is) and I'm not detected as authenticated that azd up should fail earlier and not show me any subs (because it doesn't have access to it?)

Side effect of subscription cache on login + logout after config reset.
We have an issue to avoid logging out when calling azd config reset which should fix this issue as well.
@weikanglim should we delete subscription cache on config reset? It might be a way to re-list subscriptions without logging out. For example, if I am added to a new subscription, I could just reset azd config and the. i would see the new sub, with no extra login

I was talking to @ellismg and we are in agreement that we should fix #1721 which will fix the logout behavior. He's looking into that as a quick fix.
I also think that if we reversed the azd up prompt as suggested in #2037, the correct prompts would have been shown. I'm looking into this pretty immediately.

+1 one on both of these items. Thanks for jumping on this quickly!

@weikanglim Will this be addressed by #2059

@savannahostrowski I think it fixes the UX in the user flow. The new experience is that you get:
ERROR: <maybe prefixed>: not logged in, run azd auth login` initially, before any prompts.
And with #2071 (in-PR), azd config reset will no longer log you out.


Update xaml.md

Fixes #14334
/cc @Thraka

@Thraka, Hope my changes are correct and not breaking something 😄

I have a feeling that these were TODO sections because @Thraka is still working on bringing that content over.

@mairaw, If that is the case, then this PR should be closed.

Hey there @Youssef1313 Thanks for looking at this, I do however have this assigned to myself to work on. I do have to double check some other related things and do a little processing on each section. It will be easier for me to work from the commented TODO instead of from your edits directly. I'll close this. Cheers!


F821 false positive when using ExceptionGroup

version:  ruff 0.6.4, Python 3.11.6
command: ruff check --isolated example.py
when using built-in ExceptionGroup
class MyGroup(ExceptionGroup):
    def derive(self, excs):
        return MyGroup(self.message, excs)

ruff raises F821
example.py:1:15: F821 Undefined name `ExceptionGroup`
  |
1 | class MyGroup(ExceptionGroup):
  |               ^^^^^^^^^^^^^^ F821
2 |     def derive(self, excs):
3 |         return MyGroup(self.message, excs)
  |

seems like a regression from https://github.com/astral-sh/ruff/pull/3167

Do you have a minimum Python version set, in your pyproject.toml or via --target-version? Otherwise, Ruff defaults to Python 3.8, and ExceptionGroup doesn't exist in that version.

maybe it is another issue but for me it fails finding anext when using python3.11
it was working fine with previous version but now it fails because of that
I think the problem comes from here: https://github.com/astral-sh/ruff/pull/13172/files/de081b67c3072829c21cf8176a96baef64793ba7#diff-a5297ef4a78229f14881c57e472a6a79dc17e6a5a9244a676dfa6276d10f0dab
anext was before and now it is not present in that same list: https://github.com/astral-sh/ruff/pull/13172/files/de081b67c3072829c21cf8176a96baef64793ba7#r1746582057

@bonastreyair could you share your configuration? anext is still in the builtins list but only when targeting Py310 or newer.

Py38
Py311

I started having similar problems, also with anext() and aiter().
Project.toml: https://github.com/bartfeenstra/betty/blob/0.4.x/pyproject.toml
Ruff failures: https://github.com/bartfeenstra/betty/actions/runs/10734022531/job/29768422099
Let me know if you need more details :)

Found my problem.
I had incorrect configuration in subdirectory, which didn't extend root config.
With correct configuration it works well
Thank you for your help!

Can we reopen this? I still have this problem, with a single root configuration file:
[lint]
extend-select = [
    'A',
    'B',
    'C4',
    'D',
    'F',
    'INT',
    'PT',
    'PTH',
    'SIM',
    'SLOT',
    'T20',
    'TCH',
]
ignore = [
    'D105',
    'D107',
    'D200',
    'D203',
    'D212',
    'D401',
    'F501',
    'PTH123',
    'SIM103',
]

[lint.per-file-ignores]
"betty/tests/*" = [
    'D100',
    'D101',
    'D102',
    'D103',
    'D104',
    'D106',
]

The fix is to specify the requires-python setting to a version that supports ExceptionGroup.

requires-python = '~= 3.11' in https://github.com/bartfeenstra/betty/blob/0.4.x/pyproject.toml, yet Ruff fails on ExceptionGroup, aiter, anext... I tried a simpler constraint of requires-python = '>= 3.11' but that did not seem to change Ruff's output.

@bartfeenstra I don't think ruff picks up the requires-python constraint if you also have a .ruff.toml because the .ruff.toml takes precedence. You have to explicitly set the target-version in the ruff.toml. The alternative is to move the ruff configuration into the pyroject.toml.

That makes sense! I'll give that a try shortly. Thank you!


Right align nav menu and move locale switcher

to be combined with the right user avatar grid
move LocaleSwitcher component to navbar

Between 960 and 1270px screen width the buttons for login/register are not visible

@vikinatora Yeah, that is expected behavior, it looked okay when I was doing it initially
Any ideas are welcome


include: zephyr: sys: util: add common is_null() utility function and use it to squelch warning with CONFIG_COMPILER_SAVE_TEMPS=y

Some macros may need to check their arguments against NULL to support multiple use-cases, but NULL checks can generate warnings for a given use of those macros (where that particular argument can never be NULL).
This can happen if:
a) all macros are expanded (e.g. when using CONFIG_COMPILER_SAVE_TEMPS=y)
or
b) tracking of macro expansions are turned off (-ftrack-macro-expansion=0)
This warning can be circumvented by passing the argument to be checked to an inlined function for doing the NULL check. The compiler is still able to  optimize this out at a later stage.
Move the private ___is_null() helper function introduced in d51f874158038b1bc3b087604971132ebaaeb0f8 to include/zephyr/sys/utils.h and rename it to is_null() to facilitate reuse.
Use the function to squelch the warning in both can.h and i2c.h.
Fixes: #70390

only nit is that other functions in this file are using inline keyword, but the new one using ALWAYS_INLINE


Annotate updated fields when apply objects

When applying objects to cluster, annotate them with
ksonnet.io/managed. This annotation is an array which includes a
JSONPath to all to updated fields.
If a field as an array and contains an object with a name field, create
a selector which defined a route to that field.
Signed-off-by: bryanl<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 871

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

Totals

Change from base Build 869:
0.0%

Covered Lines:
78

Relevant Lines:
6489

💛  - Coveralls


Consistent crashes in specific folders - unclear what causes it

Description
I've started having frequent crashes, it seems to happen every time I navigate to certain folders, and scroll up/down left/right fast...
I'm not sure what causes it, but it happens every time, and there's an error in the log as :
2022-04-27 10:57:26.1429|ERROR|AppUnhandledException|Layout cycle detected.  Layout could not complete.
Layout cycle detected.  Layout could not complete.
	Windows.UI.Xaml.LayoutCycleException: Layout cycle detected.  Layout could not complete.
Layout cycle detected.  Layout could not complete.

Buggy examples:

C:\Users\username\SharePoint\Delivery Lwie - Documents\10_Projets\xxxxx\10_PILOTAGE_GENERAL\Bons llslwerrd 2022-2023. It has : PDFs, excels, words, 16 elements.
C:\Users\username\Sharepoint\Delivery Lwie- Documents\80_LWE Rate\Archives 2018 , 42 item s no sub folders.
C:\Users\username\Downloads\Subfolder owoiewoiwe\Sub - kwelkwe lkwe\Folder sur be la la, 80 items, only pdfs, powerpoints, words, pngs. This one seems harder to crash, I had to scroll around like crazy it seems, but I still get the same debug log error after it crashes.

Working examples :
Doesn't crash : C:\Users\username\Sharepoint\Delivery Lwie - Documents\80_LW Rate\Archives 2019 with 9 items (no sub folders).
Maybe it's due to the number of items in the folder ?
Files doesn't crash if I go to those folders but don't scroll, but crashes as soon as I scroll around a bit fast. It doesn't seem to crash if I scroll a tiny bit at a time.
It happens wether or not the experimental feature to show folder sizes is on or off.
Steps To Reproduce
No response
Expected behavior
No crash should happen
Files Version
Version : <IP_ADDRESS> OS Version: 10.0.22000.613
Windows Version
Windows 11 Pro Version	21H2 1000.22000.613.0
Relevant Assets/Logs
debug.log
debug_fulltrust.log

Is this still an issue in the latest preview build? https://files.community/download/preview


Clarity on TPS estimates with recent product roadmap updates with Async Backing / Agile Coretime etc.

I am asking on behalf of @dorloechter, he is looking for TPS estimates based on recent product roadmap updates with Async Backing / Agile Coretime etc. Would sTPS continue to be a good resource for this effort? Or will there be another resource we can potentially refer to?

~700 sTPS after async backing. Agile Coretime has nothing to do with throughput.


Sqs processing spans

This PR was originally in opentelemetry-ruby. Migrated it over to -contrib because we moved instrumentation here.
Original description from @YanivD follows:

This pr discussed as part of https://github.com/open-telemetry/opentelemetry-ruby/pull/1026

What's added in this PR?

Added config option extract_messaging_context disabled by default.
Extracting context propagation for SQS.ReceiveMessage method. In addition to the receive span, it creates an empty process span for every processed message, linking to the producer span.

Context propagation strategy
Currently SQS doesn't natively support propagating the OTEL context.
Used JS aws-sdk instrumentation as an inspiration for this PR. It use message attributes to populate propagator fields.
Limitations
SQS support up to 10 message metadata attributes. Context fields will not be injected into the sqs message attributes if it will cause the limit to be reached.


Remove Kernel selector

This is old redundant code, it doesn't work corectly (very small number of users hit this scenario).

Codecov Report

Merging #7608 (a65d69a) into main (21c5ebb) will decrease coverage by 0%.
The diff coverage is 64%.

@@          Coverage Diff          @@
##            main   #7608   +/-   ##
=====================================
- Coverage     66%     66%   -1%
=====================================
  Files        365     364    -1
  Lines      22660   22602   -58
  Branches    3445    3438    -7
=====================================
- Hits       15103   15059   -44
+ Misses      6269    6260    -9
+ Partials    1288    1283    -5

Impacted Files
Coverage Δ

src/client/datascience/jupyter/jupyterExecution.ts
64% <0%> (+1%)
:arrow_up:

src/client/datascience/serviceRegistry.ts
98% <ø> (-1%)
:arrow_down:

...ient/datascience/jupyter/kernels/kernelSelector.ts
57% <69%> (-24%)
:arrow_down:

...ence/editor-integration/cellHashProviderFactory.ts
97% <0%> (-3%)
:arrow_down:

...lient/datascience/variablesView/notebookWatcher.ts
84% <0%> (-2%)
:arrow_down:

...lient/datascience/jupyter/kernels/cellExecution.ts
78% <0%> (+<1%)
:arrow_up:

...client/datascience/kernel-launcher/kernelDaemon.ts
57% <0%> (+1%)
:arrow_up:


Copyright Licensing

I noticed that this repo lacks a copyright license. Was this intentional or is there a possibility of adding an Apache license?

i added a licence file (using MIT to be aligned with many of other other repos)

i added a licence file (using MIT to be aligned with many of other other repos)


TypeScript debugging experience in Visual Studio

The Visual Studio TypeScript tools generate a sourcemap that is optimal in Visual Studio, because it not only allows you to debug from Visual Studio with Internet Explorer, but the file that opens when a breakpoint is hit is the actual .ts file, and not a "purple" (dynamic) tab. It allows for a very productive "Edit, F5 and continue" development experience.
For it to work, the map file must have this precise structure, and no variation seems to be working: the source files must be specified relative to the output path, and the sourceRoot has to be "" (the empty string). Therefore, I'm trying to reproduce this exact same result with gulp-sourcemaps.
{"version":3,"file":"app.js","sourceRoot":"","sources":["../app/file1.ts","../app/file3.ts","../app/file2.ts"],"names":[],"mappings":"..."}
Here is what I managed to accomplish until now:
{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "system",
    "outFile": "wwwroot/app.js"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

var tsProject = ts.createProject('tsconfig.json', { sortOutput: true });
    var tsResult = tsProject.src()
        .pipe(sourcemaps.init())
        .pipe(ts(tsProject));

    return tsResult.js
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('wwwroot/app'));

But it gives me this map file, which doesn't event hit any breakpoint:
{"version":3,"sources":["file1.ts","file3.ts","file2.ts"],"names":[],"mappings":"...","file":"app.js","sourceRoot":"app"}

I have tried all kinds of combinations with destPath, sourceRoot, etc. in 1.6.0 and 2.0.0, but nothing seems to deliver the expected result.
Any idea?

After reading the gulp-sourcemaps source code, we devised this solution that seems to match all our criteria (buildable from Visual Studio TypeScript integration or from gulp with identical results + live file debugging in Visual Studio). It overrides the tsconfig outFile, forces an empty sourceRoot, and prefixes all the sources with the relative path from the output file to the TypeScript application root.
Let's hope someone else will find it useful.
var tsProject = ts.createProject('tsconfig.json', { outFile: 'app.js'  });

gulp.task('scripts', function () {

    function prefixSources(prefix) {
        function process(file, encoding, callback) {

            if (file.sourceMap) {
                for (i in file.sourceMap.sources) {
                    var source = file.sourceMap.sources[i];
                    file.sourceMap.sources[i] = prefix + source;
                }
            }

            this.push(file);
            return callback();
        }

        return through.obj(process);
    }

    var tsResult = tsProject.src()
        .pipe(sourcemaps.init())
        .pipe(ts(tsProject));

    return tsResult.js
        .pipe(prefixSources('../../app/'))
        .pipe(sourcemaps.write('.', { sourceRoot: '', includeContent: false }))
        .pipe(gulp.dest('wwwroot/app'));
});

gulp-uglify and gulp-sourcemap dont' work together correctly on typescript  (angular 2) files.
I hade to disabled gulp-uglify. But the bug can be in gulp-sourcemap.

Closing this as a duplicate of one of the many issues about typescript.


rust: track position within decoded message

Adds basic support for tracking total bytes consumed when decoding messages and sequences.
This will be useful for debugging (e.g. adding to the error types) but that in particular is left for a follow-up PR.

Codecov Report

Merging #94 into develop will decrease coverage by 0.92%.
The diff coverage is 20%.

@@             Coverage Diff             @@
##           develop      #94      +/-   ##
===========================================
- Coverage     79.1%   78.18%   -0.93%
===========================================
  Files           13       13
  Lines          651      660       +9
===========================================
+ Hits           515      516       +1
- Misses         136      144       +8

Impacted Files
Coverage Δ

rust/src/decoder/message.rs
80.43% <20%> (-1.69%)
:arrow_down:

rust/src/decoder/sequence.rs
73.94% <20%> (-2.58%)
:arrow_down:

Continue to review full report at Codecov.

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


Secure connection via https

Hi
Is there a way to allow secure connection (HTTPS) in serve() using own certs?
Or do we have to use other libraries like http.server?

Sorry for the delay. Your last line is correct. serve is just to start a basic development server. For any more use a library.


Discard messages that were fetched under a previous consumer group generation

As described in https://github.com/zendesk/ruby-kafka/issues/664, when a consumer re-joins a consumer group, it instructs the fetcher to asynchronously reset and seek to committed offset positions. The consumer will then continue processing fetched messages until the reset and seek take place. When the seek eventually occurs, it will seek to offsets < most recently processed messages.
This PR tags fetched message batches with the consumer group generation_id that was active when fetch took place. When a consumer re-joins a group and receives an incremented generation_id, it passes the generation_id along to the fetcher reset command. Then, the consumer discards messages until it sees the current generation_id in fetched batches and can be assured that the reset occurred.
An alternative to this implementation would be to make Fetcher#reset synchronous.
Closes https://github.com/zendesk/ruby-kafka/issues/664

This idea of adding generation to fetcher is a smart idea. We used to step on this problem before and end up replacing the default Queue by a handmade locking array (https://github.com/zendesk/ruby-kafka/pull/660/files). By following your idea, the fetcher now can easily clean up the queue, or even clean up just only a particular partition (used in pause mechanism).
But I think we can make some changes to make it simpler and easier to extend in future. The generation id in the fetcher seems not to relate to and should not depend on the consumer group's generation id. Therefore, I suggest to maintain a generation in the fetcher, starting with 0 when it starts, and increases when the fetcher is resetted. When giving out the messages for the outsider, the fetcher rejects stale generations.
What do you think about this?

I should have mentioned this in my previous comment - the code has been updated per @nguyenquangminh0711's suggestion.


[feat]: report vehicle as stolen

Describe the feature
Report a registered vehicle as stolen. When searching the vehicle in Vehicle Search it will be displayed that the vehicle was reported as stolen.
Additional Context
No response

@Dev-CasperTheGhost how this feature should work?

When editing a registered vehicle, it will allow you to set it Report as stolen


Add SIMD

Options:

https://github.com/JuliaSIMD/LoopVectorization.jl
https://github.com/mcabbott/Tullio.jl

How type-generic are they?

LoopVectorization is deprecated, closing for now


ChatMemory is persisted over request boundaries

I was not looking a bit more into the examples from the guides page and especially the chat memory management (https://docs.quarkiverse.io/quarkus-langchain4j/dev/ai-services.html#memory). Unfortunately, I got a bit confused when I tested it as it seems to behave quite different from what I initially expected. Hopefully you can help to clarify things.
In the example code, the ChatMemoryBean is created as a RequestScoped bean. However, when you just use it, its get method is only called once with default as memoryId. At the end of the first request, it's close method is also called (as expected) and the memories map is freed. However, when you do the second request, the bean is not used any more and no new memory is created. Instead, all other requests just use the same memory.
Is this expected? If yes, why is the bean even request scoped?
One thing I noticed is that the get method is called by dev.langchain4j.service.AiServiceContext. And AiServiceContext itself has a map doing basically the same as ChatMemoryBean in the sense that it has a map from memory id to ChatMemory. I think this is where the memory lives longer than the request scope.
see also https://quarkusio.zulipchat.com/#narrow/stream/187030-users/topic/Quarkus.20Langchain.3A.20Chat.20Memory.20Management.20Questions

I think this might also play into #47.

Yeah, that's a more general thing we need to address.

https://github.com/quarkiverse/quarkus-langchain4j/pull/96 should take care of it


[AMBARI-23837] Remove "Stack and Versions"

What changes were proposed in this pull request?
Removed "Stack and Versions" view and a lot of related code that is no longer needed.
How was this patch tested?
All unit tests passing.
Installer unaffected.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2291/
Test FAILed.
Test FAILured.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2304/
Test FAILed.
Test FAILured.


Write vignette for Bioconductor

Goal: Publish code samples/vignettes for loading matrix service data into three different single cell analysis toolkits. This will be modeled on the scanpy vignette.
See SingleCellExperiment

The plan is to request a matrix in loom format and create a LoomExperiment.

Closed by #334.


⚠ Jerry Savelle Ministries International Australia has degraded performance

In 1082e8a, Jerry Savelle Ministries International Australia (https://jsmiaustralia.org) experienced degraded performance:

HTTP code: 200
Response time: 9185 ms

Resolved: Jerry Savelle Ministries International Australia performance has improved in dbc8498 after 7 minutes.


Linux deployment of veasyform not using my custom error messages!

I used your example form:
https://github.com/Albert-Gao/veasy/tree/master/example
I added a custom error message as follows:
        this.formSchema = {             title: { minLength: [3, 'Its too short'] },             description: { minLength: [5, 'not good'] },             answer: { default: "not care" }         };
When I run locally on my windows laptop it works great. I see the custom error message: "Its too short".
I run via npm start which runs:
webpack-dev-server --progress --colors --inline --env.dev
But when I run the production build locally:
npm run-script build which generates a /build folder and an index.bundle.js etc. via:
webpack -p --progress --env.prod
I see the default error message: "title's length should be equal or greater than 3,Its too short. Current: 1" ! It's ignored my custom error message! The error message doesn't vanish when the minLength >=5! It seems my validation is being ignored!...
But I see my new code above in the Chrome react debug console. I don't see any errors in the console tab.
My package.json is:
{   "name": "ui",   "version": "1.0.0",   "description": "UI",   "author"<EMAIL_ADDRESS>  "url": "https://me.com",   "copyright": "Copyright 2017",   "license": "MIT",   "private": true,   "homepage": ".",   "devDependencies": {     "babel-core": "6.26.0",     "babel-loader": "7.1.2",     "babel-plugin-transform-object-rest-spread": "6.26.0",     "babel-preset-env": "1.6.0",     "babel-preset-react": "6.24.1",     "copy-webpack-plugin": "4.0.1",     "css-hot-loader": "1.3.1",     "css-loader": "0.28.7",     "extract-text-webpack-plugin": "3.0.0",     "file-loader": "0.11.2",     "html-loader": "0.5.1",     "html-webpack-plugin": "2.30.1",     "node-sass": "4.5.3",     "rimraf": "2.6.2",     "sass-loader": "6.0.6",     "source-list-map": "2.0.0",     "style-loader": "0.18.2",     "uglify-js": "3.1.1",     "url-loader": "0.5.9",     "webpack": "3.6.0",     "webpack-dev-server": "2.8.2"   },   "dependencies": {     "bootstrap": "4.0.0-beta.2",     "chart.js": "2.7.0",     "font-awesome": "4.7.0",     "history": "4.7.2",     "is-url-external": "1.0.3",     "jquery": "3.2.1",     "popper.js": "1.12.6",     "react": "15.6.1",     "react-bootstrap-table": "4.0.6",     "react-chartjs-2": "2.6.2",     "react-dom": "15.6.1",     "react-router-dom": "4.2.2",     "react-transition-group": "1.2.0",     "reactstrap": "4.8.0",     "simple-line-icons": "2.4.1",     "veasy": "^1.4.5"   },   "scripts": {     "dev": "webpack -d --progress --watch --profile --json > compilation-stats.json --env.dev",     "start": "webpack-dev-server --progress --colors --inline --env.dev",     "build": "webpack -p --progress --env.prod",     "clean": "rimraf ./build"   },   "engines": {     "node": ">= 6.0.0",     "npm": ">= 5.0.0"   } }
Have you seen similar behaviour?

Sorry for the bug, updated from NPM. Should be fixed now.
It caused by the uglify procedure which will change the function name that the code relies on. :(

I took version 1.4.6 and validation NOW works with uglify! Wonderful! Thank you, thank you!


Performance tweaks

I'm going to investigate eking out a few more performance gains:

[x] Garbage Collection:

[ ] GCHighMemoryPercent: link we could use this to make .NET be more aggressive about GC-ing
JEFF UPDATE: I don't think it makes sense for us to set this.  We'll set GCConserveMemory instead.

[x] GCConserveMemory: link we should also look into this
JEFF UPDATE: It looks like we've already added runtime settings to the csproj files.  I've broken them out into separate  sections.
It appears that GCConserveMemory cannot be set in the csproj file, so I'm going to add app.config files with GCConserveMemory = 7 (which is quite aggressive, max=9) to the NEONKUBE services where this makes sense.
JEFF UPDATE 2: I ended up adding an app.config file to all of our .NET service apps for consitency, but set GCConserveMemory = 0 for services that don't need to be constrained.

[x] XML Code Doc files: We're including codedoc XML files in our container images.  For neon-acme these total about 3MB.  I'm going to add a neon-build command that looks for and deletes these and then call that from our container build scripts
JEFF UPDATE: It makes more sense to have the core-layers tool do this.

[x] I also see that it's possible to set app runtime settings in csproj files.  I'm going to look into that because that'll be nicer and be more discoverable.
JEFF UPDATE: I see that runtime settings are already being specified in the csproj files.  I'm going to break them out into their own .

DONE

Marcus had the Helm charts doing the correct thing already, so I'm basically just reverting now.


Slow uniform update behavior?

When working on the Gizmo, it looked like updating the material uniforms of all elements) was slow (nearing one second). But I think the object uniforms are updated about on each draw (because the gizmo's matrix changes). This is odd and should be investigated  🤔

I looked into this. I confirmed that the uniform buffer of all 18 or so objects is updated on each draw, and this has no noticeable performance penalty.
I'm now pretty sure that this issue was because of changing the opacity. When the opacity changes from opaque to transparent (or the other way around) the pipeline is rebuild, because it needs a different approach to get correct blending. And this takes way longer than a uniform update. I think that at the time, I first reset opacities to a default and then determined their actual values, so the chance of invoking a few pipeline rebuilds was pretty big.
Ideally, the prop should remember the old value and determine whether it needs a rebuild JustInTime ... maybe someday.

Ideally, the prop should remember the old value and determine whether it needs a rebuild JustInTime ... maybe someday.

Or keep a (LRU?) cache of the outcome of pipeline builds? Or both? :) Just a thought for future reference.


Tab completion + local and /bin load and execute

this has been added in https://github.com/AgonConsole8/agon-mos/pull/43 and released as part of 2.2.0


[TW#20519] Is the documentation on xRingbufferAddToQueueSetRead and friends inverted?

See: https://github.com/espressif/esp-idf/blob/bae9709a7950e2ee08e14c65be27831bcb547105/components/freertos/include/freertos/ringbuf.h#L304
It says for xRingbufferRemoveFromQueueSetRead: This specifically removes the semaphore that indicates more space has become available in the ringbuffer.
Isn't that the wrong way round? It's the semaphore that indicates something has been written to the ringbuffer (which we can now read).
Same for all 4 methods there.

Ringbuffers will be reworked as part of the upcoming release 3.1


Great videos on MSIX.

Informative walkthrough on MSIX. Would love to know more about the improvements of MSIX on VDI.

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

ID: 915f8c22-43ba-79bd-140a-09665fdc6dbb
Version Independent ID: 8148245b-80c1-7062-ace3-44c61c03eff7
Content: MSIX videos - MSIX
Content Source: msix-src/team-video.md
Product: msix
GitHub Login: @dianmsft
Microsoft Alias: diahar

We've added an MSIX App Attach video to the page. Have a look at:
https://www.youtube.com/watch?v=6kkPLFgPaN8
and
https://www.youtube.com/watch?v=QLDu6QVohEI


new Sheet - Licantropo Maldição de Sangue -  for solo10 system

Submission Checklist
Required

[X] The pull request title clearly contains the name of the sheet I am editing.
[X] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[X] The pull request makes changes to files in only one sub-folder.
[X] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: (Licantropo Maldição de Sangue)_

The publisher of this game is: <   > (101games)

The name of this game system/family is: <   > (Solo10)

[X] I have followed the Character Sheets Standards when building this sheet.

[X] I have authorization from the game's publisher to make this an official sheet on Roll20 with their name attached.
[X] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: https://www.101games.com.br/product-page/licantropo-maldição-de-sangue-pdf
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Character Sheet Info Roll20 Internal Use only.

Hello, @jarbascjunior2!
Thank you for your contribution. In your sheet.json, the file names need to match exactly. For the preview image, you have licantropo.png but your png file is capitalized. Once that is updated, I'll get this merged!

Thank you for the feedback


Release

@vsevel @gastaldi @zhfeng Before we merge this one: do you plan a release of quarkus-pooled-jms and/or quarkus-ironjacamar for Quarkus 3.13.0?
We need to make a minor bump since this is the first release after the jandex-index update.

No planned releases for quarkus-ironjacamar so far

Okay, I just double-checked; we have no dependency on pooled-jms, so we are good to go.

I integrated 3.4.0 in my quarkus 3.13 test app and verified that all was ok.
thanks for the quick fixes and releases @turing85 @gastaldi @zhfeng


ngettext returns undefined if there is either invalid plural or catalog with empty array provided.

Branch description
We've managed to situation when in catalog we had:
const newcatalog = {
  '%s something': [],
  ...
}

When we invoked window.ngettext('%s something', '%s somethings', 1); the ngettext function returned undefined which caused the window.interpolate to be called with undefined and the page crashed.
The proposed solution is to always return string with a fallback to original string provided.
Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[ ] I have added or updated relevant tests.
[ ] I have added or updated relevant docs, including release notes if applicable.
[ ] For UI changes, I have attached screenshots in both light and dark modes.

Oh, I am sorry! I did it in a bit rush.
Closing this now, and will make this in a right way

Oh, I am sorry! I did it in a bit rush. Closing this now, and will make this in a right way

Thank you, we appreciate this! :100:


Wheel packages with extensions do not get static version file

For packages containing native code extensions, versioneer will not bundle a static version file when creating a wheel. sdist distributions do get static file.
For example:
wget https://files.pythonhosted.org/packages/c6/76/cb7ac54f89dfb0a43dab5f15e7a7cfffc7755379af53bd833b731cca79df/ssh2_python-0.9.0-cp27-cp27m-manylinux1_x86_64.whl

ssh2/_version.py  in the wheel is the git version and requires git to be installed.
The source distribution package on the other hand has the static version.

I'm running in to this same issue when building my package on travis CI. I think this is the same issue described in #129. Using travis' builtin deploy stuff it seems they run sdist and bdist_wheel as separate commands or at least it doesn't work as we hope/expect.
Does anyone have some work arounds for this?


Terms & Agreement compliant

Hi,
It's very nice to be able to play vimeo with this.
BUT I have 1 big question. Does this code comply with ToS of Vimeo?
Will using this code cause my app to be blocked?
Regards;

Hello @chamroeunbm,
I just walked through Vimeo ToS and I can't find anything against this library. I'm not entirely sure but I guess you can use it without risk of rejects.
Best regards


style(index): add JSDOC

Add JSDOC to all public functions
WIP because i am not sure for some descriptions

un-drafted this PR because only one thing is "TBD"(to be done), which is to give a jsdoc description of a function (see review-comments above)


fix(pagination): load all workflows, not just the first 30

We started using the exporter in our company, but noticed its crashing when we try to export repository workflow data.
After some time investigating we found that the workflowCache was not populated with all existing workflows. Due to our monorepo having a lot of workflows (more than 30) some where left out, due to missing pagination.
This PR fixes this.
Based on
EDIT:
After noticing some other querries where also not using pagination, I also added it to them e.g. every github call that takes ListOptions now consumes the api via pagination

I believe these changes were landed in this PR:
https://github.com/Spendesk/github-actions-exporter/pull/48
Can you verify?

This pr can be closed.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Coverage remained the same at 91.489% when pulling 05a42eb83ffa49807e6f40f02bf4a303533bc335 on template-sync-1 into 65db22b867f292b2ad3844796ecc75484ef9feaf on master.


Cast category_id field value from str to int

This PR casts the category_id field value from str to int data type to be consistent with the COCO data format.
I have also checked the other fields and found everything is consistent with the format outlined in https://cocodataset.org/#format-data
Closes #46

Hi @dnth , thank you! But it looks like the change you made has failed one of the test cases. It is getting an errror " ValueError: cannot convert float NaN to integer"
That test is running this notebook https://github.com/pylabel-project/samples/blob/main/yolo2coco.ipynb
Could you try your change on the dataset that is used in that notebook? I think there may be some null values that are causing the error. Most of the issues that people report are due to some kind of null values in the data sets.
There are safe ways that you can convert the field to an int while leaving null values as null, and making an error.
You can see this readme for how to run the test cases before you make a pull request https://github.com/pylabel-project/pylabel/tree/dev/tests
Thanks again Dickson

Hi @dnth , thank you! But it looks like the change you made has failed one of the test cases. It is getting an errror " ValueError: cannot convert float NaN to integer"
That test is running this notebook https://github.com/pylabel-project/samples/blob/main/yolo2coco.ipynb
Could you try your change on the dataset that is used in that notebook? I think there may be some null values that are causing the error. Most of the issues that people report are due to some kind of null values in the data sets.
There are safe ways that you can convert the field to an int while leaving null values as null, and making an error.
You can see this readme for how to run the test cases before you make a pull request https://github.com/pylabel-project/pylabel/tree/dev/tests
Thanks again Dickson

Ahh i see.. I didn't consider that before I made the PR.. I have amended to check for na value and ran the tests. Tests are passing on my machine. Could you please check if the code is optimal?

I find that I need to install the following before I can run the test:
pip install pytest
pip install pytest-lazy-fixture
pip install nbmake
Do you think we should add it in the test [readme]https://github.com/pylabel-project/pylabel/blob/dev/tests/README.md to make it easier for first time contributors?

Thank you @dnth that looks like a good fix. I have accepted the PR and release v.37 with the fix. Could you give it a try?
Also I have added some info to the tests readme on how to install the requirements https://github.com/pylabel-project/pylabel/tree/dev/tests.
And I should also make a better guide for contributors. That is on my to do list :)

Thank you @dnth that looks like a good fix. I have accepted the PR and release v.37 with the fix. Could you give it a try?
Also I have added some info to the tests readme on how to install the requirements https://github.com/pylabel-project/pylabel/tree/dev/tests.
And I should also make a better guide for contributors. That is on my to do list :)

Yay! Looks good to me!


Mask colons in segment paths

Again a Windows thing, but the evaluator paths should not contain colons. We mask them with $colon.
Fix https://github.com/com-lihaoyi/mill/pull/2923
This PR depends on PR #2964

Since we're escaping things with $, should we also mask $ with $$ to avoid potential conflicts?

Since we're escaping things with $, should we also mask $ with $$ to avoid potential conflicts?

Can you a bit more specific. What do we mask with $ and which conflicts do you expect with this concrete $colon?

@lihaoyi Did you mean the name mangling for private inner classes in Scala? Or something else?
I think the masking I introduce here doesn't need to be bijective. It's only from segment path to file path. So, the question is, will two different segment paths project to the same file path?

@lefou oh I wasn't thinking about Scala compiler name mangling, I was more thinking about potential collisions caused by Mill's own mangling. Like if we have two tasks, with names a:b and a$colonb, they would collide unless we escaped the $ such that a$colonb becomes a$$colonb
This isn't an edge case likely to cause any issues in practice, but it's definitely a thing


Problem wiht:!clinicadl train slice cnn <caps_directory> "t1-linear" data/labels_lists/train results/slice_cnn resnet18 --n_splits 5

Hello, I tried to do transfer learning as following:
!clinicadl train slice cnn Oasis1Data/Oasis1D4Caps "t1-linear" Oasis1Data/programOutput/slice_cnn resnet18 --n_splits 5
Note: Oasis1Data/programOutput/slice_cnn is the output dir I specified.
(Based on instruction:https://github.com/aramis-lab/Notebooks-AD-DL/blob/master/training.ipynb)
2D-slice single-CNN training
!clinicadl train slice cnn -h
#!clinicadl train slice cnn <caps_directory> "t1-linear" data/labels_lists/train results/slice_cnn resnet18 --n_splits 5
I got following error:
Usage: clinicadl train [OPTIONS] {classification|r
egression|reconstruction}
CAPS_DIRECTORY
PREPROCESSING_JSON
TSV_DIRECTORY
OUTPUT_MAPS_DIRECTORY
Try 'clinicadl train -h' for help.
Error: Invalid value for '{classification|regression|reconstruction}': 'slice' is not one of 'classification', 'regression', 'reconstruction'.
How to do transfer learning?
Thanks

Hello @SonaLily,
The notebook you used works with an old version of ClinicaDL (<1.0) and will not work with recent versions of ClinicaDL.
If you use a version >=1.0, which seems to be the case, please refer to the documentation that is up-to-date.
⚠ Actually the command line used to train a model is totally different !
In your case, you will need to use the train command line with the task that you try to achieve (classification I believe) and give the mandatory arguments as specified in the error message:

CAPS_DIRECTORY => Oasis1Data/Oasis1D4Caps
PREPROCESSING_JSON => the name of the file that has been created when extracting tensors
TSV_DIRECTORY => path to your cross validations TSV (if you have 5 splits)
OUTPUT_MAPS_DIRECTORY => Oasis1Data/programOutput/slice_cnn

Then complete your command line with the options you would like to use:

--architecture resnet18
--n_splits 5
and your specific arguments for transfert learning --transfer_path and --transfer_selection_metric.

The command you will use should look like:
clinicadl train classification Oasis1Data/Oasis1D4Caps /name/of/json /path/to/tsv Oasis1Data/programOutput/slice_cnn --architecture resnet18 --n_splits 5 --transfer_path /path/to/transfert

You will find more information about transfert learning in the documentation.
I hope all these changes does not lead to confusion. Do not hesitate if it is not clear.

Hello! Thanks for all the detailed suggestions!
I just have a quick question for the --transfer_path /path/to/transfert command, what do I put into the path part of the command? And how do I get the transfer files?

Hello,
the --transfer_path option takes the path to a MAPS directory where the weights of your source model are stored. The fact that it is a MAPS and not directly a pytorch file might actually be limitation.
The source model is a pre-trained model, so the transfer file are a pre-trained model that you will use has a source model.
FYI the ew version of ClinicaDL (v1.1.0) has been released, with a few new features and bug fix !


ERROR TypeError: Cannot read properties of undefined (reading 'addControls') in Angular 13

Similar to #1220 (and have also had that problem), I am running into map.pm being undefined, and I am not sure why. I created a demo project as a POC and it worked great. I take that same code into my actual project and map.pm always ends up being undefined. Leaflet is imported, then geoman at the head of the ts file, and then my map is init'd the exact same way as my POC, but no dice. Would love any suggestions on where to look.
    this.map = map(this.mapId, {
      center: [39.8282, -98.5795],
      zoom: 3,
    });
    const tiles = tileLayer(
      'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
      {
        maxZoom: 18,
        minZoom: 3,
        attribution:
          '© OpenStreetMap',
      }
    );

    tiles.addTo(this.map);
    control.scale().addTo(this.map);
    this.featureGroup.addTo(this.map);
    function logEvent(e: any) {
      console.log(e);
    }
    this.map.pm.addControls({})

This fails at the addControls() in the real project, but not in POC, with the only difference between real and POC and the mapId. A map is displayed with scale and +/- controls.
Edit:
Trying to get pm working, I tried PM.reInitLayer which also failed with PM being undefined.

How do you include / import Leaflet-Geoman & Leaflet?

Geoman is imported directly after leaflet, and leaflet is the second import in the component:
import {
  Map,
  map,
} from 'leaflet';
import '@geoman-io/leaflet-geoman-free';

I have also tried importing leaflet as import * as L from 'leaflet'
The results are the same either way in my non-working project, but also work fine in my proof of concept project.

Geoman should apply to the gloabl L, so I think you should use import * as L from 'leaflet'.
Maybe window.L = L before importing geoman helps.
Is it possible to share your project and POC?

My project, no, but here is my POC:

As far as it goes, I have copied all the leaflet pieces in this component in the POC and dropped in place in my actual project, and no luck. In this POC I don't use L, and all works fine. I have compared searching this project and my live project to compare just search results for 'geoman' and compared, and everything is exactly the same. I'm sure there is something dumb on my end that I missed, but for the life of me see it.
In the meantime, I will try what you suggested with window.L and see what happens. Thanks for looking!

Finally got to a point to look at this - I did have a couple other plugins (leaflet-draw among them) that I am intending to replace with Geoman, but even fully removing them does not seem to fix it. As best I can tell, I only have leaflet itself and Geoman  as leaflet related plugins, but it still gives me undefined for pm when I try and access it.
Some additional context of the component, if it helps:
My imports, other than angular itself, and my own project pieces
import { Geometry } from '@turf/turf';
import { Feature } from '@turf/helpers';
import {
  Map,
  FeatureGroup,
  geoJSON,
  LeafletMouseEvent,
  map,
  tileLayer,
  icon,
  IconOptions,
  Marker,
  control,
} from 'leaflet';
import '@geoman-io/leaflet-geoman-free';

And, simplified to barest failing state, the initMap() function being called from ngAfterViewInit (same as my POC):
  private initMap(): void {
    this.map = map(this.mapId, {
      center: [40, -100],
      zoom: 3,
      layers: [this.openStreetLayer()],
    });
    this.map.pm.addControls({});
    control.scale().addTo(this.map);
    control.layers(this.baseMaps, {}).addTo(this.map);

What if you import leaflet like import * as L from 'leaflet' instead of:
import {
  Map,
  FeatureGroup,
  geoJSON,
  LeafletMouseEvent,
  map,
  tileLayer,
  icon,
  IconOptions,
  Marker,
  control,
} from 'leaflet';

And do you import leaflet / geoman multiple times?
It's hard to help if the POC works ... 😄

I have done that previously in testing, and tried it again just to be make sure I did, but still the same result.
And yeah, it's why I'm here, because it's really annoying that it doesn't
Here's what I have right now:
  private initMap(): void {
    this.map = L.map(this.mapId, {
      center: [40, -100],
      zoom: 3,
      layers: [this.openStreetLayer()],
    });
    this.map.pm.addControls({});
    L.control.scale().addTo(this.map);
    L.control.layers(this.baseMaps, {}).addTo(this.map);
  }

Again with pm being undefined.

Please share your package.json / versions of leaflet and all plugins

  "dependencies": {
    "@angular/animations": "13.3.11",
    "@angular/cdk": "13.3.9",
    "@angular/common": "13.3.11",
    "@angular/compiler": "13.3.11",
    "@angular/core": "13.3.11",
    "@angular/forms": "13.3.11",
    "@angular/platform-browser": "13.3.11",
    "@angular/platform-browser-dynamic": "13.3.11",
    "@angular/router": "13.3.11",
    "@geoman-io/leaflet-geoman-free": "^2.13.0",
    "@ng-idle/core": "^11.1.0",
    "@ng-idle/keepalive": "^11.0.3",
    "@turf/turf": "^6.5.0",
    "@zxcvbn-ts/core": "^2.0.3",
    "@zxcvbn-ts/language-common": "^2.0.1",
    "@zxcvbn-ts/language-en": "^2.0.1",
    "angular-password-strength-meter": "^4.3.1",
    "chart.js": "^3.8.2",
    "coordinator": "^0.5.0",
    "dayjs": "^1.11.4",
    "file-saver": "^2.0.5",
    "guid-typescript": "^1.0.9",
    "leaflet": "^1.7.1",
    "primeflex": "^3.1.3",
    "primeicons": "^5.0.0",
    "primeng": "^13.4.1",
    "prismjs": "^1.27.0",
    "ramda": "^0.28.0",
    "rxjs": "^7.5.6",
    "tslib": "^2.3.1",
    "zone.js": "^0.11.7",
    "zxcvbn3": "^0.1.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^13.3.9",
    "@angular-eslint/builder": "^13.5.0",
    "@angular-eslint/eslint-plugin": "^13.5.0",
    "@angular-eslint/eslint-plugin-template": "^13.5.0",
    "@angular-eslint/schematics": "^13.5.0",
    "@angular-eslint/template-parser": "^13.5.0",
    "@angular/cli": "13.3.9",
    "@angular/compiler-cli": "13.3.11",
    "@fortawesome/fontawesome-free": "^6.1.2",
    "@types/jasmine": "^4.0.2",
    "@types/jasminewd2": "~2.0.8",
    "@types/leaflet": "^1.7.9",
    "@types/node": "^17.0.45",
    "@types/ramda": "^0.28.15",
    "@typescript-eslint/eslint-plugin": "^5.32.0",
    "@typescript-eslint/parser": "^5.32.0",
    "codelyzer": "^6.0.0",
    "eslint": "^8.21.0",
    "eslint-plugin-import": "2.26",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "jasmine-core": "^4.3.0",
    "jasmine-spec-reporter": "^7.0.0",
    "karma": "^6.3.4",
    "karma-chrome-launcher": "^3.1.0",
    "karma-coverage-istanbul-reporter": "^3.0.3",
    "karma-jasmine": "^4.0.1",
    "karma-jasmine-html-reporter": "^1.7.0",
    "ts-node": "^10.9.1",
    "typescript": "~4.6.3"
  }

So, having fiddled and fiddled and fiddled....
I saw somewhere someone did a "console.log(L.PM); console.log(L.map.pm)" to get PM initialized. I tried it. It worked. I removed those logs. It still worked. I put it all back to the L import, rebuilt a few times, reload after clearing cache, still seems to be working.  I assume I caught something magic in there somewhere that I missed before, but man, I wish I knew what. Thanks for prodding at it with me!

import L from 'leaflet'
(window as any).L = L

for imports and
console.log(L.PM); console.log((L.map as any).pm)

before the L.map() initialisation did the trick for me 👍
thanks @Falke-Design and @TheTiGuR


feat: Automation for adding new mentors to mentors.yml

Is your feature request related to a problem? Please describe.
Automate adding of new mentors to the mentors.yml script.
Describe the solution you'd like
Implement Python automation.py script that:

reads mentors from the xlsx table
parses data to yml format
appends new mentors to mentors.yml file
optionaly creates a new mentors.yml file with all the mentors from the xlsx table

Assigned @nverbic

This is new feature (enhancement) with low priority.


Please produce releases + archives

I there, I'm trying to provide a package for modern-paste on YunoHost, but the lack of archives makes my life really difficult.
Here is the work in progress package: https://github.com/YunoHost-Apps/modernpaste_ynh
Why is it so difficult?

First, because it mixes dependencies for building with dependencies for running.
As far as I know, build-essential, npm, java, and ruby are not mandatory to run this python+uwsgi tool.
I understand it is a good practice to limit as much as possible packages installed on a server, your help would be greatly appreciated.
Second, because it has a lot of git sub-folders, taking quite some time to download and resulting of a 347M folder... Not even counting the space used for PIP and other stuff.

This makes installation problematic on a RaspberryPi, because of tiny hardware, but also because of the amount of useless  backups.
This project looks good, please makes releases so I can finish this package :)

Hi there,
Yes, you are correct, when I started this project 3 years ago I made some very poor architectural decisions and as a result, the build steps are needlessly complicated and roundabout.
Fortunately, I am planning a v2 rewrite of this project with a modern tech stack that will address both of the issues you have mentioned. This is coming in the next few months; please stay tuned.

I'm glad you're doing a V2 :)
It sometimes (often) takes longer than expected, don't you with to produce a little release before this v2 ? :p

Sorry, there is no further major development planned for v1.


Smoketest fail: Post-job: Restore node_modules cache

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=175624&view=logs&j=4801dce2-64f3-53d6-b366-d49a1977c639&t=fb7966fb-da0b-4301-a0a1-1d0bb7fa167d

I have seen this one once before. It seems to be related to the Cache task.
I will keep an eye out for more failure and will engage the Azure Pipelines team.


Remove all references to log4j 1.2.x from our POMs

Thanks @tristantarrant

and now dependabot alert is green !


(property) VPhoneInput: unknown

Expected Behavior
To recognize the
Actual Behavior
GET http://localhost:5173/node_modules/.vite/deps/v-phone-input.js?v=2a7ae817 net::ERR_ABORTED 504 (Outdated Optimize Dep)
Steps to Reproduce the Problem
After Install and Import
Specifications

OS: Ma Os
Browser: Chrome
Browser version: Latest
Package version: 4.1.2"
Vuetify version: 3.5.8

@IgorIlgiyaev, looks like there is problem with your build. Without a minimal reproduction repo and further details, I cannot help with this...

Will check.
On Tue, 12 Mar 2024 at 12:43 Paul Thébaud @.***> wrote:

@IgorIlgiyaev https://github.com/IgorIlgiyaev, looks like there is
problem with your build. Without a minimal reproduction repo and further
details, I cannot help with this...
—
Reply to this email directly, view it on GitHub
https://github.com/paul-thebaud/v-phone-input/issues/30#issuecomment-1991340454,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3AXBWHZGXL4WPYVCM5VITYX3L63AVCNFSM6AAAAABER4KV3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJRGM2DANBVGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Closing this since there is not reproductible issue for now. Feel free to open a new, clear and detailed issue.


Regression in basic_material_app_ios_compile release_size_bytes

Very clear signal at https://github.com/flutter/flutter/pull/51453.

Looks like hello_world_ios__compile release_size_bytes is affected, too, which doesn't surprise me.


feat: DIA-1384: add cost estimate endpoint

Codecov Report
Attention: Patch coverage is 33.33333% with 30 lines in your changes missing coverage. Please review.

Project coverage is 65.75%. Comparing base (253c542) to head (19338fb).
Report is 1 commits behind head on master.

Files with missing lines
Patch %
Lines

server/app.py
33.33%
30 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #225      +/-   ##
==========================================
- Coverage   66.41%   65.75%   -0.66%
==========================================
  Files          46       46
  Lines        2230     2275      +45
==========================================
+ Hits         1481     1496      +15
- Misses        749      779      +30

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/git merge develop


Migrate serviceprofiler changes 2

Mainly add switches to allow callers to turn on/off some experimental features.

Codecov Report

Merging #599 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #599      +/-   ##
==========================================
- Coverage   17.49%   17.48%   -0.01%
==========================================
  Files         216      216
  Lines      124906   124919      +13
  Branches    12056    12059       +3
==========================================
- Hits        21847    21845       -2
- Misses     102195   102209      +14
- Partials      864      865       +1

Flag
Coverage Δ

#2017
17.48% <0%> (-0.01%)
:arrow_down:

#Debug
17.48% <0%> (-0.01%)
:arrow_down:

#Release
100% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

...vent/Computers/SampleProfilerThreadTimeComputer.cs
0% <0%> (ø)
:arrow_up:

src/TraceEvent/Symbols/NativeSymbolModule.cs
0% <0%> (ø)
:arrow_up:

src/TraceEvent/Symbols/SymbolReader.cs
0% <0%> (ø)
:arrow_up:

.../TraceEvent/Computers/StartStopActivityComputer.cs
0% <0%> (ø)
:arrow_up:

src/TraceEvent/Computers/ThreadTimeComputer.cs
0% <0%> (ø)
:arrow_up:

src/PerfView/StackViewer/StackWindow.xaml.cs
25.65% <0%> (-0.08%)
:arrow_down:

Continue to review full report at Codecov.

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

Ooops, sorry I did another rebase to merge the conflict and then we lost an important piece of the discussion. Bring it back here:
https://github.com/Microsoft/perfview/commit/a5f5dcfb12d57223a7141493523e3bbed284ab3f#commitcomment-28081622

@vancem thanks for the review. Please give me some time to work on the question about NativeSymbolModule.


How to do Pilot delivery performance test？

In the Istio 1.0.3 release notes, it shows that "Pilot performance and scalability has been greatly enhanced. Pilot now delivers endpoint updates to 500 sidecars in under 1 second".
And now we are planning to do some test about Pilot delivery performance , and intend to figure out how the increasement of sidecars number will effect the time Pilot delivers endpoint updates and how many replicas of Pilot pods should we set to gain the best performance of Pilot if there will be thousands of sidecars running in the prod env in the future. The test results are important and critical for our deployment of Istio and capacity planning.
But we run into some difficulties about the test and need some suggetions.

How can we evaluate the time between the creation of a traffic rule(VirtualService,DestinationRule,etc) and the finish of Pilot delivers endpoint updates to all sidecars(the last sidecar) in the mesh? Is there any endpoints provided by Pilot or tools or scripts can get the time efficiently? By the way, the command "istioctl proxy-status" can check the syn status, but shows no information about time.
How to set an appropriate replicas of Pilot pods if we have 2000 test sidecars? In the isito deployment yaml file, the hpa of Pilot will autoscale the pods from 1 to 5. Can we increase the replicas(more than 5) to scale the Istio mesh horizonally?

Look forward to your advice!
@irisdingbj @jnativio

@jnativio
Our team are also insterested in  the performance of  information delivery from pilot to envoy. How to test can prove that pilot  delivers endpoint updates to 500 sidecars in under 1 second.


Delete ssh-sso-button.png

Why:

Closes [issue link]
What's being changed:

Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Mnenraviz💥💥💥


faster ratings

Description

Refactoring and speeding up the rating evaluation
In my experiments the speed up is around half:
%timeit rmse(rating_true_big, rating_pred_big) #the original one
1.05 s ± 17.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit rmse_faster(rating_true_big, rating_pred_big) #the new one
474 ms ± 13.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

The bottleneck was in the function merge_rating_true_pred that consisted of 2 operations, a merge and a rename. Curiously, the rename took even more time that the merge. @msalvaris and I just realized that we don't really need the rename so we can pass the name of the true and prediction columns to the sklearn metric
Related Issues

Checklist:

[ ] My code follows the code style of this project, as detailed in our contribution guidelines.
[ ] I have added tests.
[ ] I have updated the documentation accordingly.

I don't understand why from time to time github doesn't execute the tests o_o

This can be improved further with memoization: https://github.com/Microsoft/Recommenders/issues/708


API-based functionality for managing configurations for usage across multiple clients

Feature proposal
Describe the issue
rascsi-web has functionality for loading, saving and deleting profiles. Those profiles provide preconfigured slot-to-image mappings that allows allows to quickly recall certain configurations. The current implementation is not interoperable with multiple clients, but is implemented directly in the web interface. It would probably be good if this functionality is moved into the core so that other client implementations (like the Android app or the hardware UI in development #382) can make shared use of these profiles (i.e. a profile is created with the web app and then loaded using the Android app or the hardware UI etc.) through the protobuf API.

As an additional shortcoming of the current setup where rascsi-web is responsible for reading configurations, is the fact that the webapp has to be actually loaded in the user agent for configurations to be read.


kafka sink

Based on #648.
Added client retry logic.

cc @mwielgus

I'm merging this assuming that there are no objects from @piosz and @mwielgus.

Thanks @vishh!


Next.js 14 incompatibility issue - OpenSea Seaport missing

When attempting to deploy the widget in a Next.js 14 app to Vercel, the build is failing with an error:
@opensea/seaport-js@npm:4.0.0 STDERR command not found:

Can you please share more details? @lifi/widget doesn't have @opensea/seaport-js in dependencies.

Can you please share more details? @lifi/widget doesn't have @opensea/seaport-js in dependencies.

Hey @chybisov - I tried a few different things with the updated dependencies, but still having issues deploying the app to Vercel.
I wonder if it is a TypeScript issue - the error now is showing that container does not exist in the ThemeConfig type, which I believe is imported from the @lifi/widget package.
I hope this is helpful, let me know if there is anything else I might be able to troubleshoot!

@westonnelson In the v3 the type is called WidgetTheme. Which version do you use?

Whichever is the most current from the Li.Fi repository.
Basically, I'm just testing the process of integrating the widget into multiple demo apps each with different frameworks, and this is the issue I keep facing.
I can view my app locally and interact with it but not sure where the build is failing (I believe it must be breaking somewhere on the production deployment). Any other insights? Ty!

@westonnelson are you trying to deploy one of the projects directly from the repository?
The best approach is to use @lifi/widget@alpha package from NPM, not directly code from the repository. For example, you should be able to successfully build and deploy projects from the examples folder. If that is not the case, please let us know which one we should check.
Also, some reproducible examples from your side would be helpful in finding and better understanding the issue. Thank you! 🙂

The Widget v3 has been released. Please see the documentation here https://docs.li.fi/integrate-li.fi-widget/li.fi-widget-overview


Add support for Pipelines and Random Forests to visualize_decision_tree

Currently visualize_decision_tree supports only Decision Trees. We can expand the functionality to include support for Pipelines (so that the associated estimator can be taken and visualized) and for Random Forests.
Regarding Random Forests, we can choose to add the ability to view the entire forest, or to specify a tree in the forest, or both.

@gsheni Let us know about this: https://gitlab.tue.nl/20040367/pybaobab


⚠ 2 Minutes de génie (staging) has degraded performance

In cb26d34, 2 Minutes de génie (staging) (https://2mdgstaging.gitlab.io/) experienced degraded performance:

HTTP code: 200
Response time: 825 ms

Resolved: 2 Minutes de génie (staging) performance has improved in c4bf05a.


Issue with adding table with Columns in caravel with Redshift

I have successfully added Redshift DB as datasource using SQLAlchemy URI( "redshift+psycopg2://hadoop:XXXXXXXXXX@:5439/caraveldb") in the web UI and 'Test connection' seems OK. However, when I am trying to add testtable, I am getting below error

public.testtable
Table doesn't seem to exist in the specified database, couldn't fetch column information

Addition info:
public schema is in search path in Redshift and testtable exists in DB with data.
Also, I am using default sqlite DB for storing caravel metadata info. Below is the entry in config.py(/usr/local/lib/python2.7/dist-packages/caravel/config.py):

The SQLAlchemy connection string.
SQLALCHEMY_DATABASE_URI = 'sqlite:////opt/caravel/caravel.db'

Can someone please help if I am doing any mistake in adding table from Redshift? Thanks.

Do you have more logs in the caravel log? Is the table in the public schema?

The schema field in the table form is important for Postgres/Redshift databases. Double check the schema and make sure you specify it in the form.

Few more observation:
To validate my caravel server setup, I tested this pointing to postgres DB from Web UI and this works fine. I am able to create Slices and dashboard using that. With AWS Redshift also, I am able to add Redhshift as Database and 'Test connection' also seems OK - it also listing all tables below save button after successful connection testing. However, its failing when I try to add tables with column details - its not fetching column information.
I am not sure what additional steps are required to explore Redshift DB apart from whatever I am trying now?
Also, I am facing one more issue with password authentication and this happens when I go to 'Edit Database' and do the TEST CONNECTION again - password authentication fails in this case. However, it works fine when edit SQLAlchemy URI and give the password in clear text.
Has anyone faced the same issue with password authentication apart from the Redshift issue that I have mentioned above?

@randhirkr for the test connection not working after save it's already been reported here #596, anyway it's just an annoyance and unrelated to your issue

Yes..thats right. Main issue I am facing with table addition with columns in the Web UI as I have mentioned above.

As I have mentioned earlier that I am not able to add tables with column information because it gives below error in the UI:

Table doesn't seem to exist in the specified database, couldn't fetch column information

However, I am not able to see corresponding errors in the backend log file. Its populating error, but only in the UI at this moment - so its quite difficult to debug this further.
is there any way to see these kind of error details with full trace in the log as well(in the backend)?
Currently, caravel is already running in the debug mode. I am running below command to start the server:
nohup caravel runserver -d >>caravel.log 2>&1 &
Note: I am able to fetch data using SQL query from the same table mentioned above using SQL Editor available in the Tables page in Web UI.

Just putting below log as well if it helps, but there is no error in this log the way I am getting error in the UI as mentioned above. This log gets generated when hit save buttong while adding table in the Web UI.
2016-06-29 13:05:41,319:INFO:werkzeug: - - [29/Jun/2016 13:05:41] "GET /tablemodelview/add HTTP/1.1" 200 -
2016-06-29 13:06:20,150:INFO:werkzeug: - - [29/Jun/2016 13:06:20] "POST /tablemodelview/add HTTP/1.1" 302 -
2016-06-29 13:06:20,565:INFO:werkzeug: - - [29/Jun/2016 13:06:20] "GET /tablemodelview/list/ HTTP/1.1" 200 -

As per caravel documentation(http://airbnb.io/caravel/tutorial.html), it should have populated column names details as well when I hit the save button while adding table. Its so strange that in the same page, if I go to SQL Editor - its fetching all tables with columns details.

Hello guys,
is there any update on this? Also, can you please let me know why status of this issue is in "waiting_for_validation" state for such a long time? Please let me know, if further input is required from my side. Thanks in advance.

Thanks @mistercrunch  for validating this and putting this as a bug. Any idea, when will it get fixed so that I can try this again?

I have the same problem, we can't add tables for redshift, because he can't find the schema anymore even if the schema is public. If I can do anything to get this fixed, I'm happy to help. Would be nice to get a fix

@tclass sure, you can debug the issue and open a pull request, just the first part alone would be great :)

+1

Has anyone found a way around this?

Try creating a view of the table you're adding. It works eventually.
On Tue, 20 Sep 2016, 02:43 birbbit<EMAIL_ADDRESS>wrote:

Has anyone found a way around this?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/airbnb/caravel/issues/682#issuecomment-248128644, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACQILBMoMffBWsryPI_vNg-HKTWFaQhwks5qrvsMgaJpZM4I_Uzx
.

@kingo55  - will it not work without creating view on the DB? As per our requirement we do not  have that much leeway to create view on the DB.
Seems fix is still in progress for this.

I failed to get it working even with views. I keep getting the same error no matter what I try. Guess I will wait for the fix.

Are you making your own build or on the latest pypi release?

Im also seeing this same issue

I was using the latest pypi release. I tried briefly making my own build, but I encountered some other issues and didn't have the time to debug. Will try again during the weekend and report back.

Hi Any update on this ? facing the same issue with postgres DB

I'm now in an environment where we use both Postgres and Redshift and everything is working fine. Last comments on this ticket are a year old and I think these issues have been resolved since.
Are you sure you're not getting some the database and schema names confused or something like that?

I have similar issue with superset and redshift.
I am able to successfully connect to redshift using database uri string, and also able to preview the tables data but however when i try to run a query against a table in redshift database the superset doesn't seem to be running the query. That's weird to know as it is able to preview the data automatically though.
Can some one help me with this issue?

Is that from SQL Lab? Can you try using the fully qualified name of the table? SELECT * FROM myschema.mytable ?

Same issue for me!
When I tried to create a Redshift connection it worked out well. However while trying to fetch the schema it's throwing error.
This is probably the password is converted to <XXXX...> which should be correctly consumed by superset.


Error decoding nested JSON with missing container

Hi there!
Big thanks for this package, I've really been enjoying it!
I have an issue when decoding nested JSON when one level of the keys doesn't exist.
I have this struct:
@Codable
struct Avatar {
    @CodedAt("avatar", "url")
    let url: URL?
}

Trying to decode this works fine.
func testConditionalAndNestedOptionalCodingWorking() throws {
    let jsonStr = """
        {
            "avatar": {
                "url": "https://example.com/"
             }
        }
        """
    let json = try XCTUnwrap(jsonStr.data(using: .utf8))
    let model = try JSONDecoder().decode(Avatar.self, from: json)
    XCTAssertEqual(model.url, URL(string: "https://example.com/"))
}

Decoding JSON with a value for "url" also works.
func testConditionalAndNestedOptionalCoding() throws {
    let jsonStr = """
        {
            "avatar": {
                "url": null
             }
        }
        """
    let json = try XCTUnwrap(jsonStr.data(using: .utf8))
    let model = try JSONDecoder().decode(Avatar.self, from: json)
    XCTAssertEqual(model.url, nil)
}

The problem is when the "avatar" value is null.
func testMissingContainer() throws {
    let jsonStr = """
        {
            "avatar": null
        }
        """
    let json = try XCTUnwrap(jsonStr.data(using: .utf8))
    let model = try JSONDecoder().decode(Avatar.self, from: json)
    XCTAssertEqual(model.url, nil)
}

Since my struct has an optional type for the url property, I would expect it to ignore the missing container and fallback to setting the value as nil. Instead, I get back an error:
typeMismatch(Swift.Dictionary<Swift.String, Any>, Swift.DecodingError.Context(codingPath: [], debugDescription: "Expected to decode Dictionary<String, Any> but found a null value instead.", underlyingError: nil))

I tried setting a default value using @Default(nil as URL?) but that didn't seem to work.
Anything I'm missing here or is this a bug?
Thanks again for the package!

Thanks, this is a good find!
Currently MetaCodable only uses fallback only if the last key decoding fails. This is a bug and the fix is going to be a bit tricky.


Write a Proper SparQL parser using Antlr4

This subsumes many of the other issues below.

First step:

Implement a Sparql parser that supports exactly the same subset as the current one,
but with a better structure and correct/automated lexing.

@manonthegithub might also be interested in your progress on this so we don't duplicate the work

@joka921 @manonthegithub on the internal fork we do have an ANTLR SPARQL grammar for the completion script that could be used for this.

I have seen this grammar and am already using it

Adding to this the current SPARQL parser also breaks if there isn't a space before . at the end of a triple which is often the case for Wikidata examples.

Ok I tried quickfixing the . issue because it just happens so often. Turns out SPARQL is quite weird here because the . may appear inside literals, prefixed names and IRIs.
For example the following query works (in Blazegraph):
SELECT ?item WHERE {
  ?item wdt:P31 wd:Q2934.?item wdt:P39 wd:Q41240317
}

Using ^ reversing the following also works
SELECT ?item WHERE {
  ?item wdt:P31 wd:Q2934. wd:Q41240317 ^wdt:P39 ?item
}

However removing the   after the . breaks parsing even though it's not needed at the same position when the ? disambiguates. So yeah we really should use a proper parser that naturally handles this weirdness.

@joka921 note that the current ANTLR grammar doesn't support the predicate paths that #244 will soon add. I'll look into this so beware there will be some changes.

@floriankramer just a note that this would also add # comments which aren't supported by the new lexer either.

@niklas88 Although adding those into the lexer would be relatively easy (simply consume everything up to and including the next newline when a # is found outside of another token type).

Update:
We finally are making progress on this. We already have a complete grammar and the  and it is now assigned to @Qup42

This has been done and it was indeed a milestone for QLever.


How to get html tag closures within templ files?

Templ is a templating language for use within golang. Example file hello.templ
package main

templ hello(name string) {

Hello, { name }

}

templ foo(name string) {

		@hello(name)

}

I would like to be able to get the html tags autocompleted when they appear. i have tried the below "minified" lazy config
	{
		"windwp/nvim-ts-autotag",
		opts = {
			filetypes = {
				"templ",
			},
		},
	},

I suspected the templ format needs to become part of the internal file's html filetypes, maybe would be good if those tables could be exposed to allow easy extension.

This is awesome. But what about auto tag renaming? I tried it localy and the autoclose feature works like a charm ❤ but the renaming feature still not working

thanks, didn't realise that was a thing I didn't attempt to implement that.

This is awesome. But what about auto tag renaming? I tried it localy and the autoclose feature works like a charm ❤ but the renaming feature still not working

Hey there, are there any updates on the auto renaming function?


Inconsistent with [Activate] and [Inactivate]

In the prior view, we just use tag [Action]: Activate/ Deactivate of [WindowEvent] to detect the active time on Visual Studio of developers. But it may introduce bias.
Some event streams of developer do not contain the pairwise Activate and Deactivate events. [1]
[1]: Actually, the event stream should contain the pairwise Activate and Deactivate events.

We can not use this tag Activate/ Deactivate of [WindowEvent] to detect the active time on Visual Studio of developers. Instead, we should use the tag Startup / Shutdown of [IDEStateEvent] to collect the In-IDE time of developers.


Fixed #35559 -- Avoided unnecessary query on sliced union of empty queries.

Trac ticket number
ticket-35559
Branch description
While refs ticket-34125 focused on the SQL correctness of slicing of union of potentially empty queries it missed an optimization opportunity to avoid performing a query at all when all queries are empty.
Thanks @Lucidiot for the report.

@charettes I plan to review this soon, do you mind resolving the recent conflicts?


tests: Bluetooth: Mesh: optimize proxy beacon test

Emitting network beacons in parallel to proxy functionality causes collisions. The commit disables network beacons and allows the test scenario to be more precise.

I'm not sure if we should do this. The beacons ensures that we inject some noise on the adv instance, verifying that the Proxy advertisements are able to continue the scheduled Proxy Adv task if it is interrupted by another outgoing message. This was one of the original bugs that caused the refactoring of the Proxy ADV implementation in the first place. If there are no source of adv interruption, this problem can re-occur under the radar.

I'm not sure if we should do this. The beacons ensures that we inject some noise on the adv instance, verifying that the Proxy advertisements are able to continue the scheduled Proxy Adv task if it is interrupted by another outgoing message. This was one of the original bugs that caused the refactoring of the Proxy ADV implementation in the first place. If there are no source of adv interruption, this problem can re-occur under the radar.

There is no anything about mandatory beacons in the test description:
https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/bsim/bluetooth/mesh/tests_scripts/priv_beacon/proxy_adv_multi_subnet_coex.sh#L7-L39
How should the other maintainers know the hidden assumptions?
Added explicit mentioning that the secure network beacons are mandatory for tx proxy device.
Anycase, the other devices shouldn't emit beacons. It creates collisions that cause failed after some changes even they are not related to proxy like removing 20 ms delay in advertiser.
That annoys a lot when some tests fail after changing functionality that is not related to them.

I'm not sure if we should do this. The beacons ensures that we inject some noise on the adv instance, verifying that the Proxy advertisements are able to continue the scheduled Proxy Adv task if it is interrupted by another outgoing message. This was one of the original bugs that caused the refactoring of the Proxy ADV implementation in the first place. If there are no source of adv interruption, this problem can re-occur under the radar.

There is no anything about mandatory beacons in the test description: https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/bsim/bluetooth/mesh/tests_scripts/priv_beacon/proxy_adv_multi_subnet_coex.sh#L7-L39
How should the other maintainers know the hidden assumptions?
Added explicit mentioning that the secure network beacons are mandatory for tx proxy device.
Anycase, the other devices shouldn't emit beacons. It creates collisions that cause failed after some changes even they are not related to proxy like removing 20 ms delay in advertiser. That annoys a lot when some tests fail after changing functionality that is not related to them.

Yes, it should have been mentioned initially. An oversight on my part.


Add diamond exercise

I can't come up normal tests. Easest is to check summary diamond shape.

I think for tests it would be best to have only 3-4 tests that look like this one, but for different letters:
  @tag :pending
  test "letters form a diamond shape" do
    shape = Diamond.build_shape(?E)
    assert shape == """
\s   A
\s  B B
\s C   C
\sD     D
 E       E
\sD     D
\s C   C
\s  B B
\s   A
    """
  end

I used \s, because leading whitespace disappear and was ...A...\n instead of ...A...\n. Even Markdown removes the leading whitespaces. Or I can replace whitespace to another symbol. Or this problem of my editor.

@jimmbraddock could you rebase master onto your branch? Thanks!

@parkerl , I rebased.

Thanks 🎉


async event fix

addtion to 1.14.4 a-sync problem fix

You also forgot about the BungeeEvents. I will add in next version.


Update env-var's from upper to lower case

change all env-var's from upper -> lower
add config-server instruction
fix previously committed formatting issue .. see below

Verified that dotted props work against PEZ

What's the motivation for moving to lower case environment variables? It's rather unconventional and, in  some environments, . is an illegal character in an environment variable.

Hi, @wilkinsona: There were recent discussions around Boot's limitation wrt handling "map of maps" properties and the ideal way to pass them to different runtime platforms such as Cloud Foundry. While iterating over few options, we discovered that lower-case + . as a combination that worked (for CF; hence the PR in our CF-server); however, we quickly also realized it is not the convention, so we are reverting the change via spring-cloud/spring-cloud-dataflow-server-cloudfoundry#135.

Thanks for the info, @sabbyanandan. FWIW, I like your plan in #135.


git-with-openssh issue

Hello. Because the openssh version in package "openssh" is very old and don't support ed25519 key and so on, I had issues using it.
I found the git-with-openssh package has a much more recent version of openssh with the needed support. I successfully created a ssh key with ssh-keygen but when I try to clone a git+ssh repository, I get the following error:
> git clone ssh://host/proj.git
Cloning into 'proj'...
error: cannot spawn C:\Users\name\scoop\apps\openssh\current\bin\ssh.exe: No such file or directory
fatal: unable to fork

I tried removing scoop ("scoop remove scoop") to see if it was some leftover from perviously having installed "scoop install openssh", but same issue after clean install.

Might there been some leftover in the file system?
Is the ssh.exe path hardcoded somewhere?

I solved my issue!
The "openssh" bucket has the solution:
    "notes": "To get Git to recognise OpenSSH, you will need to run
scoop install openssh
[environment]::setenvironmentvariable('GIT_SSH', (resolve-path (scoop which ssh)), 'USER')
and then restart powershell.",


AttributeError: 'ConcatDataset' object has no attribute 'img_ids'

I try to use list for val:
ann_file=[data_root + 'annotations/instances_valid1.json',
           data_root + 'annotations/instances_valid2.json'],
img_prefix=[data_root + 'images/val1/',data_root + 'images/val2/'],

error: line 111, in det2json
AttributeError: 'ConcatDataset' object has no attribute 'img_ids'
How can I solve this problem?

I have same problem. I think that problems occur during concating dataset.

You can evaluate multiple data sets separately or combine multiple test sets into one file, like: https://github.com/gfjiangly/cvtools/blob/master/cvtools/label_convert/coco/merge_coco.py

You can evaluate multiple data sets separately or combine multiple test sets into one file, like: https://github.com/gfjiangly/cvtools/blob/master/cvtools/label_convert/coco/merge_coco.py

@gfjiangly how to use MergeCOCO in mmdetection training val.


Enable more parallel tests

Proposed changes
More tests in parallel
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[ ] I have read the CONTRIBUTING doc
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that all unit tests pass after adding my changes
[ ] I have updated necessary documentation
[ ] I have rebased my branch onto main
[ ] I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

Release notes
If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.

NONE

Yeah I think we should make the tests as much independent as possible so we can catch actual data race problems


Add "--config-json" or similar to "amplify env import" as an alternative to using inline JSON with --config

Is your feature request related to a problem? Please describe.
The "amplify env import" command requires the --config parameter passing in a JSON object. It would be nice to have the option to use a file instead of inline JSON here.
Describe the solution you'd like
Example:
amplify env import --config-json ./env-config.json
Desired result: the command loads the JSON object from the given file, like:
amplify env import --config $(cat ./env-config.json) on GNU/Linux.
Describe alternatives you've considered
Using cat as described above, unfortunately I switch a lot between Windows and GNU/Linux and am not too familiar with the PowerShell alternatives.

Hi - I'm closing this issue as it didn't get much traction. If we see more awareness for this feature in the future, please re-open a new issue or @-mention me here.


File Icons

File icons seems to be rendering wrong.

These are not file icons but arrows indicating fold state. If your font doesn't support these characters you can configure fold icons yourself:
glance.setup({
  folds = {
    fold_closed = '>',
    fold_open = 'v',
  },
})

I updated fold characters, by default nerdfont icons are used.

I still renders same even after updating, my font is JetBrains Nerd Font Mono. Updated with config you have given me, it works correctly.


PropertyGroup with value that starts with "ProjectTypeGuids" causes project to not load correctly in Visual Studio

Steps to reproduce

Create a new project file and add a PropertyGroup with a value that starts with "ProjectTypeGuids", e.g.:
Project file

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Test>ProjectTypeGuidsANYTHINGCANGOHERE</Test>
  </PropertyGroup>
</Project>

Try to load the project file in Visual Studio

Expected  behavior
Project would be loaded normally, as can be seen with any other value:

Actual behavior
Error MessageBox is displayed:

and the project fails to load:

Environment data

Looks like this happens only in csproj projects, not CPS projects. @tmeschter what's the best way to route this? VS "report a problem"?

@nguerrera Nick, who did you think would know more about this?

@davkean
I believe it has been this way for a very long time. I recall an incident where @davkean had a ProjectTypeGuids.cs file and things broke. I'll let him explain the details.