Store config in metadata

This PR is for #61
I have made changes so it stores the config in object metadata instead of using the editor_description property.
It can still load config from the editor_description property if it exists. But if import is run again it will store the config in metadata and clear the editor_description property, but only if it is containing aseprite-wizard config.
As I previously mentioned in issue #61 this data does get included in the exported game.  I did workout how to make it so it could remove this data on export but have not included it yet because I think there should be some discussion bout this. Some talking points:

Should it be a feature you can toggle on/off.
What export performance implications are there.

Thank you. Let me know when it's ready to be tested and I can run some tests on my side.
About the EditorExportPlugin. I think this is optional. You mentioned in the issue that the editor_description is already included in the scene meta, so there is virtually no change on what is shipped. Also, the meta size is probably less than adding a node to the scene.
If you see it as a good improvement, we can totally have it as an extra feature toggled off by default. Once we prove it does not conflict with other plugins we can move it to on by default. But if this increases too much the complexity, I would leave it out. At least for the first version.

The reason I looked into the EditorExportPlugin was because I noticed that if you use an aseprite file that is outside the project folder the path used is the fully qualified path. Could possibly expose personal data. Not including the image in the project probably not that common. At least if you putting your project in source control. Probably a low risk.
If you are happy with what I have done so far I could change PR to ready for review. We could leave the EditorExportPlugin for a later PR if you like.

Could possibly expose personal data

this is a really good point. In this case, the cleanup seems a big part of it and we shouldn't have one without the other. Maybe the whole feature should be behind a settings option for the first version.

Something like this for metadata option?

What about the option for turning the export option on/off. Should that be in it's own tab called "Export"?

I added the EditorExportPlugin with an option to enable it. Not sure about that name. Currently you have to reload the project for that setting to take effect. Which seems to be the same behavior as the enable importer plugin setting.

Not sure about the EditorExportPlugin implementation. I tested it. It does what I want it to do (remove metadata). Not sure if I did it the best way.
If you are generally ok with it I can change to ready for review.

Hello @dfkeenan . This is looking great.
About the export plugin config. Given the proximity/dependency with the Use metadata option, I would leave it under same category ("storage"). One suggestion for the config name is Enable metadata removal on export, but honestly this is subjective and I'm fine if you prefer the way it is.
I'll find some time to run some extra tests on my side this week and I think it will be good to go. Thank you!

I don't have a problem with changing location and name of that config setting. That does sound better. I probably won't get to it until next weekend.

I have made the suggested config change. I think the PR is ready for review.

Thanks again. It works great. I'll merge this and release in the next version. 🚀


Not possible to add metadata to medias

I'm trying to add metadata to an uploaded media but I get the following error :
{
    "request": "/1.1/media/metadata/create.json",
    "error": "Invalid json payload."
  }

Here is the Twitter doc : https://dev.twitter.com/rest/reference/post/media/metadata/create.html
My guess is that the request header and/or body needs to be changed in this case.

I get a 400 error when I try to add metadata. Here's what my request and error look like:
data = await readFile();
media = await client.post("media/upload", { media: data });
alt_text = "foobar";
client.post("media/metadata/create", {
    media_id: media.media_id_string,
    alt_text: {
        text: alt_text
    },
});

