fix: use getenv() instead of $_SERVER in detectEnvironment()

Description
Update CodeIgniter.php to use getenv() instead of $_SERVER in detectEnvironment. The outcome of environment variables loading in either  $_SERVER or $_ENV depends on the operating system and web server. For instance, in a Docker environment the .env file loads variables in $_ENV, resulting in detectEnvironment() not seeing CI_ENVIRONMENT when defined. Using getenv() instead of directly reading from $_SERVER solves this issue.
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

in a Docker environment the .env file loads variables in $_ENV, resulting in detectEnvironment() not seeing CI_ENVIRONMENT when defined. Using getenv() instead of directly reading from $_SERVER solves this issue.

Can't reproduce.
I checked phpinfo() output in my Docker environment.

docker desktop 4.10.1

Engine: 20.10.17
Compose: v2.6.1

Environment
CI_ENVIRONMENT | development

PHP Variables
$_SERVER['CI_ENVIRONMENT'] | development
$_ENV['CI_ENVIRONMENT'] | development

If you have .env file, setVariable() sets $_SERVER[$name] if it is empty().
I don't know why your $_SERVER['CI_ENVIRONMENT'] is not set.
https://github.com/codeigniter4/CodeIgniter4/blob/d75e426a56e629a93a2fc8c9dc13520eb08b786f/system/Config/DotEnv.php#L89-L102

Yes @kenjis, that should be the case in the presence of a .env file, like when you COPY the file in the Dockerfile. But it's not the case when loading environment variables in other scenarios, like when using env_file in Docker Compose or in deployments without persistent date (no copying of .env files into containers). In my original comment I should have written "in a Docker environment the environment variables could load in $_ENV" and never in $_SERVER instead of explicitly calling out the .env file.

Okay, I got your situation. You don't use .env file and set environment variable only.
And your PHP does not set $_SERVER['CI_ENVIRONMENT']. Maybe not FastCGI API.
By the way, why do we use $_SERVER['CI_ENVIRONMENT']?
It comes from environment variable, so why don't we use $_ENV['CI_ENVIRONMENT']?

env() is slower than getenv().
$iterator->run(100000)

Test
Time
Memory

env()
0.3829
0 Bytes

getenv
0.3150
0 Bytes

It may be slower because it checks all available places ($_SERVER, $_ENV, getenv()). But in cases where putenv is disabled for security reason, wouldn't getenv return false even if CI_ENVIRONMENT is really set?

Disable putenv().

php.ini:
disable_functions = putenv

Remove .env file.

Make a controller.

class Home extends BaseController
{
    public function index()
    {
        return getenv('CI_ENVIRONMENT');
    }
}

Run local server with Environment Variable.

$ CI_ENVIRONMENT=development php spark serve

Navigate to http://localhost:8080/.

I see "development".

It seems there are three options:

use $_ENV
use $_ENV or getenv() (If $_ENV is not set, call getenv())
use env()

Oops, I reviewed before I saw this discussion. I'm fine with .07s performance hit if env() covers more possible scenarios, but if it adds nothing then going with the more barebones approach seems good. One other advantage of env() is that a developer could theoretically override it if they wanted to do some fancy loading of their own.

variables_order in php.ini-production is GPCS.
So if not in CGI or FastCGI, $_ENV is not populated by default.
Using only $_ENV seems not good.

; This directive determines which super global arrays are registered when PHP
; starts up. G,P,C,E & S are abbreviations for the following respective super
; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
; paid for the registration of these arrays and because ENV is not as commonly
; used as the others, ENV is not recommended on productions servers. You
; can still get access to the environment variables through getenv() should you
; need to.
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS";
; https://php.net/variables-order
variables_order = "GPCS"
https://github.com/php/php-src/blob/32d55f74229e7913db0d59ef874a401744479b6a/php.ini-production#L647

Warning
In both the CGI and FastCGI SAPIs, $_SERVER is also populated by values from the environment; S is always equivalent to ES regardless of the placement of E elsewhere in this directive.
https://www.php.net/manual/en/ini.core.php#ini.variables-order

@fcosrno Are you available to confirm that env() fixes your issue? If so please update this PR.
If we don't hear back today I will merge https://github.com/codeigniter4/CodeIgniter4/pull/6257#discussion_r919969434 and we can proceed with final review.

Yes, I can confirm env() fixes the issue.

💪


Can I run the code on a system with AMD GPUs?

Can I run the code on a system with AMD GPUs? Thanks!

Yes, give it a try.


Notification received on development, but not working on ad hoc ios10.

Expected Behaviour
Actual Behaviour
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Cordova CLI version and cordova platform version
cordova --version                                    # e.g. 6.0.0
cordova platform version android                     # e.g. 4.1.1

Plugin version
cordova plugin version | grep phonegap-plugin-push   # e.g. 1.8.2

Sample Push Data Payload
Sample Code that illustrates the problem
Logs taken while reproducing problem

Sorry to be a jerk but I'm now closing issues that don't follow the issue submission guidelines. This plugin takes a lot of work to maintain and I can't afford the time required to solicit the required info from everyone.
I'm closing this issue but please feel free to re-open the issue if you provide the requested details from the new issue submission guidelines.
https://github.com/phonegap/phonegap-plugin-push/blob/master/.github/ISSUE_TEMPLATE.md


In debug mode, if the network request fails, app will crash

This is a crash and cannot be solved by a hot restart. Can only be closed and re-run. Hope to be repaired by the tool.

@ggdream
Can you provide flutter doctor -v and a complete minimal reproducible code sample that shows the issue ?
Thanks.

@ggdream
Can you provide flutter doctor -v and a complete minimal reproducible code sample that shows the issue ?
Thanks.

Yes，I had tried it，and found that skip the breakpoint is working again only.
Thank for your reply.

@ggdream
Can you provide flutter doctor -v and a complete minimal reproducible code sample that shows the issue ?
Thanks.

Excuse me, I'm very sorry, ha ha.


[Feature]: Create Compat

Create compat adds 5 new materials:

Zinc
Andesite Alloy
Brass
Powdered Obsidian
Rose Quartz

Looks like were gonna needs some cherry picking and force pushing to get this branch back from the dead.

Closed in favour of the updated one.


could i auto-generate verilog code from  a AST.

