Configure the Outstation's database of input point definitions.

I have been trying change the point definitions.
But the points didn't change.
In the function:
@staticmethod
 def configure_database(db_config):

I changed the code
print('--------------------------------------')
print(db_config.binary[2].evariation)
db_config.binary[2].evariation = opendnp3.EventBinaryVariation.Group2Var2
print('--------------------------------------')
print(db_config.binary[2].evariation)

But the values didn't change:
--------------------------------------
EventBinaryVariation.Group2Var1
--------------------------------------
EventBinaryVariation.Group2Var1

Someone can help me?
Thanks!

The C++ source code opendnp3/app/MeasurementInfo.h shows that the DefaultEventVariation and DefaultStaticVariation variables are static constant. It means we cannot modify cfg.svariation and cfg.evariation.
For more details about the db_config, you can look at the source code in deps/dnp3/cpp/libs/include at:
asiodnp3/DatabaseConfig.h
opendnp3/outstation/MeasurementConfig.h
opendnp3/app/MeasurementInfo.h

Hi Thanks!
I am trying to figure out how configure the db_config (without changing the array).
I have been following the example in repository.
https://github.com/ChargePoint/pydnp3/blob/master/examples/outstation.py
I look at the source code in C++ and the configuration is changing the "db_config" array too.
https://github.com/automatak/dnp3/blob/2.0.x/cpp/examples/outstation/main.cpp#L50
Could you send an example of the configuration?

My example is built based on the C++ example, so it is not surprised that we have the same configuration db_config function. However, I just tried to run the C++ code with some print statement like the way you did and exactly the same thing happened.
Again, based on the C++ source code, I don't think we can be able to modify evariation and svariation.

I ran the C++ code.
I changed the outstation file: https://github.com/automatak/dnp3/blob/2.0.x/cpp/examples/outstation/main.cpp#L44-L50
To:
`void ConfigureDatabase(DatabaseConfig& config)
{
// example of configuring analog index 0 for Class2 with floating point variations by default
std::cout << "---------------------------------" << endl;
std::cout << int(config.analog[0].evariation)    << endl;
std::cout << "---------------------------------" << endl;
config.analog[0].clazz = PointClass::Class2;
config.analog[0].svariation = StaticAnalogVariation::Group30Var2;
config.analog[0].evariation = EventAnalogVariation::Group32Var4;
std::cout << int(config.analog[0].evariation)    << endl;
std::cout << "---------------------------------" << endl;
}`
And the values changed!
`
0
3
`

I just realized that I run the old version of the code in my local machine, I'll checkout the newest code and try to run it again.

I didn't find another way to configure the database.
I try to change these lines: https://github.com/ChargePoint/pydnp3/blob/master/src/asiodnp3/DatabaseConfig.h#L65-L69
to:
.def_property(             "analog",             [](const asiodnp3::DatabaseConfig &self) { return &self.analog;},             py::return_value_policy::reference         )
But my compilation freeze  in 99%......

Hi,
I'm facing the same issue and as a consequence I'm unable to use pydnp3.
Did you find a solution for this problem?
My understanding is that this isn't linked with a constant declaration in the c++ source code, as the fields svariation and evariation are writable. Any hint ?

I tried to add a setter method "setSVariation()" to avoid the direct field access, but without improvement. Could it be that the AnalogConfig instance (or it's container) is cloned somewhere inside pybind11 ? Printing the __hash__() value from python always reports the same value before and after the assignment, meaning the underlying object points to the same data, right?
One possible workaround is to change the default value for the svariation and evariation fields, although obviously this is not satisfying as all items will share the same configuration.
For the following particular case, it allows floats to be transmitted as floats (with timestamp), instead of being truncated to integers:
--- cpp/libs/include/opendnp3/app/MeasurementInfo.h	(date<PHONE_NUMBER>000)
+++ cpp/libs/include/opendnp3/app/MeasurementInfo.h	(date<PHONE_NUMBER>150)
@@ -106,8 +106,8 @@

 	static const EventType EventTypeEnum = EventType::Analog;
 	static const StaticTypeBitmask StaticTypeEnum = StaticTypeBitmask::AnalogInput;
-	static const event_variation_t DefaultEventVariation = EventAnalogVariation::Group32Var1;
-	static const static_variation_t DefaultStaticVariation = StaticAnalogVariation::Group30Var1;
+	static const event_variation_t DefaultEventVariation = EventAnalogVariation::Group32Var7;
+	static const static_variation_t DefaultStaticVariation = StaticAnalogVariation::Group30Var5;
 };

 struct CounterInfo : private openpal::StaticOnly

I didn't find a solution. I started to work in C++ code.
Nowadays, these project is linking a very old version of opendnp3.
Last release (21 Jun 2019)
Linking version (18 Dec 2017)
I don't know how much work it will take to upgrade.

Indeed, it's pretty old, but the library itself doesn't seem to have evolved much since. It seems that the API is mostly the same.
What I don't understand is how pydnp3 can be used if the database cannot be properly configured. Am I missing something?

It's a very good question......
If you are missing something, I am missing something too!
I didn't find anyway to change the configuration in pydnp3.

Sorry for getting back this late. I run the outstation and verified that cfg.svariation and cfg.evariation were not configured for pydnp3. Unfortunately, I couldn't find a solution for this issue. I don't think it's due to the old version; I'm working on updating the latest version of opendnp3 to pydnp3, and faced the same issue with cfg.svariation and cfg.evariation configuration.

Running this snippet shows that writting to svariation is ok:
ai = db.analog[0]
ai.svariation = opendnp3.StaticAnalogVariation.Group30Var5
print(ai.svariation) # outputs "StaticAnalogVariation.Group30Var5"

But the following code doesn't work:
db_config.analog[0].svariation = opendnp3.StaticAnalogVariation.Group30Var5
print(db_config.analog[0].svariation) # outputs "StaticAnalogVariation.Group30Var1"

The AnalogConfig instance is probably cloned when accessing it from the openpal::Array. Hence the local copy of AnalogConfig is correctly modified but the original data in the analog array in the DatabaseConfig instance remains untouched. Unfortunately the array doesn't support item assignment, and there's no constructor on AnalogConfig so it's not possible to do a workaround like this:
ai = opendpn3.AnalogConfig()
ai.clazz = ...
ai.svariation = opendnp3.StaticAnalogVariation.Group30Var5
ai.evariation = ...
db_config.analog[0] = ai

This is a key issue, is there a solution?

My suggestion is just go ahead and with the simplest outstations database you need and test your software against your target master system. It will likely work fine despite the broken interfaces. If you need more contemporary opendnp3 features like support for octet strings, you'll have to wait for an update to pydnp3 which seems to have gone fallow. There is also an issue with pybind11 and you should consider using a more modern pybind11 as we were forced to do.

It's not likely to work fine if using anything different from integers, this is pretty limiting. Floats won't work, and I wouldn't call this an advanced opendnp3 feature.

I spent some time working on this and finally decided it was going to be a pain, so I switched gears and redid the whole thing in CPPYY instead of PyBind11.  So far, everything is working well, including being able to change these point variations, and it requires MUCH less code, as cppyy automatically generates all the wrapper code.  I will publish the project in the next week or so.  It won't be packageable in the first posting, but you will be able to build it and use it.  I've got to figure out all the ins and outs of packaging a cppyy project.  Happy to have some help if anyone wants to pitch in.  Any preferences for a project name?  Pydnp3 is taken, of course, as is pyopendnp3, so I was just going to go with pyod3 unless someone can come up with a better name.

@txjmb, sounds good especially if cppyy adds no performance or debugability penalties. You could even wrap the most recent opendnp3 (which you may already have) rather than the old branch used in pydnp3 with two years of known bugs, poor support for octet strings, etc. etc. Is the cppyy version code-compatible with the pybind11 version? Let me know if you want a tester, we'd love the more recent opendnp3 and were planning to do some work on it when 3.x was finalized (they're restructuring the code, finally; was quite, um, over engineered).

So far, performance is great.  The only performance  penalty that I know of is on startup--it takes a couple of seconds to compile.
Going to cppyy will make it much easier to go to 3.x.  No changing tons of binding code.  The devs of cppyy are very responsive.  I found a bug and they gave me a workaround in a couple of hours and a complete fix in a day or so.
I've got it running against the latest opendnp3 master.  There are some minor changes to the examples required to suppprt the changes in opendnp3.  I'll include the new examples when I publish the repo, which will hopefully be later this week.  The name will probably be dnpy.
Would appreciate you testing.  If you are good at writing pytest code, that would be great, too.  I will try to just lift the existing pytest code from pydnp3

Update... having issues getting the Master example to work properly.  As soon as I get that working, I will publish the repo.

Great. Thank you. I will be testing on larger unix/mac boxes. Not sure if the cppyy toolchain is Raspberry pi or small-computer friendly where the pydnp3 wrapper may be more appropriate. I can see a case potentially for both if cppyy proves too heavyweight.

I agree.  I forked the pydnp3 repo and updated it with the latest build of opendnp3 and pybind11.  It works, but I wasn't able to fix the issue with the database updating (I'm sure it's possible, but it's a pain, which is why I went with cppyy.  You're welcome to check that one out if you want to.  Cppyy-based outstation is working fine.  I'm having some strange behavior on Master demo that I can't yet explain.  Haven't had enough time to dig into it too much, since what we needed most was the outstation.

Nice work to get the underlying library upgraded. We switched to the newer pybind11 in our fork as traversing results e.g., ForEach was broken (I really do not understand how people use the current pydnp3 being as broken as it is). We've worked around the bugs that were stopping us and are stable with our fork, for the moment. We use both master and outstation in production as we have a fairly complex deployment. We also use master and outstations together as a test environment which you may also need, so it makes sense to get the master working. If we can help, let us know.
On the database configuration issue that started this whole thread, I'm not even convinced it matters since the support for analog and binary coding (nearly 100% of most uses), does automatic conversion under the covers so pedantic specificity may not even matter?

