Tests: adjust test for Windows

The Windows environment has a smaller stack limit.  Without
optimizations, we can manage to run up to ~950 recursive calls.  With
release mode, we are able to get to ~1250.  Limit the artificial call
depth accordingly.  This allows the test suite to pass on Windows.
Bug/issue #, if applicable:
Summary
Provide a description of what your PR addresses, explaining the expected user experience.
Also, provide an overview of your implementation.
Dependencies
Describe any dependencies this PR might have, such as an associated branch in another repository.
Testing
Describe how a reviewer can test the functionality of your PR. Provide test content to test with if
applicable.
Steps:

Provide setup instructions.
Explain in detail how the functionality can be tested.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ ] Added tests
[ ] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary

CC: @QuietMisdreavus

@swift-ci please test


ENH add libnl3-cli

Please see the repo readme for directions on how to make PRs on this repo.
Checklist:

[ ] if you have added a CDT, it appears in the cdt_slugs.yaml file and
you have rerun the script python gen_cdt_recipes.py.
[ ] if you have changed the CDT generator code (rpm.py), you have bumped
the build number in conda_build_config.yaml and have remade all of the
recipes via running python gen_cdt_recipes.py --force
[ ] if you have added a custom CDT recipe, you have added the name of the CDT
with custom: true in the cdt_slugs.yaml file.
[ ] all CDT recipes have build number set by {{ cdt_build_number }} for
old-style/legacy CDTs or {{ cdt_build_number|int + 1000 }} for new-style CDTs
[ ] if you see a warning about a CDT not having a license, you have added the
license_file key in the cdt_slugs.yaml file with the path to the appropriate
license in licenses/

NOTE: If you make any changes to cd_slugs.yaml, you need to reun the generator code
via python gen_cdt_recipes.py. Add the --fast option to make this go more quickly.
closes #28

Thanks Matt! 😄


[fature idea] Hook: withCustomError

Hello guys,
I'm submitting the basic idea here and once you approve it, I'll add the PR with types and tests et al.
The hook is called withCustomError and it can be used to change errors thrown by other hooks.
The scenario goes like this: I want to use the disable hook but return a 404 NotFound error instead of the default MethodNotAllowed error.
Basically, instead of writing the following e.g:
disallow("external") // throws MethodNotAllowed

We would wrap it in a withCustomError utility hook, like so:
withCustomError(disallow("extenral"), () => new NotFound()) // throws NotFound

The basic code goes like this:
const withCustomError = (hook, errorCreator) => (context: any) => {
  try {
   // if the hook does not produce an error, no need to throw
    const res = hook(context);
    return res;
  } catch (err) {
    throw errorCreator(context);
  }
};

We can also use function composition to create a new disallow404 like so:
const disallow404 = (...providers) => withCustomError(disallow(...providers), () => new NotFound());

What do you think ?

That would definitely be useful if an error needs to be, for example, localized.

+1

For the record, in case anyone else copies this, an await is required before the call to the internal hook.
const withCustomError = (hook, errorCreator) => (context: any) => {
  try {
   // if the hook does not produce an error, no need to throw
    const res = await hook(context);
    return res;
  } catch (err) {
    throw errorCreator(context);
  }
};


Move transactions.rs into cosmwasm-storage

The file transactions.rs and the exports
pub use crate::transactions::{transactional, transactional_deps, RepLog, StorageTransaction};

are non-essential and schon be moved from cosmwasm-std to cosmwasm-storage.

I agree!


Recent completion changes don't allow fuzzy matching

For now there is this workaround that seems to work for everybody: https://github.com/robbyrussell/oh-my-zsh/issues/1398#issuecomment-255596509. Have a look and report any issues.
Related: #1398 #5435.
─ @mcornella

When I try to change directory:
$ cd /s/s.s.l <tab>

I expect that it completes as:
$ cd /srv/sc.social.like

but it is not working.. I  don't know where to check this bug.. it worked fine in my old ubuntu, but this week I start using arch linux, and this bug is driving me crazy..
omz-debug.log
https://gist.github.com/anonymous/b4329bd15bcb526658992031a0fd7269

This will be the issue to track this problem, for everybody that has it. So please subscribe for updates.

For now there is this workaround that seems to work for everybody: #1398 (comment). Have a look and report any issues.

@mcornella the workaround didn't work for me.. is it possible to explain what commit start the mess? I didn't find it

nevermind.. I could add the workaround now! thanks


[DPP] Interoperability checks performed

Interoperabilty Requirements:

[x] Provide an Business Problem & Process Definition overview (Flowchart, BPMN) that makes the business interaction tangible
[x] Do you have a documented End User Benefits Statement that states who the beneficiaries of the interoperability are and what they gain?
[x] Please demonstrate App Provider Commitments from at least 2 parties that will implement the suggested interoperability scenario
[x] Please provide a visualization of the Architecture Functional Cut between Apps and Network to demonstrate which capabilities reside in applications vs the network
[x] Have you executed a Business Semantic Alignment across the various application providers resulting in a documented understanding of the data objects, structures and semantics
[x] Did you execute a Mapping against Catena-X Architecture Framework? Which standardization candidates are you intending to use in your scenario, which ones did you decide not to use?
[x] Please provide a Technical Integration Design (interaction diagrams) that shows the components, interactions and technical protocols that you are intending to implement

Information found in: https://github.com/eclipse-tractusx/digital-product-pass/blob/main/docs/business statement/BusinessStatement.md
Open Tasks to do in the document:

[x] Update with the list of latest models to be integrated in Github (compare with updated confluence)
[x] Check for changes or typos in diagrams and text compared with last QG 24.03

Already requested for the review and approval from Interop team.


Unexpected behavior client.json

Unexpected client Behavior
Add many clients in sensu server.
Current Behavior

If I have 2 different json file with client section sensu server it´s mergering configuration.
If I have 2 different clients sections at the same client.json file sensu-server is only using the last one.

Steps to Reproduce (for bugs)
The first case (2 different json file with one client section in each file)
client.json file
{    "client":{       "name":"SENSUSERVER",       "address":"localhost",       "deregister":true,       "deregistration":{          "handler":"deregister_client"       },       "subscriptions":[          "Linux",          "SW: Redis",          "SW: RabbitMQ"       ]    } }
temp.json file
{    "client":{       "name":"switch-x",       "address":"unknown",       "subscriptions":[       ],       "keepalives":false    } }
This is the API result (SENSUCLI is another machine)
curl -s -u *****:***** http://localhost:4567/clients | jq . [   {     "name": "switch-x",     "address": "unknown",     "deregister": true,     "deregistration": {       "handler": "deregister_client"     },     "subscriptions": [       "Linux",       "SW: Redis",       "SW: RabbitMQ",       "client:switch-x"     ],     "keepalives": false,     "version": "1.0.0",     "timestamp":<PHONE_NUMBER>   },   {     "name": "SENSUCLI",     "address": "localhost",     "keepalives": false,     "deregister": true,     "deregistration": {       "handler": "deregister_client"     },     "subscriptions": [       "Linux",       "client:SENSUCLI"     ],     "version": "1.0.0",     "timestamp":<PHONE_NUMBER>   } ]
When I ask API to return current clients it´s mergering both clients options.
The second case (2 different clients sections at the same client.json)
I have one client.json file
    {        "client":{           "name":"SENSUSERVER",           "address":"localhost",           "deregister":true,           "deregistration":{              "handler":"deregister_client"           },           "subscriptions":[              "Linux",              "SW: Redis",              "SW: RabbitMQ"           ]        },        "client":{           "name":"switch-x",           "address":"unknown",           "subscriptions":[           ],       "keepalives":false        }     }
This is the API result (SENSUCLI is another machine)
curl -s -u *****:***** http://localhost:4567/clients | jq . [       {         "name": "switch-x",         "address": "unknown",         "subscriptions": [           "client:switch-x"         ],         "keepalives": false,         "version": "1.0.0",         "timestamp":<PHONE_NUMBER>       },       {         "name": "SENSUCLI",         "address": "localhost",         "keepalives": false,         "deregister": true,         "deregistration": {           "handler": "deregister_client"         },         "subscriptions": [           "Linux",           "client:SENSUCLI"         ],         "version": "1.0.0",         "timestamp":<PHONE_NUMBER>       }     ]
When I ask API to return current clients it only shows me the last one.

Sensu version used: 1.0.0
Operating System and version (Ubuntu 16.04):
Transport and runtime versions (RabbitMQ 3.6.2 on Erlang 18.2):

This is expected behaviour.
With two files you have two different JSON objects that can be individually parsed and then merged, while the second case is a single JSON object with duplicate keys. Duplicate keys are technically allowed by the JSON spec, but the most common parser behaviour is to keep one of the values and throw away the duplicate(s).

@guannais you can only have one Sensu client definition per machine (for sensu-client), there is no client definition for the Sensu server (sensu-server). Sensu clients register themselves, you do not need to configure them centrally - https://sensuapp.org/docs/1.0/overview/architecture.html#monitoring-agent
Thanks @flowerysong, this is indeed the expected behaviour.
Setting JSON configuration snippets are deep merged, using this method: https://github.com/sensu/sensu-settings/blob/master/lib/sensu/settings/loader.rb#L387-L405. String and integer values are replaced, hashes are merged, and array are concatenated. You can optionally change the order of how JSON files are loaded and applied by naming them appropriately, alphabetically.


[Avatar] css overriding not work<EMAIL_ADDRESS>

https://monosnap.com/file/5npnk2DnDRYrbRkera281z2D2CJqVd
Why I can't override companent styles?
 <Avatar
  className={cn(classes.avatar, { [classes.responsibleAvatar]: user.id === responsible.id }, avatarClassName)}
  src={userHelper.getCardAvatarURL(user)}
/>