Source:  (at 10)
Description:  (at 10)
ModuleDef: fsm (at 10)
Paramlist:  (at 0)
Portlist:  (at 10)
Port: clk, None (at 10)
Port: a, None (at 10)
Port: out1, None (at 10)
Port: out2, None (at 10)
Decl:  (at 11)
Input: clk, False (at 11)
Decl:  (at 12)
Input: a, False (at 12)
Decl:  (at 13)
Output: out1, False (at 13)
Decl:  (at 14)
Output: out2, False (at 14)
Decl:  (at 16)
Reg: state, False (at 16)
Width:  (at 16)
IntConst: 2 (at 16)
IntConst: 0 (at 16)
Decl:  (at 19)
Parameter: IDLE, False (at 20)
Rvalue:  (at 20)
IntConst: 3'b001 (at 20)
Width:  (at 19)
IntConst: 2 (at 19)
IntConst: 0 (at 19)
Parameter: STATE_1, False (at 20)
Rvalue:  (at 21)
IntConst: 3'b010 (at 21)
Width:  (at 19)
IntConst: 2 (at 19)
IntConst: 0 (at 19)
Parameter: FINAL, False (at 20)
Rvalue:  (at 22)
IntConst: 3'b100 (at 22)
Width:  (at 19)
IntConst: 2 (at 19)
IntConst: 0 (at 19)
Assign:  (at 25)
Lvalue:  (at 25)
Identifier: out1 (at 25)
Rvalue:  (at 25)
Eq:  (at 25)
Identifier: state (at 25)
Identifier: STATE_1 (at 25)
Assign:  (at 26)
Lvalue:  (at 26)
Identifier: out2 (at 26)
Rvalue:  (at 26)
Eq:  (at 26)
Identifier: state (at 26)
Identifier: FINAL (at 26)
Always:  (at 29)
SensList:  (at 29)
Sens: posedge (at 29)
Identifier: clk (at 29)
Block: None (at 29)
CaseStatement:  (at 30)
Identifier: state (at 30)
Case:  (at 31)
Identifier: IDLE (at 31)
IfStatement:  (at 32)
Identifier: a (at 32)
Block: None (at 32)
NonblockingSubstitution:  (at 33)
Lvalue:  (at 33)
Identifier: state (at 33)
Rvalue:  (at 33)
Identifier: STATE_1 (at 33)
Block: None (at 34)
NonblockingSubstitution:  (at 35)
Lvalue:  (at 35)
Identifier: state (at 35)
Rvalue:  (at 35)
Identifier: IDLE (at 35)
Case:  (at 37)
Identifier: STATE_1 (at 37)
IfStatement:  (at 38)
Identifier: a (at 38)
Block: None (at 38)
NonblockingSubstitution:  (at 39)
Lvalue:  (at 39)
Identifier: state (at 39)
Rvalue:  (at 39)
Identifier: FINAL (at 39)
Block: None (at 40)
NonblockingSubstitution:  (at 41)
Lvalue:  (at 41)
Identifier: state (at 41)
Rvalue:  (at 41)
Identifier: IDLE (at 41)
Case:  (at 43)
Identifier: FINAL (at 43)
IfStatement:  (at 44)
Identifier: a (at 44)
Block: None (at 44)
NonblockingSubstitution:  (at 45)
Lvalue:  (at 45)
Identifier: state (at 45)
Rvalue:  (at 45)
Identifier: FINAL (at 45)
Block: None (at 46)
NonblockingSubstitution:  (at 47)
Lvalue:  (at 47)
Identifier: state (at 47)
Rvalue:  (at 47)
Identifier: IDLE (at 47)
Case:  (at 49)
NonblockingSubstitution:  (at 50)
Lvalue:  (at 50)
Identifier: state (at 50)
Rvalue:  (at 50)
Identifier: IDLE (at 50)

You can generate Verilog HDL source code from an AST represented by Python objects.
See example https://github.com/PyHDI/Pyverilog/blob/develop/examples/example_ast_code.py


"An empty pipe element is not allowed" after curly braces

Environment
Windows build number: 10.0.18362.239
Windows Terminal version (if applicable): 0.3.2171.0

Any other software?

Steps to reproduce
Paste a multiline PowerShell cmd that has a pipe symbol after curly braces in a powershell terminal.
Example:
Get-Volume |
Where-Object {
	$_.DriveLetter.length -gt 0
} |
Select DriveLetter,Size

Expected behavior
The commands get executed. It works in regular PowerShell:
PS C:\Users\geschnei> Get-Volume |
>> Where-Object {
>> $_.DriveLetter.length -gt 0
>> } |
>> Select DriveLetter,Size

DriveLetter         Size
-----------         ----
          C<PHONE_NUMBER>64

Actual behavior
You get an error message:

At line:2 char:47                                                                                + Where-Object { $_.DriveLetter.length -gt 0 } |                                                                        +                                               ~                                                                       An empty pipe element is not allowed.                                                                                + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException                                       + FullyQualifiedErrorId : EmptyPipeElement

This is another manifestation of #1454

Sorry, I meant #1091.


Issue with Mongoid 5

Hi,
I switched to mongoid-autoinc due to an upgrade to mongoid 5.0.2 (was using proton/mongoid_auto_increment) before. Using this issue to thank everyone involved for providing an alternative that is well supported by newer versions of Mongoid 👍
Context
It's a rails 4.2.0 application. Here's what I specified in the Gemfile:
gem 'mongoid', '~> 5.0.0'
gem 'mongoid-autoinc', '~> 5.0.0'

The Gemfile.lock file after a bundle install has the following versions locked:
mongoid (5.0.2)
    activemodel (~> 4.0)
    mongo (~> 2.1)
    origin (~> 2.1)
    tzinfo (>= 0.3.37)
mongoid-autoinc (5.0.2)
    mongoid (~> 5.0)

Excerpt from the model:
class Page
  include Mongoid::Document
  include Mongoid::Autoinc
  ...SNIP...
  increments :_small_id, seed: 0

Error
The error I'm getting in the Rails logs is the following:
NameError (uninitialized constant Mongoid::Autoinc):
I am starting the server with bundle exec rails server and I did bundle install so I would expect Mongoid::Autoinc to be defined.

My bad, the documentation does specify the need for
require autoinc
I thought it was for standalone applications and wasn't needed for Rails. It is. Once I added it to my model, it worked fine. Closing this.


Explanation of error "Failed to find msg id"

Explanation of error "Failed to find msg id" as to why it is reported?  I am using simple-queue node in a Node Red flow, and it seems to be working fine, but once in a while this message shows up.

The message will be logged as soon as a message is send to the simple queue node which has the property "queue_msg_id" but the message id doesn't exists at the simple node anymore.
Most likely the reason for this error is that a message is send twice to the queue node.

Message sent twice, with identical payload for example?


Refactor wifi shell and samples

This PR relocates the wifi shell sample to samples/net/wifi/shell. This is done so that we can add more wifi samples to samples/net/wifi directory. One such sample can be found in samples/boards/espressif/wifi_apsta_mode directory. That sample is generic and can be used with other vendor wifi boards.
This is related to #80111

I think we could try to get this to 4.0 because this just relocates samples around and does not introduce any new functionality.

+1 to try to get this in for 4.0, it's great to see the consolation of multiple wifi samples

updated according to comments

WARNING: samples/net/wifi/boards/cc3220sf_launchxl.conf not found in zephyr at '/home/runner/work/zephyr/zephyr/doc/_build/src/boards/ti/cc3220sf_launchxl/doc/index.rst:216'
WARNING: samples/net/wifi/boards/cc3235sf_launchxl.conf not found in zephyr at '/home/runner/work/zephyr/zephyr/doc/_build/src/boards/ti/cc3235sf_launchxl/doc/index.rst:216'

