[Android] Idea for handle_input() in CNFGEGLDriver.c

Hello,
When you press shift on for instance the GBoard virtual keyboard, it inserts a semicolon.
Looking at CNFGEGLDriver.c, it's because:

Semicolon has code 74 and unicode 59.
Shift has code 59 and unicode 0.

In both cases HandleKey receives 59.
Another conflict I found is with 'C' and backspace. Hacker Keyboard shows there's technically more, but they aren't used on Android (e.g. home/end, pgup/pgdn, alt + key, ctrl + key, num lock, scroll lock).
Defining ANDROID_USE_SCANCODES loses the information in event and gets too messy with having to maintain the state of the keyboard yourself. For instance Hacker Keyboard has Caps Lock if you press shift twice (so the graphics are all Caps), but GBoard does not.
 It always sends a two events with a 0 and then a 1 for bDown.
Or that handle_input() added exceptions for these conflicts (at least for shift and backspace).

Hey! I'm sorry I haven't been able to get back to this.  I'm not exactly sure of the right solution here, but I would love to have this solved. Do you see any downsides with adding this?  I guess I'm not sure which situations it won't get input.
It's not like we could detect a down and up input both anyway, right?

Hi, yes there might be an issue with physical keyboards. I can try asking around if I can borrow a bluetooth keyboard somewhere. Or do you have one?
But I also now realize that in the current code the order in which the two bDown are sent determines whether the keycode was from a unicode conversion or not. When the key doesn't have a unicode equivalent the order of the bDown is 1 -> 0. If there is a unicode equivalent it is 0 -> 1.
But I do think it's a bit cumbersome to work with that.
With both up and down inputs do you mean with a modifier? I tried a lot of combinations, but it seems to be either

Shift with bDown 1
Key with bDown 0
Key with bDown 1
Shift with bDown 0

(Hacker Keyboard does this. Same for CTRL + key or pressing for instance tilde directly)
or

Shift with bDown 1
Shift with bDown 0
Key with bDown 0
Key with bDown 1

(GBoard does this)
BTW I'm currently making a todo / shopping list:

I do have a USB keyboard and otg adapter, hut not sure what I'd need to do

@dreua
Can you add this line to CNFGEGLDriver.c:
int unicode = AndroidGetUnicodeChar( code, AMotionEvent_getMetaState( event ) ); // Line 399
printf("PROKTEST: code:%d, unicode:%d, action:%d\n", code, unicode, AKeyEvent_getAction(event));
if( unicode ) // Line 400

I suppose you don't need AndroidDisplayKeyboard(1);
Then with adb logcat | grep PROKTEST, if you press Shift + a it might give the shift key and a capital A (like the virtual keyboard) in this case the bDown and modifier isn't actually needed because the unicode that gets sent already has all the information:
(example hacker keyboard)
PROKTEST: code:59, unicode:0, action:0
PROKTEST: code:29, unicode:65, action:0
PROKTEST: code:29, unicode:65, action:1
PROKTEST: code:59, unicode:0, action:1

(example GBoard)
PROKTEST: code:59, unicode:0, action:0
PROKTEST: code:59, unicode:0, action:1
PROKTEST: code:29, unicode:65, action:0
PROKTEST: code:29, unicode:65, action:1

or a lower case a (like Windows and Linux):
PROKTEST: code:59(?) unicode:0, action:1
PROKTEST: code:(??), unicode:97, action:1
PROKTEST: code:(??), unicode:97, action:0
PROKTEST: code:59(?), unicode:0, action:0

And either way, I'll try whether the current method is sufficient and works for what I can test. So it will use a buffer that says to ignore the next keycode/bDown pair.

Using a buffer which ignores duplicate keys on Android seems to work all right. But the solution is a bit quirky and I suppose it is what an app is then required to do if it has text entry.
Here is the code I used. NB it uses an ignore_buffer which can grow, but doesn't shrink. Because it's silly to make it go above what you normally use and even then I can't get it above size 5 in Hacker Keyboard (CTRL + SHIFT + ALT + "4 diamonds" + A) and not above size 1 in GBoard.
void HandleKey(int keycode, int bDown) {
	# ifdef	ANDROID
		static int * ignore_buffer;
		static int ignore_buffer_size;
		int found = 0;
		for (int i=0; i<ignore_buffer_size; i++) {
			if (keycode == ignore_buffer[i]) {
				ignore_buffer[i] = 0;
				found = 1;
				break;
			}
		}
		if (! found) {
			int assigned = 0;
			for (int i=0; i<ignore_buffer_size; i++) {
				if (ignore_buffer[i] == 0) {
					ignore_buffer[i] = keycode;
					assigned = 1;
					break;
				}
			}
			if (! assigned) {
				ignore_buffer_size++;
				ignore_buffer = realloc(ignore_buffer, ignore_buffer_size * sizeof(int));
				ignore_buffer[ignore_buffer_size -1] = keycode;
			}
		} else {
			return;
		}
		if (keycode == 59 && bDown) return; // Ignore shift key
		if (keycode == 'C' && bDown) keycode = '\b'; // Backspace
		key = keycode;
	# else
		/* Windows, Linux code */
	# endif
}

This looks good to me - if you are interested in committing it.  One question, though.  How is ignore_buffer populated?  It looks like it would corrupt the static area. @Procyon3


Hello，I encountered a problem during the implementation process and would like to consult with you

Traceback (most recent call last):
File "/home/hcao/Hyperformer-main/main.py", line 777, in
processor.start()
File "/home/hcao/Hyperformer-main/main.py", line 756, in start
self.eval(epoch=0, save_score=self.arg.save_score, loader_name=['test'], wrong_file=wf, result_file=rf)
File "/home/hcao/Hyperformer-main/main.py", line 573, in eval
output, z = self.model(data, F.one_hot(label, num_classes=self.model.module.num_class))
^^^^^^^^^^^^^^^^^
File "/home/hcao/.conda/envs/Hyperformer/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1614, in getattr
raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'Model' object has no attribute 'module'. Did you mean: 'modules'?

Hi,
I this is because you are using a single GPU and in this case you could simply access the attribute using "self.model.num_class" instead of "self.model.module.num_class". The latter is for the case when your model is wrapped by nn.Parallel module.


Semantic Segmentation: different MRI slice in the reference and predicition picture

The sMRI slices in reference and prediction of the semantic segmentation spinal MRI "picture" seems not to be the exact same slice.

@MarcelRosier this also affects the tutorials :)


Remove Parachain ID Parameter

Due to https://github.com/paritytech/cumulus/pull/739 polkadot-launch isn't able to launch collators properly since it makes use of the --parachain-id flag. We should update the tool accordingly.

bummer. I will make a note in the tutorial, and watch for this yo be resolved to re introduce using thus great tool.

Currently the polkadot-launch config.json parachains id values are overridden by this line in cumulus:
1000.into(),

this makes it challenging to have polkadot-launch spin off multiple parachains with different ids.
Any ideas on best course of action?

So, the id that you specify in the config file for polkadot-launch is the one that will be reserved in the relay chain an for which the state and wasm of the para will be registered, and only that.
The paraId on the state of the para will be defined by whatever exits on the chain_spec that para is running. What you have linked in your comment is  the genesis config where you can see the value 1000 being set as the paraId in the state of the para.
On the topic of the issue itself, current master branch of polkadot-launch doesn't add --para-id flag when running the collators.


Encountering duplicate models

Describe the bug
If the same schema is referenced in one or more places we will encounter duplicate models when we shouldn't.
Given the following schema:
{
  "type": "object",
  "$id": "ServerVariables",
  "properties": {
    "temp1": {
      "$ref": "#/definitions/ServerVariable"
    },
    "temp2": {
      "$ref": "#/definitions/ServerVariable"
    }
  },
  "definitions": {
    "ServerVariable": {
      "type": "object",
      "description": "An object representing a Server Variable for server URL template substitution.",
      "additionalProperties": false,
      "properties": {
        "enum": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        }
      }
    }
  }
}

Two models will be present, temp1 and temp2.
Related to https://github.com/asyncapi/modelina/issues/232 as solving that issue partly solves this.

Still relevant.

Closing as https://github.com/asyncapi/modelina/issues/232 solves this issue.


I want to do a PR, but I would like to read your opinion

I just wrote, a function that Toggle Netrw works under the logic of a single instance of Netrw shared between all tabs.
I would make myself very happy if you prove this code block and if you like:
-- Toggle Netrw
local netrw_info = {
  bufid = -1,
  winid = -1,
  before_wind_id = -1,
  hidden = false,
}

local function show_netrw(wind_id)
  netrw_info.before_wind_id = wind_id
  if netrw_info.bufid == -1 then
    vim.cmd [[silent Lexplore]]
  else
    vim.cmd("topleft" .. vim.g.netrw_winsize + 15 .. " vs new | buffer " .. netrw_info.bufid)
  end
  netrw_info.hidden = false
  netrw_info.bufid = vim.api.nvim_buf_get_number(0)
  netrw_info.winid = vim.api.nvim_get_current_win()
end

local function toggle_netrw()
  local buf_exist = vim.api.nvim_buf_is_valid(netrw_info.bufid)
  local current_wind_id = vim.api.nvim_get_current_win()
  if buf_exist then
    if netrw_info.hidden then
      show_netrw(current_wind_id)
    else
      vim.fn.win_gotoid(netrw_info.winid)
      vim.cmd ":hide"
      netrw_info.hidden = true
      if current_wind_id ~= netrw_info.before_wind_id and current_wind_id ~= netrw_info.winid then
        vim.fn.win_gotoid(current_wind_id)
        show_netrw(current_wind_id)
      end
    end
  else
    show_netrw(current_wind_id)
  end
end