Also IconButtons use wrong primary color, it should be purple not default blue https://monosnap.com/file/zRr1dnSKJ00wlnWwT5XgbQDsLDIuNk
return createMuiTheme({
    palette: {
      primary: purple,
      secondary: indigo,
      error: red,
      black: '#0A0A0A',
      // Used by `getContrastText()` to maximize the contrast between the background and
      // the text.
      contrastThreshold: 3
    },
    colorUtils,
    overrides: {
      MuiLink: {
        root: {
          cursor: 'pointer'
        }
      }
    },
    props: {
      MuiRadio: {
        color: 'primary'
      },
      MuiCheckbox: {
        color: 'primary'
      },
      MuiLink: {
        color: 'textPrimary',
        underline: 'always'
      },
      MuiWithWidth: {
        ...(process.env.NODE_ENV === 'test' && {
          initialWidth: 'lg'
        })
      }
    }
  });

[X] The issue is present in the latest release.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Steps to Reproduce 🕹
I just updated miu version from 4.3.2 to 4.4.0
Your Environment 🌎

Tech
Version

Material-UI
v4.4.0

@material-ui/styles
4.3.3

React
16.8.6

@Rabinzon Please provide a full reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!


Feat: update funding source expiry from concession group

Closes #29
Implements a generic PUT handler in the client, returning a ListResponse per the known API specs.
Implements update_concession_group_funding_source_expiry method to update the expiration of an existing funding source in a concession group. Parses the ListResponse and returns the first .list item. This should be the only list item according to the known API specs.

Question @angela-tran:
Do you think it makes sense to create a dataclass for the structure emitted by this PUT response? I.e.
{
  "id": "9002b586-9c53-43c6-b274-5615adb856ee",
  "participant_id": "test_participant",
  "concession_expiry": "2024-07-03T00:00:00Z",
  "concession_created_at": "2024-07-03T00:00:00Z",
  "concession_updated_at": "2024-07-03T00:00:00Z"
}

We could do some parsing of the datetime to make that easier to consume, and it would also be reused for #28. Or just leave it as a dict?
Thoughts?

Question @angela-tran:
Do you think it makes sense to create a dataclass for the structure emitted by this PUT response? I.e.
...
We could do some parsing of the datetime to make that easier to consume, and it would also be reused for #28. Or just leave it as a dict?
Thoughts?

I think as a consumer, I would want to have the datetime objects rather than having to do the conversion myself, so the dataclass sounds good to me.

Thanks @angela-tran, PR is updated with a new dataclass and now ready for review.


create contributor roadmap

what open items / issues do we want people to work on? we should create an MD file for that

Added as a project


1.20.1 support

Hello,
This doesn't seems to work on 1.20.1 servers. Is it possible to update it? Thank you!

Nevermind, this works perfectly on 1.20.1. You shoud also mention it on the different websites.


disable android back while showModalBottomSheet opened

Use case
My widget inside showModalBottomSheet is a textfield , user must fill up correct value in order to proceed next function, I know there is a ready param called isDismissible , however it only disable from taping backdrop, it doesn't diable android back.
return showModalBottomSheet(
    context: context,
    builder: (BuildContext context) {
        ...

Hi @callmejm
Please try this code sample

code sample
/// Flutter code sample for showModalBottomSheet

// This example demonstrates how to use `showModalBottomSheet` to display a
// bottom sheet that obscures the content behind it when a user taps a button.
// It also demonstrates how to close the bottom sheet using the [Navigator]
// when a user taps on a button inside the bottom sheet.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

/// This is the main application widget.
class MyApp extends StatelessWidget {
  static const String _title = 'Flutter Code Sample';

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      home: Scaffold(
        appBar: AppBar(title: const Text(_title)),
        body: MyStatelessWidget(),
      ),
    );
  }
}

/// This is the stateless widget that the main application instantiates.
class MyStatelessWidget extends StatelessWidget {
  MyStatelessWidget({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        child: const Text('showModalBottomSheet'),
        onPressed: () {
          showModalBottomSheet<void>(
            context: context,
            isDismissible: false,
            builder: (BuildContext context) {
              return WillPopScope(
                onWillPop: () {
                  return Future.value(false);
                },
                child: Container(
                  height: 200,
                  color: Colors.amber,
                  child: Center(
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      mainAxisSize: MainAxisSize.min,
                      children: <Widget>[
                        const Text('Modal BottomSheet'),
                        ElevatedButton(
                          child: const Text('Close BottomSheet'),
                          onPressed: () => Navigator.pop(context),
                        )
                      ],
                    ),
                  ),
                ),
              );
            },
          );
        },
      ),
    );
  }
}

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


Further positions timestamp issue

