Route params in ssr

Forgive me for opening a new problem, but I did not understand how it is possible to get on the server in the lower levels of components where I will call ServerPrefetch () and receive data in Vieks and transfer data from the router there.
Example:
<script>
import { mapState, mapActions } from 'vuex'

export default {
  name: 'SearchBar',
  serverPrefetch() {
    return this.getSearch()
  },
  mounted() {
    if(!this.searchLocation && !this.searchCategory)
        this.getSearch()
  },
  computed: {
    ...mapState('application', ['viewPort', 'categories']),
    ...mapState('search', ['searchCategory', 'searchLocation', 'searchLoading'])
  },
  methods: {
    ...mapActions('search', ['setSearch']),
    getSearch() {
      if(this.$route && this.$route.params && (!this.searchCategory || !this.searchLocation))
        return this.setSearch({
          location: this.$route.params.location ? this.$route.params.location : null,
          category: this.$route.params.category ? this.$route.params.category : null
        })
      else return null
    },
    toSearch() {
      window.location.href = `/search/${
        this.searchLocation && this.searchLocation.nameEnLowercase
          ? this.searchLocation.nameEnLowercase : 'all_cities'
      }/${
        this.searchCategory && this.searchCategory.translit
          ? this.searchCategory.translit : 'all_categories'
      }`
    }
  }
}
</script>

I see route params in *.page.server.js contextProps.url but how I can recive  this parameters in components in serverPrefetch()

https://prnt.sc/115zmpi I'm trying to do something like this, get meta data from the server to my client server and display it in html for search engines, I almost succeeded, but this.$route is a vue router object, and I need a server-side route object

You can access routing params from page.route.js files in contextProps but these are not part of any vue router - they're just params parsed from pathToRegexp.

BTW I have full guidance for vue router integration in progress. This will become far more straightforward once I've finished

@gryphonmyers Please can give me example component with contextProps

@gryphonmyers This is great, I hope it will be possible to use it soon, do you have any problems with the scoped styles and the vue router at the same time? Or are you using something else instead of scoped?

For v2, you can add some of your contextProps/pageProps to all components by using Vue.prototype as described in https://vuejs.org/v2/cookbook/adding-instance-properties.html#Base-Example. For v3 use app.config.globalProperties instead: https://v3.vuejs.org/guide/migration/global-api.html#vue-prototype-replaced-by-config-globalproperties.
Does that solve your problem?

Thank you very much for guiding me to solve the problem, I was more approached by the method with provide and injection, those solutions that you proposed are also workers! Thanks a lot again.

Thanks for sharing; I added your solution to the docs.
Let me know if you have any other question!


ISSUE-90 Swift 5 support

Adds Swift 5 support as per #90 request.

Coverage remained the same at 0.0% when pulling 80bb53f7def0975404af11d685ae1793c49e9b04 on issue-90-swift-5-support into ad26d1e0173f666e2d4e1514606912a82eb01798 on master.


Replace "bug report" issue template with issue forms.

Progress on https://github.com/google/iree/issues/7890. See GitHub's docs on creating issue forms.
Try this out here: https://github.com/ScottTodd/iree/issues/new/choose. Here's an example issue: https://github.com/ScottTodd/iree/issues/6 (note the "No response", how the multiple choice selection uses commas, and how the sections are set up. Definitely open to trying more ways to make both the form and the final submitted issues more useful.
It would also be nice to link to a page dedicated to getting useful error reports, maybe with a flow chart or something to help direct users coming in from TOSA/MHLO/etc.

Let's remove "ask for help with something" from the description - it'd be really nice to not have people asking questions in issues. A communications channel link is fine, but making it simple for people to find their way into the right place would be nice by directly linking to the discussions.

Good point. I was mostly trying to pad this out with more text:

I'll think on that some and make some tweaks tomorrow.

Maybe an easy solution is make "user report" more specific - "Bug Report" implies there's a bug vs. a feature request or help with using something/etc. We can't do much if someone sees "Bug Report" or "Feature Request" templates and asks a question about something random, but at least we'd have tried :P

Maybe an easy solution is make "user report" more specific - "Bug Report" implies there's a bug vs. a feature request or help with using something/etc. We can't do much if someone sees "Bug Report" or "Feature Request" templates and asks a question about something random, but at least we'd have tried :P

So looking through recent issues filed by users (i.e. not core project developers), I think most of our issues are "bug reports" (missing lowering paths, correctness issues, build failures). We have a few that are "discussions" (asking about a lowering path or backend/deployment configuration), and a few that are "feature requests" (add test coverage, support a new platform).
I could split this "user report" form back into a "bug report" form and a "feature request" form and specialize a bit

bug report would include repro steps and tips about what to include
feature request could reference communication channels like the mailing list and MLIR Discourse forum more directly

PTAL - added a config with links to other communication channels and split the user report form into a bug report form and a feature request form. Also added emojis :)

whoa this is amazing - I had no idea you could add the link callouts!


Serialize sealed classes

Solves https://github.com/GitLiveApp/firebase-kotlin-sdk/issues/190 and https://github.com/GitLiveApp/firebase-kotlin-sdk/issues/61
I haven't unit tested it because it's saying to me that "Tests events were not received". If you have any idea on how to fix this, I could certainly add the testing.

Hey @iruizmar this look good!
Lets get the tests working for you so you can add coverage for your changes, how are you trying to run the tests exactly?

Hey @nbransby ! 👋🏻  Thanks for the quick response.
I'm just trying to run them through Android Studio by clicking on Play on the test suite class:

I tried running the allTest task on the firebase-common module too and no test were run either:

