Application registers to Eureka with port 0(zero) if EurekaClient is used on startup and do not update to Eureka registry after successful start up of the application

Application registers to Eureka with port 0(zero) if a FeignClient is called at start up of the application.

I have a centralised logging Service which pushes the logs from all the microservice application into a DB.

In one of my application I call the my LoggingService via FeignClient at the time of start up.

The order of registration to Eureka is :
a. Eureka
b. Logging
c. Application.

The Application calls the Eureka to find information abt logging service and registers itself with port no zero with Eureka and even after the successfull Startup, the port no is not updated to Eureka.

issue.zip
PFA  the start up logs of the application and application.yml for Eureka, and my application.
app.txt

Can someone help me on this?

I'm afraid you'll need to provide a sample application that reproduces the behaviour you are seeing.

App.zip
Hi ,
I have uploaded the required .java files and PFB a brief description about the classes.

Application.java : Spring Boot Application file consisting of various configurations.
LocalStorage.java : This class is annotated with @Component and in the "init()" method which is annotated with @PostConstruct calls the Logging API, which internally uses LoggingClient(FeignClient).
ILoggingService.java : Logging API Interface.
DBLoggingService.java : ILoggingService Implementation which uses DBLogger object to delegate the call to FeignClient.
DBLogger.java : Uses Feign Client to call the Logging API.

Please let me know if you need any other information.

Hi,
I hope this is what you need to understand the issue, please let me know if I have missed something.

Hi Team,
Looks like I have found the root cause but need some help on this issue please find my application ode base : https://github.com/varunnmiglani/Micro-Services-Demo
RCA : If we use EurekaClient during startup of the application to find some information about an instance and log it via a FeignCLient, the application itselfs registers with Eureka with port 0 and do not update.
In the Storage Application, there is Initialiser class which calls Feign Client in@postConstruct method.
Varun

@varunnmiglani there's a chicken and egg problem. By using the eureka client before is has all of the information it will register with port 0. You may try with the latest Brixton.SR3 as well.

Hi @spencergibb ,
Yes nut there must be an API to update the port no to Eureka Registry or some event we can do it.
I tried with the Brixton.SR3 no luch, getting the same issue.
Please suggest.

I think @spencergibb meant Brixton.SR7.

Hi,
Bad luck, upgrading to SR7 din't work. Please suggest.

Thanks for giving that a try.  Another question, does the app eventually update the port with Eureka, or is the port continuously 0?

No, it does not and if it does it solves my problem , due to this eureka has dirty data about my app(Incorrect port no of my App)

Hi Team,
Is there any workaround for this problem?

Hi Team,
I tried not using EurekaClient at startup but use a Feign Client to call a service, still it fails because the application has no information abt the eureka registry and Feign Client fails.

Sure, you can view the full apllication on github by clicking on the following link.
https://github.com/varunnmiglani/Micro-Services-Demo

@varunnmiglani you should wait to use eureka until the client is registered by listening for an InstanceRegisteredEvent.


Does OpenNI2 works with Intel Realsense Cameras?

I want to run the openni_change_detector script using an Intel Realsense D415. Is this possible? I'm on a windows computer

I'm interested in this as well.
The Intel SDK basically says "Use OpenCV" which doesn't use depth information. So, that led me to OpenNI, which is of course gone - long live OpenNI2!

Any updates?

Have a look at the latest RealSenseSDK, they do have an OpenNI2 wrapper/driver now: https://github.com/IntelRealSense/librealsense/tree/master/wrappers/openni2


remove 2 unused variables (fixes Unity warnings)

Hi @MiketoString, thank you for your contribution. Could you please check Travis CI errors, that marks that build was failed in this PR?

Hi @EugeneButusov, build error looks like something is off with installation of Android SDK?  Not sure it relates to changes from pull request.
From log, this message is repeated about 100 times and then build failed to respond:
Do you accept the license 'android-sdk-preview-license-52d11cd2' [y/n]:
Unknown response ''."

@MiketoString these lines better be commented out and maybe add an "unused" comment at the end. They were there for a reason probably.
Sometimes the Travis build fails so after you commit let's see if it passes.


Documentation

Need to create a proper documentation.

I would like to work on it.
Please assign it to me.

I would like to work on it.
Please assign it to me.

Sure I will do it start working on it raise a PR as well

Sure I will do it start working on it raise a PR as well

I'll do it as earliest as possible.

I'll do it as earliest as possible.

Any progress on documentation???

Any progress on documentation???

Any progress on documentation???

I've submitted the PR #7

Any progress on documentation???

I've submitted the PR #7

Merged good work!! Just keep a note on the review message Pls add those so that I can close the issue.
Thanks and Good Work.. :)

Merged good work!! Just keep a note on the review message Pls add those so that I can close the issue.
Thanks and Good Work.. :)

Merged good work!! Just keep a note on the review message Pls add those so that I can close the issue.
Thanks and Good Work.. :)

Sure.

Merged good work!! Just keep a note on the review message Pls add those so that I can close the issue.
Thanks and Good Work.. :)

Sure.

@musavveer Please modif the new changes in documentation as well
Functionalities added: -
PWA
Please add respective screenshots and GIFs.

@musavveer Please modif the new changes in documentation as well
Functionalities added: -
PWA
Please add respective screenshots and GIFs.

@musavveer Please modify the new changes in documentation as well
Functionalities added: -
PWA
Please add respective screenshots and GIFs.

Okay.
Will it count towards DWOC?

@musavveer Please modify the new changes in documentation as well
Functionalities added: -
PWA
Please add respective screenshots and GIFs.

Okay.
Will it count towards DWOC?

Yes it will

Yes it will

Pics are not coming properly

Pics are not coming properly

I wouod also like to contribute in documentation to this project , let me if I am allowed to  @Saikat-98

I wouod also like to contribute in documentation to this project , let me if I am allowed to  @Saikat-98

Please feel free to contribute.... @akrish4

Please feel free to contribute.... @akrish4


User guide French Completion

This includes the advanced binary verification guide in French, along with typos correction on other user-guides.

Tested ok on the following platforms:
| Edge | IE 11 | Chrome | Firefox | Opera | Vivaldi
-- | -- | -- | -- | -- | -- | --
Windows 7 | - | OK | OK | OK | OK | OK
Windows 10 | OK | OK | OK | OK | OK | OK
Ubuntu 18.04 | - | - | OK | OK | OK | OK
CentOS 7 | - | - | - | OK | OK | OK

Ready for review @erciccione @assylias

Thanks @assylias. Corrections applied.

Rebased.


For AdaptiveImage, the AlternateText not showing up

Question: Why my following code for a Tile on windows 10 start menu shows the image, but when I hover over the image it does not show the Alternate Text. What I may be missing here, and how can we make it work?
Code:
public void TileTest()
{
    TileContent content = new TileContent()
    {
        Visual = new TileVisual()
        {
            TileWide = new TileBinding()
            {

                Content = new TileBindingContentAdaptive()
                {
                    Children =
                    {
                        new AdaptiveGroup()
                        {
                            Children =
                            {
                                new AdaptiveSubgroup()
                                {
                                    HintWeight = 2,
                                    Children =
                                    {
                                        new AdaptiveImage()
                                        {
                                            Source = "Images/MyImages/Test.png",
                                            AlternateText = "Test alternative text"
                                        }
                                    }
                                }
                            }
                        },
                    }
                }
            }
        }
    };

    TileNotification notification = new TileNotification(content.GetXml());
    TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);
}

Remark: It may not matter, but just in case: I'm using a Packaged WPF app that is calling UWP/WinRT APIs - using VS2019 - ver 16.9 and .NET5 on Windows 10 Pro - ver 2004.

Hello. We apologize for the delay in resolving this issue. As we transition to a new feedback system, we are closing all outstanding issues. Any issues that can be addressed will be tracked using a different internal tool, and we regret that we won't be able to provide further updates on this particular matter. We value your input and assure you that all feedback is reviewed. We recommend visiting the Microsoft Q&A site, where your issue may have already been discussed.


CSV should Include the Requirement from the Report.

💡 Summary
We would like to see the requirement field (highlighted in red) incorporated into the TestResutlts.csv output to make it more readable/useful.

Motivation and context
To make the tool more useful.
This would be useful because...
It make the CSV more readable with important context about what items passed/failed.
Please provide details for implementation, such as:
Add a "Requirement" column to the TestResults.csv and include the requirement text for each finding like the screenshot above.

In #970 we added support for a consolidated JSON output (ScubaResults.json).  This will be available in the upcoming release and it includes the Requirement text.
We will look at updating the TestResults.csv to include this info in the future, but I wanted to flag that as you may be able to take advantage of it when that release comes out.

@wingcomm thanks for the feedback. I've created a new issue that tracks this as well as a few other csv enhancements: https://github.com/cisagov/ScubaGear/issues/1026. Closing this issue, refer to the new issue for updates.


the semantic of dart is confusion let we see the bellow example

when we pass a widget to a function or another widget， we can use variable in the constructor or it's parameter for form of non-name function，but if we store a widget to a variable， we got a compile error，if the only one people met this situation，or it's a semantic confusion
the correct situation
return Scaffold(       appBar: AppBar(         title: Text(widget.title), );
compile error situation
  var counter = 0;   var foo = Row(     mainAxisAlignment: MainAxisAlignment.center,     children: [       IconButton(         onPressed: () {           setState(() {             ++counter;           });         },         icon: const Icon(Icons.qr_code),       )     ],   );
waiting for comment or reply

@CoderJnic
you can either declare the var inside the build function
void main() => runApp(
      const MaterialApp(
        home: MyHomePage(title: 'Flutter Demo Home Page'),
      ),
    );

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    super.key,
    required this.title,
  });

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  var _counter = 0;

  void _incrementCounter() => setState(() => _counter++);

  @override
  Widget build(context) {

    final _myFAB = FloatingActionButton(
      onPressed: _incrementCounter,
      tooltip: 'Increment',
      child: const Icon(Icons.add),
    );

    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: _myFAB,
    );
  }
}

or use late initialization for your variable

class _MyHomePageState extends State<MyHomePage> {
  var _counter = 0;

  void _incrementCounter() => setState(() => _counter++);

