Fix whodoneit-map. #18

With this Whatwasis.Repo will be generated depending on the --whodoneit-map option.  If it is set, the Repo will use the correct way to insert versions.

Problem here by is, that the Whatwasis.Repo now gets generated and can not be reference while the in the Source while whatwasit.install is running. That means one has to run whatwasit.installfirst, and than add  use Whatwasit.Repo.


CHEBI:4893, please CHECK

Hi Adnan,
Please check CHEBI:4893, ethyl 3-oxobutanoate, as it is used in a Rhea reaction.
Cheers,
Kristian

Now checked.


Fix the Krati entries iterator to properly handle key collisions.

When using Krati the Fetch command does not always return the expected number of key/value pairs.  The larger the store the more likely that the number of key/value pairs returned would be less than expected.  I tracked this issue down to what I think is a very simple bug in the KratiStorageEngine code - if there are key collisions at an index then the current iterator returned by the call to the entries method only returns the first key at that index.
This update contains a fix for this problem and a new test case that demonstrates the problem.

I am going to merge this pull request in. But beware that Krati can lead to data corruptions and the storage engine as I know is moot. Stay away from Krati if possible.

Thanks for the quick review.  When I initially started investigating this issue I noted that work on Krati appeared to have ceased and found some conversations in the voldemort discussion group (like "Krati support?") that suggested Krati may have some issues and was not really a recommended storage engine for Voldemort.  I was therefore not surprised by your suggestion to avoid Krati.
We are looking into alternatives to Krati and BDB and would welcome any suggestions.
In (half hearted) defence of Krati this bug is in the Voldemort wrapper around Krati and at first it looked like a Krati data corruption issue.  It appeared during a routine maintenance procedure used to upgrade several nodes - keys were lost.  Since this bug also impacts the Restore operation one node's data could not be reliably reconstructed from its peer node's data.  It also (I think) impacts the Slop operation if Krati is used for that purpose too.

We use BDB and we are ok with it. We were able to push the cases that used Krati before for list appends to read/modify/write and it works for us.
What are the limitations you are running into BDB ? For us it worked when we moved some of the high throughput list appends to read the list/appened it/ write it back thought it generated huge amount of garbage and we have to do cluster expansion to handle it.  But this is a solvable problem than the data corruption Krati caused from time to time and fire fighting after that.

What version of BDB JE are you looking at ? BDB je 5.0.88 is what we have and I believe it is GPL version. IANAL ( I am not a lawyer) and TINLA ( This is not legal advice ) if you are running a service you may be fine with BDB JE version included with voldemort. But upgrades to latest version of BDB will not be possible as they moved to AGPL license.

Thanks for the detailed license information.  Your comments are rekindling an internal debate here.


Implement enum stretch

[x] change protocol methods
[x] Improve to calculate contentSize by sizeForIndexPath

Improve to calculate contentSize:
    func shelfView(shelfView: Shelf.View, heightFotItemInSection section: Int) -> CGFloat
    func shelfView(shelfView: Shelf.View, widthFotItemAtIndexPath indexPath: NSIndexPath) -> CGFloat


Remove: purocean.YankNote version 3.12.3

## .\Tools\YamlCreate.ps1 -SkipPRCheck -Mode 5 -PackageIdentifier purocean.YankNote -PackageVersion 3.12.3

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


Code lab breaks design guideline (serial comma) in step 7

In step 7 "Add follow-up intents", this instruction:
Under Responses, add "Which color, indigo taco, pink unicorn or blue grey coffee?" as a Text response.
Is missing a comma after "pink unicorn", per the punctuation design guidelines here.  The sentence requires a serial/oxford/harvard comma after the second item in the list.
Also, too trivial for it's own issue, but look at the erratic punctuation at Step 8, instruction 6:
Under Training phrases, type:

- "indigo taco",
- "tell me about pink unicorn"
- "i want to know about blue grey coffee".

The first line has a comma at end, second line has nothing, third has a period.  Either add a comma to second or (my preference, as this is a bulleted list) get rid of all the trailing punctuation, to make it consistent for the reader.

Fixed:
https://codelabs.developers.google.com/codelabs/actions-2/#6
https://codelabs.developers.google.com/codelabs/actions-2/#7


When dialog modal is opened, focus is not shifted to dialog modal when using VoiceOver on iOS

Bug Report
Description
When dialog modal is opened, focus is not shifted to dialog modal when using VoiceOver on iOS
Steps to Reproduce

Navigate to https://engineering.cerner.com/terra-framework/#/tests/terra-dialog-modal/dialog-modal/default-dialog-modal
Open modal

Expected Behavior
Focus should be shifted to open modal.
Possible Solution
Programmatically set focus on dialog modal when opened via the use of refs on the modal dialog container.
Environment

Component Name and Version: terra-dialog-modal
Browser Name and Version: Mobile Safari w/ VoiceOver on iOS 12

We can verify the dialog modal has focus after opening the menu wit webdriver's hasFocus() command. We should add this to our tests.

I've found the notification dialog seems to work much better on iOS using VoiceOver. Virtual focus is shifted to the notifiaction dialog and the entire content of the dialog is read to the user when its opened.

It looks like role="alertdialog" is allowing for voiceover IOS to get that focus. I tested it just now from switching between the two roles, and it looks like that is adding extra support for focus.

This has been resolved with https://github.com/cerner/terra-core/pull/2017
Tested on iOS with VO and focus is shifted and trapped within dialog modal.


No results in search metadata db. Win 10 64 Pro, DBeaver <IP_ADDRESS>007051953, connected to local Postgresql 10.5-2-windows-x64

System information:

Operating system (distribution) and version
DBeaver version
Additional extensions

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
Steps to reproduce, if exist:
Include any warning/errors/backtraces from the logs

No any tunnels

thanks for the bug report

I can't reproduce it. How do you search metadata? Some screenshot would be very useful.


DCOS_OSS-3968: update @dcos/mesos-client to 0.2.4

The PR bumps mesos-client to include the fix for UTF8 chars in the mesos stream.
Closes DCOS_OSS-3968
Testing
Try creating an app with a UTF8 symbol in a label.
Smoke test the UI. That services are being created/updated/deleted

shall we also bump on 1.11?

@juliangieseke you are so right

Friday is code freeze - lets get that one in

@juliangieseke #3176 please review

:tada: This PR is included in version 2.7.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Control testing play

Need to add a play that drives a robot in a square so we can check whether our motion controls are working properly

We added a few of these in the quals branch merge https://github.com/SSL-A-Team/software/pull/229


Increase max records for QA lookups.

refs #3761
Why was this change made?
Per @kallimathios
How was this change tested?
Which documentation and/or configurations were updated?

@justinlittman merge once failing tests are updated.


fix: typos in documentation files

This pull request contains changes to improve clarity, correctness and structure.
Description correction:
Corrected "each of th $15$" to "each of the $15$".
Corrected "loookup" to "lookup".
Please review the changes and let me know if any additional changes are needed.

@dannywillems Do I need to make any additional changes before merging?

@dannywillems Hi! Just wanted to remind you about this PR. If you have some time, please take a look. Thank you!

Can you merge/rebase on top of master, please?


test nested data in simple.test

It seems like something weird is happening with nested data. I would expect this test to pass.

Nested objects and arrays of data views are not supported.
I have update the simple.test.js file. Please take a look how I would implement it.

list: [{ value: 1 }, { value: 2 }] does only take 2 bytes once compressed. But each additional schema takes 5 types.

Ah, I see! Thank you for showing this.
Does each additional schema take 5 bytes because that is the size of a schema ID?

Aside: I think it might be the case that arrays of schemas that contain other schemas are also not supported. Is that what you'd expect?


Stuck on Loading Passcore

When attempting to load upgraded version of Passcore (was originally installed on v3.0.0), stuck at "Loading" screen. Chrome Console displays error messages: Uncaught referenceError: webpackJsonp is not defined (polyfills.bundle.js:1). Message also applies for vendor.bundle.js and main.bundle.js
Screenshot:
https://i.imgur.com/9rNloNs.png
Recycling the IIS application pool and restarting the IIS site has no effect. Any help would be much appreciated!

Please backup your .json file that has your config; delete the contents of
the current install folder; copy in the new version. Alternatively, save
the .json config; wipe out whole setup; and use the Powershell script to
reinstall.
On Tue, Aug 21, 2018 at 7:57 PM avm5689<EMAIL_ADDRESS>wrote:

When attempting to load upgraded version of Passcore (was originally
installed on v3.0.0), stuck at "Loading" screen. Chrome Console displays
error messages: Uncaught referenceError: webpackJsonp is not defined
(polyfills.bundle.js:1). Message also applies for vendor.bundle.js and
main.bundle.js
Screenshot:
https://i.imgur.com/9rNloNs.png http://url
Recycling the IIS application pool and restarting the IIS site has no
effect. Any help would be much appreciated!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/unosquare/passcore/issues/205, or mute the thread
https://github.com/notifications/unsubscribe-auth/AA9fv1XmlpTsFUBUN6oQlIH1IFCWfk58ks5uTMiOgaJpZM4WG6ud
.

I'm having the same exact error ... did you ever find a solution?
I deleted the old webapp and installed to a new directory and edited the new appsettings.json file to put in the correct information - but it remains stuck exactly like in your screenshot.

Can I close this issue?

Also getting the same error, except I managed to find that it seems to be stuck on a GET request for a password file. No such file exists, so it returns a 404 error in the network tab on firefox's developer tools:

Does anyone know why it's looking to domain/api/password when there is no file like this? The admin credentials needed in appsettings.json are in place, so why is it getting caught looking for a non-existent file?

There is not a /api/password file, that route connects to the WebAPI. If the WebAPI is not responding is probably because IIS has the static files folder as root path. You need to change the root path to the folder containing the web app.


Bump version to 1.16.0

We didn't have a release for a while and there's a lot of cops added.
@backus @dgollahon as I don't have access to RubyGems, can you please push the new version there?

I’ve pushed v1.16.0 to RubyGems. Thank you for the release @Darhazer.

Thanks guys


Loading a chat message hangs at "securing..."

Keybase GUI Version: 1.0.21-20170413113755+766e240
Keybase says I have a chat message waiting for me from one of my contacts, however the app is stuck at the "securing..." screen that is present when I select a contact. It does not load any message history for any contacts/conversations.

Sorry about this! Can you run keybase log send from the terminal and report the log ID here?

I tried running keybase log send from the keybase shell, but it gives me the following error:

I tried it a few times, both as admin and as a regular user, and it always times out.

are you behind a proxy

I am not behind a proxy. I do have noscript and privacy badger installed on my browser; I have no idea if that makes any difference?

bug: Loading a chat message hangs at "securing..."
log id: 10250c11446afd21f53dc01c
os: OSX El Capitan
description:

Receiving a ^chat message^ from a third party. Native OSX app hangs on user/thirdparty chat tab, displays  'securing' as original report describes.

how to repeat:

GUI indicates I have incoming.
click on icon, opens up GUI application with incoming message from third party
hangs, message displayed "securing".

what I expect:

when third party sends secure message, message is displayed

notes:

has not happened before.
managed to send/receive messages
message prior was an attachment (maybe of some use)
tried to send a message (while securing message displayed), cannot send message.

I just thought I should mention that I restarted and this issue disappeared for me.

interesting... I killed the application, restarted the application and like @erose1337  the issue disappeared. The point I would like to make is the method to reproduce the problem:
a) Leave the application going as I log out.
b) Reboot the system and the error appeared.
At the end of the day I'll try these two steps to see if logging out of sys without explicitly killing Kb is the source. -- PR

thanks for the update.  @mmaxim is on the case...

@maxtaco
here's my observations:

no problem re-authentication.
problems with the gui loading chat.. when opening with ^low bandwidth^

when bandwidth was good this problem did not present itself.

Q. Is this a problem that is occurring because of bandwidth constraints?

I believe this issue is resolved but the fix isn't released yet.
Cc @cnojima and @mmaxim
On Thu, Apr 27, 2017 at 7:13 PM Peter Renshaw<EMAIL_ADDRESS>wrote:

@maxtaco https://github.com/maxtaco
here's my observations:

no problem re-authentication.

problems with the gui loading chat.. when opening with ^low
bandwidth^

when bandwidth was good this problem did not present itself.

Q. Is this a problem that is occurring because of bandwidth constraints?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/6613#issuecomment-297864298,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA05_zwXtp6S4dKH84EIoWwKbNqk4Cwqks5r0SEbgaJpZM4M-beH
.

thanks @maxtaco

I'm on Arch Linux, updated to the latest keybase-bin (keybase-bin 1.0.34_20171019160102+799e7007a-1) yesterday. Since then loading chat messages also hangs at "securing…". Restarting the computer, the app or killing the app (and other keybase processes) didn't change anything.
When using the command line, keybase also hangs after entering keybase chat ls, keybase chat lsur, keybase chat read and so on.
@maxtaco I tried to send log files (keybase log send), however, after entering YES I can enter ENTER again and again. The log files are not send.

No longer encountering this issue with 1.0.40-20180127033950.76a4b90c9


[Graph] Fix CompiledGraph aliasing bug

Some graphs produce output tensors that alias. In the original case, the outputs of the aliasing tensors would be undefined (the result of empty). This PR fixes that by aliasing the outputs as well.
For example this script originally outputs garbage in the second tensor
import hidet

a = hidet.symbol([1, 2], device='cuda')
b = a.mean(1)
g = hidet.trace_from([b, b], a)

cg = g.build()
print(cg(hidet.ones([1, 2], device='cuda'))[1])

Thanks @Aalanli !

Thanks @Aalanli !


Use Imgur API Client v2

Mostly for the albumOrImage endpoint.

Coverage decreased (-0.009%) to 97.865% when pulling 5da1bca1d9aa3c5636e926a0d56b09bca8784e55 on imgur-v2 into ed0756010303c5fe4b4007c723b9ea81b59ec606 on master.

Coverage decreased (-0.008%) to 97.878% when pulling f28d462a4cc94a523ceacf38f597dfd629bd6bc9 on imgur-v2 into 13201d727c61fdb50f7b641a939c6a3e32d5006a on master.

Coverage decreased (-0.008%) to 97.878% when pulling 8b17f1372bfc51912ff99101e378d51623fa823c on imgur-v2 into 13201d727c61fdb50f7b641a939c6a3e32d5006a on master.


Feature Updates

Feature Updates
We're starting a new initiative called Feature Updates.
For longstanding and highly-upvoted issues, we'll be dedicating time each milestone to address these issues and deliver an update on where the feature stands in our planning. My initial goal is to issue five-ish per milestone, though possibly more or fewer might happen due to other obligations or opportunities.
Long-open issues have many problems that need addressing:

The community rightfully wants to know whether we intend to implement highly-upvoted issues, what potential blockers are, and what kind of feedback is needed
Upvotes given at one point in time may have been from people whose needs have since been met by other features, or who no longer need the feature due to the shifting JS landscape
The GitHub UI isn't particularly friendly when there are hundreds of comments, which is common
Due to this and general human avoidance of reading long threads, many comments are duplicative or off-topic
Even if we've posted long comments explaining the current state of things, they tend to get lost in the middle
Many highly-voted issues actually describe a huge range of possible functionality, e.g. "Compiler Plugins" which could mean practically anything

The goals here are to:

Collect scenarios and use cases, assess which have been met in the interim since the feature was first proposed, and which still make sense
If necessary, split up the feature into sub-features for clarity
"Start fresh" with new threads with fewer filler (e.g. "Me too!") comments

Feature Updates will be moderated more stringently; while we almost never delete comments elsewhere, in Feature Update threads, comments which don't contribute meaningfully to the presented problems will be deleted.

Describe current solutions, why they're not part of TypeScript yet, and discuss possible next steps forward

Our request to you in Feature Update threads is to stay focused, since they will likely garner a lot of attention and potential for noise.
Examples of constructive feedback that would be greatly appreciated:

Discussion of possible solutions to presented problems
Code examples that demonstrate where the lack of the feature is painful
Explanations of existing libraries with behavioral constraints that can't be represented without the feature
Bugs that would have been found if you had the feature
Opinions on presented options, preferably using the aforementioned framings

To keep thread size manageable, we'll be pruning (deleting) unconstructive comments that don't meaningfully contribute to progress. Examples of comments that may be less helpful and could potentially be removed:

General observations like "This has been open for X years", etc.

We don't prioritize the design of the language solely based on when ideas were first conceived. TypeScript has been around for a while, and most ideas have been present in one form or another for a long time.

Unspecific "I need this", "Me too", "This is a must-have", etc.

If we don't know why you need it or what you want to use it for, we can't make design progress in terms of making trade-offs, shipping a minimum viable implementation, considering alternative features which would accomplish the same thing, or predicting what kinds of feature interactions people might expect

Comments that suggest obvious solutions: "Why not put it behind a flag", "Do it already", "Not hard, just do what Erlang does", etc.

Requesting Feature Updates
For the foreseeable future, we'll be working off the "most-upvoted" suggestion list. Please don't post comments in issues or iteration plans asking for feature updates. Once the top suggestions have been cleared out, we might change this policy, possibly by having a survey or something.

I'm going to unlock and just ask politely that people not request specific feature updates on certain issues and instead stick to meta-conversation.
Also I just realized what the acronym for it is; maybe someone can propose a better name? 😶

Maybe add "News"/"Notes" or something of the like to the end so it's F.U.N? 😄

One question: how can I help? 😉

Perhaps "Feature Reloads" or "Feature Refreshes" a la https://github.com/Spiker985/x-terminal-reloaded

I'm going to unlock and just ask politely that people not request specific feature updates on certain issues and instead stick to meta-conversation.
Also I just realized what the acronym for it is; maybe someone can propose a better name? 😶

