text:
Initializing electron-push-receiver component without a main window

Hi Matthieu,
I have an app that sits in the background and pops up windows at random intervals. I have it running in the system tray as well. However, there is no persistent window for the app.
In such a case, am struggling to figure out how to use this:
// Initialize electron-push-receiver component. Should be called before 'did-finish-load'
setupPushReceiver(mainWindow.webContents);
I would like to push notifications even without a mainWindow being open. Can that be done?
Regards,
Arun

@arun-nfactorial well you have two ways of doing that :

Easy: Pass a fake webContents in setupPushReceiver : you just need a object with a send function which will receive the notifications
Harder: Use push-receiver directly. electron-push-receiver is just a convenient wrapper around push-receiver. You'll have to handle the credentials storage yourself.

Thanks for the quick response.
I am trying with creating a defaultWindow initially to see whether this
works. I first tried out the demo code provided on a linux machine and that
worked perfectly.
When I try it using my code on a Windows machine the service is started
successfully. I also have the token, but when I hit that with Postman, the
notification window never pops up. Is there any known issue on a Windows
machine?
By the way, I went through your full blog post and what you did was
incredible. The patience to do all that!:) So a big thanks to you!
Regards,
Arun
On Mon, Feb 26, 2018 at 2:50 PM, Matthieu Lemoine notifications@github.com
wrote:

@arun-nfactorial https://github.com/arun-nfactorial well you have two
ways of doing that :

Easy: Pass a fake webContents in setupPushReceiver : you just need a
object with a send function which will receive the notifications
Harder: Use push-receiver
https://github.com/MatthieuLemoine/push-receiver directly.
electron-push-receiver is just a convenient wrapper around
push-receiver. You'll have to handle the credentials storage yourself.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368437196,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpkLHDp9NSQOKWgiN1W_zMfroo-tlks5tYndbgaJpZM4SS0ME
.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

@arun-nfactorial Never tried on Windows. Did you receive the notification and it's just a display issue or the notification is never received ?

Thon Postman I get a success response. It's just that I don't see it on the
windows machine.
A couple of other questions:
A) when you said an empty Webcontents, would I still need to create a dummy
window or just a Webcontents object is sufficient?
B) I see that the service is started in the renderer. Since I have multiple
pop-ups in my app coming up at random times, I am assuming the service will
get started each time a new window pops up. How can I limit that to just
one service being started. Can I start the service in main.js itself?
Thanks,
Arun
On 26-Feb-2018 16:15, "Matthieu Lemoine" notifications@github.com wrote:
@arun-nfactorial https://github.com/arun-nfactorial Never tried on
Windows. Did you receive the notification and it's just a display issue or
the notification is never received ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368460603,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpnshmr_tWN9IRAgH2jXAxKMCwT-vks5tYosygaJpZM4SS0ME
.

A) Yes. Something like :
const webContents = { send : (event, data) => doSomething(event, data) }

B) You can start from the main process using ipcMain.send(START_NOTIFICATION_SERVICE, senderId);. You dont' have to start the service for each windows. You can start it only once in the main process

Awesome. Thanks a lot. Shall try that and let you know. Shall also run the
demo on the windows machine and let you know if it works since that will
tell us whether it is a windows issue that needs resolving or a quirk of my
implementation.
Regards,
Arun
On 26-Feb-2018 16:57, "Matthieu Lemoine" notifications@github.com wrote:

A) Yes. Something like :
const webContents = { send : (event, data) => doSomething(event, data) }
B) You can start from the main process using ipcMain.send(START_NOTIFICATION_SERVICE,
senderId);. You dont' have to start the service for each windows. You can
start it only once in the main process
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368470869,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpggmxR_ga5z3WBshgUZ8lS5NbhUiks5tYpUngaJpZM4SS0ME
.

Hi Matthieu,
I tried the demo code on a Windows machine. The popup never comes up, even
though I get a Status 200  using Postman.
Regards,
Arun
On Mon, Feb 26, 2018 at 4:59 PM, Arun Krishnan <arun@nfactorialanalytics.com

wrote:

Awesome. Thanks a lot. Shall try that and let you know. Shall also run the
demo on the windows machine and let you know if it works since that will
tell us whether it is a windows issue that needs resolving or a quirk of my
implementation.
Regards,
Arun
On 26-Feb-2018 16:57, "Matthieu Lemoine" notifications@github.com wrote:

A) Yes. Something like :
const webContents = { send : (event, data) => doSomething(event, data) }
B) You can start from the main process using
ipcMain.send(START_NOTIFICATION_SERVICE, senderId);. You dont' have to
start the service for each windows. You can start it only once in the main
process
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368470869,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpggmxR_ga5z3WBshgUZ8lS5NbhUiks5tYpUngaJpZM4SS0ME
.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

A quick update.
The push notification is received on a Windows 10 machine. So looks like a
Windows 8 issue.
Regards,
Arun
On Mon, Feb 26, 2018 at 10:48 PM, Arun Krishnan <
arun@nfactorialanalytics.com> wrote:

Got it. I am on Windows 8.1.
What I noticed is, it never receives the notification, that is never does
a console.log from within ipcRenderer.on(NOTIFICATION_RECEIVED, ...
Any ideas as to why that might be?
Regards,
Arun
On Mon, Feb 26, 2018 at 10:38 PM, Matthieu Lemoine <
notifications@github.com> wrote:

@arun-nfactorial https://github.com/arun-nfactorial A 200 doesn't mean
that the notification was delivered. It's an async operation.
A 200 only means that the device token & the server key is valid.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368574534,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpnlRKVdwQcpsiQIXzCUpqHj19dEpks5tYuUMgaJpZM4SS0ME
.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

Hi Mathieu,
I tried to do this in the main process but get an ipcMain.send is not a
function error.
I tried Webcontents.send but I am not getting a service registered message
with the token.
Your thoughts would be very helpful.
Thanks,
Arun
On Mon, Feb 26, 2018 at 4:57 PM, Matthieu Lemoine notifications@github.com
wrote:

A) Yes. Something like :
const webContents = { send : (event, data) => doSomething(event, data) }
B) You can start from the main process using ipcMain.send(START_NOTIFICATION_SERVICE,
senderId);. You dont' have to start the service for each windows. You can
start it only once in the main process
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368470869,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpggmxR_ga5z3WBshgUZ8lS5NbhUiks5tYpUngaJpZM4SS0ME
.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

Also,
Once I start the service in the main process, should the listeners for the
different notifications still be in renderer.js? Or can they also be moved
to main.js.
If they can be moved, would that be ipcMain.on(NOTIFICATION_RECEIVED etc?
Regards,
Arun
On Tue, Feb 27, 2018 at 2:45 PM, Arun Krishnan <arun@nfactorialanalytics.com

wrote:

Hi Mathieu,
I tried to do this in the main process but get an ipcMain.send is not a
function error.
I tried Webcontents.send but I am not getting a service registered message
with the token.
Your thoughts would be very helpful.
Thanks,
Arun
On Mon, Feb 26, 2018 at 4:57 PM, Matthieu Lemoine <
notifications@github.com> wrote:

A) Yes. Something like :
const webContents = { send : (event, data) => doSomething(event, data) }
B) You can start from the main process using
ipcMain.send(START_NOTIFICATION_SERVICE, senderId);. You dont' have to
start the service for each windows. You can start it only once in the main
process
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MatthieuLemoine/electron-push-receiver/issues/14#issuecomment-368470869,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJvnpggmxR_ga5z3WBshgUZ8lS5NbhUiks5tYpUngaJpZM4SS0ME
.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

--
Arun Krishnan, Ph.D
Founder & CEO,
nFactorial Analytical Sciences,
Email: arun@nfactorialanalytics.com
Phone: +91 9880007615
URL: http://www.nfactorialanalytics.com
n!Gage, n!Factorial’s real-time employee engagement feedback platform
http://bit.ly/Intro2nGage, helps managers listen, understand and act upon
employee feedback that leads to great employee experiences and ultimately,
deeper engagement. This first-of-its-kind-in-India-platform uses analytics
to provide real-time intervention analysis, trends, predictive analysis and
much more. Winner of TechHR’s 2016 Spotlight award
https://www.peoplematters.in/article/hr-technology/spotlight-award-winners-2016-13817,
the platform is in use in several large corporations across multiple
industries.