local M = {}
function M.setup()
  vim.cmd[[hi! link netrwMarkFile Search]]
  vim.api.nvim_create_autocmd("FileType", {
    pattern = "netrw",
    callback = function()
      vim.opt_local.bufhidden = "hide"
    end,
  })

  vim.g.netrw_keepdir = 0
  vim.g.netrw_liststyle = 3
  vim.g.netrw_list_hide = [[.*\.swp$,.DS_Store,*/tmp/*,*.so,*.swp,*.zip,*.git,^\.\.\=/\=$]]
  vim.g.netrw_banner = 0
  vim.g.netrw_browse_split = 3
  vim.g.netrw_winsize = 15
  vim.g.netrw_localcopydircmd = "cp -r"

  require("netrw").setup {
    use_devicons = true,
  }

  vim.keymap.set("n", "<leader><leader>", toggle_netrw) -- open explorer in vertical split
end

return M

Hello again @CRAG666 !
Thanks for sharing this code block; I am happy to see that netrw.nvim inspires other people. The current implementation is non-intrusive and allows the users to spin up the file browser the way they prefer. I like to use vim-vinegar to spin the explorer up; others may choose your proposition. That's why I think it would be better to introduce that functionality in a separate plugin.


The Worker Node becomes NotReady intermittently due to CPU reaching 100%

Platform
VMware vSphere 7.0.3
Describe the bug

This issue occurs multiple times across various platforms. The occurrence of the fault is unpredictable and typically happens once every few months. Even in newly installed clusters without any additional user Pods running, such faults can occur.
The Pods running on the node are in a terminating state, and they cannot complete the termination process and be deleted automatically.
Following the occurrence of the fault, upon checking in the vCenter interface, it is observed that the CPU utilization of the affected VM is close to 100%. Subsequently, network connectivity is lost, and the VM's IP address is is lost. After restarting the VM, it sometimes immediately transitions to a "ready" status, while at other times, it may take a significant amount of time to become "ready" (e.g., several hours).

Version

UPI installed: 4.9.0-0.okd-2022-01-29-035536
IPI installed： 4.9.0-0.okd-2021-11-28-035710
UPI installed： 4.10.0-0.okd-2022-03-07-131213
How reproducible

The fault appears intermittently and is difficult to reproduce manually.
Log bundle

https://drive.google.com/file/d/1rkYW_rtUdLmul7ese10n_kbPmOxbex3E/view?usp=drive_link

Is it reproducible on 4.13 or 4.12?

@vrutkovs I'm not sure because we haven't upgraded to 4.13 or 4.12 yet. Do you know if earlier versions had this bug?

It should be different because there are no additional cron jobs running in my cluster.

The 100% CPU load is caused by the kubelet process, and this is quite similar.

Right, that's a dupe most likely


++(full video!!)*Johnny Manziel Josie Canseco bathtub Video Link Leaked Johnny Manziel Josie Canseco bathtub Viral On Social Media X Trending

47 seconds ago
Watch 🟢 ➤ ➤ ➤ 🌐 Click Here To link (Full Viral Video Link)
🔴 ➤►DOWNLOAD👉👉 (Full Viral Video Link)
Watch 🟢 ➤ ➤ ➤ 🌐 Click Here To link (Full Viral Video Link)
🔴 ➤►DOWNLOAD👉👉 (Full Viral Video Link)
L𝚎aked Video Johnny Manziel Josie Canseco bathtub Original Video Viral Video L𝚎aked on X Twitter Telegram
Johnny Manziel Josie Canseco bathtub Private MMS Video Leak
..
[-wATCH-]— Johnny Manziel Josie Canseco bathtub Video Original Video Link Johnny Manziel Josie Canseco bathtub Video Viral On Social Media X Trending Now
[-wATCH-]— Johnny Manziel Josie Canseco bathtub ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Johnny Manziel Josie Canseco bathtub ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Johnny Manziel Josie Canseco bathtub Video Original Video Link Johnny Manziel Josie Canseco bathtub Video Viral On Social Media X Trending Now
Johnny Manziel Josie Canseco bathtub Original Video video took the internet by storm and amazed viewers on various social media platforms. Johnny Manziel Josie Canseco bathtub , a young and talented digital creator, recently became famous thanks to this interesting video.
L𝚎aked Video Johnny Manziel Josie Canseco bathtub Original Video Viral Video L𝚎aked on X Twitter
Johnny Manziel Josie Canseco bathtub Original Video video oficial twitter
L𝚎aked Video Johnny Manziel Josie Canseco bathtub Original Video Viral Video L𝚎aked on X Twitter..

Johnny Manziel Josie Canseco bathtub Original Video video took the internet by storm and amazed viewers on various social media platforms. Johnny Manziel Josie Canseco bathtub , a young and talented digital creator, recently became famous thanks to this interesting video.


Updating docs

@tbielawa This one's for you.
I admit the docs are a little confusing now because we have both containerized and non-containerized doozer. But I've left as much of both in there as I can since they are both required.
Will probably take another pass at this once take the plunge to only support containerized doozer.

I like docs


Error: Couldn't launch the stream

Hi, I seem to be having issues with the livestreamer-gui on my 32-bit Ubuntu. Streams load fine via command line livestreamer, but when I try to use the gui, I get:
Error: Couldn't launch the stream
usage: livestreamer [OPTIONS] [URL] [STREAM]

I've (at least I think) pointed to the correct livestreamer executable location (/usr/bin/livestreamer), which is currently version 1.11.1, but now I'm more or less stuck on what to do next.
Thanks for your help in advance!

#90 #78

Oh wow, I completely missed #78. It is odd that the Ubuntu repositories are out-dated.
Thanks for the quick response!


add extension icon

The GlassIt extension works great 🥇, but it doesn't have an icon, so 🤔 I created one. I hope you like it
This is how it looks in the marketplace:

and this is the icon:

LGTM
Thank you very much


Dropped theme support (task #6856)

Dropped theme support for pre-login pages.

Codecov Report

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

@@            Coverage Diff            @@
##             master     #604   +/-   ##
=========================================
  Coverage     33.35%   33.35%
  Complexity     1102     1102
=========================================
  Files            99       99
  Lines          3712     3712
=========================================
  Hits           1238     1238
  Misses         2474     2474

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 98a6d9a...c1b6f7c. Read the comment docs.


added a game

PR Description 📜
I have added a game related to music beats where you can play music using clicking on instruments or by pressing keyboard keys.
Fixes # 1052
Mark the task you have completed ✅

[ ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @cleveranu ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @cleveranu,
Please make sure to link the relevant issue using the appropriate syntax, such as "#issueNumber" 👀.
Follow the proper guideline and make a new PR again 😀.
Happy Hacking 💗

Thank you  @cleveranu , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀

Please @kunjgit add GsSOC '23 label

@kunjgit you haven't merged my request


Add examples of table rows to the prompt used by the runs page query generator

So that Claude 3.5 Sonnet has some idea of what these tables contain.
Another way to solve this is to add comments to more bits of schema.sql, which Claude can read.

I there an issue where table rows might be too secret to send Claude?

Yes, we'd need to be careful about what we put in the prompt.
TBC I'm not suggesting sending real data, but made-up data.

I see
Any chance Claude messes up ~3 specific rows and we can make examples just for those?

Seems possible! IDK which columns those would be. I mean, I have observed taskId problems, but you put up a potential fix for that. Otherwise IDK.

@tbroadley would you know if we still have problems? (perhaps in the same way you were prompted to open this issue?)
(I'm dropping this task by default)

Seems good to drop it. I haven't heard of any other problems from users recently, or run into any myself.


Create Swagger Spec for Shipyard++

This is no longer required.  The new API work is being done in #18.


Shinyproxy error 500

Hi
I have encounter Error 500 when I try to run shinyproxy. Here are the errors.
 I checked Expose daemon on tcp://localhost:2375 without TLS in docker settings. Uninstall and re-install docker but none of these helped.

Hi, @aysegokce.
Did you try to change port 3838 to 8080?
See the standard configuration here: https://www.shinyproxy.io/configuration/

Thanks @PauloJhonny  I tried and I got same error. When I run docker image with docker run command it works fine but when I run it through shinyproxy it gives error.

have you tried configuring docker startup options as described in https://www.shinyproxy.io/getting-started/#docker-startup-options ?

I removed
url: http://localhost:2375
and it is working now.

@aysegokce since your problem is solved I'm going to close this issue.
Feel free to open a new issue if you encounter another problem or have a suggestion!


Allow for database initializations on input

The new init-dbs branch includes code that allows for databases to be initialized on startup.  For example, if your use the following docker-compse file
version: '3.5'
  fuseki:
    image: ucdlib/jena-fuseki:3.14.0
    env_file:
      - ld.yml.env
    volumes:
      - fuseki-data:/fuseki
      - ./staging:/staging
    ports:
      - 3030:3030
volumes:
  fuseki-data:
    driver: local

Than any directories in the staging directory will be checked for databases and installed if they do not already exist.  Any example directory would look like:
covid19
├── add_users.sparql-update
├── config.ttl
├── http%3A%2F%2Fiam.ucdavis.edu%2F
│   ├── experts.ttl
└── http%3A%2F%2Foapolicy.universityofcalifornia.edu%2F
    └── additions.n3

The config.ttl is the jena assembler file that is used to configure the database.  It is copied into /fuseki/configurations/covid19.ttl file, (eg.)  Directories are url encoded and treated as separate graphs, and added into those  graph names using tdb2.tdbloader. Files ending in *.sparql-update are sent to the tdb2.update command.
This allows for sharing database initializations that include configuration for the fuseki database.

@jrmerz / @jtyzzer here is a new fuseki server that allows data installation on setup.  There are a number of databases that can be added located in this Drive
We should be able to share fuseki tests more easily this way.


Sandboxing

Original report by Anonymous.

It is desirable that code is run in a sandbox. I can think of at least a few reasons, even assuming the code is run on some cloud server (as opposed to a personal computer).

if SSH public key authentication is used, a student agent may go looking for the private keys
a student agent may disrupt other parallel executions of the code
a student agent may access the internet in a malicious way

I am not knowledgeable in sandboxing, besides having a slight idea that chroot may be involved. Some info can be found here:
https://wiki.python.org/moin/Asking for Help/How can I run an untrusted Python script safely (i.e. Sandbox)

This is very hard to do with non-standard tools and libs. Not doing it...


add progress animation stop block

Now,if you wanna do something after the animation stop,for example, if you have downloaded the image,then you wanna zoom the image to see more clearly, you can use the - (void)progressAnimiationDidStop:(void(^)(void))block; . Like this:
 [progressView progressAnimiationDidStop:^{
       [self presentViewController:_photoGallery animated:YES completion:nil];
 }];

Here is the demo:

Sorry for my late response. Thanks a lot for your contribution!


Offline load checkpoint error

Hi~ I have download the LanguageBind/Video-LLaVA-7B weights and set model_path correspondingly, but encounters the follow errors when I launch the chat because my server cannot access huggingface:
===> pretrained_model_name_or_path: /data/xxx/weights/video_llava
===> pretrained_model_name_or_path: LanguageBind/LanguageBind_Image
OSError: We couldn't connect to 'https://huggingface.co' to load this file ...
So could you teach me how to set the offline weights of LanguageBind/LanguageBind_Image and LanguageBind/LanguageBind_Video_merge ? I tried my ways but failed.

Refer to this issue.
https://github.com/PKU-YuanGroup/Video-LLaVA/issues/57

Refer to this issue. #57

Thanks. It works.


How to use custom option?

someone please give me tutorial how to use custom option

@gnussas It's a pretty advanced option. You can only use this if you have proper files of the required site in a accessible directory. Then you can just use the directory path in custom option and enjoy

I have saved the the site log in page and i put it in he code but its says:Directory doesn't exist!

i would be so cool if someone could do tutorial on yotube

@gnussas If it says so, then it's definitely true. Either you have spelling mistake or path mistake or file path instead of directory path

Any new?

How to download the site file

You can create your own page
Example: index. html & script. js & style. css & php files to use coustom sites


sampleenvfile

Hi. How is this file, the variables presented to system. Entries have no export, but it has bash - so should be shell related still.
Or do I have to add that export and then append this all to ~/.bashrc?
Could you explain this maybe in the readme or here. thank you1

They're environment variables, how you set them depends on the system you're using, that file is merely an example setup.
If you can't figure this part out you should not even bother trying to run the bot, its complicated to run, especially if you lack a understanding of basics such as environment variables.


How should a deletion versus modification conflict be handled?

As of Git commit SHA: 7873fcf9e93ba641cd9e9c8f5ac1325396d26e2c, coverage testing shows that the logic here and here is not covered.
These deal with the situation where the merge has not tweaked the modification, so either the modification should be left in the working directory if it was done in our branch, or restored from the blob id if done on their branch.
The reason this never happens is that the merge is presented with a synthetic empty input representing the side with the deletion; it then does a three-way merge between outright deletion of content versus the modification, picking up changes to be propagated from the modified side if sections have moved out of the deleted file into another file.
That's fine in itself, but it means that Kinetic Merge will produce a merged result that is just the modifications without the original content of the file prior to deletion. If that results in an empty merge result, then the conflict is trivially resolved as a straight deletion (this supports code motion in the presence of edits from one file to another), and if the merge result is non empty, it is presented as a tweaked conflict between the deletion and the merge result, not the modified file content.
Git on the other hand just shows a conflict between a deletion and the modified file content - it doesn't think of the deletion is implying a merge of loss of content at all.
Should Kinetic Merge try to emulate Git, or is it better that it tries to merge to some extent? If it did emulate Git, how would this work with code motion across files? What if two files swap their content on one branch, but are edited in place on the other?

Those code paths are now covered due to: 7ceed11cc605dda8518f76c5de530f2560dd1cae, df31b317ebb5c919ec0a9c103690251b9921e398 and<PHONE_NUMBER>3edb95af1597104ffb18d19e237db0.
There are also tests for swapping of two files on one branch with editing of one or both of the original files on another branch: fc7862855b7d876b70b94b9bec516ffdde7fb7c5, 2dab8f2a583fe0c70d1c43fc35a9f4c66e9b3ba2, d458fdebf7b1377943aede447e8dd99405b887e1 and 90cad461c4a431f3c81bf037204c07eae7ed2c27 - subsequent work has got them to pass.
Regarding emulation of Git semantics, let's address that on the related ticket #4...


[AppConfiguration] Add tags support when creating resource

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

AppConfiguration


[UI Improve] I would like to improve the UI of the Home page

Changes suggested?

Would like to change the home page screen's UI to make it more user friendly

Screenshots
Design of the Suggested changes 👇

sure that's cool, if you could design a dark mode, would be cooler

ok, will change the background to darker theme


bug when deleting message

Some times it happens to me that when somebody wrote me a message, but then he deleted it,  I can see this deleted message in mail notification which is sent to me as a notification that I have new message. i.e:

Hi @jozefrybarik, I tried a couple of times and could not repro the same. Will check internally and come up with more information on this soon.

Hi @jozefrybarik, I tried a couple of times and could not repro the same. Will check internally and come up with more information on this soon.

@jozefrybarik , Which teams version you are running on, could you please update it to latest and let me know if you still face this issue?

Hi team,
I remember mostly it happened when I came to the computer and in the chat I
saw that someone wrote to me, but then he deleted the message, so I saw
only deleted message. But I found this message in the email notification.
Maybe an email was sent first and after then the message was deleted ...
This happened to me several times. But I admit that the situation has not
happened to me since then,  so please close the ticket, you don't have to
deal with it further.
Best Regards
Jozef
ut 2. 2. 2021 o 13:31 Trinetra-MSFT<EMAIL_ADDRESS>napísal(a):

@jozefrybarik https://github.com/jozefrybarik , Which teams version you
are running on, could you please update it to latest and let me know if you
still face this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/msteams-docs/issues/2553#issuecomment-771602825,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACA3WVICUK3G5DXBXLXIW5LS47WAZANCNFSM4VUTTGJQ
.


Fix the typo as it is confusing

The example description for the command
kubescape download --help
outputs examples but one of them has an extra 'download' word. It is confusing fo a beginner and might not understand it.
##Marked in RED

This is the console output

I have opened a PR for this, @dwertent please review

@RayAsh37 You must have waited to get assigned first before creating a PR. This is a valid way of contributing to a n open source project.


Adsk Contrib - Fix GPU tests build

A bad merge conflict resolution did break the GPU tests build (that is not built by the build system).

Being a build break fix: 24-hour merge warning. Please have a look if you haven't yet.


fix: [3.0] Update validation task of admin meta type

Description

Fix issue #6425

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[x] Chore (non-breaking change which does not add functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Change to the templates directory (does not affect core functionality)
[ ] Change to the examples directory (does not affect core functionality)
[ ] This change requires a documentation update

Checklist:

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Existing test suite passes locally with my changes
[ ] I have made corresponding changes to the documentation

Duplicate of #6754 and #6759.


Updating numpy version for travis

Stable numpy is 1.11 at the moment. Adding np 1.10 build as well as the occasional prerelease build.
Latter only runs if there is a prerelease available, otherwise sets the build to be successful.

This PR depends on #534. Rebased on it to check whether travis is happy.

(appveyor build was cancelled for this after the rebase)


Make the platformId changeable by (hidden) configuration

Hi,
this is something that was already discussed with @ngrices .
We need a way to change the platformId that is submitted by setORODetails to be easily changeable without changing the source code, e.g. via a configuration file.
Daniel

As discussed offline a while ago, we will handle our use case differently. Closing


feat: language switch with multisite support

PR Type

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] CI-related changes
[ ] Documentation content changes
[ ] Application / infrastructure changes
[ ] Other:
What Is the Current Behavior?
Currently, the language switch only changes the language and completely ignores any multisite config.
What Is the New Behavior?
Now the language switch works with our new default multi site setup and can be configured/overridden to work with arbitrary multi site configurations.
Does this PR Introduce a Breaking Change?

[ ] Yes
[ x No
Other Information

Should the language switch work with such a multi-site configuration as well?
      MULTI_CHANNEL: |
        .+:
          - baseHref: /de
            channel: default
            lang: de_DE
          - baseHref: /fr
            channel: default
            lang: fr_FR
          - baseHref: /
            channel: default
            lang: en_US

This currently does not work as expected.
There also might be a problem with our current \nginx\channel.conf.tmpl.
The part
  {{- if (has ($mapping | jsonpath "$..baseHref") "/") }}
  {{- else }}
    location / {
        allow all;
        auth_basic off;
        {{ $first := index $mapping 0 -}}
        rewrite ^/$ "$scheme://$http_host{{ $first.baseHref }}/home" permanent;
        rewrite ^(.*)$ "$scheme://$http_host{{ $first.baseHref }}$request_uri" permanent;
    }
  {{- end -}}

does not result in the same behavior as completly removing this part for the above mentioned MULTI_CHANNEL configuration. This might be relevant for testing.


App

Will there be an android app?

No, I don't have a plan to write mobile app for black_candy yet. Cause black_candy use responsive design, So it will work fine on mobile browser.

Oh OK thanks. I will use waveline in the mean time.  Yours looks very nice. I will try it when or if there is an app. Thanks.

I'd be willing to help contribute towards a turbo-ios or trubo-android app, I've written these before.

@jaredmoody
It would be great if you could develop mobile apps for black candy, I also have a plan to build mobile app for black candy this year. I can do some iOS development, so I can contribute to iOS app. If you want some help , please contact me. Thanks.

@aidewoode great, do you want to create some repos (maybe black_candy_ios, black_candy_android) and either I'll send some PRs or add me as a contributor and I'll push some code?

@jaredmoody Hi, I created a new organization https://github.com/blackcandy-org, and created new repos for mobile app, I will invite you as a member

Hey, I have released the first beta version of Android app of Black Candy. You can download the APK to try it from here https://github.com/blackcandy-org/black_candy_android/releases/tag/v1.0.0.beta1. As all iOS and Android apps have been released the beta version. And the first stable version of mobile apps will coming with Black Candy 3.0 soon. I am going to close this issue.


Use Testcontainers in Ollama IT

Currently, integration tests in Ollama module are disabled because
it needs a Ollama instance running in order to execute them.
Testcontainers provides this infrastructure not only by running
the ollama container but also by automating the pull model step.
This commit, use the Singleton Container approach to reuse the single
instance across multiple IT. Also, pull step is only executed when the
image is ollama/ollama.
The behavior on this is:
1st execution:

Pull ollama/ollama image
Start the container based on ollama/ollama image
Download the orca-mini model
Create an image based on the current state (with the model in it)
Declare the container ready to use
Run test

Next executions:

Look for the local image created in the 1st execution
Start the container based on the local image
Declare the container ready to use
Run test

1st execution is expected to take longer because of the model (3GB).
Next execution are way more faster.

@langchain4j I tried to do the same for LocalAI but IIRC I was not able to load the model for the tests. If you can share the steps to run the instance I can try to reproduce it using Testcontainers. Feel free to create an issue with the steps and assign it to me.

@eddumelendez Is it possible to use Testcontainers with GPU support? In Docker, I can pass the --gpus=all option to the run command, for example, docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama.
I am asking because I added image input support for Ollama #430 but can't figure out how to set up GPU with integration tests. The current setup waits 1 minute for a response, and after that, it times out. For now, I have changed the timeout to 3 minutes. My PC is able to return a response in about 2 minutes and 20 seconds.
Waiting nearly 3 minutes for one test isn't a good development experience. I know they are integration tests, so by definition, they can be slower than unit tests, but maybe we can do something about it. Additionally, I'd like to note that the proposed GPU support should only be available for local development, as the current CI pipeline doesn't allow GPU support.


basePath as .env variable

Hi,
I want to use umami with the comfortable docker-compose command, but in my enviroment I have to use the basePath property of next.config.js. It there a way to setup the basePath in an evironment variable which propagates this configuration inside the docker container?
Thanks for the great software :-)

The next.config.js is already importing environment variables via dotenv, so I think you can just add
basePath: process.env.BASE_PATH


BT Home Hub 5 device tracker support

Description:
Support for the BT Home Hub 5 for tracking devices.
Looking for feedback as this is my first component addition to the project, I'll add the documentation PR before (if) this is merged.
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#558
Example entry for configuration.yaml (if applicable):
device_tracker:
  platform: bt_home_hub_5
  host: <IP_ADDRESS>
  interval_seconds: 10
  consider_home: 180
  track_new_devices: yes

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If code communicates with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

The code seems fine. You will need to clean it up to adhere to linting standards. See the instructions above in the PR message.

Please follow the checklist in your own PR message. Still some steps left.

@balloob home-assistant/home-assistant.io#558 - all should be in order 🎱

Please add your file to .coveragerc

@balloob why would I need to the omissions? I've added a test, and coveralls is passing.

New components are not allowed to reduce test coverage or else they should
be added to coveragerc. Your test is pretty bogus anyway as a component
with the following code would pass…
def get_scanner(hass, config):
return 1
On Mon, Jun 13, 2016 at 9:21 AM, Lewis Juggins<EMAIL_ADDRESS>wrote:

@balloob https://github.com/balloob why would I need to the omissions?
I've added a test, and coveralls is passing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/2250#issuecomment-225632205,
or mute the thread
https://github.com/notifications/unsubscribe/ABYJ2s8ZhYeJ2UkhiNEVayWDUYgwf0Rlks5qLYN-gaJpZM4IvGBm
.

--
PaulusSchoutsen.nl
It's nice to be important but it's more important to be nice.

Fair enough, squashed and omitted the component. When I get some time I'll improve test coverage for the component.

Alrighty, looks bueno 🐬 🚀


[Bug] 404 flicker on page open

Replicating

Head over to: https://carisurau.com/prayer-room-four-seasons-hotel-ebx
See 404 page for several second
Finally able to see the page

Note: On slower network it'll be more prominent (you can throttle Chrome's network to simulate)

Screenshots

User will see 404 screen first even when surau exists.

After several sec, will flicker into the surau details.
Correct behaviour

Surau that exists should not show 404.
If needed, a loading state is better.

Loading state deployed #99 , cuba try test

Awesome, beautiful ghostloading! Can close this.


console.log left in production build

Looks like there's a console.log still around here.

Hey, thanks for reporting, just fixed it.

I will use this plugin to strip console.logs from builds - https://github.com/rollup/rollup-plugin-strip


How to declare context for LSP?

What are ways to tell the LSP about the context of the current template? For example, when rendering a template I'm passing a list that is iterated in the jinja for loop. At the moment all the variables I'm referencing are "undefined", since the LSP doesn't know which context I will render the template with.

I haven't implemented goto reference, maybe that could help with context.


#789 Load balance response time weight is not effective

#789 负载均衡 响应时间权值不生效

Coverage decreased (-0.06%) to 64.672% when pulling ab2d42b60f1a316c20b9078f674ccabf55c883a3 on t-xinlin:luowenlong202002241702 into 55e75bc5c6e00fcfc311c4c6e217c6a569835a62 on go-chassis:master.


Missing enumeration types?

The method opencl3::device::get_device_ids takes a u64 for the device_type while the underlying method clGetDeviceIDs takes an enum for device_type.
Why here and in other similar circumstances is it being obfuscated to a u64 when using an enum type would be far clearer?

Thank you for your observation @JonathanWoollett-Light.
The underlying method clGetDeviceIDs takes a cl_device_type for device_type , i.e. a cl_bitfield . The reason

Why here and in other similar circumstances is it being obfuscated to a u64

is  because bindgen converts the cl_bitfield  in cl.h to a u64.
Furthermore, the values of cl_device_type  are defined in cl.h  as:
/* cl_device_type - bitfield */
#define CL_DEVICE_TYPE_DEFAULT                      (1 << 0)
#define CL_DEVICE_TYPE_CPU                          (1 << 1)
#define CL_DEVICE_TYPE_GPU                          (1 << 2)
#define CL_DEVICE_TYPE_ACCELERATOR                  (1 << 3)
#ifdef CL_VERSION_1_2
#define CL_DEVICE_TYPE_CUSTOM                       (1 << 4)
#endif
#define CL_DEVICE_TYPE_ALL                          0xFFFFFFFF

because some of the values may be  the may be ored in a query, see:  OpenCL API: Querying Devices.
cl_device_type  is not being obfuscated to a u64, it is a u64.
However, there are other types which would be clearer as enum types, such as cl_platform_info or cl_device_info.
In fact they were enum types in previous versions of the library, but keeping them up to date with new OpenCL extensions became too onerous, so the enum types were removed. See https://github.com/kenba/cl3/issues/13.

I am familiar with this form of implementing options in C using bit-fields but it is a poor user interface when more explicit alternatives are available.
If the user can only query for one of the device types:
enum DeviceType {
    Default = (1 << 0),
    Cpu = (1 << 1),
    Gpu = (1 << 2),
    Accelerator = (1 << 3),
    Custom = (1 << 4),
    All = 0xFFFFFFFF
}
fn get_device_ids(device: DeviceType) {
    let device = device as u64;
}
fn main() {
    get_device_ids(DeviceType::Cpu);
}

If the user can query for multiple of these types:
#[derive(Default)]
struct DeviceType(u64);
impl DeviceType {
    fn new() -> Self {
        Self(0)
    }
    /// The default OpenCL device in the system.
    fn default(self) -> Self {
        Self(self.0 | (1<<0))
    }
    /// An OpenCL device that is the host processor. The host processor runs the OpenCL
    /// implementations and is a single or multi-core CPU.
    fn cpu(self) -> Self {
        Self(self.0 | (1 << 1))
    }
    /// An OpenCL device that is a GPU. By this we mean that the device can also be used to
    /// accelerate a 3D API such as OpenGL or DirectX.
    fn gpu(self) -> Self {
        Self(self.0 | (1 << 2))
    }
    /// Dedicated OpenCL accelerators (for example the IBM CELL Blade). These devices communicate
    /// with the host processor using a peripheral interconnect such as PCIe.
    fn accelerator(self) -> Self {
        Self(self.0 | (1 << 3))
    }
    /// All OpenCL devices available in the platform, except for CL_DEVICE_TYPE_CUSTOM devices.
    fn all(self) -> Self {
        Self(0xFFFFFFFF)
    }
    fn unwrap(self) -> u64 {
        self.0
    }
}
fn get_device_ids(device: DeviceType) {
    let device = device.unwrap();
}
fn main() {
    get_device_ids(DeviceType::new().cpu().gpu());
}

I'm still learning so I'm not 100% sure which case applies here, but I know in either case there is a more explicit definition than a simple u64.

Thank you @JonathanWoollett-Light for your opinion on the: "poor user interface ... of implementing options in C using bit-fields".
However, I believe that you are overlooking the fundamental purpose of this library: it is a Rust interface to the OpenCL C API, so it conforms to the OpenCL C API, which uses bit-fields.
You have quoted my reference to issue https://github.com/kenba/cl3/issues/13, but it seems that you either haven’t read it or you didn’t understand it.
In short, it is possible to provide more explicit definitions of these types in Rust, but doing so is a maintenance overhead. So I explicitly chose not to provide more explicit definitions of these types.
I'm sorry that you don't like my choice. But I hope that you can at least understand it, or even learn to appreciate it.


SAMBRO: admin subscriptions

@flavour Please merge

@flavour Please review/merge

@flavour Please merge

Looking a lot better now...some minor tweaking to do & then we can merge & try it out :)

@flavour Done...


Option to include totals in DAX query results

I am using the Deneb visual to create a formatted matrix for an P&L statement: Accoung groups on Y axis, Business lines on X axis.
Currently, the DAX query that the visual generates does not return the totals, and I have to workaround this limitation by adding a dummy 'Total' business line in the dimension table of the model, and modify the agg measure to return the unfiltered value when this dummy value is in the context.
Would it be possible to make it an option to include the totals in the query that Deneb sends to the data model ? This would allow adding totals calculated by the model (sum is not always the appropriate agg function ) to the visual dataset without the hack described above.

Unfortunately, we have no control over the DAX that gets executed by Power BI; we only get the dataset based on the fields added to the visual dataset by the report creator.
If you want the totals, the approach for this would typically be to add further marks that are either aggregates of the data in the field encodings or aggregate transforms in a dedicated layer for this purpose.
If you need further help with the necessary language constructs to do this, I'd suggest posting your question on one of the public locations recommended on Deneb's support page, as this is where folk who are in a position to assist typically hang out.

Closing due to lack of activity. If you need further language assistance, I recommend approaching one of the community support representatives via one of their preferred channels.


Jupyter Book - GUI for managing notebook(s) in a Jupyter Book

Is your feature request related to a problem? Please describe.
A user might be new to an existing Jupyter Book that is shared with them. The time to ramp up on how to add a new notebook to Jupyter Book, to reorder and to remove can be time consuming. They'll need to both understand the format of Jupyter Book TOC syntax and directory structure.
Describe the solution or feature you'd like
Provide ability to add, remove, move and copy a notebook within Jupyter Book easily.
Describe alternatives you've considered
Currently it requires editing toc.yml manually, which can be time consuming and prone to human error.
Additional context
n/a

We will revisit for April release most likely

@chlafreniere - bump 🎁

Crawl is addressed in #13535.

Crawl is addressed in #13535.

Something to consider in the walk / run phase: broken links detection as part of the book edit (move or delete book).

@chlafreniere  and @MsSQLGirl - I'm moving this issue to March release, since we are going to continue iterating over it.

Getting feedback; we won't be addressing this for March past the crawl, so moving to backlog for now.


to_parquet fails when writing with index and append=True

I am trying to incrementally write a parquet file (or, more acurately, a parquet directory) with multiple calls to to_parquet with append=True. This fails when the data frame has an index.
To reproduce run the following code:
import pandas as pd
import numpy as np
from dask import dataframe as dd

n = 2000
df = pd.DataFrame({'value': np.random.normal(size=n)}, index=pd.Index(np.arange(n), name='id'))

append = False
for i in range(0, n, 10):
    part = dd.from_pandas(df.loc[i:i+10], npartitions=1)
    part.to_parquet('test.parquet', append=append, engine='fastparquet', compression='gzip')
    append = True

I get the following error:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-1-5ca192e15a75> in <module>
      9 for i in range(0, n, 10):
     10     part = dd.from_pandas(df.loc[i:i+10], npartitions=1)
---> 11     part.to_parquet('test.parquet', append=append, engine='fastparquet', compression='gzip')
     12     append = True

~/.pyenv/versions/3.8.5/lib/python3.8/site-packages/dask/dataframe/core.py in to_parquet(self, path, *args, **kwargs)
   3945         from .io import to_parquet
   3946
-> 3947         return to_parquet(self, path, *args, **kwargs)
   3948
   3949     @derived_from(pd.DataFrame)

~/.pyenv/versions/3.8.5/lib/python3.8/site-packages/dask/dataframe/io/parquet/core.py in to_parquet(df, path, engine, compression, write_index, append, ignore_divisions, partition_on, storage_options, write_metadata_file, compute, compute_kwargs, **kwargs)
    440     # Engine-specific initialization steps to write the dataset.
    441     # Possibly create parquet metadata, and load existing stuff if appending
--> 442     meta, i_offset = engine.initialize_write(
    443         df,
    444         fs,

~/.pyenv/versions/3.8.5/lib/python3.8/site-packages/dask/dataframe/io/parquet/fastparquet.py in initialize_write(cls, df, fs, path, append, partition_on, ignore_divisions, division_info, **kwargs)
    562             if not ignore_divisions:
    563                 minmax = fastparquet.api.sorted_partitioned_columns(pf)
--> 564                 old_end = minmax[index_cols[0]]["max"][-1]
    565                 divisions = division_info["divisions"]
    566                 if divisions[0] < old_end:

KeyError: 'id'

Environment:

Dask version: 2.23.0
Pandas version: 1.1.0
fastparquet version: 0.4.1
Python version: 3.8.5
Operating System: Mac OS X
Install method (conda, pip, source): pip

cc @martindurant.
This seems to work with the pyarrow engine.

Note that you can pass ignore_divisions=True to work around this, or of course by not using the index.
The problem is, that ID=10 is included both in the first part and in the second part by df.loc[i:i+10], because this is label-based indexing. If you change it to iloc, everything works OK. On the fastparquet side, sorted_partitioned_columns only produces output for non-overlapping values. This could perhaps be changed, but I think it conforms to the expectations of dataframe divisions.
Also note that pd.to_parquet works just fine with append and fastparquet, because it doesn't care about the index at all.

 I forgot that .loc[lb:ub] is inclusive of the upper bound. However, a more helpful exception would be nice in this case. For example, if I change df.loc[i:i+10] into df.loc[i:i+11] I get the following message:
ValueError: Appended divisions overlapping with previous ones.
Previous: 11 | New: 10

Is it possible that there's an error in line 567 of dask/dataframe/io/parquet/fastparquet.py? It currently says
                if divisions[0] < old_end:

but it seems to me the correct condition for overlapping indices would be divisions[0] <= old_end.

Agree that the message should be better.
I'm not so sure about the inequality sign - I don't think it's acceptable to have the same value in multiple partitions, even at the boundary.

I don't think it's acceptable to have the same value in multiple partitions, even at the boundary.

That's my point exactly! divisions[0] < old_end is the condition for raising the exception. If you want an exception when there would be the same value in multiple partitions this should be divisions[0] <= old_end.

OK, then I'd be happy to see the change, with a test with exact boundary duplicates, so that we see the right error raised.

Did anything happen here?


singularity 0.15.0 NPE on DELETE /tasks/task/ with no body

It looks like
https://github.com/HubSpot/Singularity/blob/358f40b116f6f1289fa57c6b2e4980d3935ffcf9/SingularityService/src/main/java/com/hubspot/singularity/resources/TaskResource.java#L297
expects an absent Optional when there's no body, but instead it gets a null and quickly NPEs:
ERROR [2017-05-03 18:46:11,922] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: 347e4c0962cda4bd
! java.lang.NullPointerException: null
! at com.hubspot.singularity.resources.TaskResource.killTask(TaskResource.java:297)

Workaround is to send an JSON body with message.
cc @dstryker @pennello

I think this might actually affect all endpoints that take an Optional<T> body as reported by @sannessa


Ideas for better performance and safety

Hello :)
I imagine you did some research before starting this project, and I guess you probably wouldn't have started the project if there were already a satisfying implementation available. I know it was a long time ago, but do you remember if you had the chance to review this: https://www.codeproject.com/Articles/29922/Weak-Events-in-C ?
The author seems trustworthy ("lead developer on SharpDevelop"), and the performance of his implementation is pretty much excellent. To achieve such performance he replaces reflection with System.Reflection.Emit.DynamicMethod and IL code.

Is there any particular reason you didn't use this technique in your library, when the running platform supports it? (beside it being black magic)

His implementation ensures you can't use anonymous delegates by checking for the presence of CompilerGeneratedAttribute on declaring type of the delegate's method. It could be a welcomed improvement in your library, because it's way too easy to erroneously subscribe to a lambda...

I put up the code-project's code in a new repo, and replaced the original ad-hoc benchmark with BenchmarkDotNet. I also added a benchmark for your library. Check it out! https://github.com/mlaily/FastSmartWeakEvent
Summary:
|                                 Method |      Mean |     Error |   StdDev | Ratio | RatioSD |  Gen 0 | Gen 1 | Gen 2 | Allocated |
|--------------------------------------- |----------:|----------:|---------:|------:|--------:|-------:|------:|------:|----------:|
|                'Normal (strong) event' |  12.12 ns |  0.218 ns | 0.414 ns |  1.00 |    0.00 |      - |     - |     - |         - |
|                     'Smart weak event' | 594.21 ns |  9.563 ns | 7.467 ns | 47.41 |    0.98 | 0.0420 |     - |     - |     177 B |
| 'Fast smart weak event (2009 version)' |  41.49 ns |  0.839 ns | 1.030 ns |  3.36 |    0.12 | 0.0172 |     - |     - |      72 B |
| 'Fast smart weak event (2013 version)' |  18.16 ns |  0.157 ns | 0.131 ns |  1.45 |    0.04 |      - |     - |     - |         - |
|                    'Thomas weak event' | 567.82 ns | 10.375 ns | 9.705 ns | 45.64 |    1.33 | 0.1545 |     - |     - |     650 B |

EDIT: I almost forgot: he apparently rewrote the thing 4 years after his code-project article, but it seems to only live in a gist here: https://gist.github.com/dgrunwald/6445360#file-fastsmartweakevent-cs (I added it to my repo and benchmark)
Have a great day!

Salut Melvyn,
Yes, I know about this article. To be honest, I don't remember exactly why I didn't use the same approach (or even just use his code directly...). Maybe there was something I couldn't do with it, but I don't remember what. Anyway, this project started as a POC to test an idea (using open-instance delegates), and ended up being used by many people, so I didn't rethink my approach.
I agree that it's probably worth considering using reflection emit.

* His implementation ensures you can't use anonymous delegates by checking for the presence of `CompilerGeneratedAttribute` on declaring type of the delegate's method. It could be a welcomed improvement in your library, because it's way too easy to erroneously subscribe to a lambda...

I'm not sure about that. Using a lambda is fine, as long as you keep a reference to it. But yes, it's easy to get wrong...

Thanks for your answers!
Feel free to close this issue if you don't intend to implement these suggestions, or if you want to create more targeted issues for them :)

Closing this issue, since it's pretty old and not seeing any activity.
I have some plans to redesign this library using compile-time code generation, which would probably improve performance as well. But it depends on this being implemented in the compiler, and it's probably too late for the next release...


Use info from http://datahub.io/dataset/uk-public-bodies

Use info from http://datahub.io/dataset/uk-public-bodies

It seems this dataset in Data Hub hasn't been updated since 2013.

And the url from reference.data.gov.uk gives a 404 not found error now.
Considering this issue has been stale for years, I'm closing it now. We can open another one once we find an updated data source for uk data.


Uploading image is not working

@wbotelhos , thank for this amazing plugin.
Actually, I am working on uploading an image in stepy but I am unable to get it. Could you please tell me how can I upload image?
Looking forward to you quick reply.

Hi @kashifullahwebdeveloper ,
Stepy is not about upload, it must be made by you.
But if some JS is breaking your upload, please, report it here.


Remove port from debug notification

Once older clients have been updated and/or the VM changes have landed (see https://github.com/flutter/flutter/issues/6843), we should remove port from the debug notification sent to the client

@devoncarew There are a few issues around this - are they still relevant? We recently decided to leave the port number in because some places still require it (for ex. flutter attach takes a port, not a uri). I think VS Code also makes assumptions about there not being any path part to the url (as shown in the related issues) - is this something we need to address?


ContextAPI and Google Authentication using PassportJS and Google Cloud API

Commit https://github.com/ronitblenz/food4bengal/commit/0780b87c37a33dc06084e766d4e9725612d26cba closes this issue where we have a contextapi, passportjs strategy and Facebook and Google Authentication APIs.


updated custom domains limit

changed 10 to 100

Thank you for the PR!
We are waiting on some backend changes to roll out still and want to add a bit more here. Will handle this update myself when we are ready :)


HttpRecorder uses obsolete Newtsonsoft features

HttpRecorder uses TypeNameAssemblyFormat which is obsolete as of Newtonsoft v11.0.  This means that clients are forced to use either Newtonsoft 9 or 10 and cannot use the latest.
[ObsoleteAttribute("TypeNameAssemblyFormat is obsolete. Use TypeNameAssemblyFormatHandling instead.")]
public FormatterAssemblyStyle TypeNameAssemblyFormat { get; set; }

@chrimc62 this has been fixed in the latest version of httprecorder


Fraction line disappears when use polyglossia in tex preambula

Description of bug / unexpected behavior

When using a custom TexTemplate in Manim that incorporates the fontspec and polyglossia packages, the fraction line in LaTeX-rendered expressions disappears from the video output after the animation completes. Although the fraction line is visible during the animation and correctly appears in the SVG files generated by LaTeX, it vanishes once the animation stops. This issue occurs without involving any right-to-left text settings and is reproducible with basic mathematical expressions.
Expected behavior

The fraction line in mathematical expressions, such as $\frac{1}{2}$, should remain visible throughout the video, including after the completion of animations. The rendered content should consistently display all mathematical notations correctly, maintaining visibility without any elements disappearing post-animation.
How to reproduce the issue

Below is a minimal code snippet that illustrates the issue of the disappearing fraction line when using a custom LaTeX preamble in Manim. This problem is observed under configurations using the fontspec and polyglossia packages.
Code for reproducing the problem
from manim import *

class FractionLineDisappearScene(Scene):
    def construct(self):
        # Setting up a custom TexTemplate
        new_template = TexTemplate()
        new_template.reset()
        new_template.add_to_preamble(r"\usepackage{fontspec}")
        new_template.add_to_preamble(r"\usepackage{polyglossia}")
        new_template.add_to_preamble(r"\setdefaultlanguage{english}")

        # Creating a text object with a fraction
        solution = Tex(r"$\frac{1}{2}$", tex_template=new_template)

        # Animating the text
        self.play(Write(solution))
        self.wait(2)

if __name__ == "__main__":
    scene = FractionLineDisappearScene()
    scene.render()

System specifications
System Details
- OS: Win 11
- Python version: 3.10
 - Manim 0.18

this code works fine on my system using ManimCE 0.18.0.post0:
class FractionLineDisappearScene(Scene):
    def construct(self):
        # Setting up a custom TexTemplate
        new_template = TexTemplate(
	        tex_compiler="xelatex",
            output_format='.xdv',
        )
        # new_template.reset() where does this come from?
        new_template.add_to_preamble(r"\usepackage{fontspec}")
        new_template.add_to_preamble(r"\usepackage{polyglossia}")
        new_template.add_to_preamble(r"\setdefaultlanguage{english}")

        # Creating a text object with a fraction
        solution = Tex(r"$\frac{1}{2}$", tex_template=new_template)

        # Animating the text
        self.play(Write(solution))
        self.wait(2)

You need to use xelatex when using fontspec, also where did you get new_template.reset() from?

Closing this as wontfix: fontspec requires xelatex, and the code suggested by @uwezi works for me too.


@inject does not work - all fields are always null.

appsettings.cs:
   public class AppSettings
    {
        public string SiteTitle { get; set; }
    }

appsettings.json:
{
    "AppSettings": {
    "SiteTitle": "ZaxiTech"
  }

Startup.cs:
public static IConfiguration Configuration { get; set; }

services.AddOptions();  // Setup options with DI
services.Configure<AppSettings>(Configuration);

xview.cshtml:
@using Microsoft.Extensions.OptionsModel
@inject IOptions<AppSettings> MyAppSettings

And all fields like SiteTitle in MyAppSettings are always null.

I have the same problem, have you solved it?

I have the same problem, have you solved it?

Try
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));

