SmartEVSE freeze/stuck, since sending home battery information.

What happens:
Since a few days we have an Home battery, with Homeassistant I send the current info with the curl to the master EVSE every 10 seconds. But the master freezes/get stuck after some time but not always the same time. When it happens the webpage is unavailable, buttons are not responding, no communication possible at all. I have to switch the power off and on to get it working again. The slave is not freezing, but gives logical the COMM error.
Config from the master:
{"version":"v3.6.3","serialnr":1234,"mode":"SOLAR","mode_id":2,"car_connected":true,"wifi":{"status":"WL_CONNECTED","ssid":"AP","rssi":-50,"bssid":"7E:8A:20:4C:10:75"},"evse":{"temp":32,"temp_max":65,"connected":true,"access":true,"mode":2,"loadbl":1,"pwm":1024,"solar_stop_timer":0,"state":"Charging Stopped - Waiting for Solar","state_id":9,"error":"None","error_id":0,"rfid":"Not Installed"},"settings":{"charge_current":0,"override_current":0,"current_min":6,"current_max":16,"current_main":25,"current_max_circuit":16,"current_max_sum_mains":600,"solar_max_import":0,"solar_start_current":13,"solar_stop_time":5,"enable_C2":"Auto","mains_meter":"Eastron3P","starttime":0,"stoptime":0,"repeat":0},"mqtt":{"host":"","port":,"topic_prefix":"SmartEVSE-49223","username":"","password_set":false,"status":"Disconnected"},"home_battery":{"current":131,"last_update":1719475920},"ev_meter":{"description":"Eastron3P","address":16,"import_active_power":0,"total_kwh":3193.5,"charged_kwh":0,"currents":{"TOTAL":0,"L1":0,"L2":0,"L3":0},"import_active_energy":3193.5,"export_active_energy":0},"mains_meter":{"import_active_energy":14929.09961,"export_active_energy":8982.799805},"phase_currents":{"TOTAL":-117,"L1":-16,"L2":-30,"L3":-71,"last_data_update":1719475926,"original_data":{"TOTAL":12,"L1":27,"L2":13,"L3":-28}},"backlight":{"timer":120,"status":"ON"}}
The problem is in SMART mode but also in SOLAR mode. Cannot reproduce it.
I will upload the debug version. Is it possible to get the log file after the device is rebooted?

Ok thanks for your report; the combination of a master/slave setup AND a home battery makes your configuration rather unique, so a real challenge to solve this!
I see two possiblities to debug this:

you flash a debug version and keep your telnet client running 24/7, and we hope that the last lines of your log give any clarity
you try to get a coredump; this requires some skills, the procedure is described in the file "coredumping.txt" in the repo... this method is much surer to point us directly at the problem, but requires much more preparation

Are you willing and able to do the second route, with my support, of course?

Ok that is a bug, clearing the host field should do the job.
But for now, you can clear your entire config by doing /erasesettings,
Or you can do give -DMQTT=0 as compile option....

I have a similar setup with 2 Smart EVSE's and a 30 kWh battery setup. Will monitor what happens when I charge the cars tomorrow, I didn't experience issues recently.

Thx for your help Ronald!

@dingo35 it's René by the way ;-)

O sorry René, confused you with another faithful community member!

Mine work fine, no freeze up, I feed both mains and ev data with MQTT.
Just the charge overide doesn't work. It always charges at 3x 16A max

Strange, since I flashed the debug version it is running fine.
Telnet is not running 24/7, after about 2 hours it stops. The connection is not closed but no info on the screen anymore.
@rvdgaag same here, charge override does not work, keeps charging with 16A

Glad your main problem is solved.
Override is only supposed to work in Smart and Normal mode, and only works on the Master; on my testbench this is obeyed, so I cannot reproduce.
Also note the remark on the webserver, after choosing the override current you MUST tick Normal or Smart to have the Override current accepted. You can verify if its accepted by the "Current Details" box, where it displays the value of Override (current, that is).

So it is not possible to set the charging current for the slave?
I saw in another but/issue, it was in a previous version possible to set Master at Solar and Slave at Smart. I like that possibility, because we have 2 PHEV's. Sometimes I wan't to charge Smart because I have to go in the evening, the other car can charge at Solar because we don't need it the other day.

Putting the slave in another mode then the master has never worked, AFAIK it showed the screens of those modes but again, master decides....
So we fixed that bug, modes of master ans slaves are always the same.

Ok, I just put the "master" on 6A current. That works, but the slave is on 10A (Fuse is 16A). So it looks like the master does not send the current "limit" to the slave.

Yep the override current works locally for the master.

Issue is still there, Telnet won't run 24/7 it stops random after certain hours. Tried multiple cliënts. Connection is not closed, but newer info is not showed.
The coredump, need a little bit help with that one. Where do I have to install the esp32-arduino-lib-builder?
Or is this based on a Linux environment?

Yes I only have Linux, perhaps it works under WSL?

I'll try, it is installing now. To receive the coredump I need USB-connection with the SmartEVSE? Not possible over wifi I suggest.

Can be done both in Windows or Linux; for windows youll need to install a driver, Linux works right out of the box....
Look in the manual, links are on the bottom of the home page of the repository...

Looks like it is running with WSL.
Do I need to flash firmware.bin and partitions.bin in this case or only firmware.bin

You will have to rename partitions_custom.csv.coredump to partitions_custom.csv, and then pio run -t upload will generate and flash all the necessary files.

Flashed with Linux, but when I try to get the coredump I'm getting an error and the SmartEVSE freezes.
Error: A fatal error occured: Corrupt data, expected 0x1000 bytes but received 0x7b2 bytes (this is with esptool.py --chip esp32 port ... ... read_flash 0x3F0000 65536 coredump.bin)
with esp-coredump command also error, incorrect size of core dump image: 196608, use partition size instead: 65536
After that als fatal error occurred: Corrupt data, expected 0x1000 bytes but received 0x7be bytes
error.txt

Hi @vicom147 perhaps there is something wrong with the SmartEVSE hardware, can you send me an e-mail at<EMAIL_ADDRESS>with your contact details, then we can arrange for it to be swapped for a new one.
Btw in the mean time, if you have your controller near a computer, you can also log through the USB-C 'serial' port.
This is my preferred way to do it, as it does not rely on a network connection/Wifi, and crash dumps will be directly sent to this port as well.
You should then compile the firmware with the following build flags:
-DDBG=2
-DCORE_DEBUG_LEVEL=5
-DLOG_LEVEL=3 (or higher)


wiil TCO module be open sourced?

TCO improves the performance of CTRL, i'm interested in it. but it seems that tool/CTRL doesn't have C++ code, i wonder if it will be open sourced, or it's wroten by python?

TCO is isolated from the detection part in this repo, and Yiming Mao is the developer of TCO. You could contact him using the email in our paper for more information.

thank you very much! i will contact Mr. Mao later

In TCO, the core operator is accelerated by CUDA. I will open source in late July. @slkxnw

In TCO, the core operator is accelerated by CUDA. I will open source in late July. @slkxnw

Thank you!

@Joeless @Abyssaledge  @slkxnw   I would like to know if TCO is open sourced.

In TCO, the core operator is accelerated by CUDA. I will open source in late July. @slkxnw

@Joeless @slkxnw Hello，if TCO is open sourced？I would like to communication about TCO. And I could not contact Mr. Mao using the email in paper.


[Scaffold] Add About Screen

Is your feature request related to a problem? Please describe.
Users may need to look up what version of the app they are using.  Meanwhile, QA testers and developers may need to confirm exactly what build of the app is installed.
We also have a need to list legal and compliance information in the app.  (E.g. Trademark notices, open source license attributions).
Describe the solution you'd like
An About screen in the app that probably has a layout consisting of

App Icon
App Name
App Version
Build information (timestamp and Git SHA)
Last configuration fetch (for remote config)
A button or overflow menu to display text for open source licenses

@geffenz do we have designs for this screen and how to access it?

@geffenz We need some definitions on how this screen will look like


Receiving warning when story name is "Map"

Describe the bug
When the story name is "Map". For example:
storiesOf('Map', module)
    .add('default', () => <Map/>)

I receive the following console warning
Warning: Failed prop type: Invalid prop `isExpanded` of type `function` supplied to `SidebarItem`, expected `boolean`.
    in SidebarItem
    in Unknown (created by Tree)
    in Tree (created by TreeState)
    in section (created by Context.Consumer)
    in Styled(section) (created by TreeState)
    in TreeState
    in div (created by Context.Consumer)
    in Styled(div)
    in Unknown
    in Unknown (created by Context.Consumer)
    in Styled(Component) (created by Sidebar)
    in nav (created by Context.Consumer)
    in Styled(nav) (created by Sidebar)
    in Sidebar (created by Context.Consumer)
    in _default (created by Layout)
    in div (created by Context.Consumer)
    in Styled(div) (created by Nav)
    in Nav (created by Layout)
    in Layout (created by Context.Consumer)
    in WithTheme(Layout) (created by ResizeDetector)
    in ResizeDetector
    in div (created by Context.Consumer)
    in Styled(div)
    in Unknown
    in Unknown (created by ResizeDetector)
    in ResizeDetector
    in Unknown
    in Unknown (created by Manager)
    in ThemeProvider (created by Manager)
    in Manager (created by Context.Consumer)
    in Location (created by QueryLocation)
    in QueryLocation (created by Root)
    in LocationProvider (created by Root)
    in HelmetProvider (created by Root)
    in Root