400 error response
Error: HTTP Error: 400 Bad Request
    at Request._callback (/home/my-repo/node_modules/twitter/lib/twitter.js:180:25)
    at Request.self.callback (/home/my-repo/node_modules/request/request.js:185:22)
    at Request.emit (node:events:390:28)
    at Request.emit (node:domain:475:12)
    at Request.<anonymous> (/home/my-repo/node_modules/request/request.js:1154:10)
    at Request.emit (node:events:390:28)
    at Request.emit (node:domain:475:12)
    at IncomingMessage.<anonymous> (/home/my-repo/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (node:events:509:28)
    at IncomingMessage.emit (node:events:402:35)
node:internal/process/promises:246
          triggerUncaughtException(err, true /* fromPromise */);
          ^

Error: HTTP Error: 400 Bad Request
    at Request._callback (/home/my-repo/node_modules/twitter/lib/twitter.js:180:25)
    at Request.self.callback (/home/my-repo/node_modules/request/request.js:185:22)
    at Request.emit (node:events:390:28)
    at Request.emit (node:domain:475:12)
    at Request.<anonymous> (/home/my-repo/node_modules/request/request.js:1154:10)
    at Request.emit (node:events:390:28)
    at Request.emit (node:domain:475:12)
    at IncomingMessage.<anonymous> (/home/my-repo/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (node:events:509:28)
    at IncomingMessage.emit (node:events:402:35)

I tried the adjustment mentioned earlier and it didn't work for me. All of the reference links are dead now,  so here's the current one: https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-metadata-create

Alright well I moved on to twitter-lite and it works:
https://github.com/draftbit/twitter-lite/blob/master/test/twitter.test.js#L219
Glad I saw this post https://github.com/desmondmorris/node-twitter/issues/333


Gallery crashes when trying to search for an icon a second time

Which version of the app?
WinUI 3 Gallery
Description
When initially accessing the icons page and performing a search for an icon, everything functions properly. However, upon attempting to repeat the process, the application crashes.
Screenshots
https://github.com/microsoft/WinUI-Gallery/assets/126014478/f4fbd2b9-8699-4fe9-9554-f50a99b110b7
Windows version
Windows 11 23H2 (22631)
Additional context
I installed the app from the Microsoft Store yesterday.

did your version crashes too when access to settings? I have latest version (2.4.1 Mar 2024) running on Win11 Pro 23H2 Build 22631.3527

did your version crashes too when access to settings? I have latest version (2.4.1 Mar 2024) running on Win11 Pro 23H2 Build 22631.3527

yes, but this is not an issue when I build the app myself.
not sure about the icons though, as I don't have the repository cloned right now.

Resolving as dupe of #1500


prost-wkt-derive required

Hi, I got here from https://github.com/danburkert/prost/issues/277. I'm trying to get serde json serialization working (no Any is okay).
When I follow the README, I get this error:
$ cargo build
    Updating git repository `https://github.com/fdeantoni/prost`
    Updating git repository `https://github.com/fdeantoni/prost-wkt`
    Updating crates.io index
error: no matching package named `prost-wkt-derive` found
location searched: https://github.com/fdeantoni/prost-wkt#9eb414fa
required by package `prost-wkt v0.1.0 (https://github.com/fdeantoni/prost-wkt#9eb4
14fa)`
    ... which is depended on by `team_heist_tactics v0.1.0 (/Users/dport/github/te
am_heist_tactics)`

I wonder if this is a private repo for you?
Thanks!
Update: I tried to pull the repo myself and build and it seems the derive directory and crate is missing.

Sorry about that! For some reason my IDE was marking it as managed by remote but it was not! I just pushed the latest with the missing sub project. Let me know if it works properly now.

That worked to fix this issue!
Saying that, it does not seem to succeed for my project. I've tried various permutations of the derives to add and the rename_all field and I always end up with one of these errors.
error: #[serde(default)] can only be used on structs with named fields
   --> /Users/dport/github/team_heist_tactics/target/debug/build/team_heist_tactics-295488de4f141a52/out/types.rs:157:5
    |
157 | pub enum HeisterColor {
    |     ^^^^

error: cannot find derive macro `Serialize` in this scope
   --> /Users/dport/github/team_heist_tactics/target/debug/build/team_heist_tactics-295488de4f141a52/out/types.rs:141:14
    |
141 |     #[derive(Serialize, Deserialize)] #[serde(default, rename_all="camelCase")]
    |              ^^^^^^^^^

This snippet isn't super helpful probably, so I've left these broken changes in prost_wkt_demonstration branch of https://github.com/banool/team_heist_tactics if you're interested. You would just have to cargo build to see the issue. If you want a minimal repro instead because it's too much work I'd be more than happy to try and make one.
See it here: https://github.com/banool/team_heist_tactics.
Thanks for your efforts here!

No worries! Thanks for trying out this project. Your help already fixed some problems.
I reviewed your project and it looks like you actually do not need to use prost-wkt. You can just use prost and prost-types. The prost-wkt cargo will only help if you use Timestamp, Any, and/or Value. If you don't use any of these, you can just use prost-types with some tweaking of the build.rs to achieve the same. In your case, your build.rs would look as follows:
fn main() {
    let mut prost_build = prost_build::Config::new();
    prost_build
	.type_attribute(".types.MainMessage.body", "use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize)]")
	.type_attribute(".types.InvalidRequest", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.Move", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.GameState", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.GameStatus", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.Player", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.Ability", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.Heister", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.WallType", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.SquareType", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.Square", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.Tile", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.MapPosition", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.TilePosition", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.HeisterName", "#[derive(Serialize, Deserialize)]")
	.type_attribute(".types.HeisterColor", "#[derive(Serialize, Deserialize)]")
        .compile_protos(
            &[
                "src/types.proto"
            ],
            &["src/"],
        )
        .unwrap();
}

Its a bit unwieldy as you need to define things per message since type_attribute does not support regexp or whatnot to define the message path.
With your build.rs as above, all you need to do is add the appropriate imports in your src/types.rs file as well, like so:
// Import all the proto types in this private module.
mod proto_types {
    use serde::{Deserialize, Serialize};
    include!(concat!(env!("OUT_DIR"), "/types.rs"));
}

If you do the above, your project should compile fine (I have not tested it after that though).
I have updated the README of prost-wkt to describe the above limitations as well. Hope this helps!

Amazing, that did the trick!! Thanks for updating the README too. Now to just get this merged in to prost proper 😄

Great! I will go ahead and close this issue, but feel free to create a new one if something comes up...


What is the screen resolution of the iPhone 5, 6, 6+. and iPad Air 2?

This question actually runs counter to the iOS design philosophy. We're encouraged to think in terms of size classes, not pixels or points.

This is a good point, however going to close for now.
Given the past year or two with size classes, this resolution question is probably less valuable. But it still is a metric which even given size classes, I believe is an important bit of knowledge that a designer especially should be aware of. The pixel differences between devices can very important to know in general when designing visual elements in Photoshop, Sketch, etc. So it's still somewhat useful knowledge, and I would expect any designer I hired to at least have general understanding of the screen resolutions of these devices.
Could be clarified and some size class questions should be added for sure though.


Roll Engine from 6f4143e80069 to 9eb0b50e7e59 (2 revisions)

https://github.com/flutter/engine/compare/6f4143e80069...9eb0b50e7e59
2021-10-02<EMAIL_ADDRESS>Roll Dart SDK from d50eacfa4fcd to 8c385be2c663 (2 revisions) (flutter/engine#28994)
2021-10-01<EMAIL_ADDRESS>Roll Skia from 8e29caf4c130 to 906e9eb53841 (6 revisions) (flutter/engine#28989)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


For time.Time values, is the timezone information passed onto the database query?

Your Question
The time.Time values are not passing the timezone information onto the postgres db query.
When the go environment is running in a local timezone, say Asia/Kolkata and the postgres database is in UTC, the time.Time values from a time.Now().UTC() call get interpreted by postgres as time in local timezone of the connected client. This results in the final stored value being incorrect. I am posting this as a question but believe it might be a bug.
The document you expected this should be explained
https://gorm.io/docs/conventions.html#Timestamp-Tracking
Expected answer
I would like to confirm if this is indeed a bug or is there something else I'm missing.

yes.


"Page last edited" timestamps are in GMT, not EDT

They should probably be EDT because that's where we're based.

Fixed by https://github.com/cfpb/design-system/pull/490.


Add detailed error messages on flow drops

Adds more detailed error codes for each flow drop because of policy. Will help identify any problems.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1204",
    "commit-sha": "dd2400087ef5bb5f8400bf273dc9496f20f27c71"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "800",
    "commit-sha": "42d0d831ca5eaaf3ef8d88edfdc3661a988e95a8"
  }
]


Add color property to ProgressRing

Before you start...

[X] Have you updated your dependencies? You might be using an old version of the library.
[X] Have you checked if someone already requested this feature? If they have, post a comment with your use case instead.

Description
When adding ProgressRing to my SvelteKit project I was expecting the Ring to have the color that was showcased in the Docs. When going to the page I didn't even see the ProgressRing. Going to the Elements section of the dev tools I saw that the html was present, and there was a stroke color assigned from a variable (var(--fds-accent-default)), yet the circle had no color, hence it was invisible.
To add color I did the following:
<script lang="ts">
	import { ProgressRing } from "fluent-svelte";
	let circleElement: SVGCircleElement;

	$: if (circleElement) {
		circleElement.style.stroke = "red";
	}
</script>

<ProgressRing size={50} bind:circleElement />

Which is basically going around the issue. Which is:  How to set the color of the ring?
Alternative solutions
What I propose is to expose a variable called stroke on which the User can set the desirable color of the ProgressRing.
Maybe something like:
<script lang="ts">
   export let stroke: string | undefined = undefined;
<script>

<circle
    bind:this={circleElement}
    style:stroke
    cx="50%"
    cy="50%"
    r="7"
    stroke-dasharray="3"
    stroke-dashoffset={((100 - value) / 100) * circumference}
/>

If stroke is a bit confusing you could go with color like so as well:
<script lang="ts">
   export let color: string | undefined = undefined;
<script>

<circle
    bind:this={circleElement}
    style:stroke={color}
    cx="50%"
    cy="50%"
    r="7"
    stroke-dasharray="3"
    stroke-dashoffset={((100 - value) / 100) * circumference}
/>

Relevant Assets
No response

Are you importing the default theme file? It's needed to give components the correct styling through variables. https://fluent-svelte.vercel.app/docs/getting-started#step-2-add-theme-file

Yup, this does it. But what if I wish to have the process ring in another color? What would be the best way to accomplish this?

Either add a class to the ProgressRing and manually style it (note that classes on components need to be wrapped in :global()), or use style props:
<ProgressRing --fds-accent-default="red" />

Note that while the style props approach looks nicer in svelte, it will add an inline style and an extra <div> wrapper if you're okay with that.


Progressive Web app?

After the recent posting of this website on many mailing lists, a few people (especially from India) asked if this tool could be installed as an app, so that it could be used offline. This seems like a reasonable goal.
The easiest path I could think of to achieve this was to create a progressive web app so that the site could be "installed". We can leverage the existing flask/jinja templates in nunjucks and create a service worker that caches files that the user has visited recently using something like workbox, so that they can be used offline as well. I will try to test out some of these tools.
Any thoughts? @hrishikeshrt @shreevatsa

I like the idea of it being available as an app — I'm not sure why so many people prefer it to a web page, but clearly they do, so it would be useful to them.
Just to get a sense of things, what is the total size of all the audio files? (as I imagine that would dominate the size of any "app", PWA or not)
I thought Google was trying to make it easier to make progressive web apps but I've never tried it myself to see how much work it might be… support for PWAs is poorer on iOS as I hear, but anyway most of the interested people in India would be using Android phones, I imagine?

This sounds like a good idea. I'll comment a bit more soon, have been crazy busy and traveling etc in this week.

Just to get a sense of things, what is the total size of all the audio files? (as I imagine that would dominate the size of any "app", PWA or not)

The ramayaNa-audio by itself is 1.2G. I don't think it makes sense to download all of the audio. I followed up with one of the people who requested the app, and they didn't think it was necessary either - their rationale was that users will probably try to memorize a few sargas/vargas/paadas at a time. I feel that a simple and reasonable solution is to cache audio for the pages that a user visits while online. They can then listen to those files (along with the alignment) offline, but if they want to listen to something that they haven't navigated to before, they would need an internet connection.

support for PWAs is poorer on iOS

From what I can find online, e.g. here, most of the basic features needed for a PWA are supported on iOS as well. We probably don't need the fancy features such as push notifications.
I did a quick test of using nunjucks to render the templates. I was able to get them working with some modifications. So I think we have a line of sight to a PWA if we re-implement some of the python/flask code in JavaScript, and combine it with a service worker that caches resources using workbox, for example.
I am open to other suggestions as well.

PWA definitely seems like a good option for those who want to repeatedly use a small set of chapters (memorization use-case)
It also makes sense that entire audio is not downloaded at once.
I do not have experience with PWA, but I am more than willing to take a look into them (however currently there are other priorities till the end of this month).


Version 2.2.32 and image version 0.0.46

Change Description
Upgrading from version 2.2.31 to 2.2.32 with minor changes to update dependencies. VERSION-IMAGE-REDACTOR upgrading from 0.0.45 to 0.0.46, now with ability to take kwargs in for ImagePiiVerifyEngine and with a bug fix.
Checklist

[X] I have reviewed the contribution guidelines
[ ] I have signed the CLA (if required)
[X] My code includes unit tests
[X] All unit tests and lint checks pass locally
[X] My PR contains documentation updates / additions if required

Waiting to merge this until the end of the week once we have more PR(s) merged in.


Cardano token transfer

Description
Support transfer of Cardano tokens.  Fixes #2160 .
Difficulty is coming up with outputs with correct native and token amounts, and preserving any other tokens from the inputs.
Testing instructions
Cardano unit tests, *ardano*.
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Prefix PR title with [WIP] if necessary.
[x] Add tests to cover changes as needed.
[ ] Update documentation as needed.
[x] I have read the guidelines for adding a new blockchain
[x] If there is a related Issue, mention it in the description (e.g. Fixes #<issue_number> ).

Status:

Token transfer implemented, tests added, with validated TXs, plain and also max-amount

To do:

Add token transfer tests in Swift & Kotlin
More unit tests for coverage (currently Linux build fails due to coverage drop)
Generic fee improvements -- possibly in separate PR:

Optional fee in input, to plan tx with given fee, to be able to adjust fee from the UI or solve special cases
Computation of minimum amount per UTXO (see https://docs.cardano.org/native-tokens/minimum-ada-value-requirement)
Considering minimum UTXO amount in plan, for output and change
Expose UTXO minimum fee computation, may be helpful for the app (not sure if needed)

Can you add a Kotlin helper similar to Swift?

Can you add a Kotlin helper similar to Swift?

No helper needed in Android, I've added invocation to minAdaAmount to the Kotlin test as well.


No Dice

Smoking your socks I think.
Got to creating the WpfControlLibrary. UserControl1 is created and the editor does indeed open to UserControl1.xaml but thats where it ends.
<UserControl x:Class="WpfControlLibrary1.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:WpfControlLibrary1"
             mc:Ignorable="d"
             d:DesignHeight="450" d:DesignWidth="800">
    <Grid>

    </Grid>
</UserControl>

No design window here? Stuck.

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

ID: 67494678-fd83-5a07-331a-3e6565f564af
Version Independent ID: 4287fc67-3f52-e7ea-bbe2-cd41b6d3fc07
Content: Create new WPF Content on Windows Forms
Content Source: dotnet-desktop-guide/framework/winforms/advanced/walkthrough-creating-new-wpf-content-on-windows-forms-at-design-time.md
Product: dotnet-framework
Technology: dotnet-winforms
GitHub Login: @adegeo
Microsoft Alias: adegeo

Hello. Sorry for the delay in response. It sounds like something is wrong with your visual studio installation.  Can you please let me know what version of Visual Studio you're using? If you've not fixed this by now, you should probably reinstall Visual Studio. You can also try closing down your project/solution and opening JUST the WPF control project. The final thing I can suggest is using Visual Studio's menu at the top to report a problem with them directly: Help > Send feedback > Report a problem


[ASCII-1983] Remove global variable from diagnose e2e test to enable running in parallel

What does this PR do?

Remove a global variable from the diagnose e2e test, and enable running the test in parallel on Windows and Linux.
Motivation

Run the diagnose e2e test in parallel on Windows and Linux.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


how to change background

Describe your problem here.
I want the background to change in the middle of the song (psych engine)
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

you can't change the background, but you can overlay another flxsprite/lua sprite over the background and toggle it whenever.

@ShadowMario another duplicate

Hmmm here a idea use the custom events from the ben drowned mod and drag it to your mod


docs: add server concept

🔗 Linked issue

fix #21908
close #22154
❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

This PR aims to create a new getting-started page for the server directory by explaining concept and relation between Nitro and Nuxt.
Usage is not the goal of this page and is explained in the directory structure section.
📝 Checklist

[x] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

I love this section! Added some suggestion for the wording/grammar etc

Thanks you! Will take a look at them!

Updated some style, we should not add backquote for Nitro, UnJS, etc. They are not code related but names :)

Thank you - this is an essential addition ❤


Add slash to help link to pacify the linkchecker

Hmm. Can you just add an exception? This template is totally EOL.

Okay, I added an exception rule to linkcheck.


[V3] ios crash, when using StyleSheet from unistyles. moving back to react-native fixes it.

Description

This is what i see when i debug on xcode.
Steps to Reproduce
I just navigate my app and suddenly it crashes. It feels random or it happens more if i change states more. i also use dynamic functions
Snack or Repository Link (Optional)
No response
Unistyles Version
3.0.0-beta.4
React Native Version
0.76.5
Platforms
iOS
Expo
Yes

I have a calendar screen and a cell that uses unistyles seems to be the cause. I first removed the dynamic functions but it was still crashing then after i removed the import and the crash has stopped happening.

I'm happy to debug and help, but I need a repro


Display human readable date instead of unix timestamp

File to update: https://github.com/xuqingfeng/TopHackerNews/blob/main/web/src/lib/Stories.svelte

I would like to work on this one.

@Shubh8899 Let know if you still want to tackle this issue.

@xuqingfeng  yes, i am setting up the repo & would like to work on this.

OK, ping me if you need help.


Memberlist Get functions can be concurrent

@rogeralsing  From my local test, it seems completely ok for MemberList to be concurrent as long as we lock it when triggering ClusterTopologyEvent. Moreover, it gives about 40% performance gain for spawning new actors through cluster (due to concurrently GetPartition/GetActivator)
And MemberListActor is no longer needed.

I love it, more red lines than green :) and nice perf gain too

@roger yep. It just got fixed. I also fixed some naming conventions I didn’t pay a attention before. = )


Allow the search callback to return an object with a toArray method

Closes #12
Closes #22
This adds out-of-the-box support for things like Ember Data promises.
Since a toArray method is very common on collection-like implementation
this will potentially also support other use cases.
If your search promise does not return an array or an object with a
toArray method, than you can still do the conversion manually like so:
customSearch(term) {
  return somePromise.then(results => {
    let array = convertToArray(results); // convert results to array
    return array;
  });
}

Released in v0.1.10

dude thank you for this weekend push! was just looking into this issue for a big demo tomorrow 😘


Spotify login error

hey.
since the last upgrade i get the following error when starting up mopidy.
2015-09-09 12:07:36,009 ERROR [13420:SpotifyEventLoop] spotify.session: Spotify login error: <ErrorType.UNABLE_TO_CONTACT_SERVER: 8>
2015-09-09 12:07:37,449 INFO [13420:SpotifyEventLoop] spotify.session: Spotify logged out

any hints on how to fix that?
thx in advance.

"UNABLE_TO_CONTACT_SERVER" is the only hint we have here. If Spotify doesn't have any intermittent issues right now, I'd check your own firewall and network setup.

i can ping spotify.com successfully from the commandline of that machine.
i also have a proxy here in my company which i have configured in the "mopidy.conf".
but that seems not to be the issue since i have network access with all other services running there.
as i said before, this started after the last upgrade on monday. before everything was working fine and i did not touch the config.

Sounds like a possible problem in the proxy handling in 2.0 then. As likely you had some 1.x version before the upgrade.

i am not sure what version i had before. are there any apt-get logs where i can find that out?

/var/log/aptitude or one one the corresponding .gz files should do.

ok seems that i had an 1.x version before
2015-09-07 13:32:57 upgrade mopidy-spotify:all 1.4.0-0mopidy1 2.0.1-0mopidy1
2015-09-07 13:32:57 upgrade python-spotify:armhf 1.11-0mopidy1 2.0.3-0mopidy1

just installed the old versions and i can connect to spotify.
2015-09-09 13:18:04,969 INFO [14793:SpotifyThread] mopidy_spotify.session_manager: Connected to Spotify

What are your proxy settings? Copy-paste the [proxy] section from mopidy deps.

[proxy]
scheme = http
hostname = <IP_ADDRESS>
port = 8080
username = user
password = password

when i run mopidy deps i get the following output:
:~# mopidy deps
Executable: /usr/bin/mopidy
Platform: Linux-<IP_ADDRESS>-armv7l-with-Ubuntu-14.04-trusty
Python: CPython 2.7.6 from /usr/lib/python2.7
Mopidy: 1.1.0 from /usr/lib/python2.7/dist-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
  requests: 2.2.1 from /usr/lib/python2.7/dist-packages
  tornado>=2.3: 3.1.1 from /usr/lib/python2.7/dist-packages
Mopidy-Spotify-Tunigo: 0.2.1 from /usr/lib/python2.7/dist-packages
  Mopidy>=0.19.0: 1.1.0 from /usr/lib/python2.7/dist-packages
    Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
    requests: 2.2.1 from /usr/lib/python2.7/dist-packages
    tornado>=2.3: 3.1.1 from /usr/lib/python2.7/dist-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
  mopidy-spotify>=1.2.0: 1.4.0 from /usr/share/mopidy
    Mopidy>=1.0: 1.1.0 from /usr/lib/python2.7/dist-packages
      Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
      requests: 2.2.1 from /usr/lib/python2.7/dist-packages
      tornado>=2.3: 3.1.1 from /usr/lib/python2.7/dist-packages
    Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
    pyspotify>=1.9,<1.999: 1.11 from /usr/lib/pymodules/python2.7
  tunigo: 0.1.3 from /usr/lib/python2.7/dist-packages
    requests>=2.0.0: 2.2.1 from /usr/lib/python2.7/dist-packages
Mopidy-Spotify: 1.4.0 from /usr/share/mopidy
  Mopidy>=1.0: 1.1.0 from /usr/lib/python2.7/dist-packages
    Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
    requests: 2.2.1 from /usr/lib/python2.7/dist-packages
    tornado>=2.3: 3.1.1 from /usr/lib/python2.7/dist-packages
  Pykka>=1.1: 1.2.1 from /usr/lib/python2.7/dist-packages
  pyspotify>=1.9,<1.999: 1.11 from /usr/lib/pymodules/python2.7
GStreamer: <IP_ADDRESS> from /usr/lib/python2.7/dist-packages/gst-0.10/gst
  Detailed information:
    Python wrapper: gst-python <IP_ADDRESS>
    Relevant elements:
      Found:
        uridecodebin
        souphttpsrc
        appsrc
        alsasink
        osssink
        oss4sink
        pulsesink
        id3demux
        id3v2mux
        lame
        mad
        mp3parse
        vorbisdec
        vorbisenc
        vorbisparse
        oggdemux
        oggmux
        oggparse
        flacdec
        flacparse
        shout2send
      Not found:
        flump3dec

Seems I simply forgot to add proxy support when reimplementing Mopidy-Spotify 2.0. I opened a bug in the proper repo to track this: mopidy/mopidy-spotify#68.


Add com.lgi.rdk.HdmiCec WPE Framework plugin

This changeset copies the original org.rdk.HdmiCec plugin to a separate directory and adds the following methods:

enableOneTouchView,
triggerAction,
setCecPingInterval,
getConnectedDevices,
setName,
setOneTouchViewPolicy.

Additionally, the following event is added:

onDevicesChanged.

It has been observed that deactivating the plugin without disabling it first (calling the setEnabled method with "false") caused WPE Framework to crash. As a solution, the plugin Deinitialize() functions for both the original and new plugins now try to disable the respective plugin.

do_jenkins

merged from another branch


Re-introduce decode property of jwt magic global

Before #17, the jwt magic global was a direct proxy for<EMAIL_ADDRESS>which exposed a .decode method: https://github.com/auth0/node-jsonwebtoken/blob/342b86c49968bc1bfbdf985e83d83d0d3bd5e220/index.js#L3-L5.
When we bumped to<EMAIL_ADDRESS>this method was lost. This PR re-adds the missing method.

should JsonWebTokenError, NotBeforeError, and TokenExpiredError also be included?
https://github.com/auth0/node-jsonwebtoken/blob/v7.4.1/index.js


Factions integration

Faction-wide private waystones.
Factions on modrinth: https://modrinth.com/mod/factions
Factions API Javadoc: https://ickerio.github.io/factions

hi! this is a really interesting feature request, im a tad busy at the moment so i can't say for certain when i'll be able to work on it, but ill try and add it during the next release


turkish language

Will there be Turkish language support?

@tuncay59 I have one volunteer so far to read Turkish sentences for a dataset. If you'd like to volunteer, please send me an e-mail at<EMAIL_ADDRESS>

I'm planning to train a voice from this dataset: https://github.com/marytts/dfki-ot-data/

The tr_TR-dfki-medium is now available with Piper 1.2.0


HDDS-11320. Update OM, SCM, Datanode conf for RATIS-2135.

What changes were proposed in this pull request?
Due to a bug, RATIS-2135 requires

raft.grpc.message.size.max

to be 1MB larger than

raft.server.log.appender.buffer.byte-limit

We must change the OM, SCM and Datanode conf accordingly.
What is the link to the Apache JIRA
HDDS-11320
How was this patch tested?
A new unit test.

LGTM Merging it.

@jojochuang , thanks a lot for reviewing and merging this!


Allow customizing the auto-generated root index.html in a multi-language configuration

Currently, if I enable multiple languages and set defaultContentLanguageInSubdir = true, hugo automatically generates an index.html in the root directory which redirects to the default language.
I would like a way to customize this file. In my specific case, I would like to add several meta tags around CSP to satisfy validation tools and I also want to change the redirect to use the browser language to determine the target of the redirect.

The built-in template for alias files is here:
https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/alias.html
Override this by creating layouts/alias.html.
Then you can do something like:
{{- if .Page }}
<!DOCTYPE html>
<html lang="{{ site.Language.LanguageCode }}">
  <head>
    <title>{{ .Permalink }}</title>
    <link rel="canonical" href="{{ .Permalink }}">
    <meta name="robots" content="noindex">
    <meta charset="utf-8">
    <meta http-equiv="refresh" content="0; url={{ .Permalink }}">
  </head>
</html>
{{- else }}

WHATEVER YOU WANT IN THE ROOT OF THE SITE

{{- end }}

Awesome, that's perfect, thanks!

Use the global site function to get home page URLs, language codes, etc.
{{ range site.Sites }}
  {{ .Home.Permalink }}
  {{ .Language.LanguageCode }}
{{ end }}


Update specs based on changed in AnsibleTowerClient#19

https://github.com/ManageIQ/ansible_tower_client/pull/19
Fixes #6999

@gmcculloug Please review.  tests pass locally with the branch checked out.

@miq-bot add_label providers/ansible


Document default sample rate groups

Currently there is no note about the default sampling groups inside of CBSDK, even though they seem to have been fixed for quite a while.
Central even uses them for their file name extensions (ns1, ns2, ..., ns5) to document the sampling rate the data has been sampled with.
I therefore propose to have a comment inside cbsdk.h describing the default mapping or even define an array similar to this:
unsigned int DEFAULT_SAMPLE_RATE_GROUPS[] = { 0, 500, 1000, 2000, 10000, 30000, 30000 };

... maybe even combined with an enum:
enum DefaultSampleGroup {
    NONE = 0,
    RATE_500 = 1,
    RATE_1K = 2,
    RATE_2K = 3,
    RATE_10k = 4,
    RATE_30k = 5,
    RAW = 6
};

Also sounds like a good addition, added.


Problems with gb-based repositories.

Not quite sure why it happens. But on all of my gb-based code base I get this when running gocode -s -debug:
panic: inconsistent import:
        const net/http.StatusUnauthorized untyped int
previously imported as:
        const StatusUnauthorized untyped int

And similar messages for standard lib types. Maybe it has something to do with vendoring? I don't know. Have no reproducable test case yet. Will drop a note here when I do.
But maybe you have some ideas where it may come from?

Sorry no ideas off hand. But I'd be very interested in steps to reproduce it myself.

Oh, since message comes with a stack trace, I'll drop it here also, not sure if it's useful or not. Sadly can't share the source where I'm getting that error. But I'll try to reduce it to small reproducable case.
Full panic message with stacktrace:
panic: inconsistent import:
        var net/http.DefaultTransport net/http.RoundTripper
previously imported as:
        var DefaultTransport net/http.RoundTripper

goroutine 35 [running]:
runtime/debug.Stack(0xb, 0xc420a50430, 0x1)
        /home/nsf/go/src/runtime/debug/stack.go:24 +0x79
runtime/debug.PrintStack()
        /home/nsf/go/src/runtime/debug/stack.go:16 +0x22
main.(*Server).AutoComplete.func1(0xc420130a40)
        /home/nsf/waytogo/src/github.com/mdempsky/gocode/server.go:68 +0x9e
panic(0x7f81e0, 0xc420a48c50)
        /home/nsf/go/src/runtime/panic.go:458 +0x243
go/types.(*Checker).handleBailout(0xc4201980e0, 0xc420a513b8)
        /home/nsf/go/src/go/types/check.go:213 +0xae
panic(0x7f81e0, 0xc420a48c50)
        /home/nsf/go/src/runtime/panic.go:458 +0x243
go/internal/gcimporter.(*importer).declare(0xc4201889c0, 0xa816c0, 0xc42085d4f0)
        /home/nsf/go/src/go/internal/gcimporter/bimport.go:175 +0x17c
go/internal/gcimporter.(*importer).obj(0xc4201889c0, 0xfffffffffffffffc)
        /home/nsf/go/src/go/internal/gcimporter/bimport.go:195 +0x1b4
go/internal/gcimporter.BImportData(0xc42012ea80, 0xc420b7c000, 0x1cdff0, 0x1ffe00, 0xc4201326e1, 0x8, 0x0, 0x8, 0x0, 0x1200000000)
        /home/nsf/go/src/go/internal/gcimporter/bimport.go:88 +0x390
go/internal/gcimporter.Import(0xc42012ea80, 0xc4201326e1, 0x8, 0xc4201fcc80, 0x34, 0xc420361540, 0x0, 0x0)
        /home/nsf/go/src/go/internal/gcimporter/gcimporter.go:166 +0x551
go/importer.gcimports.ImportFrom(0xc42012ea80, 0xc4201326e1, 0x8, 0xc4201fcc80, 0x34, 0x0, 0x8, 0xc41ffc0822, 0xc420a50b00)
        /home/nsf/go/src/go/importer/importer.go:70 +0x67
github.com/mdempsky/gocode/gbimporter.(*importer).ImportFrom(0xc42012a600, 0xc4201326e1, 0x8, 0xc4201fcc80, 0x34, 0x0, 0x0, 0x0, 0x0)
        /home/nsf/waytogo/src/github.com/mdempsky/gocode/gbimporter/gbimporter.go:82 +0x35d
go/types.(*Checker).collectObjects(0xc4201980e0)
        /home/nsf/go/src/go/types/resolver.go:191 +0x826
go/types.(*Checker).checkFiles(0xc4201980e0, 0xc42020f260, 0x3, 0x4, 0x0, 0x0)
        /home/nsf/go/src/go/types/check.go:225 +0xaa
go/types.(*Checker).Files(0xc4201980e0, 0xc42020f260, 0x3, 0x4, 0xc4202105d0, 0xc42018f440)
        /home/nsf/go/src/go/types/check.go:218 +0x49
go/types.(*Config).Check(0xc420212600, 0x0, 0x0, 0xc42012a640, 0xc42020f260, 0x3, 0x4, 0xc4201fed20, 0x0, 0xc42018f528, ...)
        /home/nsf/go/src/go/types/api.go:344 +0x1a3
github.com/mdempsky/gocode/suggest.(*Config).analyzePackage(0xc420a519c8, 0xc42012c190, 0x48, 0xc42019c000, 0x3c9c, 0x3c9c, 0x394, 0x8, 0x6, 0x0)
        /home/nsf/waytogo/src/github.com/mdempsky/gocode/suggest/suggest.go:107 +0x6f0
github.com/mdempsky/gocode/suggest.(*Config).Suggest(0xc420a519c8, 0xc42012c190, 0x48, 0xc42019c000, 0x3c9c, 0x3c9c, 0x394, 0xc420184300, 0x56, 0x0, ...)
        /home/nsf/waytogo/src/github.com/mdempsky/gocode/suggest/suggest.go:32 +0xb5
main.(*Server).AutoComplete(0xabea70, 0xc4201881a0, 0xc420130a40, 0x0, 0x0)
        /home/nsf/waytogo/src/github.com/mdempsky/gocode/server.go:93 +0x1bf
reflect.Value.call(0xc420154300, 0xc42013e040, 0x13, 0x8915b0, 0x4, 0xc420a51ec0, 0x3, 0x3, 0x412d78, 0x0, ...)
        /home/nsf/go/src/reflect/value.go:434 +0x5c8
reflect.Value.Call(0xc420154300, 0xc42013e040, 0x13, 0xc420a51ec0, 0x3, 0x3, 0x9, 0x9, 0x1000)
        /home/nsf/go/src/reflect/value.go:302 +0xa4
net/rpc.(*service).call(0xc420136380, 0xc420136180, 0xc420132070, 0xc420146200, 0xc4201300c0, 0x7e47c0, 0xc4201881a0, 0x16, 0x7e4780, 0xc420130a40, ...)
        /home/nsf/go/src/net/rpc/server.go:383 +0x148
created by net/rpc.(*Server).ServeCodec
        /home/nsf/go/src/net/rpc/server.go:477 +0x421

The stack trace is from a different place, but you can see the pattern, it's always about "inconsistent import". And stack trace shows indeed that gb importer is triggered.

Interesting, the panic is also triggered on a repo without binary gb packages. E.g.
[nsf @ aaa]$ tree -L 1
.
├── src
└── vendor

2 directories, 0 files

Starting to shrink it down to find the reason...

Oh, never mind that comment about binary packages, vendor dir has it's own "pkg".

That above about vendor dir and "pkg" was also false, stale files from go tool. Lots of stale files.
Yeah, I don't know what's going on. Removed stale packages in GOPATH, in fact I removed GOPATH/pkg completely. Now it doesn't panic, but I also don't see some of the imports I use (after running gb build).
Here's a reproducable case for you.

Create dir structure:

[nsf @ gobug]$ tree src/
src/
└── mypkg
   └── main.go

1 directory, 1 file

main.go contents:

package mypkg

import "github.com/jinzhu/gorm"

func main() {
       var _ gorm.DB
}

Fetch dependency: gb vendor fetch github.com/jinzhu/gorm.

Build the repo:

[nsf @ gobug]$ gb build
github.com/jinzhu/inflection
github.com/jinzhu/gorm
mypkg

All good, here's the pkg tree:

[nsf @ gobug]$ tree pkg/
pkg/
└── linux-amd64
   ├── github.com
   │   └── jinzhu
   │       ├── gorm.a
   │       └── inflection.a
   └── mypkg.a

3 directories, 3 files

Try autocompletion:

[nsf @ gobug]$ gocode -in src/mypkg/main.go autocomplete src/mypkg/main.go 79
Found 1 candidates:
 func main()

No package in output. Also to reproduce that behaviour make sure $GOPATH/pkg doesn't exist.
Gocode's debug output:
2016/09/18 00:15:47 Got autocompletion request for '/home/nsf/tmp/gobug/src/mypkg/main.go'
2016/09/18 00:15:47 Cursor at: 79
2016/09/18 00:15:47 -------------------------------------------------------
package mypkg

import "github.com/jinzhu/gorm"

func main() {
        var _ gorm.DB
}
#
2016/09/18 00:15:47 -------------------------------------------------------
2016/09/18 00:15:47 Error parsing input file (outer block):
2016/09/18 00:15:47  /home/nsf/tmp/gobug/src/mypkg/main.go:8:1: expected declaration, found ';'
2016/09/18 00:15:47 Elapsed duration: 393.209µs
2016/09/18 00:15:47 Offset: 0
2016/09/18 00:15:47 Number of candidates found: 1
2016/09/18 00:15:47 Candidates are:
2016/09/18 00:15:47   func main()
2016/09/18 00:15:47 =======================================================

And lastly.. My version of gocode yields this on the same dir:
[nsf @ gobug]$ gocode -in src/mypkg/main.go autocomplete src/mypkg/main.go 79
Found 2 candidates:
  func main()
  package gorm

The go/packages-based gocode (https://github.com/stamblerre/gocode) or the eventual go/packages-based LSP implementation will hopefully solve these problems once there is a gb driver for go/packages. I don't think we will work on this further.


Example for how to get site settings in template (Don't merge)

@Mitso I made this quick PR to provide an example of how things like the google tag manager or other site settings can be used in the templates.
If you need any of the site settings in inherited templates let me know so I can put them in a context processor instead

@Mitso I made this quick PR to provide an example of how things like the google tag manager or other site settings can be used in the templates. If you need any of the site settings in inherited templates let me know so I can put them in a context processor instead

@KaitCrawford Sounds great. I think we load these on the base template so if they're available in base or homepage that's great. Thank you