this is #80530 in action -- sorry that this means you need another push, but I am glad this is now helping catch this kind of dead references, tbh :)
(you also have the compliance issue re: sorted lines in redirects.py but I'm sure you saw that).


AttributeError: 'ConfigDict' object has no attribute 'train_cfg' during custom dataset training

Hi i want to train mmdet on my custom dataset. so for the same i am trying this tutorial.(https://github.com/open-mmlab/mmdetection/blob/master/demo/MMDet_Tutorial.ipynb) But getting the error
/content/mmdetection/mmdet/datasets/custom.py:155: UserWarning: CustomDataset does not support filtering empty gt images.
'CustomDataset does not support filtering empty gt images.')
Please provide the solution.  Thanks
AttributeError                            Traceback (most recent call last)
 in ()
8
9 # Build the detector
---> 10 model = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
11 # Add an attribute for visualization convenience
12 model.CLASSES = datasets[0].CLASSES
1 frames
/usr/local/lib/python3.6/dist-packages/mmcv/utils/config.py in getattr(self, name)
41         else:
42             return value
---> 43         raise ex
44
45
AttributeError: 'ConfigDict' object has no attribute 'train_cfg'

Hi @surbhi1986, thank you for your feedback. This is because train_cfg has been moved to the model, we will fix this bug.  So far, you can replace
model = build_detector(     cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
with
model = build_detector(     cfg.model,     train_cfg=cfg.get('train_cfg'),     test_cfg=cfg.get('test_cfg'))

Thanks, the above has been solved.
But facing a new issue:
/content/mmdetection/mmdet/datasets/custom.py:155: UserWarning: CustomDataset does not support filtering empty gt images.
'CustomDataset does not support filtering empty gt images.')
2021-02-09 07:22:02,898 - mmdet - INFO - load model from: open-mmlab://detectron2/resnet50_caffe
2021-02-09 07:22:02,962 - mmdet - WARNING - The model and loaded state dict do not match exactly
unexpected key in source state_dict: conv1.bias

AssertionError                            Traceback (most recent call last)
 in ()
15 # Create work_dir
16 mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir))
---> 17 train_detector(model, datasets, cfg, distributed=False, validate=True)
2 frames
/usr/local/lib/python3.6/dist-packages/mmcv/runner/base_runner.py in register_lr_hook(self, lr_config)
348             return
349         elif isinstance(lr_config, dict):
--> 350             assert 'policy' in lr_config
351             policy_type = lr_config.pop('policy')
352             # If the type of policy is all in lower case, e.g., 'cyclic',
AssertionError:

This is because the original config is modified. You might need to rerun the cell that loads the config.

Thanks,

Now getting issue in saving the checkpoints in last epoch. Please resolve it. Thanks in advance
2021-02-10 10:33:09,276 - mmdet - INFO - Saving checkpoint at 12 epochs
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 12/12, 7.5 task/s, elapsed: 2s, ETA:     0s
---------------iou_thr: 0.5---------------
IndexError                                Traceback (most recent call last)
 in ()
15 # Create work_dir
16 mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir))
---> 17 train_detector(model, datasets, cfg, distributed=False, validate=True)
8 frames
/content/drive/My Drive/images_object/mmdetection/mmdet/core/evaluation/mean_ap.py in get_cls_results(det_results, annotations, class_id)
258         if ann.get('labels_ignore', None) is not None:
259             ignore_inds = ann['labels_ignore'] == class_id
--> 260             cls_gts_ignore.append(ann['bboxes_ignore'][ignore_inds, :])
261         else:
262             cls_gts_ignore.append(np.empty((0, 4), dtype=np.float32))
IndexError: boolean index did not match indexed array along dimension 0; dimension is 0 but corresponding boolean dimension is 26

This might because the number of classes in your head does not match those in the dataset, you may check that.

https://github.com/open-mmlab/mmdetection/blob/master/demo/MMDet_Tutorial.ipynb
i am running the tutorial and getting the following error:
2021-02-17 18:30:24,890 - mmdet - WARNING - The model and loaded state dict do not match exactly

unexpected key in source state_dict: conv1.bias

checkpoints/mask_rcnn_r50_caffe_fpn_mstrain-poly_3x_coco_bbox_mAP-0.408__segm_mAP-0.37_20200504_163245-42aa3d00.pth is not a checkpoint file

https://github.com/open-mmlab/mmdetection/blob/master/demo/MMDet_Tutorial.ipynb
i am running the tutorial and getting the following error:
2021-02-17 18:30:24,890 - mmdet - WARNING - The model and loaded state dict do not match exactly

unexpected key in source state_dict: conv1.bias

Please advise. Thank you

This is not an error. It is normal when using the resnet pre-trained model as the conv1.bais has been absorbed in the conv1.weight.

Hello everyone, how are you? I still have a question about the old error 'ConfigDict' object has no attribute 'train_cfg'. I modified my model = build_detector( cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg) to
model = build_detector( cfg.model, train_cfg=cfg.get('train_cfg'), test_cfg=cfg.get('test_cfg')), but I got a new error:
AttributeError: 'ConfigDict' object has no attribute 'log_level'
Could anyone provide a solution please?


Allow screen sleep while screensaver is active

If the screen saver is enabled, respect the "Prevent Screen Sleep" option, instead of preventing sleep regardless.
Explicitly close the screensaver once the device is woken up - so that a double-tap or lock-button press is enough to wake the wall panel fully.

Wallpanel app is meant to be  a dedicated application, it is to run fullscreen and in the foreground.  If you put the device to sleep, it stops functioning.  Adding this behavior breaks the main purpose of the application.   If you want your device to go to sleep, then this application is not the correct one to use due to its reliance on background services.   I appreciate your contribution but this is not a feature I want to add at this time.

Wallpanel app is meant to be  a dedicated application, it is to run fullscreen and in the foreground.  If you put the device to sleep, it stops functioning.  Adding this behavior breaks the main purpose of the application.   If you want your device to go to sleep, then this application is not the correct one to use due to its reliance on background services.   I appreciate your contribution but this is not a feature I want to add at this time.

I take your point, but this change doesn't stop you from preventing sleep. If you have the setting to prevent sleep enabled, it will still prevent sleep. If the user explicitly choses to not enable the "Prevent Sleep" option, then they wouldn't expect the screen saver to prevent sleep - Well, I know I didn't.
For me, the camera wake and mqtt stuff still works even after the device has turned the screen off. I want to get the screens to turn off overnight, for example, when motion in the rooms stops. Sure there are other ways to do this, but for me, I think this change is still useful.
But no worries if you don't want to incorporate the changes.

I take your point, but this change doesn't stop you from preventing sleep. If you have the setting to prevent sleep enabled, it will still prevent sleep. If the user explicitly choses to not enable the "Prevent Sleep" option, then they wouldn't expect the screen saver to prevent sleep - Well, I know I didn't.
For me, the camera wake and mqtt stuff still works even after the device has turned the screen off. I want to get the screens to turn off overnight, for example, when motion in the rooms stops. Sure there are other ways to do this, but for me, I think this change is still useful.
But no worries if you don't want to incorporate the changes.

It does, it changes the app behavior, it now requires users to explicitly say they want to prevent sleep, when that is actually a default behavior.  If you want this behavior, you can also use the Home Assistant companion app, which is built for mobile apps, not tablets.  It works through push notifications even when app is in background.  This app does not have that ability.  I do not want people using the app in the background because it breaks the functionality.  You have an edge case that you want to support but for me its not even a behavior the app should support.

It does, it changes the app behavior, it now requires users to explicitly say they want to prevent sleep, when that is actually a default behavior.  If you want this behavior, you can also use the Home Assistant companion app, which is built for mobile apps, not tablets.  It works through push notifications even when app is in background.  This app does not have that ability.  I do not want people using the app in the background because it breaks the functionality.  You have an edge case that you want to support but for me its not even a behavior the app should support.

That's fine, just trying to be clear about my thinking. I do understand you wouldn't want to change the behaviour of existing installs.
I will have some other (unrelated) changes coming down the pipe which I'll submit PRs for in case you want them. Unless you'd rather I stop?

That's fine, just trying to be clear about my thinking. I do understand you wouldn't want to change the behaviour of existing installs.
I will have some other (unrelated) changes coming down the pipe which I'll submit PRs for in case you want them. Unless you'd rather I stop?