Try
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));

I got it, @davidfowl is right.
I had read the docs and known "setup the IOptions service", but I misspelled the configuration section name >_<...
docs link:
http://docs.asp.net/en/latest/fundamentals/configuration.html#using-options-and-configuration-objects

I got it, @davidfowl is right.
I had read the docs and known "setup the IOptions service", but I misspelled the configuration section name >_<...
docs link:
http://docs.asp.net/en/latest/fundamentals/configuration.html#using-options-and-configuration-objects

@davidfowl
No. services.Configure(Configuration.GetSection("AppSettings")) works no more on latest RC2.
But I have found a workaround for this issue as follows:
services.Configure((xx)=> {
xx.SiteTitle=Configuration.GetSection("AppSettings")["SiteTitle"];
});
Still, settings are not loaded automatically.

@davidfowl
No. services.Configure(Configuration.GetSection("AppSettings")) works no more on latest RC2.
But I have found a workaround for this issue as follows:
services.Configure((xx)=> {
xx.SiteTitle=Configuration.GetSection("AppSettings")["SiteTitle"];
});
Still, settings are not loaded automatically.

@xatabhk It does work, the syntax (and namespace) probably changed

@xatabhk It does work, the syntax (and namespace) probably changed

@davidfowl
Buit it does not work as expected. User has to do property/field mapping manually like this:
xx.SiteTitle=Configuration.GetSection("AppSettings")["SiteTitle"];