  late final Widget _myFAB;
  @override
  void initState() {
    _myFAB = FloatingActionButton(
      onPressed: _incrementCounter,
      tooltip: 'Increment',
      child: const Icon(Icons.add),
    );
    super.initState();
  }

  @override
  Widget build(context) => Scaffold(
        appBar: AppBar(title: Text(widget.title)),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const Text(
                'You have pushed the button this many times:',
              ),
              Text(
                '$_counter',
                style: Theme.of(context).textTheme.headline4,
              ),
            ],
          ),
        ),
        floatingActionButton: _myFAB,
      );
}

it seems to me that this is the expected behavior

Hi @CoderJnic
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


chore: remove k8s 1.24 and add k8s 1.28

Related Issue(s)
This PR removes k8s 1.24 and adds k8s 1.28 to the test grid.

I thought we wanted to still claim support for 1.24-1.28 but make this a per-version support statement.

@chipzoller you want to keep 1.24 ?

Slack thread for reference here. I think the decision was to remove 1.24. If that's the case, I'm ok.

yeah, i think it would be aligned with what we did in the kyverno/kyverno repo.


Missing documentation on firewall configuration (Connection refused with any port on python:3)

Finding a title is hard, so I just assumed it is my fault and there is only documentation missing.
I can't get Networking to work with the python:3 image.
I can't establish a connection with the image at all. Even within the same container!
Here is the Problem reduced as far as I could:
docker run -it python:3 /bin/bash
root@766bf6d1a64e:/# apt-get update && apt-get install netcat -y
root@766bf6d1a64e:/# netcat -l 1234

2nd shell:
docker exec -it <container-name> /bin/bash
root@766bf6d1a64e:/# netcat -v localhost 1234
localhost [<IP_ADDRESS>] 1234 (?) : Connection refused

On any other docker image there is no problem doing this. Linux or Docker for Windows.

Since your container isn't forwarding any ports to it (such as -p 1234:1234) then no port on the host will be directed to it, however you can still connect to the container through its IP
Example
$ docker run -d --rm --name python python sleep infinity
a227cde6b35a01c2e3897860653b3bd09094714583badee09bb3d61a63fc7833
$ docker exec -it python bash
root@a227cde6b35a:/# apt update && apt install -y netcat
. . .
root@a227cde6b35a:/# netcat -l 1234 &
[1] 304
root@a227cde6b35a:/# exit

$ docker inspect python | grep -i ipaddress
            "SecondaryIPAddresses": null,
            "IPAddress": "<IP_ADDRESS>",
                    "IPAddress": "<IP_ADDRESS>",
$ netcat -v <IP_ADDRESS> 1234
<IP_ADDRESS>: inverse host lookup failed: Unknown host
(UNKNOWN) [<IP_ADDRESS>] 1234 (?) open

The solution you're looking for is either running the container with -p 1234:1234 to forward that specific port, or use --network host to forward every port that's listening in the container
As for adding it to the documentation see my comment here https://github.com/docker-library/mongo/issues/530#issuecomment-1067030230

Please read my question again. I use only networking within the container.
I tested it again. it's broken with python:3.
"RepoTags": [
    "python:3"
],
"RepoDigests": [
    "python@sha256:ad7fb5bb4770e08bf10a895ef64a300b288696a1557a6d02c8b6fba98984b86a"
],

But works with python:latest.
"RepoTags": [
    "python:latest"
],
"RepoDigests": [
    "python@sha256:6441e2f0bd2e566de0df6445cb8e7e395ea1a376dd702de908d70401d3700961"
],

Shouldn't they be the same image anyway?

Oh the netcat command isn't listening on 1234 as expected. You need netcat -l -p 1234
$ docker run -it python@sha256:ad7fb5bb4770e08bf10a895ef64a300b288696a1557a6d02c8b6fba98984b86a bash
root@16a3e7aece7a:/# apt update && apt install -y netcat net-tools
. . .
root@16a3e7aece7a:/# netcat -l 1234 &
[1] 305
root@16a3e7aece7a:/# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 <IP_ADDRESS>:39243           <IP_ADDRESS>:*               LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path

The port given isn't interpreted by the -l option so it picked a random port. Doing it again with -p 1234 will show that specific port as listening
root@16a3e7aece7a:/# netcat -l -p 1234 &
[2] 307
root@16a3e7aece7a:/# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 <IP_ADDRESS>:39243           <IP_ADDRESS>:*               LISTEN
tcp        0      0 <IP_ADDRESS>:1234            <IP_ADDRESS>:*               LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
root@16a3e7aece7a:/# netcat -v localhost 1234
localhost [<IP_ADDRESS>] 1234 (?) open

The latest image uses netcat version OpenBSD netcat (Debian patchlevel 1.217-3) which will listen on port 1234 with the command netcat -l 1234
Whereas the older image that uses netcat version [v1.10-41.1] requires -p 1234 to listen on that specific port

Oh wow, thank you for solving my issue. :)
I never would have expected this.


Comparison with existing Meteor CMSes

Thanks for starting this project!
How does it compare with actively-maintained open-source Meteor CMSes (which I'm sure would accept PRs):

Azimuth - abandoned
AwareUnit
Meteor Admin

Does this help manage images? Is there any consideration of responsiveness in websites?

With orion:file-attribute its really easy to upload images on s3 or local.
What do you mean with responsiveness in websites? I think that is not in the scope of this project.

I mean that when you have an app that displays on multiple formats you will want to load an image that works taking into account the format and the speed of the connection for the device. It would be great to have a cms that allows you to take that into account. You can do this using html and css to call the correct image mostly via media queries. So if we were to use the cms to load the image, could we set the media query type specs via the cms. Make sense?

@kaona.
I know what you are referring to.  This would be a front end rendering
logic and not necessarily a core issue.  You can write a plugin to handle
images rendering for different media types.  I recommend extending a plugin
and allowing to store different variations of the images instead of simply
calling height and width restraints to the image.
On Tuesday, May 19, 2015, kaona<EMAIL_ADDRESS>wrote:

I mean that when you have an app that displays on multiple formats you
will want to load an image that works taking into account the format and
the speed of the connection for the device. It would be great to have a cms
that allows you to take that into account. You can do this using html and
css to call the correct image mostly via media queries. So if we were to
use the cms to load the image, could we set the media query type specs via
the cms. Make sense?
—
Reply to this email directly or view it on GitHub
https://github.com/orionjs/orion/issues/1#issuecomment-103556316.

--
Ryan Watts
<EMAIL_ADDRESS>C.520-442-8962
F.520-437-0914
IN. https://www.linkedin.com/in/ryandwatts

Watts, im still learning this stuff. What do you mean by extending a plugin? Does that mean there is a plugin for meteor that kinda does this and that I should add functionality to it?

Hi Kaona ,
No worries on the being new to Meteor.  I'm referring to you can create a
package that does the functionality you are looking for and use that
package in your applications.
On Tuesday, May 19, 2015, kaona<EMAIL_ADDRESS>wrote:

Watts, im still learning this stuff. What do you mean by extending a
plugin? Does that mean there is a plugin for meteor that kinda does this
and that I should add functionality to it?
—
Reply to this email directly or view it on GitHub
https://github.com/orionjs/orion/issues/1#issuecomment-103571461.

--
Ryan Watts
<EMAIL_ADDRESS>C.520-442-8962
F.520-437-0914
IN. https://www.linkedin.com/in/ryandwatts

Ok. Thank you.

@/all I have created a discussion on the new Orion Forums.  You can continue open discussions there.
http://forums.orionjs.org/t/comparison-with-existing-meteor-cms/17

@dandv Have you finally used any good ones?


[Feature Request] java binding of plugin api

Is your feature request related to a problem? Please describe.
Currently only Python and C++ are supported as plugin programming language.
Describe the solution you'd like
Want a Java binding of plugin api, so we can use Java to implement plugins
Describe alternatives you've considered
Add a Java binding for the api, and provide a way to upload .jar as plugin, as well as running in embedded mode
Additional context

hi

Add this to Good first issue. TODO: support java api


Update package.json version number

Description
Fixing the jspm install issue:
https://github.com/firebase/angularfire/issues/857
Code sample
I added the package.json version (which jspm requires for installation)
"version": "2.3.0",

I signed it!

Coverage remained the same at 93.716% when pulling 2514e3646f1adec27bbd2579909eb557b5884f59 on kmturley:master into e1dff6f6c695b1fbbac2dd1a9fefcaafc43263c2 on firebase:master.

Weird... We actually intentionally set the version number to 0.0.0 and do a string replace on that value when we cut new releases. So I'd prefer not to change it if we can avoid that. Do you know why jspm pulls from the master branch of the GitHub repo instead of from our tagged release commits like Bower?

Other registries like npm surely use the package.json version aswell? Maybe you can commit the updates?
I believe the default behaviour is that it will look at the master branch. However users can override it by using the semvar versioing format:
https://github.com/jspm/jspm-cli/blob/master/docs/installing-packages.md
jspm install<EMAIL_ADDRESS>
You can also submit an override to the jspm registry repo, which would set the default for every user:
https://github.com/jspm/registry#submitting-a-package-override

We do commit the updated version number, but only for the commits which we tag as releases (e.g. https://github.com/firebase/angularfire/commit/8678f727648386019bc6fcaaadb7599ae064ca7b). I think I found a way to make it so that we don't need to use the 0.0.0 placeholder anymore in our release process though. Give me a little bit of time to fix that up and then we can get the version actual numbers back in the package.json.

Cool, I've not done that with grunt before but it seems npm version is one of the best ways to do it.
https://docs.npmjs.com/cli/version
There is a grunt bump plugin which can do it too


Update URL to nursestaffingsim

The url shouldn’t have our repo name in it like it does now and should display nursestaffingsim. Research if there’s any cost associated with changing URL and if we need to make a new repository to avoid the current repository being in the name.
DoD: if there is no cost associated with it, update url and ensure this doesn't break anything by going to url and ensuring it builds and deploys with no issues. If there is a cost associated to it, add that to project documentation and provide information on how to change it, if sponsor wants to do this in the future.

https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site
https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages
According to the documentation, it doesn't appear that there are any charges associated with setting up the custom domain with Github Pages, but you do have to purchase a domain name (this isn't through Github). If we do this, we will have to change the repo name and if our professor doesn't plan on keeping it, we can move it to a repo that our sponsor owns and rename it there. But with creating a custom domain, instead of https://cs481-ekh.github.io/f21-angels-of-mercy/ the custom domain replaces the cs481-ekh.github.io part of our URL with the domain name that the sponsor owns.
If she doesn't already own a domain or have permission to use the BSU nursing domain name, then what we could do is create a BSU nursing Github organization (or named something similar if that's not allowed), create a repository with the name "staffingsim" or "nursestaffsim" or something similar. Then the URL would be https://.github.io/. This may be the way we go and she'll be added to this organization/repo, so if she decides down the line to purchase a domain name, I can update the README to include documentation that will help her change the domain name in Github Pages.