Feel free to join the discord channel to discuss changes https://discord.com/invite/euh9J2d

Feel free to join the discord channel to discuss changes https://discord.com/invite/euh9J2d

This has been merged as it aligns well with expected behavior.

This has been merged as it aligns well with expected behavior.


refactor: allow project dir read access

Motivation
change fs_permission default from None to read project dir.
This will unblock getCode cheatcodes restrictions and is a reasonable default now that cheatcode access is closed off.
alternatively, we could change it from root to out dir instead?

Solution

sgtm, will adjust for out


Better documentation on editing/configuring dashdot variables

Describe the solution you'd like
Better documentation of when to use which variables, and how they translate in the frontend.
Additional context
Original (from #36):

For me it is (specially as Docker beginner) a little bit hard to understand how I can change the variables/configuration of dashdot in general. [...] It is also a little bit unclear to me in which order of magnitude I have to write the number of the storage size with DASHDOT_OVERRIDE_STORAGE_SIZE_[1-5] out .. Does dashdot accept just i.e. 128gb as value or do I have to write it out in megabyte/kilobyte/etc..?

Variables can be set via the environment. In docker, that is either done through the --env flag when using docker run, or with the environment: section when using a docker-compose yaml. Please check out the documentation for more infos on those options.
About the storage options:

The 1-5 means which drive you want to edit. Say you have a single drive, then you only need e.g. DASHDOT_OVERRIDE_STORAGE_SIZE_1
The size is given in byte, so you need to calculate it yourself (e.g. You want 100 GB, then you need to calculate 100 * 1024 * 1024 * 1024)


Provide truncate and fk_apply and fk_revert commands to lib.tasks.update_schema

Once we allow foreign keys to be added after the fact it should be much simpler to do stuff in parallel.
Also a bunch of the earlier ingestions make the assumption you want to nuke earlier data from the database, we can better facilitate that with a truncate operation.
Commands

[x] Add truncate command
[ ] Add fk_revert command
[ ] Add fk_apply command

Progress being made here
https://github.com/AKST/Australian-Address-Boundaries-Land-Property-Price-Database/blob/b8b96e4084742212f28506f14c2f631b5babce90/lib/tasks/update_schema_2.py#L18-L29


A wildcard in place of app name when using del, will delete everything in the directory.

First of all I wanted to say that I appreciate the project. Anyway, on to the issue.
Command: dbin del *
I personally use ~/.local/bin which dbin defaults to. I backed it up and purposefully ran the command
above as a test and it deleted everything, including dbin.
Even if I'd change the default for dbin, I don't believe a wildcard should delete everything. Instead
it should provide a warning and if people want to actually delete all content in the directory, they
should be prompted to do it manually.
Thank you.

dbin does not do that tho. Did you execute that command while in the $DBIN_INSTALL_DIR?

Unless a program explicitly handles the wildcard, what the shell will do is, pass every file & directory except '.' and '..' to the command being executed, some other programs may also be executed various times with the each file/directory as argument.
Here's proof of such behavior in a POSIX compliant shell (ash).


bandit 1.6.3 is getting picked up on python 2.7 installs

Describe the bug
When running using python 2.7, a pip install bandit picks up 1.6.3.
To Reproduce
$ docker run -it --rm -v $PWD:$PWD -w $PWD python:2.7-buster sh
# python -m pip install -U pip setuptools wheel
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting pip
  Downloading pip-20.3.1-py2.py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 3.2 MB/s
Collecting setuptools
  Downloading setuptools-44.1.1-py2.py3-none-any.whl (583 kB)
     |████████████████████████████████| 583 kB 15.2 MB/s
Collecting wheel
  Downloading wheel-0.36.1-py2.py3-none-any.whl (34 kB)
Installing collected packages: pip, setuptools, wheel
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
  Attempting uninstall: setuptools
    Found existing installation: setuptools 44.1.0
    Uninstalling setuptools-44.1.0:
      Successfully uninstalled setuptools-44.1.0
  Attempting uninstall: wheel
    Found existing installation: wheel 0.34.2
    Uninstalling wheel-0.34.2:
      Successfully uninstalled wheel-0.34.2
Successfully installed pip-20.3.1 setuptools-44.1.1 wheel-0.36.1
# python -m pip install bandit
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Collecting bandit
  Downloading bandit-1.6.3-py2.py3-none-any.whl (115 kB)
     |████████████████████████████████| 115 kB 3.9 MB/s
ERROR: Package 'bandit' requires a different Python: 2.7.18 not in '>=3.5'

It's been uploaded as a "universal wheel" which I think is the issue.
Expected behavior
An older version of bandit is picked up.

Yes, this has broken OpenStack CIs for Py2.7

See also https://github.com/PyCQA/bandit/issues/654. Not sure how amenable PyPI is to updating busted artifacts, but I also wouldn't want to force a return of py2 support. Unpublishing may be the least-bad option?

Agreed. Publish 1.6.4 as non-universal (or best yet, just publish 1.7.0 at least) and unpublish 1.6.3. That would help.

1.7.0 is published, but need to track down a PyPI user with Owner role to yank 1.6.3

1.6.3 yanked.  Thanks everyone


Randomised CSI image

CSI image no more in a fixed place. Able to change position randomly after every guess.

Amazing !


Support block storage volume v3 that should work with PowerVC 2.0

/cc @Prajyot-Parab @pravin-dsilva


Cargo build fails with error: no field named 'path' in union 'Build.LazyPath'

Issuing cargo clean && cargo build fails with an error that I am unsure of whether to report here or with the zig folks.
~/Documents/Projects/roc$ zig version
0.13.0
:~/Documents/Projects/roc$ rustc --version
rustc 1.77.2 (25ef9e3d8 2024-04-09)
~/Documents/Projects/roc$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
wsl -v
WSL version: <IP_ADDRESS>
Kernel version: <IP_ADDRESS>-2
WSLg version: 1.0.61
MSRDC version: 1.2.5326
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26091.1-240325-1447.ge-release
Windows version: 10.0.22631.4169
...
Compiling wasm-bindgen-shared v0.2.87
error: failed to run custom build command for roc_bitcode v0.0.1 (/mnt/c/Users/sunshine/Documents/Projects/roc/crates/compiler/builtins/bitcode)
Caused by:
process didn't exit successfully: /mnt/c/Users/sunshine/Documents/Projects/roc/target/debug/build/roc_bitcode-3c96ef726963ba2b/build-script-build (exit status: 1)
--- stdout
cargo:rerun-if-changed=build.rs
Compiling zig object object to: /mnt/c/Users/sunshine/Documents/Projects/roc/crates/compiler/builtins/bitcode/zig-out/builtins-host.o
--- stderr
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
zig build object -Drelease=true failed with:
/mnt/c/Users/sunshine/Documents/Projects/roc/crates/compiler/builtins/bitcode/build.zig:19:38: error: no field named 'path' in union 'Build.LazyPath'

/snap/zig/11625/lib/std/Build.zig:2171:22: note: union declared here

Hi @socialmediarefugee,
We're still on zig 0.11, an upgrade to 0.13 is in the works.


Feature request: 3D height tiles

Hi Baran, you've probably noticed too that Mapzen also offers 3D elevation data (https://mapzen.com/blog/elevation/). Wouldn't it be great if MapzenGo would use this (tiled) data too?

Hey Erik,
Yea that was in my to-do list but can't do much progress these days. This should be rather easy actually, especially if you don't need too much precision but the problem is, making it a plugin probably wont be enough as you'll have to snap everything on this bumped terrain now.
Solution is simple, we need something like a priority list or value for plugins. So that it'll run Elevation plugin first, ready the terrain and then building/road etc factory will be able to snap their objects on it.
I'm in a little rough spot at the moment. Lots of people are requesting new stuff and I'm still working on refactoring and refining the existing infrastructure.
this one sounds kinda fun though, I'll try to look into this soon ;)
oh and I just checked the api as well, it's extremely simple to use. Shouldn't take more than a few hours to implement it all.

I had a look at this last night, indeed it's technically a 10 minute work BUT it turns out query quota is quite low (2 request per second, no idea why they have this per second thing instead of per minutes or hours) so couldn't finish it.
It feels weird now. Do I implement a timer and batching system just to work around this silly limitation? Or maybe I should mail and ask Mapzen about this? That batching thing won't be easy really...
Anyway so I got that to work if you load one tile at a time but can't make it load mulitple tiles at the same time and it's quite useless without that.

Hi Baran, not sure if you are still working on it, but the limitation seems to have gone. Only bad thing is that it only supports zoom levels up to 15. I've tested the plugin, and it seems to be working, but I cannot see any effect? Any idea why?
Also, how would I go about clamping the other layers (buildings etc) to it?

@erikvullings
hey Erik! I think something's wrong with my notifications as I didn't get any for some other new issues here, just got this one now, damn ><
I haven't had any time to work on this for weeks now, I will come back and at least polish existing features as soon as possible though.
I think I remember it's capped at level 15 really, but cannot be sure now. Have you checked the documentation? Does it throw an exception at 15+ or simply returns lvl15 data?

At least good that you got this one :-)
Level 15 is probably the level for which they have world coverage, so that's why they limit it there (as documented). At higher zoom levels, you get a warning message (e.g. at 16):
<?xml version="1.0" encoding="UTF-8"?>
<Error>
NoSuchKey
<Message>The specified key does not exist.</Message>
<Key>terrarium/16/16841/10755.png</Key>
<RequestId>8E56125BBB751C41</RequestId>
<HostId>gNxAfPlKJiikfnC8i+abHjrM/mBBmFVARljN874tJQochFPSmWThfkcw002aX7Kq/cGVivYCf38=</HostId>
</Error>