Nah, can you provide the fully non working sample? Pushing to a github repo with instructions would be best.

@xatabhk the Configure<T>() extension methods that take an IConfiguration where moved to a new package (Microsoft.Extensions.Options.ConfigurationExtensions) to decouple dependencies. See #97 for more information.


Wallet Bip32 generation

I'm looking at F# for the first time because I find such a short implementation very interesting, but the syntax is a little foreign to me.
How would I, given an electrum 12-key seed, generate a list of private/public keys and addresses?

Bip32 doesn't use a 12-word seed but a seed value. Bip 39 specifies a transformation from a 12 word seed to a 128-bit seed but it's not used by Electrum.
However, Electrum can show you the master public key. It should be a 512 bit hex string of the form xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
let mpkBip32 = Hex.Decode("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
let mpkBip32Chain = Hex.Decode("yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy")

let myHashes = bip32Hashes mpkBip32 mpkBip32Chain true 100

Okay, and you would then push the hashes through toAddress, right?
How about for deriving a list of private keys?

You can use the BIP32PrivKeyExt type.
let privKeySeq (secret: byte[]) (chain: byte[]) (c: int) =
    let privKeyExt = (new BIP32PrivKeyExt(new Org.BouncyCastle.Math.BigInteger(1, secret), chain))
    seq {
        for i in 0..c-1 do
            yield privKeyExt.ToPrivChild(i)
        }


Improve working with large CRLs from OpenSSL

Fixes: #25603

Checklist

[x] documentation is added or updated
[ ] tests are added or updated

This PR consists of 2 commits: documentation change and behavior change.
I think that it make sense to land the documentation change to all supported branches and either provide some big limit for CRL size to master branch and document it. What do you think about the limit (my commit leaves it unlimited)?

I think that tests can be exempted and it's up to y to decide whether this change goes to all branches or only to master branch (and #25609 to the rest ones)

@mattcaswell OK for stable branches?

Yes

This pull request is ready to merge

Merged to all the active branches. Thank you for your contribution.


keepachangelog Maven plugin integration

we'd need to open source the plugin before we can integrate it.

we'd need to open source the plugin before we can integrate it.

How so? Public hotels.com Github repo?


doc: add missing ADR files

Description
Add missing ADR files.
Related Issues:

#889
#967

Checklist:
Please delete options that are not relevant.

[x] My commits follow this conventional commits guide.

Disabled pattern MD043 - Required heading structure markdownlint 0.33.0 in codacy.
https://app.codacy.com/p/542167/patterns/list?engine=547ff16b-d57c-4d75-8067-5ccf3ea88a00


Implementing safer self updates

At work I've had a couple instances where users will run rye self update but it fails prior to completing. They are left with partial updates that break their Rye installations.
I want to submit a bug report for this, but I don't have a good MWE ready. I have a few screenshots available, but I'd need to redact a bunch of personal information.
These users are on Windows machines. One has developer mode enabled and the other user does not.

This basically is the same as the other issues related to concurrency. Rye needs locking for both it's internal ~/.rye folder as well as the .venv.

(If relevant: uv does lock the venv during install and sync commands.)

The concurrency issues have been related, but I'm thinking more generally about the update process.
The last two times I resolved this for coworkers I had only come in after-the-fact. So I was debugging the effect of a recent partial install they experienced.
Although niche, one example that comes to mind that is unrelated to the concurrency issues is when we first rolled out new network infra. For a while we had various traffic issues, so Rye became subject to some network instability.
In this example that I'm thinking of, what happened was the process failed because that infra killed the process before Rye completed its update. But enough of the update completed to partially update Rye.
So I guess my question is if the update is interrupted for any reason, is Rye's update logic designed to prevent partial updates? I haven't reviewed that logic in a while, so I apologize if I'm missing something.

For me a common failure comes from my shell prompt and the editor. Those run python and they can trigger stuff in rye that is not concurrency safe after updates.

That lines up with what I was thinking happened in these last two instances.
One user had a newer version of Rye and a version of Ruff prior to its minor version bump. And it was with Rye 0.32.0 IIRC. The other user was missing virtualenv.
What I told them was to close out of their editor the next time they update Rye.


Text Editor does not load any message files

[v0.3.0]
Astra does not appear to be recognizing any message files inside the [fe_assets_message] path, thus rendering the text editor part of Astra effectively nonfunctional.
If this is user error, I apologize.

Went through the code again to be sure, but I don't see any obvious issues. Can't reproduce it on my end either.
All this editor does behind the scenes is list out files in the following directories:

StreamingAssets/aa/Switch/fe_assets_message/us/usen
StreamingAssets/aa/Switch/fe_assets_message/pu/puppet
StreamingAssets/aa/Switch/fe_assets_message/so/sound

It will check both your mod's Data folder and the ROM.
v0.3.0 didn't have a lot of logging around this. Try this release and see if it logs any warnings or errors.


Add fp16 support for topk

Description
Add fp16 and fp64 support for topk operator. Required for certain machine translation tasks( and other NLP related tasks).
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

add fp16 and fp64 support for topk operator
Fixes https://github.com/apache/incubator-mxnet/issues/14125 https://github.com/apache/incubator-mxnet/issues/11156 https://github.com/apache/incubator-mxnet/issues/12705

For review - @anirudh2290 @apeforest @sxjscience
Same as this PR - https://github.com/apache/incubator-mxnet/pull/14912

@mxnet-label-bot add [FP16, Operator, pr-awaiting-review]

@anirudhacharya Seems like this change is breaking some tests, please fix those.

@anirudhacharya Seems like this change is breaking some tests, please fix those.

the tests that are failing are tests for topk with int32 dtype in test_ndarray:test_order

@anirudhacharya What's the path forward for this PR ?

@anirudhacharya: I see couple bugs in sort_op-inl.cuh, which show up when fp16 for topK is implemented. First of all, the lines 52, 63 are identical (see https://github.com/apache/incubator-mxnet/blob/master/src/operator/tensor/sort_op-inl.cuh):
return static_cast<mshadow::half::half_t>(lhs) < static_cast<mshadow::half::half_t>(rhs);
therefore:
cuda::less_half<half>()
cuda::greater_half<half>()

are identical too.
Second, instead of
    thrust::stable_sort_by_key(
      thrust::cuda::par.on(stream),
          key_iter, key_iter + (keys.size(0)), value_iter, cuda::greater_half<half>());

(here and on couple of other places) we should use
    thrust::stable_sort_by_key(
      thrust::cuda::par.on(stream),
          key_iter, key_iter + (keys.size(0)), value_iter.get(), cuda::greater_half<half>());

@drivanov yes, cuda::less_half<half>() and cuda::greater_half<half>() are defined similarly and should be looked into.
But the failure, as far as fp16 for topk and this PR goes, is here - https://github.com/apache/incubator-mxnet/blob/master/src/operator/tensor/sort_op-inl.cuh#L75. There is a problem when we try to perform DeviceRadixSort with half precision values. The documentation - https://nvlabs.github.io/cub/structcub_1_1_device_radix_sort.html says that DeviceRadixSort handles all numeric primitive types, including half precision. Either there is an issue with the way it is being called here or there is an issue with the routine itself.

@anirudhacharya:  cuda::less_half<half>() and cuda::greater_half<half>() are not only defined similarly, but they are identical

@anirudhacharya: cuda::less_half<half>() and cuda::greater_half<half>() are not only defined similarly, but they are identical and, definitely, it is a bug.

yes, sorry for sounding ambiguous. The intent of my previous comment was to ack that it was a bug.

As for the problem with DeviceRadixSort, yes, it's not comiled for mshadow::half::half_t, but it could be compiled for __half and I think we could use that. The solution here would be the usage of separate templates SortPairsWorkspaseSize...

Thanks for this suggestion, I will try this and see if it works. On the other hand if you have a solution for this already and you would like to make a PR for it, let me know, I can close this and we can merge your code.

@anirudhacharya: Yes, I do have a solution, but it is not quite completed yet.

I added the np.float16 testing to test_ndarray.py:test_order and all these tests are OK. But these tests are using the changes I've made for PR14443 (https://github.com/apache/incubator-mxnet/pull/14443), which is still open.
There is another test test_operator.py:test_order) which also was design mx.sym.topk and other related function. Now I am working on extension of these tests for np.float16. I plan to finish this task till tomorrow (08/23/2019)

Yes, I do have a solution, but it is not quite completed yet.

I added the np.float16 testing to test_ndarray.py:test_order and all these tests are OK. But these tests are using the changes I've made for PR #14443, which is still open.

then we can probably merge this, since i think this pr is pretty much merge ready.
@sxjscience @haojin2 could you review/merge this.


net: lib: lwm2m: offer config parameter to reuse LWM2M registration

To avoid a new registration on every connection drop and therefore data
traffic, try to use an existing LWM2M registration.
Hello reviewers,
think the idea is quite clear - if the connection drops, there is no reason to do a full LWM2M registration all the time.
This patch is just an proposal of what I want to achieve. The changes works but has an open issue:
[00:00:15.239,471] <err> net_lwm2m_engine: Unable to resolve address
[00:00:15.239,471] <err> net_lwm2m_rd_client: Cannot init LWM2M engine (-2)
[00:00:15.239,471] <inf> net_lwm2m_rd_client: ************** set_sm_state
[00:00:15.239,501] <inf> net_lwm2m_rd_client: ***** ENGINE_NETWORK_ERROR
[00:00:15.739,624] <inf> net_lwm2m_rd_client: ------------> new state
[00:00:15.739,685] <inf> net_lwm2m_rd_client: ***** ENGINE_NETWORK_ERROR
ct> modem_ctrl generic_at AT+CFUN=1
Sending "AT+CFUN=1"
[00:00:18.539,154] <dbg> ct: handle_reg_status: Registration status change received: 2
[00:00:18.539,215] <dbg> ct: handle_cell_update: Old cell id: 0xffffffff
[00:00:18.539,245] <wrn> ct: New cell id: 0x00ad1601
[00:00:18.539,245] <dbg> ct: handle_cell_update: Old tracking area code: 0xffffffff
[00:00:18.539,245] <wrn> ct: New tracking area code: 0xac0b
[00:00:18.587,005] <dbg> ct: lte_event_cb: LTE_LC_EVT_RRC_UPDATE: 1
[00:00:19.240,539] <inf> net_lwm2m_rd_client: ************** set_sm_state
[00:00:19.240,600] <inf> net_lwm2m_rd_client: ***** ENGINE_DO_REGISTRATION
[00:00:19.740,722] <inf> net_lwm2m_rd_client: ------------> new state
[00:00:19.740,783] <inf> net_lwm2m_rd_client: ***** ENGINE_DO_REGISTRATION
[00:00:19.740,905] <inf> net_lwm2m_rd_client: RD Client started with endpoint '89882390000071092269' with client lifetime 60
[00:00:19.741,271] <err> net_lwm2m_engine: Unable to resolve address
[00:00:19.741,302] <err> net_lwm2m_rd_client: Cannot init LWM2M engine (-2)
[00:00:19.741,302] <inf> net_lwm2m_rd_client: ************** set_sm_state
[00:00:19.741,302] <inf> net_lwm2m_rd_client: ***** ENGINE_NETWORK_ERROR
[00:00:19.828,491] <dbg> ct: handle_reg_status: Registration status change received: 5
[00:00:19.828,857] <wrn> ct: AT notification received: +CNEC_ESM: 50,0
[00:00:20.240,600] <inf> net_lwm2m_rd_client: ------------> new state
[00:00:20.240,631] <inf> net_lwm2m_rd_client: ***** ENGINE_NETWORK_ERROR
[00:00:27.742,492] <inf> net_lwm2m_rd_client: ************** set_sm_state
[00:00:27.742,553] <inf> net_lwm2m_rd_client: ***** ENGINE_DO_REGISTRATION
[00:00:28.242,675] <inf> net_lwm2m_rd_client: ------------> new state
[00:00:28.242,706] <inf> net_lwm2m_rd_client: ***** ENGINE_DO_REGISTRATION
[00:00:28.242,858] <inf> net_lwm2m_rd_client: RD Client started with endpoint '89882390000071092269' with client lifetime 60
[00:00:28.258,819] <inf> net_lwm2m_rd_client: *************** reusing registration
[00:00:28.258,850] <inf> net_lwm2m_rd_client: ************** set_sm_state
[00:00:28.258,850] <inf> net_lwm2m_rd_client: ***** ENGINE_REGISTRATION_DONE
[00:00:28.258,850] <dbg> ct: lwm2m_event_cb: Registration complete
[00:00:28.759,094] <inf> net_lwm2m_rd_client: ------------> new state
[00:00:28.759,124] <inf> net_lwm2m_rd_client: ***** ENGINE_REGISTRATION_DONE
[00:00:28.759,490] <inf> net_lwm2m_rd_client: ************** set_sm_state
[00:00:28.759,490] <inf> net_lwm2m_rd_client: ***** ENGINE_UPDATE_SENT
[00:00:29.023,620] <inf> net_lwm2m_rd_client: Update callback (code:2.4)

You see that once the connection drops, the state machine changes to state ENGINE_DO_REGISTRATION where a new registration is tried. If the connection comes back an event 'ENGINE_REGISTRATION_DONE' is sent. The state changes are a bit misleading. A proposal is: In case of an successful registration, a connection drop should result in a new state where most of the code of the function 'sm_do_registration' is executed but without actually doing a new registration.
I am open for discussion :)