@shipmints as you probably noticed, opendnp3 has officially released version 3.0.  I was able to get master working with cppyy in an evening.  I'll test outstation tomorrow and put it out in a github repo for people to work with.
Opendnp3 3.0 is so much simpler to work with.  Thanks to cppyy, all I had to do was update the master header file and update the Python example file to match the slightly changed api and it worked right away.  Cppyy dev fixed a bug that I had to change the opendnp3 cpp+ code slightly to work around, so now it works straight from the Opendnp3 master.

Nice work, @txjmb looking forward to testing it. We'll schedule an official upgrade to opendnp3 3.x series for our use sometime later this year and may indeed switch to cppyy if it works well.

Hi, @txjmb we're still interested in helping test the cppyy approach if you have time to share it.

Hi @txjmb, thanks for your work on pydnp3. I am facing similar issue, do you plan to share your repository?

@txjmb we are now at a point where, in production, we have issues with pydnp3 on the old opendnp3. It would be fruitful to share the cppyy work if you're still willing. Would be good to have another set of test cases we have both masters and slaves and a fairly high throughput use case that's breaking.

Sure.  Maybe you can help me get it over the finish line.  It works
perfectly well until I try to turn it into a Python package.  I am not
familiar enough with CMake to understand exactly why the pathing errors are
happening.  I can upload a new version of the not-package-ready repo this
weekend.
Michael
On Tue, Jun 30, 2020, 2:01 PM shipmints<EMAIL_ADDRESS>wrote:

@txjmb https://github.com/txjmb we are now at a point where, in
production, we have issues with pydnp3 on the old opendnp3. It would be
fruitful to share the cppyy work if you're still willing. Would be good to
have another set of test cases we have both masters and slaves and a fairly
high throughput use case that's breaking.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ChargePoint/pydnp3/issues/11#issuecomment-651984053,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPE6VRHWB2AOPXJLZQ4LZ3RZIZCDANCNFSM4G5BWMJA
.

Great. If we can help, we will.

Finishing up making sure the Master.py example works properly.  Have one issue I'm trying to fix.  Outstation works fine, and Master works without custom SOEHandler.  Will post as soon as I get it fixed.

@txjmb due to a production issue, we wound up hacking opendnp3 to force point data types until either pydnp3 correctly supports changing databases or we can get cppyy working. Any time you're ready, we can help test.

I've figured out most of the remaining issues.  The last one has to do with callbacks.  I think I know what's causing it and will finish posting as soon as I have that working.

@shipmints I've uploaded the project here: https://github.com/txjmb/dnpy.  Let me know if you have any questions.  Still working out some of the custom callback/virtual method override code in the examples.  But, most of it should work well for you.

@shipmints the project now installs as a package.  I haven't put it out on pypi yet, as there are a few things I'd like to figure out.  But, it appears to be working except for the callbacks (mostly in master).  Not sure what you are using it for, but any testing you could provide would be appreciated.  I have put some initial install instructions out there.  Let me know if you run into any issues (by posting an issue on the project).

Hi @txjmb we will take a look. We use both master and outstation features and the callbacks are key to full functionality. I suspect the cppyy implementation's crossing the python/C++ barrier is the issue and some hints/wrappers may be in order. Let's continue discussion at https://github.com/txjmb/dnpy

Any news on this matter? Any updates to pydnp3 making float valueas available or some workaround?

@EduardoRonchi take a look at the work done in this recent fork https://github.com/edf-re/pydnp3 I haven't checked to see if they've fixed this bug (I hope so). In our application, we've worked around this issue though it remains a bit of a pain.

I solved the problem modifying src/asiodnp3/DatabaseConfig.h adding a method with a lamba function ("setBinaryConfig") . The pybind11 library has some limitations when it comes to binding templated classes or structs like EventConfig.
Below the changes :
.def_property_readonly(
"binary",
[](const asiodnp3::DatabaseConfig &self) { return &self.binary;},
py::return_value_policy::reference
)
.def("setBinaryConfig",
[](asiodnp3::DatabaseConfig &self, uint16_t index, opendnp3::EventBinaryVariation _evariation,opendnp3::PointClass _clazz ,opendnp3::StaticBinaryVariation _svariation) {
self.binary[index].evariation=_evariation;
self.binary[index].clazz=_clazz;
self.binary[index].svariation=_svariation;
},
py::arg("index"), py::arg("_evariation"), py::arg("_clazz") ,py::arg("_svariation"))


Fix changelog files & add a simple validator

It seems that not everyone was consistent with the changelog format - some people even left out the description :O

The changelog tool should enforce that there's a blank line after the title line.

Well the changelog tool isn't called here directly, but on DAutoTest.
I tried to fix the changelog files & added a simple validator, s.t. we can at least automatically ensure that

the entry contains a description (and a separating line between them)
has no $(REF) in the title

Yes in theory the changed.d could have a flag ---validate, but I would like to have this check enforced before next summer (PRs at tools have a tendency to hang in the queue).

Or, alternatively, allow multiple lines for the title, until the first blank line.

I don't think it's worth supporting this as (a) it's not the git commit format anymore and (b) a title shouldn't be that long anyways.
However in case this is wanted (and https://github.com/dlang/tools/pull/220 is merged), the validator would need a small update.
CC @aG0aep6G
(This is a follow-up to https://github.com/dlang/phobos/pull/5192)

I tried to fix the changelog files & added a simple validator, s.t. we can at least automatically ensure that
the entry contains a description (and a separating line between them)

FWIW, one-liners used to be ok. They would be displayed directly in the list, not as a jump link to a more detailed description. Example: the third point under "Library Changes" in the 2.072.0 changelog.
I don't mind if we abandon that style, though. It messes with the numbering when jump links and one-liner are mixed (e.g., "Implementation of MurmurHash digest." is number 4 in the short list, but number 3 in the long list).
Alternatively, allow one-liners, don't make jump links from them, allow links in them, and automatically put them at the end, behind the long-form entries.

Not a fan of all this noise, could you please only print if if the validation fails?

Done.
@andralex: do you want me to hide all the other greps in another PR?

FWIW, one-liners used to be ok. They would be displayed directly in the list, not as a jump link to a more detailed description. Example: the third point under "Library Changes" in the 2.072.0 changelog.

Imho if someone already makes the effort to open a new file it's not a big deal to add an additional line and it really helps the reader if there's a short example included.

I don't mind if we abandon that style, though. It messes with the numbering when jump links and one-liner are mixed (e.g., "Implementation of MurmurHash digest." is number 4 in the short list, but number 3 in the long list).

Yet another reason to always require a description =)

Alternatively, allow one-liners, don't make jump links from them, allow links in them, and automatically put them at the end, behind the long-form entries.

Sure, the changelog tool could handle them properly and sort the list, but as mentioned above I don't think it's worth the effort.
(at the moment it just dumps them as entries with an empty description)


Few days after upgrade camera is offline

I have the issue... no ssh no web no rtsp and onvif
all I have is that telnet is work and login.
The camera is installed in a high ceiling so I have an accessibility problem at the moment and I'm trying to solve it without climbing a ladder.
any idea ?

If telnet is the only workng service, probably the sd card is damaged.
You should try to login with telnet and check if the sd is properly mounted.
root@yi-hack-allwinner-v2:~# mount | grep /tmp/sd
/dev/mmcblk0p1 on /tmp/sd type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

If it's not mounted you could try a fsck to restore it (if it's possible).
If it's mounted, read the content:
ls -laR /tmp/sd

is this a single command?

can you please write me the commands?  cause i am newbie in linux

this what i have in sd folder

and dont have mmcblk0p1 only mmcblk0

A single command:
mount | grep /tmp/sd
If mmcblk0 is absent, probably the sd card is corrupted.

this what i have in /dev folder

Try mount command:
mount | grep /tmp/sd

The sdcard was defected so i put it out and format it and copy the hack
and still no web ssh only telnet
if i run this command that what i get :

Now the telnet connect and after few seconds disconnect.
I try to remove the hack but i can't see the correct zip .
my camera is : Yi Doom Guard QFUS 9v firmware so its : r35gb.
so any idea how to continue from here ?

i see in folder /tmp/sd/yi-hack a file fw_upgarde_in_progress
that mean that the hack still in progress ?

Now if i run the command : root@(none):/tmp/sd/yi-hack/script# sh system.sh the camera work.
But if i reboot the camera the issue return...

The sdcard was defected so i put it out and format it and copy the hack and still no web ssh only telnet if i run this command that what i get :

This situation can happen but it's not ok. The sd card is not properly formatted and there are no partitions inside the card.
I don't know if this is the problem but you should reformat the sd card: try with a linux machine following this guide:
https://www.nayab.xyz/linux-tools/partitioning-using-fdisk
Or try with a windows machine.
At the end of the procedure you should have a partition mmcblk0p1 inside the disk mmcblk0 and the mount should refer to mmcblk0p1.

Damn...
Are you able to provide me a temporary telnet access to the cam (if you want)?

can you send me your email and i send you the link?

maybe you have the remove hack for my cam?
i want to try to remove the hack and install it again

<EMAIL_ADDRESS>Before making changes I would like to understand the reason.
If we need to remove the hack I'll tell you.

Use this file to unbrick the cam.
Decompress it in the sd card and start the cam.
backup_r35gb.gz


update glslang to latest

This fixes a lot of issues regarding precision qualifiers.
This should resolve cases where "highp" were introduced needlessly.

reviewers: please take special look at the build files, since there was many changes to glslang's source structure. Thanks!


Improved error handling

Change list

Create GeopolarsError enum in the main crate and PyGeopolarsError in the python crate
Implement From so that we can use ? more broadly
Implement Python exceptions as in py-polars
Propagate proj errors in to_crs, ref https://github.com/kylebarron/geopolars/pull/62#discussion_r922521616

I'm going to merge to try and keep moving fast, but feedback is still welcome after merge!