I would be happy to help implement this, but unfortunately, I'm a Unity noob and don't know much about meshes, textures etc. yet. However, I'm keen to learn more.
In addition, I'm working on a local proxy, so we can inject Unity models or prefabs instead of the simple buildings that we currently see.

Not sure if I get that correctly but it's kinda silly that they pop "no such key" error for not supported levels or something.
Well this is a learning project for all of us really, so just give it a shot I say! I'll try to help as much as I can but I still can't find any time even to open the project these days :(


Search bar for Settings UI

When there's many global settings, it's useful to have a search bar (Windows Settings and other complex software packages feature this).
Another feature may auto-save for Settings. Windows Settings has this (more debatable).
### Tasks

maybe a separate search/filter bar would be helpful for keybindings window

I prefer to chose when to Save settings changes, please don't automatically do that!

💯 Settings search would be useful given the plethora of (well organized) tabs and nested configuration.
Use cases:

Finding where a setting is located
Discovering new settings
Linking to related, external settings (i.e. Cursor blink rate is in Keyboard Properties Windows control panel)

Ideas:

The settings schema has stellar descriptions/enums/etc so that could be an easy way to bootstrap search data:

i.e. https://raw.githubusercontent.com/microsoft/terminal/release-1.19/doc/cascadia/profiles.schema.json
I use this as a workaround to discover settings.


Add inheritance ordering checks

Merging after discussing internally. We think this covers enough compatibility with OpenZeppelin Contracts since it already imports the relevant contracts.

Here the relevant are governor. It is currently not imported :/

Yes. I added this to our 2025 wishlist


Having multiple mixItUps on the same page

In MixItUp v2.1.6, on line 34, target is hardcoded to be '.mix'
Is there a way to pass this target from the initiator call?
$('#portfolio-1-items').mixItUp(  pass_that_target_class_name_somehow_from_here );
I want to place 2 filter based implementations on the same page. I'm almost there, but when I click on the filter buttons on the 1st implementation, the 2nd ones' items also get filtered. That's not surprising cause both implementations have their div items coded to have the  'mix' class. I can change the mix class to something else but then the code would break due to line 34.
I thought, if I can make the implementation 1's class as mix-1 and the other one as mix-2, and for each, use
$('#portfolio-1-items').mixItUp( pass mix-1 here  );
$('#portfolio-2-items').mixItUp( pass mix-2 here);  respectively, it should work.
But is that possible?

Hello,
Yes it is possible and that is the correct approach. Please check out the configuration object documentation. The property you'll need is "selectors.target".

Actually just re-reading your question. The issue is not your target selectors, but both MixItUp instances binding to the same filter controls.
This codepen demonstrates how to approach this problem.
https://codepen.io/patrickkunka/pen/YyrmwM

Thank you Patrick for the demonstration. That will lead the way.
On Sat, Nov 5, 2016 at 12:55 AM, Patrick Kunka<EMAIL_ADDRESS>wrote:

Actually just re-reading your question. The issue is not your target
selectors, but both MixItUp instances binding to the same filter controls.
This codepen demonstrates how to approach this problem.
https://codepen.io/patrickkunka/pen/YyrmwM
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/patrickkunka/mixitup/issues/262#issuecomment-258567222,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD19J-MqeBmCg_dxfFgvJxlAWib4RgKAks5q67fggaJpZM4KqCgT
.

Hey, can you sign this petition? https://chn.ge/2OLbsRq
Thanks! - Karamete


Some stuff still comes out to the console even when debug is disabled.

console.log(body) (line 67 of main.js) is still being executed even with debug disabled.

Use kindred API instead.  Looks like author forgot about this repository.

K, thanks


docs(pubsub): WIP First draft of pubsub codelab.

This codelab isn't added to the sidebar index yet, so it's not visible.

Jinja says a site I linked doesn't exist. I'll try to use another.


Types are not working on Cypress 10 with TypeScript

I use e2e.ts with import 'cypress-real-events/support' and none of the IntelliSense functionalities work.
I noticed that your support.d.ts is also empty.
For example, you can check how cypress-wait-until built their type file as it works very well.

Did you upgraded to the latest version? Please double check your installed version of plug-in.

Yes all my packages are using thr latest versions

@nbouvrette , I had to add ///<reference types="cypress-real-events" /> to the top of support/index.d.ts in Cypress to get it to work. Hope that helps.

Oh yeah this can be a workaround, but when the types are correctly included with the module, they should be available automatically when the package is imported.


Why does operator enforce anti-affinity on masters?

Why does the operator enforces anti-affinity on etcd pods? Currently, only 1 etcd pod is allowed per master:
https://github.com/coreos/etcd-operator/blob/v0.5.0/pkg/util/k8sutil/pod_util.go#L91-L97
And if a master node dies, due to this anti-affinity constraint, no new pod is scheduled to healthy nodes:
https://github.com/coreos/etcd-operator/blob/v0.5.0/pkg/cluster/reconcile.go#L160-L168
We've seen a master go down in production and the cluster size go down from 3 -> 2. This means that although the quorum is still fine, the cluster is in a really precarious state. If another pod restarts or goes down, the entire K8s cluster will go down too.
I'm just wondering why this 1:1 mapping between master:pod exists, and whether it can be made configurable. I'd expect the etcd cluster size to remain constant while we work on getting the master back online (if this happens on the weekend, it could take days), and then in a perfect world, the operator reschedules the temporary pod back to the rebooted master.

I would love the have the functionality explained by @jamiehannaford

Putting two etcd on the same host introduces almost zero more resilience but much more overhead.
Allowing multiple etcd on the same host just makes your cluster looks more healthier, but not in reality. When one node dies, two etcd dies together anyway. Not something worth to do in my mind.

@xiang90 In the long-term I agree, but as a short-term stopgap I think it makes it a bit more robust than having a quorum of 2/3 until the master comes back online. I'm just trying to think if there's a way for the operator to respond to master downtime rather than just doing nothing.
For example, I notice in bootkube they use preferredDuringSchedulingIgnoredDuringExecution for the scheduler and CM, rather than requiredDuringSchedulingIgnoredDuringExecution. So it tries to enforce affinity, but when absolutely necessary, it allows colocation.

I'm just trying to think if there's a way for the operator to respond to master downtime rather than just doing nothing.

The correct thing to do is just to wait or remove the member. I cannot see the value of adding one more member to a node that already run etcd. It does not increase failure domain, and might introduce performance issues.

I'm in agreement with @jamiehannaford here. There are many ways that an etcd member can die. Host anti-affinity definitely helps avoid host failure. What about etcd member failures that don't have anything to do with the host though? What if someone accidentally deletes a Pod? What if there is an etcd bug that causes a crash? What if the kernel kills one process due to OOM? Having a full complement of etcd nodes is useful even if some of them are on the same host.
Best: 1 per host
Better: Full complement of N etcd members, even if some are on 1 host
OK: Degraded cluster due to missing member.

For non-self-hosted etcd, it is fine to colocate etcd pods.
For self-hosted etcd, it couldn't because etcd pods will fight for resources like "2379" ports, data dir. It needs a good way to handle discovery of these resources.

What about etcd member failures that don't have anything to do with the host though?

Then etcd will restart on that node. This has nothing to do with affinity as far as I can tell.

What if someone accidentally deletes a Pod?

same as above.

What if there is an etcd bug that causes a crash?

same as above.

What if the kernel kills one process due to OOM?

same as above.

Having a full complement of etcd nodes is useful even if some of them are on the same host.

Why? Nothing you said supports this. And I suggest you not to do this if you want etcd to run safe.

All of those things can happen as secondary failures. As primary failures, they aren't a problem, but as secondary failures after a node failure, they are fatal to the cluster.
Here's the trivial example:

3 members and 3 nodes, everything is healthy
node1 goes down, etcd now has 2 healthy members
node2 starts to run out of memory and the kernel kills etcd on node2

If the operator had opted to spin up a 3rd etcd member, the cluster would still be operational. Instead the cluster is now completely dead because it can't regain consensus to add any new members.

If the operator had opted to spin up a 3rd etcd member, the cluster would still be operational.

What prevents etcd from spinning up the 3rd member?
I guess I understand what you try to express, but still I feel these are weak arguments. Putting two etcd members on the same host does not increase failure domain that much. Again, the correct way to ensure availability is through enough failure domain and redundancy.
I do not think we should encourage people to "hide" failures. For self hosted etcd, putting two members on to the same host in production evn will not be supported any time soon.

The host anti-affinity prevents it. I think the key is that although it doesn't increase availability much, it pretty objectively increases it some. I think that exploring something like preferredDuringSchedulingIgnoredDuringExecution in combination with the operator actively moving Pods back to full anti-affinity when failed nodes come back (or are replaced) would be an improvement.

The host anti-affinity prevents it.

Why not have one more node setting there? Or why not run 5 nodes cluster if you want to prevent two concurrent failures?

To clarify, we'd like to improve what happens between master loss and eventual reboot. That is a manual process and can take days sometimes. Spinning up a brand new master might also not be possible immediately.
Ideally we could avoid a situation where a random pod failure after a master loss destroys a customer cluster. Colocation would help reduce that risk.
Again, I agree it's not an optimal long-term strategy, just a strategy to reduce complete disaster for clusters in an already bad state. Not all users of self-hosted etcd are going to have 5 masters. I assume 3 masters is the majority of users, so we should optimize for them too.

The number of nodes from N to N+2 doesn't change the fact that allowing for preferredDuringSchedulingIgnoredDuringExecution increases availability in the case of N/2 failures where at least 1 failure is not due to a host failure.

Just to throw another situation in the mix, if you are using zetcd operator (which then depends on this etcd operator) as a replacement for ZooKeeper in a Kafka cluster -- then in the event of power outage / datacenter outage you face potentially loosing ALL of your data stored in Kafka!
Without the state that is stored in etcd (through zetcd) then you would not be able to stand your cluster back up at all in a total failure situation, would even be very unlikely to retain a working kafka cluster with it's data if you have no outages in kafka nodes but you lost that precious quorum data that Kafka relies on to find out what topics there are, what partitions those topics have, who is the leader of that partition, what other brokers are replica's of that partition and (even more importantly) which brokers are In Sync Replica's (ISR's) for that topic partition. It also stores information about high and low watermarking (etc).
Quorum is not something you want to loose, in dozens of cases like i have detailed above for all sorts of applications/platforms it would quite literally mean severe data loss and/or massive outages -- It compounds the effect when such a scenario would mean tens of millions (or more) in fines from state and federal goverments for loosing data that contractually you cannot loose by contract and potentially facing millions in fines for every day that elapses with the system not being operational.
In saying all of this, i have a hell of allot of experience in development and devops and would be more than happy to contribute to this project if that is something you would be open to @xiang90