Same experience there :(. Are you doing the same or are you running them any other way?

I think I got them running now by using the firebase-common:check task instead.
Let me work on the test and come back to you.
Thanks!

Hey @nbransby! 👋🏻
I added the testing.
As you can see on the tests, the serialization is adding a type and value parameters. I'm sure the type parameter is expected to discretise which child class you're serializing, but I'm not sure about the value one. You can see related doc here.
I would expect the resultant map to be:
{ "type" : "child", "map" : { "key": "value" }, "bool" : true }

and not
{ "type" : "child", "value" : { "map" : { "key": "value" }, "bool" : true } }

WDYT? It's not a problem when you're encoding and decoding here because it's decoding the same way, though.
Please, let me know if there's something else to be done.

Maybe the docs have been simplified for reading as if it did add type at the same level then it could clash with a property called type if the class had such. But best way to verify that would be to see what the json serializer produces in a kotlin playground for the examples given in the docs

I tested the Json.encodeToString(childObject) output and it's the expected
{"type":"child","map":{"key":"value"},"bool":true}

Without the value outer object.
Do you know:

If it is a problem for us that this value property exists?
What could be inserting it?

Yes I believe it will be a problem as perhaps only the properties under value is what gets persisted to firestore/rtdb etc
best way to check would be to write another test which actually writes and reads a document to/from firestore

That I tested on my app directly because it is actually the use case I have. And the answer is yes, it's working but it is including the value thing. I can see this on the firestore inspector:

Hey @nbransby
Trying to encode with json with a type property throws IllegalStateException.
But there's a workaround to change the type property being the discriminator: https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/json.md#class-discriminator-for-polymorphism
Could you point me towards where that value property is added? I tried to debug it but I haven't been lucky.

So we probably need to support a classDiscriminator parameter just like we support shouldEncodeElementDefault.
As for where the value property is added I don't believe that's explicitly done in our code and is likely just a quirk of our (mis?)use of the serialization APIs.
I had a look at the code myself but it's been quite a while since I worked on it so afraid there's not much more I can give in the way of pointers

Hey!
So this will require a bit more of work than I expected 😓 .
Do you reckon it's wise to include the classDiscriminator in the encode function even if it would only make sense when serialising polymorphic classes?
I'll try to investigate the origin of the value thing and let you know.

Do you reckon it's wise to include the classDiscriminator in the encode function even if it would only make sense when serialising polymorphic classes?

yes can make it optional just like shouldEncodeElementDefault you will also need it in decode.

Hey man @nbransby
Could you, please, guide me on how are you running the tests on the project?
When running gradle firebase-common:check task, only Js and iOS tests are being run and not Android. It's quite cumbersome because I can't debug non-Android executions.

Can plus use the play buttons in the gutter for the tests you want to run but you need to make sure you have the emulator setup correctly for it to succeed, you can check the GitHub pull request action in .GitHub to see the setup required

This is what I see when clicking on the play icon for tests:

Trying to run any of the android ones leads to "Test events were not received". This happens both on Android Studio and Intellij. I have the emulator running with those specs.

Its because they are not unit tests but connected device tests that run on the emulator you can run the task connectedDebugAndroidTest or read up on them to find out to run and debug individual tests from the ide

Hey @nbransby 👋🏻
I think I achieved the expected functionality. I had to modify some of the encoding/decoding logic. I took inspiration on how it's done on kotlinx.serialization.json.
Let me know if you see something else.

What about support for classDiscriminator ?

Also need to add the details about the FIrebaseClassDiscriminator annotation to the readme 👍

I'm OK with adding the classDiscriminator as a parameter if you feel it's needed. But what kotlinx.serialization is doing is having a global configuration for all serializations, not providing them in the encodeX function.
Right now, the serialization of firebase-kotlin-sdk is not configurable globally, and the only way would be to pass it to the encode and decode functions.
Is that what you're looking for?

@nbransby Any news on this one? Does the docs look good enough for you?

I took inspiration on how it's done on kotlinx.serialization.json.

@iruizmar could you add comments with links to the code that inspired you? that would help me and others understand the code in the future

@nbransby Done! It's basically the whole Polymorphic.kt file

Thanks @iruizmar, good stuff!


Changing scale type on existing figure

I'm building a multipurpose dashboard that should be able to graph a wide variety of data with different settings. One of the requirements is being able to graph against milliseconds while another is to graph against datetimes. I currently have code similar to the following:
x_sc = DateScale()
y_sc = LinearScale()

ax_x = Axis(label='time', scale=x_sc, grid_lines='solid', tick_format='%m/%d/%y', tick_rotate=90)
ax_y = Axis(label='y_val', scale=y_sc, orientation='vertical', tick_format='0.2f')
pz = PanZoom(scales={'x': [x_sc], 'y': [y_sc]})
data = Lines(x=x_data, y=y_data, scales={'x': x_sc, 'y': y_sc})

zoom_interacts = widgets.ToggleButtons(options=OrderedDict([
                                        (' ', None),
                                        ('xy ', pz)]),
                                        icons = ["stop", "arrows"]
                                        )

fig = Figure(axes=[ax_x, ax_y], marks=[data])
link((zoom_interacts, 'value'), (fig, 'interaction'))
widgets.HBox([fig, zoom_interacts])

swap = widgets.Select(
    options=['dates', 'ms'],
    description='Swap',
    disabled=False
)
def swapAxes(b):
    global x_data
    global ax_x
    global data
    global fig
    if(b == 'dates'):
        ax_x.scale = DateScale()
        x_data = date_data
    else:
        ax_x.scale = LinearScale()
        x_data = ms_data

interactive(swapAxes, b=swap)

where y_data, date_data, and ms_data are all numpy arrays. When the figure first renders it works as long as I'm using ms_data with a linear scale or date_data with a date scale. But when I try to change the scale using the select the values on the x_axis simply disappear. Is there a way to change this scale back and forth between a date scale and a linear scale?

You have to change the scale on your mark too.
Something like this should work.
def swapAxes(b, arrayData):
    global date_data
    global ms_data
    if(b == 'dates'):
        ax_x.scale = DateScale()
        data.x = date_data
    else:
        ax_x.scale = LinearScale()
        data.x = ms_data
    data.scales['x'] =  ax_x.scale

interactive(swapAxes, b=swap)

Though probably best not to use global variables.

Thanks for the reply. I couldn't agree more on the global variables, this is just some code I've been playing around with to familiarize myself more with bqplot and experiment with it. This change doesn't seem to have an effect though. The scale just disappears from the figure as soon as I use the swap select and doesn't return.

Can you post a full workable example?
At this stage, I would guess it is either:

Min and max on the scale needs resetting
The marks have been assigned the wrong scales
The axes have been removed from the figure somehow.
something else

It took me a while.  2 things:

date_format  in the DateScale
Redefine the scales from scratch. So line.scales = {'x': ax_x.scale, 'y': ax_y.scale},  not line.scales['x'] =  ax_x.scale .  Not sure why.

import numpy as np
import pandas as pd
from bqplot import *
from ipywidgets import *
from collections import OrderedDict

y_data = np.random.randint(-100, 100, size=48)
base = np.datetime64('2000-01-01', 'us')
date_data = np.array([base + np.timedelta64(i, 'h') for i in range(48)])
ms_data = np.arange(48)
x_data = date_data

x_sc = DateScale(date_format = "%m-%d-%y")
x_scLin = LinearScale()
y_sc = LinearScale()

ax_x = Axis(label='RTC (ms)', scale=x_sc, grid_lines='solid', tick_rotate=45)
ax_y = Axis(label='Reading (mVs)', scale=y_sc, orientation='vertical')
pz = PanZoom(scales={'x': [x_sc], 'y': [y_sc]})
line = Lines(x=x_data, y=y_data, scales={'x': x_sc, 'y': y_sc})

zoom_interacts = widgets.ToggleButtons(options=OrderedDict([
                                        (' ', None),
                                        ('xy ', pz)]),
                                        icons = ["stop", "arrows"]
                                        )

swap = widgets.Select(
    options=['dates', 'ms'],
    description='Swap',
    disabled=False
)
fig = Figure(axes=[ax_x, ax_y], marks=[line])
link((zoom_interacts, 'value'), (fig, 'interaction'))
hbox  = widgets.VBox([fig, zoom_interacts])

def swapAxes(b):
    if b == 'dates':
        line.x = date_data
        ax_x.scale = x_sc
        ax_x.tick_rotate=45

    else:
        line.x = ms_data
        ax_x.scale=x_scLin
        ax_x.tick_rotate=0
    line.scales = {'x': ax_x.scale, 'y': ax_y.scale}
hbox

interactive(swapAxes, b=swap)

That worked great! Thank you so much for the help!


set order of vignettes

i.e.
tutorial
methods
priors

no longer necessary because main vignette moved to Get Started


[Feature request] Ability to define the timestamp part for generation functions

Hi, and thanks for this package!
I'm proposing an update for the uuid6, uuid7 and uuid8 functions, where you could optionally specify the timestamp that gets used when generating the UUID value. For example for the uuid7 function:
def uuid7(timestamp_ms: int = None) -> UUID:
    global _last_v7_timestamp

    if timestamp_ms is None:
        nanoseconds = time.time_ns()
        timestamp_ms = nanoseconds // 10**6
    # (rest of function)

I haven't checked whether this isn't allowed in the spec, but I feel that this would be really useful in situations where you need to generate UUIDs for historical data, where you have the records' creation timestamp available:
# Django model example

for obj in Model.objects.iterator():
    timestamp = calendar.timegm(obj.created_at.utctimetuple())
    timestamp_ms = timestamp * 10**3
    obj.new_id = uuid7(timestamp_ms)
    obj.save()

This would allow for updating a system to start creating new records with the current timestamp, and a data migration for historical data, retaining the sortability by the UUID timestamp part.
Thanks in advance!

Sorry I hadn't checked GitHub in a moment. While these options sound like a nice idea, I'm a bit worried that people would misuse these functions. v6 has a weird offset by Microsoft, v7 uses milliseconds since epoch, v8 nanoseconds... Does anyone have suggestions how to reasonably avoid disasters like mixing nanoseconds and milliseconds?

I personally think that the function signatures should just be clearly defined on which type they expect to receive:
def uuid7(at_milliseconds: int = None) -> UUID:
    ...

def uuid8(at_nanoseconds: int = None) -> UUID:
    ...

Getting the order of magnitude wrong is just a bad user error you can make with any other 3rd party library.

Does anyone have suggestions how to reasonably avoid disasters like mixing nanoseconds and milliseconds?

@oittaa This is a fair argument. While I do agree with @attevaltojarvi that there's only so much you can do, I have found using parameter args in JS a good counter to this, as it's self documenting. Seems like you can do something similar in python?
def uuid7(*, unix_ms: int = None):
   # generation code goes here

That would at least require the caller to ignore the fact it says _ms when calling it.
uuid7(unix_ms=1727920979122)

Additionally, you could also do a sanity check on the value to make sure it's not significantly in the future (probably nanos), but I understand that is not a perfect solution.

Explicitly specifying keyword arguments is definitely a good idea. unix_ts_millis and unix_ts_nanos could be good names for them. :+1:


The links in the guide points to the old URLs

The guide shows examples like this:
curl -X POST -H 'Content-type: application/json' http://localhost:8080/api/admin/externalTools -d \ "{ \"displayName\":\"Read Text\", \"description\":\"Read the text file.\", \"scope\":\"file\", \"type\":\"explore\", \"hasPreviewMode\":\"true\", \"toolUrl\":\"https://qualitativedatarepository.github.io/dataverse-previewers/previewers/TextPreview.html\", \"toolParameters\": { \"queryParameters\":[ {\"fileid\":\"{fileId}\"}, {\"siteUrl\":\"{siteUrl}\"}, {\"key\":\"{apiToken}\"}, {\"datasetid\":\"{datasetId}\"}, {\"datasetversion\":\"{datasetVersion}\"} ] }, \"contentType\":\"text/plain\" }"

The URL mentioned here (https://qualitativedatarepository.github.io/dataverse-previewers/previewers/) is not available anymore, and generates a 404 error message in dataverse (see https://github.com/IQSS/dataverse/issues/6616 for details).
Please update guides with the following information:

what URL should be used for new installations
how to modify existing Dataverse settings

As I mentioned at http://irclog.iq.harvard.edu/dataverse/2020-02-06#i_117719
https://globaldataversecommunityconsortium.github.io/dataverse-previewers/previewers/SpreadsheetPreview.html looks like a promising "toolUrl". I see signs of life there:

For the record:

replacing https://qualitativedatarepository.github.io to https://globaldataversecommunityconsortium.github.io seems to be working.

The update process:

a. Get the list of IDs of external tools
curl http://localhost:8080/api/admin/externalTools | jq .

It gives all the IDs of the external tools.
b. Delete external tools individually:
curl -X DELETE http://localhost:8080/api/admin/externalTools/1
curl -X DELETE http://localhost:8080/api/admin/externalTools/2
curl -X DELETE http://localhost:8080/api/admin/externalTools/3
curl -X DELETE http://localhost:8080/api/admin/externalTools/4
curl -X DELETE http://localhost:8080/api/admin/externalTools/5
curl -X DELETE http://localhost:8080/api/admin/externalTools/6
...

c. copy the curl command from the README
d. replace https://qualitativedatarepository.github.io to https://globaldataversecommunityconsortium.github.io
e. run the modified curl commands

Thanks Peter – it’s my mistake. I moved the Dataverse-previewers repository to the global consortium organization and did not realize the github.io side went away. I will update the URLs and see about a pull request to change db entries, but in the meantime I’ll try to restore the original URLs as well. The intent was to move the base repo, not to require immediate changes for people using the global URLs.
-- Jim
From: Király Péter<EMAIL_ADDRESS>Sent: Thursday, February 06, 2020 6:53 AM
To: GlobalDataverseCommunityConsortium/dataverse-previewers
Cc: Subscribed
Subject: Re: [GlobalDataverseCommunityConsortium/dataverse-previewers] The links in the guide points to the old URLs (#38)
For the record:

 replacing https://qualitativedatarepository.github.io to https://globaldataversecommunityconsortium.github.io seems to be working.

 The update process:

a. Get the list of IDs of external tools
curl http://localhost:8080/api/admin/externalTools | jq .
It gives all the IDs of the external tools.
b. Delete external tools individually:
curl -X DELETE http://localhost:8080/api/admin/externalTools/1
curl -X DELETE http://localhost:8080/api/admin/externalTools/2
curl -X DELETE http://localhost:8080/api/admin/externalTools/3
curl -X DELETE http://localhost:8080/api/admin/externalTools/4
curl -X DELETE http://localhost:8080/api/admin/externalTools/5
curl -X DELETE http://localhost:8080/api/admin/externalTools/6
...
c. copy the curl command from the README
d. replace https://qualitativedatarepository.github.io to https://globaldataversecommunityconsortium.github.io
e. run the modified curl commands
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/GlobalDataverseCommunityConsortium/dataverse-previewers/issues/38?email_source=notifications&email_token=ABTLRT5YOUAQ5NMCTK4KIM3RBP2YDA5CNFSM4KQ3FGWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK66F6I#issuecomment-582869753, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABTLRT5OFSXOQ57OBBZTK5LRBP2YDANCNFSM4KQ3FGWA.

Closing: The updates in github and restoration of the QDR github.io site should fix this. If there are further concerns, let us know.


[BUG] Self hosted docker instruction and domain

Describe the bug

Product Flavor

[ ] Managed (https://rxresu.me)
[ X] Self Hosted

To Reproduce

Follow instructions to deploy on docker found at https://docs.rxresu.me/deployment/docker
Point Domain to the IP address of the server
Traefik 404 error screen

Expected behavior

Following the instructions correctly should result in the app reachable from the PUBLIC_SERVER_URL  based on the changes made however the instruction do not make it clear that in addition to the manual port changes there are also url host names that need to be amended for the client and server traefik lables without which traefik will be unable to route the traffic correctly
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 100

Additional context

Instructions or docker compose file needs to be amended to make it easier to deploy

@kgotso  before it the documentation gets properly updated, please can you briefly describe what are the changes needed for client and server traefik lables? I got the Traefik 404 error screen by just substituting all the localhost to the IP of the server

I believe they are referring the fact the documentation says:

Edit the docker-compose.yml file you just pulled in and update the  placeholders to your server's public IP (or domain, if applicable). Also, update the .env file that was just created and change variables such as PUBLIC_URL, PUBLIC_SERVER_URL etc. For a clear understanding of what each of the environment variables mean, head over to this section of the docs.

However to get it to work, you also have to edit the traefik labels, such this one.

Yea, I agree, but I need some guidance into what is wrong with line 73. I had try to replace localhost on line 73 with the server's IP but no luck. Thank you.

I am also having this issue.
First time attempting an installation and i commented out all the GOOGLE/BUCKET variables as I'm not planning on using those (and it wouldn't boot without me commenting them)
Alas all i get once its running is the dreaded 404.
I attempted to replace every instance of "localhost" in both the docker-compose and .env files with the severs local IP to no avail.

I'm also trying to self-host, but without traefik. Instead caddyserver  is my go-to reverse proxy.
So far I can reach the client on the web, but the client cannot reach the server, sind logging in or registering won't work

For anyone arriving here trying to get this working on Traefik I was able to get it working (with brute force and ignorance).
Added the following to the .env:
NAMEclient=resume
NAMEserver=resume1
URLclient=resume.domain.com
NAMEserver=api.domain.com
Updated in .env:
PUBLIC_URL=https://resume.domain.com
PUBLIC_SERVER_URL=https://api.domain.com
Client labels:
- "traefik.enable=true"
- "traefik.http.routers.${NAMEclient}.rule=Host(${URLclient})"
- "traefik.http.routers.${NAMEclient}.entrypoints=websecure"
- "traefik.http.routers.${NAMEclient}.tls.certresolver=myresolver"
- "traefik.http.services.${NAMEclient}.loadbalancer.server.port=3000"
networks:
- traefik
Server labels:
- "traefik.enable=true"
- "traefik.http.routers.${NAMEserver}.rule=Host(${URLserver})"
- "traefik.http.routers.${NAMEserver}.entrypoints=websecure"
- "traefik.http.routers.${NAMEserver}.tls.certresolver=myresolver"
- "traefik.http.services.${NAMEserver}.loadbalancer.server.port=3100"
networks:
- resume
- traefik
Hopefully this will be of use to someone; and preferably will make its way into the documentation to help others get this spun up quickly.


Added support for "Raspberry Pi Imager" tool

Is your feature request related to a problem? Please describe.
Since mid of 2020, the Raspberry Pi organisation maintains an own imaging tool called "rpi-imager" (https://github.com/raspberrypi/rpi-imager). This tool allows to flash whole os images similar to how etcher or other imaging tools are doing this. In addition, this "rpi-imager" allows to directly download these images via a well-defined json file API.
Describe the solution you'd like
We already added the necessary changes (https://github.com/jens-maus/RaspberryMatic/commit/fb34bde0a620459c143b44cf115211c18709300c) to our repository to support integration into the "Raspberry Pi Imager" and are waiting for integration of these changes here:
https://github.com/raspberrypi/rpi-imager/issues/245
Additional context
To show support by the RaspberryMatic community, please consider raising a thumbs up (👍) in the linked rpi-imager ticket (https://github.com/raspberrypi/rpi-imager/issues/245)  so that the authors of rpi-imager can better consider integration.

Please don't add extra "Me too" comments to the Raspberry Pi Imager issue, it's not very helpful.

Exactly! It is enough to just put your „thumbs up“ by clicking the smiley smbol on the too right corner!

Also no point in tagging me in each post, as I do not maintain the repository.
(And ironically enough had my own share of trademark problems albeit with a different piece of fruit).

Just FYI: The RaspberryPi Foundation has now finally integrated our proposed change. Thus, RaspberryMatic is now correctly listed and usable in the official "RaspberryPi Imager" tool. See:

Therefore, the official RaspberryMatic documentation has also been already adapted to reflect that improvement:
https://github.com/jens-maus/RaspberryMatic/wiki/Installation-RaspberryPi


gulp 4: env: node\r: No such file or directory

Using gulp 4, I can build via the command line, but running the same as an npm script fails. e.g.
# succeeds
$ gulp

# this script simply runs "gulp", but fails with
# "env: node\r: No such file or directory"
$ npm run build

Other npm commands work, such as npm start which runs node index.
Any ideas on how to get a better error message to track this down?

gulp 4
OS X 10.11.6
node 6.4.0
npm 3.10.3

edit
Solution
Issue was with line endings in git

What is the scripts block in your package.json?

I've created a repo that demonstrates the issue (at least on my system). I've checked in the npm-debug.log in case it's of any help.
"scripts": {
    "build": "gulp"
  }

This is an npm issue (most likely an issue with your environment configuration).

@phated Seems to be gulp 4 specific.
I've updated my repo with a grunt test and it works. I've also tried to reproduce with gulp 3 in a branch and it works fine.
I've also verified both node and npm are in /usr/local/bin/ and that /usr/local/bin is in $PATH.

You should not be installing gulp and gulp-cli in your dependencies.  Many npm versions don't have deterministic installation and that breaks stuff.  gulp 4 ships with gulp-cli as a dependency.

gulp 4 ships with gulp-cli as a dependency

I did not know this! I've updated the test cases to not install gulp-cli.
Uninstalled and reinstalled node. Then reinstalled gulp 4. Running gulp -v in the command line now returns the same error as running the npm script:
env: node\r: No such file or directory
Again, gulp 3 works if I uninstall gulp-cli globally and reinstall gulp 3.

the reason I think this is an npm problem is env: node\r looks like a key a JSON argument (possibly the npm environment object they generatre.  Echoing path doesn't really do anything because npm modifies it as part of npm run ...

AH LINE ENDINGS! Re-installed my entire dev environment :sweat_smile:

I have the same issuse, I install the gulp4 form http://registry.npmjs.org/gulp4
I fixed the problem by change the end of line of the node_modules/.bin/gulp4  by vim
:set ff=unix
then i  run npm run XXX
and the bug is missing, my CentOS has the same issue too. And I resolve it with the same method.

Don't use that package...


feat: DTSS-1095 Allow test.sh to run under Delve

DTSS-1095
Updates test.sh with an implicit ENV-var parameter called
PACKAGE_TO_DEBUG.  When this variable is specified, the test.sh
script will invoke Delve on that particular package's tests.
Due to technical limitations, we can only debug one package at a time.
There is no way to run the entire suite of tests under a debugger all at
once, because each pckage creates its own test binary.

Can most of this logic be put into test.sh and be done via a flag or env var? Seems pretty duplicated.

Can most of this logic be put into test.sh and be done via a flag or env var? Seems pretty duplicated.

Yeah, it is.  I was about to write a comment about how "hacks" this PR is, but you beat me to it.  :)
It seems like it should be possible, but there is one big difference between the regular test.sh and this one.  We can only debug one single package's tests at a time, where test.sh could test all of ./... at once.  We need an extra argument to specify which package we're debugging.
Would it be reasonable to add a PKG_TO_TEST env var?  Should we add actual flags parsing to test.sh, so we could have a --package-to-debug= argument?  Other ideas?

Oh, yeah, good point there. I know @jeff-outreach wanted something like this awhile back. I'm totally for modifying that to allow you to specify which packages you'd like to test.
I think argv parsing would be the best way to go, but I'm also hesitant to go back down that path. For now maybe we just go with envvar, and if it's a pain point we can look at better ways to handle this.

SGTM.  I'll update it to use an ENV_VAR, merge it with test.sh, and ping you when it's fixed.  I'll put this back into draft and remove the review assignment in the meantime.

Looks like I can't remove the reviewer assignment.  Oh well.  At least draft-ifying worked.

This PR won't win any beauty contests, but it's an improvement on what came before.  I think it's ready for another look.
CC: @jaredallard (when you have time, not urgent)

In reply to @jeff-outreach's comment:
In git they have the concept of "plumbing and porcelain".  This is much more on the "plumbing" side of that taxonomy.
This is not a great public-facing interface.  It's not really intended as such.  Right now, our only "public" interface is the Makefile and until that changes it'll be hard to build "porcelain" around something like this.  At best, maybe folks can write integrations with their own preferred editors that build on top of this and contribute them back to bootstrap.
I'm kind of surprised that VSCode's debugger actually works.  It's kind of hard to get a bootstrap project built with all the right build tags and linker flags.  I've struggled to integrate with Emacs' Go tooling, for example.


Added short description of geonotebook

@kotfic @dorukozturk feel free to change the description as suited but I just to make sure we have some description at the top.

@kotfic @dorukozturk approved it verbally, merging now.


QR Code Generation with Custom design

Hi Farooq,
I have integrated the Aspose library  to generate the QR code with Java .But I having below are the doubts. Please clarify can we achieve with Aspose or not.
1.Can we configure the each cell with particular size(ex:- .20mm) .
2. Can we generate QR code with some quite zones.
Please reply to ASAP. It would be helpful to me.

Thanks Muzammil-kahn.

@tjunnu
The height and width of the QR code can be adjusted as follows:
generator.getParameters().setAutoSizeMode(AutoSizeMode.NEAREST); generator.getParameters().getImageWidth().setPixels(500); generator.getParameters().getImageHeight().setPixels(500);
This will create a 500x500 px QR code and Cells (black squares) shall be adjusted accordingly.  It is not possible to configure square size for individual squares.

Thanks a lot Muzammil-khan.
Could please confirm to me with below question.
Is cell means black square? Still i am in confusion. That's why am asking you.

@tjunnu
The term "cell" usually goes for the tabular representation, whereas the QR code does not generate a table form. QR consists of fixed shape black and white squares arranged in a specific order.
I hope I have answered your question.

Thank you Muzammil-khan for clarifying my all doubts.

So we can not  customize the black and white squares sizes. Right?

No, we cannot customize the size of the individual black and white squares at the moment. However, we can adjust the size of the whole QR code image as explained above.

Thanks Muzammil-khan


refactor: use memoization and native NextJS router queries to reduce re-renders

Although the deployed site is fast on Netlify, on my machine in development mode, the search feature was extremely slow, with several seconds' delay between keystrokes.  This PR introduces memorization and debouncing to make the search much faster.  I also added two rudimentary test cases to make sure the site compiles and the search works.

Nice work!


add github actions/goreleaser to release the lib

Fixes: #113
rehearsal on my fork: https://github.com/cpanato/e2e-framework/runs/5220056082?check_suite_focus=true
release: https://github.com/cpanato/e2e-framework/releases/tag/v99.99.01
/assign @vladimirvivien

if there is anything else to add let me know

@cpanato I pressed approved by accident. Please see comments.

/hold

put a hold @vladimirvivien then i can follow up :)

/hold

/unhold


Some widget not loading in the drug profile page

Describe the bug
Some widget are not loading in the drug profile page in the latest platform and PPP dev deployment. Example
To Reproduce
Steps to reproduce the behaviour:

Go to the drug profile page
The profile widget do not load.

This profile page is loading correctly in the dev platform and dev PPP.

tested and all is loading now


Error: 5 or 6 fields allowed (using snowflake_role_grants)

Provider Version
0.28.6
Terraform Version
1.1.7
Describe the bug
Error: 5 or 6 fields allowed (using snowflake_role_grants)
Expected behavior
In version 0.27.0 it works normally
Code samples and commands
resource "snowflake_role_grants" "dadosfera" {
  role_name = snowflake_role.dadosfera.name

  users = [
    snowflake_user.dadosfera.name
  ]
}

Additional context

FYI, 0.28.6 darwin amd64 flavor works fine on my MAC.

Here it works on any release below 0.27.0

See comment: https://github.com/chanzuckerberg/terraform-provider-snowflake/pull/923#issuecomment-1068420936
I wonder if the fix should have been >= 1 on number of fields (for role grants to other roles).
https://registry.terraform.io/providers/chanzuckerberg/snowflake/latest/docs/resources/role_grants
There is only one "required" field role_name.
We're now running into issues with 4 to 6 fields allowed in ID

The original code prior to https://github.com/chanzuckerberg/terraform-provider-snowflake/pull/824/files
Allowed a 4 or 5 length pipe delimited ID, because the grant privilege isn’t always included. It now allows 4,5 or 6 values. Can you include the ID from your statefile and I’ll investigate.

Does anybody know of a work-around for this issue while we wait for the next release?

Answered my own question setting replace_on_changes=["users"] in the ResourceOptions seems to be a good workaround.   I am using the provider via Pulumi though, but I guess Terraform has this option also.

@nickperrott there is no option like that in terraform

Got the same issue
│ Error: 4 to 6 fields allowed in ID │  │   with snowflake_role_grants.role_grants["QA_SHAREADMIN"], │   on grants.tf line 125, in resource "snowflake_role_grants" "role_grants": │  125: resource "snowflake_role_grants" "role_grants" {
So, rolled back to version "0.25.36"

I’ll fix the role grants over the weekend

I created a rollback of the changes @daniepett @alldoami


Add mailforward site verification record

The verification record was deployed manually because I assumed it was only needed once, but I was wrong.
To make SPF still work the record needs to be renamed to "@" which has the same effect but lets you create two root TXT records.
Closes issue https://github.com/usegalaxy-eu/issues/issues/596

Yes this one is expected, because I manually detached it for the creation of a backup volume

Thanks @mira-miracoli!


Redis Meta data Filter changes

Description: Adding Metadata filter to Redis,
Issue: 3967,
Tag maintainer: @rlancemartin, @eyurtsev,
Twitter handle: nareshr8

Testing code:
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores.redis import Redis
from langchain.document_loaders import TextLoader

embeddings = OpenAIEmbeddings()
loader = TextLoader("./untitled.txt")
documents = loader.load()

# Editing metadata of document
documents[0].metadata = {"about":"langchain",'by':'text'}

# Inform the list of metadatakeys for indexing in redis for search
rds = Redis.from_documents(documents, embeddings,redis_url="redis://localhost:6379", index_name="sample",metadata_keys=['about','by'])

# Filter the documents based on metadata
rds.similarity_search('What should be used to load data from a source as Document',filter={"about":"langchain",'by':'text'})

@nareshr8 I like this prototype! I think we need to extend to support Tag and Numeric fields too, though. We can probably work to create some kind of RedisFilter class that knows how to translate things between python types and redis types.

Sure. Ill try to add score_threshold and NumericField. I haven't used TagField. Will explore that. I am not much aware of storing schema in DB part of the discussion. Would be interested to know more about it.
Let know if you don't have permission.

Added support for Numeric and Tags
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores.redis import Redis
from langchain.document_loaders import TextLoader

embeddings = OpenAIEmbeddings()
loader = TextLoader("./untitled.txt")
documents = loader.load()

# Editing metadata of document
documents[0].metadata = {"about":"langchain",'doc_number':1,'my_tags':'sample_tag'}

rds = Redis.from_documents(documents, embeddings,redis_url="redis://localhost:6379", index_name="sample",metadata_keys={'about':'Text','doc_number':'Numeric','my_tags':'Tag'})

filter=[{'meta_key':'about','meta_val':'langchain'},{'meta_key':'doc_number','meta_val':[1,20]},{'meta_key':'my_tags','meta_val':['sample_tag','multi_tag']}]

rds.similarity_search('What should be used to load data from a source as Document',filter=filter)

@tylerhutcherson Added score_threshold filter to the query as well. Let know your thoughts.
I had to create meta_key and meta_val` as tags have two variants

Union like - Any tags must be present in the document to be retrieved.
Intersection like - All tags must be present in the document to be retrieved.

So there is another key union that is defaulted to True but can be turned to False if they want intersection behaviour.
Let know your thoughts. Will work on them accordingly

@nareshr8 I've been working through and reviewing your PR. Our team has some thoughts about how we'd like to see this implemented that we're having a meeting on tomorrow. Thanks for the effort here and I'll follow up with our thoughts tomorrow.

thank you for the pr @nareshr8! I believe the functionality should have been added by #8612. Closing but let me know if I'm missing something!


Show the table's indexes

Is your feature request related to a problem? Please describe.
When exploring a table, together with its structure it can be useful to show also its indexes
Describe the solution you'd like
Display the indexes in the same panel showing the table query and table fields.

Added a new tab in the info panel showing the table indexes:
https://github.com/aferrandi/dbtarzan/blob/master/docs/images/tableIndexes.png


Update Kotlin (kotlinx) usage API sample code

The old code is now deprecated and it is an error to use it.

Cc @schani  for review and merge this.


[Bug]: Breaking imports when building to production with sveltkit.

Would you like to work on a fix?

[X] Check this if you would like to implement a PR, we are more than happy to help you go through the process.

Current and expected behavior
current
In dev mode everything runs fine and the charts load correctly, but when trying to put it in a production environment running:
npm run build
we get the following error:

file:///home/pablo/webapp-seren/.svelte-kit/output/server/entries/pages/dashboard/_page.svelte.js:2
import { Chart as Chart$1, LineController, BarController, Title, Tooltip, Legend, BarElement, CategoryScale, LinearScale, LineElement, PointElement } from "chart.js";
                                           ^^^^^^^^^^^^^
SyntaxError: Named export 'BarController' not found. The requested module 'chart.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from 'chart.js';
const { Chart: Chart$1, LineController, BarController, Title, Tooltip, Legend, BarElement, CategoryScale, LinearScale, LineElement, PointElement } = pkg;

    at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:530:24)
    at async Module.component (file:///home/pablo/webapp-seren/.svelte-kit/output/server/nodes/4.js:4:39)
    at async Promise.all (index 1)
    at async render_response (file:///home/pablo/webapp-seren/.svelte-kit/output/server/index.js:1078:19)
    at async render_page (file:///home/pablo/webapp-seren/.svelte-kit/output/server/index.js:1543:12)
    at async resolve (file:///home/pablo/webapp-seren/.svelte-kit/output/server/index.js:2086:22)
    at async respond (file:///home/pablo/webapp-seren/.svelte-kit/output/server/index.js:2124:22)
file:///home/pablo/webapp-seren/node_modules/@sveltejs/kit/src/core/prerender/prerender.js:30
                                throw new Error(format(details));

#Expected
That npm run build works flawlessly.
Reproduction
Just copied the bar example of this github and build it.
chart.js version
v3.9.1
svelte-chartjs version
v3.0.1
Possible solution
I think this may be solved in v4 of charts js that was released two days ago, I saw that a bot committed the update of that version to github yesterday, but I'm not sure if it will work flawlessly because this version of charts.js introduces breaking changes.

@PabloRuizCuevas Hi. Please try svelte-chartjs v3.1.0 and chart.js v4

that works


fix: createBrowserHistory's createHref option

Related to my comment at the bottom of https://github.com/TanStack/router/issues/1441#issue-2230182849, this looks to me like a minor typo.
It looks like createHref option is not currently used by @tanstack/react-router itself and I'm actually not sure what's the main use case, but as explained in the issue comment, I'm thinking to use this to fix history location encoding issue on my framework.
Please let me know if I missed something. Also I wasn't sure where a test belong to (or whether a new test is needed), so any pointers about testing would be appreciated. Thanks!

I came to realize that this is not a typo and it's very much intended not to do currentLocation = parseHref(createHref(destHref), ...).
The reason being, I think createHref and parseLocation work in a following way:

createHref: (application href) --> (actual browser href)
parseLocation: (actual browser state) -> (application location object)

For example, this architecture will probably allow pre-pending base path, which are not visible to application, but doing currentLocation = parseHref(createHref(destHref), ...)) will break such feature.
I'm happy to close this, but it would be awesome if someone from the team can confirm if my reasoning is correct.


after user creation, the skip to dashboard link points to public view

expected behaviour:
it should link to the dashboard, indeed

This is not happening anymore, it goes to /dashboard.


Delete Objects after Migrating all objects

In current OpenSDS, when we migrate objects for eg. 10 objects (remain source is false), when each objects gets migrated successfully it gets deleted before migration of other objects.
In case of failure eg. if 3 objects are already migrated, it will get deleted too from source and if migration got failed then we will have 7 objects in source (3 objects got deleted) and 3 objects in destination.
Using this patch, in same scenario of migration failure, after failure we will have 10 objects in source (No loss of objects from Source bucket) and destination will have 3 objects. So at least at source bucket user will get access to all objects after failure also.

Hi @kumarashit @sfzeng @wisererik. Please review, Thanks

if the 3 objects are very big, it's costly to keep object in source bucket and target bucket.

IMO, This should be user discretion to either keep it or delete it. There is cost involved here so user can take a call

Before migration finished, the user needs to pay double the price for those migrated objects. So IMO,  it's better to give the user to make a choice or leave it as it now.

Before migration finished, the user needs to pay double the price for those migrated objects. So IMO, it's better to give the user to make a choice or leave it as it now.

So I think the existing "remainSource" parameter is enough for that, no need to add 1 more parameter.

Before migration finished, the user needs to pay double the price for those migrated objects. So IMO, it's better to give the user to make a choice or leave it as it now.

So I think the existing "remainSource" parameter is enough for that, no need to add 1 more parameter.

But does this PR is talking about, if user choose to not remain source, then when will we delete the source object?

Before migration finished, the user needs to pay double the price for those migrated objects. So IMO, it's better to give the user to make a choice or leave it as it now.

So I think the existing "remainSource" parameter is enough for that, no need to add 1 more parameter.

But does this PR is talking about, if user choose to not remain source, then when will we delete the source object?

Using this patch, If remainSource=false ,all the objects will get deleted after migrating ALL objects.


AUX1 output pass through from RC channel not functioning

Issue: The AUX1 and AUX2 outputs are unable to output anything that is mapped to the RC channel pass through. They output a 50-60% duty cycle upon boot when examined with a scope.
Hardware: Pixhawk FMUv2 running 1.4.4 BETA
Hexactoper, fully configured and calibrated
Taranis X9D, with 16 channel receiver
Channel 7 (a dial/pot on the X9D) mapped to AUX1
Servo connected to AUX1 and 5v BEC on the servo rails
The system console reports the mixer for the aux outputs loads:
INFO  [init] Mixer: /etc/mixers/pass.aux.mix on /dev/pwm_output1
The fmu test command in the console also changes all the servo outputs to fluctuate from 0% duty cycle to 100% as observed by the scope, so it's not a hardware issue. The servo also works on a servo tester.

Same problem happens here, with plane configuration and passthrough channel 5 to AUX1, for flaps.

Works in my Hexacopter Config (1.5.1RC3) but also earlier. But I'm using a Spektrum Receiver with PWM Outputs which are then connected to a PPM Encoder.

@Aperture-Laboratories @diegostf Please re-test with 1.5.1RC3 or later. We fixed a few things there. Please also make sure you have AUX1 mapped on your remote control (otherwise nothing will happen).

Tested and confirmed working for me on my hexacopter.

Nice, closing.


Add support for character (U+0CA0)

When trying to compress a project of mine with rollup + closure-compiler-js I get this error
Input_0:14447 (JSC_PARSE_ERROR)
Parse error. Character 'ಠ' (U+0CA0) is not a valid identifier start char
}

var iOS8or9 = typeof document === 'object' && 'object-fit' in document.head.style && !matchMedia('(-webkit-video-playable-inline)').matches;

var ಠ = 'bfred-it:iphone-inline-video';
    ^
var ಠevent = 'bfred-it:iphone-inline-video:event';
var ಠplay = 'bfred-it:iphone-inline-video:nativeplay';
var ಠpause = 'bfred-it:iphone-inline-video:nativepause';

🚨   (closure-compiler-js plugin) Error transforming bundle with 'closure-compiler-js' plugin: compilation error, 1 error

Looks like your closure compiler isn't supporting that special character. Could it be supported?
To reproduce, git clone https://github.com/binarykitchen/videomail-client/tree/feature/rollupjs and run yarn build

I don't believe that's valid Ecmascript: https://mathiasbynens.be/notes/javascript-identifiers-es6

yeah never mind, already have submitted a PR to replace those special characters in https://github.com/bfred-it/iphone-inline-video/commit/758f7b91a2988f28769d26fa4ccc711397b8e98a


Unable to create a scheduled task

I'm trying to create a task, as the documentation says:
lib tasks:create disassemble-blog
But end up simply getting an error while trying to do so:
C:\Users\Tyler\AppData\Roaming\nvm\v8.0.0\node_modules\lib.cli\cli\commands\tasks\create.js:87
    if (!selectedService.definitions_json[functionName]) {
                        ^

TypeError: Cannot read property 'definitions_json' of undefined
    at resource.request.index (C:\Users\Tyler\AppData\Roaming\nvm\v8.0.0\node_modules\lib.cli\cli\commands\tasks\create.js:87:25)
    at IncomingMessage.res.on.on (C:\Users\Tyler\AppData\Roaming\nvm\v8.0.0\node_modules\lib.cli\node_modules\api-res\module.js:181:22)
    at emitNone (events.js:110:20)
    at IncomingMessage.emit (events.js:207:7)
    at endReadableNT (_stream_readable.js:1045:12)
    at _combinedTickCallback (internal/process/next_tick.js:102:11)
    at process._tickCallback (internal/process/next_tick.js:161:9)

I have also installed the module globally, like the documentation suggests:
npm install lib.cli -g
As the log suggests, I am using node version 8.0.0 which has been installed through nvm
I tried prior with node version 9.0.0, but it also had the same error. I rolled back to 8.0.0 just in case since the documentation says it supports node versions 7.x and 8.x
I also have the .js file as a function

Hi @TSedlar,
You'll want to have the third argument on your command line there as your service identifier --
something like sedarity.test-service[@<service environment>] rather than using the function itself. You can set the function within your service you would like to run via the prompts afterwards.
We should definitely have a less confusing error message though!
Jacob

@jacoblee93 I seem to be getting the same error running
lib tasks:create sedarity.test-service@dev
It looks like from what I'm reading in the docs, the service has to be deployed to released.
I currently only have it deployed to @dev, so that may be my issue.

It should work with a dev service actually, can you try it with the brackets as well? So like:
lib tasks:create sedarity.test-service[@dev]
If you're using z-shell, you'll need a backslash before each bracket.

@jacoblee93 I tried just in case, but it didn't work. It only worked with a service deployed to released, but that's fine, thank you!


Integrate Erc677 TransferAndCall to BasicRequest/OracleContract

Understanding ERC677 TransferAndCall:

ERC677 is a token standard that allows tokens to be sent along with function calls.
The TransferAndCall function is used to transfer tokens from one address to another while also calling a function on the recipient contract.

Integration Steps:

BasicRequest Contract: You'll need to modify your BasicRequest contract to include the TransferAndCall functionality. This likely involves adding a function that accepts the recipient address, token amount, and calldata for the function to be called on the recipient contract.
OracleContract: The OracleContract might need to be updated to handle receiving tokens through TransferAndCall. This could involve checking for and processing the received tokens along with the function call data.

https://github.com/zkoracle/opennautilus-contacts/commit/cab557e5cca1c2aeb2ad2ff2547982255d4b50dc


Instruction of using detectron2 with slurm?

Hi:
Could you please share any instructions about how to run VOC07+12 / COCO17 Object Detection based on Detectron2 with slurm?

Just run benchmarks/detection/run.sh on any computation node.


No push notification on mobile phone

I have been running a program for a while that is connected to my iPhone (still IOS 16). A few days ago I noticed that I was no longer receiving notifications, but I had never found the "problem" until just now. I just closed the program to test this very unlikely theory. Now I received the notifications on my iPhone without any problems. As soon as the program is running again and connected to Whatsapp, not anymore.
Is there an explanation as to why this is the case?
Is there any kind of confirmation that the message has been received, and is it perhaps too fast for Whatsapp to send a push notification?
Regards, Snow

#291 solved it
I used Whatsapp.webBuilder().lastConnection().acknowledgeMessages(false)


Planetary Annihilation: TITANS

The pricing for Planetary Annihilation: TITANS is pointing towards the price for the Upgrade from regular "Planetary Annihilation" to "Planetary Annihilation: TITANS".

Buy Planetary Annihilation - Upgrade to Titans
Buy this if you own Planetary Annihilation on Steam for a special upgrade price.

$13.59
Add to Cart

https://steamdb.info/app/386070/info/
Strangely enough, the actual upgrade has it's own page, but no information.
https://steamdb.info/app/420120/subs/
Even the bottom of the above page links to the correct price of $39.99 even though the price history shows it is currently $13.59.
I'm wondering if this is a common issue for add-ons, upgrades, etc.
Images:

#463

This is fixed now.


templateUrl does not work

Hi I have been trying to split my app up into templates. I have a component like below
import {Component} from "@angular/core";

@Component({
    moduleId: module.id,
    selector: "home",
    templateUrl: 'home.html'
})
export class HomeComponent {}

This component is in /app/home/home.component.ts
And template is here /app/home/home.html
However when i run this i get the error
JS: EXCEPTION: Error: File /data/data/org.nativescript.groceries/files/app/home/home.html does not exist. Resolved from: /data/data/org.nativescript.groceries/files/app/home/home.html
Package.json
{
  "name": "Groceries",
  "version": "1.0.0",
  "description": "A NativeScript-built iOS and Android app for managing grocery lists",
  "repository": {
    "type": "git",
    "url": "https://github.com/nativescript/sample-Groceries.git"
  },
  "keywords": [
    "NativeScript"
  ],
  "author": "TJ VanToll<EMAIL_ADDRESS>(http://tjvantoll.com/)",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/nativescript/sample-Groceries/issues"
  },
  "homepage": "https://github.com/nativescript/sample-Groceries/groceries",
  "nativescript": {
    "id": "org.nativescript.groceries",
    "tns-ios": {
      "version": "2.1.0"
    },
    "tns-android": {
      "version": "2.1.1"
    }
  },
  "dependencies": {
    "@angular/common": "2.0.0-rc.3",
    "@angular/compiler": "2.0.0-rc.3",
    "@angular/core": "2.0.0-rc.3",
    "@angular/http": "2.0.0-rc.3",
    "@angular/platform-browser": "2.0.0-rc.3",
    "@angular/platform-browser-dynamic": "2.0.0-rc.3",
    "@angular/platform-server": "2.0.0-rc.3",
    "@angular/router": "3.0.0-alpha.7",
    "nativescript-angular": "0.2.0",
    "tns-core-modules": "2.1.0"
  },
  "devDependencies": {
    "babel-traverse": "6.7.6",
    "babel-types": "6.7.7",
    "babylon": "6.7.0",
    "filewalker": "0.1.2",
    "lazy": "1.0.11",
    "nativescript-dev-typescript": "^0.3.2",
    "typescript": "^1.8.10"
  },
  "scripts": {
    "android": "tns run android --emulator --device=android",
    "hot:android": "tns livesync android --emulator --watch"
  }
}

If you look at the paths in the example project's pages:
https://github.com/NativeScript/sample-Groceries/blob/master/app/pages/login/login.component.ts#L18
You can see they use a path relative to app/
Try home/home.html

Tried this also. But still get the same issue

Hello @el-davo
As @m-abs has pointed out, the path in templateUrl is relative to your app folder.
However, in your case you ar using moduleId: module.id, and moduleId is used to resolve relative paths for your stylesheets and templates as it says in the Angular documentation.
So in your case you can try the following solutions:
1.) Do not use moduleId and pass the relative path to your template based on the root app directory (e.g. templateUrl: 'home/home.html')
2.) Use moduleId: module.id and pass the path of your template against your component.
For example in your case this should work out as expected:
import {Component} from "@angular/core";

@Component({
    moduleId: module.id,
    selector: "home",
    templateUrl: './home.html'
})
export class HomeComponent {}

You can find basic sample illustrating this behaviour at this link

Thanks @NickIliev, option 2 works. Feel free to close

Definitively the option 2 works perfect!!!

I think we should point out this point in the tutorial, cause it stuck me quite a lot time :p @NickIliev

Thank you @NickIliev, because of your answer it did not take me long to find and fix this error!  Google has indexed this answer as one of the top answers when searching "nativescript templateurl"!


Add archiving functionality for containers

This request was fulfilled by creating a generic way to push changes down the hierarchy tree. If a property is added to the propagated_properties list on the config in containerhandler.py, and PUT with a payload containing that property will also be applied to children of that object. For example, if a project is marked as 'archived': true, all sessions and acquisitions under that project will also be marked as archived.
All calls to get_all on a container will only return unarchived objects unless an archived=true flag is passed in the request.
Some assumptions/decisions made:

direct GET requests on a specific object will return the object regardless of archived status
currently only allows the entire payload to be propagated values or not, throws a 400 if the payload is of mixed property types (this could be changed in the future by creating a different payload on the fly for the child objects instead)
only does input and mongo validation on original container type being updated (checking the entire tree each time would only check that the API writers didn't add something to the propagated values list that shouldn't logically be in there)
eventually permissions changes and other changes that push down the hierarchy tree can be rolled into the list
the PUT will still return modified: 1 when many documents are modified.

Closes #187

LGTM, but haven't tested.
@rentzso: Could you please do a review?

LGTM pending some tiny changes


Default super user not completely disabled in new cluster

I am using v1.1.0 of the operator. Here is my cassdc spec:
apiVersion: cassandra.datastax.com/v1beta1
kind: CassandraDatacenter
metadata:
  name: multi-rack
spec:
  clusterName: multi-rack
  serverType: cassandra
  serverVersion: 3.11.6
  managementApiAuth:
    insecure: {}
  size: 9
  racks:
  - name: us-east1-b
    zone: us-east1-b
  - name: us-east1-c
    zone: us-east1-c
  - name: us-east1-d
    zone: us-east1-d
  storageConfig:
    cassandraDataVolumeClaimSpec:
      storageClassName: server
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 5Gi

A quick test:
$ kubectl -n cass-operator exec -it multi-rack-multi-rack-us-east1-b-sts-0 -c cassandra -- cqlsh -u cassandra -p cassandra -e "select host_id from system.local"

 host_id
--------------------------------------
 f4164706-863f-45a9-9f6c-52860f61057f

And then another test to see what is in system_auth.roles:
$ kubectl -n cass-operator exec -it multi-rack-multi-rack-us-east1-b-sts-0 -c cassandra -- cqlsh -u cassandra -p cassandra -e "select * from system_auth.roles"

 role                 | can_login | is_superuser | member_of | salted_hash
----------------------+-----------+--------------+-----------+--------------------------------------------------------------
 multi-rack-superuser |      True |         True |      null | $2a$10$RcQf5.S1cQrOhI/8Jee8ZetGB434HB2tUE31d9glyPC4XX3q3f4PK
            cassandra |     False |        False |      null |

can_login and is_superuser are False for the cassandra user which is good, but there are a couple things that are bad IMO:

The cassandra still exists at all
The cassandra user is able to query system_auth tables which contain sensitive info

I assumed the following settings in cassandra.yaml:
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer

I was surprised though to find
authenticator: AllowAuthenticator
authorizer: AllowAuthorizer

This surprised me because in a stock Cassandra 3.11.x you cannot create a super user when auth is not enabled. I did a quick test with a 3.11.6 cluster that I created with ccm:
$ ccm node1 cqlsh -- -u cassandra -p cassandra -e "CREATE ROLE admin WITH SUPERUSER = true AND PASSWORD = 'admin'"
<stdin>:1:Unauthorized: Error from server: code=2100 [Unauthorized] message="Only superusers can create a role with superuser status"

My expectations are as follows:

The cassandra user cannot log in or
The cassandra user is removed (preferred)
And authentication and authorization are enabled by default

This happens in the management-api.  When discussing this feature we thought not creating the C* user wasn't enough. Since the C* will create the superuser if when it starts a chance the C* user could be created at some point in the future. So we create it and disable it.
What's surprising is that can_login = False yet cqlsh lets it in?

I spoke to @jsanda at this and we thought it was likely to be about Cassandra having auth off by default - which we could fix with the idea of a more opinionated default config in the CassDC.

What's surprising is that can_login = False yet cqlsh lets it in?

This surprised me as well. @tjake does the management-api disable the default superuser by directly updating the system_auth.roles table?

which we could fix with the idea of a more opinionated default config in the CassDC

In general users should have auth enabled, so I think it is worth considering having it enabled by default. Far too often users decide to enable auth after a cluster is already running in production, and there is a non-trivial amount of work involved to make the switch.

This is more of an issue of Cassandra defaults, and k8ssandra is inheriting more of this end-to-end usability and wiring work.


refacto:  amountToString must add a whitespace between ticker and amount

Description
Because amountToString just concatenate ticker and amount, many parts of the ETH code are dedicated to manually add a whitespace to the ticker before sending it to this function
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ] Tests
[ ] Documentation
[X] Other (for changes that might not fit in any category)

Done in #392


fix: Process formattedDate type response

Summary | Résumé
When we previously rolled out the formattedDate component the reliability container was not updated with the ability to process/format the response type.

Tested locally -- works.


No sql file

download database from here
https://github.com/thasneemilm/CodeIgniterESMS092015/blob/master/codeigniter3tests (1).sql

download database from here
https://github.com/thasneemilm/CodeIgniterESMS092015/blob/master/codeigniter3tests (1).sql

download database from here
https://github.com/thasneemilm/CodeIgniterESMS092015/blob/master/codeigniter3tests (1).sql

Better to create PR for this

download database from here
https://github.com/thasneemilm/CodeIgniterESMS092015/blob/master/codeigniter3tests (1).sql

Better to create PR for this

PR means

PR means

PR means

Pull request

PR means

Pull request


[WIP] Fixes in maintainer

Coverage decreased (-0.009%) to 86.854% when pulling 6f16e141406f070620c5489724af2f2ea27292d7 on fix-maintainer into c683e1cb21d4ded9d07be28038d49b92d6094a12 on master.


Show progress of profiling

Is your feature request related to a problem? Please describe.
It's unclear where the Data Profiler is currently at in terms of processing
Describe the outcome you'd like:
A progress bar (number of columns or percent of data) would be super useful.

PR for this issue: https://github.com/capitalone/DataProfiler/pull/90


gCNV refactoring and code improvement

[ ] factor I/O methods out of CoverageModelEMWorkspace and to a new class
[ ] shrink the exposed API
[ ] rename/refactor CopyRatioCallingMetadata appropriately
[ ] rename/move MathObjectAsserts to test

Issue moved to broadinstitute/gatk #2979 via ZenHub


Refactor Azure DevOps provider to use PR iterations for change detect…

User description
…ion, improving accuracy of diff file identification

PR Type
Enhancement

Description

Refactored Azure DevOps provider to utilize PR iterations for detecting changes, enhancing the accuracy of diff file identification.
Updated error logging to use formatted strings for better readability and maintenance.
Removed the previously used commit-based change detection logic, simplifying the codebase.

Changes walkthrough 📝
Relevant filesEnhancement

azuredevops_provider.pyRefactor Azure DevOps Provider to Use PR Iterations

pr_agent/git_providers/azuredevops_provider.py
Refactored to use PR iterations instead of commits for change detection.  Improved error logging with formatted strings.  Removed outdated code related to commit-based change detection.

+52/-28

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/review auto_approve

@SagiMedina this is a competitor for the most severe bug ever ...

/similar_issue


BLE: Fix race condition when terminating connection immediately.

With recent changes to the code, we're terminating the BLE connection on the mdoc side just a bit earlier which causes the mdoc reader to sometimes receive an incomplete SessionData message which it fails to decode as proper CBOR. Incomplete because it's about 500 bytes shorter than what was sent from the mdoc. This would happen about 1 in 10 times on a setup with a Pixel 8 Pro as the mdoc and Pixel 7a as the mdoc reader.
After digging a while it turns out this is caused by one of the GATT writes strangely going missing. The reason for this is that sendMessage() causes drainWritingQueue() to be called and the guarding logic - writeIsOutstanding - didn't work. So we ended up doing two writes to a characteristic without waiting for the other end to report that they read for it.
Simplify all this code so we only drain the queue from sendMessage() if it's empty to begin with.
Manually tested the fix doing around 50 transactions (NFC Negotiated Handover + mdoc BLE central client mode), no flakes.
Test: Manually tested.

I'm happy to see these (both this & #673) quality of life improvements – any information when these would be published to the Maven repository?

I'm happy to see these (both this & #673) quality of life improvements – any information when these would be published to the Maven repository?

Yes, we're almost done breaking things (porting everything to Kotlin, adding iOS support, etc) and almost ready to start commit to some kind of stability and do a release later this month and then every couple of months!


fix: scale generation for scatterplot

fixed issue #332
One potential problem is that the partial spec need to follow the format (s, 0) for scale ids.
For other entities like marks or encoding, following the format (eg. (m,0)) can guarantee the max number of such entity. Otherwise, it would refer to the max number of additional entity.
I'll try to fix this.

It's fine if we use the special format for additional entities. We can always limit the actual number of entities with an aggregate constraint.

reuse encoding ids for scale id generation.
hard constraints are used to ensure no duplicate channels.
tested with partial specs that both include and exclude scales.


Introduce a Gitea DevService

Fixes #140

@gastaldi you rock!

One thing I haven't figured out yet is how to configure a user and create a test repository when starting up the service, but we can iterate on that later

Support for Admin user and password added! Now to create a repository

I'll defer the repository creation to another PR.

@gastaldi came in to say that it works fine, but we should probably add a mechanism for creating users etc, but you beat me to it!


fix home/end in Chrome

using command+left/right in a github issue textbox will scroll to the top and bottom of page, but using ctrl+a/e works as expected. But it's possible that this might behave differently on other machines, so it's worth testing.

@simonLeary42
We are open to testing.
https://github.com/Strong-Foundation/Karabiner-Elements-Remapping


add --disable-certificate-verify command line argument

Expected Behavior
Kopf does not validate the SSL certs, so that it will not fail with [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1056)
Actual Behavior
SSL certs validation is enforce, and kopf run fails with [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1056) if run out of cluster.
Steps to Reproduce the Problem

kopf run app.py --verbose --standalone

Specifications

Platform: PRETTY_NAME="Fedora 30 (Workstation Edition)"
Kubernetes version:

Client Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.4+7bd2e5b", GitCommit:"7bd2e5b", GitTreeState:"clean", BuildDate:"2019-05-19T23:52:43Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.0+d4cacc0", GitCommit:"d4cacc0", GitTreeState:"clean", BuildDate:"2019-04-10T17:49:11Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}

Python version: Python 3.7.3

Python packages installed:

aiohttp==4.0.0a0
aiojobs==0.2.2
appdirs==1.4.3
async-timeout==3.0.1
attrs==19.1.0
black==19.3b0
cachetools==3.1.1
certifi==2019.6.16
chardet==3.0.4
Click==7.0
daiquiri==1.5.0
google-auth==1.6.3
idna==2.8
iso8601==0.1.12
kopf==0.19rc1
kubernetes==10.0.0
multidict==4.5.2
oauthlib==3.0.2
pip==19.1.1
pyasn1==0.4.5
pyasn1-modules==0.2.5
pykube-ng==0.25
python-dateutil==2.8.0
pytz==2019.1
PyYAML==5.1.1
requests==2.22.0
requests-oauthlib==1.2.0
rfc5424-logging-handler==1.4.3
rsa==4.0
sentry-sdk==0.10.1
setuptools==41.0.1
six==1.12.0
thoth-common==0.9.1
toml==0.10.0
tzlocal==2.0.0b2
urllib3==1.25.3
websocket-client==0.56.0
wheel==0.33.4
yarl==1.3.0

To achieve the desired goal of ignoring the SSL certificate validity, please use @kopf.on.login() handlers to produce a kopf.ConnectionInfo(..., verify=False, ...) instance.
To make it more simple, kopf.login_via_pykube() and kopf.login_via_client() can be used inside of the handler instead of own config parsing, of which the returned ConnectionInfo object can be modified with dataclasses.replace(result, verify=False).
Few examples can be found here:

Docs: https://kopf.readthedocs.io/en/latest/authentication/
Example: https://github.com/zalando-incubator/kopf/blob/master/examples/13-hooks/example.py

The custom authentication methods were pre-released in kopf>=0.23rc1 and will be normally released (kopf>=0.23) in few days. See the 0.23rc1 release notes.
Please report any issues with the new custom authentication methods if they do not work as expected.


WIP: PubSub ExtendedPropertiesBindings doesn't seem to propagate default settings

This is a followup to #1039 and #1036.
@meltsufin @artembilan
It seems like the default extended properties binding support doesn't quite work yet; I have an example unit test in this PR to demo this. In the test, I set the default value of auto-create-resources to false and will now expect the 2 bindings to also have auto-create-resources=false, but they retain the value of true.
Run:
cd spring-cloud-gcp-pubsub-stream-binder/
mvn -Dtest=PubSubExtendedBindingsPropertiesTest test
To try fixing the problem, I modified PubSubConsumerProperties to implement  MergableProperties. This follows what is done by Kafka in KafkaConsumerProperties.
It turns out that implementing MergableProperties does propagate the default values but with 2 caveats:

The interface is marked "Not intended for public use" in the API docs
While the default value is propagated, it doesn't seem like you can override the default values with additional properties being set.

Any suggestions on how to proceed here?

While the default value is propagated, it doesn't seem like you can override the default values with additional properties being set.

Is your point that when we have a configuration like this:
spring.cloud.stream.gcp.pubsub.default.consumer.auto-create-resources=false
spring.cloud.stream.gcp.pubsub.bindings.input.consumer.auto-create-resources=true

The value is set to false anyway?
Looks like this test in Kafka Binder confirms that everything is OK: https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/blob/master/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/integration/KafkaBinderExtendedPropertiesTest.java#L55

While the default value is propagated, it doesn't seem like you can override the default values with additional properties being set.

Is your point that when we have a configuration like this:
spring.cloud.stream.gcp.pubsub.default.consumer.auto-create-resources=false
spring.cloud.stream.gcp.pubsub.bindings.input.consumer.auto-create-resources=true

The value is set to false anyway?
Looks like this test in Kafka Binder confirms that everything is OK: https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/blob/master/spring-cloud-stream-binder-kafka/src/test/java/org/springframework/cloud/stream/binder/kafka/integration/KafkaBinderExtendedPropertiesTest.java#L55

Yes that is correct. I saw that too and was unsure why this was not working for us. I was wondering if there was any other detail we may have missed which may cause this problem; similar to the detail where we were missing MergableProperties.

Hm. Let's ping @sobychacko as original contributor for this default feature!

Hm. Let's ping @sobychacko as original contributor for this default feature!

Sounds good. I have modified the test so it now reproduces the issue with the defaults not being overridden.

Guys, just an FYI, we're looking at it from the core framework perspective. Don't have an answer at the moment but stay tuned. The issue did come up in other discussions so it has been prioritized

@dzou This issue is resolved in core. Please re-run your tests and verify the issue is fixed on your end.
cc/ @artembilan

Thank you, will do.

Hi guys, I made the changes to make the test pass on Travis again. PTAL.


BUG: Timestamp subtraction of NaT with timezones

Closes #11718.

Ops with NaT and Timestamp with tz results in NaT
Ops with NaT and DatetimeIndex /  TimedeltaIndex results in corresponding Index filled with NaT.

@sinhrks one small comment. looks much cleaner. thanks. merge when green (or ping and I can).

Thanks, fixed to use ABCPeriodIndex. Will merge when green.

lgtm!


BadRequestError

Running this code from the documentation:
pcp.get_compounds('CC', searchtype='superstructure', listkey_count=3)
Generates the following error:

Traceback (most recent call last):
File "", line 1, in
File "c:\Python27\lib\site-packages\pubchempy.py", line 124, in get_compounds
results = get_json(identifier, namespace, searchtype=searchtype, **kwargs)
File "c:\Python27\lib\site-packages\pubchempy.py", line 109, in get_json
return json.loads(get(identifier, namespace, domain, operation, 'JSON', sear
chtype, **kwargs).decode())
File "c:\Python27\lib\site-packages\pubchempy.py", line 90, in get
response = request(identifier, namespace, domain, None, 'JSON', searchtype,
**kwargs).read()
File "c:\Python27\lib\site-packages\pubchempy.py", line 84, in request
raise PubChemHTTPError(e)
File "c:\Python27\lib\site-packages\pubchempy.py", line 1089, in init
raise BadRequestError(self.msg)
pubchempy.BadRequestError: 'Bad Request'

This preceding example from the same page works without error:
>>> pcp.get_compounds('Aspirin', 'name', record_type='3d')
[Compound(2244)]
>>>

same issue here

Great, thanks for your work and your reply!

Hey @mcs07, really thanks for your work, I was looking for something which could give me the properties of the compounds using the SMILES notation. I tried using the get_properties function using the namespace as 'smiles' but I got the same error of BadRequestError. Is there any unique for every user through which we need to call the API to this library or what? I can't really understand as to why this error pops up, the procedure is pretty simple!! Please let me know if you could help me this query...
Regards
Divyansh

sometimes props = pcp.get_properties([]) gives the results without much ado.Many times it fails to respond.

@DivyanshAgrawal22 Have you solved this problem？


[DT-15] issue resolved

created a class??? similar to what i was asked
created a script which is how i would do it (and it is without class)

Think the code overall looks fine, though I haven't tested the script or checked it against the CSV format. In terms of use of OOP we need to be clearer with what the intention is (which admittedly isn't set in stone yet...)
Probably the main thing I'd like is to allow for input of a dataframe with some fixed schema (rather than read in a CSV and process the data), but such a level of abstraction might not be necessary at this juncture. Based on our discussions on Streamlit, we can look into taking data from the SQL database and then performing some postprocessing.

Converted to draft since we'd be working on this more. I would suggest testing functionality of Streamlit by getting it to do the postprocessing we perform in this script.

i think just keep my branch up to date with the main branch


Not mapping ‘+’ version range selectors for generated pom files

This issue was moved from Jira https://issues.gradle.org/browse/GRADLE-3213 to GitHub.
Description (taken over from Jira issue)
When using version ranges like 1.+ or 1+ Gradle doesn't map this to a maven version syntax. There is no proper maven version selector syntax that represents the same range that 1.+ or 1+ represents in Gradle.
Expected Behavior
It would be very helpful for Gradle/Maven mixed teams to generate POM file with Maven valid syntax for dynamic version dependencies. E.g.
<version>[1.1.0,1.2.0)</version>

for an dependency specified in a Gradle build file as 1.1.+.
Current Behavior
Currently the following POM file content is generated.
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>platform-bln</groupId>
  <artifactId>javapos-config</artifactId>
  <version>1.55.32</version>
  <dependencies>
    <dependency>
      <groupId>platform-bln</groupId>
      <artifactId>javapos-jcl</artifactId>
      <version>1.1.+</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>thirdparty</groupId>
      <artifactId>jcl</artifactId>
      <version>2.2.0</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

The problem is the line
<version>1.1.+</version>

as it contains version syntax not processable by Maven build systems.
Context
We have two teams, one working with Maven, the other having implemented a Gradle build process. This build process relies on a 3 point version X.Y.Z where X is the major version and Y is the minor version, both maintained manually by the developers according to semantic version rules. However, the Z part is maintained automatically by our build server which increments it for every release candidate it builds (also checking in the change into the source repo). We call Z the "build number".
This works very well for the Gradle-based team. Every release candidate version is ensured to be unique; there cannot be two release candidate packages with the same full qualified version number at all (as long as the build system is implemented correctly).
The build server builds the release candidates very frequently (each night) such that the Gradle team does not want to maintain the dependencies in the projects including the build number as it would become a night mare as it changes so often and in fact does not provide any additional dependency information.
As long as every developer consider the semantic version rules (which every one is required), the build number is not important for dependency maintenance. Therefore we are using dynamic versions in the form of "X.Y.+" to maintain the dependencies.
This fits well to our version model and together with the Gradle caching provides a very good build experience.
The problem come in the first time when the Maven team wanted to add a dependency to one of our components. The maven dependency resolution system just fails as it tried to get a version "X.Y.+" which of course does not exist in our Nexus repository.
Steps to Reproduce
Just publish a package to a Maven's Nexus repository with dynamic dependencies (those with a dynamic marker '+'  at the end) instead of explicit versions. The POM file will contain the dynamic markers too.
Your Environment
Not important here, as it is a principle problem.
Workaround
The workaround replaces the Ivy/Gradle version range syntax with '+' at the end by the equivalent Maven version range syntax defined at http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html.
It uses a post configuration hook provided by the maven plugin:
uploadArchives.repositories.mavenDeployer.pom*.whenConfigured { pom ->
	pom.dependencies.each { dep -> dep.version = dep.version.replaceFirst('(\\d+(\\.\\d+)*)\\.?\\+', '[$1.0,)') }
}

The code example is derived from Example 31.7 "Modifying auto-generated content" https://docs.gradle.org/3.0/userguide/maven_plugin.html.
It should properly handle all kinds of dynamic dependency versions like 2+, 2.+, 3.2+, 3.2.+, 4.2.1+, 4.2.1.+ (shortly tested).

One problem is that many projects use the Maven POM format with both Gradle producers and consumers. Since we don't have an exact 1:1 mapping between 1.+ and the Maven version range, we don't want to do this mapping for Gradle consumers.
For this reason, we can't simply map to the Maven version range syntax whenever we publish. There are a couple of options:

Make it possible to declare whether a generated POM is destined for consumption by Maven, or just by Gradle. Do the conversion when publishing for consumption by Maven.
Add a better version range syntax for Gradle, that permits a non-lossy conversion in the Maven version range syntax.

Seems I missed something. I thought, there is a unique mapping from Gradle to Maven version expressions. Of course, it is not a bi-directional mapping, more a partial one (means, there are Maven representations which do not map to a Gradle version representation). However, the mapping from Gradle to Maven version representation should be unique. But that's what's important!
@bigdaz Could you please provide an example, where mapping from a dynamic Gradle version to Maven is ambiguous and would produce 2 or more Maven representations?
I tried to figure it out for my self, as it seems my work around is not completely valid: Here is the table from http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html enriched by an Gradle version column to map from.

Range
Meaning
Gradle dynamic version representation

1.0
x >= 1.0 * The default Maven meaning for 1.0 is everything (,) but with 1.0 recommended. Obviously this doesn't work for enforcing versions here, so it has been redefined as a minimum version.
no representation applicable; however, I would recommend to map this to the Gradle version representation '1.+' assuming a semantic versioning schema as '1.0' is the version kind which is almost used in POMs; I'm not sure, but I guess, it is already done that way today?

(,1.0]
x <= 1.0
no representation applicable

(,1.0)
x < 1.0
no representation applicable

[1.0]
x == 1.0
1.0

[1.0,)
x >= 1.0
no representation applicable (that was my workaround)

(1.0,)
x > 1.0
no representation applicable

(1.0,2.0)
1.0 < x < 2.0
no representation applicable

[1.0,2.0]
1.0 <= x <= 2.0
no representation applicable

[1.0,2.0)
1.0 <= x < 2.0
1.+  (added by me, was not in the original table)

(,1.0],[1.2,)
x <= 1.0 or x >= 1.2. Multiple sets are comma-separated
no representation applicable

(,1.1),(1.1,)
x != 1.1
no representation applicable

It seems there are only 2 lines of the table applicable as mapping from Gradle to Maven version representation.

Gradle version representation
Maven version representation
Meaning

1.0
[1.0]
x == 1.0

1.+
[1.0,2.0)
1.0 <= x < 2.0

So, the mapping from Gradle versions to Maven version representation is unique but not vice versa.
Gradle could provide a valid version representation for Maven consumers of Gradle dependencies.
However, Gradle could not provide a Gradle version representation for Gradle consumers of Maven dependencies for any case. But that was also the case before. Gradle could made the "world" a little bit better by providing at least a valid mapping for Maven consumers...
... And of course, in our company we have Maven consumers as well as Gradle consumers. So, I'm very interested in getting this figured out for both cases. :-)
BTW: Would Gradle be able to handle version representations like '[1.0,2.0)' appearing in POM files quite well?

This has been discussed in depth before:
https://groups.google.com/forum/#!msg/gradle-dev/wMkBhc-05tA/SZCvsIP23jQJ
https://groups.google.com/forum/#!msg/gradle-dev/owj_dKEqrKQ/OU6UNj5LwcIJ
I don't want to suggest that we shouldn't do anything, but in the past we've always ended up deciding that adding a new semantic version range syntax for Gradle would be preferable to mapping our current string matching syntax to a semantic on in POM files.

Thanks for the links. That was what I was locking for before contributing to https://issues.gradle.org/browse/GRADLE-3213 but never found... :-(
Due to the mentioned discussion I understand the problem now deeper (I've never used Maven, so I'm not really familiar with their version semantic in detail).
So, my conclusion is, until Gradle does not get a more refined semantic version schema we have to use our own workaround to support Maven and Gradle teams from Gradle published components. It's quite clear that the work around will never solve it for any case. But setting up some constraints for a cross-team versioning schema a valid work around should be possible for us.
To realize that workaround, however, I'm lacking some information (not sure whether this documentation is elsewhere): Which mapping is implemented in Gradle for mapping POM version information back to Gradle version information?
@breskeby mentioned that the implementation is done. However, I could not exactly figure out what was implemented...
Could some one of the Gradle team elaborate on that , or point me to the already done documentation or the implementation of the that mapping?

Duplicate of #1232


Still being developed?

Just wondering if this is still alive? Haven't seen any updates in some time.

Yes, I've just been very busy with the release of Nabu Casa's voice hardware.

Yes, I've just been very busy with the release of Nabu Casa's voice hardware.

Thank you, appreciate all your hard work. Happy holidays.


Add API error codes that clearly indicate the different ways authentication has failed

These varying error codes will let the UI react and inform the user differently depending on the situation.
Probably need to coordinate with @vincent99 on what scenarios he cares about.

From: https://github.com/rancher/rancher/issues/11214

[ ] No password in field error message should say "Current Password required" and should be left justified.

[ ] Incorrect password error message should be "Invalid Current Password" (Capitalize the first letter of each word) and should be left justified


Request: Singlepage view mode

So this one is quite similar to #598  in that i wish to be able to view all the answers given on a single page. The main difference is that i don't want to have to navigate past all the pages of the survey to get to it, so basically its the same feature (or same page) but with a different way to get to it.
Two birds with one stone!
The use case for this would be after a user has submitted their survey, you could use this for example to save the results to a pdf using tools like wkhtmltopdf, print it out on paper or even for an admin to get a fast overview of whats going on with the answers.
I would imagine something like this should be easy to use
            var survey = new Survey.Model(surveyJSON);
            survey.data = answers;
            $("#surveyContainer").Survey({
                model: survey,
                reviewMode: true
            });

or even reviewMode: 'singlepage' if you foresee other modes in the future.

@Noino It is definately make sense. We had several requests with this functionality already. I have added the issue to the project ideas. We will likely implement it in the next versions.
Thank you,
Andrew

@Noino It has been implemented, set properyt survye.isSinglePage to true
survey.isSinglePage = true;
Thank you,
Andrew


Feature Request: Action-Alias private/public flag

SUMMARY
In certain ChatOps cases it is desirable to limit action-alias triggers/results to a public or private channel for data privacy reasons.
ISSUE TYPE

Feature Idea

STACKSTORM VERSION
N/A
OS / ENVIRONMENT / INSTALL METHOD
N/A
STEPS TO REPRODUCE
To support this feature, the action-alias data structure could be extended to include a privacy flag at the root and result level.  The privacy flag accepts a string type with valid values being:
trigger privacy

public: action-alias triggered only in a public channel.
private: action-alias triggered only in a private channel.
any: action-alias triggered in either public or private channel.

result privacy

public: action-alias result sent to public channel only.
private: action-alias result sent to private channel only.
any: action-alias result sent to either public or private channel.

The flags combinations  would imply the following behaviour:

ActionAlias
Privacy flag

Response

Triggered
Trigger
Result

--
--
--
--

public
private
private
reject trigger

public
private
public
reject trigger

public
private
any
reject trigger

public
public
private
result to user

public
public
public
result to channel

public
public
any
result to channel

public
any
private
result to user

public
any
public
result to channel

public
any
any
result to channel

--
--
--
--

private
private
private
result to user

private
private
public
reject trigger : public channel not available with 1 to 1 communication.

private
private
any
result to user

private
public
private
reject trigger

private
public
public
reject trigger

private
public
any
reject trigger

private
any
private
result to user

private
any
public
reject trigger : public channel not available with 1 to 1 communication.

private
any
any
result to user

YAML definition would permit the addition of these items in an action-alias definition.
privacy: <"public"|"private"|"any">
result:
  privacy: <"public"|"private"|"any">

It is the calling codes responsibility to interpret and apply the correct meaning of public, private, any in the context of the backend being used.
EXPECTED RESULTS
As an example of ChatOps using the Slack backend:
---
name: "kitten"
pack: "kitten"
description: "Post a kitten picture to cheer people up."
action_ref: "core.noop"
privacy: "any"
formats:
  - "kitten pic"
ack:
  enabled: false
result:
  privacy: "public"
  format: "your kittens are here! {~} Regards from the Box Kingdom."
  extra:
    slack:
      image_url: "http://i.imgur.com/Gb9kAYK.jpg"
      fields:
        - title: Kitten headcount
          value: Eight.
          short: true
        - title: Number of boxes
          value: A bunch.
          short: true
      color: "#00AA00"

In the above example the bot would enforce !kitten pic to be triggered in a public channel with the result being sent to that public channel.

Interesting! I like it. It's orthogonal to ChatOps RBAC, since that deals more with the (eventual) result of the execution instead of the user who is requesting the execution.
A few notes:

The ack from the alias should be always sent to the originating channel
"It is the calling codes responsibility to interpret and apply the correct meaning of public, private, any in the context of the backend being used." The chatops.post_result or chatops.post_message actions might be able to handle this, so workflow authors don't need to concern themselves with responding to the "correct" channel.

I would be interested in a PR implementing this.

Great! I'm glad you think this is a worth while proposal.  Regarding the notes:

Agreed, the ack will always be sent to the originating the channel.
I'm not sure chatops.post_result or chatops.post_message would be the right place to handle the meaning of public/private/any.  The issue I see is these actions have no real concept of the chat backend implementations:

e.g.
Is Slack id D11LRK2LF a user or a room?
How does the action know it's a Slack Id?
How should an action classify<EMAIL_ADDRESS>XMPP, email, another backend?
There may even be backends that don't support the notion of private/public.
I think if the bot (the calling code) can access the action-alias definition, it will be able to enforce the notion of privacy with more certitude.
I've taken a quick look at the code, I think I could produce the needed changes but would probably need a bit of assistance to make sure it is up  StackStorm standards.  Last change I wrote a change like this (the action-alias help API) it had to be largely rewritten.

I've taken a quick look at the code, I think I could produce the needed changes but would probably need a bit of assistance to make sure it is up StackStorm standards. Last change I wrote a change like this (the action-alias help API) it had to be largely rewritten.

You can use GitHub's Draft PR feature, and then just push your changes early and often for our review.

In a similar request (maybe piggy back off the same feature set), i'd like to be able to disable the bot from responding to private messages all together. Reasoning is that i want all actions to be logged in a common chat room, so that the entire team can see what is being done.

i'd like to be able to disable the bot from responding to private messages all together

Maybe this can be done through some global config options (option sets) in /etc/st2/st2.conf.
[chatops]
default_privacy_accept_triggers: any
default_privacy_send_results: any
force_privacy_accept_triggers: false
force_privacy_send_results: false

or instead of `force' maybe:
allowed_privacy_accept_triggers: any,public,private
allowed_privacy_send_results: any,public,private