Thanks for your extremely fast response to the previous issue.
Using your updated gem, I now get the following when requesting the Positions method (or the single Position method)
ArgumentError: Unknown attribute: IGMarkets::Position#created_date_utc, value: "2015-07-24T09:12:37"
from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/model.rb:18:in block in initialize' 	from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/model.rb:14:in map'
from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/model.rb:14:in initialize' 	from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/dealing_platform.rb:65:in new'
from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/dealing_platform.rb:65:in block in positions' 	from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/dealing_platform.rb:64:in map'
from /Users/User/.rvm/gems/ruby-2.2.2/bundler/gems/ig_markets-f4cd575febe2/lib/ig_markets/dealing_platform.rb:64:in `positions'
thanks

Thanks for your help. Super fast and both methods are working as expected.


Api landing page

Fixed blueprints/README.md to include info on api.py
Added blueprints/api.py
-Moved class ReachAPI from flagging.py to api.py
Added route in flagging.py to /v1/api
Revised blueprints/init.py —> from . import api
Added /templates/api/index.html
Added text to api/index.html

These changes have been merged into Cameron's PR! 🚀


⚠ Bofrost.be has degraded performance

In 9356c4f, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2356 ms

Resolved: Bofrost.be performance has improved in 8f0e7ac.


Appending triples to container state should be possible

@justinwb informed me that projects he's building rely on adding extra triples to the container state.
This works with PUT:
curl -X PUT http://localhost:3000/ -H "Content-Type: text/turtle" --data '
  <http://example/book1> <http://example/book1> <http://example/book1>.
'

However, currently this fails with PATCH:
curl -X PATCH http://localhost:3000/ -H "Content-Type: application/sparql-update" --data '
INSERT DATA
{
  <http://example/book1> <http://example/book1> <http://example/book1>.
}
'

with
# ConflictHttpError

## Technical details
Container bodies are not allowed to have containment triples.

This seems to be because in
https://github.com/solid/community-server/blob/1173f98b5db64fcbb63436ed574697eaa6b1fecd/src/storage/DataAccessorBasedStore.ts#L371-L376
the full representation is processed, not just the delta.
As a resolution, I would have proposed that we filter disallowed triples from the client body (or patch) rather than rejecting.
However, the spec mandates a 409.
We might need to install a patch body parser for containers that makes these checks.
(Or just add that functionality to the existing parser, but perhaps that is less extensible.)

Note that we have a related issue in #384 that was paused, where some related solutions were discussed.

Now that we put generated metadata in a separate graph, one other potential solution is having a patcher that knows that for containers it should run on the metadata object and then re-create the container body to only contain the non-generated triples and PUT that back to the store.

Makes sense.
Alternatively, we could see this as part of a (future) validation workflow (#87) where we check if the patch maintains a valid state and/or whether a PUT sends a valid state.

Added in #955


User commands have no concept of "counterparty" and "direction"

For a given public key, we need to load chronological user commands whether the PK was the receiver or sender. We must also include the concept of counterparty and direction.
The current "from" and "to" properties are inadequate for our purposes as a history of incoming and outgoing txn must be made from two separate queries. This has its problems.
For example:
Let's say the latest 100 txn for a given PK were all "outgoing" and zero "incoming". In the FE, we load 50 outgoing, and 50 incoming. We will get 50 "outgoing" and then 0  "incoming" txn.

Returning all txn related to a PK, augmented with "counterparty" and "direction" properties, we could formulate a proper chronological history of transactions for a given PK.

We already support this query. Something like this will work.
{
  transactions(query: {OR: {from: "PK", to: "PK"}} limit: 50, sortBy: BLOCKHEIGHT_DESC) {
    ...
  }
}

Ok, so I think I can iterate over the result, and add the concept of "counterparty" and "direction"


README and macOS versions update

EOL platforms may be dropped from new minor releases
Fix lies in the macOS versions table (e.g.  Go 1.13 required El Capitan. This also impacts agent versions) and add links
Add linebreaks
Fix Markdown lints
Refresh buildkite-agent --help output
Update copyright year
Change [here] to something else
Change telemetry features link

Do we need to make an announcement about them?

I think so.
Whether we do or not, this change at least makes the README more honest about the status quo. Looking back to the last few times we did a Go bump that removed old OS support (Go 1.17 in #1549 dropped macOS 10.12 support, Go 1.18 in #1603 dropped Linux kernels pre 2.6.32, Go 1.19 in #1774 dropped FreeBSD 11.x[^freebsd]) they happened without much fanfare or probably without us even realising.
Still, I'll add a callout to the v3.54 changelog and release notes. Maybe the docs too.
[^freebsd]: Mentioned in the 1.18 notes, but not the 1.19 notes, so I wonder if even the Go team just forgot: https://go.dev/doc/go1.18#freebsd


Candle-ticks chart breaks after update from 0.7 to 0.7.4

I have next data:
  data: [
    {
      date:<PHONE_NUMBER>000,
      open: '0.0001',
      close: '0.0001',
      high: '0.0001',
      low: '0.0001',
      volume: '0.02'
    },
    {
      date:<PHONE_NUMBER>000,
      open: '0.0001',
      close: '0.0001',
      high: '0.0001',
      low: '0.0001',
      volume: '0.02'
    },
    {
      date:<PHONE_NUMBER>000,
      open: '0.0001',
      close: '0.0002',
      high: '0.0002',
      low: '0.0001',
      volume: '0.14'
    }
  ]
}

Chart before update:

Chart after update:

I use<EMAIL_ADDRESS>

could this be the same as https://github.com/rrag/react-stockcharts/issues/519 ?
are you using timeIntervalBarWidth for the CandlestickSeries ?

I use CandlestickSeries
<CandlestickSeries
 fill={d =>
  d.close > d.open ? "rgba(14,153,95, 1)" : "rgba(255,52,52, 1)"
 }
 wickStroke={d =>
  d.close > d.open ? "rgba(14,153,95, 1)" : "rgba(255,52,52, 1)"
 }
/>

doesn't with width={timeIntervalBarWidth(utcMinute)}

I assume it is a 1min candle you were showing?

Hm, no, my really data interval is 5 minutes

can you try with
width={timeIntervalBarWidth(utcMinute.every(5))}
I assume this would work ok,

last option
create a new function on your side
export function customBarWidth(props, moreProps) {
	const { widthRatio = 0.8 } = props;
	const { xScale, xAccessor, plotData } = moreProps;

	const width = Math.abs(
		(xScale(xAccessor(last(plotData))) - xScale(xAccessor(head(plotData)))) / (plotData.length - 1)
	);
	return width * widthRatio;
}

and use it like
<CandlestickSeries width={customBarWidth} />

Thanks for help, I'll try and will text here about results

It works fine with width={timeIntervalBarWidth(utcMinute.every(5))}. Thank you


Add logging for KubectlDetector logic

Fixes https://github.com/dotnet/tye/issues/436

FYI this is the new output when calling deploy
(tye) C:\gh\tye\src\tye [master ≡ +0 ~3 -0 !]> dotnet run -- deploy C:\gh\tye\samples\frontend-backend -i
Loading Application Details...
Verifying kubectl installation...
Verifying kubectl connection to cluster...
Enter the Container Registry (ex: 'example.azurecr.io' for Azure or 'example' for dockerhub): juntaoluo
Processing Service 'backend'...
    Applying container defaults...
    Compiling Services...
    Publishing Project...
    Building Docker Image...
        Created Docker Image: 'juntaoluo/backend:0.4.0-dev'
    Pushing Docker Image...
        Pushed docker image: 'juntaoluo/backend:0.4.0-dev'
    Validating Secrets...
    Generating Manifests...
Processing Service 'frontend'...
    Applying container defaults...
    Compiling Services...
    Publishing Project...
    Building Docker Image...
        Created Docker Image: 'juntaoluo/frontend:0.4.0-dev'
    Pushing Docker Image...
        Pushed docker image: 'juntaoluo/frontend:0.4.0-dev'
    Validating Secrets...
    Generating Manifests...
Deploying Application Manifests...

        Verifying kubectl installation...
        Verifying kubectl connection to cluster...
        Writing output to 'C:\Users\johluo\AppData\Local\Temp\tmp6864.tmp'.
        Deployed application 'frontend-backend'.
Time Elapsed: 00:00:28:08


Bug report: Can't uninstall specific app (github-desktop)

(Remember to run brew update; brew cleanup; brew cask cleanup before reporting your issue. It usually fixes things!)
Description of issue
The brew cask uninstall github-desktop command is not able to uninstall the app. It displays the following error:
Error: github-desktop is not installed

But the command brew cask list shows the application on the list, and more over, I'm able to open and use the application normally.
Output of brew cask <command> --verbose
Error: github-desktop is not installed
Error: Kernel.exit

Output of brew doctor
Your system is ready to brew.


Cannot retrieve broker configs

Hi.
I want to connect extension to kafka on Kubernetes.
I use vscode with remote-ssh extension to access to pc.
And I download kafka extension and try to connect to my kafka.
First I try to connect with kafka's cluster ip(<IP_ADDRESS>), but it failed.
In vscode-kafka, it shows Topics and brokers but couldn't see Topics' config.
Cause brokers' IP in extension is changed to dns name (kafka-service1.kafka.svc.cluster.local), I just add cluster ip to /etc/hosts.
Now I can see Topics' config but not Brokers' config.
I got error like
Unexpected broker id, expected 1 or empty string, but received ConfigResource(type=BROKER, name='3').name

at all brokers.
here is some info about kubernetes kafka service.
NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
service/kafka-service1      ClusterIP   <IP_ADDRESS>     <none>        9092/TCP                     13d
service/kafka-service2      ClusterIP   <IP_ADDRESS>    <none>        9092/TCP                     13d
service/kafka-service3      ClusterIP   <IP_ADDRESS>    <none>        9092/TCP                     13d
service/zookeeper-server1   ClusterIP   <IP_ADDRESS>   <none>        2181/TCP,2888/TCP,3888/TCP   13d
service/zookeeper-server2   ClusterIP   <IP_ADDRESS>   <none>        2181/TCP,2888/TCP,3888/TCP   13d
service/zookeeper-server3   ClusterIP   <IP_ADDRESS>    <none>        2181/TCP,2888/TCP,3888/TCP   13d

This is env in kafka1
      KAFKA_MESSAGE_MAX_BYTES:           41943040
      KAFKA_DEFAULT_REPLICATION_FACTOR:  3
      KAFKA_REPLICATION_FACTOR:          3
      KAFKA_BROKER_ID:                   1
      KAFKA_LOG_DIRS:                    /kafka/logs
      KAFKA_ADVERTISED_PORT:             9092
      KAFKA_ADVERTISED_HOST_NAME:        kafka-service1.kafka.svc.cluster.local
      KAFKA_ZOOKEEPER_CONNECT:           zookeeper-server1.kafka.svc.cluster.local:2181,zookeeper-server2.kafka.svc.cluster.local:2181,zookeeper-server3.kafka.svc.cluster.local:2181

And when I click Broker 1 config
Unexpected broker id, expected 2 or empty string, but received ConfigResource(type=BROKER, name='1').name

Hi @KimMJ
Sorry, this is a known issue in https://github.com/SOHU-Co/kafka-node. I fixed it upstream (https://github.com/SOHU-Co/kafka-node/pull/1280) but the change is still awaiting the original author publishing a new version of the library to npm. As soon as it is available I will provide an update to the extension.

I just published 0.8.0 which brings in latest kafka-node (5.0.0) that includes my upstream fix. Can you try make sure you are on the latest version (rolling out now) and verify that it fixes the issue for you?

Sorry for late! It works very well after updated. Thx!!


Any plans for ng4+?

The non universal branches are already on ng4...the universal branches will be updated once it's stable


refactor(security)!: Prefix security related env vars with EDGEX_

BREAKING CHANGE: Add EDGEX_ prefix to ADD_SECRETSTORE_TOKENS, ADD_REGISTRY_ACL_ROLES, ADD_KNOWN_SECRETS, and IKM_HOOK variables
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[ ] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[ ] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[X] I have opened a PR for the related docs change (if not, why?)
https://github.com/edgexfoundry/edgex-docs/pull/1027

Testing Instructions

New Dependency Instructions (If applicable)

recheck

@jim-wang-intel Add to amend the PR to fix a lint issue.


TA Should be its Own Component

Currently the TA information is embedded in the TN card but it needs to be represented distinctly as it's own component.

Done.


Ignored test in SetPluginTest.cpp

I was going through the test files and found the following test in SetPluginTest.cpp listed as an ignored test:
Line 99:
IGNORE_TEST(SetPointerPluginTest, installTooMuchFunctionPointer)
Is this something that needs to be fixed?  There doesn't seem to be a comment around it explaining why it's ignored, but based on what I can find, it does appear that something isn't working and needed to be fixed.  I'm willing to try and fix it, but I want to make sure that it's not ignored for a more specific reason than because it wasn't working.

I think it was simply not implemented yet :)

Ok, I dug some more and it appears that the test helper that derives from UTestShell doesn't match what the macros normally do, so I think I just need to fix that up a bit.  Apparently the dependency tree between UTest and UTestShell changed at one point?
As a side note, should the intentional IGNORE_TEST usages be called out with a comment or something to help avoid confusion?  It looks like some are intended (TestUTestMacro.h I think) and others are things that just weren't fixed, and telling the difference can be a bit of a guessing game.

I submitted a pull request that fixes the test behavior and means that it no longer needs to be ignored.  I also made some changes to the other tests in SetPluginTest.cpp that seemed to be failing without actually reporting a failure.  Please take a look at it and see what you think.

Way to go (me thinks)....

Sorry for delay.

No problem, just was starting to wonder if I needed to fix something first


Walkthroughs: feedback and suggestions (Get Started)

[x]  👉 9. Update the DVC: Get Started / Plots Dashboard

First of all, we can update the DVC: Get Started / Plots Dashboard, I think this will be already helpful.
We can explicitly mention and show the screenshot of how to select the EXP for Plots.
The draft
Select (click the circle beside the experiment name) one or more up to 7 experiments in the table view to visualize in the Plots Dashboard.
screenshot
Use DVC: Show Plots from the command palette to open it or open it using the table's row context menu.

Screenshot example (do not use this one):

Related to https://github.com/iterative/vscode-dvc/issues/2373

[ ]  👉 8. Opportunity for cross-promotion which can actually be meaningful in terms of user workflow. One of the many possible options. For example, in GetStarted, after Troubleshoot & Support add Collaborate, including information on how you collaborate in DVC Studio.

Message examples:
a.Now you are all set up, please do not forget to learn how our DVC Studio can help you and your team to collaborate on your ML projects…
b.Now you are all set up, please do not forget to create your account in DVC Studio where the collaboration on ML projects is happening
See the discussion here:
https://iterativeai.slack.com/archives/C01APS0FHDM/p1658437149849249

[x] 👉 2. Would expect to see the same title (correct for all the sections)

[x]  👉 4. For the Plots we can mention and show screenshot, about how to toggle exp/s in the table :)

[x]  👉 5.  Déjà vu

[x]  👉 6. I think this is important enough to show a screenshot. WDYT?

[x]  👉 7. Very minor: Helpful Resources

To consider

[ ]  👉 1. Why don't we use code snippets instead of just images?

Overall very helpful information and a well-crafted section, will study it more :). Thank you, folks!

cc @jorgeorpinel

Why don't we use code snippets instead of just images?

Nice to have, not critical. As of now these walkthroughs are written more as quick-read tours rather than follow-along guides. Users can go to the DVCLive (or any other linked) docs to learn how to use them and copy/paste better code from sample blocks.

Would expect to see the same title

Tend to agree. Doesn't have to be 100% the same always but closer at least.

3... why not list all commands

There's a lot and they may change often. Better to let users browse them directly from the Cmd Pallette.

4... mention and show screenshot, about how to toggle exp/s in the table

Yes. Good thing to emphasize this in the Experiments Table page.

"using using"

Fixed.

6... show a screenshot (bottom tip of Live Plot Update page).

Meaning a code sample? Wouldn't hurt, esp. if it's an existing image repeat (less maintenance).

Addressed.

6... show a screenshot ("enable checkpoints" at the bottom of the Live Plot Update page).

Meaning a code sample? Wouldn't hurt, esp. if it's an existing img. repeat (less maintenance).

We have some difficulties explaining how the user should toggle plots in the exp table. This is why I suggested including a screenshot in relation to the underlined text in the IMG below (unable checkpoint).

Thank you @jorgeorpinel !

Opportunity for cross-promotion which can actually be meaningful in terms of user workflow

One of the many possible options. For example, in GetStarted, after Troubleshoot & Support add Collaborate, including information on how you collaborate in DVC Studio.
Message examples:
a.Now you are all set up, please do not forget to learn how our DVC Studio can help you and your team to collaborate on your ML projects…
b.Now you are all set up, please do not forget to create your account in DVC Studio where the collaboration on ML projects is happening

https://iterativeai.slack.com/archives/C01APS0FHDM/p1658437149849249

I have updated the ticked and also included the suggestion from  https://github.com/iterative/vscode-dvc/issues/2373 - Update the DVC: Get Started / Plots Dashboard

Why don't we use code snippets instead of just images?

@shcheklein would it be the correct way to do this or there is a different way?

Some code

train:
  cmd: python src/train.py
  deps:
    - data/features
    - src/train.py
  params:
    - epochs
  outs
    - models/predict.h5
  metrics:
    - metrics.json:
        cash: false

1   train:
2     cmd: python src/train.py
3     deps:
4       - data/features
5       - src/train.py
6    params:
7       - epochs
8     outs
9       - models/predict.h5
10     metrics:
11      - metrics.json:
12           cash: false

Specifying the theme an image is shown to
You can specify the theme an image is displayed for in Markdown by using the HTML <picture> element in combination with the prefers-color-scheme media feature. We distinguish between light and dark color modes, so there are two options available. You can use these options to display images optimized for dark or light backgrounds. This is particularly helpful for transparent PNG images.
For example, the following code displays a sun image for light themes and a moon for dark themes:
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/25423296/163456776-7f95b81a-f1ed-45f7-b7ab-8fa810d529fa.png">
  <source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png">

</picture>

Specifying the theme an image is shown to
@maxagin what is the source of this information? is it supported in VS Code markdown?

(overall, I think we should be fine with a single type (dark) images for now to keep it simple - less things to generate and keep taking care of)

A better solution is to use code blocks:
train:
  cmd: python src/train.py
  deps:
    - data/features
    - src/train.py
  params:
    - epochs
  outs
    - models/predict.h5
  metrics:
    - metrics.json:
        cash: false

It starts with "yaml" and end with "":

@jorgeorpinel please point me to the source file with the shadow we use for the images. Example below. Thank you !

It's here, Max: https://www.figma.com/file/hbhgEECgmGaHolFDzq7yVK/VS-Code-Walkthrough?node-id=0%3A1 - feel free to move it around to the right location.

Specifying the theme an image is shown to
@maxagin what is the source of this information? is it supported in VS Code markdown?

@shcheklein . Here you are:
https://github.blog/changelog/2022-05-19-specify-theme-context-for-images-in-markdown-beta/


[Question] Way to implement a throttle that allows early execution.

Hey Andarist, we chatted on reactiflux and here's the follow issue on the topic.
Here's our chatlog:
Andarist: @lxcid aint sure what do u mean by force flush
Andarist: and it depends on what kind of debounce would u like to implement
Andarist: leading, trailing or both?
lxcid: @Andarist hey thanks for replying! I meant forcing the debounce to execute early though
lxcid: In lodash, to achieve that, you will call flush on the denounced method.
Andarist: @lxcid  please make an issue on the github repo, that way i wont forget to reply to u 2morrow
Andarist: Cant do this from mobile now

I going to switch to asking about throttle instead of debounce here, as my research was mostly focus on throttle before I asked the question. (Sorry for the confusion!)
So in lodash, I can achieve this with the following code.
import throttle from 'lodash/throttle';

const log = throttle((msg) => console.log(msg), 250);
log('hello');
log.flush(); // console should print hello immediately here…

In the API document under notes, you provides the sample implementation for throttle in saga…
function* throttle(ms, pattern, task, ...args) {
  const throttleChannel = yield actionChannel(pattern, buffers.sliding(1))

  while (true) {
    const action = yield take(throttleChannel)
    yield fork(task, ...args, action)
    yield call(delay, ms)
  }
}

This is a nice implementation but one issue with this is that it blocked on call(delay, ms), thus wouldn't allow us to force it to execute early or implement the flush() behaviour in lodash.
Do you have a good alternative to this requirement?

The simplest would be this:
function* throttle(ms, throttleChannel, task, ...args) {
  while (true) {
    const action = yield take(throttleChannel)
    yield fork(task, ...args, action)
    yield call(delay, ms)
  }
}

function* flushPending(channel, buffer) {
	if (buffer.isEmpty()) {
		return
	}

	const action = yield take(channel)
	yield call(callAPI, action)
}

function* saga() {
	const buffer = buffers.sliding(1)
	const channel = yield actionChannel(pattern, buffer)

	yield fork(throttle, 300, channel, callAPI)

	// ...
	yield call(flushPending, channel, buffer)
}

some duplication involved, maybe you could abstract this somehow more nicely, but ive wanted to show the idea how this could have been approached
other idea is maybe simpler:
function* flushableThrottle(ms, pattern, task, ...args) {
  const throttleChannel = yield actionChannel(pattern, buffers.sliding(1))

  while (true) {
    const action = yield take(throttleChannel)
    yield fork(task, ...args, action)
    yield race({
    	flush: take('FLUSH_THROTTLE')
    	wait: call(delay, ms)
    })
  }
}

Thanks @Andarist! Both example are awesome! I couldn't have asked for more!

@Slapbox In<EMAIL_ADDRESS>if you import delay from 'redux-saga/utils', then delay is an async function which returns a Promise when called.  If you import delay from 'redux-saga/effects', then delay is an effect creator which returns a call-effect when called, and that means you should always call delay directly.
I find these two delay very confusing since they have the same name but with different behavior.

Great explanation. Thanks very much @shinima. If you have any ideas about this related question on flushable buffers in throttling (with the addition of canceling tasks) I could really use some guidance on what I'm misunderstanding here: https://github.com/redux-saga/redux-saga/issues/1511
Thanks again for your explanation of delay. Makes perfect sense, though the existence of the two methods in the first place makes less sense.

Thanks again for your explanation of delay. Makes perfect sense, though the existence of the two methods in the first place makes less sense.

Agreed, we probably should hide the second one to make it less confusing. We should only expose it somehow for more advanced users. Maybe through a separate package?


Too lazy to add a CLI option to load from a different location.

Here is what my config looks like:
LIGHT_IPS=(<IP_ADDRESS>)
LIGHT_INCREMENT=10
LIGHT_TEMPERATURE=250
STRIP_IPS=()

I don't use a strip and also I interact via Alfred commands, not through a rotary dial. Without a config file merging would have been probably quite hard and I would have never upgraded :-)
Unrelated, the comment came straight from Copilot (cc @helen):

Unrelated, the comment came straight from Copilot

Almost every bit of this was originally generated from Copilot by the comments. I don't have room in my brain to memorize all of Bash's syntactical quirks, so having something that can translate intent into code is really valuable!


[Bug]: Output of a dynamic item with an existing key is silently ignored

Describe the bug
Using DynamicItemDataset, when you add a dynamic item that provides a key that is already in the dataset, then the associated function will be executed, but the output value will be ignored when you query the dataset for that key.
Expected behaviour
It would probably be best for that situation to generate an error, as having a single key existing multiple times within the pipeline is probably prone to errors even in the case where it might be intended (e.g. to transform a value with an identical semantic meaning through the pipeline).
To Reproduce
from speechbrain.dataio.dataset import DynamicItemDataset

test_dd = DynamicItemDataset(data={
    "test_key": {
        "foo": "a"
    }
})

def dummy_func(_foo):
    print(f"dummy_func invoked with {_foo}")
    return "b"

test_dd.add_dynamic_item(dummy_func, takes=["foo"], provides="foo")
# test_dd.add_dynamic_item(lambda _foo: "b", takes=["foo"], provides="bar")
test_dd.set_output_keys(["foo"])

print(list(iter(test_dd)))

The output is:
dummy_func invoked with a
[{'foo': 'a'}]

The function was invoked, but the original value for key "foo" was retained.
Versions
Tip of develop e353e95 is affected.
Relevant log output
No response
Additional context
No response

Agreed, adding an item with a key that already exists should simply raise an error.
Unfortunately this pattern is used in many recipes currently. Should we make a breaking change and try to change any recipes we find that use this?

Hi @AsuMagic what do you think about what Gastron said?


[Coverity CID :205666]Memory - corruptions in /tests/crypto/tinycrypt/src/sha256.c

Static code scan issues seen in File: /tests/crypto/tinycrypt/src/sha256.c
Category: Memory - corruptions
Function: test_sha256_4
Component: Tests
CID: 205666
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

*** CID 205666:    (OVERRUN)
/tests/crypto/tinycrypt/src/sha256.c: 156 in test_sha256_4()
150                        0xbd, 0x56, 0xc6, 0x1c, 0xcc, 0xcd, 0x95, 0x04
151        };
152        const u8_t m[4] = { 0xc9, 0x8c, 0x8e, 0x55 };
153        u8_t digest[32];
154        struct tc_sha256_state_struct s;
155
     CID 205666:    (OVERRUN)
     Overrunning struct type tc_sha256_state_struct of 108 bytes by passing it to a function which accesses it at byte offset 111.
156        (void)tc_sha256_init(&s);
157        tc_sha256_update(&s, m, sizeof(m));
158        (void)tc_sha256_final(digest, &s);
159
160        result = check_result(4, expected, sizeof(expected),
161                                              digest, sizeof(digest), 1);
/tests/crypto/tinycrypt/src/sha256.c: 158 in test_sha256_4()
152        const u8_t m[4] = { 0xc9, 0x8c, 0x8e, 0x55 };
153        u8_t digest[32];
154        struct tc_sha256_state_struct s;
155
156        (void)tc_sha256_init(&s);
157        tc_sha256_update(&s, m, sizeof(m));
     CID 205666:    (OVERRUN)
     Overrunning struct type tc_sha256_state_struct of 108 bytes by passing it to a function which accesses it at byte offset 111.
158        (void)tc_sha256_final(digest, &s);
159
160        result = check_result(4, expected, sizeof(expected),
161                                              digest, sizeof(digest), 1);
162
163        /**TESTPOINT: Check result*/

We have spent some time on Security WG discussing these tinycrypt issues reported by Coverity and we concluded that they are false positive. It seems that coverity is getting confused with the way we running it with sanitycheck and multiple architectures.


Listing registers in CelosClient/web api

@manuel  is it possible to expose celosConnection.getAllRegisters(bucketID) to CelosClient/web api?

@ashf72 sure, will be ready shortly


feat(GDPR): cookie acceptance dialog

adds component for cookie acceptance
styles it + responsiveness + dark mode
refines buttons styles across the board

Closing in favor of https://github.com/newrelic/opensource-website/pull/522


Minecraft updated

Minecraft updated to 1.20.80 when will the patch for this version come out?

I only manage and create lists of RenderDragon shaders. Please direct any inquiries related to Patched App production to the YSS developer.
https://discord.gg/yss


/give

Is your feature request related to a problem? Please describe.
I want command that is giving player item, but to group so if player is in group "example" and i want to give item to him but to group "example_1". I don't want to teleport him, I want 1 command to do that
Describe the solution you'd like
Command like /pwi give
Describe alternatives you've considered
Additional context

No answer?

I won't wait for answer for that long


You have to be inside an angular-cli project in order to use the serve command.

Bug Report
I just cloned this repo, run all the commands and when I try to run ng serve it has an error:
You have to be inside an angular-cli project in order to use the serve command.
And I'm sure that I'm in the correct folder!
I have another project that works, cloned for this quickstart (version of covalent 0.10.0), but now I want to have the latest version of covalent. I think that is better cloned the repo again and only copy my src folder...
I'm on LinuxMint 18 and have node v6.10.0 and npm v4.3.0
Thanks!

The problem is the @angular/cli, you need to upgrade it too.

Yes, I have the latest @angular/cli...
I upgrade all dependencies

With the necessary code changes? There were breaking changes and introduced file updated that need to be done when pointing to the latest cli.
https://github.com/angular/angular-cli/wiki/stories-rc-update

I cloned this repo again and I'm trying to run the quickstart without any modification. Then I will copy my old src, but first I'm trying to run the quickstart and have that error...

Sorry sorry! I do all that the README says, but I have to do npm install -g @angular/cli, instead of npm i -g angular-cli@latest (that is what the README says, why?)
Thanks!

They rebranded the CLI, since now its part of the @angular scope. So you need to install @angular/cli because angular-cli is deprecated.

Yes, now it works fine. Thanks!
But I think that the README of this repo have to change? to indicate the new name of the angular cli dependency...

Ah yes, we forgot to update that. Thanks for the heads up.
Closing this since it was a CLI issue. 😄


one picture worsheet 1, other picture worksheet 2, [Content_Types].xml ContentType image/jpg duplicates that issues excel parser

Hi. 1st thank you very much for your very helpfull lib.
Usecase:

add a picture to 1st worsheet
create a second worksheet
add a picture to 2nd worksheet
open the file in excel online KO (ok in libre office or google doc)
extract xlsx file
open [Content_Types].xml
there is 2 nodes Default ContentType image/jpg that issues excel parser
if you remove one node, compress again xlsx, excel online will open it

Note: i think issue should be in workbook/builder.js addRootContentTypesXML
promiseObj.wb.sheets.forEach((s, i) => {             if (s.drawingCollection.length > 0) {                  let extensionsAdded = [];                 s.drawingCollection.drawings.forEach((d) => {                     if (extensionsAdded.indexOf(d.extension) < 0) {                         let typeRef = d.contentType + '.' + d.extension;                         if (contentTypesAdded.indexOf(typeRef) < 0) {                             xml.ele('Default').att('ContentType', d.contentType).att('Extension', d.extension);                         }                         extensionsAdded.push(d.extension);                     }                 });             }         });

var extensionAdded should have same scope as contentTypesAdded (for all worksheets)


[add] check vista's toggle

I have added confirmation of the existence of the vista.vim's global variable.
This will help prevent unexpected script loading.
Reference
This patch added global variables in vista.vim.

https://github.com/liuchengxu/vista.vim/pull/258

thanks!


Don't require GitHub accounts

Currently users must have both CyVerse and GitHub accounts before using the site's full functionality. We should make GitHub integration optional; there is no need to require it of people who do not intend to publish their own workflows, and it adds friction for new users.

Added in af900fd

There is still an issue where UI components on the workflow submission page don't load correctly if the user hasn't linked a GitHub account, revealed in debugging with @PeterPieGH and @Sukritamaj last week


NEW: QMainWindow example

With some proper handling of maximized mode (icon and frame size)

@wangwenx190 have a look at latest commits

Looks nice now. Is it finished? If there are no more commits, I'll merge it.

Have you tried to compile it on your side?

Have you tried to compile it on your side?

No I haven't. I just read the source code. But it's OK. It looks good in general. I'll merge it if you think it's ready. If some issues are found after merging, we can fix them afterwards.

I have an idea, I can move the TrackPopupMenu code to the Utilities code of FramelessHelper, and you can just call it with a proper HWND and coordinate.

I've added a displaySystemMenu() function in the Utilities namespace, you can use that to simplify your code.

It's ready for merge I believe

Thanks!


Whats on landing tidy up

Ticket URL: none currently
About these changes
Styling amendments for whats on listing and ensure the 'clear filters' works with JavaScript

Refactor the offset for the filters so it can update if the event card is added or removed by the JavaScript
Show the number of results below the event card when there are no filters applied. In this scenario do not include the featured event in the total
Once filters are applied, show the total results above the featured event card, and include the featured event card in the total.
If there are totally no events at all in the database, show a message when the page loads (hopefully this is never seen)
Added aria-live="polite" to the events listing

How to check these changes
Where possible, provide guidance to help your reviewer
Before assigning to reviewer, please make sure you have

[x] Checked things thoroughly before handing over to reviewer
[ ] Checked PR title starts with ticket number as per project conventions to help us keep track of changes
[x] Ensured that PR includes only commits relevant to the ticket
[x] Waited for all CI jobs to pass before requesting a review
[ ] Added/updated tests and documentation where relevant

Merging PR guidance
Follow docs\developer-guide\contributing.md
Deployment guidance
Follow docs\infra\environments.md

@jamesbiggs I've added you to this review as there is one small back-end change.

Thanks @janehughes!
@jamesbiggs I am going to go ahead and merge this as I know you are off today - maybe you could still check through when you are back and let me know if you have any tweaks that need making.


driver-twitter set up consumer key

hi,
I have built databox v0.5.0 .
I installed the driver-twitter and set up the consumer key and consumer secrect key .
And then the following errors  occured when login button click.
Error getting OAuth request token : {"code":"ENOTFOUND","errno":"ENOTFOUND","syscall":"getaddrinfo","hostname":"api.twitter.com","host":"api.twitter.com","port":443}

Hum looks like a DNS problem,
Are there any errors in the core-network logs relating to api.twitter.com?
Or any errors in the container-manager logs to do with ExternalWhitelist permissions?

This is the databox conolse logs ↓
container-manager       : Z2018-09-20T04:18:32.241401814Z [INFO]2018/09/20 04:18:32 Installing app-twitter-sentiment
container-manager       : x2018-09-20T04:18:50.859235569Z [INFO]2018/09/20 04:18:50 Pulling Image databoxsystems/app-twitter-sentiment-amd64:0.5.0
container-manager       : S2018-09-20T04:18:51.834517409Z makeArbiterPostRequest /token Error::  unauthorized
2018-09-20T04:18:51.834544610container-manager : Z [WARNING]2018/09/20 04:18:51 [populateDataSources] GetStoreDataSourceCatalogue tcp://app-twitter-sentiment-core-store:5555 500container-manager     : :
container-manager       : }2018-09-20T04:19:01.234408051Z [INFO]2018/09/20 04:19:01 Done pulling Image databoxsystems/app-twitter-sentiment-amd64:0container-manager    : .5.0
container-manager       : C2018-09-20T04:19:01.302454965Z serviceCreateResponse.Warnings:: []
container-manager       : f2018-09-20T04:19:01.353741913Z [INFO]2018/09/20 04:19:01 Successfully installed app-twitter-sentiment
container-manager       : ｶ2018-09-20T08:04:36.493375523Z [INFO]2018/09/20 08:04:36 http: TLS handshake error from <IP_ADDRESS>:52244: read tcp 17container-manager    : <IP_ADDRESS>:443-><IP_ADDRESS>:52244: read: connection timed out

What the url you are using to acsess the UI?
This needs to be added to the twitter apps settings.

In https://<IP_ADDRESS>/core-ui/ui/view?ui=driver-twitter ,
The error occured when I inserted  the cosumer key and secrect key and pressed login button.

I seen the following error when executed the databox start command .
container-manager        : makeArbiterPostRequest /token Error::  unauthorized
container-manager        : [WARNING]2018/09/25 06:57:45 [populateDataSources] GetStoreDataSourceCatalogue tcp://driver-sensingkit-core-store:5555 500:

I don't think that is connected,
on apps.twitter.com you need to set the callback URL, from what stated above it should be:
'''
https://<IP_ADDRESS>/driver-twitter/ui/oauth
'''

when I accessed the url  https://<IP_ADDRESS>/driver-twitter/ui/oauth,te following message are shown
Error getting OAuth access token : [object Object][undefined][undefined][undefined]

@ktg I've just tested this and get the same error as @tsh-box after an OAuth redirect. There is an additional error in the driver logs:
{statusCode: 401, data:"Reverse auth credentials are invalid"}

I've tried regenerating my keys but still get the same error. Can you take a look, please?


Prevent Crawl4AI from Crawling After Link Failure – Only Extract Content

I noticed an issue with Crawl4AI where it initially extracts content from the given links as expected. However, once a link fails, the tool starts crawling the website, which I don’t want. The crawling process is slow and significantly increases the load on my PC, which is not ideal.
I would prefer to use Crawl4AI for content extraction only, without triggering any crawling action after a link failure. Is there any way to stop the crawling feature and ensure that the tool only extracts the content, regardless of whether a link fails?
I’m attaching screenshots below to help illustrate the problem:
Before any link fails: (shows expected content extraction)

After a link fails: (shows that crawling starts unexpectedly)

Could you provide guidance on how to disable the crawling feature while keeping the content extraction process intact?

Also what I noticed when it starts crawling it creates a new chromium for each of the link and once done it does not end that chromium/tasks because of that it starts to stack a lot of chromium's in my memory and then eventually my laptop freezes as it could not handle 30+ chromium's at a time.
If any fix available please help.
Thank you

Also what I noticed when it starts crawling it creates a new chromium for each of the link and once done it does not end that chromium/tasks because of that it starts to stack a lot of chromium's in my memory and then eventually my laptop freezes as it could not handle 30+ chromium's at a time.
If any fix available please help. Thank you

I think you can specify a session_id so the crawler uses only one browser for the entire search. As per the documentation on session management,
`async with AsyncWebCrawler() as crawler:
session_id = "my_session"
# First request
result1 = await crawler.arun(
    url="https://example.com/page1",
    session_id=session_id
)