@pilsy
This issue has nothing to do with running etcd for applications atop k8s. And yes, we (the people behind etcd-operator and etcd are overlapped) are working on supporting Kafka with zetcd or adding etcd direct support into kafka.
@jamiehannaford If this issue keeps on causing confusion, I would suggest to change the title to selfhosted etcd to make it clear or just close it.

Closing due to lack of activity. @xiang90 made a lot of good points, don't think there's anything to be done here, at least for the operator given its design.


Turn traits and execution model modules inside out

A proposal for discussion.
Advantadges

Place for execution-model-independent type definitions

For example useful for SPI modes

Fits better with users who might think of peripheral first, then execution model. @Sh3Rm4n

Disadvantadges

Breaks every last embedded-hal-dependent code
Users may want to import several embedded_hal::xxx::blocking modules, for example, although there is no much reason to do so.
There might be confusion between embedded_hal::xxx::nb and embedded_hal::nb.

Open questions

Reexport execution-model-independent types in blocking/nb submodules?

Alternatives
Keep the structure as-is

r? @therealprof
(rust-highfive has picked a reviewer for you, use r? to override)

Even though this change might be quite disruptive, I really like this approach.
I imagine, normally when a user uses e-h they will first choose the interface they want to use (spi, serial, ...) and then they'll choose the implementation, whether it's blocking, nb based or async.
Sometimes, using mutliple implementations simulatiously could also happen. This change would make the use statements cleaner. Instead of
use emedded_hal::{
    nb::serial::Write,
    blocking::serial::Write,
};

it would be like this:
use emedded_hal::serial{
    nb::Write,
    blocking::Write,
};

@ryankurte Are you aware of this proposal? Any concerns? Otherwise we'd go ahead merge it.