I can confirm that the push notification is received but the notification doesn't flash.
As a workaround, within the ipcRenderer.on(NOTIFICATION_RECEIVED, (__, serverNotificationPayload) function, I send the serverNotificationPayload to the main.js process via
ipcRenderer.send('notification_received', serverNotificationPayload)
which is picked up by ipcMain.on("notification_received", (event, arg)
I then determine the OS and pass in the arg to node-notifier, another library. 😬
This isn't ideal, but handled my issue for the time-being.

So it's an issue with electron's Notification API ?

I tried to use their API directly, but it didn't work for me, so yes, i think so. My understanding is that it's experimental:
https://electronjs.org/docs/api/notification#new-notificationoptions-experimental

There are requirements depending on the Windows version https://electronjs.org/docs/tutorial/notifications#windows

repo: MatthieuLemoine/electron-push-receiver


text:
Update the way links in descriptions work to use the new 'Path' functionality

Introduction
Any item (container, model, model item, facet) in Mauro can now be referenced by a path.  This ticket is to update the link functionality in descriptions and other long text fields to use the new paths for links between Mauro items.  The aim is that these name-based paths can be used instead of UUIDs in links, so that descriptions are more easily portable and can be more easily created automatically during bulk operations.

This applies to descriptions, and to any other long text field in profiles, etc where the HTML / Markdown editors are used.
It should be implemented in both HTML and Markdown editors

It is related to #417 which provides an alternative to the current wizard for choosing an element.
Paths
A path in Mauro can take one of two forms: absolute and relative

Absolute paths start from a folder or model identified by name and version.
Relative paths start from the containing model of the item that is being edited.

A path has the syntax:
type : name [version] | more_path
Where:

type denotes the type of Mauro item - for example dm is DataModel, fo is Folder, etc.  Types are always two characters
name is the label of the item in question.
version is used to disambiguate finalised models and versioned folders.  If no version is provided, then the latest model with that label will be chosen.

The | character is used to build up chains of paths to navigate through the hierarchy.
Examples
dm:DataModel1 is a link to the latest version of the model named ‘DataModel1’.  Note you don’t need the folder path to reach a data model or versioned folder.
dm:DataModel1|dc:DataClass1 is a link to the top-level DataClass called ‘DataClass1’ in the latest version of the data model above.
dc|DataClass1 is a relative link to the top-level DataClass within the current model.
Functionality

When a long text field is rendered - either normally, or in ‘preview’ mode when editing (in HTML, and in Markdown), the UI should be able to resolve those links. That may involve adding a prefix to the urls to ensure that they lead somewhere within the single-page app.  This can use the Pathing API endpoints to resolve to a Mauro item.
When a long text field is edited, the links should be displayed using this pathing notation so that they can be easily edited by users
When the ‘add element’ button is selected, the selection of a Mauro item should result in a link that uses this pathing notation.

Decisions

We will need to decide on a syntax to disambiguate absolute and relative paths.  For example, a path starting dm:DataModel1 might either be an absolute path to a data model, or a relative path within the same versioned folder.  Initial suggestion would be a prefix of || for an absolute path (c.f. xpath), but happy to take suggestions.
When links are manually added through the item picker, we might need a way to decide whether an absolute or default path is required.  My suggestion is that relative paths should be used where possible, as this ensures links can be resolved when models are imported into other catalogues.

Tagging @pjmonks and @olliefreeman for discussion

These path strings/links still seem to mostly assume that Markdown is used in description fields, so you would store a path like this:
Here is a [catalogue item](dm:Data Model 1|dc:Data Class 1)

But when using the HTML editor, it produces an actual anchor tag in the description (source), and will be URL encoded, like this:
Here is a catalogue item

This goes back to some points I made in issue #223 where the ability to switch between Markdown and HTML editors causes confusion as to how best to render the text. I think some consensus on that should also be had before tackling this issue.

@pjmonks We decided on '|' for a separator in paths because it was less likely to be used in a label than '/'.  We do need to do some rationalising here - looking at #223.  When we looked before, there weren't any decent html / markdown combined wysiwyg editors.  Happy to revisit things now though

Having looked at the existing code for picking items, generating the paths to them and rendering them as links, I've noticed that the current version is actually very buggy and does not produce adequate results. Also, tracing the function calls to render links is more complex than I would expect, plus does not cover every use case.
To that end, I think this process can be simplified a bit as well as improved. The two main problems so far are:

Paths returned are not correct and do not generate the correct front-end URLs to go to the correct page views.
Even if the paths produced correct URLs, each page view (e.g. viewing a Data Model) wouldn't load because the URL is expected to have UUIDs to identify catalogue items instead of labels/path strings.

Generate URLs from paths
To fix the first problem, a new backend issue was created - MauroDataMapper/mdm-core#406 - so that selecting a catalogue item from the item picker (from the Markdown/HTML editor "Select link" dialog) would return the correct path value for that item - including version/branch info and full path to parent (in the case of child items like Data Classes/Elements etc).
Once the correct path is known for any catalogue item, a new UI Router state can be mapped to the frontend URL #/catalogue/item/{path}. This is the URL that should ultimately be rendered by the Markdown and HTML editors for descriptions.
Load item by path
URLs to #/catalogue/item/{path} will actually work like an internal redirect:

Capture {path} from the URL
Send to Mauro endpoint GET /{domainName}/path/{path} to map back to the exact catalogue item
Use the catalogue item information to redirect to the correct page view e.g. if the item is a Data Model, this would redirect to #/catalogue/dataModel/{dataModelId}

source: gharchive/issue

authors: jamesrwelch pjmonks

repo: MauroDataMapper/mdm-ui

license_type: permissive

license_source: github-api


text:
Menu buttons inaccessible at 1015px width

At around >=1015px the menu switches to a narrow layout that forces its buttons into a single column. Unfortunately, because the menu is too narrow the buttons to become inaccessible.

I believe you can get rid of the HUDStyle changes in JS and achieve better control through CSS + media queries + calc() (if necessary).
What is the intent of that layout change? Do you want to display the buttons vertically whenever possible? because it could be argued that this could be done at far narrower widths.

I patched this issues with another piece of JS cludge :sweat_smile:
I agree that there might be a better way to get this to flow between different layouts in CSS, but I'm not sure exactly what I even want it to look like so I'm decently happy with the current behavior. (kind of wish the buttons wrapped around the gauge more nicely.)
thanks for opening the issue Fabian!

authors: MaxBittker mootari

license: MIT


text:
[RFC] Add OrderedDictionary

This PR adds an OrderedDictionary structure to the project, though does not use it for anything yet.
This should be useful for maintaining order of attributes elements (#17), and was useful in an experimental outing to solve #25, and I can imagine it being useful for #12, as well.
I thought I'd propose this here to start some conversation about these issues and how to approach solving them. If this won't be of help, feel free to close!

Awesome @jsbean, you beat me to it!
Fixing order-preservation is what all my recently merged PRs were working up to! 🤓
Nitpick on #17: It's not the order attributes that's unsupported, it's the order of elements.
The XML specification explicitly defines the order of attributes to be of no importance:

The Name in the start- and end-tags gives the element's type. [Definition: The Name-AttValue pairs are referred to as the attribute specifications of the element], [Definition: with the Name in each pair referred to as the attribute name ] and [Definition: the content of the AttValue (the text between the ' or " delimiters) as the attribute value.] Note that the order of attribute specifications in a start-tag or empty-element tag is not significant.  (emphasis mine) Source

Interesting to hear your comments on this, Vincent.

There's gonna be quite a bit of work ahead of us for making XMLCoder preserve order, but adding an OrderedDictionary like in this PR is a great start, imho!

Having spent some thoughts on the issue of order-preservation and mixed-content elements in XML I've come to wonder if a (Ordered)Dictionary is correct to begin with. 🤔
Current MultiMap Representation
Currently we use something like var elements: [String: [Element]] to encode what effectively is a MultiMap (i.e. a map with multiple ordered values per key).
Making a MultiMap ordered doesn't make much sense, imho, as it wouldn't really preserve the order in a way we would need it to.
New Array Representation
What we'd probably want instead is to use a var elements: [Element] instead (we can drop the key as Element itself holds its key, too) and then do this …
Element lookup
subscript(key: Key) -> [Element] {
    get {
        return elements.filter { $0.key == key }
    }
}

… for key-wise element lookup.
Lookup Optimization
If we wanted to make sure we're not regression too much in regards to performance for elements with loooooots of children we could add a key-based index à la var indexesByKey: [String: IndexSet] at a reasonable memory overhead.
Mixed content
This would allow us to also support formats with mixed-content elements …
<something attribute="42">
    <name>Some name</name>
    Some string
    <![CDATA[Some data]]>
    Some more string
</something>

… which is also somewhat related to https://github.com/MaxDesiatov/XMLCoder/issues/12, which tries to encode the same, but using an attribute instead of an element for .name.
Richer Structure Representation
Assuming we would be storing all the content, including the Some value span …
enum Content {
    case string(String)
    case data(Data)
    case element(Element)
}

… and then having var contents: [Content] instead of var elements: [Element].
So that the above XML would be parsed as something like this:
var element = Element(
    key: "something",
    attributes: ["attribute": "42"],
    contents: [
        .element(Element(
            key: "name",
            contents: [
                .string("Some name")
            ]
        )),
        .string("Some string"),
        .data("Some data".data(encoding: .utf8)
        .string("Some more string")
    ]
)

All in all we're currently grossly oversimplifying the internal data representation, limiting us to a rather narrow set os possible supported encodings.
Possible usecases
Like with the current data representation we could never encode/decode to/from XHTML, which would be an interesting use of Codable. (Whether it's a good idea to use Codable for XHTML generation is a whole different question. But I'd like to be able to do it with XMLCoder in principle.)
Attributes everywhere
We also shouldn't restrict the use of attributes to KeyedBox (which currently is preventing https://github.com/MaxDesiatov/XMLCoder/issues/12 among other bugs), but allow them for arbitrary boxes. But I digress (and will create a separate discussion issue with a solution proposal (teaser: via composition with Attributed<T>) for this at another time, soon-ish, I hope).

Ordered encoding is now available in master, which builds on previous changes implemented by @regexident. As far as I understand this PR is no longer relevant, but please feel free to reopen or create a new PR if needed.

source: gharchive/pull-request

authors: MaxDesiatov jsbean regexident

repo: MaxDesiatov/XMLCoder


text:
No option to disable icons for options sheet.

Sometimes, there are no icons to be used for list of options, and I just want the use the options sheet to be able to display a list of options.
There should be a way to disable icons, and left align the options. Currently not settings icons, leaves a significant blank space to the left of the options text.

The OptionsSheet without Icons works fine for the list view, but in the grid view are icons necessary. I'm unsure right now, if I should throw an exception if the options have no icons and are displayed in a grid, or not and let them just look bad in the grid view.

authors: MaxKeppeler adarshpugalia

repo: MaxKeppeler/bottom-sheets


text:
Indentation problem inside brackets

Problem
The indentation for self-closing tags ("Airbnb" style I believe it is called) doesn't work when inside brackets ({condition && ( ... )}).
Both auto-indentation and gg=G creates this.
Examples
Here indentation is wrong
function test(props) {
    return (

            {true && (

                        One indent too much

            )}

    );
}

It works when a jsx component is direct parent (e.g. Fragment)
function test(props) {
    return (

            {true && (
                <Fragment>

                        Works with direct parent Fragment!

                </Fragment>
            )}

    );
}

I see, but it’s an invalid usage in React. Multiple elements must be wrapped in another element or the fragment, right?

The div elements surrounding the {true && (...)} makes it valid.
(In my simplified example it seems dumb to not just move them inside, but it is justified if the div would be a more complex element, for example.)

@sheepwall According to the React compiler, Adjacent JSX elements must be wrapped in an enclosing tag., and your simplified snippet could fail to compile, that's why I said it was an invalid React usage.
So, the simplified example might not be suitable. What does the real use case look like?

Yes I think you are right! The compiler doesn't like it. I was mistaken, have a good day :^)

authors: sheepwall yuezk

repo: MaxMEllon/vim-jsx-pretty

license: mit

license_source: bigquery


text:
A name of pdf for each wiki file

I create a wiki using "azuredevops-export-wiki" but after that I have one file "export.pdf" with 197 pages in it ‿︵ヽ(°□° )ノ︵‿
How can I create pdf pages separately so that each one has its own name?
I saw that there is a parameter  https://github.com/MaxMelcher/AzureDevOps.WikiPDFExport#-d----debug but  I tried it, and for me it does not working, I get the same one file with name export.pdf
How to correctly use the -b / --breakPage parameter?

discussed offline:
-b starts a new page per file
If you want to create a pdf per markdown file, then use powershell to query all the files and run the converter for every page.

authors: MaxMelcher olegsidokhmetov


text:
update readme for changes made in #13

#13

444185108783417fa0627add54d0bb5399347b20

license: WTFPL


text:
You've hardcoded your message buffer to 8 bytes. Any message larger than that will crash the server

I lost hours at a game jam for this! please fix!

Was close to give up, but yea its right. For the security the message buffer should be limited. I just do 1024 * 10.

repo: MazyModz/CSharp-WebSocket-Server


text:
Nice work, have you extended this to cross-encoders?

Dear authors,
First of all, congratulations on this nice work!
I wanted to ask if you have tried extending this to cross-encoders? Asking because cross-encoders are used as re-rankers in RAGs and a good re-ranker is important for overall RAG performance. I think extending the current architecture to cross-encoders would not be very hard, and can really be a ripe, low-hanging fruit.
P.S., I apologize in advance if such work is already done. Really hard to navigate through the research papers these days :D

Hi @RayyanRiaz,
Thank you for your interest in our work. We have currently not extended LLM2Vec for cross-encoders. In this work, we mainly considered making strong LLM-based encoders for general sentence representations.
We hope the community will explore the LLM2Vec recipe for more specific tasks such as retrieval and adapt these models for cross-encoders/re-rankers too. In my opinion, a good starting point will be to take Bi + MNTP checkpoint of LLM2Vec and then further fine-tune it as a reranker, following the training and evaluation setup as described in this paper.

authors: RayyanRiaz vaibhavad


text:
MediaInfo on Mac doesn't support --Inform?

I'm using MediaInfo CLI on my mac (v20.03), as well as on a Centos machine.
On the Centos machine, I can use the --Inform parameter (to extract a single info-parameter).
However, that doesn't seem to be supported on Mac.
Is there any reason for that?

Just tested on macOS 10.15 Catalina:
MacMini:Mac jerome$ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v20.03
MacMini:Mac jerome$ mediainfo "--Inform=General;%FileSize%" Logo.icns
97020
MacMini:Mac jerome$ uname -a
Darwin MacMini.local 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan  9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64

authors: JeromeMartinez wabiloo

repo: MediaArea/MediaInfo


text:
边界点的正负样本定义

您好，我想请问一下边界上的正负样本定义是根据预测得到的粗略的边框与真实边框的IOU来确定的吗？这部分代码不是很懂，希望能解答一下，谢谢

PTAL @Maycbj

是的，是用的预测得到的粗略的边框(第一阶段的框)与真实边框的IOU来确定的。
https://github.com/Megvii-BaseDetection/BorderDet/blob/master/cvpods/modeling/meta_arch/borderdet.py#L442

authors: FateScript Maycbj Tangzhaotz

repo: Megvii-BaseDetection/BorderDet


text:
Added TimeSpan minUnit option #388

I have add timeSpan minUnit option.

I have refactor the code so that it will be easy to implement the transformation to years and months. This actually is what I want to do next, if it is OK with you, but I don't know how to make the transformation from days. e.g. 1 year = 365 days and 4 years = (3365) + (1366) . I need some opinions on this.

Thanks for the contribution. This is now available on nuget as v1.36.0.

authors: MehdiK danielbrezoi

repo: MehdiK/Humanizer


text:
Store payment data in Redis, not Sidekiq args

We encountered some problems with pushing (large) payment data directly in the Sidekiq job args:

While Sidekiq itself handles these fine, the sidekiq web interface loads the job args and can use up a lot of web server memory
It can be a confidentiality problem that payment info is visible in the same web interface
Similarly, if there are errors, Sidekiq could log the payment info into logging systems etc.

Instead, store the data directly in Redis and just pass the key to it through Sidekiq. Add a TTL to the key so that in case the Job gets lost, the data does not stay in Redis indefinitely.

Also this has test failures I don't understand. :smile:

Also this has test failures I don't understand. smile

@psuessenb yeah weird now it picked up the test run from semaphore?!

authors: MGPalmer psuessenb

repo: MeinGrundeinkommen/konfipay


text:
支持jar本地化config

本地化配置支持jar包形式

合并到2.9.2分支

repo: Meituan-Dianping/Zebra


text:
mpvue可以接入graphql吗？

[问题简单描述]
问题复现步骤:

[第一步]
[第二步]
[其他步骤...]

期望的表现:
[在这里描述期望的表现]
观察到的表现:
[在这里描述观察到的表现]
屏幕截图和动态 GIF 图
![复现步骤的屏幕截图和动态 GIF 图](图片的 url)

请问mpvue可以接入graphql吗 怎么接入  可以用apollo和vue的那一套吗？

repo: Meituan-Dianping/mpvue


text:
No module named pywapi

I just installed Melissa-Core and tried to start it, but all I got was a backtrace:
Traceback (most recent call last):
  File "start.py", line 5, in <module>
    from melissa.profile_loader import load_profile
  File "/home/polesz/Projects/NotOwn/Melissa-Core/melissa/profile_loader.py", line 6, in <module>
    from profile_populator import profile_populator
  File "/home/polesz/Projects/NotOwn/Melissa-Core/melissa/profile_populator.py", line 6, in <module>
    import pywapi
ImportError: No module named pywapi

Installing the pywapi module is not that straightforward, as it doesn’t exist on PyPI. It is also deprecated(ish), as the last change in it was back in 2013.

Well, I agree that it is a good idea to replace Pywapi with some other python package. Any thoughts guys @gergelypolonkai @rachmadaniHaryono?

How about OpenWeatherMap?

not quite sure what is the qualification for replacing pywapi.

we can fork the pywapi, but it add technical debt
i have seen pyowm but it require api key, anything without it is better
from pypi the first result for weather is https://github.com/cmcginty/PyWeather from @cmcginty, but i haven't tested yet.

PyWeather is for reading data from a hardware weather station (eg. Davis Vantage pro II)

I agree that pywapi was a good solution and I really liked the search implementation that one of our contributors added. Even though it adds technical debt, I still feel that forking it "might" be a good idea. I don't want to add more modules that require APIs, if the work can be accomplished without it. @gergelypolonkai @rachmadaniHaryono

Well, its API is pretty good and doesn’t feel outdated. So yes, forking it might be a good option, but that means the one who forks it should also maintain it on PyPI and such (also, it should be added to requirements.txt

Anyone interested in picking this up before we get started with https://github.com/Melissa-AI/Melissa-Core/issues/165?

To be honest, I don't wanna maintain it on PyPI, the best solution that I can think of currently, is to include pywapi.py in melissa/utilities and make the respective changes in weather.py. Thoughts @gergelypolonkai @rachmadaniHaryono?

I agree, if:

if it's only one file
the maintenance cost is low (pywapi changes will be scarce)
no one actually plans to pick it up

If so, the best option may be to put it into the project.

Just took a deeper look, and I managed to install it with
pip install -e git+https://github.com/jtasker/python-weather-api@cf79f478c26dd244e0c90e10d6df91bb4ea8cd5e#egg=pywapi

It works both with Python2 and Python3. This line doesn’t look that good in a requirements file, but might be better than maintaining it.

I see @gergelypolonkai. Thanks a lot for the insights. Since it's just a single file, I feel that it shouldn't be a big deal to maintain. How does the installation for the current version work for you?
Final thoughts on https://github.com/Melissa-AI/Melissa-Core/pull/173 @rachmadaniHaryono?

after @gergelypolonkai give the github link, imo it is better to replace the pypi's pywapi with github link.
if anyone want to pickup the module, the change will not in our repo but @jtasker 's python-weather-api
also it is easier to replace the link on requirements file (rather than include the file and deal with the future of the module)

This line doesn’t look that good in a requirements file, but might be better than maintaining it.

it is normal if a module only have github link and haven't been uploaded to pypi, so it is not strange at all

Fair enough, @rachmadaniHaryono. Would you like to put in a PR for this?

ok in a moment.

authors: cmcginty gergelypolonkai rachmadaniHaryono tanay1337

repo: Melissa-AI/Melissa-Core


text:
input 组件 placeholder 导致后续 class 解析失败

复现方法：
在样式前写入 input 并带有 placeholder 属性。

期待结果：

现在结果：

现有解决方法：
移除 placeholder 属性，可解决这个问题。

这是我通过 uni-app cli 新建的项目，只引入了 unocss-preset-weapp 和 unocss 两个插件。
只需要设置 <input type="text" placeholder="What's your name?"> 就可以复现。

update 0.53.5

const elementRE = /<\w(?=.>)[\w:.$-]\s((?:['"].*?['"]|.?)?)>/gs

正则的匹配问题

Thanks ，了解了

authors: Ares-Chang MellowCo

repo: MellowCo/unocss-preset-weapp


text:
高DPI适配

非100%DPI下程序配置界面模糊

新版DarkMode2开发中，此仓库即将进入只读模式，关注Bilibili随时查看开发动态！功能建议请转到DarkMode2仓库issues中创建。

repo: Melon-Studio/DarkMode


text:
feat: implement setting to use offset limit pagination

Closes https://github.com/MeltanoLabs/tap-athena/issues/40

In my branch I let the user opt into pagination, set the batch size, and will throw an exception if a replication key isnt set if paginate is true.

I loaded up an Athena table with 100M rows to replicate the hanging issue, no records were synced after several minutes. With this branch I was able to sync about 600-900 records/second. Without the order by clause it was going much faster, closer to 1500 records/second but I think thats unsafe.

This works but it still scans the full dataset on each pagination batch so it allows the tap to function but still isnt efficient in its current state.

repo: MeltanoLabs/tap-athena


text:
Server issue on Windows Server 2019 Machine

I'm trying to host a Starfall server on my Windows Server 2019 machine. It starts, me and others can connect to it, however, when trying to start a fight with pirates or land on asteroids node the following happens:

Splash screen for battle/exploration pops up
Camera zooms in
Splash screen disappears (Battle/exploration does not start)

And after that I can control my ship again.
On a side note, the game won't start on my server (Pressing play/connect button shows game logo and than closes with no warnings)
P.S. I did install all necessary redistributables on my server.
P.P.S. On my Windows 10 PC everything works perfectly fine

This is not a Windows Server issue.
The problem is that on the original servers, battles were launched on a special build of the game, with disabled graphics. But the server build of the game is not available along with the development team itself, which is why I have to launch the client build of the game in server mode, but without disabled graphics.
Therefore, a video card with support for at least DirectX10 and Shader Model 4 is required to run the server. All relevant drivers must also be installed. Battles on the server are launched without disabled graphics, but the graphics are very limited, so a powerful video card is not required.

Thanks for the answer, I found the solution - I installed Intel graphics for integrated GPU.

authors: LiveGobe MenY-dev

repo: MenY-dev/StarfallAfterlife


text:
Xcode 7 Beta (for iOS9) - Errors when Importing Spring folder or Cocopods Into Project

Great framework. Following your designcode tutorial using Xcode 7 Beta for Prototyping screens. When I import the Spring framework via drag/drop or Cocoapods, I get many class errors. I've tried to correct some of them but many are not easily debuggable. Attached a screenshot of some.

Make sure to download the latest beta and the swift2 branch. https://github.com/mengto/spring/tree/swift2

Your the man! Works great :) Thanks for your help.

repo: MengTo/Spring


text:
Users can paste html on the voting page

Users are able to paste html, while they should only be able to paste plaintext.
This is fixable by setting contexteditable to plaintext-only, but that is currently not supported by Firefox.
Tracking issue for:

[x] https://github.com/Mephisto5558/Website-Assets/security/code-scanning/66

fixed in 16913c1


text:
Add files via upload

MerchentPay(Mpay)
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase format
[x] Image format: png
[x] Image size: 256 by 256 px

Logo optimization

repo: Merchent-Pay/tokens


text:
Redstone awareness

Make it so you can disable and enable goo machines via redstone signal; AT LEAST the gooifier and solidifier.

Fixed in next release! Needs docs tho

repo: MercuriusXeno/Goo


text:
support multiple GPKG files

we recommend have 1 GPKG file for each QGIS layer (due to better conflict resolution). But to have multiple GPKG with db-sync, we need for each GPKG separate PG schema and also separate sync process.

Could I synchronize several gpkg in a single scheme?

@u-cav yes indeed - for two GPKG files you need two different database schemas and therefore also two "connections" entries in db-sync configuration.

Could I synchronize several gpkg in a single scheme?

Could I synchronize several gpkg in a single scheme?

@holgerbermeo no, sorry, each gpkg needs to be in a separate schema. You could simply just merge tables from multiple geopackages to a single gpkg...

authors: PeterPetrik holgerbermeo wonder-sk

repo: MerginMaps/mergin-db-sync


text:
[Feature Request] Redstone signal

The Obelisk could emit a Redstone Signal upon reaching a certain amount of XP
This would be individual, for example: if I had 10 obelisks, I would define the quantity of each one individually!

Sorry for the late reply.
Can you give me some use cases where the redstone output would be an improvement?
I don't get it, why would you have 10 Obelisk's The only thing that comes into mind is each on a different mobfarm... but then you could just simply plonk it down insert an pick it up ( to store in enderchest for example).

I could as the server owner, I thought about creating dungeons and some things in my main city that used experience.
To create a balance at the citizen level.
But your Obelisk is really pretty, so instead of creating a plugin or mod, I thought if your mod had that, it would be more immersive within the game!
My server is a Mediaval RPG.
I wanted, for example, to release a specific area on the map using experience.
But it would be a larger amount of XP so that all players would have to contribute to one day unlock that area.
But if the Obelisks didn't have individual settings, this wouldn't be possible!

This area would be released through redstone, upon reaching the required XP.
I just thought about a situation like this too, that it would be nice if the Obelisk had an option to enable XP consumption over time.
For example, every second it would consume X number of XP, causing players to always have to donate XP to gain access to the area.

If you approve of any of the ideas mentioned here, let me know so I can edit the main POST so it's clear and safe for anyone wanting to ask a similar question!

authors: Meridanus faelBrunnoS


text:
Release 129.0.0

This is the release candidate for 129.0.0. It adds an export for const SUPPORTED_CHAIN_IDS.
https://github.com/MetaMask/core/pull/4079

Could this release maybe wait to include the following PRs you currently have open?

https://github.com/MetaMask/core/pull/3856
https://github.com/MetaMask/core/pull/4014
https://github.com/MetaMask/core/pull/4030

Could this release maybe wait to include some or all of the following PRs you currently have open?

fix: add tokenURI to compare nft data #3856
fix: update OPTIMISM_TESTNET to OPTIMISM_SEPOLIA #4014
feat: reservoir migration #4030

Hey @MajorLift !
I inititially thought that it would be a quick and easy release, i have one bug fix PR on extension that i wanted to get in.
It can definitely wait for the rest if you think it is better.
Just want to mention:

for this one : https://github.com/MetaMask/core/pull/4014 I thought there is no need to merge the PR anymore based on this msg  https://consensys.slack.com/archives/C02U025CVU4/p1709719744656749?thread_ts=1709640355.185499&cid=C02U025CVU4
for this one https://github.com/MetaMask/core/pull/3856 , this fix is no longer needed, i have created it because of an OS API issue that was fixed by OS.  But i can rebase and merge it 🙏

If this is urgent, we can definitely go ahead without waiting. Batching updates together is preferable, but keeping this PR open for too long and blocking other releases is also a concern.
I'll leave it up to you to merge this or wait to include #4030 based on your timeline.

authors: MajorLift sahar-fehri

repo: MetaMask/core


text:
feat: remove global network from signature controller

Explanation
Remove all global network usage from the signature controller to support multi-chain in the clients.
Specifically:

Remove getCurrentChainId constructor callback from SignatureController.
Determine chainId using networkClientId from request argument and NetworkController messenger action.
Persist chainId and networkClientId in state.

References
Fixes #3498
Changelog
@metamask/signature-controller

ADDED: Add chainId and networkClientId to SignatureRequest and LegacyMessage types.
CHANGED: Throw if no networkClientId provided or if chainId cannot be determined.
REMOVED: Remove getCurrentChainId callback from constructor options.

Checklist

[x] I've updated the test suite for new or updated code as appropriate
[x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[x] I've highlighted breaking changes using the "BREAKING" category above as appropriate
[x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes

@metamaskbot publish-preview

@metamaskbot publish-preview


text:
test for overlapping symbols

Added a test to ensure no symbols overlap. Ref: #451

@EtDu

repo: MetaMask/eth-contract-metadata

license: ISC


text:
Cache subprovider should ignore empty future block responses

From this metamask issue:

we perma cache getTransactionReceipt, I think previously there was no result for getTransactionReceipt before it was mined, but now there is and we are caching it before it has the block reference
https://github.com/MetaMask/provider-engine/blob/master/subproviders/cache.js

fixed here https://github.com/MetaMask/provider-engine/commit/a551bf9a40fedab14a09f66e07526dedf447929d
published in 10.0.1

authors: flyswatter kumavis

repo: MetaMask/provider-engine


text:
[Update Snap] ZetaLink

Checklist
All items in the list below needs to be satisfied.

[ ] Is the summary of the change documented in this ticket?
[ ] Has a MetaMask Snaps team member reviewed whether the changes need to be vetted?
[ ] If there are changes that need to be vetted, attach a description and the relevant fixes/remediations to this issue.
[ ] The corresponding pull request in this repo has been merged.

Summary of changes

Better technical structure
Enhanced user experience
Enhanced Error handling

Diff:

On hold

repo: MetaMask/snaps-registry


text:
Transaction unconfirmed

Please check, my transaction unconfirmed and crash

I don't know your transaction. The explorer is working.

https://blockchain.info/pt/search?search=fbb85f787fe68884d52b2e4bcfc515846ac6c87d8420ea4f9376ab9b18b8f344
I send btc and it takes too long to appear in blockchain...
during all day long

I can't do anything about it.

I send btc and it does not confirm
check pls
https://github.com/MetacoSA/QBitNinja/issues/29#issuecomment-331683220

The indexer works as expected and your transaction is confirmed. The indexer has no power to get your transaction confirmed once it is broadcasted.

Look at this topic, it's the same problem.
https://github.com/MetacoSA/QBitNinja/issues/29#issuecomment-331683220

2 transactions with crash
459f44e157b6e9f379c74156fb60ab375f8afc87cc605b5f2f354f55aadc3223
843f4c899b187800ce979ec36e55149f249ee0b88be455323a82187105188982

see https://github.com/MetacoSA/QBitNinja/issues/60

closing this... got lot's of problem but it is finally updated.

It should confirm fine now

authors: NicolasDorier jrmaciel

repo: MetacoSA/QBitNinja


text:
Created the azure side of project :fireworks:

added our own hub and storage details :+1:

Wrong branch sorry about that :D


text:
Caching of Spotify Authentication Token

This should be everything we have to do to cache the SpotifyAuthenticationToken. I used 59 minutes instead of one hour because the time starts "earlier" on their side. Otherwise it could happen that we think our token is still valid but then Spotify declines it because it is already invalid for them. Counting the request times in we should be safe with one minute backup time I guess.

 [Detector] Caching of Spotify's Auth-Token

Nope, the Integration Test annoyed the hell out of me for the last two days so now I created a trello card for that. It's approved 🤷♂ 😄

repo: MetalDetectorRocks/metal-detector-main


text:
core-01 and core-02 end up on different VirtualBox Host-only adapters

When I run "vagrant up" on my system, my two VMs end up on separate Host-only adapaters.  In other words, core-01 will be on adapter #2 while core-02 will be on adapter #3.  In order to proceed through the demo, I need to use the Oracle Virtual Box console to change the settings on one of the VMs (in other words, change core-02 so that it uses adapter #2).
Moreover, if I do a "vagrant destroy" adapters remain in the Virtual Box settings.  The means the next time I run "vagrant up", I get new adapters created (for example core-01 uses adapter #4 and core-02 uses adapter #5).
While this is relatively easily spotted and worked around (and I recognise this might be unique on my installation of Virtual Box ,version 4.3.20 r96997 for Windows), I think the documentation should at least include this as a potential issue in the troubleshooting section.

I'm on the fence about documenting this. It's a vagrant problem, and not one that's unique to calico. No other projects that I've seen that use vagrant document this issue and once we document this problem, it's very hard to ever get rid of it. I think I'd just prefer to close this issue and hope we never see it again. WDYT?

Is the problem unique to Ed (i.e. he was just very unlucky) or is there something about Ed's setup that might turn out to be common.  e.g. Particular version of Windows OS, or a particular hardware?

Well, we couldn't work it out at the time and I doubt we'll be able to now. I don't think it's worth us spending (more) time on it and I don't think we need an issue to track it.

It could, potentially, be a bad interaction between vagrant/virtualBox and Windows 8 and/or the SP3.  I suspect most/all of our other testers will be using Win 7.  Virtual Box (not Calico!) definitely did something "bad" with my networking as it actually caused my wireless drivers to crash the machine about 15 minutes after going to sleep (a problem which went away as soon as I uninstalled VB).
Personally, I'd be tempted to just enhance the line we already have in the vagrant README.  Let me propose something in a PR and you can decide then.

Merged the vagrant README fix so closing.

authors: ed-harrison lxpollitt tomdee

repo: Metaswitch/calico-docker


text:
[Change] Java 7 (Potentially down to Java 5) Support

Notes:

Uses RetroLambda to ensure the output is compatible with Java 7, with the ability to auto-convert, try-with-resources, method references, and lambda statements.

Note: Compiling with a JDK above 17 will cause RetroLambda to fail, this is an issue in their project, and would need to be forked to locate a suitable fix.

Adjusted ThreadLocal SB in Section to not use Suppliers, while also technically still retaining it's functionality.
Switched Supplier with Callable (The main differences is .call instead of .get, and that Callables have the ability to throw an exception (So that's why there are a bunch of throws Exception added to methods.

Use Case:

Disclosed in Discord DMs, private info relating to un-released product

Closed via DMs

repo: MeteorDevelopment/starscript


text:
Implement content formatting.

I think the HTML5 tags like kbd and code and so forth might be sufficient for some of the formatting I need to do, and of course em and b and i and so on never went away.  But structurally, I think the template system is still really good for taking a document and transforming it into attractive, legible output.  So I want to go ahead and revisit this before I get too much further into development elsewhere.

Do this before #11.

repo: MeteorMUD/MeteorMUD

license: unlicense


text:
What is the number of my bot?

I have a doubt about the number of the bot to which I should send the commands.
Can someone help me? Thanks

You must activate the bot at the number you want, after that use the number at which it was active.

I have a doubt about the number of the bot to which I should send the commands.
Can someone help me? Thanks

You must activate the bot at the number you want, after that use the number at which it was active.

I have a doubt about the number of the bot to which I should send the commands.
Can someone help me? Thanks

You must activate the bot at the number you want, after that use the number at which it was active.

This number must be from WhatsApp Business?

I have a doubt about the number of the bot to which I should send the commands.
Can someone help me? Thanks

You must activate the bot at the number you want, after that use the number at which it was active.

This number must be from WhatsApp Business?

Not necessarily, I used it on regular Whatsapp and everything worked out

repo: MhankBarBar/whatsapp-bot


text:
WeatherForecast

Since upgrading to 2.12, I’m unable to get the weather forecast to load more than one day.  I verified all the module parameters.

https://forum.magicmirror.builders/topic/13187/weatherforecast-showing-only-two-days/22?lang=fr&page=3

repo: MichMich/MagicMirror


text:
iCal results in wrong date

I am trying to find out where the problem lies.
The following iCal file gets loaded but the events are one day off.
I think it is a timezone problem.
Is the problem in the calendar module or the ical file?
The event Supportzeit gets parsed as "event started and is going to end in 1 day" it should say "event was one day ago".
The event Testtermin2 gets parsed as "9 hours remaining" it should say "event is going to be tomorrow at 11".
I wrote this on 3rd of May 21:38 Timezone +1 (Berlin)
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//www.admidio.org//Admidio4.2.5//DE
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:STANDARD
DTSTART:19701025T030000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19700329T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20230502T154941
LAST-MODIFIED:20230503T202824
UID:20230502T154941+2@mein.sielnet.de
SUMMARY:SielNet Supportzeit
DESCRIPTION:Internetsupport\n
DTSTAMP:20230503T203933
LOCATION:
DTSTART;TZID=Europe/Berlin:20230502T180000
DTEND;TZID=Europe/Berlin:20230502T200000
END:VEVENT
BEGIN:VEVENT
CREATED:20230503T203922
LAST-MODIFIED:
UID:20230503T203922+2@mein.sielnet.de
SUMMARY:Testtermin2
DESCRIPTION:
DTSTAMP:20230503T203933
LOCATION:
DTSTART;TZID=Europe/Berlin:20230503T110000
DTEND;TZID=Europe/Berlin:20230503T120000
END:VEVENT
END:VCALENDAR

I don't see that
attached is the log of the processing (see this is config.js)
	logLevel: ["INFO", "LOG", "WARN", "ERROR","DEBUG"], // Add "DEBUG" for even more logging

both with my system set to my timezone and the calendar event timezone
and a screenshot with belin timezone set
I had to change the start/end date on both as they were in the past
so, moved the day +2 in both start/end in both events

somefile.txt

I will debug it later.
here is a screenshot from "post timestamp"

@sdetweil is this something to be investigated or can we close this?

@sielnet

I disabled the displaying of past events to work around the error.

we don't display past events, ever.. w might display a repeating event scheduled to start in the past, but only its current and future instances..

I am seeing this problem as well. Full day calendar events appear on the wrong day. I have only tried using this public holiday calendar which only has full day events so I don't know if I have the same problem with shorter events. Here is a relevant snippet from https://www.google.com/calendar/ical/en.usa%23holiday@group.v.calendar.google.com/public/basic.ics
BEGIN:VEVENT
DTSTART;VALUE=DATE:20231123
DTEND;VALUE=DATE:20231124
DTSTAMP:20231117T230821Z
UID:20231123_6b64ndbva1c6ptufj345j4opno@google.com
CLASS:PUBLIC
CREATED:20231003T144050Z
DESCRIPTION:Public holiday
LAST-MODIFIED:20231003T144050Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Thanksgiving Day
TRANSP:TRANSPARENT
END:VEVENT

But it is being rendered as "Wednesday". Also notice that Christmas is being shows as Dec 24th.

Here is my calendar config:
{
  module: "calendar",
  header: "US Holidays",
  position: "top_left",
  config: {
    maximumEntries: 5,
    calendars: [{
      fetchInterval: 7 * 24 * 60 * 60 * 1000,
      symbol: "calendar-check",
      url: "https://www.google.com/calendar/ical/en.usa%23holiday@group.v.calendar.google.com/public/basic.ics",
    }]
  }
}

@scelfo what time zone is your system set to?

America/Denver

I used both your individual event and the full ics like and both produced the correct info .  both in my timezone (chicago) and yours.  (denver)

@scelfo can you do this
edit config.js and change thelogLevel like this
logLevel: ["INFO", "LOG", "WARN", "ERROR","DEBUG"],

then stop all other MM.s
pm2 stop all
or whatever
then , with the one event ics URL
cd ~/MagicMirror
npm start >somefile.txt 2>&1

wait til the UI is up
then ctrl-q
then examine the somefile.text
search for "parsed data={"
and post 20-50 lines.
the data would look like this
[18.11.2023 08:49.57.738] [DEBUG] Processing entry...
[18.11.2023 08:49.57.740] [DEBUG] Event:
{"type":"VEVENT","params":[],"start":"2023-11-23T06:00:00.000Z","datetype":"date","end":"2023-11-24T06:00:00.000Z","dtstamp":"2023-11-17T23:08:21.000Z","uid":"20231123_6b64ndbva1c6ptufj345j4opno@google.com","class":"PUBLIC","created":"2023-10-03T14:40:50.000Z","description":"Public holiday","lastmodified":"2023-10-03T14:40:50.000Z","sequence":"0","status":"CONFIRMED","summary":"Thanksgiving Day","transparency":"TRANSPARENT"}
[18.11.2023 08:49.57.740] [DEBUG] start: Thu Nov 23 2023 00:00:00 GMT-0600 (Central Standard Time)
[18.11.2023 08:49.57.741] [DEBUG] end:: Fri Nov 24 2023 00:00:00 GMT-0600 (Central Standard Time)
[18.11.2023 08:49.57.741] [DEBUG] duration: 86400000
[18.11.2023 08:49.57.741] [DEBUG] title: Thanksgiving Day
[18.11.2023 08:49.57.742] [DEBUG]  if no tz, guess based on now
[18.11.2023 08:49.57.757] [DEBUG] initial tz=America/Chicago
[18.11.2023 08:49.57.757] [DEBUG] corrected tz=America/Chicago
[18.11.2023 08:49.57.758] [DEBUG] start date/time=Thu Nov 23 2023 00:00:00 GMT-0600 (Central Standard Time)
[18.11.2023 08:49.57.760] [DEBUG] start offset=-360
[18.11.2023 08:49.57.760] [DEBUG] start date/time w tz =Thu Nov 23 2023 00:00:00 GMT-0600 (Central Standard Time)
[18.11.2023 08:49.57.760] [DEBUG] event date=Thu Nov 23 2023 00:00:00 GMT-0600 (Central Standard Time)
[18.11.2023 08:49.57.760] [DEBUG] event offset=-360 hour=0 event date=Thu Nov 23 2023 00:00:00 GMT-0600 (Central Standard Time)
[18.11.2023 08:49.57.760] [DEBUG] adjustHours=0
[18.11.2023 08:49.57.761] [DEBUG] Processing entry...

@sdetweil thanks for looking and the detailed instructions. I can do that.
I'm running MM via docker inside kubernetes (k3s) but I'll adapt your instructions and get what you're looking for. I'll reply back soon.

I bet the docker container system date is wrong. all the date calcs are done on the mm server side

8.11.2023 16:12.07.224] [DEBUG] Processing entry...
[18.11.2023 16:12.07.224] [DEBUG] Event:
{"type":"VEVENT","params":[],"start":"2023-11-23T00:00:00.000Z","datetype":"date","end":"2023-11-24T00:00:00.000Z","dtstamp":"2023-11-18T16:12:07.000Z","uid":"20231123_6b64ndbva1c6ptufj345j4opno@google.com","class":"PUBLIC","created":"2023-10-03T14:40:50.000Z","description":"Public holiday","lastmodified":"2023-10-03T14:40:50.000Z","sequence":"0","status":"CONFIRMED","summary":"Thanksgiving Day","transparency":"TRANSPARENT","method":"PUBLISH"}
[18.11.2023 16:12.07.224] [DEBUG] start: Thu Nov 23 2023 00:00:00 GMT+0000 (Coordinated Universal Time)
[18.11.2023 16:12.07.224] [DEBUG] end:: Fri Nov 24 2023 00:00:00 GMT+0000 (Coordinated Universal Time)
[18.11.2023 16:12.07.224] [DEBUG] duration: 86400000
[18.11.2023 16:12.07.224] [DEBUG] title: Thanksgiving Day
[18.11.2023 16:12.07.225] [DEBUG]  if no tz, guess based on now
[18.11.2023 16:12.07.272] [DEBUG] initial tz=Africa/Abidjan
[18.11.2023 16:12.07.272] [DEBUG] corrected tz=Africa/Abidjan
[18.11.2023 16:12.07.272] [DEBUG] start date/time=Thu Nov 23 2023 00:00:00 GMT+0000 (Coordinated Universal Time)
[18.11.2023 16:12.07.273] [DEBUG] start offset=0
[18.11.2023 16:12.07.274] [DEBUG] start date/time w tz =Thu Nov 23 2023 00:00:00 GMT+0000 (Coordinated Universal Time)
[18.11.2023 16:12.07.274] [DEBUG] event date=Thu Nov 23 2023 00:00:00 GMT+0000 (Coordinated Universal Time)
[18.11.2023 16:12.07.274] [DEBUG] event offset=0 hour=0 event date=Thu Nov 23 2023 00:00:00 GMT+0000 (Coordinated Universal Time)
[18.11.2023 16:12.07.274] [DEBUG] adjustHours=0

Definitely a timezone problem in docker. Do you know where npm gets the timezone configuration?
I am setting the correct /etc/localtime file for the docker container. Here's some examples of commands executed in the pod:
# k3s kubectl exec pod/magic-mirror-6f89d6cc7d-tfpw6 -- date
Sat Nov 18 09:16:18 MST 2023
# k3s kubectl exec pod/magic-mirror-6f89d6cc7d-tfpw6 -- tail -n 1 /etc/localtime
MST7MDT,M3.2.0,M11.1.0
# k3s kubectl exec pod/magic-mirror-6f89d6cc7d-tfpw6 -- cat /etc/timezone
Etc/UTC

So it looks like /etc/timezone isn't set up correctly, does npm use that? Or maybe it uses a TZ environment variable?

I do not know timezone in docker container

My question isn't about docker, it's about how npm gets the timezone. Either way, I know what the problem is and I'll track down a fix and if necessary propose a patch to magic mirror.

each container is its own little system which can have a separate time zone unrelated to what the system time zone is that docker is running on

I updated my kubernetes config to set the TZ environment variable inside docker to be "America/Denver" and now everything works.

awesome. can we close this now?

Reading back through this bug, my root cause seems to be different than the original discussion in the bug. I have no more concerns.

authors: khassel scelfo sdetweil sielnet


text:
Added showNextDayAfter, remove today from forecast after a certain time

fixes #1277
showNextDayAfter config key supports many format including hh:mm am/pm, HH:mm, HHmm. In all case minutes are optional

Please send your PR's to the develop branch and don't forget to add an updated CHANGELOG. Thanks!

authors: MichMich duprasf


text:
Added polish translation

PL translation added.

Thanks!


text:
A comment at the beginning of a resource ends-up outside of the body block instead of inside

Describe the bug
I believe there is an issue with the position of a comment node in the tree when the comment is right at the beginning of a block.
To Reproduce
Steps to reproduce the behavior:
resource "foo" "bar" {
  # comment
  baz = "qux"
  aaa = "www"
}

will produce the following tree
config_file
    └── body
        └── block
            └── identifier (resource)
            └── string_lit
                └── quoted_template_start (")
                └── template_literal (foo)
                └── quoted_template_end (")
            └── string_lit
                └── quoted_template_start (")
                └── template_literal (bar)
                └── quoted_template_end (")
            └── block_start ({)
            └── comment (# comment)
            └── body
                └── attribute
                    └── identifier (baz)
                    └── expression
                        └── literal_value
                            └── string_lit
                                └── quoted_template_start (")
                                └── template_literal (qux)
                                └── quoted_template_end (")
                └── attribute
                    └── identifier (aaa)
                    └── expression
                        └── literal_value
                            └── string_lit
                                └── quoted_template_start (")
                                └── template_literal (www)
                                └── quoted_template_end (")
            └── block_end (})

Notice the comment node being after the block_start node as it should, but before the body node, and it seems weird to me.
If we move the comment line later in the resource like this :
resource "foo" "bar" {
  baz = "qux"
  # comment
  aaa = "www"
}

the `comment` node ends-up at the same level as the siblings `attribute` inside the `body` node.
config_file
    └── body
        └── block
            └── identifier (resource)
            └── string_lit
                └── quoted_template_start (")
                └── template_literal (foo)
                └── quoted_template_end (")
            └── string_lit
                └── quoted_template_start (")
                └── template_literal (bar)
                └── quoted_template_end (")
            └── block_start ({)
            └── body
                └── attribute
                    └── identifier (baz)
                    └── expression
                        └── literal_value
                            └── string_lit
                                └── quoted_template_start (")
                                └── template_literal (qux)
                                └── quoted_template_end (")
                └── comment (# comment)
                └── attribute
                    └── identifier (aaa)
                    └── expression
                        └── literal_value
                            └── string_lit
                                └── quoted_template_start (")
                                └── template_literal (www)
                                └── quoted_template_end (")
            └── block_end (})

Unless am I mistaken ?
The two examples can be reproduced in the playground too.
Expected behavior
The comment node should be inside the body node, as are the attribute, and not right before.
Screenshots
n/a
Additional context
n/a
Thank you very much,

Hey @jeromepin
thanks for the report, its valid - i can reproduces it given your examples too.
I think the problem is that comments may appear anywhere in the language and the parser ignores them in rules. It might be tricky to try to control where comments end up being. I think the issue here is that we define blocks as
      block: $ => seq(
        $.identifier,
        repeat(choice($.string_lit, $.identifier)),
        $.block_start,
        optional($.body),
        $.block_end,
      ),

so body might be missing.
Is this causing issues for you? It might be problematic when writing some pattern that matches comments inside bodies.
nvim-treesitter matches them jsut as (comment) @comment.

I'm not sure that this can be fixed as long as we use put comment into extras.

Thank you for your fast answer @MichaHoffmann ! :)
My current use-case is about using comments for configuring a linter. I expect such comment to be effective on the next sibling. If I write the following block, I expect the linter to ignore its my-rule rule for the whole resource.
# ignore-rule:my-rule
resource "foo" "bar" {
  baz = "qux"
  aaa = "www"
}

while I expect it to ignore the rule only for the baz = "qux" line in this case :
resource "foo" "bar" {
  # ignore-rule:my-rule
  baz = "qux"
  aaa = "www"
}

With the issue at hand here, it would ignore the rule for the whole body node, which is counter-intuitive.
Anyway, if you think there is no fix for this, I'll try to find a solution on my end with some kind of hack 🤷♂

I mean there could be a fix, i just cannot easily see it right now. I mean one could define a grammar that just takes this grammar, wraps all rules in a sequence(optional($.directive), $.original_rule) to make directives part of the language or something like that.

Honestly I don't have any idea of what you are talking about, I know next to nothing about grammars and parsing.
If you can do it (and are willing to) then I'll be happy. Otherwise I think I will put this aside and dive into it one day(tm) when I'll have the time (so probably never tbh)

I'm playing with it right now to get a feeling, ill come back to you in a bit.

The awesome tree-sitter community stepped in and helped out :tada:

Honestly I don't know. I don't know enough about the HCL grammars and its specificities to have an opinion. I feel like even if the body is empty, it is still an empty body (and not a non-existing body) 🤷 But it's your project, you do what you feel is best 🙂

Hey @MichaHoffmann 👋 I'm wondering if you made a decision regarding this issue and the fix you thought about ? To know what I'm gonna do on my end 🙂

Hey, i had only very little time to work on this. Sorry, no progress yet! Is this causing you active trouble?

No no it's ok take your time :) I'm already glad you are providing this project, I don't want to put any pressure on you. I was simply curious :)

Hey, i had a random idea; we could create a dialect where #ignore-rule:... is a construct of the language. That way we could control where that kind of directive is produced; its a bit like semgrep does it; see i.e. https://github.com/returntocorp/ocaml-tree-sitter-semgrep/blob/main/lang/semgrep-grammars/src/semgrep-promql/grammar.js where the base grammar is extended with special tokens; that would also give more convenience when consuming the parser. wdyt?

I honestly have no idea 😅
If I understand what you said correctly, it would mean adding some kind of "business logic" (i'm sorry, I'm lacking a better word here) into your grammar ? I'm not sure if I am making myself clear here. It would mean having some code written specifically for my case in a library usable by everyone ? What will you do when the next user come with a request similar to mine ? Implement the same kind of thing for him ?

Nah; i would create a dialect that inherits from the base grammar and adds that directive as a token

Oh ok I see. It means we would need to define right here and now what would be the token ? Like #ignore-rule, or #foobar: ignore-rule or whatever, no ?
Sorry, lots of questions here, I don't have all the design of my software figured out yet and usage will shape its future

I mean this new dialect can evolve while you experiment ( feedback cycle just gets a bit longer ) but since only you are using it it can be changed to whatever suits you

I feel uneasy, I feel like I'm am compelling you to do something out of the scope of this project.
To reduce the burden on you after you did the first implementation, maybe I should host it ? Idk

no worries; i can show how its done in a dialect ( that i can remove once you know how its done and have your own repository ); it seems like the best solution to me.

Alright then, if it's suits you, it suits me ! Thank you for taking all this time 👍

ill play with it over the weekend!

Hey, sorry it seems that the comment rule doesnt allow for anything but comments so i cannot selectively say #ignore-rule is a an actual token. Ill also have to revert the shim solution we had before since it leads to parse errors in top level json objects that i cannot figure out. Sorry i think i cannot figure this one out!

Oh no ! I'm very sad to hear that ! 😢
Thank you for investing so much of your time in this (even more when the outcome isn't what we expected), I'm very grateful !

yeah, really sorry man!

It's ok, don't beat yourself up. This is how the game is played, sometimes we win, sometimes we lose.

authors: MichaHoffmann jeromepin

repo: MichaHoffmann/tree-sitter-hcl


text:
Ag-Grid 31 Support

Is there any news on having ag-grid v31 support?

AG Grid v31.3 has been released as a minor version update, including the following additional improvements

authors: ddaeyongee mlawlerau

repo: MichaelKim/ag-grid-svelte


text:
syntax for keys

Can You please provide documentation and/or examples for the correct syntax for typical keys, including SumIndexFields and other options. Many thanks!

Here is an example
table 71000018 MyTable
{
    fields
    {
        field(1;Id;Code[10]) {}
        field(2;Amount;Decimal) {}
        field(3;"Amount (LCY)";Decimal) {}
    }
    Keys
    {
        Key(1;KeyName;Id,Amount){
            Clustered = true;
            SumIndexFields = Amount, "Amount (LCY)";
        }
    }
}

Thanks for helping!

Please help me.
I'm a new developer for Extension 2.0.
Example: 1. Add more file Offset Type into Table 17 G/L Entry. -> It is OK.
2. I need add more key:
keys
{
key(Key9;"Transaction No.","Document No.","Offset Type")
{
}
}
But It isn't OK.
So how to do it. OR this isn't supported.
From the help link. "You can add table keys, but you cannot delete or modify existing keys".

authors: RafaelKoch esbenk hgnamvn

repo: Microsoft/AL


text:
Invalid object name 'Demo Database NAV (10-0).dbo.CRONUS International Ltd_$Customer$c9d0dea6-9539-447a-bf25-fd4c7b1ae6d1'

Hi,
I'm having problems installing the sample for shoesize, it builds ok but crashes on install.
The other samples that don't extend tables or introduce new tables install/publish ok.
[2017-08-04 08:58:15.55] Publishing package to http://localhost:7049/Navision_main/dev/apps
[2017-08-04 08:58:17.55] Error: The request failed with code 500, reason: An error has occurred.
Here's the error when I manually try to install

Here's the event viewer
Server instance: NAV
Category: Runtime
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: 00000000-0000-0000-0000-000000000000
ServerSessionUniqueId: 0635a8da-36a0-4023-825d-eef62b73e5de
ServerActivityId: 842d12b9-5d24-4d3b-8794-34e2ba4a26a3
EventTime: 08/04/2017 09:00:31
Message (NavSqlException): The following SQL error was unexpected:
Invalid object name 'Demo Database NAV (10-0).dbo.CRONUS International Ltd_$Customer$c9d0dea6-9539-447a-bf25-fd4c7b1ae6d1'.
ExceptionStackTrace:
at Microsoft.Dynamics.Nav.Runtime.NavApplicationMethod.InvokeMethod(ITreeObject obj, String methodName, Object[] args, Boolean resolveHandler, Boolean throwOnNotFound)
at Microsoft.Dynamics.Nav.Runtime.NavForm.RaiseOnAction(String actionName, String actionTriggerMethodName)
at Microsoft.Dynamics.Nav.Service.NSField.ActionField(NavSession con)
at Microsoft.Dynamics.Nav.Service.NSField.Action(NavSession session)
at SyncInvokeActionField(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.RunInTransactionCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TransientErrorRetryCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
CallerStackTrace:
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PushPopCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass9_0.b__0()
at Microsoft.Dynamics.Nav.Runtime.NavPerformanceCounterSetter.UpdatePerformanceCountersWithAverageServiceOperationDuration(Stopwatch stopWatch, Action action)
at Microsoft.Dynamics.Nav.Runtime.NavPerformanceCounterSetter.UpdatePerformanceCountersWithAverageServiceOperationAction(Action action, NavSession session)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PerformanceCounterCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TlsClearCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.MessageRpc.Wrapper.Resume(Boolean& alreadyResumedNoLock)
at System.ServiceModel.Dispatcher.ThreadBehavior.ResumeProcessing(IResumeMessageRpc resume)
at Microsoft.Dynamics.Nav.Runtime.NavSynchronizationContext.<>c__DisplayClass1_0.b__0(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()

ProcessId: 5896
Tag: 00000HC
ThreadId: 9
CounterInformation:
Also experienced SQL table errors when introducing a new table. In this case it published ok but then wouldn't run and the client crashed when the page is opened with the following message. It seems like the new table isn't being properly added to the object table, for example I can see it in the config worksheet list of tables but cannot select it, get an error 70000010 doesn't exist in object table
Server instance: Navision_main
Category: Operations
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: 00000000-0000-0000-0000-000000000000
ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
ServerActivityId: 00000000-0000-0000-0000-000000000000
EventTime: 08/04/2017 07:29:53
Message (NavSqlException): The following SQL error was unexpected:
Invalid object name 'Demo Database NAV (10-0).dbo.CRONUS International Ltd_$Customer Billing'.
Statement(s) could not be prepared.
ExceptionStackTrace:
at Microsoft.Dynamics.Nav.Runtime.NavSqlConnection.ThrowNavSqlException(SqlExceptionAdapter exceptionAdapter, String commandText, Boolean isLastExceptionARollbackCause, Boolean logExceptions)
at Microsoft.Dynamics.Nav.Runtime.NavSqlConnection.<>c__DisplayClass106_01.<ExecuteFunction>b__0()    at Microsoft.Dynamics.Nav.Types.NavThread.RunExternalAction[T](Func1 action)
at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendTraceTagOnThreshold[T](String tag, Category category, Verbosity verbosity, Int32 threshold, Func1 action, String message, Object[] parameters) CallerStackTrace:    at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendTraceTagOnThreshold[T](String tag, Category category, Verbosity verbosity, Int32 threshold, Func1 action, String message, Object[] parameters)
at Microsoft.Dynamics.Nav.Runtime.NavSqlConnection.ExecuteFunctionWithTrace[T](EventTask task, Func1 function, String commandText)    at Microsoft.Dynamics.Nav.Runtime.NavSqlCommand.ExecuteReader()    at Microsoft.Dynamics.Nav.Runtime.NavSqlIsamQueryCommand.ExecuteFindEqualCommand(FilterExpression filter)    at Microsoft.Dynamics.Nav.Runtime.NavSqlConnection.ExecuteCommandAndCacheOnSuccess[T](NavSqlCommandCacheKey commandKey, Func1 newCommandFunc, Func`2 executeFunc)
at Microsoft.Dynamics.Nav.Runtime.NavSqlIsamQueryCommand.FindEqual(NavDatabase database, RecordIdProviderRequest request)
at Microsoft.Dynamics.Nav.Runtime.SqlTableDataProvider.TryGetByPrimaryKey(RecordIdProviderRequest request, ReadOnlyRecordBuffer& recordBuffer)
at Microsoft.Dynamics.Nav.Runtime.DataAccess.InternalTryGetByPrimaryKey(RecordIdCacheRequest request, MutableRecordBuffer& recordBuffer)
at Microsoft.Dynamics.Nav.Runtime.RecordImplementation.FindRecordWithoutCheckingValues(DataError errorLevel, NavValue[] primaryKeyValues, FiltersAndMarks filtersAndMarks, Boolean useRecord, Boolean cacheOnly, Boolean calcAutoCalcFields)
at Microsoft.Dynamics.Nav.Runtime.RecordImplementation.GetRecord(DataError errorLevel, NavRecordId recordId, Boolean copyRecord, Boolean useFilters, Boolean calcAutoCalcFields)
at Microsoft.Dynamics.Nav.Runtime.NavRecord.Get(DataError errorLevel, NavRecordId recordId, Boolean copyRecord, Boolean useFilters, Boolean calcAutoCalcFields)
at Microsoft.Dynamics.Nav.Service.NsDataAccess.get_RecordState()
at Microsoft.Dynamics.Nav.Service.NsFormDataAccess.get_RecordState()
at Microsoft.Dynamics.Nav.Service.NSDataSetState.UpdateFromRecord(NavRecordState state, NsDataAccess recDataAccess, Boolean includeDynamicCaptions)
at Microsoft.Dynamics.Nav.Service.NSDataSetState.Create(NsDataAccess recDataAccess, Boolean includeDynamicCaptions, Boolean includeChanges)
at Microsoft.Dynamics.Nav.Service.NSFormBatchOpen.HandleRegistrateDataAccess(FormOpenResponse openResponse)
at Microsoft.Dynamics.Nav.Service.NSFormBatchOpen.Open(NavSession session)
at Microsoft.Dynamics.Nav.Service.NSService.OpenForm(OpenFormRequest form)
at SyncInvokeOpenForm(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.RunInTransactionCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TransientErrorRetryCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PushPopCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass9_0.b__0()
at Microsoft.Dynamics.Nav.Runtime.NavPerformanceCounterSetter.UpdatePerformanceCountersWithAverageServiceOperationDuration(Stopwatch stopWatch, Action action)
at Microsoft.Dynamics.Nav.Runtime.NavPerformanceCounterSetter.UpdatePerformanceCountersWithAverageServiceOperationAction(Action action, NavSession session)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PerformanceCounterCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TlsClearCombinator(ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass23_0.b__1(NSServiceBase serviceInstance, Object[] inputs, Object[]& outputs)
at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.MessageRpc.Wrapper.Resume(Boolean& alreadyResumedNoLock)
at System.ServiceModel.Dispatcher.ThreadBehavior.ResumeProcessing(IResumeMessageRpc resume)
at Microsoft.Dynamics.Nav.Runtime.NavSynchronizationContext.<>c__DisplayClass1_0.b__0(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()

ProcessId: 11020
Tag: 000007U
ThreadId: 8
CounterInformation:

If the publish from VsCode fails, it will also fail when trying to install from the UI. The extension management UI is currently not working for the new extensions.
It is hard to say what the problem is from the second event. Can you repro this on a new VM? Maybe with a small code sample?

Ok will try run up another VM, maybe something went screwy in SQL, thanks

authors: EamonnOC esbenk


text:
Move over remaining Blob actions over to Job Handler pattern for better Errors/Error Details

Expected Experience:
Clear Error messages.
Actual Experience:
Often cryptic or minimally detailed messages in Activity log.

The following would be useful to have in the error logs:

Time stamp.
Server Request ID.
HTTP Status code returned from the Azure storage service.
Any error message returned from the Azure storage service.

authors: JakeRadMSFT beroder

repo: Microsoft/AzureStorageExplorer


text:
Display blob metadata in object list

We make use of metadata properties in our blob containers, and it would be very helpful to be able to select one or more properties to display as custom columns when viewing a blob container.
Steps to Reproduce:
Navigate to a blob container, note that only "standard" properties like Name, Size, or Last Modified are visible in the list view, and no customization options are available.
Desired Experience:
Right-click header row to show/hide standard columns, and add columns for custom metadata properties.

Hi @superstator , although we like this idea, due to API limitations, doing this would have huge performance impacts. We'd need to call get blob properties on every blob before being able to display them in the table. We're going to go ahead and close this issue for now, but if anything with the API changes we can look back into it. Thanks for the good suggestion!

authors: MRayermannMSFT superstator


text:
Bugcheck in LXCORE, possibly UDP related

I hit a bugcheck today on 14393.187 which I unfortunately can't reproduce, but I do have a minidump I can send if it's helpful.
The only WSL things running at the time (aside from init/bash) were ssh-agent, tmux, and mosh-client (a UDP-based remote terminal app somewhat like ssh). The stack trace looks network-related AFAICT. I was in the process of disconnecting from a remote server when the bugcheck occurred.
Let me know if you'd like the steps I used to build mosh (I was running a branch with a workaround for WSL). I should mention that this is the first bugcheck I've encountered, despite using mosh regularly over the last few days.
Feel free to close this if there's just not enough to go on....
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except.
Typically the address is just plain bad or it is pointing at freed memory.
Arguments:
Arg1: ffffdd01c06a503e, memory referenced.
Arg2: 0000000000000002, value 0 = read operation, 1 = write operation.
Arg3: fffff80537b972cc, If non-zero, the instruction address which referenced the bad memory
	address.
Arg4: 0000000000000000, (reserved)

TRAP_FRAME:  ffffa8014fb0d880 -- (.trap 0xffffa8014fb0d880)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=c5de24f53eb9d2cd rbx=0000000000000000 rcx=ffffdd01c06a503e
rdx=ffffde7f098db36a rsi=0000000000000000 rdi=0000000000000000
rip=fffff80537b972cc rsp=ffffa8014fb0da18 rbp=0000000000000046
 r8=0000000000000046  r9=0000000000000007 r10=0000000000000046
r11=ffffdd01c06a5000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na pe nc
LXCORE!memcpy+0x1cc:
fffff805`37b972cc 488901          mov     qword ptr [rcx],rax ds:ffffdd01`c06a503e=????????????????

nt!KeBugCheckEx
nt! ?? ::FNODOBFM::`string'+0x2605d
nt!MmAccessFault+0x9ca
nt!KiPageFault+0x13c
LXCORE!memcpy+0x1cc
LXCORE!LxpUtilCopyWithVectoredBuffer+0xb7
LXCORE!LxpRingBufferWriteVector+0x4d
LXCORE!LxpRingBufferWrite+0x35
LXCORE!LxpSocketInetDatagramReceiveFromWorkerRoutine+0x1d7
nt!ExpWorkerThread+0xe9
nt!PspSystemThreadStartup+0x41
nt!KiStartSystemThread+0x16

@gurnec Thanks for reporting this. We believed that we fixed this issue in the 14393 build (see #355), but it still seems to be present? We would like to take a look at the minidump. Can you email InsiderSupport@microsoft.com with the minidump attached and put in the subject that it is for sunilmut? In the subject of the mail, you can link it to this GitHub post.

Minidump sent. I'll post back here if I get any future similar bugchecks, or if I can find a way to consistently reproduce this.

@gurnec - Thanks! Just FYI that you also have the option to move to the Windows Insider fast program if that is feasible for your setup, where new updates to WSL are being pushed. Do review the program details prior to making that move though.

@gurnec - Just an update that we were able to root cause this and the issue has been fixed. Marking the issue closed and thanks much for the report.

@sunilmut Glad to hear it. It never did reoccur to me--I'm sure its intermittent nature did not make it any easier to track down! Thanks.

authors: gurnec sunilmut

repo: Microsoft/BashOnWindows


text:
Graphical glitches with spacemacs

Please use the following bug reporting template to help produce actionable and reproducible issues. Please try to ensure that the reproduction is minimal so that the team can go through more bugs!
This issue arises from both the stable emacs24 version, as well as emacs25. I can't test emacs-snapshot (emacs26?) as, it will start with a blank window and throw me some libgl errors. Building emacs from source does not work, just a was described in #236.
Currently using Ubuntu 16.04 with VcXsrv.

A brief description

spacemacs shows graphical glitches when using auto-complete or the lint features.

Actual results (with terminal output if applicable)

This GIF demonstrates the problem. The window looks as it should until I hover over the unused import statement, which triggers that small tooltip to show up. After that I get graphical glitches all over.

Your Windows build number
14965.1001

Looks like it is some issue with the Gtk version of emacs. Installing emacs24-lucid with apt install emacs24-lucid and choosing that as a default with update-alternatives --config emacs actually gets rid of this display error.

Might be worth adding a github label "linux-behavior", which fits the bill for a countable segment of issues posted. If it can't be "fixed" in WSL then it isn't an open WSL issue. If there's a workaround for WSL that might not be necessary in the future, it's a WSL bug or a feature, depending on one's disposition.

@therealkenc Label created and added.

authors: mimischi sunilmut therealkenc


text:
Bugcheck on VfsLookupDirectoryEntryInode TRK:0441000864

On March 21, 2017 I sent a report about a bugcheck to secure@microsoft.com. It had complete instructions on how to reproduce and the WinDbg !analyze -v output.
The report was assigned the number TRK:0441000864, but I have not received any other status update. Not receiving status updates is a disincentive to report such issues.

@billziss-gh - I apologize for the delay. I actually just received a notification from the security folks yesterday about this issue.  They say there was a "CRM issue" and your email got lost when it was forwarded to the feature team.  @JasonLinMS took a look at your dump yesterday and verified that it was fixed in Creators Update.
Thanks for sending the dump, and I apologize for the inconvenience.

@benhillis thanks for the quick update. It is much appreciated.

authors: benhillis billziss-gh


text:
When I type "sudo compiz" the final warning/error message is...

WARN 2017-07-04 09:07:31 unity :0 Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
I am using VCXSrv on Windows 10 Home on a Dell Inspiron 1545. Yes, I do know that product is not tested for Windows 10 upgrade.

@Verld - You look like to have posted https://superuser.com/questions/1225588/when-i-run-sudo-compiz-on-windows-subsystem-for-linux also :)
I searched and found #637 and https://www.bountysource.com/issues/35877338-run-any-desktop-environment-in-wsl seems similar to this issue.

@Verld - Thank for posting. Could you please fill out our issue template so we have enough information to debug this?

so we have enough information to debug this

It's just dbus not running. [dbus has been working more-or-less since #376]

It looks like something has in fact changed recently, for some value of 'recent' in xenial-update temporal units. Auto-launch of the dbus session daemon appears broken in some scenarios. I haven't tried compiz (because running compiz makes me sad), but this is showing up when running another large popular out of scope body of software. [Previous to some random apt upgrade dbus was being auto-launched.]
Anyway, I am fairly certain the problem with dbus auto-launch is not with WSL (the kernel layer). So Sunil is probably safe for now. The problem, at base, is that the dbus session isn't supposed to be auto-launched in the first place; in Real Linux you've got a Real Desktop Session that was started via systemd, lightdm and friends. This warning would show up in Real Linux under the same circumstances.
But if you want to have your dbus ducks in a row on WSL, the following should work.
# you are going to need a DISPLAY
export DISPLAY=localhost:0
# you don't have an accessibility bridge
export NO_AT_BRIDGE=1
# launch a text dbus session
exec dbus-run-session -- bash
# you probably want a system dbus too
sudo service dbus start
# finally, launch a program that thinks it should be living in a desktop session
...

I haven't seen the dbus auto-launch problem in a while. Per previous post there's no indication of a syscall behaviour gap related to dbus; and no repro was given. Since this is compiz related, the best hang-out for continued discussion would be #637.

I think I stumbled onto something.  I have to use gnomesu or something instead of sudo.

authors: Verld benhillis sunjoong therealkenc