I created a link in the nursestaffingsim repository that the professor set up to this repo so that we can pull our current changes from this repo to that one for deployment. These are the steps I took to do that:

cd nursestaffingsim
git remote add upstream git@github.com:cs481-ekh/f21-angels-of-mercy.git
git pull upstream main

That merged all changes into the new repo. You can also do a git fetch to get all the branches if it doesn't get them on the git pull upstream main command.

In the nursestaffingsim repo, I pulled from our angels-of-mercy repo's main, so the main branches are up-to-date as of 11/16. If anymore changes are made on angels-of-mercy, once the changes are pushed to main, run the following command in nursestaffingsim on the main branch:
git pull git@github.com:cs481-ekh/f21-angels-of-mercy.git main:main --allow-unrelated-histories


fix/1203568469771898 update sim be p2p url

fix: update p2p url

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign veleslavskiy
You can assign the PR to them by writing /assign @veleslavskiy in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

:star: PR built and available in a preview peaqnetwork-peaq-network-ev-charging-sim-be-pr-60 here


Keyboard events not fired when nested in a UITabBarController

Library version(s): 7.3.4
iOS version(s): iOS 10.1.1
Devices/Simulators affected: Both
Reproducible in the demo project? : Not tested
Related issues:  https://github.com/jessesquires/JSQMessagesViewController/issues/94