it is an interesting exercise to consider alternative layouts and this change is neat that it creates an obvious space for common definitions, however, apart from that i'm not convinced there's a strong argument for this, or that the refactoring is a net improvement over the existing layout compared to say, adding a common module.
so i'm opposed to this as it seems to me to be substantial churn for predominantly a stylistic preference. while this is absolutely the time to make breaking changes, it does impact a bunch of downstream users, and i don't see that it makes anyone's e-h experience measurably or demonstrably better as justification for this.

Users may want to import several embedded_hal::xxx::blocking modules, for example, although there is no much reason to do so.

I imagine, normally when a user uses e-h they will first choose the interface they want to use (spi, serial, ...) and then they'll choose the implementation, whether it's blocking, nb based or async.

my experience is probably the opposite of the comments on this PR. ime you tend to import a whole pile of peripheral definitions when wiring things up, what you use is primarily defined by the runtime available to you, and it's unlikely (*, except for serial atm) one would choose to mix-and-match those from blocking/nb(/async).
there's also talk of feature-gating the upcoming async feature, which is totally doable either way but, much simpler with the current layout.

Even if this PR is not accepted, there will still be a lot of churn due to #278.
For the record, I do think that this refactor is a net improvement.


How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://github.com/swiszczoo/winpinator/releases
Publisher: swiszczoo
Package Name: Winpinator
Description:
Winpinator is an unofficial Windows port of Warpinator, rewritten from scratch in C++. It supports the gRPC based protocol of its Linux equivalent, as well as zeroconf/mDNS based service discovery. Due to the fact that Windows has a completely different filesystem, some Warpinator features have to be emulated, e.g. sending filesystem permissions along with the files.
Package Version: 0.1.0, 0.1.1, 0.1.2 (Latest)
Installer URL:
Latest (0.1.2)
https://github.com/swiszczoo/winpinator/releases/download/v0.1.2/winpinator_setup_0.1.2_x64.exe
https://github.com/swiszczoo/winpinator/releases/download/v0.1.2/winpinator_setup_0.1.2_x86.exe
Second Release (0.1.1)
https://github.com/swiszczoo/winpinator/releases/download/v0.1.1/winpinator_setup_0.1.1_x64.exe
https://github.com/swiszczoo/winpinator/releases/download/v0.1.1/winpinator_setup_0.1.1_x86.exe
First Release (0.1.0)
https://github.com/swiszczoo/winpinator/releases/download/v0.1.0/winpinator_setup_0.1.0_x64.exe
https://github.com/swiszczoo/winpinator/releases/download/v0.1.0/winpinator_setup_0.1.0_x86.exe

It look like wingetcreate failed! The manifests file is already exist. Can you try to check your winget again?
Wingetcreate failed with
We have detected that this package identifier already exists. If you intend to update an existing package, please use the update command.

Sometimes, it might not appear because you are not using the latest version.

Submitting only 0.1.0, 0.1.1. Due to 0.1.2 was exist.

Checking to see if anything was behind.

Just did not notice that after searching using the winget --search. Anyways, just submit the version 0.1.0 and 0.1.1.

The 2 PRs have been accepted and now been applied to the manifests. Closing this Issue now.


automatic update not working

Windows 7 x64
I downloaded and installed the x64 version of DNS Crypt.
the program working normally until an automatic update happens on startup:
start the program normally. the following messages appears:
downloading signature...
downloading installer...
starting the update...
the program stuck on the splash screen with "starting the update message".
in the log i see
2018-09-19 16:47:02.1472 LoaderViewModel System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at SimpleDnsCrypt.ViewModels.LoaderViewModel.d__8.MoveNext()

https://github.com/bitbeans/SimpleDnsCrypt#status
The automatic update in version 0.5.6 is faulty. An update to 0.5.8 must be done manually.


adjust generic field import statements for Django 1.8, fixes #234

Coverage increased (+0.03%) to 92.34% when pulling c9f93432e7eae06ac9e32daa82e4f88ce2b6c87d on bradford281:django18 into b6f096df3df2dd3b1a32b6c67a338443306e51d2 on justquick:master.

Coverage decreased (-0.15%) to 92.16% when pulling c9f93432e7eae06ac9e32daa82e4f88ce2b6c87d on bradford281:django18 into b6f096df3df2dd3b1a32b6c67a338443306e51d2 on justquick:master.

Coverage decreased (-0.15%) to 92.16% when pulling 0bce33748328e98ef285c06f7fcfedbc8f4dc1be on bradford281:django18 into b6f096df3df2dd3b1a32b6c67a338443306e51d2 on justquick:master.

Coverage decreased (-0.15%) to 92.16% when pulling 0bce33748328e98ef285c06f7fcfedbc8f4dc1be on bradford281:django18 into b6f096df3df2dd3b1a32b6c67a338443306e51d2 on justquick:master.

Coverage decreased (-0.15%) to 92.16% when pulling 0bce33748328e98ef285c06f7fcfedbc8f4dc1be on bradford281:django18 into b6f096df3df2dd3b1a32b6c67a338443306e51d2 on justquick:master.


New File doesn't work for Chinese path

Thank you for your rapid update for the version 1.2.1 of New File. However, after updating to version 1.2.2, I find that the command works in English folder path but doesn't work if there are Chinese characters in the path. Can you fix it?

Workflow name: New File
Workflow version: 1.2.2
Alfred version: 3.6.1
macOS version: 10.13.4
Command that failed: nf and nfo
Debugger output:

[2018-04-28 00:36:14][input.keyword] Processing output of 'utility.argument' with arg 'test.docx'
[2018-04-28 00:36:14][utility.argument] Processing output of 'action.script' with arg 'test.docx'
[2018-04-28 00:36:15][ERROR: action.script] touch: /Users/qfc/Documents/Phd/å¦æ¯ä¼è®®/test.docx: No such file or directory
[2018-04-28 00:36:15][action.script] Processing output of 'action.script' with arg ''

Sorry, but no. I’m not entirely sure what the issue is nor can I properly test it, so I can’t justify spending my free time on something almost no one will use.
But I will review a PR to fix the issue.


Enabling the Optimize FX Layer feature removes the Layer 0 of the FX Layer.

In the case of MMD world, Left Hand(Layer 1) and Right Hand(Layer 2) are disabled in order from the top to prevent expressions from being mixed by the controller.
However, if you use the Optimize FX Layer function, the empty layer at the top of the FX layer is removed.
Judging from the fact that it is removed even when other animations are added, I think it is set to remove Layer 0 unconditionally.(maybe)
In general situations, there is no problem, but in certain worlds like MMD, I think manipulation according to the layer order can have an impact.
When testing, if you dance in the MMD world with an avatar with Layer 0 removed, the Weight of Left Hand(originally Layer 1) is not set to 0 in the debug window, but the Right Hand(originally Layer 2) and the layers below it are set to Weight 0.
It may be better to not remove Layer 0 at all, or to add a toggle such as MMD compatibility and it so that Layer 0 is not removed when checked.

I want to comment as a workaround: having a valid animation like a reset animation in the base layer will prevent this, or using VRCFury, which puts a valid animation inside the base layer.

So if I read this right, I need to not touch (no merging, no deleting) the first 3 layers in FX for MMD compatibility?
If so I'll just add that to Keep MMD Blend Shapes and rename it to MMD Compatibility

That would be better.
Since Left Hand / Right Hand have VRC Animator Tracking Control, it is highly likely that they will not be merged anyway.
Therefore, it seems better not to merge or delete layers 0, 1, and 2 of the FX layer.
However, since there are definitely users who do not visit the MMD world and have a large number of layers, and want to reduce the number of layers by one to improve performance, I would like to suggest that rather than integrating with the Keep MMD Blend Shapes option, enable the MMD compatibility option to allow two settings to be selected.