Another issue: If the connection drops, the RD client is in a infinite loop trying to establish a connection. Is this on purpose and the user has to monitor the RD client and stop it at given time? The current behavior is quite bad for battery powered devices as we can not insist on having always a stable/good connection and if I understand the problem correctly this behavior also does not give the device time to get into PSM state to save battery power (the cpu should be idle for this).

Another issue: If the connection drops, the RD client is in a infinite loop trying to establish a connection. Is this on purpose and the user has to monitor the RD client and stop it at given time? The current behavior is quite bad for battery powered devices as we can not insist on having always a stable/good connection and if I understand the problem correctly this behavior also does not give the device time to get into PSM state to save battery power (the cpu should be idle for this).

I see that there is a retry mechanism ... I will create a new PR for that

CC @jheiskan81

Hello, I want to ask for updates on this PR.

Also, apparently the code doesn't build right now, please check the twister results.

I agree that observations must be kept. I will have to check what is needed to fix this but as far as I see, this needs deeper changes in how lwm2m engine is started.

I think you are starting to realize the point that I'm concerned.
I'm not happy to see the changes that try to send update packets when the engine is not 100% sure that update should work, and we have all the knowledge stored from previous session. The state machine of LwM2M engine is not very clear and not documented, so we might easily introduce new side effects if the change the flow. How did we end up in the de-registered state? If  we end up there, after succesfull deregistration, then definitely we cannot update, but we should register.
For really optimizing the registration and update, there is lots of work ongoing on queue-mode and sleeping. This should be the correct path. When we wake up from the sleep in the queue mode, we start with the registration update, and only if it fails, we back up into the registration.
If the aim is to improve the handling of the network error, so that we don't back off into de-register state so easily, then those should be done into the error handling. Not in the registration handling.