RFC (example https://github.com/rust-lang/rfcs)

Very excited about this initiative and reading all the updates on these issues!
In case it's not obvious, you can see all the Feature Updates by clicking the "Feature Update" label.
I've found RSSHub helpful for turning these labels into RSS feeds. The Feature Update label is worth following, as is Design Notes:

https://rsshub.app/github/issue/Microsoft/TypeScript/all/Feature Update
https://rsshub.app/github/issue/Microsoft/TypeScript/all/Design Notes


Containerize cold extraction module

An attempt to #349 for the cold extraction module.

Thanks for the fix. Merging since these are new files and will not break anything.


Support lba/len being u32

Since this library is primarily for embedded devices, I'd like an option to use only u32 for lba/len.
That limits the max. length to 4G and the disk size to 4 billion blocks (512B sector = 10T).
Here is a very first patch to add it:
https://github.com/apohrebniak/usbd-storage/compare/master...alexkazik:forked-usbd-storage:u32
READ16 is in this case simply not supported, but it seems that this command is usually not used for devices which don't need it.
(WRITE16 is not implemented anyway; maybe a by default u64 feature is a better option)

I suppose the idea is to use this lib on 32-bit targets? In this case I'm not sure, but rust should handle it even on targets that don't have hardware 64-bit integer support. (but I'm not 100% sure though )

Yes, rust can handle all types on all hardware (even u128 on 16-bit) - but that comes with a cost of ram, runtime and codesize.
I'm using it on a 32bit target and the disk size is with 15MiB way less than the 10TiB supported by 32bit scsi commands (if using 512 byte sectors).
And I know it won't be a big difference but I still like it to be optimized.
Thats why I propose a feature, which is enabled by default, which enables the 64bit lba.
The feature would enable the READ16, READ_CAPACITY16, WRITE16 command and uses u64 for lba.
(Please be aware that I'm currently only looking at the scsi stuff but ufi has only u32's anyway)
Since the length is always only 32bit, why is it a u64?
(As I wrote earlier, WRITE16 is not implemented and thus READ16 is only helpful on read-only media.)
(Also in the scsi example the ReadCapacity16 will not work, is copies a u32(4bytes) into a 8 byte slice - which will fail on runtime)
I'll create a rp2040 scsi example after this is resolved either way.


VMX-pi HAL Library for arm64?

Hello
I found out that the VMX-pi HAL library only works with armhf.
Is there an arm64 version of the library?

Hi,
We compiled an arm64 a little while ago for some teams that wanted to use ROS on Ubuntu. However, only the cpp HAL is available for this build.
https://studicalimited.sharepoint.com/:f:/s/SR-Resources/EhIZFplb6R9LsR4TJyYUm5gBxVp78zb3BPnIVt3qs1dXBw?e=cqUMWg
username & password for the image is "ubuntu"


Google Analytics Setup

Implemented Google Analytics for this projecct

Hi, I appreciate the pull request but I have a question - does initializing the react-ga outside of firebase instead of initializing it with firebase sdk reflects all the analytics in firebase console?
I'm  talking about this Analytics and the Firebase analytics

Hey @jgudo , Sorry took so long to check this. I haven't tested this with Firebase analytics. I'll check it this weekend and let you know. Thanks for checking the PR


IBusControl.Stop() is blocked if called after IBusControl.Publish()

Hi
When i run the following test it gets blocked and i can't understand why.
I'm using Stop() and not StopAsync() because in our application, the Stop() is used inside a Dispose() method
var queueUri = new Uri($"rabbitmq://localhost/some-queue");

var rabbitMqHostSettings = queueUri.GetHostSettings();
var receiveSettings = queueUri.GetReceiveSettings();

IBusControl bus = Bus.Factory.CreateUsingRabbitMq(sbc =>
{
    var host = sbc.Host(rabbitMqHostSettings);
    sbc.ReceiveEndpoint(host, receiveSettings.QueueName, ep => { });
});

bus.Start();
await bus.Publish(new DummyMessage() { ID = 1 });
bus.Stop();

If I recall correctly, the Stop will block until messages have been published and any unacknowledged messages have been read or returned.

That means that it should only block for a short time. in my test, it blocks forever.
I did find that if the call to Stop is done from another thread then it works fine.
But this isn't a good solution

I think I have an idea on this one, in how the TaskScheduler is used with the model/connection from RabbitMQ to serialize calls. I'll try to reproduce and then check it with the latest develop build.

Any update on this? Is there anything i can do to help?

Well, TBH, if you can await the publish call, you should also await the Start/Stop calls by using StartAsync() and StopAsync(). That should eliminate the problem right away.
That said, some changes were made in 3.5 to how the task scheduler is exposed for calling from non-async contexts. This might fix the problem you're seeing as well. You could fetch the NuGet packages from the build server and try them to see... Otherwise, wait for 3.5 to be released and see if it helps.

Thanks for the reply.
The code i attached was just to show the problem.
In the original code, the Stop and the Publish are not next to each other. and the Stop method is called from a Dispose method that can't be awaited.
Something like this:
using(var jobScheduler = new JobScheduler())
{
	...
	await jobScheduler.Schedule(...); //start a sequence of method calls that will execute Publish() at some point
	...
}//the Dispose that is called after the block ends will execute the Stop (somewhere in the chain of method calls)

So I can reproduce this easily, and it gets the same Failed to close Scope that others have seen, so I'm not sure what's up yet. Something blocking the BasicCancel() call in the consumer it seems.


POJO Class prefix

How can i specify prefix on generated classes?
Example:
type Client
generates into
public class Client
But i want to "mark" this class with prefix
public class GqlClient

Currently, there is no way to do that.
Someone already asked for that, but didn't answer to my question : why would you want to do that ?
Étienne

BTW, you can update the templates (I'll give you the names once I'm in front of my computer, if you're interested).
By doing this, you can change everything that is generated.
(But I'm still interested in the reason why you want to do this)

Hi @etienne-sf
Here is one reason to add support for prefixes and suffixes for input object, types, enums, etc.
We are trying to replace a legacy code generator with graphql-maven-plugin-project. The old generator is used a naming scheme with a suffix for input objects and types, where for example the type Droid would be named DroidGraphQLType (similarly for interfaces and enums). There are thousands of existing usages of these classes, and we do not want to migrate all existing code, especially because there are existing classes (domain objects, and enums) used in the data fetchers, with the same class name as those that would be generated without a suffix.
We tried if we could solve the problem by changing the generated class name in object_type.vm.java but the filename and constructor must also changed, and that is done outside the template.
If we made a pull request adding support for configuring a prefix and suffix for the generated class names, would you consider merging it?
Best,
Mikkel

Of course!
I would be glad to integrate a PR on this subject
🙂
I'm currently working on the 2.x branch. I'll report the PR on the future 2.x branch.

Hi Étienne
The pull request is ready for review.
The are a few failing tests, but that looks more like an infrastructure problem than actual failures caused by the change.
Best,
Mikkel

Released in the 1.18.8 version


Custom encoders + @spice.encode throw an error

This works:
module CustomType = {
  type t = One | Two
  let t_encode = (t: t) => {
    switch t {
    | One => "one"->Js.Json.string
    | Two => "two"->Js.Json.string
    }
  }

  let t_decode = Obj.magic()
}

@spice
type t = {
  name: string,
  custom: CustomType.t,
}

Js.log(t_encode({name: "Alice", custom: One}))

While this throws an error:
module CustomType = {
  type t = One | Two
  let t_encode = (t: t) => {
    switch t {
    | One => "one"->Js.Json.string
    | Two => "two"->Js.Json.string
    }
  }
}

@spice.encode
type t = {
  name: string,
  custom: CustomType.t,
}

Js.log(t_encode({name: "Alice", custom: One}))

> rescript

rescript: [1/3] src/Demo.ast
FAILED: src/Demo.ast
Fatal error: exception Invalid_argument("option is None")

  We've found a bug for you!
  /Users/osener/rescript-project-template/src/Demo.res

  Error while running external preprocessor
Command line: /Users/osener/rescript-project-template/node_modules/@greenlabs/ppx-spice/ppx '/var/folders/hx/r1hy4h392nd8gtgf6r8z4qkr0000gn/T/ppxd6188aDemo.res' '/var/folders/hx/r1hy4h392nd8gtgf6r8z4qkr0000gn/T/ppx8b0307Demo.res'

Why do you think @spice.encode is supposed to be working?

This compiles and works:
@spice.encode
type t = | @spice.as(`하나`) One | @spice.as(`second`) Two

Js.log(t_encode(One))

Decco (and others such as ppx_deriving_yojson) has this feature so you can generate only decoders or only encoders. In our case it is important because some custom data types are only used for encoding, and does not need / support roundtrip.

@osener I got your point. The fixed version was just released to v0.1.12. Please try again with it.

If there is any issue, then reopen the issue.

This is great, thanks a lot for your work on ppx_spice and helping me so quickly!

This is great, thanks a lot for your work on ppx_spice and helping me so quickly!

Happy to hear that. Thanks!


Support relative server url

Overview

Version: 3.0.0
Type: Feature request

When requesting swagger api documentation, Springfox always return inferred server url (processed in WebMvcBasePathAndHostnameTransformationFilter or WebFluxBasePathAndHostnameTransformationFilter). I propose that Springfox can return relative server url.
Use Case
In our micro-service platform, applications can not be accessed directly and must be routed by gateways (based on Nginx). One gateway always contains multiple applications and each application has a separate route prefix.
For example, a Springfox application with a /login api is routed by a gateway under http://intranet.host/app1/. Then the Swagger UI access url should be http://intranet.host/app1/swagger-ui/ and /login api endpoint should be http://intranet.host/app1/login.
But currently the inferred server url is http://intranet.host/ and the /login api endpoint is http://intranet.host/login (missing /app1/ route prefix). This is because Springfox infers server url from request url, and the request url it sees is the one gateway sends to application (http://xxx.xxx.xxx.xxx/v3/api-docs), instead of the one that browser sends to gateway (http://intranet.host/app1/v3/api-docs).
Sample Nginx config:
location /app1/ {
  proxy_pass http://<IP_ADDRESS>:8080/;
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}

Workaround
Currently I use the following workaround to solve the problem:
@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE + 5)
public class SwaggerServerUrlFilter implements WebMvcOpenApiTransformationFilter {
  @Override
  public OpenAPI transform(OpenApiTransformationContext<HttpServletRequest> context) {
    OpenAPI openApi = context.getSpecification();
    HttpServletRequest request = context.request().orElse(null);
    if (request != null && CollectionUtils.isNotEmpty(openApi.getServers())) {
      String referer = request.getHeader(HttpHeaders.REFERER);
      if (StringUtils.contains(referer, "/swagger-ui/")) {
        String baseUrl = StringUtils.substringBeforeLast(referer, "/swagger-ui/") + "/";
        for (Server server : openApi.getServers()) {
          server.setUrl(baseUrl);
        }
      }
    }
    return openApi;
  }

Register a custom filter bean which has lower priority than WebMvcBasePathAndHostnameTransformationFilter (this means that it will be called after the latter one)
Determine whether the request is sent from Swagger UI page by checking the referer HTTP header

If it is, replace the inferred server url with the one extracted from referrer

It works, though not elegant.
Propose
To solve the problem, it's better to return relative server url and let swagger client (or browser) resolve it to absolute url. We might also guess the original request url from referer HTTP header (or force clients to send original request url as a parameter) and then build an absolute url in the server side, but that might be too complicated and not reliable enough.
Fortunately OpenAPI specification allows relative server url:

This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the OpenAPI document is being served

Previously swagger-ui cannot process relative server url correctly, but this has been fixed in https://github.com/swagger-api/swagger-js/pull/1883/. We just need to bump the swagger-ui version to 3.43.0 or above.
Proposed changes:

Bump the swagger-ui version to 3.43.0 or above
Allow users to specify custom server url more easily. Currently users can only specify custom server url by providing a custom WebMvcBasePathAndHostnameTransformationFilter bean. This is a little tedious.

Option 1: Allow users to specify custom server by Docket#servers programmatically and Springfox should stop inferring server url when custom server url is given. Currently Docket#servers is not passed to OpenAPI#servers (ApiDocumentationScanner#scan doesn't fill Documentation#servers)
Option 2: Allow users to specify custom server by configuration option (say springfox.documentation.server-url)
Option 3: Add a boolean configuration option (say springfox.documentation.relative-server-url), and check it in WebMvcBasePathAndHostnameTransformationFilter

ping

ping

pingSent from my Huawei phone-------- Original message --------From: "stale[bot]" @.>Date: Thu, Nov 18, 2021, 01:42To: springfox/springfox @.>Cc: Bian Jiaping @.>, Author @.>Subject: Re: [springfox/springfox] Support relative server url (#3735)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.


List/Stream implementations visibility

@romildo says

The best way of constructing a non-empty list given its head h and its tail l is "new List.Cons(h, t)"?

Maybe we should hide Cons and Nil from public?

I originally wanted it for pattern matching
Match.of(list)
    .when(List(x, xs)).then(println("head: " + x + ", tail: " + xs))
    .otherwise(println("empty list"));

What other benefits could we have?
Ad long there is no decomposition in pattern matching I think we don't need them. Scala had them (for List only?).

Are there other types that have inner classes we don't want to expose?

I'm not sure if cyclops (@johnmcclean-aol) or derive4j (@jbgi) need access to Cons and Nil.
Does javaslang-jackson currently use them?

Are there other types that have inner classes we don't want to expose?

IMO all implementations of these interfaces should be hidden:

List
Stream
Option (in case if Option.of(null) will return Some(null))
Lazy (already hidden)

Does javaslang-jackson currently use them?

Of course no! :)

Basically we need the types for pattern matching, therefore they should stay with us.
Supplier<R> s1 = Match.of(option)
    .whenType(List.Cons.class).then(some -> ...)
    .whenType(List.Nil.class).then(nil -> ...);

Supplier<R> s2 = Match.of(_try)
    .whenType(Success.class).then(success -> ...)
    .whenType(Failure.class).then(failure -> ...);

We could make the constructors (package) private to make clear how to obtain classes. There have to be factory methods for the subtypes. I began already with that. Example:
<T> Option<T> of(T t);

Move impl classes into their interfaces
Hide constructors of impl classes
Ensure that special factory methods for impl classes exist (but they return the interface)

Fixed by ff434724c11329d5e16e19eb7dbaf4aa90d5c5b7


model of PruningNet

I really appreciate your work and want to follow this work. But training  PruningNet on imagenet requires too many GPU resources. Can you provide PruningNet model for us?

Hi, thanks for your interest in my work. I will try to release that.

Look forward to PruningNet model on Cifar10,plz

Hi
I am interested in your paper and this direction.
Would it be possible to share the trained model on imagenet?


use --experimental-meta-resolve option with hook file

Allows hook.mjs file to exported from the instrumentation package if the user also uses the --experimental-meta-resolve flag. If a user doesn't want to use this flag, they can still reference import-in-the-middle/hook.mjs. I figure this option is safe because this is such a Node targeted feature that I'm not worried about someone trying to run this in the browser. The code path to the ESM hook is entirely contained in the node folder which wouldn't be available if someone were to run this package in the browser and they wouldn't be using the hook anyway.

Codecov Report

:exclamation: No coverage uploaded for pull request base (esm-support@b894bcd). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head ddd2c81 differs from pull request most recent head 1cc7f98. Consider uploading reports for the commit 1cc7f98 to get more accurate results

@@              Coverage Diff               @@
##             esm-support       #8   +/-   ##
==============================================
  Coverage               ?   93.32%
==============================================
  Files                  ?      286
  Lines                  ?     8758
  Branches               ?     1816
==============================================
  Hits                   ?     8173
  Misses                 ?      585
  Partials               ?        0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Sound effects mess up music.

When a sound effect plays, the music gets messed up in unpredictable ways.

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."


Unable to open settings

Hello,
I have disabled footer through Maccy settings and now I'm unable to open the settings at all. Neither through cmd + shift + c nor clicking at the Maccy icon in the tray.
Any help appreciated. Thanks!

For anyone facing the same issue I was able to bring it back by pasting defaults write org.p0deje.Maccy hideFooter 0 to the terminal.

For anyone facing the same issue I was able to bring it back by pasting defaults write org.p0deje.Maccy hideFooter 0 to the terminal.

You could also just press command + , when the app has focus. (As in every good macOS app).

You could also just press command + , when the app has focus. (As in every good macOS app).

Thanks, I didn't think of that. But it's still confusing when you don't see the Preferences option when you click on the icon (when you disable footer in settings).

Thanks, I didn't think of that. But it's still confusing when you don't see the Preferences option when you click on the icon (when you disable footer in settings).

I'm having the same issue.
It works if the footer is visible, but if I hide it then command+, stops working.

I'm having the same issue.
It works if the footer is visible, but if I hide it then command+, stops working.

In Maccy's Preferences, under Appearance > Show footer, it is said:

Press ⌘, to open preferences when footer is hidden.

So it would be strange to expect to see Preferences in footer after reading this label and disabling the footer...
Btw, ⌘, works fine for me in Maccy v0.18.2 (3), even if the footer is disabled.

In Maccy's Preferences, under Appearance > Show footer, it is said:

Press ⌘, to open preferences when footer is hidden.

So it would be strange to expect to see Preferences in footer after reading this label and disabling the footer...
Btw, ⌘, works fine for me in Maccy v0.18.2 (3), even if the footer is disabled.

@artginzburg I'm not sure what you mean by:

So it would be strange to expect to see Preferences in footer after reading this label and disabling the footer...

Perhaps we are misunderstanding.
If I go into preferences, then untick 'Show footer'. Then I close preferences, open Maccy & press ⌘, then nothing happens.
I'm running the same version:

Is there anything else I can try?

@artginzburg I'm not sure what you mean by:

So it would be strange to expect to see Preferences in footer after reading this label and disabling the footer...

Perhaps we are misunderstanding.
If I go into preferences, then untick 'Show footer'. Then I close preferences, open Maccy & press ⌘, then nothing happens.
I'm running the same version:

Is there anything else I can try?

@moredhel It might be a bug that ⌘, doesn't open it because it should. Do you use regular English QWERTY layout?

@moredhel It might be a bug that ⌘, doesn't open it because it should. Do you use regular English QWERTY layout?

I use Dvorak, but I both the physical button </, & the remapped key with no success unfortunately.
You’ve got it :) I added a qwerty layout & I get the following behaviour (remapping ctrl+shift+a -> ctrl+cmd+v:
(Note, all keybindings are referenced by what is printed on the key)

Dvorak layout: ctrl+cmd+. (V in Dvorak) opens maccy
Dvorak layout with Maccy open: cmd+, || cmd+w nothing happens
Qwerty layout: ctrl+cmd+. Opens Maccy ctrl+cmd+v no effect
Qwerty layout Maccy open: cmd+, opens preferences as expected.

Hopefully that is enough to guide things. Is there anything I can provide to help?
Thanks :)

On 26 Jan 2021, at 19:17, Alex Rodionov<EMAIL_ADDRESS>wrote:
@moredhel https://github.com/moredhel It might be a bug that ⌘, doesn't open it because it should. Do you use regular English QWERTY layout?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/p0deje/Maccy/issues/230#issuecomment-767654928, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANJKXGJ6PP54IBDLZD73O3S33TKFANCNFSM4WCIXNWA.

I use Dvorak, but I both the physical button </, & the remapped key with no success unfortunately.
You’ve got it :) I added a qwerty layout & I get the following behaviour (remapping ctrl+shift+a -> ctrl+cmd+v:
(Note, all keybindings are referenced by what is printed on the key)

Dvorak layout: ctrl+cmd+. (V in Dvorak) opens maccy
Dvorak layout with Maccy open: cmd+, || cmd+w nothing happens
Qwerty layout: ctrl+cmd+. Opens Maccy ctrl+cmd+v no effect
Qwerty layout Maccy open: cmd+, opens preferences as expected.

Hopefully that is enough to guide things. Is there anything I can provide to help?
Thanks :)

On 26 Jan 2021, at 19:17, Alex Rodionov<EMAIL_ADDRESS>wrote:
@moredhel https://github.com/moredhel It might be a bug that ⌘, doesn't open it because it should. Do you use regular English QWERTY layout?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/p0deje/Maccy/issues/230#issuecomment-767654928, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANJKXGJ6PP54IBDLZD73O3S33TKFANCNFSM4WCIXNWA.

Yeah, with other layouts it's getting complicated. I use #170 to track work related to this.

Yeah, with other layouts it's getting complicated. I use #170 to track work related to this.

Thanks @p0deje, I'll refer to that thread :)

Thanks @p0deje, I'll refer to that thread :)

+1

can be better to right click on icon 🙏

I am still having this issue. I disabled the footer and now I can enter the setting. I am running Mac os 15.

@Daku24 What's macOS 15? The latest is Sonoma 14. If you are running it, see https://github.com/p0deje/Maccy/issues/555 for workarounds.

Just press the shortcut to open Maccy clipboard, then press (⌘,)

for me it was confusing because I read the comma as part of the sentence, and was frustrated to have the CMD key not open the settings 😆. So yeah:
CMD + ,


Support Sylius 1.11

It would be nice for this plugin to support Sylius 1.11

this issue can be closed ^^


Sync pliib submodule to the latest version

Sorry to create the same PR again. This PR updates the pliib submodule to the latest version.

If you merge this PR, the upstream GFAKluge library also needs to update its tinyFA submodule.


precommit check fails for fixup

$ git status
On branch use-fm-bin-test-rs
Your branch is ahead of 'fedimint/master' by 2 commits.
  (use "git push" to publish your local commits)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   fedimint-bin-tests/src/main.rs

$ git commit --no-edit --fixup=8becf3dbe0
Skipping npx check
0 / 6 would have been reformatted
first line doesn't match `<type>[optional scope]: <description>`
Use git recommit <args> to fix your commit

the script is getting the following message fixup! feat: use fedimint-bin-tests in rust tests

https://github.com/convco/convco/issues/127


implement multiplayer undo/redo

As we can see in https://github.com/excalidraw/excalidraw/pull/6926. In the collaborative mode, users can only undo and redo their own modifications, and the data synchronized by other terminals cannot be undone.

Duplicate of #5375?

Will be fixed soon, actively working on it! 🙏
(for now closing as duplicate as noted above)


Color theme should allow the terminal color to change independently

SQL Operations Studio Version: sqlops 0.26.7 (723c7cb3bfd80d87fc8a1141632089cd4808495c, 2018-02-16T21:34:47.034Z)
OS Version: Windows_NT x64 10.0.16299
Extensions: none

Steps to Reproduce:

Change a theme, and notice that you cannot change the terminal window independent of the theme.  I prefer my SQL, and Python windows with a light theme, but I am used to seeing my Powershell terminal in "Powershell blue".  Currently this theme is impossible.

You can do this now in vscode by setting theme keys in workbench.colorCustomizations

This was fixed upstream.  Thanks @Tyriar!


[WIP]Add Scalafmt support

Originally done by @liancheng, but lagged for a while.

This change is

@ilovesoup all conflicts were resolved. New added code were formatted. PTAL.


Checking expiration

As far as I could understand, jwt-decode doesn't check if the token expired, does it?
If yes, how can I check if the token expired?
If not, is there any way to do that easily?
Thanks

It seems easiest way is to:
	var current_time = new Date().getTime() / 1000;
	if (current_time > jwt.exp) { /* expired */ }

Just leaving this here as it might help anyone.

Just an alternative:
var current_time = Date.now() / 1000;
if ( jwt.exp < current_time) {
 /* expired */
}

Just an important addition: Beware of timezone-Errors.
I think you need to use 'Date.now().valueOf() / 1000;' to get the plain UTC time (UTC is the same format as the 'exp' from the JWT-Token). Otherwise the 'Date.now()' will be converted to you local timezone when comparing, which could be a different one than the jwt-issuer.
Not using 'valueOf()' will in many timezone-related cases invalidate your token and depending on timezone-difference between client and server (or more exact: between jwt-issuer and jwt-validator) you might not be able to use it ever because the timezone-difference is too big.

Also worth mentioning that the exp claim is optional (https://tools.ietf.org/html/rfc7519#section-4.1.4) so you (may) want to handle that use case:
    if (typeof jwt.exp === 'undefined') return 'Never expires!'

There's also nbf for Not Before (https://tools.ietf.org/html/rfc7519#section-4.1.5) as well, which is also optional.  If this library were implementing a validity check, which would be helpful, then I suggest it cover more than just "is expired".

@davidjb
i understand your thoughts, but the codeline you wrote is not completely valid from logic.
Just because the exp-attribute isn't set doesn't mean that some custom-attribute for expiration isn't set.
Since both, client and endpoint, should use the same JWT schema, the endpoint should know if it uses the exp-attribute or something custom.
If it uses something custom, then it will check for that instead the exp.
But if the endpoint uses the exp-attribute, then a missing exp-attribute is NOT == "Never Expires". In this case it would be an invalid token because a non-optional setting is missing. And since the server itself would always create tokens with the exp-attribute (so that the endpoint can check for it), this token maybe wasn't even created by the server and may be a try to compromise the system in some way.

For the lazy:
function assertAlive (decoded) {
  const now = Date.now().valueOf() / 1000
  if (typeof decoded.exp !== 'undefined' && decoded.exp < now) {
    throw new Error(`token expired: ${JSON.stringify(decoded)}`)
  }
  if (typeof decoded.nbf !== 'undefined' && decoded.nbf > now) {
    throw new Error(`token expired: ${JSON.stringify(decoded)}`)
  }
}

try {
  assertAlive(jwtDecode(token))
} catch (error) {
  console.error(error)
}

isTokenExpired = () => {
const token = localStorage.getItem("access_token");
try {
const date = new Date(0);
const decoded = decode(token);
date.setUTCSeconds(decoded.exp);
console.log(date.valueOf() > new Date().valueOf());
return date.valueOf() > new Date().valueOf();
} catch (err) {
return false;
}
};

  isTokenExpired = () => {     const token = localStorage.getItem("access_token");     try {       const date = new Date(0);       const decoded = decode(token);       date.setUTCSeconds(decoded.exp);       console.log(date.valueOf() > new Date().valueOf());       return date.valueOf() > new Date().valueOf();     } catch (err) {       return false;     }   };

  isTokenExpired = () => {     const token = localStorage.getItem("access_token");     try {       const date = new Date(0);       const decoded = decode(token);       date.setUTCSeconds(decoded.exp);       console.log(date.valueOf() > new Date().valueOf());       return date.valueOf() > new Date().valueOf();     } catch (err) {       return false;     }   };

@RomanBednyakov just some additions to your code:

please always try to give some information, why you are posting. Does your code provide us new information? Is it something that wasn‘t possible since some late updates? In what way does your code differ from the previous one?
please try to format your code correctly in the github editor, so it get‘s correct syntax-highlighting. This makes it easier for others to read :)
you are calling the „new Date“ constructor 3 times, that‘s way more than needed
you don‘t need to convert the „exp“ value to a date. Since you only need to compare plain numbers here, that do not contain any information but the value, you can (and should) just compare number a with number b. Number a is already „token.exp“ and number b is „Date.now().valueOf() /1000“. compare both numbers and you will be fine. If you need „Date.now“ in some other function like logging, then save the value to a const or var instead of calling the Date constructor every time.

@mhombach will you help me understand your comment about valueOf?

I think you need to use 'Date.now().valueOf() / 1000;' to get the plain UTC time (UTC is the same format as the 'exp' from the JWT-Token). Otherwise the 'Date.now()' will be converted to you local timezone when comparing, which could be a different one than the jwt-issuer.

Date.now() returns a number representing the milliseconds elapsed since the UNIX epoch (UTC) so why would Date.now().valueOf() / 1000 return anything different than Date.now() / 1000? valueOf “returns the primitive value of the specified object” so if Date.now() already returns a primitive, number, then why would using valueOf with Date.now() make any difference?
Thank you in advance in helping me understand. I'm trying to track down an issue where one my servers is claiming JWTs are expired while the client seems to think it isn't. Anyone with ideas on what to check for in scenarios like this please do share. Thanks!

@mfulton26 a different date & time on devices (server and client) could have the scenario you mentioned, since runtime grabs the time (now) from the system it's running on.

@vniche that doesn't seem to explain the usage of valueOf() though...

Using Date.now().valueOf() is completely unnecessary, Date.now() returns a plain Number object which "knows" nothing about time zones and etc...
And second Date.now() already returns the

The Date.now() method returns the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC.

so even no conversionis needed

That was my thinking @rstar2; thank you for confirming.

Hmm... i have to admit that i do not 100% understand my thoughts from back when i wrote my first comment.
I just remember that i ran into weird timezone-issues with the token's exp-value and that using .valueOf() did fix the issue.
I just did some tests on a JS playground and i cannot reproduce the problems i got.
I might have been troubled by mixing up a timestamp with seconds and one timestamp with miliseconds, but then again i should have noticed the difference in length...
So long story short: I cannot defend or describe my previous statements. It's just somewhat weird to me, that my comment got many likes and upvotes... Maybe others ran into the same problems i encountered and my "fix" did solve it for them too (regardless of what the core problem was)?
Would be interested in if there were others having also problems related to this issue... :/

Hmm... i have to admit that i do not 100% understand my thoughts from back when i wrote my first comment.
I just remember that i ran into weird timezone-issues with the token's exp-value and that using .valueOf() did fix the issue.
I just did some tests on a JS playground and i cannot reproduce the problems i got.
I might have been troubled by mixing up a timestamp with seconds and one timestamp with miliseconds, but then again i should have noticed the difference in length...
So long story short: I cannot defend or describe my previous statements. It's just somewhat weird to me, that my comment got many likes and upvotes... Maybe others ran into the same problems i encountered and my "fix" did solve it for them too (regardless of what the core problem was)?
Would be interested in if there were others having also problems related to this issue... :/

@mhombach yes I found it weird and confusing to that your comment got so many likes but the solution didn't help me and I wondered if I was missing something. I appreciate you all taking another look. The issue for me ended up being multiple refresh token requests happening in concurrently which is a separate issue. Thanks!

Thanks for the help @thejohnfreeman I had some trouble figuring out the logic until i realised how much more cleaner your code were than mine!

try {
var decoded  = await jwt.verify(access_token, config.jwtSecret);
} catch (err) {
if (err instanceof TokenExpiredError) {
var error = errors["ACCESS_TOKEN_EXPIRED"];
var err = new AppError(error.code, error.message, error.responseCode);
return response_manager.send_error_response(res, err);
} else {
var error = errors["INVALID_ACCESS_TOKEN"];
var err = new AppError(error.code, error.message, error.responseCode);
return response_manager.send_error_response(res, err);
}
}

try {
var decoded = await jwt.verify(access_token, config.jwtSecret);
} catch (err) {
if (err instanceof TokenExpiredError) {
var error = errors["ACCESS_TOKEN_EXPIRED"];
var err = new AppError(error.code, error.message, error.responseCode);
return response_manager.send_error_response(res, err);
} else {
var error = errors["INVALID_ACCESS_TOKEN"];
var err = new AppError(error.code, error.message, error.responseCode);
return response_manager.send_error_response(res, err);
}
}

the issue is closed for some time
you didn't write any description to your code, what is it supposed to do? What more is it adding to the already commented solutions?
please always post your code in CODE-syntax, so we all get formating and syntax-highlighting

See https://stackoverflow.com/questions/33184096/date-new-dated-valueof-vs-date-now for why to use .valueOf()
Essentially it's only needed for IE8 backwards compatibility.


CSB-3601: fix dependency convergence

@cunningt so this should solve https://issues.redhat.com/browse/CSB-3601 partially, findbugs is removed with https://github.com/jboss-fuse/camel/pull/2430, thanks !

@johnpoth Thanks for doing the research on this one - the excludes being part of static analysis changes and being removed because of usefulness vs. part of a conflict makes me feel a lot better about this.


[Parse] Remove unused parameters and return value of lexTrivia function

It appears that we may not have been consistently tracking leading and trailing trivia in the Lexer since the removal of libSyntax (see #62145).
Consequently, it seems unnecessary to consider leading or trailing trivia in the lexTrivia function.
To align with this decision, I have modified the lexTrivia function's signature to ensure adherence to the new criteria.
P.S. As I am super new to this project, please feel free to correct me if I have any misunderstandings on this topic.

@swift-ci Please smoke test

(Sorry I clicked "Close with comment" by accident.)


ROMs not visible in GarlicPress (but device visible)

Despite enabling ADB, the ROMs are not visible in GarlicPress, but the device itself is (name appears in bottom right corner).
I have spent all day trying to figure this out by changing things one by one, like:

Using my Windows 11 laptop instead of my Windows 10 Desktop;
Using a USB-C to USB-C cable (on laptop) instead of a USB-C to USB;
Trying 3 different cables total;
Trying a different USB port;
Plugging/unplugging my device while GarlicPress was already open, and while it wasn't;
Putting the program directly on C:\ instead of on my desktop;
Launching as administrator.

GarlicPress actually worked for all of 10 minutes (after struggling with the same issue since the day before) and I managed to change half of my box arts (though they were not visible on the app's preview screen, but they work on my device), but when I adjusted the text offset in the skin options (which worked), after rebooting, the ROMs weren't visible anymore, and now no matter what I do, it won't work
My theory is that GarlicPress can only access my SD Card 1 (system) (since I can still change skin options and use commands in the console) and not my SD Card 2 for ROMs, which contains the box arts that I managed to add before it stopped working.
Sorry for the wall of text, I tried to put as many details as I could to compensate for the lack of any error message.

RG35xx
GarlicOS version: 1.4.9

Thank you!

System rom folders on SD 2 can be in a Roms folder or on the root of the SD
Depending on which setup you use there is a setting in File->Settings
if you have a Roms folder the "Rom System Folders on Root of SD card 2" setting should be off
For example if your nes rom paths are "/roms/nes/romName.nes"
If you have a Nes folder directly on the root than the "Rom System Folders on Root of SD card 2" setting should be on
For example if your nes rom paths are "/nes/romName.nes"

Thank you, and my apologies, this fixed it! I don't remember changing that setting so it's a bit strange that it somehow worked (wonkily) for a bit, but now everything works perfectly (love the new update too!).


Game names/stats in config file.

Primary Currency has already been started. Must replace static names with names from the config file.

Close because its a dupe of #92 lul


Disable editor by default

Create a parameter so that the editor is disabled by default when the user from a certain account it logged.

Fixed in 3.6.0


Add TS_ to INPUT_* defines in xrdp_constants.h

As #928 suggests

Closing as #946 has been closed.


CI: add build step to validate that pubspecs do not include dependency_overrides

 Issue by sethladd
Thursday Oct 22, 2015 at 23:07 GMT
Originally opened as https://github.com/flutter/engine/issues/1747

We noticed that some code reviews notice that the pubspec.yaml has a dependency_override mention. Would it help to add a small step to the Travis build that fails when it notices a dependency_override in any pubspec.yaml ?

 Comment by abarth
Thursday Oct 22, 2015 at 23:25 GMT

We use dependency_override in packages that we don't intend to publish to pub...  Maybe there's a better way?

This issue seems obsolete.


Error with headers in generated angular client

Hello,
I found a nasty bug in the generated Angular client, which I spent all day finding.
When downloading a big file (more than 10 MB) in chrome, an net::ERR_FAILED error is generated with status = 0.
Moreover, this error does not appear in new Edge, Firefox and Chrome in Private Mode .
asp.net core API code:

[HttpGet]
[Route("{documentId}/data/{fileType}")]
public async Task<IActionResult> GetDocumentData(int documentId, FileType fileType)
{
  var document = await _documentService.GetDocumentByIdAsync(documentId).ConfigureAwait(false);
  var transformedTemplates = _documentTemplateConverter.Convert(document, fileType);
   var content = transformedTemplates.FirstOrDefault();

  if (content == null) return NotFound();

  var fileName = $"Doc {document.Id}.{content.ext}";

  Response.Headers.Add("Access-Control-Expose-Headers", "*");
  Response.Headers.Add("Access-Control-Allow-Origin", "*");

  return File(content.Content, content.Mime, fileName);
}

I found that the reason is in this line of the generated client.
let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); } }

Most likely the reason is security when accessing headers. But even adding a Access-Control-Expose-Header header in response with value * doesn't help.
Perhaps I haven't foreseen something else. If the problem really exists, then most likely it will be necessary to refine the work with headers in the generated angular client.

It looks like the problem is with the chrome settings on the domain.


added variable to make doom-modeline optional

this closes issue #44
Signed-off-by: Erik Lundstedt<EMAIL_ADDRESS>

Choice of mode line customization is a pretty big one, on the order of choosing your preferred font and color theme.
I'm starting to wonder if we should configure the mode line somewhere else, like in a separate module that can be included only if you want mode line customizations.  That would make it easier to have multiple rational-doom-modeline.el etc configurations which don't require configuration variables to decide whether they're turned on or off.
What do you think?

I don't know
I was planning on making a pr with the telephone-line modeline config I've got where you run a function to use different configurations/defaults and the user get to start the modeline themselves as you need to do the config before starting the modeline with telephone-line-mode or something similar

Choice of mode line customization is a pretty big one, on the order of choosing your preferred font and color theme.
I'm starting to wonder if we should configure the mode line somewhere else, like in a separate module that can be included only if you want mode line customizations.  That would make it easier to have multiple rational-doom-modeline.el etc configurations which don't require configuration variables to decide whether they're turned on or off.
What do you think?

Actually
That sounds pretty good
Because then I can write (parts of) the telephone-line module

The current commit history is a bit of a mess. While the intend is fine, can you please clean it up? Given the contents of your changes, you could squash them into a single commit.

I am not sure on how to do that as ive only ever used git(gitlab) for my own code where messy history isnt a problem

I am not sure on how to do that as ive only ever used git(gitlab) for my own code where messy history isnt a problem

It is always an issue, it's just that GitHub (and GitLab) will optionally let you squash commits while merging once the PR is accepted. That being said, squashing yourself is the conventional thing to do and it helps codeowners review changes more easily without carrying the minor details we talked about here

I am not sure on how to do that as ive only ever used git(gitlab) for my own code where messy history isnt a problem

It is always an issue, it's just that GitHub (and GitLab) will optionally let you squash commits while merging once the PR is accepted. That being said, squashing yourself is the conventional thing to do and it helps codeowners review changes more easily without carrying the minor details we talked about here
To squash your commits into one, you can pull your branch locally as per latest, and if you're using Magit, ri from the status buffer is probably the easiest

the thing now is that there have been changes made afterwards
im gonna try


WIP Adds OCSP support for BoringSSL

Takes some source files from openssl-1.0.2u that implement the missing server-side OCSP response fetching APIs that were removed in boringssl and creates a new library from that (ocsp4boringssl). This is built and linked against if boringssl is detected.
NOTE: This is currently incomplete (still migrating changes to this branch)

Takes some source files from openssl-1.0.2u

Does this mean you copied the source code? It might cause license issue. Copying source code from their main (master) branch would make things safe and easy because it's AL2.
https://www.openssl.org/source/license.html

@masakit Good point. I'm going to close for now do some research.


fix: package name in release asset path

:tada: This PR is included in version 1.0.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Blueprints Category Link Broken

https://www.ctl.io/knowledge-base/ecosystem-partners/partner-integration-resources/ecosystem-program-resources-blueprints/
Link is foudn under 'Core Documentation'

@hudakdidit This link is formatted correctly, but gulp kb isn't generating the link properly. The commit analyzer isn't reporting any errors, with the source article (https://github.com/CenturyLinkCloud/PublicKB/blob/master/Ecosystem Partners/Partner Integration Resources/ecosystem-program-resources-blueprints.md)
cc: @bmathews

@nathanyoung gotcha. OK We'll investigate.

Another broken category link:
https://github.com/CenturyLinkCloud/PublicKB/blob/master/Partners/support-escalation-process-for-partners.md
Line 151.
Formatted correctly in github, but broken on https://www.ctl.io/knowledge-base/partners/support-escalation-process-for-partners/

https://github.com/CenturyLinkCloud/PublicKB/issues/479

Should be fixed by https://github.com/CenturyLinkCloud/PublicPlatform/commit/60fff192fe7deb57ad5ea8a37c65e953c23efaa8


Blog Page

We have noticed the amount of interest the project has getting so it is of importance that we must have a way to communicate our updates in a lengthy and monthly manner.  The blog page can use the layout from Casper, Ghost CMS's default theme, to ease implementation.

Implemented already on new rev. Closing.


refactor(cherow): fixing correct error locations

Example /* asf  . In Acorn the error loc is reported as 1:0. In Esprima Line 1
and in ShiftJS reported as  1:8.  None of this is correct if you try to count.  There are nothing on pos 8 as reported by ShiftJS. The last char is a WS on pos 7.
in this case Cherow reports the error location like this 1:7.  Counted from comment start to the last WS.
Another example is this one "foo . Wrong in all parsers, but ShiftJS got it almost right again. They are reporting 1:5 as the current pos. Note:  The last pos is 4, and pos 5 as reported is non-existing.
In this case Cherow reports this as 1:3. The reason it stops at pos 3, is because the o should have been the closing quote. Note: This is an unterminated string. This can be adjusted if my thinking is wrong, but at least more correct than other parsers

@g-plane I plan to merge this soon now. Note that I may think I solved your "indent" issues!?


BZ2066324 Show Hosts discovery hint link above infraenv hosts list

show the link only if there are some hosts
if no hosts are discovered yet, the link is included in
hosts table empty state

Signed-off-by: Jiri Tomasek<EMAIL_ADDRESS>

/retest

/lgtm


chore: add failing test for register calls

Checklist

[x] run npm run test and npm run benchmark
[x] tests and/or benchmarks are included
[ ] documentation is changed or added
[x] commit message and code follows the Developer's Certification of Origin
and the Code of conduct

Similar to #33, this is just a failing test.
I think it would make sense for register to keep the TypeProvider provided by its parent by default - currently we have to call withTypeProvider on instance to make it pass.
This is probably an issue in https://github.com/fastify/fastify rather than in this repo, but still 🙂
/cc @sinclairzx81

Reference: https://github.com/fastify/fastify/issues/3636

Closing for no activity


HideStrings meaning inverted

Hello.
I'm trying to obfuscate String literals but HideString=true doesn't cause any obfuscating.
(env : obfuscar2.0.3 / .net4.5 / console application)
After some trying, I noticed that HideString=false do hide my String literals,
and that behavior has inverted after version 2.0.2 (after commit 19e40b).
Is this change in the spec?
Thanks.
Original Reported Date: 2016-02-07T21:12:07.18-08:00
Planned For Release:
Original CodePlex ID: 30

Copied from CodePlex without authors:
Thanks for the reporting.
Fixed in 54d5f45e35b2d99af1f5b3b8cdf6deee40e0c1fc
Will be part of 2.0.4 release.
Original Posted Date: 2016-02-10T22:14:48.663-08:00

Copied from CodePlex without authors:
I'm glad to see release 2.1.0.
Thank you for quick response.
Original Posted Date: 2016-02-15T19:18:49.477-08:00

Original Closed Date: 2016-02-10T22:14:58.49-08:00


Submit Project Plan and Get Familiar with Jayvee Basics

Task Description:
Submit Project Plan:

[x] Create a Markdown file named project-plan.md.
[x] Place it in the /project directory of your repository.
[x] Follow the provided example to structure your project plan.

Watch Jayvee Basics:

[x] Core Concepts video
[x] Core Concepts documentation
[x] Tutorial examples

Submission:

[x] Ensure the project plan (project-plan.md) is submitted to the /project directory.

done


Empty Sitemap.xml

Issue Summary
I see an issue with sitemap.xml not being generated every time it gets requested. The issue is not really reproducible. For failed requests Ghost returns an empty response with status code 200.
Steps to Reproduce

go to /sitemap.xml
hope that it's empty

Technical details:

Ghost Version: 0.10.1
Node Version: 4.4.7
Browser/OS: Chrome
Database: Mysql

And the support page may need update(content is out of date):
http://support.ghost.org/faq/generate-sitemap-blog/


Converted button text to moving symbols (toggle button)

Description
This PR changes the text in toggle button to minimalist symbols which have slight motion added to it,
no extra images i implemented it using unicode also made the button fixed & circular
Issue
Closes #68
Screenshots or GIFs (if applicable)
DEMO

Hey @bilaljaved01 I loved your design of dark mode, however the buttons on the website should be visible in dark mode kindly check all the buttons and section in dark mode as well as light mode !! let me know once you are done

I only made changes in toggle button and nothing else, everything is intact to the previous form as it was, and the toggle button in dark mode will be visible as the navbar behind it is always in light mode, we can open a new issue if there's something else you want me to work on

Maybe the demo video was of low pixel !! let me check , though your button is good to go with !! Thanks for your contribution @bilaljaved01  !! Please leave a star to the Repo for us ⭐


change tedge mosquitto configuration file permissions from 600 to 644

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

Running mosquitto as a non-root user is not possible as the tedge mosquitto files under /etc/tedge/mosquitto-conf/*.conf are only readable by the root user (e.g. the files have the permission 0o0600). Changing the tedge mosquitto configuration files to 0o0644 would fix this, and it would also align the file permissions to those used by the /etc/mosquitto/mosquitto.conf.
Below shows the difference between the tedge and mosquitto configuration files.
tedge configuration files
$ ls -l /etc/tedge/mosquitto-conf/
total 8
-rw------- 1 root root 1149 Jul 19 16:07 c8y-bridge.conf
-rw------- 1 root root  261 Jul 19 15:58 tedge-mosquitto.conf

tedge configuration files
$ ls -l /etc/mosquitto/mosquitto.conf
-rw-r--r-- 1 root root 392 Jun 27 22:07 /etc/mosquitto/mosquitto.conf

Describe the solution you'd like

Change the file permissions from 0o0600 to 0o0644 for all files created under the /etc/tedge/mosquitto-conf/ directory.
Describe alternatives you've considered

Additional context

I would consider to do this along https://github.com/thin-edge/thin-edge.io/issues/2012

The implementation was done exactly as described in the ticket description.

QA has thoroughly checked the feature and here are the results:

[ ] Test for ticket exists in the test suite.
[x] QA has tested the feature and it meets the required specifications.

This issue was only partially closed. The c8y-bridge.conf file still need to have its permissions set to 644 instead of 600 to allow non-root users to read it.
A PR was opened to included system tests to verify this functionality. https://github.com/thin-edge/thin-edge.io/pull/2334


[SiVal, usbdev] Fix usbdev tests

This PR:

Fix the usbdev_aon_wake_reset_test
Add the fpga sival exec_env to aon_wake_diesconnect_test

Add the fpga sival exec_env to aon_wake_diesconnect_test

I don’t see this change, did you miss a commit?

Add the fpga sival exec_env to aon_wake_diesconnect_test

I don’t see this change, did you miss a commit?

I removed the commit and forgot to update the description.
The aon_wake_disconnect_test needs more work, so I will split in a separate PR.


The original link points to a We Have Moved organization

The original link points to a We Have Moved organization; also, link directly to the repository.

Thanks!


fix (Benchmark Idle): Spawn amount.

fixes: https://github.com/MirrorNetworking/Mirror/pull/3745
Old spawn amount did not get removed, adding duplicate "spawnAmount:"'s
This happened due to a mistake in attempting to remove other new scene changes.
For this PR, nothing is manually removed.

@JesusLuvsYooh looks like this has conflicts

@JesusLuvsYooh looks like this has conflicts

How about now?

Closing this - fixed in raw file.


Revamp the disconnected installation technique

As we move from custom built distribution packages to upstream packages, we will have to revamp our disconnected installation documentation / technique. The main trigger for this work is that we will most likely lose the "offline" package, which means KET will either a) stop being responsible for seeding the container registry, or b) change the seeding process.
Container Images
Components that are distributed as container images will need to be available in an internal container image registry. Potential solutions here, from simpler to more complex:

Maintain a list of container images that are required during an installation. The user is responsible for seeding their internal registry with all images.
Maintain a script that must be run by the user prior to the installation. This script will contain a list of the container images that are required for an installation, and will download, tag, and push each one to the internal registry.
Make KET compute the required container images according to the selected options, add-ons, etc. KET can then seed the registry from the installation machine. This assumes that the installation machine has internet access and a docker client that can be used to download, tag and push images.

OS Packages
If we are unable to shed the need for RPM/DEB packages, we can continue to accept a list of private package repositories. The user is responsible for seeding the private repository with the required packages. Some potential improvements to the current status quo:

Maintain a script for each supported linux distro that builds a package repository mirror.
Maintain a container image that has a pre-built repository mirror. This container can then be started by the user internally.

@alexbrand would love to collab with you guys on the whole "disconnected install" story.

For OS Packages and using the package_repository_urls flag, KET could help quite a bit as part of the Plan step, similar to the proposal for Container Image management.
Currently it is not clear what packages are needed for an install or upgrade, so configuring a disconnected install is not trivial. Since Kismatic is aware of all the packages it needs to do an install, part of the Plan process can be providing a list of all packages needed, and optionally automate this further by:

Pulling all required packages down to a local node
Pushing binaries to a private repo (specified by the user, with credentials)
Setting the package_repository_urls flag with private repo URLs

@jaycoon This is an excellent idea, but I don't think there's a way to "push" OS packages to repositories. Are you familiar with any repositories that support this?

@alexbrand I mean automating the repo sync.
If we assume the user is managing/syncing the repo as described in packages.md, we would be most concerned with setting package_repository_urls with the user-specified base URL automatically.
Automation of downloading packages and updating the repo helps the user manage their repo, though we would need to manage scripts for both yum and apt-get, and are making assumptions on how the repo was set up (which is risky). I think there is more benefit in building the repo mirror (as described in the original enhancement).
I'm favoring the container image repo mirror proposal right now, as we can deploy it as needed (during install/upgrades).

Closed via #814


Ability to change rotation on ClusterItem

I do show labels on the map which should follow the camera bearing (map rotation). Similar to street names in GoogleMap - they rotate with the map.
by only exposing clusterItemContent we are not able to change the rotation of the Marker.
Applying the rotation on the composable content
clusterItemContent = {
            MyLabel(
                it.label,
                modifier = Modifier.rotate(rotation)
            )
        }

does not work as it then exceeds the bounds of the rendered marker - see below:

would be nice if someone can take a look at this

already tried to set the rotation in onClusterItemUpdated  but that would basically just apply an "offset" to the rotation and the marker would be rotated with the map.
i want the text to keep being "pinned" to the polylines, like street-names.
already tried to achieve that by adding the camera bearing as well. but couldn't make it work.
i've pushed a sample here: https://github.com/googlemaps/android-maps-compose/compare/main...cwsiteplan:android-maps-compose:bug/cluster-marker-rotation?expand=1
the rotation does not work all the time see attached video
https://github.com/user-attachments/assets/940af8fb-1245-482a-a1cb-7d62550b20f4


feat: Add a few missing "Affected files" references

Reliably parsing RULES.md is an inexact science and I missed a few "Affected files" references in my first automated pass due to inconsistent formatting in RULES.md.  This PR adds them in.  Part of #1324.
Please make sure these boxes are checked before submitting your pull request - thanks!

[x] Run the unit tests with gradle test to make sure you didn't break anything
[x] Format the title like "feat: [new feature short description]". Title must follow the Conventional Commit Specification(https://www.conventionalcommits.org/en/v1.0.0/).
[x] Linked all relevant issues
[ ] Include screenshot(s) showing how this pull request works and fixes the issue(s)

One question that is probably out of scope for this PR:
During the contributor meeting, we talked about merging the two concepts of "files affected" and "references" into one category.
In this PR it looks like we are going to keep the two categories via @FileRefs and `@UrlRef, correct?

@isabelle-dr a couple points:

@FileRefs is used to capture all GTFS file links, whether they were in "files affected" or "references".
@UrlRef is used to capture links to arbitrary webpages not already covered by the existing spec.  You can see it used in this PR for a link to the "Original Python validator implementation".  We don't want someone using it to link to a section of the GTFS spec or a GTFS file reference (we could probably enforce that with a unit-test?)

Does that make sense?
There is a bit of an edge-case where for the "https://gtfs.org/best-practices/#dataset-publishing--general-practices" link.  I suppose I could update that to be a section ref?
As for @FileRefs vs @UrlRef, the difference is intentional.
Namely, @FileRefs can contain an array of values, such that you can specify:
files = @FileRefs({GtfsStopTimeSchema.class, GtfsStopSchema.class})

I didn't want to go with @FileRef here because it seemed more verbose to have to do something like:
files = {@FileRef(GtfsStopTimeSchema.class), @FileRef(GtfsStopSchema.class)}

Compare that to @UrlRef, which has two distinct arguments:
@UrlRef(
            label = "Original Python validator implementation",
            url = "https://github.com/google/transitfeed")

It doesn't make as much sense to do @UrlRefs because it's not possible to construct multiple different URLs in the specification.  Thus, I did go with individual @UrlRef instead.
Looking back, I think I had imagined adding more fields to @FileRefs but instead, that info ended up in @SectionRefs instead.  We could probably refactor the code to look something like:
files = {GtfsStopTimeSchema.class, GtfsStopSchema.class}

getting rid of @FileRefs entirely.


WHY ARE MY LEVELS DEMON????

Do I even have to explain this?

You installed my mod NA Demon.

Oh ok
On Sun, May 26, 2024 at 11:04 PM Justin @.***> wrote:

You installed my mod NA Demon
https://geode-sdk.com/mods/hiimjustin000.na_demon.
—
Reply to this email directly, view it on GitHub
https://github.com/hiimjustin000/FakeRate/issues/8#issuecomment-2132560210,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFXTWU5KWLRAQRKBVYUEOT3ZEKPFHAVCNFSM6AAAAABIKLG5YGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZSGU3DAMRRGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

oh ok

got

also it's 11:00 my time so ummm goodnight


Reactive Consumer Function not deserializing data from rabbitmq correctly

I am using the 3.0.9 release and have came across a bug.
I am trying to receive a message using rabbitmq as the bindier.
I have a reactive function
@Bean
public Function<Flux<MyMessage>, Mono<Void>> consumer() {
  return myMessages -> myMessages.flatMap(m -> Mono.fromCallable(() -> {
    // In my actual application, I am doing a synchronous blocking task here. I am not just logging
    log.info("My val -> {}", m.getVal()); // val is null
    return null;
}).subscribeOn(Shedulers.elastic())).then();
}
The problem is MyMessage val is null.
When I try using the Consumer function I do see the value
@Bean
public Consumer<MyMessage> consumer() {
return m -> {
log.info("My val -> {}", m.getVal()); // val is as expected
};
}
It seems that the reactive consumer function is not deserializing the message correctly.

Update
When I used spring cloud version, Hoxton.SR8, the reactive consumer works as expect. There must be a conflict that must be resolved with the latest spring cloud version.

I see the same behaviour after upgrading from Hoxton.SR8 to Hoxton.SR9. It seems that the message payload is not correctly deserialized.
Setup
Spring Boot 2.4
Spring Cloud Stream (org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR9)
Azure Service Bus Topic Stream Binder (spring-cloud-azure-servicebus-topic-stream-binder:1.2.8)
I don't use reactive functions but simple functional composition, not sure if this makes any difference at all.
cloud:
    stream:
      function:
        definition: convert|doSomething
        bindings:
          convert|doSomething-in-0: example-binding
      bindings:
        example-binding:
          destination: example-topic
          group: example-subscription

@Bean
public Function<Message<MyMessageClass>, MyDomainClass> convert() {
    return ( Message<MyMessageClass> message ) -> {
        MyMessageClass payload = message.getPayload(); // <-- all payload values are null
        return new MyDomainClass( payload.getVal() );
    };
}

@Bean
public Consumer<MyDomainClass> doSomething( MyService service ) {
    return service::doSomething;
}

When downgrading back to Hoxton.SR8 the message payload values are set as expected.

Can you please try with SR10? I can't seem to reproduce it and also pushed a missing test this morning to both master and 3.0.x branch to validat - https://github.com/spring-cloud/spring-cloud-stream/commit/f80f85e1a0fc10a027e1b7af97e201b3fa54ccf0

@olegz
The latest version of hoxton is SR9. It was released a few weeks of ago on 2020-11-09.
https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-Hoxton-Release-Notes

@dmsilver2 Yes, Hoxton latest is SR9, however Spring Cloud Stream has its own releases cycles which generally match up with Spring Cloud, but not always. So the latest is Horsham.SR10 which is 3.0.10.
It is also reflected on project page

I am experiencing this issue too with SR9 and Azure Service Bus. I was able to see that the conversionHint is added to the message converter because the type is believed to be Flux (will try to share more details later and will soon test SR10).

I think this is related: https://github.com/spring-cloud/spring-cloud-stream/issues/2054

@olegz
I have tried adding the dependency to my pom but it is still not working. I am perhaps adding it incorrectly or need to do something more. Please advise.
I have added to my dependencies section
<dependency>     <groupId>org.springframework.cloud</groupId>     <artifactId>spring-cloud-stream-dependencies</artifactId>     <version>Horsham.SR10</version>     <type>pom</type> </dependency>

@dmsilver2 take a look here: https://github.com/spring-cloud/spring-cloud-stream-samples/blob/master/kafka-security-samples/kafka-ssl-demo/pom.xml
In my case, since I am also using spring-cloud-dependencies I had to put spring-cloud-stream-dependencies first in dependencyManagement (the exclusion didn't work):

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-stream-dependencies</artifactId>
                <version>${spring-cloud-stream.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.cloud</groupId>
                        <artifactId>spring-cloud-stream-dependencies</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

        </dependencies>
    </dependencyManagement>

The issue is still there for me with Horsham.SR10. The issue is due to the conversionHint set by SimpleFunctionRegistry from spring-cloud-function-context-3.0.11.RELEASE which at line 838 is setting Flux with this FunctionTypeUtils.getGenericType(type):
? this.fromMessage((Message<?>) value, (Class<?>) rawType, FunctionTypeUtils.getGenericType(type))
Which in turn makes the Json converter look for a Jackson View.
My function signature is Function<Flux<PojoIn>, Flux<PojoOut>>.

Downgrading to Hoxton.SR8, Spring Cloud Stream 3.0.8, fixes the issue for me, i.e. the conversionHint is not set anymore.

I am still struggling to understand, since there s a test that validates it. Can someone please provide a way to reproduce the issue (a test in a form of PR or just copy/paste the code here)?

I'll try to share a sample project later today.

In the meanwhile I had to upgrade again to Hoxton.SR9 since Hoxton.SR8 has issues with Postgres (at least for me), and I was able to pinpoint the artifact causing the issue to spring-cloud-function 3.0.11.RELEASE, spring-cloud-function 3.0.10.RELEASE works fine.
My pom.xml dependencyManagement section now looks like this:
    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-function-dependencies</artifactId>
                <version>3.0.10.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>

@olegz find the repo here: https://github.com/ziodave/spring-cloud-stream-issue-2056
I am using Azure Service Bus, if you'd like I can give you a temporary end-point to use for testing. POJOs are really simple (just one single value property).

Configure the Azure Service Bus connection strings in src/main/resources/config/application.yml and send-pojo.php
Send a message to the queue, you can use send-pojo.php.
An exception will be raised in logs, since the value property is null.

This doesn't happen with spring-cloud-function 3.0.10.RELEASE, uncomment the following in pom.xml to quickly switch to that release:
<!--            <dependency>-->
<!--                <groupId>org.springframework.cloud</groupId>-->
<!--                <artifactId>spring-cloud-function-dependencies</artifactId>-->
<!--                <version>3.0.10.RELEASE</version>-->
<!--                <type>pom</type>-->
<!--                <scope>import</scope>-->
<!--            </dependency>-->

I have confirmed what @ziodave  has said. When I use spring-cloud-function 3.0.10.RELEASE the deserialization issue goes away and when I use 3.0.11.RELEASE the issue happens. Thankyou ziodave!

Guys, I am still struggling to reproduce it. I just added another test with the last commit on 3.0.x branch and all is good. The project that was shared by @ziodave  . .  I am not even sure where to begin as I was expecting some bare minimum but it appears to be a full blown project.

I was expecting some bare minimum but it appears to be a full blown project.

@olegz it's only one file: https://github.com/ziodave/spring-cloud-stream-issue-2056/blob/main/src/main/java/com/example/demo/pojo/PojoConfiguration.java with the following configuration:
spring:
  main:
    banner-mode: off
  cloud:
    azure:
      msi-enabled: false
      servicebus.connection-string: ...
    stream:
      bindings:
        handler-in-0:
          destination: pojo-in
        handler-out-0:
          destination: pojo-out
    function:
      definition: handler

@ziodave then my last commit does exactly that. What am I missing?

@olegz we experienced the issue with 3.0.11.RELEASE. Are you testing with 3.0.13.BUILD-SNAPSHOT, maybe it has in fixed already in 3.0.13.BUILD-SNAPSHOT?

Yes, I am sorry. The tests that I added are based on the current snapshots. But I forgot yo mention that last week we had a release of both functions and stream (due to customer support issue). The issue was addressed before the release so it is available to you.
The latest s-c-stream release is Horsham.SR10 (3.0.10.RELEASE) which brings s-c-function 3.0.12.RELEASE.
Let me know

Horsham.SR10 (3.0.10.RELEASE) for me brings s-c-function 3.0.11.RELEASE.

I think this depends from the fact that Spring Cloud Function is a dependency of spring-cloud-dependencies-Hoxton.SR9.pom, not of spring-cloud-stream-dependencies-Horsham.SR10.pom.
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-function-dependencies</artifactId>
        <version>${spring-cloud-function.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

To bring s-c-function 3.0.12.RELEASE this is what I did, please let me know if it's correct:
   <dependencyManagement>
        <dependencies>
            <!-- This can be removed when this issue is fixed:
            https://github.com/spring-cloud/spring-cloud-stream/issues/2056 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-function-dependencies</artifactId>
                <version>3.0.12.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-stream-dependencies</artifactId>
                <version>Horsham.SR10</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

Yes, this is correct since this was an independent release outside of Hoxton. In other words there is no corresponding release of spring-cloud, which is really not a requirement since we have our own BOM (as reflected on the project site), but we try as much as we can to match the releases for user convenience.
Anyway, should I assume the issue is resolved?

I still got Null, but I'll have to run a more thorough check.

Sure, please let me know so we have enough time to address it for the next release

We are experiencing the same problem. Is there any update on that?

@lenagainulina which s-c-function version you are using? You may need to explicitly identify 3.0.12.RELEASE.
In any event please provide more details

Hi @olegz and sorry for the delayed response. Originally I was using 3.0.11.RELEASE, I tried switching to  3.0.12.RELEASE, but it didn't solve the issue for me, message payload was deserialized with null values. I've described my case here with a minimal example: https://stackoverflow.com/questions/65297525/spring-cloud-stream-functional-approach-message-conversion-produces-an-object-w
Yesterday I tried switching to Spring Cloud 2020.0.1 and Spring Boot 2.4.2 and the issue is gone.
pom.xml
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.4.2</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<java.version>11</java.version>
		<spring-cloud.version>2020.0.1</spring-cloud.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

I guess it was combination of work in both s-c-function and s-c-stream that fixed the issue.
In any event I am going to close it as it appears that the issue is addressed albeit indirectly. Feel free to re-open, comment is you believe there is still some work that needs to be done.


added matrix for cc?

Don't need this branch anymore. Resolved with the conda compiler() function.


Routing to a specific shard

Hi,
I'm using log4stash to write logs to elasticsearch, i have daily indices (each one with multiple shards).
I want to use routing to write to a specific shard but i didn't find a way to do it with log4stash.
Is it possible to do it with log4stash ?

You mean that you want option like routing ?
Unfortunately log4stash doesn't have such option yet.
I can add this option in the future.
I have two suggestions for now:

Log4stash do have a new option to specify the document id source, see details below.
Maybe playing with the template would solve your problem? (any combination of document id and template)

Template:
For using the template you need to add the <Template> tag to your configuration. (full config example can be found here). You can find an example of template here: template.json.
DocumentIdSource:
You can specify an alternate value for the document id to your event. Search for the DocumentIdSource at the example.
Inside the tag you can specify the name of a property of the object you are logging so that the document id will be extracted from it.

Hi,
It would be nice of you to add routing option to log4satsh.
In the meantime is use aliases as workaround.

Hey, look at my new pull request #31 .
It adds a simple routing option to the appender.
@urielha It's pretty similar to the DocumentIdSource logic, so I had the opportunity to improve my code there.
When you have time please look at it :)

Took me too much time but at least version 2.0.5 released with this feature.
Have fun :)