What happened?
I have JSQMessagesViewController working in iOS 10 / Xcode 8.1 / Swift 3 both nested in a UITabBarController in a UINavigationController and just embedded a UINavigationController, but when the keyboard comes up in the nested version it doesn't move the input bar because the keyboard events somehow are not triggered so the keyboard covers the input field. I think this is a bug as it should pick up the keyboard event regardless of the fact that it's embedded in another tab bar controller or not. I also use the chat directly (without a tab bar) for more general chats and that works as advertised.
I've got this working by exposing the internal method jsq_handleKeyboardNotification via the header, then calling it when I get a keyboard event:
Setup:
    NotificationCenter.default.addObserver(self, selector: #selector(logKeyboard), name: NSNotification.Name.UIKeyboardWillHide, object: nil)

    //NotificationCenter.default.addObserver(self, selector: #selector(logKeyboard), name: NSNotification.Name.UIKeyboardDidChangeFrame, object: nil)

    NotificationCenter.default.addObserver(self, selector: #selector(logKeyboard), name: NSNotification.Name.UIKeyboardWillShow, object: nil)

In callback:
func logKeyboard(notification: NSNotification) {
    chatViewController.keyboardController.jsq_handleKeyboardNotification(notification as Notification!, completion: nil)

This solution definitely has some issues, like not hiding the keyboard on scroll and other subtle issues. However I'm sure I can get the requirement implemented.
Why we want to have this
I agree it's less than ideal UX. However this specific chat lives in a context, we're discussing a bill that has more options in the tab bar. The navigation bar is already taken. The idea is to switch between information in the bill and the chat screen to discuss this. Hiding the tab bar would make that impossible.

I am having a similar issue when nested in a UITabBarController. I actually have a Main view, nested in a UITabBarController and then my JSQMessagesViewController is inside a container view which is in the Main view.
When the keyboard is expanded after typing, the "send" button is unresponsive. If i dismiss the keyboard, then I am able to use the send button on the input toolbar. The problem only occurs when the keyboard is expanded.

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


Prevent EXTENDED_ARG to propagate past ConcreteBytecode

As discussed in https://github.com/vstinner/bytecode/issues/63, some users prefer to generate ConcreteBytecode that preserve the existence of EXTENDED_ARG for ease of comparison with dis.dis. This operation is possible by passing extended_args=True to ConcreteBytecode.from_code.  Currently this representation is preserved in Bytecode and ControlFlowGraph.
However preserving such a low-level detail in more abstract representation can lead to a lot of problem since they impact the handling of the stack size computation, long jumps, etc. In this PR, I propose to simply disallow EXTENDED_ARG outside of ConcreteBytecode, by doing the following:

forbid EXTENDED_ARG in Instr
forbid ConcreteInstr in Bytecode and ControlFlowGraph.
enforce that when converting a ConcreteBytecode to a Bytecode object we remove the EXTENDED_ARG
This will lead to more consistency and will avoid to add a lot of extra logic to handle EXTENDED_ARG in abstract representation.

This is a non backward compatible change but I do not see the use case for mixing concrete and abstract instructions, so I assume the inconvenience will be minor. Any opinion @thautwarm @laike9m @serhiy-storchaka ?
Closes #63

Codecov Report

Merging #65 into master will increase coverage by 0.01%.
The diff coverage is 95.74%.

@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
+ Coverage   98.18%   98.20%   +0.01%
==========================================
  Files           7        7
  Lines        1435     1445      +10
==========================================
+ Hits         1409     1419      +10
  Misses         26       26

Impacted Files
Coverage Δ

bytecode/concrete.py
97.96% <95.12%> (+0.04%)
:arrow_up:

bytecode/bytecode.py
99.33% <100.00%> (ø)

bytecode/cfg.py
100.00% <100.00%> (ø)

bytecode/instr.py
99.48% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

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

In the absence of comments I will merge in 7 to 10 days.

LGTM. I expect ConcreteBytecode as-is and Bytecode  is for high level use. Even without this PR I use bytecode this way.


The read.me does not tell what LinterCop checks

Maybe it is me, but the read.me does not tell what LinterCop checks. Could this info be provided?

I think you mean the general purpose of the LinterCop or the kind of rules this Cop is meant to provide?
I did not really think about this question yet, although I already heard thoughts about creating multiple cops.
That said I think for now every rule that helps improve code quality is very welcome. I will try to write a few sentences about this in the readme

I think you mean the general purpose of the LinterCop or the kind of rules this Cop is meant to provide?

Both.

That said I think for now every rule that helps improve code quality is very welcome. I will try to write a few sentences about this in the readme

Great

I tried to explain this project a bit in the readme :)


Improve code security and code refactor

@MaxXor, @yankejustin hi check this pr and feedback me

Me

Pr


Support for Enchantment Descriptions

Support for this mod would only require enchantment.tolaserblade.enchant_name.desc to be added to the lang file.
Mod link: https://www.curseforge.com/minecraft/mc-mods/enchantment-descriptions

Now ToLaserBlade v1.16.5-<IP_ADDRESS> supports Enchantment Descriptions.

Thanks!


Broad issues with pilot / push_status / restarting pilot

Hey,
I'm trying to set up signals to detect common Istio problems based on the output from push_status.  Whilst working on it, push_status was reporting a lot of issues (which don't appear to actually be issues).
For example, pilot_eds_no_instances which according to this is "ProxyStatusClusterNoInstances tracks clusters (services) without workloads.".  However, taking vds-kee-importer as an example - the service defiantly does have workloads:
❯ k -n vds-kee-importer get pods
NAME                                READY     STATUS    RESTARTS   AGE
vds-kee-importer-6744df6675-bgkc6   2/2       Running   0          49m
/Users/kstoney/git/autotrader/istio-prometheus-exporter git/master

❯ k -n vds-kee-importer get ep
NAME      ENDPOINTS                         AGE
app       <IP_ADDRESS>:9080,<IP_ADDRESS>:8080   30d

Same goes for pilot_endpoint_not_ready, taking vds-glass-importer as an example:
❯ k -n vds-glass-importer get pods
k -NAME                                  READY     STATUS    RESTARTS   AGE
vds-glass-importer-5f96c699d9-ncb9z   2/2       Running   0          51m
/Users/kstoney/git/autotrader/istio-prometheus-exporter git/master

❯ k -n vds-glass-importer get ep
NAME      ENDPOINTS                         AGE
app       <IP_ADDRESS>:9080,<IP_ADDRESS>:8080   15d

Both services seem to be fine / usable.
Output from push_status:
curl http://istio-pilot.istio-system:8080/debug/push_status
{
    "ProxyStatus": {
        "pilot_conflict_outbound_listener_tcp_over_current_tcp": {
            "<IP_ADDRESS>:2181": {
                "proxy": "new-car-stock-amendments-service-565c787fb8-5qm9j.new-car-stock-amendments-service",
                "message": "Listener=<IP_ADDRESS>:2181 AcceptedTCP=zookeeper-headless.search-solr.svc.cluster.local RejectedTCP=zookeeper-headless.kafka.svc.cluster.local TCPServices=1"
            },
            "<IP_ADDRESS>:2888": {
                "proxy": "new-car-stock-amendments-service-565c787fb8-5qm9j.new-car-stock-amendments-service",
                "message": "Listener=<IP_ADDRESS>:2888 AcceptedTCP=zookeeper-headless.search-solr.svc.cluster.local RejectedTCP=zookeeper-headless.kafka.svc.cluster.local TCPServices=1"
            },
            "<IP_ADDRESS>:3888": {
                "proxy": "new-car-stock-amendments-service-565c787fb8-5qm9j.new-car-stock-amendments-service",
                "message": "Listener=<IP_ADDRESS>:3888 AcceptedTCP=zookeeper-headless.search-solr.svc.cluster.local RejectedTCP=zookeeper-headless.kafka.svc.cluster.local TCPServices=1"
            }
        },
        "pilot_eds_no_instances": {
            "outbound|49153||platform-thousandeyes-service.core-system.svc.cluster.local": {},
            "outbound|53||kube-dns.kube-system.svc.cluster.local": {},
            "outbound|80||app.carzone-mail.svc.cluster.local": {},
            "outbound|80||app.dealer-contact-preference-service.svc.cluster.local": {},
            "outbound|80||app.mtd-listings.svc.cluster.local": {},
            "outbound|80||app.tpf-cms.svc.cluster.local": {},
            "outbound|80||app.vds-glass-importer.svc.cluster.local": {},
            "outbound|80||app.vds-kee-importer.svc.cluster.local": {},
            "outbound|80||solr.search-solr.svc.cluster.local": {},
            "outbound|9080||app.carzone-mail.svc.cluster.local": {},
            "outbound|9080||app.dealer-contact-preference-service.svc.cluster.local": {},
            "outbound|9080||app.mtd-listings.svc.cluster.local": {},
            "outbound|9080||app.tpf-cms.svc.cluster.local": {},
            "outbound|9080||app.vds-glass-importer.svc.cluster.local": {},
            "outbound|9080||app.vds-kee-importer.svc.cluster.local": {},
            "outbound|9090||prometheus.data-platform.svc.cluster.local": {}
        },
        "pilot_endpoint_not_ready": {
            "carzone-mail-db575bbbb-jlmxn.carzone-mail": {
                "proxy": "carzone-mail-db575bbbb-jlmxn.carzone-mail"
            },
            "dealer-contact-preference-service-6b6578cb86-6rd94.dealer-contact-preference-service": {
                "proxy": "dealer-contact-preference-service-6b6578cb86-6rd94.dealer-contact-preference-service"
            },
            "mtd-listings-7b54fc8c44-hm67b.mtd-listings": {
                "proxy": "mtd-listings-7b54fc8c44-hm67b.mtd-listings"
            },
            "vds-glass-importer-5f96c699d9-ncb9z.vds-glass-importer": {
                "proxy": "vds-glass-importer-5f96c699d9-ncb9z.vds-glass-importer"
            }
        }
    },
    "Start": "2018-11-24T13:45:26.443638954Z",
    "End": "2018-11-24T13:45:30.079898412Z"
}

Now, to make this even more confusing, restarting pilot resolved all of the above issues, leaving only valid problems.
❯ curl http://<IP_ADDRESS>:8080/debug/push_status
{
    "ProxyStatus": {
        "pilot_conflict_outbound_listener_tcp_over_current_tcp": {
            "<IP_ADDRESS>:2181": {
                "proxy": "vds-glass-importer-5f96c699d9-ncb9z.vds-glass-importer",
                "message": "Listener=<IP_ADDRESS>:2181 AcceptedTCP=zookeeper-headless.search-solr.svc.cluster.local RejectedTCP=zookeeper-headless.kafka.svc.cluster.local TCPServices=1"
            },
            "<IP_ADDRESS>:2888": {
                "proxy": "vds-glass-importer-5f96c699d9-ncb9z.vds-glass-importer",
                "message": "Listener=<IP_ADDRESS>:2888 AcceptedTCP=zookeeper-headless.search-solr.svc.cluster.local RejectedTCP=zookeeper-headless.kafka.svc.cluster.local TCPServices=1"
            },
            "<IP_ADDRESS>:3888": {
                "proxy": "vds-glass-importer-5f96c699d9-ncb9z.vds-glass-importer",
                "message": "Listener=<IP_ADDRESS>:3888 AcceptedTCP=zookeeper-headless.search-solr.svc.cluster.local RejectedTCP=zookeeper-headless.kafka.svc.cluster.local TCPServices=1"
            }
        },
        "pilot_eds_no_instances": {
            "outbound|49153||platform-thousandeyes-service.core-system.svc.cluster.local": {},
            "outbound|80||solr.search-solr.svc.cluster.local": {}
        }
    },
    "Start": "2018-11-24T14:43:14.718721216Z",
    "End": "2018-11-24T14:43:15.119643453Z"
}%

Could this be a case of these stats, eg pilot_eds_no_instances not getting cleaned up when they're resolved?

PS the gauge in prometheus pilot_eds_no_instances also reports a count === the output from push_status

Here's another example on a different cluster:
❯ curl http://<IP_ADDRESS>:8080/debug/push_status
{
    "ProxyStatus": {
        "pilot_eds_no_instances": {
            "outbound|80||app.e2e-ab84-deploy-purge-and-recreate.svc.cluster.local": {}
        }
    },
    "Start": "2018-11-24T15:25:30.650466244Z",
    "End": "2018-11-24T15:25:31.24709113Z"
}%

That namespace doesn't even exist (was purged about 15 minutes ago):
kubectl get ns | grep e2e-ab84-deploy-purge-and-recreate

Im on 1.0.4
On Mon, 26 Nov 2018, 7:29 am Zhonghu Xu<EMAIL_ADDRESS>wrote:

I tried latest release-1.1 and do not reproduce:

check status get /debug/push_status
2.
update deploy.spec.replicas to 0. check status getting
/debug/push_status. And got the expected result, it is in
pilot_eds_no_instances
3.
update deploy.spec.replicas to 1. check status getting
/debug/push_status. It is now not in pilot_eds_no_instances
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/10116#issuecomment-441542906, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABavibnhuQHX3qHJ6ONc8fdibpQz4tMOks5uy5hmgaJpZM4YxdHl
.

wow, that's indeed a issue in 1.0.4, it is not updated when push happens.
I would fix it in release-1.0

I found the diff between 1.0 and 1.1 in
https://github.com/istio/istio/blob/1.0.4/pilot/pkg/serviceregistry/kube/controller.go#L796-L798
only eds push will be triggered
if c.EDSUpdater != nil {
			c.updateEDS(ep)
		} else {
			log.Infof("Handle endpoint %s in namespace %s -> %v", ep.Name, ep.Namespace, ep.Subsets)
			if item, exists := c.serviceByKey(ep.Name, ep.Namespace); exists {
				if svc := convertService(*item, c.domainSuffix); svc != nil {
					// TODO: we're passing an incomplete instance to the
					// handler since endpoints is an aggregate structure
					f(&model.ServiceInstance{Service: svc}, event)
				}
			}
		}

But in 1.1,
c.updateEDS(ep)

		log.Infof("Handle endpoint %s in namespace %s -> %v", ep.Name, ep.Namespace, ep.Subsets)
		hostname := serviceHostname(ep.Name, ep.Namespace, c.domainSuffix)
		if svc := c.servicesMap[hostname]; svc != nil {
			// TODO: we're passing an incomplete instance to the
			// handler since endpoints is an aggregate structure
			f(&model.ServiceInstance{Service: svc}, event)
		}

I think this will trigger eds and also full push.

Also push_status update is not correct, which only set  in full push.

This is not an issue on 1.0.2 btw

Yes, the push_status is updated after full push - incremental EDS doesn't update it (only does the push for the cluster that changed ). We should update it.
1.1 still needs to be fixed, I didn't get to it yet.

I am working on this.

I don't have the ability to test from master unfortunately @hzxuzhonghu :'(
The code looks solid though


Error messages with table/schema level details

We need to have table details for users to take corrective action when they see errors.

[ ] Table name along with column details
[ ] Handle invisible columns names

This is only related to the IntegrityConflictError, which we are throwing when user is deleting a table that has some foreign key to:
Currently if we can parse the message, we are showing the table name that ermrest is returning. We should change this to show the displayname of related reference. We have access to the table and also the constraint name of the foreign key. If given these two we can find the displayname we should change it, otherwise we should show the name that ermrest is returning.
Also we are assuming that this error will only going to happen in delete case, but we're not checking for it. We should change the _responseToError to accept a parameter that makes sure that we are doing this logic only in case of delete (You need to pass that argument in the error case in delete function in ermrestjs).

In the case that we couldn't figure out the related reference's displayname we should append a message that says "If you have trouble removing dependencies please contact the site administrator." to the error message that we generate.

This has been merged. Assigning to @hongsudt  to verify and close it.


Switches Prelude to Universum and Refactors String to Text

Pretty much what it says on the tin. We discussed this in Slack, but a small summary of the changes include:

Pervasively switched String types to Text
Switched the standard Prelude out to Serokell's Universum prelude
Moved OverloadedStrings and NoImplicitPrelude to default-extensions because they're just plain useful to have turned on
Added some useful GHC options (namely -Wall and -Werror, as well as stuff concerning record updates and pattern matching not covered by -Wall)

This is so great! Thanks for all of your help.


feat: Add Support for complex list defined from env vars

Currently , only list of complex types can only be defined completely from env vars as Json values.  The idea is to also allow
to define using nested delimiters, where index is explicitly defined in env vars:
class SubType(BaseSettings):
    v1 :str

class Config(Settings):
   top: list[SubType]

then, something like this should work...
CONFIG__0__TOP="foo"

#377


Publish 8.0-20230119011635+0000

Publish 8.0-20230119011635+0000

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you.


Write-up nuances of historical repository

Write-up a blog on the nuances of a historical repository.
See:

#4646 / https://github.com/odpi/egeria-connector-crux/issues/55
#4937

I've written up all of the nuances covered by the various linked issues here: https://wiki.lfaidata.foundation/display/EG/2021/04/28/Historical+Metadata%3A+a+deep-dive
... will plan to either add to that (if minor enough) or create subsequent posts (if substantial enough) based on any future discussions / findings.


Guidance on how, or a 'friendlier' way, to render views to strings (for emails, service calls, etc.)

There are a handful of libraries and snippets floating around out there for how to render a view to a string for use as an email's body or for some other purpose (maybe submitting content to another service, for instance.)
Would the team consider adding some form of 'official' convenient way of satisfying these use cases? There just seems to be a lot of weirdness around the current methods out there, and I would think those use cases are very common, whether needed by beginner or advanced developers.
I could see asking developers to depend on the IViewEngine interface (or the ICompositeViewEngine interface as it stands, although I feel IViewEngine is a little more obvious/expected :stuck_out_tongue:) in order to obtain the view they wish to render, but when it comes to actually rendering the view, I can't imagine most cases needing more than the simple ability to be able to take an IView instance, pass in a an object, and get a string out.

Resources

https://github.com/aspnet/Mvc/issues/2871
Discusses rendering views to strings, but revolves around dependency injection
and service location rather than encapsulation

http://stackoverflow.com/questions/31905624/where-are-the-controllercontext-and-viewengines-properties-in-mvc-6-controller
Recent example for MVC 6

http://aboutcode.net/postal/
A popular library that deals some, but not all, of the mailing use cases (in cases I've used, I've still had to do some HttpContext rigging and jigging)

We should discuss more if MVC is really the right framework for these kinds of scenarios. Would it be better to build something more targeted on top of Razor?

Some common scenario is to have a Controller/View that can be sent based on Model to users and create a static link so you can include a link in the email html to see the view online. If we can have a IActionResult.ToHtml (or ToString) that would be awesome.

@danroth27 I see your point, but I also see how intertwined MVC and Razor are -- not so much that Razor itself cannot be used without MVC, but the features that developers would want to use in these scenarios are largely dependent on MVC.
With what @Bartmax is saying, I could easily see async message queue worker processes handling the sending of notifications and integrating with other services' APIs, and just making requests to the MVC application for either a full or partial HTML document. For projects that are not really big enough to justify running separate worker processes, they could just send a request to themselves.
At that point I guess it would be a question of whether the overhead of servicing a full request incurs any real performance penalty (I know that in our case, for any of our usage scenarios, it would not.)

Just popping back in to mention: one of the benefits that Postal provides is the ability to have both text/plain and text/html representations within a single message.

More often than not, the text/plain representations benefit greatly from having template files outside of the code, especially if you would want to have different versions per culture/language.
They also often need the niceties of Url.Route(...) and kin.
Sending not just one, but two actual HTTP requests to obtain the content for rendering an email is, I'm guessing, unacceptable for most.

Added my own working example to the original post with some comments.

After updating to rc1-final from beta7, the code snippet provided by @tuespetre now throws an exception: Value cannot be null. Parameter name: provider. The only provider property I find that is null, is on the RazorPage object called _provider. The property is private making it ever more difficult to sort out.
Has anyone else encountered this perhaps, or maybe have advice to get it up and running again?

@louislewis2 the same snippet is still going strong for me in rc1 (just upgraded from beta8.)
The Value cannot be null. Parameter name: provider. sounds like it is most likely an ArgumentNullException for the second argument here:
new TempDataDictionary(
    httpContextAccessor,
    tempDataProvider)

We should discuss more if MVC is really the right framework for these kinds of scenarios. Would it be better to build something more targeted on top of Razor?

@danroth27 I see your point, but I also see how intertwined MVC and Razor are

This is why it'd be nice to have things like layout templates in razor, and not mvc. @danroth27 this is similar feedback to what we had previously discussed.

@tuespetre Thanks for the suggestion, I had a few differences from your exact code. Most specifically so that it could be run when no request was present. In my scenario, this call actionContextAccessor.ActionContext would result in ActionContext being null. This is a sample of what I did which was working great up till my upgrade.
var actionContext= new ActionContext();
actionContext.RouteData = new Microsoft.AspNet.Routing.RouteData();
actionContext.ActionDescriptor = new ActionDescriptor();
actionContext.HttpContext = new FakeHttpContext(this.serviceProvider);

@tuespetre This is the bulk of my current code, which was based from your initial sample above, as I mentioned the only difference was that I managed to hack it a bit to get it working in the console application / without an http request of any sort.
        public async Task<string> RenderView<TModel>(string name, TModel model, bool partial = false)
        {
            try
            {
                IHttpContextAccessor httpContentAccessor = this.httpContextAccessor;
                ActionContext actionContext = null;
                actionContext = actionContextAccessor.ActionContext;

                if (actionContext == null)
                {
                    actionContext = new ActionContext(new FakeHttpContext(this.serviceProvider), new RouteData(), new ActionDescriptor());
                }

                if(httpContextAccessor.HttpContext == null)
                {
                    httpContextAccessor.HttpContext = actionContext.HttpContext;
                }

                var viewEngineResult = partial
                    ? viewEngine.FindPartialView(actionContext, name)
                    : viewEngine.FindView(actionContext, name);

                IView view = viewEngineResult.View;

                using (var output = new StringWriter())
                {
                    var viewContext = new ViewContext(
                        actionContext,
                        viewEngineResult.View,
                        new ViewDataDictionary<TModel>(
                            metadataProvider: new EmptyModelMetadataProvider(),
                            modelState: new ModelStateDictionary())
                        {
                            Model = model
                        },
                        new TempDataDictionary(
                            httpContextAccessor,
                            tempDataProvider),
                        output,
                        new HtmlHelperOptions());

                    await view.RenderAsync(viewContext);

                    return output.ToString();
                }
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex.Message, ex);
                throw;
            }
        }

    public class FakeHttpContext : DefaultHttpContext
    {
        public FakeHttpContext(IServiceProvider serviceProvider)
        {
            this.ApplicationServices = serviceProvider;
        }
    }

In beta7, after a bit of digging, I found that they only methods required on the HttpContext was
public override IServiceProvider ApplicationServices
public override IServiceProvider RequestServices

And for both the above methods, I had a local IServiceProvider which I simply passed in via the constructor.
After my upgrade to rc1, this no longer worked, so I started hunting around. I found that there is now a default http context which I chose to inherit from this time.
But the problem still seems to be on the private property in the RazorPage property on ViewEngineResult.

For anyone who is interested, its fixed again.
    public class FakeHttpContext : DefaultHttpContext
    {
        public FakeHttpContext(IServiceProvider serviceProvider)
        {
            this.ApplicationServices = serviceProvider;
            this.RequestServices = serviceProvider;
        }
    }

The RequestServices object was not set.

Added a sample https://github.com/aspnet/Entropy/tree/dev/samples/Mvc.RenderViewToString

I could not find a way to use RazorViewEngine.GetView() (or FindView) with a path outside of the project directory (by specifying the full path of the views directory).
Is it possible ? Maybe with IViewLocationExpander?

@adrien-constant, fixed this issue in https://github.com/aspnet/Entropy/commit/fe79fe6564989dd87f28ab0f64b932e9536b096f.

@Eilon @danroth27 @ajaybhargavb  I would like to look at some more low-level stuff with Razor sometime as @danroth27 said to 'build something more targeted', but it will definitely be after RC2, probably after RTM. Thanks for keeping this open for discussion as long as you have and thanks for looking into it.

@tuespetre sure, we just closed the issue for now because we think the key features are done. As new requirements and scenarios come up, we'll certainly look at addressing those. If you have thoughts on those, we should create new issues so that we can have targeted discussions on those.

@Eilon for sure. Getting excited more and more for RC2 and of course eventual RTM! ASP.NET Core has both subtly and radically transformed my development process in amazing ways. Would you happen to know if there will be some documentation written about Razor from a low-level perspective? Or is that something that could be up-for-grabs? ;)