Butting in, since I've been in close exchange with @chmielewskiandreas regarding this feature.

 How about if IP changes? How about if server have tried to connect and have dropped the connection.

IP could of course change after a dropped connection, but AFAICT it's intended by LwM2M to be able to update the IP with a registration update. Same with DTLS, as long as the server validates the DTLS-Identitity (which it must) there's nothing preventing us from updating the registration with a new DTLS-Session (though DTLS session resumption would of course be preferred, but that's a separate issue).

I'm not happy to see the changes that try to send update packets when the engine is not 100% sure that update should work, and we have all the knowledge stored from previous session. The state machine of LwM2M engine is not very clear and not documented, so we might easily introduce new side effects if the change the flow. How did we end up in the de-registered state? If we end up there, after succesfull deregistration, then definitely we cannot update, but we should register.

We should try to be smarter about when to register vs trying to send a registration update, but the concept is sound and imho supported by a reading of the lwm2m standard. There's nothing in the standard that specifies that a registration should be discarded on network errors/connection loss, with or without queue mode. To the contrary, the standard even specifies that it SHOULD be retained even across reboots:
In order to avoid network traffic increase, the LwM2M Client SHOULD maintain previous observation states in case of reboot, power cycle.
IMHO the rd_client should use the last_updated + registration lifetime variables to figure out, whether the registration might still be valid and decide whether to update or register. A de-registration or if the server denies the registration update could just clear those variables to indicate that no valid registration is active. In all other cases, (including timeouts, network errors, etc) as long as the lifetime of the old registration is not expired, we SHOULD strife to update it instead of needlessly re-registering.

For really optimizing the registration and update, there is lots of work ongoing on queue-mode and sleeping. This should be the correct path. When we wake up from the sleep in the queue mode, we start with the registration update, and only if it fails, we back up into the registration.

You're correct, that this PR and a proper Queue-Mode implementation share a lot of concerns. Is there already a PR/branch with a proposed implementation somewhere we could have a look at?
If not so, I don't see why we shouldn't implement a "proper" handling of the registration state now already (not saying that that is this PR in it's current version, but we can discuss how a proper approach would look here and then implement what we agree on).
This requires some care of course, but overall shouldn't be that hard imho.
I think mostly it's just necessary to move all clearing of registration state from fault_cbs/timeout_cbs etc to the point where the new registration is performed. Or do you disagree?

Let me try to clarify this a bit.
I'm not against of doing UPDATE to renew your state on the server in case you have had your connection problems.
I think this PR tries to solve the problem by modifying that wrong path of the state machine:
https://docs.zephyrproject.org/latest/connectivity/networking/api/lwm2m.html#lwm2m-engine-and-application-events

Your intention was to modify the event where we start the registration phase. But as you can see, we might have gotten there by proper de-registration, or just that it might be the initial state. So all those are correct paths. Don't alter those by introducing intermediate states.
But as you can see, from network errors, we also drop into same "DO REGISTER" state. There is a room for improvement there. If you can detect a cases like IP have changed, NAT mapping have changed or similar, then those have to be done there, before we drop into "DO REGISTER". Because if we drop into that state, we already have code there that drop all the server registered observations. If those are lost, then we should do the full registration. Even if the UPDATE message would go through, we are out of synch now, and that is bad.
Does this clarify it?
It is not the wrong outcome that this PR is after. It definitely is a correct move. But I think it is not implemented on right path of the state machine.

Let me try to clarify this a bit.
I'm not against of doing UPDATE to renew your state on the server in case you have had your connection problems.
I think this PR tries to solve the problem by modifying that wrong path of the state machine: https://docs.zephyrproject.org/latest/connectivity/networking/api/lwm2m.html#lwm2m-engine-and-application-events
Your intention was to modify the event where we start the registration phase. But as you can see, we might have gotten there by proper de-registration, or just that it might be the initial state. So all those are correct paths. Don't alter those by introducing intermediate states.
But as you can see, from network errors, we also drop into same "DO REGISTER" state. There is a room for improvement there. If you can detect a cases like IP have changed, NAT mapping have changed or similar, then those have to be done there, before we drop into "DO REGISTER". Because if we drop into that state, we already have code there that drop all the server registered observations. If those are lost, then we should do the full registration. Even if the UPDATE message would go through, we are out of synch now, and that is bad.
Does this clarify it? It is not the wrong outcome that this PR is after. It definitely is a correct move. But I think it is not implemented on right path of the state machine.

@SeppoTakalo : Thanks for your comment and ideas. I really appreciate it! I have created a new PR that covers one corner case
https://github.com/zephyrproject-rtos/zephyr/pull/46687

Any update/comments on my last commit?


chore: use latest CLI

Since the related PR has been merged to main, the plugin should use the hash from main since the one from the branch no longer exists.
Fix #5

Can we resolve https://github.com/ignite/cli-plugin-network/issues/5 here as well?

@aljo242 good idea done!

We need to merge that PR to fix the tests from CLI, because there's an integration test on the network plugin.


Add context key for editor tab visibility

Rather than reading from 'config.workbench.editor.showTabs', which does not reflect tabs being hidden due to zen mode.
Fixes #139303

Makes sense, moved it up to contextkeys.ts.

I found in practice that the event handler gets hit 3+ times on startup anyways due to default configuration updates, but doesn't hurt to make sure.


Question: Multiple Thread Multiple Publisher

If i have multiple publisher, each one owns a thread for publish
is that thread safe?
or i should have a big lock for all publishers: lock the big lock before each publisher try to  loan() and publish() ?

@OrenHg if you have a setup with multiple threads, where every thread owns its own publisher so that they are not accessed by any other thread, it is safe to use.
The publisher is not thread-safe, but you can use multiple publishers concurrently from multiple processes or from within the same process with multiple threads.
But you are not allowed to share one publisher with multiple threads and perform concurrent operations on them.

Closing the issue since the question was answered


Provide remedies for issues deep in the dependency chain

Kudos on such a great idea!
I happened to be using an old version of connect and the command picked up many vulnerabilities.  https://nodesecurity.io/check/connect/2.20.0
The remedy is to upgrade the version of connect.  That's great, but how do I know which version of connect is not affected by a given issue?  As an example: https://nodesecurity.io/advisories/28 affects qs < 1.0.0, and that is pulled into the project:
<EMAIL_ADDRESS>><EMAIL_ADDRESS>
My only remedy at this point is to upgrade connect.  I am not going to screw around with the npm module.  I want to know what versions of connect are not affected.  Telling me that qs < 1.0.0 leads me down a wild goose chase to find which version of connection uses qs version >= 1.x.
I'd like to see another column in the output telling me which version of the direct dependencies are affected and which are usable.  In this case, through binary search I found that 2.24.3 was affected but 2.25.0 patched it (commit https://github.com/senchalabs/connect/commit/587dc1ab8672f120aa602f920db1b018aa8a214a).  The current table is:
 Name               Installed   Patched    Path                                                         More Info
 qs                 0.6.6       >= 1.x<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>               https://nodesecurity.io/advisories/28

And I am proposing a more directly useful output like:
 Name               Dependency      Installed   Patched    Path                                                         More Info
 qs                 connect         2.20.0      >= 2.25.0<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>               https://nodesecurity.io/advisories/28

Seeing that the patched version is 2.25.0, only a minor version bump, means I shouldn't expect too many API changes.  If it was only patched in a major version bump, I might act differently.
For more complicated situations where the issue lies in a dependency 4 levels deep, "dependency" still shows the direct dependency and the version numbers apply.  Seeing that it isn't patched gives me an immediate call to action to report to the package maintainer, who can then report it up the dependency chain.

we have some support for this in the platform at nodesecurity.io when checking a pull request. i do agree it would be nice to extend this support to the cli tool, and it's on our roadmap


Load os.environ into the config singleton

Description

LuigiConfigParser is a derived class of python's ConfigParser. When there is a need to have environment variable interpolation support in the cfg/ini file we can pass os.environ to the initializer to make it work. This PR looks for bringing that support to the project.
Motivation and Context

I think it would be neat if luigi.cfg could interpolate some environment variables. I think this is the minimum required amount of work to make this happen but I'm looking for guidance.
Have you tested this? If so, how?

I've tested this in the way of overriding luigi.configuration.get_config:
luigi.configuration.get_config = lambda: luigi.configuration.LuigiConfigParser.instance(os.environ)

Example luigi.cfg file:
[DatabaseConfiguration]
host=%(DATABASE_HOST)s
database=%(DATABASE_NAME)s
user=%(DATABASE_USER)s
password=%(DATABASE_PASSWORD)s

@gpoulin requesting comment on this PR when you get a chance, thanks!

I haven't worked on Luigi for a while, but based on the docstring, this method is deprecated. We probably shouldn't change the behaviour of a deprecated method.

@dlstadther Hey! I'm unsure if you're the right person to ask but I was wondering if something could be done with this PR as this is a great  behavior to have!
I've been able to see this issue requesting this behavior: https://github.com/spotify/luigi/issues/2354 and there are 2 persons that have thumbs-up the PR.
In the story linked above, @Tarrasch  mention that this behavior is something offered by ConfigParser by default, but it isn't.
Looking around from different posts and thread resolution on the internet, the fix is to pass the os.environ value to the ConfigParser so that it has access to the environment variable.
Let me know if you need additional informations fron us, as suspect this additions to cause no harm and that even though the function says it's deprecated, this the the main entry point to load the configuration object throughout the Luigi codebase.
Please let us know if there is another way to load environment variables into the configuration file that we may not be aware of.
Thanks!

@cabouffard I don't have much experience working with environment variables within Python. I can understand the usefulness of this functionality.

Does this PR solve the problem (@hugobast , @cabouffard )?
Can tests be added here, @hugobast ?
Can some documentation be added regarding this functionality?

@dlstadther thanks for getting back, I'll gladly do all test and documentation.

Does this PR solve the problem (@hugobast , @cabouffard )?

Absolutely it does solve the problem


chore: simplify the app

@Hongbo-Miao,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


*: Block reads, writes and schedules before finishing flashback

Signed-off-by: husharp<EMAIL_ADDRESS>
What is changed and how it works?

Issue Number: ref #13303
What's Changed:

Add Msg and peer's flashback state field

Check List
Tests

No code

Release note
None

/cc @JmPotato

/cc @Connor1996

Address comment. PTAL! @Connor1996 @JmPotato

Address all comments. PTAL! @Connor1996 @JmPotato

/test

/merge

/merge

/test

/test


Documentation updates

Geo functions
File table engine

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Ok, but:

pointInPolygon is not documented; by the way, it is the most well developed and useful geo function;
now File table engine should also work with files in user_files_path directory, as file table function, see https://github.com/yandex/ClickHouse/pull/2164 But I'm not sure, we don't have a test for this case and we need to check.


Clarify adding new razor component

Making it more clear that the added file is a Razor Component.

Thanks for the suggestion, but I think we'll keep the current language.


Add workload field

Fixes #76

Codecov Report

Merging #81 (9c03a70) into master (95013f8) will increase coverage by 0.78%.
The diff coverage is 84.12%.

@@             Coverage Diff              @@
##             master      #81      +/-   ##
============================================
+ Coverage     74.66%   75.45%   +0.78%
- Complexity      473      494      +21
============================================
  Files            79       80       +1
  Lines          1433     1483      +50
  Branches        150      158       +8
============================================
+ Hits           1070     1119      +49
- Misses          318      319       +1
  Partials         45       45

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/seedu/module/MainApp.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...n/java/seedu/module/logic/commands/AddCommand.java
100.00% <ø> (ø)
8.00 <0.00> (ø)

...n/java/seedu/module/model/util/SampleDataUtil.java
25.00% <0.00%> (ø)
1.00 <0.00> (ø)

src/main/java/seedu/module/ui/TaskCard.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...rc/main/java/seedu/module/model/task/Workload.java
78.94% <78.94%> (ø)
11.00 <11.00> (?)

.../java/seedu/module/logic/commands/EditCommand.java
95.94% <85.71%> (-1.12%)
12.00 <0.00> (ø)

src/main/java/seedu/module/model/task/Task.java
98.14% <87.50%> (+0.18%)
25.00 <1.00> (+2.00)

.../java/seedu/module/logic/commands/DoneCommand.java
88.46% <100.00%> (+0.46%)
10.00 <0.00> (ø)

...va/seedu/module/logic/commands/NotDoneCommand.java
88.46% <100.00%> (+0.46%)
10.00 <0.00> (ø)

...n/java/seedu/module/logic/commands/TagCommand.java
81.57% <100.00%> (ø)
10.00 <0.00> (ø)

... and 7 more

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 95013f8...9c03a70. Read the comment docs.


Remove option for users to configure fluentd-wc

.. for security reasons

User Goal - (Long term Goal )  Remove option for users to configure fluentd-wc - https://github.com/elastisys/compliantkubernetes-apps/issues/612 only when we have alternative in place else don't remove it. :)


Building liquid-dsp for Windows

Where can I find instructions to build and use liquid-dsp with Visual Studio on Windows?

Hi @inchawln
I have a branch of liquid that will work in msvc. It doesn't come with any solution files, but you can build them easy enough with cmake -G. https://github.com/quiet/quiet-dsp/tree/win