To Reproduce
Steps to reproduce the behavior:

npx create-react-app storybook-bug
cd storybook-bug
npx -p @storybook/cli sb init
Change one of the default story names to "Map"
yarn run storybook
Wait for it to load and check the console.

System:

OS: MacOS
Device: Macbook Pro 2015
Browser: chrome
Framework: react
Addons: none
Version: 5.0.3

Additional context
Wasn't an issue in 4.1.13. Appeared in 5.0.0. Obviously the easy solution is to not name any stories Map. I just found it peculiar

That's pretty bizarre. Ring any bells @ndelangen ?

I've got the same warning. I don't have any story named Map.

Same issue here, but the problem story is called Filter.

maybe all array functions are problematic?

Could you confirm the problem in 5.1.0-alpha.13? I can't reproduce.

I'm having the exact same issue. 5.0.5 currently but had same issues at earlier 5.x.x versions. I have a "Map" story as well which probably broke it.

@Armanio I just confirmed it's still an issue in 5.1.0-alpha.14 and 5.0.5.
Steps to reproduce

npx create-react-app storybook-bug && cd $_
npx -p<EMAIL_ADDRESS>sb init
Edit stories/index.js and change storiesOf('Button', module) to storiesOf('map', module)
yarn run storybook
Check chrome console. You will need to refresh the page if you previously opened console before changing the story name.

The warning triggers when a story is named the same as any array functions regardless of case (ie: map/Map, reduce/Reduce, filter/Filter, splice/Splice, etc) except for the camel-cased functions (ie indexOf, forEach etc).

I'm able to reproduce the warning if I follow the steps @jakehewitt provides above by creating a new project and then installing storybook as a dependency. However, I cannot reproduce this if I use the cra-kitchen-sink example inside the storybook repo, or if I yarn link my local storybook from the external project.
Is there a production build or something that needs to run to reproduce this from within storybook? I investigated this bug a bit and have a potential fix, but I'm unable to test it at the moment.

@dougmacknz Perhaps you need to run your storybook with the --no-dll option?

Thanks @shilman - that works. I'll have PR up with a fix for this a bit later on.

@dougmacknz i'm super curious .. thanks for taking this on!!!

Zoinks!! I just released https://github.com/storybooks/storybook/releases/tag/v5.1.0-alpha.18 containing PR #6290 that references this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.
Closing this issue. Please re-open if you think there's still more to do.

Olé!! I just released https://github.com/storybooks/storybook/releases/tag/v5.0.6 containing PR #6290 that references this issue. Upgrade today to try it out!


[Whisper] Update docs to better explain use of prompt and temperature for transcription and translation

Describe the bug
The docs do not clearly explain the use of prompt and temperature when it comes to the transcription and translation endpoints.
Include a sample file with various prompt values to clarify.
To Reproduce
Read docs
Code snippets
No response
OS
Windows 11
Node version
Node v16.16.0
Library version
openai v3.2.0