@tuespetre thanks for the compliments!
Is there anything particular about Razor you're looking for? We probably don't have low-level documents on it at all. We're about to start work on some updated higher-level docs about using it, the syntax, etc.

Used above solution and another page to get it working.  Had to get the ICompositeViewEngine from the IServiceProvider.  Grab FakeHttpContext from above too.
public MyController : Controller
{
...
        public string RenderPartialViewToString(string viewName, object model)
        {
            var engine = ServiceProvider.GetService(typeof(ICompositeViewEngine)) as ICompositeViewEngine;
            if (engine == null)
                throw new Exception("Missing ICompositeViewEngine");

            ActionContext.RouteData = new RouteData();
            ActionContext.ActionDescriptor = new ActionDescriptor();
            ActionContext.HttpContext = new FakeHttpContext(Startup.ServiceProvider) { ApplicationServices = Startup.ServiceProvider };

            ViewData.Model = model;

            using (var sw = new StringWriter())
            {
                var viewResult = engine.FindPartialView(ActionContext, viewName);
                if (viewResult.View == null)
                {
                    Log.Error("Missing viewResult.View");
                    return null;
                }

                var viewContext = new ViewContext(
                    ActionContext,
                    viewResult.View,
                    ViewData,
                    TempData,
                    sw,
                    new HtmlHelperOptions()
                    );

                var t = viewResult.View.RenderAsync(viewContext);
                t.Wait();

                return sw.GetStringBuilder().ToString();
            }
        }

usage:
var controller new MyController();
controller.RenderPartialViewToString("~/Views/Home/MyView.cshtml", model);

Is there anyway to change which Layout a View uses at runtime when rendering to string?


Adding an .editorconfig

This commit tries to use an editorconfig file to ensure the same settings across editors while contributing to the vim repository.
The rules are based of the guidelines defined in runtime/doc/develop.txt.

included as of feea1b444e8dabddc


Possible error in chapter 3 section 2 (Processing the data)

The tokenize_function is defined as:
def tokenize_function(example):
    return tokenizer(example["sentence1"], example["sentence2"], truncation=True)

And the text says

Note that it also works if the example dictionary contains several samples (each key as a list of sentences)...

I'd think that you would have to set padding=True in order to have it work with batches, so that each tuple element in the batch has the same size?

Closed, I should have just read a little further:

Note that we’ve left the padding argument out in our tokenization function for now.


Allow dynamic font sizing in frames as appropriate

Dynamic font sizing, e.g. http://jquery-textfill.github.io/ or https://github.com/BrOrlandi/big-text.js. See https://stackoverflow.com/questions/687998/auto-size-dynamic-text-to-fill-fixed-size-container

Moved to lookit/ember-lookit-frameplayer#45


[RFC] Log Metadata

This RFC raises some possible changes over the current API for log metadata (currently context), in particular with the concern of possible performance issues. I discused these points with @bcardiff over the phone and we decided to share some thoughts.
1. Split context and entry metadata
Currently the only way to write metadata values for each log entry is using the log context. This was intentional as the context was, in the initial design, understood as the "contextual" information for the current activity, and not data applicable only to the current log entry. So, for example, the current context could contain things like a "request ID", or the current user logged in. However, specific data like the duration of an operation, or the error code returned by a remote server, are not contextual values. So if someone wants to log that information as structured data and not just a text message, the current context must be replaced just for that log entry. Some work was done in #9146 to make that task easier, but with an extra performance impact.
Instead, for these cases, we propose that each entry has not only the current context metadata, but also some specific data we want solely that log entry to contain. If this data is provided as a named tuple, then this operation is very lightweight, avoiding having to modify the current fiber's context and merging with the existing values in that structure.
In other words Log::Entry will now contain not only context but also an optional data property.
This has one caveat that is there could be now some overlapping between the keys in the context and the entry data. I think the impact is minimal because the nature of the data on each case makes it rare to occur. We could either defer the compaction of both structures at the time the entries are processed by the backend, or it could be stored as separate entities.
2. DSL to set entry metadata
The design of the log APIs circle around the idea of minimizing the performance impact they have. So, it's really important to avoid executing operations that are later discarded because of the severity level currently configured for the process (or the log source).
Because of this, passing the metadata as arguments to the Log calls is not always a good option. Currently the text message is returned from a block due the same reason: skip executing interpolations if the result is then discarded.
The proposal is to extend this idea and let the block return either a String or a Log::Entry and provide some basic DSL to ease this task.
So, while this continue to be fully valid:
Log.info { "Some message" }

in case extra metadata is desired to be attached to the entry, a DSL object passed as argument could be used:
Log.info { |dsl| dsl.entry("Some message", foo: 123, bar: "More data with #{interpolation}") }

And actually, a more compact way is possible:
Log.info &.entry("Some message", foo: 123, bar: "More data with #{interpolation}")

Other options for this DSL could be added for other scenarios yet to discover.
3. Use symbols as metadata keys
During the first iterations of the log context design, the keys of the entries were symbols. This was later changed to be strings, in order to allow dynamic values unknown at compile time. I strongly think this is a mistake and we want to revert it back to just symbols. The reason is again, simple: performance. Even though we could optimize comparison between literal strings, if the API allows any string to be used as a key, there is always the possibility to affect the performance unnecessarily. The comparison of symbols will be always much better, and there is simply no reason to use unknown values for the keys. For example, if the request headers are desired to be stored in the current context, they header names themselves don't need be the keys of the context values. Instead, we could store the headers under a :http_headers key or similar.

I like the idea of metadata.
However, not convinced by using Symbol for the sole reason of possible performance gains.

With LLVM, we never know - this has to be benchmarked (I'd love to know :slightly_smiling_face: )
If no real-world performance gain is noticed, String can be used
Frameworks may manipulating Log configuration, this flexibility is always good to have (except for safety or noticeable performance)
Accepting Symbol | String is also an option, if performance gain there is

1. Split context and entry metadata

Monolog did essentially the same thing with context and extra.
I think it's deff a good idea to make the distinction.  I'd probably just leave the two properties separate and let the formatter/backend itself define how to merge/render each key/value.
This does remind me of my processor idea.  The fiber specific context definitely covers most use cases, like the requestID that are based on some value generated within an application.  However something that is missing is handling static contextual data.  For example, including git information within logged messages.
Currently to handle this you would need to write to Log.context in each entry point.  A processor would just be something that accepts a Log::Entry to write some extra data to it regardless of where the entry originated.
Granted, maybe it's not common enough to worry about.  Just a thought of mine.

2. DSL to set entry metadata

I think it depends on the data that is being included.  Having multiple overloads to handle various contexts would be what I would opt for.  I could see using the block version returning Log::Entry if the context is non trivial.  But would it really be worth it if the values are static?  E.x. Log.info(id: 17) { "Some Message" }.  I guess you wouldn't need to allocate some strings but :shrug:.

@j8r String could be optimized to make the equality comparison of literal values much similar to compare symbols (will never be the same anyway). But if the api allows just any string, that gain could fade away without noticing. If you are careful to always use literal strings, what's the difference anyway with symbols? It's just the syntax you don't like? That's a personal opinion anyway, because I like it, but I'm not using taste as the argument here. If that matters, I actually see strings mostly as a human thing: they represent text, and text is for humans. While symbols are for computers, with a human readable representation.
You mention log configuration by frameworks. I wouldn't add much more configuration to something that has to be simple and fast. I'd love to see any special configuration, useful in real life, that couldn't be solved unless strings are used as keys. You can always put the configurable value under a well known context key.
So far I only see reasons to use symbols, and none to use strings.

@Blacksmoke16 we could consider adding processors if there's a real use case, but so far I didn't see much gain there. I pretty much prefer adding values to the top level context if needed, and avoid extra calls to be made for each and every log entry. That being said, couldn't you just write a wrapper backend that adds the extra information there?
Regarding the DSL, we also considered that option of having overloads for entry data, but the line is so slight and the intention here is to avoid unnoticed slowdowns. Also would you prefer to use two different calling conventions depending on the values? The change would be larger every time you want to add or modify a value that makes the call non trivial anymore. Anyway, I still don't discard that idea.

@waj I mentioned one reason in https://github.com/crystal-lang/crystal/issues/9159. Regressing expressivity for purely performance reasons, especially without a benchmark, doesn't seem sensible to me.

especially without a benchmark

It's not mentioned here, but @waj told me that a quick benchmark of Hash of String vs. Symbol has Symbol be about twice as fast.

@asterite I didn't mention that because I'm not sure my benchmark is correct, so don't assume that performance gain 😆
@RX14 within point 3 I expressed the example you proposed and how I'd actually use it within contexts. So far I don't see any expressivity penalty and so far in Crystal performance was always a reason.

@waj When talking about performance optimization, I'd ask what exactly we're talking about.
As far as I am a aware, an application usually generates log messages which are routed through the log framework to one or more backends. Does this process typically involve comparisons on context keys? I'm not aware of any. Maybe custom backends would do such stuff, but I can't picture a realistic use case.
In most production environments (where performance matters), you'd ideally try to get the log messages out of the application's hot path as quickly and simple as possible and dump/delegate it somewhere (for example to specific log handling services). That usually involves serialization into some data format at which point we typically want strings anyway. There it shouldn't make a difference whether we're dealing with a string (whether it's a literal or dynamically allocated) or the stringification of an enum member.

Does this process typically involve comparisons on context keys?

If I understand things correctly, there's a Hash in the underlying implementation. When you insert stuff into it, the hash method is called on keys. For a symbol that's O(1) since it's just the underlying number given by the compiler at compile-time. With strings that's O(n) and depends on the string length together with some expensive calculations (the hash).
In fact in the compiler I would have liked to use something other than strings for identifiers and such, because then you can compare by identity. I believe every other compiler does that.

@straight-shoota for this analysis, forget about backends. Of course the serialization of the entries is some orders of magnitude above in terms of performance. But I expect that to be asynchronous eventually. I'm just thinking about the penalty involved in adding logging to a piece of code. And trying to minimize the impact that could have to reduce the possibilities of logging less because of that. The comparisons happen every time you set values to the context.

But the purpose of your metadata proposal is to reduce the frequency of context merging. External context which is not specific to an individual log message is more stable and won't change as often. So it naturally has less impact and at that point I'm not sure how much a performance optimization would actually be worth.

Wait, are we only talking about enforcing symbols-as-keys at the top level of context? You can do Log.context.set(foo: {"whatever" => "baz"}) still?

@RX14 of course!

I think that's where the major miscommunication came in then. I'm still not 100% on this change, but it's certainly reasonable.

Ok, let's disregard point 3 for now. It's also true what @straight-shoota says that the impact is reduced with the addition of entry metadata. I'll perform some benchmarks and come back if necessary with fine tuned info.

\1. and 2. definitely sound good! Regarding the DSL, I'd suggest emit as method name instead of entry: Log.info &.emit("Some message", foo: 123, bar: "More data with #{interpolation}")

Thoughts on having overloads similar to #9152?  Could make it simpler using only named argument/namedTuples and splat those into an entry/emit call within the block.
Having a simpler API for trivial arguments would be nice.  I'm a bit skeptical that scalar/primitive arguments would cause that big of a performance impact to require them to go in the block directly.

@Blacksmoke16 the problem is that once you introduce a non-lazy API, people will use it because it's simpler. My personal preference is to just have a lazy API.

I'm implementing the DSL and found an ambiguous corner when attaching exceptions.
Until now we have Log.fatal(exception: ex) { "Ooops" }.
Maybe to keep less options we can move that to Log.fatal &.entry("Ooops", exception: ex)
Otherwise it is not clear (or desireable to allows the user write): Log.fatal(exception: ex1) &.entry("Ooops", exception: ex2)
Should we drop Log.fatal(exception: ex) { "Ooops" } in favor of single way to emit entries with structured information?
Log.fatal &.entry("Ooops", exception: ex)
Log.fatal &.entry("Ooops", exception: ex, data: aMetadataObject)
Log.fatal &.entry("Ooops", exception: ex, a: 1)

But exception is not part of the metadata, so that syntax look a little bit ambiguous.
I'm not sure about dropping the block syntax for strings.  What about a fluent interface?
Log.fatal &.entry("Ooops").with_exception(ex).with_data(a: 1)

Too verbose IMO
If the syntax is too ambiguous we can go in the route of forcing always exception / data keys.
Log.fatal &.entry("Ooops", exception: ex, data: {a: 1})
Log.fatal &.entry("Ooops", exception: ex)
Log.fatal &.entry("Ooops", data: {a: 1})

The ambiguity with attaching exception still holds. And it can be kept. Forcing the user to do the following to attache data and exception is too ugly to me:
Log.fatal(exception: ex) &.entry("Ooops", data: {a: 1})

I agree with @waj that the exception should probably not be treated as a regular data value. It doesn't have any cost attached, so there's not much benefit from adding it in the block.
So I'd go with assigning the exception property always as an argument on the log method.
And I'd definitely keep the API for simply returning the log message from the block. That's nice and concise. And in many cases you won't need to attach any data. We shouldn't force using a more complex API for these simple and common use cases.
Log.fatal { "Ooops" }
Log.fatal &.entry("Ooops")
Log.fatal &.entry("Ooops", a: 1)
Log.fatal(exception: ex) { "Ooops" }
Log.fatal exception: ex, &.entry("Ooops")
Log.fatal exception: ex, &.entry("Ooops", a: 1)

Ok, I'll go on that route. exceptions in the main method. data as plain keyword arguments on yielded method.

I feel super strongly about this and LOVE it. This would remove one of the biggest things I needed for Deter, local context/data: https://github.com/luckyframework/dexter
I also love the syntax. Short, concise, readable, and since it is still a block it won't run if it won't be printed ❤
Can I just ask for one tiny addition? Letting users leave off the message and just set it to an empty string if ommitted. Most of the logs in Lucky and my personal apps are key/value data without a particular message. The formatters in Decter and Lucky are set to ignore empty sting messages, so f that was an option Dexter barely even needs to exist except for the type-safe config helpers and formatters. That'd be great
For example:
# Sets the message to an empty string (or I'd prefer nil, but that's a whole new discussion lol
Log.info &.entry(query: query, query_args: [1, 2, 3])

I have no preference on symbol or string keys. I personally always use symbol and if symbol is faster that sounds awesome.

Quick question about the syntax.  Can the block return multiple objects?  If so could we get rid of the &.entry syntax?
Log.info { "Message", {foo: "bar"} }

Here is an example of multiple returns.
https://play.crystal-lang.org/#/r/90cv

No, it can't.
The more similar would be
Log.info { { "Message", {foo: "bar"} } }

But I think that is to many {
The return statement allows you to avoid the { } for the tuple, but method { expr, expr } does not parse.
You can compare the following example:

https://play.crystal-lang.org/#/r/90fc
https://play.crystal-lang.org/#/r/90fd


[WIP] feat(isthumus): extract isthmus CLI into isthmus-cli project #248

This avoid transitive dependencies on graal-sdk and picocli components for projects that consume isthmus as a library.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Reverted change to .editorconfig (despite helping me to get correct formatting locally) as the change applied to all files and so fails indentation checks for some file types.

Once #244 is merged, I will rebase on that change and mark this PR for review.


Update backup-dpm-automation.md

Fixed typos and bugs in text and code.

Hi @alexandair, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@AnuragMehrotra - Please review this public repo pull request

@markgalioto - adding Mark, as he was also working on this article.

@alexandair - Thank you for your feedback. A recent update I made to this article has caused your feedback to appear as merge conflicts. Many of your update requests were incorporated in the previous pull request, but I will make sure all of your updates are added to the article.

@alexandair - do you have any concerns about us closing this PR per Mark's answer? Thanks.

It's a shame when I invest time in a lots of changes and a PR is not merged, but that's how things work sometime. Close it, please.

Leave a comment


Indoor map and level picker not showing on Android

Bug?
Level picker for indoor maps not showing on Android but works fine on iOS. Android indoor terminal map without levels:

Levels show up when using the Google Maps app
Occasionally on Android, the indoor building itself (an airport terminal) does not appear at all - same location as previous picture:

This is a pure react native app.
Environment info
info
React Native Environment Info:
System:
OS: Linux 5.0 Ubuntu 18.04.3 LTS (Bionic Beaver)
CPU: (4) x64 Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz
Memory: 1.57 GB / 7.67 GB
Shell: 4.4.20 - /bin/bash
Binaries:
Node: 10.17.0 - /usr/bin/node
npm: 6.13.0 - /usr/bin/npm
npmPackages:
react: 16.8.3 => 16.8.3
react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8
npmGlobalPackages:
create-react-native-app: 2.0.2
react-native-cli: 2.0.1
Library version: "~0.25.0"
Steps To Reproduce

Use a MapView component inside a react-native app and try to select level picker for an indoor map when using an android device
...

Describe what you expected to happen:

Level picker should show up when indoor map is shown

Reproducible sample code
<MapView                     showsIndoorLevelPicker={true}                     provider={PROVIDER_GOOGLE}                     style={{ flex: 1 }}                     initialRegion={{                         latitude: this.state.userLocation.latitude,                         longitude: this.state.userLocation.longitude,                         latitudeDelta: 0.0042,                         longitudeDelta: 0.0042                     }}                 >
Additional notes

I have tested this on a Xiaomi mi-mix 2 and Oneplus 7 pro
The goal is to be able to navigate a user from point A to B when indoors (regardless of level of building)

Have you figured it out? I'm having the exact issue with level picker not working in android.

No I'm afraid not, I've been looking at other indoor map providers instead. Please let me know if you happen to find a solution though

I've seen possible solutions that essential trigger a rerender by changing the size of the map, but none of the implementations have worked for me. :(

@TheGreatMarkus Has made his own indoor level picker using the setIndoorActiveLevelIndex method to change levels when specific buttons are clicked. Method can be found here. This way we can turn off the default level picker and make a custom one which will display on both ios and android.


cleanup meta.yaml and rerender

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy
[x] Ensured the license file is being packaged.

Supported Python versions are very old now: https://anaconda.org/conda-forge/typogrify/files Re-render to fix that.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

noarch: python recipes are recommended to have a lower bound on the python version. This recommendation will become a requirement in the future.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

noarch: python recipes are recommended to have a lower bound on the python version. This recommendation will become a requirement in the future.

@pmlandwehr

If you add yourself as a maintainer, I'll merge.

If you add yourself as a maintainer, I'll merge.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

If you add yourself as a maintainer, I'll merge.

I have already listed myself as the 2nd maintainer.

If you add yourself as a maintainer, I'll merge.

I have already listed myself as the 2nd maintainer.

Thanks, @isuruf!

Thanks, @isuruf!


Is there a way to add prefix globally to avoid conflicts

Hi Team, While generating cmdlets , I have a requirement where each cmdlet's verb needs to have 'CV' prefix in them. For example : Get-ResourcePool needs to be Get-CVResourcePool. Is there a directive that I can add to get this

Please see https://github.com/Azure/autorest.powershell/blob/main/docs/directives.md#prefix-subject-prefix-and-subject.

Thanks for the help. Another query we have is have we, Can we include certain external ps1 files which are completely in native powershell into custom folder to bundle together?


Display list of cast and crew

Suggestion / Feature Request
Display list of cast and a list of crew of a movie or tv show in the detail fragments as a horizontal RecyclerView

I would like to work on it.

Assigning you @vishal2376 😇

Hi, I successfully fetched movie cast and crew data from API but I am a bit confused about the image. Here I am passing this path to the imageView.
profile_path = "/5XBzD5WuTyVQZeS4VI25z2moMeY.jpg"
How to get the image URL?

@vishal2376 you can use it like this
https://image.tmdb.org/t/p/w138_and_h175_face/5XBzD5WuTyVQZeS4VI25z2moMeY.jpg
Just add https://image.tmdb.org/t/p/w138_and_h175_face before the profile path

ok

@ken1000minus7 can i get your contact no. or any social handle?

can contact me on discord -> Ken1000minus7#2792

@vishal2376 any updates mate 🤔 ?

@vishal2376 any updates mate 🤔 ?

movie cast implemented
only tv cast remaining

Done

Found a new bug #129
I don't how it's happening 😅.


Session won't be enabled with sinatra + shotgun

If I just use rackup, session is working well, but with shotgun, it doesn't seem working.
I'm using the versions below:
rack (1.3.2)
shotgun (0.9)
sinatra (1.2.6)

Running into this as well; I think it's related to shotgun forking each request so if you're using memory sessions the data is not there.

answer: http://groups.google.com/group/sinatrarb/browse_thread/thread/a54152a32417c90b


Auto format JSON objects in package configuration screen

What's your CLI version?
0.84.3
Description & steps to reproduce
When pasting a json into a json package arg in the package configuration screen, I have to click the format button to format it.
Desired behavior
The json is formatted automatically.
What is the severity of this bug?
Papercut; this bug is frustrating, but I have a workaround.
What area of the product does this pertain to?
Frontend: the Graphical User Interface, including the Enclave Manager

I like this

Done now


The Julia language server cannot go up

I have posted this issue on the emacs-lsp project, but maybe it's related to lsp-julia.
This is the content of the issue:
The Julia language server, lsp-julia cannot start.
I use doom emacs on MacOS. I upgraded doom and the problem continues.
A surprising thing is that initially everything worked great. Then I restarted emacs and the problem appeared. Using some help on discord I upgraded doom emacs, but still things are not working.
The error from Julia-ls::stderr:
ERROR: MethodError: no method matching LanguageServer.FoldingRangeClientCapabilities(::Nothing)
Closest candidates are:
  LanguageServer.FoldingRangeClientCapabilities(::Any, !Matched::Any, !Matched::Any) at /Users/roiholtzman/.julia/packages/LanguageServer/y1ebo/src/protocol/features.jl:217
  LanguageServer.FoldingRangeClientCapabilities(; dynamicRegistration, rangeLimit, lineFoldingOnly) at /Users/roiholtzman/.julia/packages/JSONRPC/xbAlZ/src/interface_def.jl:50
  LanguageServer.FoldingRangeClientCapabilities(!Matched::Union{Missing, Bool}, !Matched::Union{Missing, Int64}, !Matched::Union{Missing, Bool}) at /Users/roiholtzman/.julia/packages/LanguageServer/y1ebo/src/protocol/features.jl:217
  ...
Stacktrace:
 [1] LanguageServer.TextDocumentClientCapabilities(::Dict{String,Any}) at /Users/roiholtzman/.julia/packages/JSONRPC/xbAlZ/src/interface_def.jl:56
 [2] LanguageServer.ClientCapabilities(::Dict{String,Any}) at /Users/roiholtzman/.julia/packages/JSONRPC/xbAlZ/src/interface_def.jl:56
 [3] LanguageServer.InitializeParams(::Dict{String,Any}) at /Users/roiholtzman/.julia/packages/LanguageServer/y1ebo/src/protocol/initialize.jl:111
 [4] dispatch_msg(::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /Users/roiholtzman/.julia/packages/JSONRPC/xbAlZ/src/typed.jl:64
 [5] run(::LanguageServerInstance) at /Users/roiholtzman/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:308
 [6] top-level scope at none:1

Process julia-ls stderr finished

in the lsp-log there is:
Command "julia --startup-file=no --history-file=no -e using InteractiveUtils, Sockets, SymbolServer, LanguageServer; server = LanguageServer.LanguageServerInstance( stdin, stdout,"/Users/roiholtzman/Projects/07_reset_systems/07_code/LocalResetExclusionProcessWatson/","", nothing, "/Users/roiholtzman/.julia/symbolstorev2-lsp-julia"); run(server);" is present on the path.
Command "julia --startup-file=no --history-file=no -e using InteractiveUtils, Sockets, SymbolServer, LanguageServer; server = LanguageServer.LanguageServerInstance( stdin, stdout,"/Users/roiholtzman/Projects/07_reset_systems/07_code/LocalResetExclusionProcessWatson/","", nothing, "/Users/roiholtzman/.julia/symbolstorev2-lsp-julia"); run(server);" is present on the path.
Command "julia --startup-file=no --history-file=no -e using InteractiveUtils, Sockets, SymbolServer, LanguageServer; server = LanguageServer.LanguageServerInstance( stdin, stdout,"/Users/roiholtzman/Projects/07_reset_systems/07_code/LocalResetExclusionProcessWatson/","", nothing, "/Users/roiholtzman/.julia/symbolstorev2-lsp-julia"); run(server);" is present on the path.
Found the following clients for /Users/roiholtzman/Projects/07_reset_systems/07_code/LocalResetExclusionProcessWatson/src/dynamics.jl: (server-id julia-ls, priority 0)
The following clients were selected based on priority: (server-id julia-ls, priority 0)

See this issue.
TL;DR: Set (setq lsp-enable-folding t) to fix it.

See this issue.
TL;DR: Set (setq lsp-enable-folding t) to fix it.

thanks!
I added this to my configuration:
(setq lsp-julia-package-dir nil)
(setq lsp-julia-default-environment "~/.julia/environments/v1.5")
(setq lsp-enable-folding t)

Now I get the following error:
ERROR: MethodError: no method matching Union{Int64, String}(::String)
Stacktrace:
 [1] LanguageServer.InitializeParams(::Dict{String,Any}) at /Users/roiholtzman/.julia/packages/LanguageServer/y1ebo/src/protocol/initialize.jl:111
 [2] dispatch_msg(::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint,Base.PipeEndpoint}, ::JSONRPC.MsgDispatcher, ::Dict{String,Any}) at /Users/roiholtzman/.julia/packages/JSONRPC/xbAlZ/src/typed.jl:64
 [3] run(::LanguageServerInstance) at /Users/roiholtzman/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:308
 [4] top-level scope at none:1

Process julia-ls stderr finished

Is there a way to replicate this error? I've never seen that, so maybe some steps to replicate it on my machine would be useful.

Is there a way to replicate this error? I've never seen that, so maybe some steps to replicate it on my machine would be useful.

@juanscr  I am not sure. It seems to me that I didn't do anything special, and it just happens.

I have exact the same issue. All I do is enable (julia +lsp) and putting the three lines in my config.el
(setq lsp-julia-package-dir nil)
(setq lsp-julia-default-environment "~/.julia/environments/v1.6")
(setq lsp-enable-folding t)

I resolved this issue by upgrading Doom Emacs.
I believe this issue is related to this commit f82a3c692bf4fae029d25948dcb4fb6db6fcc002,
which on its own seems to be a "hack" to make things work in LS.jl?

Yes, resolving this took quite a while to get it to work and still feels somewhat hacky.

that't great! upgrading also solved it for me.


Excluded Entities does not seem to work on multiplayer.

MC 1.18.2, Fabric API 0.58, Cloth-api: 3.2.64, RPGDiff: 1.0.12, Nameplate: 1.0.2
I can't seem to exclude any entities. I originally only wanted to exclude some passive mobs (Cows, Sheep, Pigs, etc) but when neither "minecraft:pig", nor "minecraft.pig", worked as entries in either the config screen or manually editing the config file I tried the provided example "minecraft.zombie" and that did not work either (I still get nameplates on Zombies).

Should be the same issue as https://github.com/Globox1997/Nameplate/issues/4

Out of time reasons I only work on latest versions so this will be for 1.19.2

I understand, Just adds to the list of reasons to update to 1.19.2 myself.
Do you know of any obvious issues there may be if I ran the latest 1.19.2 version of Nameplate on a 1.18.2 server? (With the 1.18.2 version of RPGDifficulty)
I know some mods are backwards compatible. If it just needs a change to the mod.json file (or other txt file) I can do that.

Fixed with the latest update for 1.19.2
Not sure if it will work on older versions like 1.18.2 but not sure. The latest version isn't depending on rpgdifficulty anymore but maybe the other way around


Responsive UI

Responsiveness of any page is not working properly should align all elements and div's in correct format.

kindly specify in detail for which pages, how is the responsiveness breaking


Disable DNSBLOG completly

I'm using this docker container for a internal only e-mail server and I've got a lot of timeouts/log entries from postscreen/dnsblog like these:
Apr 16 13:11:19 mail postfix/dnsblog[1289]: warning: dnsblog_query: lookup error for DNS query <IP_ADDRESS>.list.dnswl.org: Host or domain name not found. Name service error for name=<IP_ADDRESS>.list.dnswl.org type=A: Host not found, try again
Apr 16 13:11:19 mail postfix/dnsblog[1290]: warning: dnsblog_query: lookup error for DNS query <IP_ADDRESS>.zen.spamhaus.org: Host or domain name not found. Name service error for name=<IP_ADDRESS>.zen.spamhaus.org type=A: Host not found, try again
Apr 16 13:11:19 mail postfix/dnsblog[1288]: warning: dnsblog_query: lookup error for DNS query <IP_ADDRESS>.bl.spameatingmonkey.net: Host or domain name not found. Name service error for name=<IP_ADDRESS>.bl.spameatingmonkey.net type=A: Host not found, try again
Apr 16 13:11:19 mail postfix/dnsblog[1286]: warning: dnsblog_query: lookup error for DNS query <IP_ADDRESS>.b.barracudacentral.org: Host or domain name not found. Name service error for name=<IP_ADDRESS>.b.barracudacentral.org type=A: Host not found, try again
Apr 16 13:11:19 mail postfix/dnsblog[1287]: warning: dnsblog_query: lookup error for DNS query <IP_ADDRESS>.bl.mailspike.net: Host or domain name not found. Name service error for name=<IP_ADDRESS>.bl.mailspike.net type=A: Host not found, try again
Apr 16 13:11:19 mail postfix/dnsblog[1285]: warning: dnsblog_query: lookup error for DNS query <IP_ADDRESS>.bl.spamcop.net: Host or domain name not found. Name service error for name=<IP_ADDRESS>.bl.spamcop.net type=A: Host not found, try again
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for bl.spamcop.net
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for b.barracudacentral.org
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for bl.mailspike.net
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for bl.spameatingmonkey.net
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for list.dnswl.org
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for zen.spamhaus.org
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for dnsbl.sorbs.net
Apr 16 13:11:19 mail postfix/postscreen[1284]: warning: dnsblog reply timeout 10s for psbl.surriel.com

The question is: Is there any way to disable the dnsblog feature completly or empty the dnsbl_sites variable? Switching the ACTION envvar won't do it because it still performs the lookups and it takes nearly 5-10 seconds to send an internal e-mail because of this.

Take a look at: https://github.com/tomav/docker-mailserver/wiki/Override-Default-Postfix-Configuration
Try something like this in config/postfix-main.cf:
postscreen_dnsbl_sites =

# DNS blacklists removed
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_policy_service unix:private/policyd-spf, reject_unauth_pipelining, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_recipient_domain

Thank you very much, it worked that way!


Add DefaultTemplateLanguage member to WaitingRoom struct

Description
Waiting Room has a new parameter default_template_language to set the language of the default template.
Has your change been tested?
Updated unit tests.
Types of changes
What sort of change does your code introduce/modify?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[ ] This change is using publicly documented (api.cloudflare.com or developers.cloudflare.com) and stable APIs.
:soon: (API changes are public, but documentation is not public yet. I will update the PR when it is available.)

API documentation: https://api.cloudflare.com/#waiting-room-properties


Display more information on the homescreen

Currently displays our live mentor, mentee, and college count.
The number of colleges our mentors are from is based on the different domains on their emails, which I think is a safe assumption.
Closes #74
Closes #81

Just moved the display count to the about section and adjusted numbers for the pre-existing matches


Cargo test fails at 0:20 JST

I ran cargo test on the current repo and got two errors:
failures:

---- test_from_str_at_date_day stdout ----
thread 'test_from_str_at_date_day' panicked at 'assertion failed: `(left == right)`
  left: `Duration { secs: 0, nanos: 0 }`,
 right: `Duration { secs: 86400, nanos: 0 }`', tests/simple.rs:133:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- test_duration_parsing stdout ----
thread 'test_duration_parsing' panicked at 'assertion failed: `(left == right)`
  left: `Duration { secs: 31449600, nanos: 0 }`,
 right: `Duration { secs: 31536000, nanos: 0 }`', tests/simple.rs:16:5

failures:
    test_duration_parsing
    test_from_str_at_date_day

test result: FAILED. 4 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `--test simple`

I did not get the errors before, so it might have to do with the my timezone. It looks like there might be an error or a different usage between JST and UTC.

I think it has to do with the fact that its Aug28th on JST but AUG 27th on UTC.

Interestingly the tests work at 9:15 JST.

I ran into this issue in my unit tests, which pass in the morning and fail in the evening (I'm in Pacific time, UTC-8).  I believe the root cause of this issue is in parse_relative_time.rs:
pub fn parse_relative_time(s: &str) -> Result<Duration, ParseDateTimeError> {
    parse_relative_time_at_date(Utc::now().date_naive(), s)
}
...
pub fn parse_relative_time_at_date(
    date: NaiveDate,
    s: &str,
) -> Result<Duration, ParseDateTimeError> {
...
    if captures_processed == 0 {
        Err(ParseDateTimeError::InvalidInput)
    } else {
        let time_now = Local::now().date_naive();
        let date_duration = date - time_now;

        Ok(total_duration + date_duration)
    }
}

In other words, parse_relative_time is passing in a Utc::now, and then we're subtracting a Local::now date, which definitely isn't going to work if the offset between Utc and Local crosses midnight.  Any progress towards a fix on this?

Nice find! Feel free to open a PR!