[integration_test] Test drivers should end with  _test.dart

After working on tooling to migrate existing apps (draft #3046), I think it makes more sense for the driver files to keep the _test.dart suffix. This makes globbing by tooling easier.
Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[x] No, this is not a breaking change.

Please ignore the CI failures for now – I have opened flutter/plugin_tools#108 which will update the plugin tools to support this.

I'm not sure why this is failing, looks like things passed?

Thanks! It is failing because the CI script doesn't support this yet – please see flutter/plugin_tools#108!

I moved just the failure test to the test_driver directory to avoid globbing for that, and added a note as well.
As mentioned on #hackers-ecosystem, the failure on master is a flake with Cocoapods, so landing this.


What are some good methods for managing many tools?

Hi there! I've been following your approach and have written quite a few tools. However, each time I write a new one, I need to redeclare it in the file and use a switch statement. Is there a more efficient way to automate this process? Thank you.

I'm thinking that the ultimate goal here should be that I just declare which functions to use and then the calling process doesn't matter right?

I'm thinking that the ultimate(终极) goal here should be that I just declare which functions to use and then the calling process doesn't matter right?

Similarly, we wrap a library based on openai that contains many tools and how to call them.


App store connect doc does not have example for FastFile

New Issue Checklist

[y] Updated fastlane to the latest version
[y] I read the Contribution Guidelines
[y] I read docs.fastlane.tools
[y] I searched for existing GitHub issues

As described in the title, the documentation at https://github.com/fastlane/fastlane/blob/master/spaceship/docs/AppStoreConnect.md
does not explain how to update FastFile when using fastlane.
eg.
app_store_connect_api_key(   key_id: "ABCDEFG",   issuer_id: "Your_issuer_id",   key_content: File.read("./key.p8").chomp,   duration: 1200,   in_house: false )
It's unclear what the code in the doc meant and where it should be applied

Hi @GMerakis
i think you are looking for the below documentation
https://docs.fastlane.tools/app-store-connect-api/

thanks @crazymanish !!


getPixelColor() returns color of different position

Expected Behavior
I have a program that copies each pixel onto another picture with the same size:
The expected behavior is that the input.bmp should be cloned and saved as output.bmp
Current Behavior
The output image is not exactly the input file.
Failure Information (for bugs)
Steps to Reproduce
const Jimp = require('jimp');

async function program() {
	const input = await Jimp.read('input.bmp');
	const output = await Jimp.create(input.getWidth(), input.getHeight());

	for (let y = 0; y < input.getHeight(); y++) {
		for (let x = 0; x < input.getWidth(); x++) {
			output.setPixelColor(input.getPixelColor(x, y), x, y);
		}
	}

	await output.writeAsync('output.bmp');
}

program();

Screenshots
For some reasons, GitHub doesn't allow to upload BMP files. Here's the link to both files:
https://files.fm/u/g6htyvg4
Context

Jimp Version: v0.5.0
Operating System: Linux Ubuntu 18.04.1
Node version: v8.11.2

I just tried clone() function as well and it resulted with the same issue:
const Jimp = require('jimp');

async function program() {
	const input = await Jimp.read('input.bmp');
	const output = input.clone();

	await output.writeAsync('output.bmp');
}

program();

An update.
The issue seems to be in decoding BMP files created using GIMP.
I face no issues if the BMP was created using JIMP library.

The issue arises when an image is exported as BMP using GIMP and color space information is written to it.
To avoid this issue, select "Do not write color space information" under "Compatibility Options" when exporting as BMP.


Class declarations should implicitly implement interfaces

http://typescript.codeplex.com/workitem/1125
Following should be allowed:
interface IFoo {
    foo();
}

declare class Foo implements IFoo {}

If abstract classes are added in the future, they would inherit all interface methods as abstract (like in Java).

Note that in the latest version of TypeScript, you can use class/interface merging to do this:
interface Foo {
	a: number;
}

interface Baz extends Foo { }
class Baz {
    constructor() {
        console.log(this.a); // no error here
    }
}

hat tip @jeffreymorlan for reminding me of this


Add ability to post an alert to all POIs & Trails

Admin level only.

Examples we've done in the past would be dangerously cold weather or major flooding like we experienced in the past few weeks. Where it's either a:

General PSA -- hey it's really cold, we aren't closed but please don't visit
General conditions -- we can't provide detailed flooding information for every trail, but just know that with recent rains you are likely to run into some.

++++
Maybe we can treat this as a separate kind of alert based on info below?
adminserver alert poi/trail lists: No, would want this listed separately. New nav tab/page?
map search of places with active alerts: No
Wordpress list of all alerts: Yes, but only once. Could display like:
LIST OF ALL ALERTS & CLOSURES

[DISPLAY GLOBAL alerts]
[DISPLAY ALL poi/trail alerts]

Wordpress "Display POI/Trail specific alerts": Could display like:
SINGLE POI/TRAIL ALERTS

[DISPLAY SINGLE poi/trail alerts]
[DISPLAY GLOBAL alerts]

Also, would want these listed as single instances in the "All Alerts" section and the backups we're doing:

What does the form/options look like for this? Is it always an alert (never a closure)? Any pre-created Issues for a drop down?
Fields?: Issue, Description, Link, Start Date, End Date

Description
Link
Start Date
End Date

Added a Global Alerts page for admin to create and display global alerts. On staging. They will also show up on staging map.
https://github.com/smartchicago/trailsyserver/commit/ba41ffafa72be9f56e465ca5be3fd763d14289b2

Looks good.


Support larger stacks

By paging through all resources using listStackResources we can support stacks with more than 100 resources.

Overall it looks good, but, can you please make the suggested fixes by the linter (you can ignore the failing triage workflow)?

No problem, I've tried to fix those linter errors.


Support the Forwarded (RFC 7239) header

The Forwarded header is the new standard (RFC 7239) als alternative for the common (but non-standard) X-Forwarded-* headers.

This document defines an HTTP extension header field that allows
proxy components to disclose information lost in the proxying
process, for example, the originating IP address of a request or IP
address of the proxy on the user-agent-facing interface.  In a path
of proxying components, this makes it possible to arrange it so that
each subsequent component will have access to, for example, all IP
addresses used in the chain of proxied HTTP requests.

It is passed to PHP as $_SERVER['HTTP_FORWARDED']. It needs to be parsed to extract the different parts.

  X-Forwarded-For: <IP_ADDRESS>, 2001:db8:cafe::17

becomes:
  Forwarded: for=<IP_ADDRESS>, for="[2001:db8:cafe::17]"

This is implemented in PR #155


Track Edit size after resizing

📒 Description
This PR will track the size of the Editor after resizing by the user.
🕶 Types of changes
New feature (non-breaking change which adds functionality)
🤯 List of changes

[x] Bring the tracking size logic to separate method
[x] Support Track Edit size after resizing.

👫 Relationships
Close #2659
🔎 Review hints

Override

toggl_set_environment(ctx, [@"production" UTF8String]);

in line 234, AppDelegate.m
2. Start the app and resize the Editor
3.  Check the Metabase (https://metabase.toggl.space/question/261) if the data is record (it could take a bit delay)

Updated the Review note


Simpler Game Example

The bullet example is impressive but it is difficult to read through the code.
A simpler game example would be
Display a shape on screen
Keyboard to move that shape
And that's it.

Well neither examples have input and I'm not sure I added the functions for that yet, but yes you are correct. :-)

@essen it's an awesome project and I hope you keep working on it! I would like to help but this low level stuff is out of my depth (for now)

I will soon, I want to experiment with short games for my 1 year old.

Cool! Lucky kid to learn Erlang so early, good work :)

Keyboard integration is the biggest feature for this. With keyboard + screen, you can play a game!

@essen  I take input from std_in and display output to the shell here: https://github.com/QuantumProductions/exhume , maybe this cn be applied collecting input in a second thread

SDL2 has input functions, they just need to be implemented. I'll get around to it in a few weeks when I get time off.

@essen , https://code.google.com/archive/p/erlworld/ has working mouse input examples. The keyboard example took input but on my machine it was very laggy (kept freezing). Could be a good place to start though.

@essen Pong : Mouse, Blastox: keyboard (Both from Erlworld)

Interesting, thanks. I'll just have to find the time... :-(


Uncaught Error: Module did not self-register

Here's an error I've been receiving lately on Atom 1.10.2, macOS sierra (beta).

Open a haml/slim file in atom
type some characters and the error appears

Atom Version: 1.10.2
Electron Version: 0.37.8
System: Mac OS X 10.12
Thrown From: autocomplete-ctags package, v0.4.1
Stack Trace
Uncaught Error: Module did not self-register.
At ELECTRON_ASAR.js:158

Error: Module did not self-register.
    at Error (native)
    at process.module.(anonymous function) (ELECTRON_ASAR.js:158:20)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:158:20)
    at Object.Module._extensions..node (module.js:440:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:169:18)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/ctags/lib/ctags.js:4:10)
    at Object.<anonymous> (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/ctags/lib/ctags.js:60:4)
    at Module._compile (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at CtagsProvider.module.exports.CtagsProvider.findTags (/Users/lenart/.atom/packages/autocomplete-ctags/lib/ctags-provider.coffee:78:14)
    at /Users/lenart/.atom/packages/autocomplete-ctags/lib/ctags-provider.coffee:60:8
    at Array.map (native)
    at CtagsProvider.module.exports.CtagsProvider.getSuggestions (/Users/lenart/.atom/packages/autocomplete-ctags/lib/ctags-provider.coffee:59:27)
    at /opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:325:56
    at Array.forEach (native)
    at AutocompleteManager.module.exports.AutocompleteManager.getSuggestionsFromProviders (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:304:17)
    at AutocompleteManager.getSuggestionsFromProviders (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:3:61)
    at AutocompleteManager.module.exports.AutocompleteManager.findSuggestions (/opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:291:19)
    at /opt/homebrew-cask/Caskroom/atom/1.5.3/Atom.app/Contents/Resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:3:61

Commands
     -0:04.4.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:04.2.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:04.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:04.0 snippets:expand (atom-text-editor.editor.is-focused)
     -0:04.0 editor:indent (atom-text-editor.editor.is-focused)
  2x -0:02.8.0 core:backspace (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:02.0 autocomplete-plus:cancel (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:01.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:01.8.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:01.8.0 snippets:expand (atom-text-editor.editor.is-focused)
     -0:01.8.0 editor:indent (atom-text-editor.editor.is-focused)
     -0:01.1.0 autocomplete-plus:cancel (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:01.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:00.8.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:00.8.0 snippets:expand (atom-text-editor.editor.is-focused)
     -0:00.8.0 editor:indent (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "disabledPackages": [
      "git-blame-plus",
      "file-types",
      "synced-sidebar",
      "linter-csslint",
      "symbols-view",
      "emmet",
      "vim-mode",
      "blame",
      "linter-reek",
      "linter-codeclimate",
      "linter-rails-best-practices",
      "linter-htmlhint"
    ],
    "excludeVcsIgnoredPaths": false,
    "ignoredNames": [
      ".git",
      ".DS_Store",
      "Thumbs.db",
      ".tags*",
      ".vagrant",
      ".bundle",
      ".idea",
      "tmp/",
      "log/*.log"
    ],
    "packagesWithKeymapsDisabled": [
      "vim-mode"
    ],
    "themes": [
      "atom-material-ui",
      "one-dark-syntax"
    ]
  },
  "autocomplete-ctags": {}
}

Installed Packages
# User
afterglow-monokai-syntax, v1.3.4 (inactive)
atom-beautify, v0.29.11 (inactive)
atom-ctags, v5.0.0 (active)
atom-everydayrails-rspec, v0.4.0 (active)
atom-material-syntax, v0.4.6 (inactive)
atom-material-ui, v1.3.6 (active)
atom-prettify, v0.1.3 (inactive)
autocomplete, v0.47.0 (inactive)
autocomplete-ctags, v0.4.1 (active)
autocomplete-ruby, v0.1.0 (active)
autocomplete-sass, v0.1.0 (active)
capybara-snippets, v0.2.0 (active)
change-case, v0.6.3 (active)
coffee-navigator, v0.0.18 (active)
color-picker, v2.2.2 (active)
dash, v1.6.2 (inactive)
emmet, v2.4.3 (inactive)
file-icons, v1.7.19 (active)
fold-comments, v0.6.0 (inactive)
git-blame, v0.4.11 (inactive)
git-history, v3.2.0 (inactive)
git-plus, v5.17.0 (inactive)
highlight-line, v0.11.1 (active)
highlight-selected, v0.11.2 (active)
html2haml, v0.10.0 (active)
html2slim, v0.4.0 (inactive)
jsonlint, v1.1.4 (active)
language-ejs, v0.2.0 (active)
language-haml, v0.24.0 (active)
language-rspec, v0.5.0 (active)
language-slim, v0.5.0 (active)
line-ending-converter, v1.3.2 (active)
linter, v1.11.16 (active)
linter-codeclimate, v0.1.2 (inactive)
linter-csslint, v1.3.2 (inactive)
linter-haml, v1.2.1 (active)
linter-htmlhint, v1.3.0 (inactive)
linter-jshint, v2.1.0 (active)
linter-jsonlint, v1.3.0 (active)
linter-rails-best-practices, v0.2.2 (inactive)
linter-rubocop, v0.4.7 (active)
linter-scss-lint, v3.0.4 (active)
linter-slim, v1.0.0 (active)
merge-conflicts, v1.4.4 (active)
php-twig, v4.0.0 (active)
pigments, v0.34.0 (active)
pretty-json, v1.6.0 (active)
rails-partials, v0.9.2 (inactive)
rails-rspec, v0.3.2 (inactive)
rails-snippets, v2.8.0 (inactive)
rails-transporter, v1.6.5 (inactive)
react, v0.16.0 (active)
reveal-active-file-context, v0.2.0 (active)
rspec-snippets, v0.4.0 (active)
rubocop-auto-correct, v1.5.1 (inactive)
ruby-block, v0.3.5 (active)
ruby-slim, v0.2.0 (active)
ruby-test, v0.9.17 (inactive)
script, v3.9.0 (inactive)
Sublime-Style-Column-Selection, v1.7.2 (active)
svg-preview, v0.9.0 (active)
swackets, v0.11.0 (active)
synced-sidebar, v0.4.3 (inactive)
toggle-quotes, v1.0.0 (inactive)
underscorejs-snippets, v0.2.2 (active)
wakatime, v6.0.10 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (active)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

The same happens at my editor - mac os el capitan.

Same for me since last update  - mac os el capitan.

same for me since last updated - mac os sierra

same for me - ubuntu 14.04

Also here, running on Ubuntu 15.10 (yes, I know, its not an LTS or a recent release). I'm currently seeing it while editing some Elixir source, but not sure if the actual file is relevant.
Atom Version: 1.11.2
Electron Version: 0.37.8
System: Ubuntu 15.10
Thrown From: autocomplete-ctags package, v0.4.1
Stack Trace
Uncaught Error: Module did not self-register.
At ELECTRON_ASAR.js:158

Error: Module did not self-register.
    at Error (native)
    at process.module.(anonymous function) (ELECTRON_ASAR.js:158:20)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:158:20)
    at Object.Module._extensions..node (module.js:440:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:169:18)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/opt/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/opt/atom/resources/app.asar/node_modules/ctags/lib/ctags.js:4:10)
    at Object.<anonymous> (/opt/atom/resources/app.asar/node_modules/ctags/lib/ctags.js:60:4)
    at Module._compile (/opt/atom/resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (/opt/atom/resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/opt/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at CtagsProvider.module.exports.CtagsProvider.findTags (/home/jon/.atom/packages/autocomplete-ctags/lib/ctags-provider.coffee:78:14)
    at /home/jon/.atom/packages/autocomplete-ctags/lib/ctags-provider.coffee:60:8
    at Array.map (native)
    at CtagsProvider.module.exports.CtagsProvider.getSuggestions (/home/jon/.atom/packages/autocomplete-ctags/lib/ctags-provider.coffee:59:27)
    at /opt/atom/resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:325:56
    at Array.forEach (native)
    at AutocompleteManager.module.exports.AutocompleteManager.getSuggestionsFromProviders (/opt/atom/resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:304:17)
    at AutocompleteManager.getSuggestionsFromProviders (/opt/atom/resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:3:61)
    at AutocompleteManager.module.exports.AutocompleteManager.findSuggestions (/opt/atom/resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:291:19)
    at /opt/atom/resources/app.asar/node_modules/autocomplete-plus/lib/autocomplete-manager.js:3:61

Commands
  2x -1:05.5.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  3x -1:04.9.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -1:03.7.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -1:03.5.0 vim-mode:move-to-last-character-of-line (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
     -1:03.4.0 vim-mode:delete-right (atom-text-editor.editor.vim-mode.normal-mode.is-focused)
  2x -1:03.1.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.is-focused.normal-mode)
     -1:02.6.0 vim-mode:move-up (atom-text-editor.editor.vim-mode.is-focused.normal-mode)
     -1:02.1.0 vim-mode:insert-after (atom-text-editor.editor.vim-mode.is-focused.normal-mode)
  2x -1:01.8.0 editor:newline (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:53.1.0 core:move-right (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
     -0:52.8.0 editor:newline (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
     -0:46.1.0 core:backspace (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
     -0:44.3.0 core:move-right (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
  2x -0:43.3.0 core:backspace (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
     -0:36.8.0 core:move-right (atom-text-editor.editor.vim-mode.insert-mode.is-focused.autocomplete-active)
     -0:36 editor:newline (atom-text-editor.editor.vim-mode.insert-mode.is-focused)

Config
{
  "core": {
    "autoHideMenuBar": true,
    "disabledPackages": [
      "underline-trailing-whitespace",
      "linter-eslint",
      "symbols-view"
    ],
    "telemetryConsent": "limited",
    "themes": [
      "atom-solarized-dark-ui",
      "solarized-dark-syntax"
    ]
  }
}

Installed Packages
# User
.bin, vundefined (inactive)
angularjs, v0.3.5 (active)
atom-ctags, v5.0.0 (active)
atom-elixir, v0.2.1 (active)
atom-pair, v2.0.10 (active)
atom-solarized-dark-ui, v0.25.0 (active)
autocomplete-ctags, v0.4.1 (active)
autocomplete-elixir, v1.5.14 (active)
build-elixir, v0.6.0 (active)
dockerletion, v0.2.0 (active)
emmet, v2.4.3 (active)
git-plus, v5.18.0 (active)
language-docker, v1.1.7 (active)
language-elixir, v0.16.0 (active)
language-javascript-jsx, v0.3.7 (active)
language-nginx, v0.6.2 (active)
language-terraform, v0.7.4 (active)
linter, v1.11.18 (active)
linter-eslint, v8.0.0 (inactive)
linter-rubocop, v0.5.0 (active)
merge-conflicts, v1.4.4 (active)
minimap, v4.25.6 (active)
pigments, v0.37.0 (active)
ruby-block, v0.3.5 (active)
ruby-block-converter, v3.5.0 (active)
ruby-test, v0.9.17 (inactive)
sort-lines, v0.14.0 (inactive)
tab-switcher, v1.5.4 (active)
trailing-spaces, v0.3.2 (active)
vim-mode, v0.65.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.2.0 (inactive)
base16-tomorrow-light-theme, v1.2.0 (inactive)
one-dark-ui, v1.6.0 (inactive)
one-light-ui, v1.6.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (active)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.7.0 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
find-and-replace, v0.201.1 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.59.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2-hotfix1 (active)
snippets, v1.0.2 (active)
spell-check, v0.68.2 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.101.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.209.3 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Same on Mac Sierra

I've been playing around and run npm install -g node-gyp and then reinstalled the autocomplete-ctags package:
apm uninstall autocomplete-ctags
apm install autocomplete-ctags

I've also rebuilt the node modules from /usr/local/lib/node_modules (run npm rebuild). Not sure what actually fixed it but I'm not getting the error since.

@lenart Did you do anything else? This didn't seem to work for me. Maybe something more did the job.

@chenasraf unfortunately I don't remember doing anything else for getting this fixed.


Add preset for dancing school

This PR adds a preset for leisure=dance with dance:teaching=yes. On the wiki page dance:teaching=* is described as an additional tag, telling that "dancers can obtain tuition". dance:teaching currently has over 700 uses. Would you accept this tagging scheme and review the structure?

This PR adds a preset for leisure=dance with dance:teaching=yes. On the wiki page dance:teaching=* is described as an additional tag, telling that "dancers can obtain tuition". dance:teaching currently has over 700 uses. Would you accept this tagging scheme and review the structure?

Looks good to me.. I'm going to change the icon so it looks more musical and less like a school with rulers.  I'll also add the field so that users can say what kind of dance they teach there.


Cannot install

Hey, nice convenient tool :+1:
However, I cannot install it using either go install github.com/lucasepe/yo@latest or go get ... with the following error:
go install github.com/lucasepe/yo@latest: github.com/lucasepe/yo@none updating to
<EMAIL_ADDRESS>parsing go.mod:
	module declares its path as: github.com/lucasepe/ko
	        but was required as: github.com/lucasepe/yo

thank you very much! fixed now (I hope..)

Yes, it's fixed :slightly_smiling_face:


Just use the built-in feature in Redcarpet to preserve underscores

It turns out that #94 was unnecessary and overly complicated.  This should simplify the code and effect the same behavior for preserving underscores in HTML messages.

@jderrett what are your thoughts on this? Want to merge?

@collinvandyck yeah, this is still on my list but I haven't had time to test it.  I'll try to ship it out today, thanks for the reminder.


fixing 2 small errors in examples

Small errors that I caught while following the examples
Please look at the files changed

Thank you @nellfs!


Lost Group on creation

If a user creates a Group and doesn't assign themselves as a member, they will be unable to access that group. I'm not sure this is a problem, but it seems counter-intuitive when it happens.
I am going to add cypher code that makes the enteredBy person also a member of the Group.

This is fixed in 9df264a3c3e5cf48f4faa42185d35dac527faba2 as described above.


build_runner failing in Flutter 3.22.2

build_runner fails in Flutter 3.22.2.
The following error gets thrown:
┌─ flutter_nix_repro/failing/test on  main is  v1.0.0+1 via  v3.4.3 via  impure (devenv-shell-env)
└─> dart run build_runner doctor -v
Resolving dependencies in `/home/andreas/Downloads/flutter_nix_repro/failing/test`...
Because test depends on flutter_test from sdk which doesn't exist (the Flutter SDK is not available), version solving failed.

Flutter users should use `flutter pub` instead of `dart pub`.

In an earlier version, build_runner worked correctly.
I have added a repro for the failing and working versions at https://github.com/Andreas02-dev/flutter_nix_repro/tree/main
Please let me know if any additional information is required, so this can be resolved.

I've looked into this a little more, and it seems Flutter 3.19.4 in nixpkgs works, and the latest Flutter 3.22 in nixpkgs also fails. This leads me to believe something went wrong with the bump from Flutter 3.19 to Flutter 3.22 , what would the best course of action be?

Hi @Andreas02-dev, thanks for looking into it. My guess is that there is some change in Flutter SDK. Setting FLUTTER_SDK env doesn't help and it requires some deeper investigation. For now I am using
flutter pub run build_runner ...

Hi @Andreas02-dev, thanks for looking into it. My guess is that there is some change in Flutter SDK. Setting FLUTTER_SDK env doesn't help and it requires some deeper investigation. For now I am using
flutter pub run build_runner ...

Hi @Andreas02-dev, thanks for looking into it. My guess is that there is some change in Flutter SDK. Setting FLUTTER_SDK env doesn't help and it requires some deeper investigation. For now I am using
flutter pub run build_runner ...

Thanks for your reply! I've also made a more minimal reproduction using standard nixpkgs Flutter, and filed a bug report there at https://github.com/NixOS/nixpkgs/issues/322871 . Since this issue isn't limited to flutter-nix but also exists there, would it be better to post our findings in that thread?


Metadata Display as a Table

Feature Idea
Perhaps as an option, have the selected image's metadata presented as a vertical table so that the same parameters are located in the same relative areas each time instead of the current display where the parameters are kinda all over the place as the screenspace shuffles things around. I can illustrate if necessary.
Other
No response

Details view was added per https://github.com/mcmonkeyprojects/SwarmUI/issues/354 , considering this feature request as a request to have control over the table it builds


stack-safe Endo

This would make it safe to foldMap into an Endofunctor. @natefaubion I recall you making something like this on Slack at some point.

You can use an efficient Free Monoid representation. I used an Array for demo purposes, but you can also use CatList, which is what purescript-free uses.

Sadly, using CatList here would create a dependency loop. It does seem like the right datatype, though. Perhaps the best approach is to create a separate lib for this :/


feat(client-presence): System Workspace

Add infrastructure for custom System Workspace to handle internal states including ClientConnectionId to ClientSessionId.
Move audience support to System Workspace
Add attendeeJoined implementation
Add test coverage for new attendee's joining and consistency of lookup. New test cases:

    PresenceManager
      ✔ throws when unknown attendee is requested via `getAttendee`
      when connected
        attendee
          ✔ is announced via `attendeeJoined` when new
          already known
            ✔ is available from `getAttendee` by connection id
            ✔ is available from `getAttendee` by session id
            ✔ is available from `getAttendees`
            ✔ is NOT announced when rejoined with same connection (duplicate signal)
            ✔ is NOT announced when rejoined with different connection and current information is updated

Update general update protocol to always include client connection id -> current session id entry to ensure all updates are always working with known (already registered) session id even if a prior join or broadcast were missed.

To reviewers, it is probably easiest to review the two commits individually. The first covers item 1 in description. The second covers items 2 and 3.

What is system workspace?

What is system workspace?

The Presence feature supports Workspaces where callers save and read custom Presence data and notifications. See https://github.com/microsoft/FluidFramework/blob/main/packages/framework/presence/README.md. The System Workspace is one that is internal to Presence feature. In that space Presence is itself managing data among clients. Right now, the primary data shared is map from client connection id (often just clientId in the codebase to an id Presence feature created - stable for lifetime of process.

More of a general (and more naive) question - why does app developer need to be aware of Workspace concept? Could they just get an appropriate one based on Value Manager they are requesting? Im not sure how common it would be to use NotificationManager with PresenceState or share workspace/namespace across multiple value managers.

More of a general (and more naive) question - why does app developer need to be aware of Workspace concept? Could they just get an appropriate one based on Value Manager they are requesting? I'm not sure how common it would be to use NotificationManager with PresenceState or share workspace/namespace across multiple value managers.

Workspaces are how we separate collections of states added for one use from collections of states for other uses. Readme. Value managers must be named and registered with workspace.

More of a general (and more naive) question - why does app developer need to be aware of Workspace concept? Could they just get an appropriate one based on Value Manager they are requesting? I'm not sure how common it would be to use NotificationManager with PresenceState or share workspace/namespace across multiple value managers.

Workspaces are how we separate collections of states added for one use from collections of states for other uses. Readme and a design doc entry. Value managers must be named and registered with workspace.

Yes, I have read Readme. Maybe I have wrongly assumed that app developers can retrieve workspace objects? If it's just an under-the-hood concept I think we are fine here.

More of a general (and more naive) question - why does app developer need to be aware of Workspace concept? Could they just get an appropriate one based on Value Manager they are requesting? I'm not sure how common it would be to use NotificationManager with PresenceState or share workspace/namespace across multiple value managers.

Workspaces are how we separate collections of states added for one use from collections of states for other uses. Readme and a design doc entry. Value managers must be named and registered with workspace.

Yes, I have read Readme. Maybe I have wrongly assumed that app developers can retrieve workspace objects? If it's just an under-the-hood concept I think we are fine here.

It isn't under the hood. Each logical use of presence states (and notifications) will carve out their own workspace. That workspace will normally be a states workspace setup via getStates. The object they get back named PresenceStates is a workspace that has properties for each of the state value managers they configured. I would just have called it PresenceWorkspace in API, but there was interest in having a dedicated thing for notifications; so, we have PresenceStates and PresenceNotifications which are both Presence Workspaces.


Set available_package_filters option before calling pkgAvail() directly/indirectly

miniCRAN::pkgAvail() calls utils::available.packages() with filters = NULL by default. As documented in ?available.packages, this corresponds to a default set of filters: c("R_version", "OS_type", "subarch", "duplicates"), which means that it excludes packages whose OS requirement is incompatible with the current OS and excludes those with compiled code that is not available for the current sub-architecture.
In other words, running offlinedatasci install r-packages tmp on Windows excludes packages that are compiled for macOS, which is quite a lot!
Unfortunately miniCRAN::makeRepo calls pkgAvail() without setting any filters argument, so the only way to control this at the moment is to set the available_packages_filters option. I think you want:
options(available_packages_filters = "duplicates")

Also dropping "R_version" as this is already handled by setting the URL and potentially someone could try setting up a miniCRAN for R 4.4 (say) when their current version of R is a different version.

Thanks for this @hturner! Can you provide a specific example of the differences you see with and without options(available_packages_filters = "duplicates") so that we can compare to that. A few quick examples on Linux didn't show any differences so we're just trying to figure out where to look.

Yes, here's one:
repos <- "https://cloud.r-project.org"
type <- "mac.binary.big-sur-arm64"
pp <- available.packages(miniCRAN:::contribUrl(repos, type, "4.4"),
                         type = type,
                         filters = c("R_version", "OS_type",
                                     "subarch", "duplicates"))
pp["fs", 1:3]
#> Error in pp["fs", 1:3]: subscript out of bounds
pp <- available.packages(miniCRAN:::contribUrl(repos, type, "4.4"),
                         type = type, filters = "duplicates")
pp["fs", 1:3]
#>  Package  Version Priority
#>     "fs"  "1.6.4"       NA

Created on 2024-05-16 with reprex v2.1.0
Also jsonlite was another. They have Archs: <package_name>.so.dSYM in https://cloud.r-project.org/bin/macosx/big-sur-arm64/contrib/4.4/PACKAGES.

Thanks @hturner! Looks like it is pretty likely that the miniCRAN maintainer will have a fix in for this shortly so we're going to let this sit for a week or so and see if we can make a minimal change relying on the upstream fix. If it doesn't come in soon we'll either work around with options() or install straight from the GitHub dev branch.


Flox install

simplify flox installation. This supports
nix run github:flox/floxpkgs

and
nix profile install --impure github:flox/floxpkgs#flox-install

and
nix shell github:flox/floxpkgs/flox-install#flox-install --impure

floxpkgs != flox, no?
I am not quite sure about the "run" part, feels a bit wrong, except we declare floxpkgs is flox..

Since this is targeted at the Nix persona, I think my favorite option is nix profile install --impure github:flox/floxpkgs#flox. Not too complicated, but obvious what it's doing

nix profile install --impure github:flox/floxpkgs#flox

we shouldn't override the flox attribute that easily confuses our hydra and anything that needs to build flox from source (and breaks the places we use it at now)


Wrong Val acc?

Thanks for your excellent work! When I trained the model at around 10000 iters, the batch acc of training set is ~96%, but the batch acc of val set is ~ 29%, what's wrong? the training list and val list is the list i used for training in CNN which works well.

Thanks for telling me this problem, I actually didn't make a validation in UCF101 dataset.
I just use this code to a binary classification problem, it works......
I will check this problem after 10.09, I am on my vocation now......
cheers~

@hawklucky Hi I have also found this bug in my experienment, when I get this train accuracy(93.75%):

I can only get a low val accuracy(32.8%):

I think there must be some over fitting problem, maybe some bad parameter like L2 regular, ExponentialMovingAverage......
I will check where is the problem next days, if you find some bugs you can tell me too, thanks~

@hawklucky recently, I have solved this problem. And if you want to get a high acc as same as the caffe version you must fine-tuning from the author's sports1m model. So I have transferred the caffe model to TF model, and fine-tuning this model from UCF101 dataset, and get a 72% acc.


WIP: Merge mathematical logic and infrastructure improvements

Primary Contributions:

Change logic in acoustic_utils to match Ben's visualisations
Parallelize data download and processing
Change orca-hls-utils node to @vaibhavmehrotraml's implementation

WIP:

Update documentation
Test edge cases
Cost analysis

Thank you @zachprice12 @vaibhavmehrotraml and @ttan27 on your contributions!


fix(ui): add formatted neg prompt for linear nodes

negativePrompt is a string so it will always return true even if left empty. And for the backend, it is expected to pass a negative_prompt even if it is empty. So I'd say you can get rid of the conditional and just pass ${prompt} [${negativePrompt}] in all cases.

Ah TIL. Just pushed that up - thanks!


Layer selection and selected layers areas can get out of sync.

Steps to reproduce.  (may be a related to #28)
1.) Filter and add a number of products from the layer selection dialog to the selected list drawer.
2.) Remove the product(s) from the selected list drawer.
3.) Bring the layer selection dialog back up
- Note that the filter selections have been cleared
- Note that results from the previous search are still viewable.
- Note that results have a "-" icon indicating they have already been selected yet no longer exist in the selected list drawer
- Note the that you have to select them twice to re-add them to the list.
- Note that hitting the reset button has no effect.
- Note switching from tropical to synoptic doesn't reset the layer selection dialog.
- When a layer is selected on the search dialog it is placed in the lower drawer. however, when it is un-selected from the search dialog it remains in the lowere drawer.
This may be an incomplete dialog reset issue.

2

This problem has been fixed - Please review and close


45k points in the common area

How do you get 45k points in the common area when you do the evaluation? Do other methods have 45k points in the common area same as your method?

hi，Do you know how to get 45k points?


ResX generator - 'Type' does not contain a definition for 'Assembly'

Hi there,
I have a library project with a multi target <TargetFrameworks>net45;net47;netstandard1.3;netstandard1.6;netstandard2.0;netcoreapp2.0</TargetFrameworks> and when I am trying to add a resx file to handle some translations I start having the following issue:
Error CS1061 'Type' does not contain a definition for 'Assembly' and no accessible extension method 'Assembly' accepting a first argument of type 'Type' could be found (are you missing a using directive or an assembly reference?)

I have read on issue #595 that to get the Assembly we need to get through GetTypeInfo() but I would expect the ResXFileCodeGenerator to take care of that automatically.
Am I missing something? Or doing something wrong?

I can confirm that if I create a new netstandard class library and add a resx (keeping only <TargetFramework>netstandard1.3</TargetFramework>) everything works fine but as soon as I add the net45 as multi-target (<TargetFrameworks>net45;netstandard1.3</TargetFrameworks> I start having the designer generated properly only for net45.

Seems like it only happens if you have net45 as the first TFM, so move it to the 2nd position or later. Delete the *.designer.cs file and regenerate it (edit any field in the .resx file and save it)

@ericstj @joperezr since it's related to .NET versions, maybe it's your area of expertise. Can you help? If not, please let me know who can help with this.
Adding @adamsitnik as well, since he helped in the referenced issue https://github.com/dotnet/core/issues/595.

I believe this is a problem with the code-generator for the resources.designer.cs.  It's not handling multi-targeting.  It needs to consider all frameworks targeted by the project, not just the first.  @dmonroym  @davkean does the Designer.cs code generator live in the project system or winforms?

/cc @merriemcgaw @DustinCampbell

We don't have a lot of control over this - the relationship we have with the code gen doesn't give us the ability to say "factor in all these TFMs". @Tanya-Solyanik did the original hook for us and they own it in the Framework itself and that would be need to be extended. Once .NET Standard 1.x and portable usage is reduced, this issue will start going away.

Sorry to get back to you that late. I do confirm that by putting one of the netstandard first everything works well.
I still decided to create this ticket hoping you could find a way to improve the UX for others. Feel free to close if you don't think that you can have some easy win.

Thanks @Evangelink, I'll close the issue. @davkean feel free to reopen it if you want to add more information.


Fix release labels missing release version because of missing kafka prefix

Fixes #
I ran into issues installing eventing, and I think this is the cause.
I was trying to install knative-eventing version 0.22.2 with the knative operator 0.25.2.
I also wanted to install kafka-source/kafka-channel/ and apache kafka broker
Here's a snippet of my operator manifest:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
  name: knative-eventing
  namespace: knative-eventing
spec:
  version: "0.22.2"
  manifests:
    ## Source
    - URL: https://github.com/knative-sandbox/eventing-kafka/releases/download/v${VERSION}/source.yaml
    ## Channel
    - URL: https://github.com/knative-sandbox/eventing-kafka/releases/download/v${VERSION}/channel-consolidated.yaml
    ## Broker
    - URL: https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/v${VERSION}/eventing-kafka-controller.yaml
    - URL: https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/v${VERSION}/eventing-kafka-broker.yaml
  # configs
  config-kafka:
  ....

The operator started outputting errors. They all referenced this text (I assume multiple logs for one error).
The version of the manifests devel does not match the target version of the operator CR v0.22.2. The resource name is kafka-webhook
Here's one of them:
{"severity":"ERROR","timestamp":"2021-09-17T23:37:16.937755376Z","logger":"knative-operator","caller":"knativeeventing/reconciler.go:305","message":"Returned an error","knative.dev/pod":"knative-operator-7cb4cd5877-5cw5s","knative.dev/controller":"knative.dev.operator.pkg.reconciler.knativeeventing.Reconciler","knative.dev/kind":"operator.knative.dev.KnativeEventing","knative.dev/traceid":"9f7b66bb-5cc7-4a09-b760-ef8b0e17c48d","knative.dev/key":"knative-eventing/knative-eventing","targetMethod":"ReconcileKind","error":"The version of the manifests devel does not match the target version of the operator CR v0.22.2. The resource name is kafka-webhook.","stacktrace":"knative.dev/operator/pkg/client/injection/reconciler/operator/v1alpha1/knativeeventing.(*reconcilerImpl).Reconcile\n\tknative.dev/operator/pkg/client/injection/reconciler/operator/v1alpha1/knativeeventing/reconciler.go:305\nknative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/pkg@v0.0.0-20210902173607-844a6bc45596/controller/controller.go:540\nknative.dev/pkg/controller.(*Impl).RunContext.func3\n\tknative.dev/pkg@v0.0.0-20210902173607-844a6bc45596/controller/controller.go:477"}

When downloading the manifest https://github.com/knative-sandbox/eventing-kafka/releases/download/v0.22.2/channel-consolidated.yaml
You can see that the webhook-hpa.yaml contents don't have a release version applied. I think that's because they are tagged with
eventing.knative.dev/release: devel in the repo instead of kafka.eventing.knative.dev/release: devel
I fixed that specific file and the other files I found in the repo that might be suffering from the same issue.
Proposed Changes

All kafka k8s objects should have the label kafka.eventing.knative.dev/release: devel instead of eventing.knative.dev...

Release Note

- 🐛 Fix operator installation issue cause by missing release label

Docs

@googlebot I signed it!

@patrickriordan Thanks for the fix. I don't know what these labels are actually used for and if we would break anything by changing them. So, I will ping some people.
@houshengbo Can you have a look here please?
@pierDipi Any idea what these labels are used for?

/retest

No problem! I didn't check the build pipeline to understand exactly how the labels are updated yet either (just pattern matching)... so it'd be good to have some eyes on it.

While I appreciate the fix for correcting the labels, I am not sure if that is actually the real issue
/cc @houshengbo

/ok-to-test

@patrickriordan thanks again for the PR!  Do you mind creating an issue w/ the install on the knative/operator repo? Thx


setup error for universal environment

Hey,
I am using a standard universal environment and my createStore(createReducer(), initialState, compose(...enhancers)) takes 3 args
If i try to add combineForms as a param it fails and throws error for the same.
Please suggest!
Thanks

Can you show me your current code? combineForms() is to be used in place of combineReducers().

hey @davidkpiano my present store looks like this. I did think of combineforms as combinereducers and placed the respective in my reducers.js but that failed too

import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import axios from 'axios';
import chalk from 'chalk';
import { browserHistory } from 'react-router';
import { routerMiddleware } from 'react-router-redux';
import createReducer from './reducers';
export default (initialState) => {
const middlewares = [
thunk.withExtraArgument(axios),
routerMiddleware(browserHistory),
];
const enhancers = [
applyMiddleware(...middlewares),
DEV && typeof window === 'object' && typeof window.devToolsExtension !== 'undefined' ?
window.devToolsExtension() : f => f,
];
const store = createStore(createReducer(), initialState, compose(...enhancers));
store.asyncReducers = {}; // Async reducer registry
if (module.hot) {
// Enable Webpack hot module replacement for reducers
module.hot.accept('./reducers', () => {
try {
// eslint-disable-next-line import/newline-after-import
const reducers = require('./reducers').default;
store.replaceReducer(reducers(store.asyncReducers));
} catch (error) {
console.error(chalk.red(==> 😭  Reducer hot reloading error ${error}));
}
});
}
return store;
};

Let me know what needs to be done or should I just use LocalForms due to my setup.
By the way I am using this-starter as the universal boilerplate
Thanks

I don't see React-Redux-Form being used in the above code. Can you show me the relevant code that is failing?

Hey David, so I have not been able to change my store.js file yet because I already have a createreducer() which needs to be passed. So all I have been doing is wondering how to put both the createreducer() as well as combineForms() together. As of now my store looks the same way. I although tried

createStore(combineForms({ user: value }), createReducer(), initialState, compose(...enhancers))

But it has the same problem as I said above about passing only 3 params to createstore
Thanks

What does createReducer() look like?

createReucer is just a combinereducers()
Also I was seeing that there are options of adding things to combineducers in this lib with modelReducer and etc.

Yeah, as long as the first argument is a reducer, it should work. Instead of using combineReducers(), use combineForms(), which returns a reducer.


Query by Keychain account

I have a Keychain value that is stored for a specific kSecAttrAccount. Is there any way to use react-native-sensitive-info to query for an iOS Keychain value by account?

For backstory, I am attempting to accomplish the exact same goal as #29. However, my Swift-based iOS app uses Locksmith.saveData to store the Keychain value. This Locksmith method stores the value with an kSecAttrAccount value.
I attempt to use react-native-sensitive-info to retrieve the Keychain value with Locksmith's default service, but I receive a value of undefined.
SInfo.getItem('MyKey', {
  keychainService: 'com.locksmith.defaultService', // Default service for Locksmith
}).then(value => {
  console.log(value) // undefined
});

I see kSecAttrAccount referenced in this package's source, but I am unable to find a way to pass an account value to SInfo.getItem.
Any guidance would be greatly appreciated. Thank you for the hard work on this package!

I now realize that the key parameter for react-native-senstive-info is in fact being set as the kSecAttrAccount argument for the iOS Keychain query. Sorry, I'm very unfamiliar with Obj-C and overlooked that fact earlier.
For posterity, I have been able to access some Keychain values set by the Swift app using react-native-sensitive-info. Unfortunately, I still am unable to access values set via Locksmith. I am continuing research to find a solution to that issue.


Release process

Tracking
Rolling out a sem-ver based release process using CI and git based tagging. Artifacts:

gem
docker image (easily plugable in container-environments with flags as envs or similar)

Will need to look whats out there to support docker image releases.

Done


Error when running example code

I keep getting the error
Error in magma_getdevice_arch: MAGMA not initialized (call magma_init() first) or bad device
when running the example training code. I switched to different machines and the error persists. Any ideas on how to resolve this? Thanks!

It seems you have some issues with your cuda/pytorch installation, I haven't seen this one before, so not sure.


Adding write_relabel_configs in additionalScrapeConfigs doesn't work

Prometheus Operator version:
v0.23.2

Kubernetes version information:
v1.11.7

Manifests:

My prometheus operator manifest last few lines in .spec:
  remoteWrite:
    - url: "http://influxdb:8086/api/v1/prom/write?db=prometheus"
  additionalScrapeConfigs:
    key: prometheus-additional-public-api.yaml
    name: prometheus-additional-public-api
  version: v2.4.2

My prometheus-additional-public-api secret:
prometheus:
  remote_write:
    - url: http://influxdb:8086/api/v1/prom/write?db=prometheus
      write_relabel_configs:
        - source_labels: [__name__]
          regex:         jvm.*
          action:        drop

Prometheus Operator Logs:
E0621 14:49:45.104915       1 operator.go:816] Sync "staging/public-api" failed: creating config failed: generating config failed: unmarshalling additional scrape configs failed: yaml: unmarshal errors:
  line 1: cannot unmarshal !!map into []yaml.MapSlice

My second try of prometheus-additional-public-api secret:
- remote_write:
    - url: http://influxdb:8086/api/v1/prom/write?db=prometheus
      write_relabel_configs:
        - source_labels: [__name__]
          regex:         jvm.*
          action:        drop

Prometheus instances logs:
 err="error loading config from \"/etc/prometheus/config_out/prometheus.env.yaml\": couldn't load configuration (--config.file=\"/etc/prometheus/config_out/prometheus.env.yaml\"): parsing YAML file /etc/prometheus/config_out/prometheus.env.yaml: yaml: unmarshal errors:\n  line 87: field remote_write not found in type config.plain"

Additional scrape configs is just for scrape configs, not other settings in the prometheus config. The remote write config in the Prometheus object allows you to specify relabeling rules already https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotewritespec

🧐 I have a lot of problems with getting the right syntax for the operator manifest.
Anyway I will not use this as it's experimental feature, but thanks for the info! 👍


Taskrun is created twice if using build for service

Version: v0.5.0-alpha.2
Steps to reproduce:
rio run https://github.com/rancher/rio-demo
rio build
Output:
NAME                                                               SERVICE/STACK                                  REVISION                                   CREATED          SUCCEED   REASON
default/default-distracted-heisenberg9-ee709b9-4e40c-ee709-4e40c   default/distracted-heisenberg9-ee709b9-4e40c   f8fab97fddc8ed5e98e45cd6373ad6feff3197f9   5 minutes ago    True
default/default-distracted-heisenberg9-ee709-4e40c                 default/distracted-heisenberg9                 f8fab97fddc8ed5e98e45cd6373ad6feff3197f9   5 minutes ago    True

Expected:
Should only have one build fired.

Available to test in v0.5.0-alpha.3

Validated 💯
rio run https://github.com/rancher/rio-demo
rio build
NAME                                          SERVICE/STACK             REVISION                                   CREATED          SUCCEED   REASON
default/default-boring-solomon4-ee709-4e40c   default/boring-solomon4   f8fab97fddc8ed5e98e45cd6373ad6feff3197f9   36 minutes ago   True


fix: improve rpc.skip-auth

In the current skip-auth implementation, there was an issue: Authentication could be skipped, but it still required the Authentication header to be set (it just wouldn't check it).
This PR improves the devex by removing this requirement. I missed it the first time because I tested by using the CLI, which always sets the header regardless of what you pass. This came up while implementing https://github.com/eigerco/lumina/pull/210, since the wasm client cannot set headers.
I also think the solution is cleaner than the original.

Codecov Report
Attention: 9 lines in your changes are missing coverage. Please review.

Comparison is base (625cdf3) 51.68% compared to head (b24a706) 51.76%.

Files
Patch %
Lines

nodebuilder/rpc/constructors.go
0.00%
9 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3152      +/-   ##
==========================================
+ Coverage   51.68%   51.76%   +0.07%
==========================================
  Files         178      178
  Lines       11284    11284
==========================================
+ Hits         5832     5841       +9
+ Misses       4951     4938      -13
- Partials      501      505       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Release 1.7 - UI fails with 'We are experiencing an unexpected error'

When testing release 1.7 ( 632e6e1a6ece21ec9f1fd8607249f5adc31b33d8 )and opening up the GUI, an error
'We are experiencing an unexpected error. Please try again later!'
is reported
Search also fails - for example if the 'building a data catalog' notebook is run beforehand, one can normally search for assets containing 'csv'. This fails
Further more subject area & type explorer fail also
No audit log messages in UI container, nor in any of the targeted egeria servers (ie core or data lake).
Investigating ...

There is no AuditLog in UI and logging is turned of by default in the applicacation.properties

Quick test on my side works fine.
Not using notebook but fresh build, config and run from branch egeria-relase-1.7 .


Ability to 'peak' value in a password Text Input

Describe the solution you'd like
There should be a button that allows the user to view a password Text Input as a regular text input. This is useful for users to verify that their value is correct
Additional context
It looks like there may be an eye icon that we can use. We will also need the eye icon with a cross through it, indicating the password text is not visible.

I made a tiny little library that does this :-)
https://github.com/coliff/bootstrap-show-password-toggle


Auto-update copyright year

This is super low-priority, but it'd be nice to have :)

Hey, do you have some specific suggestions regarding this.

Hey, I too had thought about the solutions that you suggested and i was thinking maybe we should make a single file where we can incorporate all the changes like this , i think that would help a lot in identifying all the changes

maybe we should make a single file where we can incorporate all the changes like this one , i think that would help a lot in identifying all the changes.

Not sure I get it 100%. Do you mean create a single Jinja template for footer;  or create a single Python file for the code which handles configuring the globals?


Receive concurrency

The documentation specifies: "You can safely use the QueueClient object for sending messages from concurrent asynchronous operations and multiple threads." but it is not clear about thread safety on receive operations and receive/send concurrently. Can you please add some details about that?

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

ID: f7eb26ad-3f91-13f4-5827-9dd398412f9d
Version Independent ID: 1e3dc2ac-1d5e-3da1-7d51-91d36bda14f2
Content: Best practices for improving performance using Azure Service Bus
Content Source: articles/service-bus-messaging/service-bus-performance-improvements.md
Service: service-bus-messaging
GitHub Login: @sethmanheim
Microsoft Alias: sethm

@StefDotmailer Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Thank you @Mike-Ubezzi-MSFT

@StefDotmailer  apologies for the delayed response, but not sure I fully follow the question.
It will rely on what your use-case is, but frankly it's a balance between concurrency and thread safety.

Total concurrency prefers idempotent consumers/handlers of the message operating in their own address space.
If thread safety is important, then full concurrency cannot be achieved.

#please-close


Multiple NEG/Backend support

A GKE service can have multiple NEGs created for different ports but there isn't a way to associate a specific NEG with a specific backend.
For example, a service exposes two ports. Port 443 for HTTP2/grpc and port 8443 HTTP1.1 for metrics and diagnostics endpoints. Two NEGs can be created for those two ports but there is no way to associate the port 443 NEG with backendA and the port 8443 NEG with backendB.
They must be behind separate backends since they use different protocols (HTTP2 and HTTP) to talk from the backend service to the NEG instances.

I created support for multiple backends a bit over a year ago and we are now revisiting the issue. I suggest the following (and I'm very happy to hear any opinions on these):

Add a new annotation syntax matching the cloud.google.com/neg annotation:

cloud.google.com/neg: '{"exposed_ports": {"80":{},"443":{}}}'
controller.autoneg.dev/neg: '{ "endpoint_groups": { "80": { "name": "foo", "max_rate_per_endpoint": 1000 } , "443": { "name": "bar", "max_connections_per_endpoint": 42 } } }'

We keep the existing annotation style for backwards compatibility for "version 1.0", but emit a deprecation warning.
We remove the old-style annotation in "version 1.x".

I did basically the same thing as @rosmo mentioned in point 1 with the addition of an optional internal property (bool) to handle regional backend services on Internal Load Balancers (region pulled from http://metadata.google.internal/computeMetadata/v1/instance/attributes/cluster-location).

@rwkarg would you be willing to do a PR?

I wrote our not-autoneg controller in C# so while it was a great learning experience into how Kubernetes controllers work, it's not conducive to a PR.
One thing to keep in mind is that Internal LBs currently have regional backend services. I don't know what the structure would be with potential globally routable Internal LBs (similar to how L4 Internal load balancer can be configured to be globally routable) would look like. A simple bool for internal may or may not be appropriate for some future state.

Fixed by #34


Make Vuep into a Universal Component

I wanted to use Vuep in a server-rendered app. This required requiring (ha!) compiler.js and codemirror at runtime, as these use navigator and window respectively on import.
Dunno if you want to do it this way, it solved my problems though, so I thought I might as well make a PR out of it.
Thanks for a great little component btw, saved me a buttload of time not having to code this myself :)

CI is failed

Yeah, and the local demo also fails because require is not known. I'm not sure how to fix this. It works in my scenario (possibly because it gets piped through webpack and bublé), but doesn't seem like a good fix.


Auto-disable smart grid / require heartbeat msg to avoid being left in "high consumption modes" if control system fails

I recently got the project working and I'm loving it - thank you to all contributors!
However I had an incident 2 days ago where the heat pump was turned on using the SG feature and then for some reason my control software which sends the SG control messages failed, so there was no message to power off when there was no solar surplus, leaving the system running in SG "forced on" during peak electricity prices.
As this incident shows, the control of SG is not robust or failure resistant enough and these failures can have financial consequences.
The idea I had was the addition of a SG mode where the control system must send a the espaltherma/sg/set message every X (30?) seconds - this will operate as a kind of "heartbeat ping" monitoring that the control system didn't go AWOL and the current SG mode is valid, functioning as a signal to ESPAltherma a signal that it should back out to it's normal running mode if the message isn't received.
If the message is not sent then it falls back to it's default state of "normal" SG mode.
This would be a breaking change, so probably wants to be a configurable option vs the current implementation.
Or maybe more generically we may just add an SG_MODE_MAX_TIME - type const, if it's undefined then there's no timeout. If a timeout is defined then the SG reverts to normal. If a new msg is received it resets the timer.

I don't know C, i'm a typescript dev, but I might see how far I can get with Claude of o1-mini creating a PR for this over the next few days...

FYI, I have a working version. Need to clean up a little (& add tests?) and will be able to publish a PR soon.


setup database for domain application

application_data
domain
site_name
country
first_name
last_name
email

Issue moved to AdChain/adchain-registry-server #5 via ZenHub


Ajax

Add support for Ajax requests

I don't understand what you mean. Ajax is more of front-end things. If you'd like the application to response as json, it's ok now. And returning javascript by template is also possible.
Ajax is really the difference in request manner and response message body. For server side, it's nothing to change.

Your observation is correct. My idea is to supply a functional minimalist demo (based on jquery ajax). After this step I want to see if I can add something valuable in Pippo to simplify the development of Ajax applications (for example to create a pippo.js). One idea is to brings Pippo named routes to javascript.
It's only an idea with a low priority.

I created a basic demo pippo-ajax. The ajax part is implemented using intercooler.js - declarative ajax library.

That's a nifty little library!

I deployed a Bower Webjar for intercooler 0.4.10 so you shouldn't need to use the CDN.

Deployed!
It will take a few hours for the Maven Central index to update but you should be
able to start using the Bower WebJar now.

GroupID = org.webjars.bower
ArtifactID = intercooler-js
Version = 0.4.10

Nice. I see that it's very easy to write pippo-ajax application using intercoller (simple stuff). If you want, we can improve the pippo-demo-ajax module and add this demo on the master branch (and of course add a simple page Ajax on pippo-site).

add this demo on the master branch

I think that would be a good idea.

<script src="${webjarsAt('intercooler-js/0.4.10/src/intercooler.js')}"></script> is a little different than a standard <script src="${webjarsAt('jquery/1.11.1/jquery.min.js')}"></script (just an example) but it's a solution

I don't get to control the layout of the jar file.  That's part of the autoconversion from Bower to Webjar.

Sure. I wrote above comment just to remember the correct syntax :smile:

I will try to improve the demo with a CRUD


Cygwin

how can i add support to start cygwin mintty terminal ?

To use mintty, install "chere" using cygwin setup and use the following cofiguration:
{
"terminal": "c:\cygwin\bin\mintty.exe",
"parameters": [
"-e",
"c:\cygwin\bin\bash.exe",
"-c",
"/bin/xhere /bin/bash.exe"
]
}

When I do this I get the message "set_prompt" command not found. Also it doesn't source my bashrc and I can't source it manually.

@pencilboy99 What's the configuration you are using?

I'm okay it's working.


Add a JSON endpoint for the most recent posts

Why:
This change creates a JSON endpoint for the most recent blog posts.
We need to render the most recent posts on the homepage. The homepage
is a static page, built on middleman, and adding a back-end to list blog
posts seems overkill. The idea is to make a request on the browser for the
most recent posts and add them dynamically to the homepage.
Notes:
I'm not very confident about duplicating information about the picture's
name, I guess on the model would make more sense to avoid duplication.
But on the other hand, it would add presentation details to the model.
This change addresses the need by:

Adding AMS.
Adding serializers for posts and users.
Adding a JSON endpoint.

:+1:


cHTTP has been renamed to isahc

This seems to work and pulls entire body.
The hyper-client seems to mess up the body by doing some decode/encode behind the back? Haven't figured out yet what exactly happens.

How can we fix apps depending on surf version 1.0.1 with chttp if you can't merge this because is a breaking change? Thanks!

This PR has been merged and is there to stay

Is there any plan to release a new version? I've seen the last one is 1.0.1 and it doest not have the chttp read body fix right? Thanks


pynipap deb package doesn't support python3

pynipap is compatible with python3, but the debian package only does python2

Ok, you want a python3-pynipap package, right?

Pretty much, yeah :)
Installing via pip gets me a pynipap module for py2 & py3, no reason why there shouldn't be an equivalent deb package
( http://www.wefearchange.org/2012/01/debian-package-for-python-2-and-3.html looks to be fairly useful, depending on how knowledgeable you are about debian packaging)

Yeah, there's no reason in particular that we haven't created such a package. I think it's more than we (or I) envisioned that we get py3 compatibility and then release packages for both py2 and py3 but as we still have some more work on the other components for full py3 compatibility we never released the packages.
Nothing stops us from handling pynipap separately.

Okay, wasn't quite as easy as I imagined. https://github.com/SpriteLink/NIPAP/blob/master/pynipap/debian/rules says python2. Can't just change or add python3 because that won't produce any working package. How do we actually tell it to build both py2 and py3? @garberg ideas?
PRs accepted :)


Port all raw instantiation of NAS2D::Font to use the FontManager utility class

Title basically says it all. Issue #57 is aimed at creating a Font manager object which should help to minimize the need for passing fonts around. Sure, NAS2D::Font internally generally handles this but the FontManager class is intended to reduce the number of global variables by containing them within a global utility class.

Pretty sure I got everything in all of the code. Feels less clunky now.


Wagtail 5.0 upgrade

Wagtail 5.0 release notes: https://docs.wagtail.org/en/stable/releases/5.0.html
What's new:

Updated documentation and tests to support Django 4.2 and Wagtail 5.0

Superseded by: https://github.com/marteinn/wagtail-color-panel/pull/16