The only way to use it is to set it like this:
const resp = await openai.createTranscription( 	fs.createReadStream(audioFile.filepath) as any, 	'whisper-1', // model 	'', // prompt 	'', // responseFormat 	0.2, // temperature 	'en' // language  );
My proposition would be just use options as an object, so we can omit any unused params.

yes thats messy, you need to check the TS files.
 createTranscription(file: File, model: string, prompt?: string, responseFormat?: string, temperature?: number, language?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateTranscriptionResponse, any>>;
    /**
     *
     * @summary Translates audio into into English.
     * @param {File} file The audio file to translate, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm.
     * @param {string} model ID of the model to use. Only `whisper-1` is currently available.
     * @param {string} [prompt] An optional text to guide the model\\\'s style or continue a previous audio segment. The [prompt](/docs/guides/speech-to-text/prompting) should be in English.
     * @param {string} [responseFormat] The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.
     * @param {number} [temperature] The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use [log probability](https://en.wikipedia.org/wiki/Log_probability) to automatically increase the temperature until certain thresholds are hit.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OpenAIApi
     */

 createTranslation(file: File, model: string, prompt?: string, responseFormat?: string, temperature?: number, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateTranslationResponse, any>>;
    /**
     *
     * @summary Delete a file.
     * @param {string} fileId The ID of the file to use for this request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof OpenAIApi

This is documented in the reference, eg: https://platform.openai.com/docs/api-reference/audio/create#audio/create-prompt


Categories text overlap on overflow

Hi,
Thanks for the cool lib!
Is there a reason for 'leading: -3' option here?
It results in text overlap on overflow:

Hello and thanks for stopping by!
That was a personal decision: I wanted the labels to be closer to the horizontal axis.
I also experienced your issue, and for that reason I added the option every: 2 so not every bar gets a label.
Try playing around with the every parameter and see what it looks like.
If your labels overflow on a second row, you might have "too many" labels and the every option might improve the legibility of your graph.

Hi @claudiofullscreen
Thanks for a quick response! every works in this case, but I have some other graphs with user-supplied label texts of variable length, so I can't guarantee some of them won't overflow even if I space them out. Would be nice to have an option to change the leading attribute.


StridedSlice (OpKernel was found, but attributes didn't match)

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Docker ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary - docker
TensorFlow version (use command below): nightly version as of August 6th 2018
Python version: 3.5.2
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:   V9.0.176
GPU model and memory: 4 * GTX 1080 Ti
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
I have written code to train a boosted trees estimator. The code gives an error even before it starts training if run on the GPU. On the other hand, it runs without any issues on the CPU.
The issue seems to be with the StridedSlice op and an incompatible op.
I have attached the log of the error below.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.
WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/function.py:993: calling Graph.create_op (from tensorflow.python.framework.ops) with compute_shapes is deprecated and will be removed in a future version.
Instructions for updating:
Shapes are always computed; don't use the compute_shapes as it has no effect.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
WARNING:tensorflow:Issue encountered when serializing resources.
Type is unsupported, or the types of the items don't match field type in CollectionDef. Note this is a warning and probably safe to ignore.
'_Resource' object has no attribute 'name'
INFO:tensorflow:Graph was finalized.
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
WARNING:tensorflow:Issue encountered when serializing resources.
Type is unsupported, or the types of the items don't match field type in CollectionDef. Note this is a warning and probably safe to ignore.
'_Resource' object has no attribute 'name'
INFO:tensorflow:Saving checkpoints for 0 into GBDT_multi/GPU/vLat-vLon/model.ckpt.
WARNING:tensorflow:Issue encountered when serializing resources.
Type is unsupported, or the types of the items don't match field type in CollectionDef. Note this is a warning and probably safe to ignore.
'_Resource' object has no attribute 'name'
---------------------------------------------------------------------------
NotFoundError                             Traceback (most recent call last)
/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1291     try:
-> 1292       return fn(*args)
   1293     except errors.OpError as e:

/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata)
   1276       return self._call_tf_sessionrun(
-> 1277           options, feed_dict, fetch_list, target_list, run_metadata)
   1278

/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata)
   1366         self._session, options, feed_dict, fetch_list, target_list,
-> 1367         run_metadata)
   1368

NotFoundError: No registered 'StridedSlice' OpKernel for GPU devices compatible with node {{node strided_slice}} = StridedSlice[Index=DT_INT32, T=DT_BOOL, begin_mask=0, ellipsis_mask=0, end_mask=0, new_axis_mask=0, shrink_axis_mask=1](is_active, strided_slice/stack, strided_slice/stack_1, strided_slice/stack)
	 (OpKernel was found, but attributes didn't match)
	.  Registered:  device='GPU'; T in [DT_INT32]
  device='GPU'; T in [DT_INT64]
  device='GPU'; T in [DT_COMPLEX128]
  device='GPU'; T in [DT_COMPLEX64]
  device='GPU'; T in [DT_DOUBLE]
  device='GPU'; T in [DT_FLOAT]
  device='GPU'; T in [DT_HALF]
  device='CPU'; T in [DT_VARIANT]
  device='CPU'; T in [DT_RESOURCE]
  device='CPU'; T in [DT_STRING]
  device='CPU'; T in [DT_BOOL]
  device='CPU'; T in [DT_COMPLEX128]
  device='CPU'; T in [DT_COMPLEX64]
  device='CPU'; T in [DT_DOUBLE]
  device='CPU'; T in [DT_FLOAT]
  device='CPU'; T in [DT_BFLOAT16]
  device='CPU'; T in [DT_HALF]
  device='CPU'; T in [DT_INT8]
  device='CPU'; T in [DT_UINT8]
  device='CPU'; T in [DT_INT16]
  device='CPU'; T in [DT_UINT16]
  device='CPU'; T in [DT_INT32]
  device='CPU'; T in [DT_INT64]

	 [[{{node strided_slice}} = StridedSlice[Index=DT_INT32, T=DT_BOOL, begin_mask=0, ellipsis_mask=0, end_mask=0, new_axis_mask=0, shrink_axis_mask=1](is_active, strided_slice/stack, strided_slice/stack_1, strided_slice/stack)]]
	 [[{{node head/historyyawDiff5/dense_make_stats_update_pTOiIS60uTM}} = dense_make_stats_update_pTOiIS60uTM_specialized_for_head_currentspeed1_dense_make_stats_update_pTOiIS60uTM[_device="/job:localhost/replica:0/task:0/device:GPU:0"](ConstantFolding/head/unstack_13-folded-0/_377, head/unstack_11/_379, gbdt/transform_features_13/history_yawDiff_5/ExpandDims, head/split:25, gbdt_1/GradientTreesPartitionExamples/_381, head/Gradients/head/mean_squared_error/SquaredDifference_grad/Reshape, head/stack, head/Sum)]]
	 [[{{node head/cond_1/cond/split/_1463}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_3016_head/cond_1/cond/split", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

During handling of the above exception, another exception occurred:

NotFoundError                             Traceback (most recent call last)
<ipython-input-18-5992a8bb32bf> in <module>()
     13             }
     14
---> 15 _ = train_GBDT_regressor()

<ipython-input-15-c864123abd09> in train_GBDT_regressor()
    128         learn_runner.run(experiment_fn=create_gbdt_experiment,
    129                          output_dir=TRAIN_DATA['model_dir'],
--> 130                          schedule="train_and_evaluate"
    131                         )
    132

/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/deprecation.py in new_func(*args, **kwargs)
    304               'in a future version' if date is None else ('after %s' % date),
    305               instructions)
--> 306       return func(*args, **kwargs)
    307     return tf_decorator.make_decorator(
    308         func, new_func, 'deprecated',

/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/learn_runner.py in run(experiment_fn, output_dir, schedule, run_config, hparams)
    223   schedule = schedule or _get_default_schedule(run_config)
    224
--> 225   return _execute_schedule(experiment, schedule)
    226
    227

/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/learn_runner.py in _execute_schedule(experiment, schedule)
     50     logging.error('Allowed values for this experiment are: %s', valid_tasks)
     51     raise TypeError('Schedule references non-callable member %s' % schedule)
---> 52   return task()
     53
     54

/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/experiment.py in train_and_evaluate(self)
    670                   hooks=self._eval_hooks)
    671           ]
--> 672       self.train(delay_secs=0)
    673
    674     # If the checkpoint_and_export flag and appropriate estimator configuration

/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/experiment.py in train(self, delay_secs)
    387         max_steps=self._train_steps,
    388         hooks=self._train_monitors + extra_hooks,
--> 389         saving_listeners=self._saving_listeners)
    390
    391   def evaluate(self, delay_secs=None, name=None):

/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/experiment.py in _call_train(self, _sentinel, input_fn, steps, hooks, max_steps, saving_listeners)
    881           max_steps=max_steps,
    882           hooks=hooks,
--> 883           saving_listeners=saving_listeners)
    884     else:
    885       return self._estimator.fit(

/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py in train(self, input_fn, hooks, steps, max_steps, saving_listeners)
    341
    342       saving_listeners = _check_listeners_type(saving_listeners)
--> 343       loss = self._train_model(input_fn, hooks, saving_listeners)
    344       logging.info('Loss for final step: %s.', loss)
    345       return self

/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py in _train_model(self, input_fn, hooks, saving_listeners)
   1127       return self._train_model_distributed(input_fn, hooks, saving_listeners)
   1128     else:
-> 1129       return self._train_model_default(input_fn, hooks, saving_listeners)
   1130
   1131   def _train_model_default(self, input_fn, hooks, saving_listeners):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py in _train_model_default(self, input_fn, hooks, saving_listeners)
   1161       return self._train_with_estimator_spec(estimator_spec, worker_hooks,
   1162                                              hooks, global_step_tensor,
-> 1163                                              saving_listeners)
   1164
   1165   def _train_model_distributed(self, input_fn, hooks, saving_listeners):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py in _train_with_estimator_spec(self, estimator_spec, worker_hooks, hooks, global_step_tensor, saving_listeners)
   1369       loss = None
   1370       while not mon_sess.should_stop():
-> 1371         _, loss = mon_sess.run([estimator_spec.train_op, estimator_spec.loss])
   1372     return loss
   1373

/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py in run(self, fetches, feed_dict, options, run_metadata)
    581                           feed_dict=feed_dict,
    582                           options=options,
--> 583                           run_metadata=run_metadata)
    584
    585   def run_step_fn(self, step_fn):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py in run(self, fetches, feed_dict, options, run_metadata)
   1057                               feed_dict=feed_dict,
   1058                               options=options,
-> 1059                               run_metadata=run_metadata)
   1060       except _PREEMPTION_ERRORS as e:
   1061         logging.info('An error was raised. This may be due to a preemption in '

/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py in run(self, *args, **kwargs)
   1148         raise six.reraise(*original_exc_info)
   1149       else:
-> 1150         raise six.reraise(*original_exc_info)
   1151
   1152

/usr/local/lib/python3.5/dist-packages/six.py in reraise(tp, value, tb)
    691             if value.__traceback__ is not tb:
    692                 raise value.with_traceback(tb)
--> 693             raise value
    694         finally:
    695             value = None

/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py in run(self, *args, **kwargs)
   1133   def run(self, *args, **kwargs):
   1134     try:
-> 1135       return self._sess.run(*args, **kwargs)
   1136     except _PREEMPTION_ERRORS:
   1137       raise

/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py in run(self, fetches, feed_dict, options, run_metadata)
   1205                                   feed_dict=feed_dict,
   1206                                   options=options,
-> 1207                                   run_metadata=run_metadata)
   1208
   1209     for hook in self._hooks:

/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py in run(self, *args, **kwargs)
    985
    986   def run(self, *args, **kwargs):
--> 987     return self._sess.run(*args, **kwargs)
    988
    989   def run_step_fn(self, step_fn, raw_session, run_with_hooks):

/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
    885     try:
    886       result = self._run(None, fetches, feed_dict, options_ptr,
--> 887                          run_metadata_ptr)
    888       if run_metadata:
    889         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
   1108     if final_fetches or final_targets or (handle and feed_dict_tensor):
   1109       results = self._do_run(handle, final_targets, final_fetches,
-> 1110                              feed_dict_tensor, options, run_metadata)
   1111     else:
   1112       results = []

/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
   1284     if handle is None:
   1285       return self._do_call(_run_fn, feeds, fetches, targets, options,
-> 1286                            run_metadata)
   1287     else:
   1288       return self._do_call(_prun_fn, handle, feeds, fetches)

/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1306           self._config.experimental.client_handles_error_formatting):
   1307         message = error_interpolation.interpolate(message, self._graph)
-> 1308       raise type(e)(node_def, op, message)
   1309
   1310   def _extend_graph(self):

NotFoundError: No registered 'StridedSlice' OpKernel for GPU devices compatible with node {{node strided_slice}} = StridedSlice[Index=DT_INT32, T=DT_BOOL, begin_mask=0, ellipsis_mask=0, end_mask=0, new_axis_mask=0, shrink_axis_mask=1](is_active, strided_slice/stack, strided_slice/stack_1, strided_slice/stack)
	 (OpKernel was found, but attributes didn't match)
	.  Registered:  device='GPU'; T in [DT_INT32]
  device='GPU'; T in [DT_INT64]
  device='GPU'; T in [DT_COMPLEX128]
  device='GPU'; T in [DT_COMPLEX64]
  device='GPU'; T in [DT_DOUBLE]
  device='GPU'; T in [DT_FLOAT]
  device='GPU'; T in [DT_HALF]
  device='CPU'; T in [DT_VARIANT]
  device='CPU'; T in [DT_RESOURCE]
  device='CPU'; T in [DT_STRING]
  device='CPU'; T in [DT_BOOL]
  device='CPU'; T in [DT_COMPLEX128]
  device='CPU'; T in [DT_COMPLEX64]
  device='CPU'; T in [DT_DOUBLE]
  device='CPU'; T in [DT_FLOAT]
  device='CPU'; T in [DT_BFLOAT16]
  device='CPU'; T in [DT_HALF]
  device='CPU'; T in [DT_INT8]
  device='CPU'; T in [DT_UINT8]
  device='CPU'; T in [DT_INT16]
  device='CPU'; T in [DT_UINT16]
  device='CPU'; T in [DT_INT32]
  device='CPU'; T in [DT_INT64]

	 [[{{node strided_slice}} = StridedSlice[Index=DT_INT32, T=DT_BOOL, begin_mask=0, ellipsis_mask=0, end_mask=0, new_axis_mask=0, shrink_axis_mask=1](is_active, strided_slice/stack, strided_slice/stack_1, strided_slice/stack)]]
	 [[{{node head/historyyawDiff5/dense_make_stats_update_pTOiIS60uTM}} = dense_make_stats_update_pTOiIS60uTM_specialized_for_head_currentspeed1_dense_make_stats_update_pTOiIS60uTM[_device="/job:localhost/replica:0/task:0/device:GPU:0"](ConstantFolding/head/unstack_13-folded-0/_377, head/unstack_11/_379, gbdt/transform_features_13/history_yawDiff_5/ExpandDims, head/split:25, gbdt_1/GradientTreesPartitionExamples/_381, head/Gradients/head/mean_squared_error/SquaredDifference_grad/Reshape, head/stack, head/Sum)]]
	 [[{{node head/cond_1/cond/split/_1463}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_3016_head/cond_1/cond/split", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

@karmel Is there any other information that I should provide to help you locate the issue?

Thanks, @amtagrwl , that gives me a place to start. Did you install docker on your machine with nvidia-docker as per the install instructions? Which Docker image did you use?

Yes, docker was installed using nvidia-docker according to the install instructions provided.
I have been using the nightly-gpu-py3 image from the tensorflow docker hub for the past 2 weeks. I keep updating my image every few days. Before that, I was using the 1.9.0-gpu-py3 image. The issues persists regardless of the image.

Re-reading the error, it looks like the op in question is found, but the data it is receiving is a boolean tensor rather than an int. Further, the warnings above the error indicate that there are other type mismatches encountered. Are you switching between CPU and GPU with a single checkpoint? Alternatively, is there something in your model_fn that might yield this sort of type mismatch?

@karmel @tanzhenyu @nataliaponomareva Thanks for the update. Is GPU support for Boosted Trees in the roadmap? Will GPU training be supported in the next few months?

We anticipate not breaking on GPUs in the next few months, but not adding the ops to actually run on GPUs. Can you tell us a little bit more about how you are using the model? Data size and type? Contributions are welcome if you are interested.

My data consists of around 200k data points with around 25 features each at this point. Right now, all the features are float32. In the future, I am hoping to train with 10s-100s million data points with over 100s of features with different types such as float32, one-hot vectors, and multi-hot vectors. The model uses a multi-target regression head. I am predicting 20 targets using a single model. Currently I am using a simple MSE loss. In the future, I hope to incorporate custom loss functions to model some domain specific regularization losses.
I am a beginner at using tensorflow at this point and am only well-versed with the high level APIs. I am hoping to learn more in the coming months. I can attempt to contribute once I have a better understanding of more complex workings of TF.

Nagging Assignee @tanzhenyu: It has been 17 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tanzhenyu: It has been 32 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @tanzhenyu: It has been 47 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I have created a code review to raise error when users attempts to train Boosted Trees using GPU. Just FYI @amtagrwl contribution welcomed (supporting gpu currently not coming soon).

@amtagrwl Can you try the latest tf version? It looks like the bug has been resolved.

Are you satisfied with the resolution of your issue?
Yes
No


RPC checksum fails when custom MultiplayerAPI is set on SceneTree via set_multiplayer

Godot version
v4.1.1.stable
System information
Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Compatibility) - NVIDIA GeForce GTX 750 Ti (NVIDIA; <IP_ADDRESS>23) - 12th Gen Intel(R) Core(TM) i5-12400F (12 Threads)
Issue description
When setting a custom MultiplayerAPI via the scenetree, the checksum fails unless the other peers have a custom API set as well.
The behavior I expected is that since they are both SceneMultiplayer, have the same RPC methods, same nodepaths, that it would work even though the MultiplayerAPI is set to a different one.
Steps to reproduce
I've set up a simple test project with a few variables.

Setting the Custom Multiplayer export variable will create a custom multiplayerApi and set it, as the title of this post says:

Leaving it unchecked won't create the MultiplayerAPI.
Checking server just makes it the server, not a client.

I exported this project 3 times, with these options selected each time:
Export 1: Server

Export 2: Client

Export 3: Client, Custom MultiplayerAPI

I feel its easier to explain as a gif:

Despite the nodepaths being the exact same, it spits out errors about invalid paths in the console.
Minimal reproduction project
RPCChecksum.zip

When setting a custom MultiplayerAPI via the scenetree, the checksum fails unless the other peers have a custom API set as well.

Well, this is indeed the expected behavior.
Godot MultiplayerAPI requires node paths used for RPCs or synchronization to match across peers.
The paths are relative to the multiplayer root which is the path you set via get_tree().set_multiplayer (/root/ for the default one).
When using custom multiplayer branches your scene tree should look something like:
/root
  main
    Server (custom)
      game
    Client1 (custom)
      game
    Client2 (custom)
      game

Additionally, I strongly advise setting the custom multiplayer during _enter_tree so it happens before the child nodes tree callbacks (as they may include other multiplayer nodes like MultiplayerSpawner or MultiplayerSynchronizer).


string returned by get_style_defs() does not include all CSS classes

(Original issue 1023 created by None on 2014-08-10T05:45:43.213430+00:00)
Calling HtmlFormatter().get_style_defs('.highlight') returns a string which does not include all CSS classes used. For example, the class ".highlight .p" is excluded.

(Original issue 1023 last updated on 2014-10-07T14:03:35.797199+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by None on 2014-08-10T07:12:36.260771+00:00)
".highlight .n" is also excluded.

(Original comment by birkenfeld on 2014-10-07T14:03:35.808419+00:00)
The classes will be excluded if the token type has no styling in the selected style.
In the default style, Name tokens and Punctuation tokens have no styling, so this is ok.


Add support for Python 3.13

Python 3.13 is due out today! 🚀
https://peps.python.org/pep-0719/

Thanks Hugo!  I'm looking forward to dropping 3.8 soon too 😁

You can drop 3.8 now!

https://devguide.python.org/versions/ (https://github.com/python/devguide/pull/1430)
https://peps.python.org/pep-0569/ (https://github.com/python/peps/commit/ada0f55a8e29c11cc72b3f234558fade2ff5708e)

Even sooner than expected!


Repeated warning log on trimVideo using XCode 6 (iOS 8)

Once I call:
    require('ti.ios.trim').trimVideo({
        input: temp_file.resolve(),
        quality: 2,
        success: options.success,
        error: options.error
    });

the app starts to repeatedly log this:
[INFO]  2014-09-25 15:56:38.143 XXXXXXXXX[24767:224398] Unable to simultaneously satisfy constraints.
[INFO]          Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
[INFO]  (
[INFO]      "<NSLayoutConstraint:0x7fea9710 H:|-(34)-[MPKnockoutButton:0x7feab8d0](LTR)   (Names: '|':_UIBackdropContentView:0x80a0fdf0 )>",
[INFO]      "<NSLayoutConstraint:0x7fea9740 H:[MPKnockoutButton:0x7feab8d0]-(34)-[TrackPosition](LTR)   (Names: TrackPosition:0x80a10610 )>",
[INFO]      "<NSLayoutConstraint:0x7fea9770 H:[TrackPosition]-(34)-[UIView:0x80a10030](LTR)   (Names: TrackPosition:0x80a10610 )>",
[INFO]      "<NSLayoutConstraint:0x7fea93a0 UIView:0x80a10030.right == _UIBackdropView:0x80a0f400.right>",
[INFO]      "<NSLayoutConstraint:0x80a102f0 H:|-(0)-[_UIBackdropView:0x80a0f400]   (Names: '|':MPVideoPlaybackOverlayView:0x80a0f1d0 )>",
[INFO]      "<NSLayoutConstraint:0x80a10360 H:[_UIBackdropView:0x80a0f400]-(0)-|   (Names: '|':MPVideoPlaybackOverlayView:0x80a0f1d0 )>",
[INFO]      "<NSLayoutConstraint:0x7fea2620 H:[MPVideoPlaybackOverlayView:0x80a0f1d0(0)]>",
[INFO]      "<NSAutoresizingMaskLayoutConstraint:0x7fea06e0 h=-&- v=-&- _UIBackdropContentView:0x80a0fdf0.midX == _UIBackdropView:0x80a0f400.midX>",
[INFO]      "<NSAutoresizingMaskLayoutConstraint:0x7fea0710 h=-&- v=-&- _UIBackdropContentView:0x80a0fdf0.width == _UIBackdropView:0x80a0f400.width>"
[INFO]  )
[INFO]
[INFO]  Will attempt to recover by breaking constraint
[INFO]  <NSLayoutConstraint:0x7fea9740 H:[MPKnockoutButton:0x7feab8d0]-(34)-[TrackPosition](LTR)   (Names: TrackPosition:0x80a10610 )>
[INFO]
[INFO]  Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
[INFO]  The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.

My environment:
Titanium SDK
  ✓  latest sdk         installed (v3.4.0.v20140922135716)
  ✓  selected sdk       up-to-date (v3.4.0.v20140922135716)

Mac OS X Environment
  ✓  CLI Tools          installed

iOS Environment
  ✓  Xcode              installed (5.1.1, 6.0.1)
  ✓  iOS SDK            installed (7.1, 8.0)
  ✓  WWDR cert          installed
  ✓  developer cert     installed (4 found)
  ✓  distribution cert  installed (2 found)
  ✓  dev provisioning   installed (12 found)
  ✓  dist provisioning  installed (9 found)

Hi,
Sorry to comment the closed issue (from google), I had this problem recently... when
...
Titanium.Media.openPhotoGallery({
success : function(e) {
if (videoPlayer == null) {
videoPlayer = Ti.Media.createVideoPlayer({
backgroundColor : 'black',
autoplay : false,
media : e.media
});
};
...
if the videoPlayer with media is assigned, the issue happened, without, of course nothing happened.
Very strange... but I'm sure I didn't have this problem before, but now...
I wonder whether these's a solution?
My environment is Titanium SDK 3.5.0.GA, latest iOS SDK, tested on iPhone6, 8.1.3.
Regards,
Shallong

Hi,
Just quick update for this problem, I just solved the repeated log issue with the help of another engineer.
This video player object needs to be placed in the UI eventually, so looks like only creating in the controller won't prevent this issue.
For me, I placed a  <View id="fakeVideoView" /> in the xml with the visible set to false and use the $.fakeVideoView.add(videoPlayer); after createVideoPlayer, that is able to make the debug log clean.
For the root cause I don't know, but one situation I find is if I use iPhone4 with iOS 7, the problem doesn't existed.
Again, sorry for any disturbing / inconvenience for this.
Thanks,
Shallong

@Shallong's solution worked for me ! Thanks


websockets connected clients (and try/catch improvement)

https://github.com/aztlan-labs/chicmoz/commit/a271993252e815c75c402037a6a14f33bb5a927b


setupNotification - Observable or Single?

This is confusing:
/**
 * @return Observable emitting another observable when the notification setup is complete.
 */
Observable<Observable<byte[]>> setupNotification(@NonNull UUID characteristicUuid, @NonNull NotificationSetupMode setupMode);

Why is this not Single<Observable<byte[]>> ?

https://github.com/Polidea/RxAndroidBle#observable-behaviour

Thanks for the link. Nonetheless, it should be Single<Observable<byte[]>> - the subscription to the emitted Observable<byte[]> should be sufficient to manage resources.

Sometimes there is a use case when there are no subscribers to Observable<byte[]> but the user does not want to notify the peripheral about it

Not sure I understand. You are saying that there are use-cases when one would subscribe to the outer Observable<Observable<byte[]>> but not to the inner Observable<byte[]>?

Yes. Imagine that the inner Observable<byte[]> gets subscribed at various times depending on other factors but the BLE notification (as a side effect) is expected to be continuous.

Does it answer your question @valeriyo ? Do you have an idea on how to address this case differently?

Yes, thanks for following up. I'm planning to use RxAndroidBle for scanning - because it seems to work very well, but for data (connecting/writing/reading) - I found the RxAndroidBle APIs too cumbersome to use (managing observables subscriptions, and the UndeliverableException, which is actually the RxAndroidBle's fault - it shouldn't emit errors when there are no subscribers). So, I'll stick with nordicsemi for now. Thanks.

I found the RxAndroidBle APIs too cumbersome to use

I am afraid that I cannot do much with this. You are always welcome to give constructive feedback. Best regards


Doesn't seem to work

A friend and I tried this plugin before bringing it into our clan.
We've noticed it just doesn't work, with our settings at least.
Our test cases included

2 Servers (So 2 different webhooks)
Different monsters (Nechs, Suqah's & Brutal Black dragons).
Different settings (1/64, 1/10 and 1/1. Also 10K, 1K and 20coins as value)
2 Different network, accounts & Runelite instances
Restarting runelite

Thanks for the info. Yep it seems the version that made it into RuneLite doesn't work and I'm in the process of figuring it out 👍 .

Ok, When you update it, will it be automatically updated for the pluginhub? or does that take a while?

Ok, When you update it, will it be automatically updated for the pluginhub? or does that take a while?

I think it will have to be manually accepted by an admin, although that should go faster than the initial review.

Another nice feature request would be multiple webhooks perhaps. To push it to multiple servers.

A new version (1.1.0) has been published which should fix this. Please let me know if it still doesn't work. I've also added the ability to post to multiple discord channels (separate the webhook url(s) with newline).


Using with cordova android version 8.x.x on API SDK 28

I want to use NFC plugin for my Ionic 3 project using android version 8.1.0 on API SDK 28.
Because when uploading app into the Google Play Store require the latest API SDK 28, and the NFC plugin gives me the error when installing on cordova android version 8.X.X.
It says Error: Unable to graft xml at selector "/manifest/uses-sdk" from "platforms\android\app\src\main\AndroidManifest.xml" during config install at ConfigFile_graft_child [as graft_child]
Please, someone, help me how to troubleshoot the plugin compatibility. Thank you.

+1

+1
I moved <uses-sdk android:minSdkVersion="19" /> into the <config-file target="AndroidManifest.xml" parent="/manifest"> block above and it works again.

I have the same problem, I am using phonegap build. Please have a fix for this on the plugin :)

Could anyone of you open a pull request with this fix? then we can ping the maintainer to release a new version.

Fixed here: https://github.com/chariotsolutions/phonegap-nfc/pull/372
If you need to use this fix, I uploaded it to NPM so you can use it until the issue gets merged:
npm i phonegap-nfc-fxmanifest
or
ionic cordova plugin add phonegap-nfc-fxmanifest

#372 should fix this


make functions as c functions

Description: declare functions as c functions (as opposed to c++ functions)
Risk Level: low
Testing: ci
Docs Changes: n/a
Release Notes: n/a
Signed-off-by: Jingwei Hao<EMAIL_ADDRESS>

yup. thank you!
On Wed, Nov 3, 2021 at 1:21 PM JP Simard @.***> wrote:

@.**** approved this pull request.
This fixes the case you mentioned earlier where symbols were defined both
with and without C++ mangling, right?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/envoyproxy/envoy-mobile/pull/1921#pullrequestreview-797053493,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANUCCS2NNITHYRNT5KVD7XLUKGRVJANCNFSM5HJX7BTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Note the actual problem is that we are including both the JVM and NDK jni.h in different places, which is pretty bad. This is just a bandaid over that. I think @snowp @keith @buildbreaker are discussing other potential better solutions.

For posterity: the problem this tries to solve is that when building on top of EM and depending on the EM JVM targets, we may run into cases where both the NDK jni.h and JDK jni.h are being consumed, which results in two different versions of JNIEnv and JavaVM being referenced, resulting in two different overloads for attach_jvm. Only one of these has an implementation, so we end up with an undefined reference and the loader barfs at the .so.
This change removes C++ mangling from the functions, meaning that even with the two different jni.h at play we don't generate multiple functions, so the loader will now happily accept the .so. This seems to be fine, but is a bit of a band aid to solve the immediate issue: if there ever are substantial differences between what's defined by the two jni.h files we may end up in undefined behavior territory, which will likely lead to strange behavior or crashes. I'll spend some time looking into what we can do here to make things a bit more sane
@jingwei99 Can you merge main to pick up the CI fix?


Feature Request: How to Configure Additional Subnets in Hub? Managed Externally?

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
Is your feature request related to a problem?

Hub VNET configuration seems to indicate the format for specifying additional subnets in the VNET (see below) however the module doesn't prescribe any solution for creating those subnets.
Ideally, the module should include configuration for adding new subnets including their route tables and NSGs, or recommend modules for doing this:

variable "configure_connectivity_resources" {
  type = object({
    settings = object({
      hub_networks = list(
        object({
.
.
.            subnets = list(
              object({
                name                      = string
                address_prefixes          = list(string)
                network_security_group_id = string
                route_table_id            = string
              })
            )
.
.
.

Describe the solution you'd like

Configuration and examples for creating additional subnets (including their associated NSGs and UDRs) which can be referenced in the hub configuration.
Ideally the the caf module allows definition of subnet plus associated udrs and nsg in once unified configuration
Alternatively a single module which packages the subnet,udr and NSG configuration into one configuration scheme ready to be consumed by the hub subnet configuration .
Least desireable: Hub Subnets, UDRs, NSGs need to be managed using  a completely separate module, and need to be created first in Azure and then added in the hub configuration post-creation.

Alternatively:
Terraform module managing subnets in a standalone way and integrated with the CAF module configuration.
Additional context

The documentation provides no examples or details on using the subnets parameter to the hub module:

https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/wiki/%5BUser-Guide%5D-Module-Variables

Thank you for your question @archmangler.
Although we don't provide any official guidance around adding Subnets to the hub in ALZ, we added this capability to provide flexibility for exactly this.
Currently we only support adding subnets, and the entries for network_security_group_id and route_table_id are placeholders for further work which hasn't been completed yet. In an ideal world, optional() types would have made this unnecessary but they only became GA in Terraform v1.3, long after this was added to prevent breaking changes.
As such, you can add subnets to each hub network using the code example below but will need to associate NSGs or Route Tables using native Terraform:
  # Additional settings removed for brevity
  configure_connectivity_resources = {
    settings = {
      hub_networks = [
        {
          enabled = true
          config = {
            address_space                = ["<IP_ADDRESS>/22", ]
            location                     = var.primary_location
            # Additional settings removed for brevity
            subnets                      = [
              {
                name                      = "mySubnet"
                address_prefixes          = ["<IP_ADDRESS>/24", ]
                network_security_group_id = null
                route_table_id            = null
              }
            ]
            # Additional settings removed for brevity
      ]
      # Additional settings removed for brevity
  }

Does this help?

Thanks, @krowlandson  - we will use a separate module to manage subnets and update as recommended above.

OK thanks for confirming. Are you happy to share why you went with the decision to fully manage the subnets outside the module? Hopefully this will help us make decisions on how to improve moving forward 👍🏻

Hi @krowlandson  - as follows:

We have better control over automating the naming convention of the subnet name
we may need to specify the NSG in detail which is attached to the subnet
we may need to specify the routing table in detail associated with the subnet

It's not clear how the configuration in the example caters to all these items ...


Wire can't build with invalid type error

Golang : 1.14
Wire: v0.4.0
type Configuration struct {
	config.Configuration `mapstructure:",squash"`

	Engine                *service.EngineConfig       `validate:"required"`
}

package service
type EngineConfig struct {
	UrlBase         string                       `mapstructure:"url_base" validate:"required"`
}

In wire.go
// Viper
func Config() *config.Configuration {
	var conf config.Configuration

	// config
	confManager, err := configManager.Load()
	if err != nil {
		panic(err)
	}

	err = confManager.Unmarshal(&conf)
	if err != nil {
		panic(err)
	}

	return &conf
}

func EngineConfig(conf *config.Configuration) *service.EngineConfig {
	return conf.Engine
}

^^^ giving  cannot use conf.Engine (variable of type *invalid type) as *service.EngineConfig value in return statement
Also, tried with wire.FieldsOf  as wire.FieldsOf(new(*config.Configuration), "Engine", "ApiInternalAuthConfig"). On multiple wire cmd executions, gave 4 different results with the same wire.go file
➜ wire
wire: github.com/someorg/someproject/service/cmd/boot: wrote /Users/someuser/Documents/repos/currproj/service/cmd/boot/wire_gen.go

currproj/service/cmd/boot on  develop [⇣$»!+?] via 🐹 v1.14 took 2s
➜ wire
wire: /Users/someuser/Documents/repos/currproj/service/cmd/boot/wire.go:21:1: inject Inject: no provider found for *github.com/someorg/someproject/service/cmd/boot/config.Configuration
        needed by github.com/someorg/go-common.Env in provider "Env" (/Users/someuser/Documents/repos/currproj/service/cmd/boot/wire.go:72:6)
        needed by *github.com/someorg/someproject/service/cmd/boot.App in provider "NewApp" (/Users/someuser/Documents/repos/currproj/service/cmd/boot/app.go:52:6)
wire: /Users/someuser/Documents/repos/currproj/service/cmd/boot/wire.go:21:1: inject Inject: no provider found for github.com/someorg/someproject/service.Database
        needed by *github.com/someorg/someproject/service.Engine in struct provider "Engine" (/Users/someuser/Documents/repos/currproj/service/currproj.go:57:6)
        needed by github.com/someorg/protonium/http.Application in provider "App" (/Users/someuser/Documents/repos/currproj/service/http/handlers.go:27:6)
        needed by *github.com/someorg/someproject/service/cmd/boot.App in provider "NewApp" (/Users/someuser/Documents/repos/currproj/service/cmd/boot/app.go:52:6)
wire: github.com/someorg/someproject/service/cmd/boot: generate failed
wire: at least one generate failure

currproj/service/cmd/boot on  develop [⇣$»!+?] via 🐹 v1.14
➜ wire
wire: /Users/someuser/Documents/repos/currproj/service/cmd/boot/wire.go:21:1: inject Inject: no provider found for github.com/someorg/someproject/service.Database
        needed by *github.com/someorg/someproject/service.Engine in struct provider "Engine" (/Users/someuser/Documents/repos/currproj/service/currproj.go:57:6)
        needed by github.com/someorg/protonium/pubsubv2.Application in provider "New" (/Users/someuser/Documents/repos/currproj/service/pubsub/listener.go:17:6)
        needed by *github.com/someorg/someproject/service/cmd/boot.App in provider "NewApp" (/Users/someuser/Documents/repos/currproj/service/cmd/boot/app.go:52:6)
wire: github.com/someorg/someproject/service/cmd/boot: generate failed
wire: at least one generate failure

currproj/service/cmd/boot on  develop [⇣$»!+?] via 🐹 v1.14 took 2s
➜ wire
wire: github.com/someorg/currproj/service/cmd/boot: wrote /Users/someuser/Documents/repos/currproj/service/cmd/boot/wire_gen.go

Please help us understand and how to proceed with these errors

(variable of type *invalid type) usually means there's a compile error in your application. Wire analyzes your whole dependency tree, not just the Wire file. Without seeing your code, it's hard to know what's going on in the Wire runs you're showing. If you can, posting a short, self-contained example would be helpful.

Thanks @zombiezen It was a compilation issue indeed! 😅 Probably wire should thrown better error message. Couldn't find any relative documentation/talk regarding this error

(variable of type *invalid type) usually means there's a compile error in your application. Wire analyzes your whole dependency tree, not just the Wire file. Without seeing your code, it's hard to know what's going on in the Wire runs you're showing. If you can, posting a short, self-contained example would be helpful.

thanks


Move documentation from README to individual files in 'docs' directory

Moved documentation from README to individual files in 'docs' directory. #108

To make room for doc improvements

A lot of copy and pasting!

Checklist:

[x] Documentation
[ ] Tests
[ ] Code complete

hope this helps!

Codecov Report

Merging #124 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #124   +/-   ##
======================================
  Coverage    88.3%   88.3%
======================================
  Files          16      16
  Lines         590     590
  Branches      128     128
======================================
  Hits          521     521
  Misses         55      55
  Partials       14      14

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3caaa14...d29d4de. Read the comment docs.

Thank you!


Support for email subscribe form and automatic email plugin

Is your feature request related to a problem? Please describe.
No, it is a feature that will help users increase their blog reach
Describe the solution you'd like
There are two steps here -

fastpages support for a form on home page for blog readers to subscribe via email and store a list of these subscribers.
A GitHub action that sends email to this list on every new blog post, detailing the blog.

Although, first step can be fairly simple here, I am not sure about how feasible is the second one.
Describe alternatives you've considered
https://gist.github.com/sharu725/744bf9357c62a34d416ba71650a64968 - This Jekyll snippet with Mailchimp seems to be a promising alternative
Additional context
Increasing reach of her blog is any serious blogger's primary goal. If this support is added in fastpages, this could make fastpages stand out.

I don't think there is an easy way for me to support this without adding a third party paid service like mail chimp.  I'm happy to take a PR if you have a working prototype but I don't know if I want to involve lots of third party tools?  I suggest using the release feature and telling users to subscribe to your repository releases? WDYT?


Add ability to ignore unbudgeted categories

Add a checkbox in the edit menu to exclude un-budgeted categories in rollups even of they have non-zero actuals.

Closed in v2203.


Microsoft.Data.SqlClient tries to authenticate against login.windows.net for OnPremise Azure Cloud

Describe the bug
A customer of mine has set up a private OnPremise cloud without internet access with OnPremise Azure Active Directory (very high security requirements). When he tries to connect to the Azure SQL Server DB using my .NET application with Microsoft.Data.SqlClient the connection can not be established using Authentication=ActiveDirectoryPassword. With Authentication=SqlPassword the connection can be established.
Also using SSMS or my application using Odbc {ODBC Driver 17 for SQL Server}, the connection is successful for both authentication types.
If you are seeing an exception, include the full exceptions details (message and stack trace).
System.Net.WebException: The remote name could not be resolved: 'login.windows.net'

2022-02-28 18:51:22.8581|INFO|Use Provider Microsoft.Data.SqlClient|
2022-02-28 18:51:34.3724|INFO|Open Connection using Data Source=tcp:****.database.windows.net,1433;Initial Catalog=****;Persist Security Info=False;User ID=*****;Password=*************;Multiple Active Result Sets=False;Encrypt=True;Trust Server Certificate=False;Authentication=ActiveDirectoryPassword|
2022-02-28 18:51:35.2943|ERROR|Microsoft.Data.SqlClient.SqlException (0x80131904): An error occurred while sending the request. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote name could not be resolved: 'login.windows.net'
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
   --- End of inner exception stack trace ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Platforms.net45.Http.DnsSensitiveClientHandler.<SendAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Http.HttpManager.<ExecuteAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Http.HttpManager.<ExecuteWithRetryAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Http.HttpManager.<SendGetAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.OAuth2.OAuth2Client.<ExecuteRequestAsync>d__11`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.OAuth2.OAuth2Client.<DiscoverAadInstanceAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.Discovery.NetworkMetadataProvider.<SendInstanceDiscoveryRequestAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.Discovery.NetworkMetadataProvider.<FetchAllDiscoveryMetadataAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.Discovery.NetworkMetadataProvider.<GetMetadataAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.Discovery.InstanceDiscoveryManager.<FetchNetworkMetadataOrFallbackAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.Discovery.InstanceDiscoveryManager.<GetMetadataEntryAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.AuthorityEndpoints.<UpdateAuthorityWithPreferredNetworkHostAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Instance.AuthorityEndpoints.<UpdateAuthorityEndpointsAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Internal.Requests.RequestBase.<ResolveAuthorityEndpointsAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Internal.Requests.UsernamePasswordRequest.<ExecuteAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.Internal.Requests.RequestBase.<RunAsync>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Identity.Client.ApiConfig.Executors.PublicClientExecutor.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Data.SqlClient.ActiveDirectoryAuthenticationProvider.<AcquireTokenAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.<>c__DisplayClass158_1.<<GetFedAuthToken>b__3>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.GetFedAuthToken(SqlFedAuthInfo fedAuthInfo)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OnFedAuthInfo(SqlFedAuthInfo fedAuthInfo)
   at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at Microsoft.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover, Boolean isFirstTransparentAttempt, Boolean disableTnir)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
   at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, ServerCertificateValidationCallback serverCallback, ClientCertificateRetrievalCallback clientCallback, DbConnectionPool pool, String accessToken, SqlClientOriginalNetworkAddressInfo originalNetworkAddressInfo, Boolean applyTransientFaultHandling)
   at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   at Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at Microsoft.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
   at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
   at DbTest.Program.TestConnection(KeyValuePair`2 connectionString, Logger logger) in C:\Framatome\DbTest\Program.cs:line 113
ClientConnectionId:a0b51718-4087-40c9-a466-26ecd6eda295
Index #0
Message: An error occurred while sending the request.
LineNumber: 0
Source: Framework Microsoft SqlClient Data Provider
Procedure: AcquireToken
|

To reproduce
See sample application DbTestRepro.zip
Expected behavior
The authentication should work without connecting 'login.windows.net'
Further technical details
Microsoft.Data.SqlClient version: (found on the nuget or Microsoft.Data.SqlClient.dll)
.NET target: (e.g. Framework 4.7.2)
SQL Server version: (Azure SQL Server)
Operating system: (Windows 10)
Additional context
2022-02-28 18:51:08.4504|INFO|Use Provider System.Data.Odbc|
2022-02-28 18:51:20.4973|INFO|Open Connection using Driver={ODBC Driver 17 for SQL Server};server=tcp:.database.windows.net,1433;database=;encrypt=yes;trustservercertificate=no;connection timeout=30;authentication=ActiveDirectoryPassword;uid=*****;pwd=*************|
2022-02-28 18:51:22.7957|INFO|Connection established and login successfull|

@MichaelSteinecke ActiveDirectoryPassword or any other federated authentication requires access to internet. The fact that library is a middle man to acquire token from authentication server can explain that. you can see the pattern at  GetFeAuthToken at the part AcquireTokenAsync

@JRahnama
Thank you. Could you explain this a bit further? Why the authentication is working with System.Data.Odbc or SSMS without Internet connection but not with Microsoft.Data.SqlClient? Does there any documentation on authentication in Azure On Premise szenarios exists?

There is no specific documentation for your case scenario as far as I can remember. I am not sure about odbc, but SSMS is using S.D.SqlClient which has ported ADAL native library in native sni, M.D.SqlClient is working as a middle man for MSAL native library and needs network access to authentication server.

To add some clarification, M.D.S itself does NOT require Internet access for Azure AD authentication. But it does require access to the configured Secure Token Service or STS URL. In the Azure public cloud, this is typically login.windows.net, but not always.
M.D.S doesn't specify the URL to use in Azure AD authentication scenarios. That is provided by the SQL endpoint during feature negotiation. If M.D.S is trying to use login.windows.net to authenticate using Azure AD modes, it's because the SQL server is configured to send that to the client. I don't know how that is configured on the server-side. I would think somewhere in Azure AD and that gets read by the server, but that is a question for the server team.
That said, it is very odd that SSMS and ODBC both authenticate successfully in the same scenario. The primary difference between SSMS/ODBC and M.D.S is that M.D.S uses the MSAL library, while ODBC and SSMS still rely on the older ADAL library. But I would think the server would send the same STS URL to all clients, regardless of what authentication library they are using since the authentication library is not involved in retrieving the STS URL from the SQL server.
You should be able to use PerfView to collect M.D.S trace logs to see what STS URL is being received from the server. Look for FedAuthInfoData.
Regards,
David

Hello again,
thank you both. my customer could confirm the STS URL observation. He was able to resolve the issue by applying a change in the Proxy configuration in the app.config
<configuration>
  <system.net>
    <defaultProxy useDefaultCredentials="true">
    </defaultProxy>
  </system.net>
</configuration>

Strangely, that was one of the things we tried at the very beginning as well, but without success. Therefore it is possible that there were other changes in between I'm not aware of.


⚡ Add Holesky Testnet

Description
Deployed Multicaller, MulticallerWithSender and MulticallerWithSigner on Holesky.
TX hash: 0xbadedfd5806b5b4a2f61053b95a548ad96d64efa65c1f82406a5e33699935bf7
Checklist
Ensure you completed all of the steps below before submitting your pull request:

[x] Ran forge fmt?
[x] Ran forge snapshot?
[x] Ran forge test?

Pull requests with an incomplete checklist will be thrown out.

@Vectorized


Add command support

Add support for launching shell commands on POST/PUT requests.
Will require some restructuring, as ideally these commands should be launched in a separate thread from the CoAP listener.

Possibly remove MSGPACK formatter, as it can be implemented via the following (or equivalent):
"XXX": {
    ...
    "format": "BASE64",
    "cmd":    "sh -c \"base64 -d | msgpack2json -c\"",
    "cmdstdin": true
}

While not as clean or performant as simply putting MSGPACK as the format, it allows more flexibility.


Fix textarea for Microsoft Edge (unit tests now pass)

I signed it!

This is a good change, the only question I have is if we should invert the logic here, so we are only checking for old IE:
!(goog.userAgent.IE && !goog.userAgent.isDocumentModeOrHigher(11))

I thought about inverting logic too. In that case textarea will also work in Presto (no need to extra condition).

@anwerso   Were you going to invert the condition? The lint failure should have been fixed separately.


Confusing message

When translations has been made, clicking on "Done" shows a message "...tap the three dots menu on the top right and select "Export...""
There is no Export selection under that menu. As a new user I dont know how to submit the translations I have made.

@nikfrei oops. That message became invalid after we tweaked the UI a bit more, really sorry for the inconvenience. It's the button with the "Share" icon while we fix it.

Thank you for all the time and effort.

We still should fix this message :sweat_smile:


Add NUTS sub-country region classification

This PR adds three yaml-files (and a script to generate them) with the disaggregation of countries following the 'Nomenclature of Territorial Units for Statistics' (NUTS) used by Eurostat.
implementing second part of #3

added a stylized example in the readme how to turn the yaml-file into a hierarchical dictionary

the xlsx source file used to generate the NUTS-region classification is available in a separate branch danielhuppmann:attachment/nuts-regions for future reference (see the regions/data folder)

adding myself as assignee ex-post for completeness


feature: support icon on individual callouts

Is your feature request related to a problem? Please describe.
Callouts are great for leveraging the plugin to apply custom highlights. It would be amazing if individual callouts could specify their own icon parameter, overwriting the one specified in config.quote.icon. This is definitely a minor feature request!
Describe the solution you'd like
Allow callouts to overwrite the icon parameter set in the config.quote.icon.
Describe alternatives you've considered
In my particular use-case, I don't actually want an icon on some callouts. So, an alternative would be allowing callouts to specify that no icon be rendered. Since this can be achieved with quote.icon = '', this doesn't feel like a particularly good solution, but it would work.
Additional information
As always, I appreciate the time and effort you put into this plugin — it has genuinely improved my day to day experience with Neovim.

Added here: https://github.com/MeanderingProgrammer/render-markdown.nvim/commit/1eb3b74873d2dbb9d5a3635bf4a14e77e897d29f.
For each callout you can now specify a quote_icon value.
If you want no icon to be rendered I would use a space, i.e. quote_icon = ' ', rather than the empty string.


1 - adds async functionality (solves #1)

This PR adds async/concurrent functionality and basic CLI arguments.
Changelog:

Asynchronicity: App now makes http requests to urls asynchronously and gathers analytics codes concurrently. This is managed through one aiohttp.ClientSession() that is initialized in main() and inherited by functions called later in the stack, as well as an event loop initialized with asyncio.run().
Refactor functions: Removed loops in get_codes_from_snapshots() and get_analytics_codes() and added helper functions delegated to tasks and called with asyncio.gather(). Also moved several functions and global variables to utils.py
Argparser: Added very basic CLI arguments so function can be called from CL (WIP and mostly for testing purposes currently).

Had a brief look at the changes and they look great, did you see a significant performance shift with aiohttp?

Yes, big time! It's a night and day difference to shift away from requests and works multitudes faster now.


Can not get the action to work,

I am having the bellow issue:
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
child_process.js:660
    throw err;
    ^
Error: Command failed: yarn
    at checkExecSyncError (child_process.js:621:11)
    at execSync (child_process.js:657:15)
    at run (D:\a\_actions\samuelmeuli\action-electron-builder\v1.6.0\index.js:21:27)
    at runAction (D:\a\_actions\samuelmeuli\action-electron-builder\v1.6.0\index.js:109:2)
    at Object.<anonymous> (D:\a\_actions\samuelmeuli\action-electron-builder\v1.6.0\index.js:150:1)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) {
  status: 1

How Can I fix it?

This is my yml file for github action
name: Build/release

on: push

jobs:
  release:
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [windows-latest]
        package_manager: [npm]
        #  macos-latest, ubuntu-latest

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v1

      - name: Install Node.js, NPM and Yarn
        uses<EMAIL_ADDRESS>        with:
          node-version: '10.16.3'

      - name: Build/release Electron app
        uses<EMAIL_ADDRESS>        with:
          # GitHub token, automatically provided to the action
          # (No need to define this secret in the repo settings)
          github_token: ${{ secrets.github_token }}

          # If the commit is tagged with a version (e.g. "v1.0.0"),
          # release the app after building
          release: ${{ startsWith(github.ref, 'refs/tags/v') }}

I assume it's because you specify package_manager: [npm] but it needs yarn to run?

Actually, they are both supported as per documentation.

Let me test with yarn will get back to you. @juliangruber

The issue is the same
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
child_process.js:660
    throw err;
    ^

Error: Command failed: yarn
    at checkExecSyncError (child_process.js:621:11)
    at execSync (child_process.js:657:15)
    at run (D:\a\_actions\samuelmeuli\action-electron-builder\v1.6.0\index.js:21:27)
    at runAction (D:\a\_actions\samuelmeuli\action-electron-builder\v1.6.0\index.js:109:2)
    at Object.<anonymous> (D:\a\_actions\samuelmeuli\action-electron-builder\v1.6.0\index.js:150:1)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10) {

Yarn is strongly recommended instead of npm.

— electron-builder #Installation

I have the same problem wie vue-cli-plugin-electron-builder that is implicitly used when adding electron-builder via vue add electron-builder:
vue.config.js:
pluginOptions: {
  electronBuilder: {
    builderOptions: {
      appId: 'com.github.anno-1800-calculator',
      productName: 'Anno 1800 Calculator',
      mac: {
        category: 'public.app-category.games'
      },
      dmg: {
        icon: false
      },
      linux: {
        target: ['AppImage'],
        category: 'Game'
      }
    }
  }

build-electron.yml:
name: CI/CD Electron App on version tag

on:
  push:
    branches: [ gh-actions-test ]

jobs:
  build:
    runs-on: ${{ matrix.os }}

    # Platforms to build on/for
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2

      - name: Install Node.js, NPM and Yarn
        uses: actions/setup-node@v1
        with:
          node-version: 14

      - name: Install dependencies
        run: yarn

      - name: Build Electron release
        run: yarn run electron:build

Yarn is strongly recommended instead of npm.

— electron-builder #Installation

I have the same problem wie vue-cli-plugin-electron-builder that is implicitly used when adding electron-builder via vue add electron-builder:
vue.config.js:
pluginOptions: {
  electronBuilder: {
    builderOptions: {
      appId: 'com.github.anno-1800-calculator',
      productName: 'Anno 1800 Calculator',
      mac: {
        category: 'public.app-category.games'
      },
      dmg: {
        icon: false
      },
      linux: {
        target: ['AppImage'],
        category: 'Game'
      }
    }
  }

build-electron.yml:
name: CI/CD Electron App on version tag

on:
  push:
    branches: [ gh-actions-test ]

jobs:
  build:
    runs-on: ${{ matrix.os }}

    # Platforms to build on/for
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]

    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2

      - name: Install Node.js, NPM and Yarn
        uses: actions/setup-node@v1
        with:
          node-version: 14

      - name: Install dependencies
        run: yarn

      - name: Build Electron release
        run: yarn run electron:build


Routes Not Matching without Wildcard in Hono Framework

What version of Hono are you using?
4.4.6
What runtime/platform is your app running on?
Cloudflare Workers
What steps can reproduce the bug?

Define a route without a wildcard (e.g., "/") in the routing configuration of Hono.
Send a request to the defined route (e.g., POST, PUT "/").

What is the expected behavior?
Routes defined without wildcards (e.g., "/") should be matched and processed by their respective route handlers.
What do you see instead?
Requests to routes without wildcards (e.g., "/") result in a 404 Not Found error or do not match the expected route handler.
Additional information
Screenshots

"404 Not Found" PUT request without wildcard

Requesting from Postman

Successful PUT Request with Wildcard

Requesting with Postman and Getting Response

This is not a bug. Paths are finely differentiated.
e.g) /blog and /blog/ are different paths on default.
You can change strict mode to to work as you expect.
import { Hono } from 'hono'

const app = new Hono({ strict: false }) // <= here
const blog = app.basePath("/blog")

blog.get("/", (c) => c.text("blog"))

export default app

I was stuck on this for quite a while, wondering why it wasn't working as expected, so I raised the issue. Thanks for clearing that up and explaining, @ryuapp ! 👍


Updated homework_3.sql for completion of homework 3

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Completed homework_3.sql as instructed.
What did you learn from the changes you have made?
SQL commands.
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
No.
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
No.
How were these changes tested?
Verified by compare with raw data from original database.
A reference to a related issue in your repository (if applicable)
Not applicable.
Checklist

[x] I can confirm that my changes are working as intended

HW3 marked.


Fixed #12810 -- Added a check for clashing ManyToManyField.db_table names.

https://code.djangoproject.com/ticket/12810

It would be great to see a test with two models defining ManyToManyField with a clashing db_table to test that include_auto_created=True is passed to get_models().

Thanks for the review. I've now addressed all of your review comments.

It would be great to see a test with two models defining ManyToManyField with a clashing db_table to test that include_auto_created=True is passed to get_models().

Wouldn't such a test case be detected by fields.E303?

Wouldn't such a test case be detected by fields.E303?

Here's what I had in mind
class Foo(models.Model):
    pass

class Bar(models.Model):
    foos = models.ManyToManyField(Foo, db_table='clash')

class Baz(models.Model):
    foos = models.ManyToManyField(Foo, db_table='clash')

It would be great if the message pointed to the m2m field with the db_table clash instead of the auto-created intermediary model in this case. e.g. Field is using a table that has already been registered by app.Baz.foos

Another test for the initially reported case would be required. That is when the auto-generated table name clashes
class Foo(models.Model):
    class Meta:
        db_table = 'bar_foos'

class Bar(models.Model):
    # In this case the auto-generated `db_table` will be bar_foos
    foos = models.ManyToManyField(Foo)

    class Meta:
        db_table = 'bar'

Another test for the initially reported case would be required. That is when the auto-generated table name clashes

I think this is basically the same same as https://code.djangoproject.com/ticket/20098 right?

I think this is basically the same same as https://code.djangoproject.com/ticket/20098 right?

Both tickets are related but are dealing with different issues. #20098 is about model table clash. It's another can of worm as the error will need to be reported at the model level in this case and will need to make sure to special case unmanaged models (_meta.managed = False).
Auto-created intermediary table names are an implementation detail of ManyToManyField and should be reported as fields.E340 errors.

Thanks for the clarification, Simon. I think I've now addressed all of your comments.

LGTM

merged in 0bce2f102c5734d0c7ff1ebf0b10a316d58ed5ce, thanks!


TaxonomyPicker: Show an error message for an invalid/unresolved input (v1-release)

Q
A

Bug fix?
[ ]

Enhancement?
[x]

New feature?
[ ]

New sample?
[ ]

Related issues?
mentioned in #729

What's in this Pull Request?
Provides ability to optionally show an error message beneath the taxonomy picker control for any invalid input entered by the user. It basically fixes the issue reported in #728.
Recently, I've implemented this enhancement for v2 release (PR #729). Later on, I got a request from someone to also make this available in v1 release as well. So this PR is to include those changes in `v1 release.
Implementation Details
The input validation will happen based on newly introduced property named "validateInput" of type boolean.

If set to true, then an error message [Please fix invalid term(s)] will be shown for any invalid input.
If set to false or not defined, then it will continue to work as it works currently (i.e., no error message will be displayed).

Usage
Please refer to PR #729 for usage and other details.

Thank you @devangbhavsar89 for creating a PR for v1!

Thanks, @AJIXuMuK!
I'll close #728 issue now, as it should be fixed once the latest code is published.


Web E2E Test Setup

Coverage remained the same at 95.833% when pulling 4fd2218bb31f9f56c9b323565fa4dd3960460b7d on tests/e2e-pipeline-web into 6756580a4c3def827e9ed973aa2d1be977766b00 on master.

Coverage remained the same at 95.833% when pulling f96fdba348e0203d89e6b2666217576abe5eecb1 on tests/e2e-pipeline-web into 6756580a4c3def827e9ed973aa2d1be977766b00 on master.

Coverage remained the same at 95.833% when pulling 6452f0ffe110c8e6babc4d14a7e2186a3166bf21 on tests/e2e-pipeline-web into 6756580a4c3def827e9ed973aa2d1be977766b00 on master.

Coverage remained the same at 95.833% when pulling 7202ae2da5a2e7cd2c2ab52ca0860c243a8255fe on tests/e2e-pipeline-web into 6756580a4c3def827e9ed973aa2d1be977766b00 on master.


chore: remove leanpkg

It had a good run for something written/ported in a single week

The use-defined extensions, attribute, option, etc. tests/examples still seem useful, though, right? They just don't need to use Leanpkg.

Yeah, we should rewrite them using Lake


Separate CLI migration procedure per source provider

MTV 2.6
Resolves https://issues.redhat.com/browse/MTV-859 by writing a separate CLI migration procedure per source provider.
Previews:

VMware: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_vmware
RHV: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_rhv
OVA:https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_ova
OpenStack: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_ostack
OpenShift: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_cnv

@ahadas -- please ask the developer for each provider to review their section. There are a few "TBDs" where I need information.

@bennyz @bkhizgiy @liranr23 Please check the sections that are relevant for you.
@ahadas Please also review.

@bennyz @bkhizgiy @liranr23 I made the changes you suggested. Please review the providers you work with. I have also tagged you where I need information.

@bkhizgiy @ahadas  What should "TBD" in step 6, callout 9? https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_vmware ?

@ahadas  Please review VMware: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_vmware
RHV: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_rhv
OpenStack: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_ostack
OpenShift: https://file.emea.redhat.com/rhoch/experiment/html-single/#new-migrating-virtual-machines-cli_cnv
That is, everything but OVA, which I have one question on.

@RichardHoch From looking in the plan YAML it looks like it should be "Specify the OVA VM UUID."

@RichardHoch the OVA part looking good, thanks.

@ahadas I made the changes you suggested, so please review the PR again. The NetworkMap section was a bit tricky, so please check it carefully.

@ahadas I made the changes you suggested, Please review the PR again. There are a couple lines that are commented out for now, because we need to reformat an xref.

@RichardHoch that's better! added few more comments and there's an unresolved thread from last week
@ahadas  Thanks! re: the open issue -- that was line 47, which I think we should drop to keep the text "cleaner."  HOWEVER, if you think that the description you added is helpful to users, let me know, and I'll add it.

@ahadas Made all the changes you suggested. Please review this PR again.

@ahadas OK, got those last two. Hope that's it...


[Enhancement] Add Tri-linear logos at the top of the landing page.

Currently, the logo on the landing page looks like this -

Now the requirement is to add two more SVG, one for webpack and one for redux-saga at the left and the right of the react logo. Thus the name is Webpack-React-Saga. It should look similar to the below mockup (ignore the grey border around the mockup)-

Points to remember -

Size of other SVGs should match to the one already present. Check the CSS class 'logo'.
run npm test and all the test cases should pass.

Assing me ;)

Thank you for offering your valuable time. I have assigned it to you.

PR has been merged. Thanks once again. Looking forward to working with you again. If you enjoyed your time here, a ⭐ to the repo would be highly appreciated.