# Subsequent request using same session
result2 = await crawler.arun(
    url="https://example.com/page2",
    session_id=session_id
)

# Clean up when done
await crawler.crawler_strategy.kill_session(session_id)`

result1 will open a browser with a session_id of my_session. result2 uses the browser of result1 using its session_id.
As for the "crawling action". I am not quite sure. You can check out always_by_pass_cache. It may be related to the issue.

okay I will try this session id, but about that always by pass cache is set to False only which I think it correct.

@Pranshu172 Thx for trying Crawl4ai. Regarding the first case, can you share a code snippet? I'm having trouble understanding the situation where passing multiple URLs and using run_many (I assume) functions causes the engine to crawl the wrong website if one of them fails. Could you share the code and setup you're using? As for the second point, as @pttodv  mentioned, you can use a session ID to maintain the session. Let me know if these things work for you or not. I'm currently improving the strategy for crawling multiple links and would appreciate feedback on any issues. The new strategy is significantly smarter than the current one.


Multiline start tag: End tag double outdented

VSCode Version: Code - Insiders 1.15.0-insider (f39385b8326671dc6389f21f8c2e2f6afdb352a1, 2017-08-01T05:07:59.267Z)
OS Version: Darwin x64 16.6.0
Extensions: none

Testing #31831
Inserting the > of the closing tag:

Text:
<html>

<head>
</head>

<body>
    <div data-foo="abc"
            data-bar="def">
        abc
        </div
</body>

</html>

This issue is talking about indentation of multiple line expression, which shares the same root cause as https://github.com/Microsoft/vscode/issues/30859, let's track it there. Thanks @QwertyZW for doing the investigation into the solution for this problem.


Resume_from_checkpoint

Recently, I needed to resume training, so I added the following code to train.py:
I added import pathlib at line 16 and replaced trainer.train() at line 192 with:
if list(pathlib.Path(training_args.output_dir).glob("checkpoint-*")):
    trainer.train(resume_from_checkpoint=True)
else:
    trainer.train()

When executing training, set the model_id to the checkpoint folder where you want to continue training and the output_dir to its parent folder.
I hope this helps those who need it.

@CynthiaChuang Thanks for the issue. I'll add resuming from checkpoint soon. I really appriciate this.

I've added the auto resume code. Thank you.


Installation trouble with pyclaw

In the branch refactor (also in main), when I execute the installation command :
pip install -r requirements.txt
I get an error related to pyclaw :
[39/480] Compiling C object pyclaw/src/pyclaw/reconstruct.cpython-312-x86_64-linux-gnu.so.p/limiters_weno_reconstruct.c.o
      FAILED: pyclaw/src/pyclaw/reconstruct.cpython-312-x86_64-linux-gnu.so.p/limiters_weno_reconstruct.c.o
      cc -Ipyclaw/src/pyclaw/reconstruct.cpython-312-x86_64-linux-gnu.so.p -Ipyclaw/src/pyclaw -I../pyclaw/src/pyclaw -I/tmp/pip-build-env-pzdtvu5q/overlay/lib/python3.12/site-packages/numpy/_core/include -I/tmp/pip-build-env-pzdtvu5q/overlay/lib/python3.12/site-packages/numpy/f2py/src -I/home/jagh/.conda/envs/magnet/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -Wno-unused-but-set-variable -fPIC -MD -MQ pyclaw/src/pyclaw/reconstruct.cpython-312-x86_64-linux-gnu.so.p/limiters_weno_reconstruct.c.o -MF pyclaw/src/pyclaw/reconstruct.cpython-312-x86_64-linux-gnu.so.p/limiters_weno_reconstruct.c.o.d -o pyclaw/src/pyclaw/reconstruct.cpython-312-x86_64-linux-gnu.so.p/limiters_weno_reconstruct.c.o -c ../pyclaw/src/pyclaw/limiters/weno/reconstruct.c

Seee the full log attached :
log.txt

Any idea @Trophime ?

I will investigate this. In the meantime, you can safely ignore clawpack
This is optional right now.

@jaghili which version of python are you using?

I will investigate this. In the meantime, you can safely ignore clawpack This is optional right now.
Ok, I commented clawpack, now it seems fine.

@jaghili which version of python are you using?
Python 3.11.6 (main, Nov 14 2023, 09:36:21) [GCC 13.2.1 20230801] on linux


LoRa-concentrator RPI Zero v3 BOM on octopart

Im trying to figure out right parts for this design.
Im sharing this BOM from Octopart, if any one can suggest if its ok, it will be good to buy the item.
https://octopart.com/bom-tool/LadeLROL

OSC2 should be TCXO and package size should be 3.2mm x 2.5mm, and OSC1 should be 2.0mm x 2.5mm.
I use SiTime's product for the hight speed 133Mhz 2025 OSC.
Also, recommend changing SX1301 to SX1308 to save some cost.
Haven't checked the passive components but seems ok.

@will127534  thanks a lot for quick response.
I did replaced SX1308, but could not find exact part numbers for both OCX1 and OCX2
I found this for 133Mhz , but it looks like SOT-23 package.
could no find 32mhz tcxo in 3.2x2.5mm type.

I did manage to find these two close match from microchips reference design:
OCX1 - https://www.ndk.com/images/products/catalog/c_2725T_lan_e.pdf - SKU - 644-1331-1-ND
OCX2 - https://www.jauch.com/downloadfile/57ff72b1b7707_2612e42791cc621776f7/jt33v_v6_171027_online.pdf - SKU - 1908-1045-1-ND
I hope these two make sense.

I just updated my BoM on octoparts.

Just to note that the OSC size of the reference design is bigger than the Osc on the RPI-Zero version.
There isn't much space on the RPI-Zero version for me to squeeze the original Osc...


Rubocop analysis fails due to 'Invalid JSON' error

Rubocop analysis sometimes fails due to 'Invalid JSON' error.
engine produced invalid output: {:message=>"Invalid JSON", :output=>"RuboCop::AST::SendNode\n{\"type\":\"Issue\",\"check_name\":\"Rubocop/Style/Documentation\",\"description\":\"Missing top-level class documentation comment.\",\"categories\":[\"Style\"],\"remediation_points\":50000,\"location\":{\"path\":\"lib/rggen/core/builder/feature_registry.rb\",\"positions\":{\"begin\":{\"column\":7,\"line\":6},\"end\":{\"column\":12,\"line\":6}}},\"content\":{\"body\":\"This cop checks for missing top-level documentation of\\nclasses and modules. Classes with no body are exempt from the\\ncheck and so are namespace modules - modules that have nothing in\\ntheir bodies except classes, other modules, or constant definitions.\\n\\nThe documentation requirement is annulled if the class or module has\\na \\\"#:nodoc:\\\" comment next to it. Likewise, \\\"#:nodoc: all\\\" does the\\nsame for all its children.\\n\\n### Example:\\n    # bad\\n    class Person\\n      # ...\\n    end\\n\\n    # good\\n    # Description/Explanation of Person class\\n    class Person\\n      # ...\\n    end\\n\"}}"}

RuboCop::AST::SendNode is printed when rubocop is being invoked and then the analysis fails.
I saw this strange behavior of rubucop but I have not yet found how to reproduce this behavior.

This issue fixed by https://github.com/rubocop-hq/rubocop/pull/7734. It will be resolved in the next RuboCop release.

Hi @koic ,
Thank you for your comment.
I also was able to reproduce this issue by adding --cache false option.

Rubocop v0.80.1 includes rubocop-hq/rubocop#7734.
Therefore, if #227 is merged then this error will also resolved.

Fix with https://github.com/codeclimate/codeclimate-rubocop/pull/227

@krzysiek1507 ,
Thank you for your PR and notification.
I also confirmed rubocop analysis works without error.


Support default parameters

Note that this merges into another development branch, it's a required feature for the simplified generator semantics.
This adds support for default parameters values in blocks in the proto IR. Default parameter values are (in the HDL) constructor parameters that are defined with a default value, eg def __init__(param: IntLike, default_param: IntLike = 42) would have a default for default_param of 42. When the compiler encounters a refinement, it looks for default values for parameters in the refined block that don't exist in the unrefined block, and sets the parameter value. This should be safe, since the design would expect the unrefined type and wouldn't know about (and be able to assign) parameters that only exist in the refined type. Parameter refinements coexist with this and take precedence over default refinements.
Example use case: the default resistor class only defines resistance, but the chip resistor also specifies tolerance and footprint. To allow the refinement (and the generator to evaluate), the chip resistor sets a default tolerance and footprint. Since it's all in the constructor, it's consistent whether it's set by refinement or directly instantiated (in which case the defaults are initialized in the parent block).

@rohit507 Merging as-is since this block development, but feel free to review and make suggestions.


[EN DateTimeV2] Not combining timezone resolution with daterange resolution

6:00, 23 Apr - 22:00, 27 April (UTC+8)
This might be fixed by this fix  https://github.com/microsoft/Recognizers-Text/issues/2552 but I cant test it as I dont have the latest package, When is the latest package with all the fixes coming? Is there a release schedule so we can see when each fix is to be released? thank you

You can use the SimpleConsole in the project to test the current code. Unfortuantely the next release is currently delayed for one week.

During triage we validated that this is current supported in the current repo code.


election-provider-multi-phase: Add extrinsic to challenge signed submissions

The election provider multi phase pallet allows "staking miners" to submit elections solutions during the signed phase. We only store a limited number of solutions. There are a few areas here where a malicious actor can grieve the system:

Due to the current storage layout, for any given solution score, only one solution can exist, which is problematic if miners converge on the same score since an attacker can block virtually all honest miners simply pre-crafting that score and submitting it with a bogus solution. This means the cost of ensuring no signed submissions works is just the deposit of a single solution as opposed to the cost of a queues worth of deposits.
Currently we check the best solution, and if its ok we don't check the remaining solutions, meaning an attacker could spam the queue with no repercussion.

To address this we should add a challenge extrinsic. This extrinsic would take a solution id, check if the challenger has some min slash-able amount and then perform the costly operation of checking if the solution matches its claimed score.

If the claimed score is correct, the challenger would be slashed. One optimization here would be to mark the solution as checked, so when we call elect we don't need to check the solution again.
If the claimed score is not correct, the malicious submitter will lose the deposit, the solution will be ejected and the challenger will receive some reward. Importantly, the reward for the challenger must be less than the solutions deposit in order to ensure there is no incentive to submit a bogus solution and then challenge yourself.

Also note: https://github.com/paritytech/srlabs_findings/issues/97#issuecomment-1069218413

Hi @emostov, i've been going through the code and would like to take on this issue :)

Sounds good - let me know if you have any questions

"solution id" means submission index and this index can be used to retrieve a signed submission?

Yes, it should be the submission index that is used as the key to this map:
pub type SignedSubmissionsMap<T: Config> = StorageMap<_, Twox64Concat, u32, SignedSubmissionOf<T>, OptionQuery>;

Due to the current storage layout, for any given solution score, only one solution can exist, which is problematic if miners converge on the same score since an attacker can block virtually all honest miners simply pre-crafting that score and submitting it with a bogus solution. This means the cost of ensuring no signed submissions works is just the deposit of a single solution as opposed to the cost of a queues worth of deposits.

FYI, this is no longer the case, as of https://github.com/paritytech/substrate/pull/12237


Hide stacktrace unless verbose mode is enabled

Closes #135
$ aiidalab-launch profiles edit invalid
Unexpected ValueError: Did not find profile with name 'invalid'.
Use verbose mode `aiidalab-launch --verbose` to see full stacktrace

I tried adding a test, but unfortunately the custom handler path is not exercised (see Codecov). Not very surprising that testing a custom exception handler in a testing framework does not work. :shrug:
@csadorf this is ready for review.

@csadorf thanks for looking into it, agreed.


Alexa Temperature (MEGH-1437)

Rainmaker temperature devices do not show up in Alexa. I have other devices that show temperature in Alexa, so it should be able to support it.

@NemesisXB , currently, only switch and lightbulb are supported. We will go on adding more categories, prioritising the ones that people are looking for. Since temperature sensor is mentioned as "Standard type", I guess it was natural to assume that it would be supported, but unfortunately, it is not the case. I will add a note in the docs highlighting this and also consider adding temperature sensor to our alexa skill asap.

Forgive me if I intrude on your discussion.
Unlike commercial IoT components, this very important Espressif initiative gives us the opportunity to create objects designed specifically for our automation needs (often only approximable with what is available on the market).
However, the approach should be different, let's say opposite, to that normally followed in the IoT, and this EXACTLY because the possibility of custom programming the components would make the number of possible objects so large that it cannot be managed in detail.
The only possibility I see is that Espressif gives us highly customizable standard interfaces (both in the icon and in the number of channels), then leaving the developer responsible for creating the code.
In particular, it would be necessary to provide generic interfaces for:

Digital input devices
Digital output devices
Analog input devices
Analog output devices
Flag devices *
Counter devices *
Timer devices *

(* On this I will open a special thread.)
Once the standard interface has been established and the possibility of customizing the icon, it will no longer matter if an analog device will be a thermometer rather than a fluid level meter, and the same will apply to a digital output, which can indifferently be a  light bulb or switch that controls a socket.
My three cents, Federico.

Forgive me if I intrude on your discussion.
Unlike commercial IoT components, this very important Espressif initiative gives us the opportunity to create objects designed specifically for our automation needs (often only approximable with what is available on the market).
However, the approach should be different, let's say opposite, to that normally followed in the IoT, and this EXACTLY because the possibility of custom programming the components would make the number of possible objects so large that it cannot be managed in detail.
The only possibility I see is that Espressif gives us highly customizable standard interfaces (both in the icon and in the number of channels), then leaving the developer responsible for creating the code.
In particular, it would be necessary to provide generic interfaces for:

Digital input devices
Digital output devices
Analog input devices
Analog output devices
Flag devices *
Counter devices *
Timer devices *

(* On this I will open a special thread.)
Once the standard interface has been established and the possibility of customizing the icon, it will no longer matter if an analog device will be a thermometer rather than a fluid level meter, and the same will apply to a digital output, which can indifferently be a light bulb or switch that controls a socket.
My three cents, Federico.

I think you picked the wrong issue to piggyback on. This is not a limitation by espressif/rainmaker. Alexa only supports a handful of types. This issue was raised because both alexa and rainmaker supports temperature types, but even though creating a temperature type in rainmaker, it did not show up in alexa. As far as I understand, none of the types you mentioned is supported by Alexa.

@iz0eyj , as @NemesisXB mentioned, this is a somewhat different requirement and would need a separate thread. However, we indeed have added support for the generic Toggle and Range Controllers that Alexa supports and it should be available soon.

@shahpiyushv I opened the thread.
@NemesisXB in home automation, what is implemented at the component level and Alexa management are different levels, with different degrees of abstraction from the real hardware and different support needs.
Alexa (or G Assistant) can do few things through their Routines, but since they are ultimately simple macros, in practice they are very useful voice interfaces.
Without a voice interface, home automation is of little use, but it is not possible to implement complex algorithms that manage complex home automation in Alexa or G Assistant.

@NemesisXB Temperature sensor is now supported in the Alexa Skill. Please check. Closing this issue now.


Add a wiki: NetHackWiki

Link to origin wiki: https://nethack.fandom.com/
Link to destination (independent) wiki: https://nethackwiki.com/

Thanks for the submission! This has been added and will be released in v1.3.0


__typename fails on root query type

Describe the bug
I get an error 'concrete_type_name must be implemented by unions and interfaces' when  trying to query __typename on the  root query type.
To Reproduce
Query type is defined like this.
pub struct Query;

#[object(
    name = "Query",
    Context = Context,
)]
impl Query {
    fn foo() -> FieldResult<String> {
        Ok("Hello World".to_string())
    }
}

Then a query like { __typename } fails with the error above.
Expected behavior
I would  expect it to return "Query"

Ha, I just hit this with cargo-fuzz! Cool that it ended up generating the same thing that humans did.

No longer reproduces on master.


Key Press API

One of the core fundamentals of this library is going to be the ability for developers to pick up on key presses and do something with that action. I haven't completely determined how I'd like this to work though!
Here are the different things I want to be able to track:

Key(s) Down
Key(s) Up
Key(s) Hold (for a specified amount of time)

Each of these should have the ability to specify either one or multiple keys to listen for. For example I could say when key 1 is pressed down do something, or when both keys 1, 3, and 5 are all pressed at the same time do something else.
Key hold is an interesting one and I don't believe should be exclusive from other events (in that it will still call key up after the specified time) and should be called once as soon as the time has been reached.

Considered patterns so far:

"Listener" (Similar to NotificationCenter) where the client would add/remove observers from the main/key classes with an event type (from an enum). When data comes in we simply loop through all of the active listener, filter on those which are applicable, and send out the relevant information to the selector/block provided.
Delegate (Fairly common) where the client would specify itself as the target and would have three functions for keyDown, keyUp and keyHold (time is passed through, and is sent every second until released) this removes the need for a client to add multiple listeners.

Example Usage:
let keyOne = ...
let keyTwo = ...

let eventObserver = keyOne.onKeyDown {
    // Key down
}

keyOne.onKeyUp {
    // Key up
}

keyOne.onKeyHold(for: 1) {
     // Key held for 1 second
}

[keyOne, keyTwo].onKeysDown {
    // Both keys are down
}

[keyOne, keyTwo].onKeysHold(for: 1) {
    // Both keys have been held down for 1 second
}

eventObserver.clear() // Clears single listener
keyOne.clearListeners() // Clears all listeners exclusively on a single key (not multi key ones)
streamDeck.clearAllListeners() // Clears all listeners

onKeysUp for multiple keys I believe is going to be a bit more complicated but could fit within the same idea. (Would need to track that both keys have been put down first, and then both released)
All functions will return a token which can be used to remove it at a later date to stop it tracking. This can be ignored though.


Use of Git Log and Status

Hi,
Great guide! The source material gives a lot more context to this piece. You've covered every aspect on commits, but I think a little bit more emphasize on usage of git log and git status would make a huge difference. Though this is mentioned in the source materials, having this before rebase and merge will provide more clarity.
Adding shortcuts for logs would enable insights to effectively rebase or merge commits as well.
A few shortcuts you could add,
git log --oneline
git log --all
git log --graph
git log --stat
git log -p

Interesting idea. Improved example:
git log --pretty=format:"%h (%Cgreen%an, %Cblue%ad%Creset) %s" --graph --date=short -20
and alias:
git config --global alias.lg "log --pretty=format:"%h (%Cgreen%an, %Cblue%ad%Creset) %s" --graph --date=short -20"
git lg


Reduce the scope of the control-repo to mostly an example

Prior to this commit, the control-repo was an example of the
structure of a control repo but it also included puppet code to
help setup code manager and instructions to get that all setup
in a very specific way.
This was great for users that wanted to follow those instructions
exactly but wasn't great for people just looking for an example to
start from.
After this commit, the control-repo will be just an example once
again and a new repo somehwere else will pop up to provide the
explicit instructions on how to use the example with code manager.

Cool - I'm gonna cut a release of the current version of Control Repo and then look to merge this in this week


Fix index out of bounds panic

And a few small fixes.
Cherry-pick if you wish.

LGTM. Thanks for the clean-up!


app-level (xapp) token can be gotton from the Basic Information page, but docs/_tutorials/ja_getting_started.md has wrong.

(Describe your issue and goal here)
app-level (xapp) token can be gotton from the Basic Information page, but docs/_tutorials/ja_getting_started.md has wrong.
I'd like to fix it.
https://github.com/slackapi/bolt-python/blob/e112c7e75f743b2cef619946903237a4f526ce23/docs/_tutorials/ja_getting_started.md?plain=1#L98
typo(?) OAuth & Permissions ページ => Basic Information page
The page URLs

https://slack.dev/bolt-python/ja-jp/tutorial/getting-started

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

@TORIFUKUKaiou Thanks for pointing this out! You're right here. I'm happy to be a reviewer of your PR 🙌

Great!
I see to update v1.9.3 -> v1.9.4 on https://slack.dev/bolt-python/ja-jp/tutorial/getting-started.
:rocket::rocket::rocket:

Thanks a lot for your contributions!


Restore ProposeName help

Display help text that #781 incorrectly caused not to be displayed.

Delivers https://www.pivotaltracker.com/story/show/179477576
Revises help text to be correct on both CreateObservation and ProposeName

Manual Test

Show any Observation
Click Propose Another Name.
Expected result: Help text "The scientific name (without author) that identifies this Observation. Leave this field blank if you don't know the scientific name." is displayed (next to Scientific Name field).

Coverage remained the same at 93.03% when pulling e5fb5ed7694947f0a3326fa7a9126e997e3caee3 on 179477576-restore-propose_name-help into 3d4999076faa0b41b78a22d2c0363f008a5ad28c on master.


Minor optimizations

Thanks for making this amazing little game, I've been playing it all morning.
I found a handful of little optimizations, and added theme support.

Thank you :)


LLOS GP tool (Pro) fails if given input points for target and observer used with Add-in tool

LLOS GP tool in Pro doesn't have the interactive "feature set" to add observers and targets. I added an observer and a target with the add-in and ran it, then, with the observer and target features on the map, ran the GP tool with those as input layers. The process failed.
Pro 1.4.0 andd daily (1/18) build of Pro GP tools.
error message sample:
Start Time: Wednesday, January 18, 2017 3:08:07 PMFailed to execute. Parameters are not valid.ImageERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Wednesday, January 18, 2017 3:08:07 PM (Elapsed Time: 0.00 seconds)
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGo_3_Pro\Geoprocessing\scripts\VisibilityUtilities.py", line 77, in _getFieldNameList    raise Exception("Source table {0} does not exist or is null.".format(targetTable))Error Info:Source table None does not exist or is null.
ArcPy ERRORS:Start Time: Wednesday, January 18, 2017 3:08:07 PMFailed to execute. Parameters are not valid.ImageERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Wednesday, January 18, 2017 3:08:07 PM (Elapsed Time: 0.00 seconds)

@mfunk - FYI.

This is correct. ArcGIS Pro does not support Feature Sets. If you use the tools in Pro, use the Add Linear Line Of Sight Fields tool (noted in the tool help and in the PDF).

@mfunk -  I know the feature sets thing is a core Pro limitation. My point is, given that, I can see someone using the Add-In's LLOS tool, which generates Target and Observer layers, and they might then logically run the GP tool to compare the results.  I do not see any doc in the LLOS GP tool for Pro about running the Add Linear Line Of Sight Fields before running it. The tool's help is hidden by default, and even when I go looking for it I don't see any such instruction. I see in the Pro PDF a table in "An overview of the Visibility toolset", one row of which says:
Tool               Description
Add LLOS      Adds height field to observer and target point features before they are used in Linear Line of Sight.
It doesn't say you must do this, or to run this before running the tool with input observer and target point features or the tool will fail. It could well be a utility tool that automatically is run from the other tools, for all a user knows... BTW - why isn't it? Seems you could copy the input and target features to temp feature classes and add any needed fields.

From Bob:
This is the full GP message:
Start Time: Monday, January 23, 2017 10:52:17 AM
Running script LinearLineOfSight...
OFFSET field not in Observers. Using Observer Height Above Surface value of 2
OFFSET field not in Targets. Using Target Height Above Surface value of 0
Projecting Observers and Targets to Input Surface spatial reference NAD_1983_UTM_Zone_11N
Adding field OFFSET with alias Offset above surface
Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGO_Pro_FINAL\Geoprocessing\scripts\VisibilityUtilities.py", line 77, in _getFieldNameList    raise Exception("Source table {0} does not exist or is null.".format(targetTable))Error Info:Source table None does not exist or is null.
ArcPy ERRORS:Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGO_Pro_FINAL\Geoprocessing\scripts\VisibilityUtilities.py", line 201, in _calculateFieldValue    if not fieldName in existingFields:Error Info:argument of type 'NoneType' is not iterable
ArcPy ERRORS:Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
Adding field OFFSET with alias Offset above surface
Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGO_Pro_FINAL\Geoprocessing\scripts\VisibilityUtilities.py", line 77, in _getFieldNameList    raise Exception("Source table {0} does not exist or is null.".format(targetTable))Error Info:Source table None does not exist or is null.
ArcPy ERRORS:Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGO_Pro_FINAL\Geoprocessing\scripts\VisibilityUtilities.py", line 201, in _calculateFieldValue    if not fieldName in existingFields:Error Info:argument of type 'NoneType' is not iterable
ArcPy ERRORS:Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
Building 3D observer points...
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGO_Pro_FINAL\Geoprocessing\scripts\VisibilityUtilities.py", line 432, in _prepPointFromSurface    if debug: arcpy.AddMessage("Adding surface info for {0}".format(os.path.basename(inputPoints)))Error Info:object of type 'NoneType' has no len()
ArcPy ERRORS:Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
Building 3D target points...
PYTHON ERRORS:Traceback info:  File "C:\WhereShouldIGO_Pro_FINAL\Geoprocessing\scripts\VisibilityUtilities.py", line 432, in _prepPointFromSurface    if debug: arcpy.AddMessage("Adding surface info for {0}".format(os.path.basename(inputPoints)))Error Info:object of type 'NoneType' has no len()
ArcPy ERRORS:Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid. ERROR 000012: OFFSET already existsFailed to execute (AddField).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.00 seconds)
Constructing Sight Lines between observers and targets...
Start Time: Monday, January 23, 2017 10:52:21 AMFailed to execute. Parameters are not valid.ERROR 000735: Observer Points: Value is requiredERROR 000735: Target Features: Value is requiredERROR 000800: The value is not a member of No Height Source.ERROR 000800: The value is not a member of No Height Source.Failed to execute (ConstructSightLines).Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 0.01 seconds)
Completed script LinearLineOfSight...
Failed to execute (LinearLineOfSight).
Failed at Monday, January 23, 2017 10:52:21 AM (Elapsed Time: 4.40 seconds)

The observer and target location feature classes created using the AddIn both contain a field called 'offset'.
When the Linear Line of Sight tool is run it checks if the field 'OFFSET' is present, if not it adds the field to the feature class. When python checks if the field exists in the dataset it is checking for a field name called 'OFFSET' (uppercase) not 'offset' (offset lowercase), which returns false, it then tries to add the OFFSET field to the dataset which causes the error as offset exists (the database is not case sensitive, unlike python).
Easy solution was to use the .upper() function on the field names returned from the feature class, which prevents the field from being added when it is already present
Can somebody verify once PR #227 has been merged

Tool complete wtih no errors when using the features generated by the add-in.  Closing.


AUX_CHAIN_PDUs are always using same channel as superior AUX_ADV_IND

Each PDU could use separate channel to improve radio spectrum usage

fixed by https://github.com/apache/mynewt-nimble/pull/325


[DRAFT] Apply for new campaign flow

Code refactoring of the CampaignFilter component:

ListIconButtons - list of buttons with icons that can be reused for the CampaignFilter component and when we create a new campaign
Slightly CSS updates on the ListIconButtons - fixed the jumping issue on hover and made the hover line to be as big as the button's content

The approach for the Create Campaign Flow is to use the React context, this way:

we can store the data between the pages in one place
we can save the progress of creating a campaign to a specific step
we can change the stepper's active step from any Form component because of the context

Screenshots:

NOTE:
The new components have a prefix HS, for example, HSCreateForm, this is temporary, and the idea is to copy and modify the existing components. We still use them in the Admin panel, so it's not a good idea to modify them right away before we have a working flow.

@mm-hstefanova great job!
Could you please check the lint errors?

Closing this for now.