What use case is there to keeping MMD blendshapes when not going to MMD worlds?
In general I don't like to have too many options and to me it seems you either wan MMD compatibility or not.


Interest based retention holds messages when there are no interest

Given an INTEREST based stream with no consumers:
{
  "config": {
    "name": "INTEREST",
    "subjects": [
      "js.in.interest"
    ],
    "retention": "interest",
    "max_consumers": -1,
    "max_msgs": -1,
    "max_bytes": -1,
    "max_age": 0,
    "max_msg_size": -1,
    "storage": "file",
    "discard": "old",
    "num_replicas": 1,
    "duplicate_window":<PHONE_NUMBER>00
  },
  "state": {
    "messages": 0,
    "bytes": 0,
    "first_seq": 0,
    "first_ts": "0001-01-01T00:00:00Z",
    "last_seq": 0,
    "last_ts": "0001-01-01T00:00:00Z",
    "consumer_count": 0
  }
}

I'd expect no messages to be kept in the stream - there's no interest. Publishing to the stream does retain the messages though and if I add a consumer later they are delivered.
  "state": {
    "messages": 3,
    "bytes": 135,
    "first_seq": 1,
    "first_ts": "2020-08-28T09:44:26.405034021Z",
    "last_seq": 3,
    "last_ts": "2020-08-28T09:44:27.79652116Z",
    "consumer_count": 0
  }

First reported in https://github.com/nats-io/jetstream/issues/312 by @jon-whit

What do you think about this? Seems to me interest based should not be keeping any messages when no consumers exist?

@ripienaar just my two cents.. The current documentation leads developers to believe that if the Retention Policy is interest based, then the messages will not be kept unless there is an active consumer.
So either the documentation needs to change, or the behavior needs to match the documentation.

Yes, this issue is to either fix the bug or figure out what the intended behaviour is so we can fix the docs :)

This sounds like a bug, will fix.

I was doing some testing for #351 and noticed the messages are again/still retained:
{
  "config": {
    "name": "interest",
    "subjects": [
      "js.interest"
    ],
    "retention": "interest",
    "max_consumers": -1,
    "max_msgs": -1,
    "max_bytes": -1,
    "max_age": 0,
    "max_msg_size": -1,
    "storage": "file",
    "discard": "old",
    "num_replicas": 1,
    "duplicate_window":<PHONE_NUMBER>00
  },
  "state": {
    "messages": 17804,
    "bytes": 9845612,
    "first_seq": 182197,
    "first_ts": "1970-01-01T00:00:00Z",
    "last_seq": 200000,
    "last_ts": "2020-10-22T14:57:32.423686606Z",
    "consumer_count": 0
  }
}

no consumers, messages are kept.

How were the messages loaded into the stream?

resolved


Fancyzones seems to forget custom layouts on wake

Microsoft PowerToys version
0.55.2
Running as admin

[ ] Yes

Area(s) with issue?
FancyZones, FancyZones Editor
Steps to reproduce
Sleep PC, resume - monitors pick a default layout and don't want to switch back to custom layout, needs a reboot to recover.
✔ Expected Behavior
Custom layouts to work after restore.
❌ Actual Behavior
Picks "focus grid" and sets all windows to it, entering editor and trying to reset is completely ignored.  On a portrait monitor setup the focus grid is virtually unusable.
Other Software
No response

Could you attach a full bug report file?
Right-click on the tray icon and click Report Bug. Then drag-and-drop the generated file into the GitHub comment to upload it. Thanks!

/needinfo

I've been seeing this issue as well. Triple monitor setup with a Dell Precision 5550 and TB16 dock.

PowerToysReport_2022-02-17-16-13-07.zip

Thank you for reporting! It's a duplicate of https://github.com/microsoft/PowerToys/issues/16370. Let's centralize the discussion thread there.


Solutions header fix for css

Issue
Fixes:
Description

Issue with the solution header on desktop.

Test URLs

Before: https://www.merative.com/campaigns/curam/finland
After: https://issue-965--merative2--hlxsites.hlx.page/campaigns/curam/finland

URL for testing:

https://issue-965--merative2--hlxsites.hlx.page/campaigns/curam/finland

Test Description

Fixed the header layout issue, and it does not impact other headers.

Happy to state that we finally have access back!


azc content recommendations?

          Are there any recommendations on the type of data to include or not include in `azc`? Or is it up to the individuals to encrypt if there is any sensitive data in it?

Originally posted by @naveencm4u1 in https://github.com/SGNL-ai/transaction-tokens/pull/29#discussion_r1296765403

I feel some of this information (requester, source IP, device ID) may be more interesting from an offline analysis point of view, rather than the transaction processing point of view. If so, the TraT service should just log this information instead of putting it into the TraT in order to prevent token bloat. If it is needed for transaction processing, it can always be included in the azc field.

So for me, a minimum set is...
Requesting Entity (GW, Application, etc)
Purpose of the transaction (to allow for "downscoping")
Subject of the transaction (user/machine id)
I do think that preserving other context of the transaction is useful from any risk engine that might be used by a downstream workload. But maybe we can separate that out.
{
'iss'
...
'azc'
'cxt' /* OPTIONAL: context of the transaction /
'azd' / OPTIONAL: Authorization details */
}
The 'azd' claim would allow for the additional information like what can be provided in RAR.
The 'cxt' claim would allow for capturing other contextual details of the transaction. As optional, it can be left out to reduce token bloat.

Sounds reasonable. We have the subject sub_id claim. Should we add a sub-container or just have specific fields for the originator and purpose claims?

It would be good to show how, in a replacement txn-token, the identity of the previous sub_id is preserved. The replacement token may have a new sub_id that represent the workload that requested the replacement token.

Closed in PR #43


panic when rabbitmq connection closed

Codecov Report

Merging #128 into develop will increase coverage by 0.92%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           develop     #128      +/-   ##
===========================================
+ Coverage    34.22%   35.14%   +0.92%
===========================================
  Files          148      148
  Lines        26130    26202      +72
===========================================
+ Hits          8942     9208     +266
+ Misses       17188    16994     -194

Impacted Files
Coverage Δ

pubsub_rabbitmq/src/lib.rs
1.47% <0%> (-0.12%)
:arrow_down:

rlp_derive/src/de.rs
20.28% <0%> (+20.28%)
:arrow_up:

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 9a8a297...b7e2a91. Read the comment docs.


simple question | documentation of known text-* classes

I see that there are classes like text-info and text-primary and text-neutral which I see in full.css.
Is there documentation on this typography? the docs seem to just link to @tailwind/typography docs and I believe has custom typography that can be used and helpful.
Thank you!

text-[COLOR] or bg-[COLOR] etc. are Tailwind CSS utility classes for colors and Tailwind generates these class names for all colors.
daisyUI adds additional color names to Tailwind CSS.
So every daisyUI color name are available for all Tailwind CSS color class names.
@tailwindcss/typography is a different topic.  It's a plugin that adds some basic style like font size, weight, colors, etc.
Let me know if you have any questions.

Thank you @saadeghi !
I was also referring to some classes I have seen like text-neutral-content and others similar.
They are in full.css but no documentation I believe?


Java: Implement Example36_MultiCompletions in Java SK

This example is the same as Example44_MultiChatCompletion

Closing since we won't do this, duplication of functionality found in Example 44.