syntax error, unexpected tIDENTIFIER, expecting end-of-input

On a fresh install of Capitan 10.11.2, on Homebrew 0.9.5 (git revision 182f; last commit 2016-03-02).
Error: (eval):35: syntax error, unexpected tIDENTIFIER, expecting end-of-input
Please report this bug:
    https://github.com/Homebrew/homebrew-bundle/issues/
/usr/local/Library/Taps/homebrew/homebrew-bundle/lib/bundle/dsl.rb:29:in `instance_eval'
/usr/local/Library/Taps/homebrew/homebrew-bundle/lib/bundle/dsl.rb:29:in `process'
/usr/local/Library/Taps/homebrew/homebrew-bundle/lib/bundle/dsl.rb:21:in `initialize'
/usr/local/Library/Taps/homebrew/homebrew-bundle/lib/bundle/commands/install.rb:4:in `new'
/usr/local/Library/Taps/homebrew/homebrew-bundle/lib/bundle/commands/install.rb:4:in `run'
/usr/local/Library/Taps/homebrew/homebrew-bundle/cmd/brew-bundle.rb:67:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/brew.rb:21:in `require?'
/usr/local/Library/brew.rb:89:in `<main>'

What is the contents of your Brewfile?

# Caitlin's Brewfile

# Necessary Stuff
install openssl
install redis
install mysql
install postgresql
install rbenv

# Install Cask
install caskroom/cask/brew-cask

# Install Casks

# Utilities
cask install alfred
cask install flux
cask install bartender
cask install fantastical
cask install dropbox
cask install omnifocus

# Development
cask install atom
cask install iterm2
cask install sequel-pro
cask install psequel
cask install github-desktop
cash install sketch

# Other apps
cask install slack
cask install evernote
cask install hazel
cask install 1password
cask install back blaze

@caitlin Sorry for the confusion but the syntax of Brewfiles changed a pretty long time ago now. Check out the README for the new format (e.g. brew "openssl" and cask "slack") and shout if you need more help. Thanks!

Oh, thanks! Looks like I was following an outdated tutorial.

@caitlin Can you link to it so I can get in touch? Thanks!

https://mattstauffer.co/blog/setting-up-a-new-os-x-development-machine-part-2-global-package-managers


netplan config files require sudo to read them

Description
While testing a new base image I hit an issue where netplan files require sudo to be read. This seems to be expected behavior.

looks good


[ie/vmware] Add extractor

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Add extractor for VMware Explore Video Library which use the Brightcove Player for playback.
Fixes #10881
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[x] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

works perfectly, thank you!


choose columns returned with LookupScript

Hi,
I have tables Books and Comity. I need to be returned from LookupScript the title of the book in the comityRow (a comity reads a book). How can I select witch columns will be returned ?
At the moment, it returns  le codeBook and the refBook (1st string in my table, i guess).
I need nameBook an not refBook.

I'm sorry (again). I had the answer in the CustomerLookup class of the demo solution.
We just have to create it
I'll check harder next time.
Cheers

It seems that the CustomerLookup class PrepareQuery void had to be overrided
Could someone confirm that's the right way to choose the returned column ?
namespace OragNetAdmin.Oragnet.Scripts
{
using Entities;
using Serenity.ComponentModel;
using Serenity.Data;
using Serenity.Web;
[LookupScript("OragNet.OA")]
public class OaTitreLookup : RowLookupScript<OaRow>
{
    public OaTitreLookup()
    {
        IdField = OaRow.Fields.CodeOa.PropertyName;
        TextField = OaRow.Fields.TitreOa.PropertyName;
    }

    protected override void PrepareQuery(SqlQuery query)
    {
        var fld = Entities.OaRow.Fields;
        query.Select(fld.TitreOa)
            .Where(
                new Criteria(fld.TitreOa) != "" &
                new Criteria(fld.TitreOa).IsNotNull());
    }
}

}

Just add "LookupInclude" attribute to the property that you want to include in the lookup (do it in your xyzRow.cs). For performance reasons, lookups by default only include the id field and the name field of your entity.
Bye

I did that but when I try to change TextualField to titreOA it has no effect on the result : I get the refOA in the Select when I try do associate a book (OA) to a new comite.

I got it! TextualField as nothing to do here. I did not change RefOA in TitreOA in NameField in the ComitesRow.
StringField INameRow.NameField
{
get { return Fields.TitreOa; }
}
Thanks!!


Fix "Complexity" issue in kyu_3/line_safari_is_that_a_line/walker_class.py

Cyclomatic complexity is too high in method position_plus. (9)
https://codeclimate.com/github/iKostanOrg/codewars/kyu_3/line_safari_is_that_a_line/walker_class.py#issue_67298d2f1dbd610001000912

Cyclomatic ComplexityCyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:
Construct | Effect on CC | Reasoning
-- | -- | --
if | +1 | An if statement is a single decision.
elif | +1 | The elif statement adds another decision.
else | +0 | The else statement does not cause a new decision. The decision is at the if.
for | +1 | There is a decision at the start of the loop.
while | +1 | There is a decision at the while statement.
except | +1 | Each except branch adds a new conditional path of execution.
finally | +0 | The finally block is unconditionally executed.
with | +1 | The with statement roughly corresponds to a try/except block (see PEP 343 for details).
assert | +1 | The assert statement internally roughly equals a conditional statement.
Comprehension | +1 | A list/set/dict comprehension of generator expression is equivalent to a for loop.
Boolean Operator | +1 | Every boolean operator (and, or) adds a decision point.
Source: http://radon.readthedocs.org/en/latest/intro.html


add --set to the osm cli

Adds ability to pass in arbitrary arguments to osm cli via the --set arg
and resolves #1644
Please describe the motivation for this PR and provide enough
information so that others can review it.
Please mark with X for applicable areas.

New Functionality      [ x]
Documentation          [ ]
Install                [x ]
Control Plane          [ ]
CLI Tool               [x ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests / CI System      [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?
no & no

Hey @rajdhandus, are you still planning to work on this? If not, I'll plan to take what you've done here so far and finish it up.

I made a couple small changes to this:

Refactor how the values are merged before passing them to Helm so that --set only works for chart values that can't be specified with another flag, e.g. --set OpenServiceMesh.meshName=name will behave as if no --mesh-name was passed. This will prevent values from circumventing any custom validation tied to the value of the flag. I tried to make this behavior clear in the help text for the --set, flag, but any suggestions to improve it are very much welcome.

Refactored TestResolveValues() to be table-driven, added tests equivalent to the Ginkgo-based ones initially added here.

Codecov Report

Merging #1654 (1bb84b4) into main (1caa924) will increase coverage by 0.10%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main    #1654      +/-   ##
==========================================
+ Coverage   57.85%   57.96%   +0.10%
==========================================
  Files         141      143       +2
  Lines        5820     5854      +34
==========================================
+ Hits         3367     3393      +26
- Misses       2450     2458       +8
  Partials        3        3

Impacted Files
Coverage Δ

cmd/cli/install.go
65.62% <66.66%> (+0.49%)
:arrow_up:

pkg/kubernetes/event_handlers.go
67.39% <0.00%> (-0.36%)
:arrow_down:

cmd/osm-controller/osm-controller.go
22.99% <0.00%> (-0.13%)
:arrow_down:

...certificate/providers/vault/certificate_manager.go
48.19% <0.00%> (ø)

pkg/certificate/providers/vault/types.go
100.00% <0.00%> (ø)

pkg/kubernetes/events/event_pubsub.go
100.00% <0.00%> (ø)

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 1caa924...1bb84b4. Read the comment docs.


Icons rendered small on Kitty due to following nbsp

Info

Operating System: Linux 6.1.58-1-lts
Shell: fish
Terminal: kitty 0.29.2 + tmux 3.3a
nvim --version: NVIM v0.10.0-dev-1334+gd2d38858d1
fzf --version: 0.42.0 (d471067e)

[x] The issue is reproducible with mini.sh

fzf-lua configuration

require('fzf-lua').setup({
})

Description
Icon rendered small on kitty terminal due to following nbsp.
See https://github.com/kovidgoyal/kitty/issues/1463, kitty will only render icons as full-width when it is followed by at least on space.
Screenshots:

On kitty:

Same tmux pane on alacritty:

Setting opts.nbsp to plain space seems to fix this issue, but it will break the live_grep finder (e.g. cannot jump to the correct file and location), not sure if that breaks other functionalities.
Tried with opts.nbsp = ' \xe2\x80\x82' (space followed by nbsp), but that makes the gap between the icon and the text too large.
Could you help me figure out how can I have full-width nerd font icons on kitty without breaking existing functionalities? Thanks in advance!

Take a look at the default options section:
require('fzf-lua').setup {
  -- padding can help kitty term users with
  -- double-width icon rendering
  file_icon_padding = ' ',
}

Thank you for your assistance! I attempted to adjust the opts.file_icon_padding, but encountered a similar issue when setting opts.nbsp to ' \xe2\x80\x82' – the space between the icon and the text appeared slightly too large.
I'm very grateful to @kovidgoyal for addressing this specific case in Kitty! With the recent patch he added, using kitty nightly now allows for a seamless full-width icon display, whether followed by a space or a nbsp. Now setting opts.nbsp to '\xc2\xa0' solves the issue.
Setting it other invisible values, e.g. '\xe2\x80\x82' (the default nbsp value) does not work, however, but it should be easy to solve.


Add --force in docker volume rm to fix out-of-band volume driver deletion

- What I did
This fix tries to address the issue in raised #23367 where an out-of-band volume driver deletion leaves some data in docker. This prevent the reuse of deleted volume names (by out-of-band volume driver like flocker).
- How I did it
This fix adds a --force flag in docker volume rm to forcefully purge the data of the volume that has already been deleted.
Related documentations have been updated.
- How to verify it
This fix is tested manually with flocker, as is specified in #23367.
- Description for the changelog
Add a --force flag in docker volume rm to forcefully purge the data of the volume that has already been deleted.
- A picture of a cute animal (not mandatory but encouraged)
This fix fixes #23367.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Will this help in the situation where the docker daemon gets into a confused state? Can you force delete a volume that does not show up from the output of docker volume ls?

@jessesuen That's the idea. --force would make sure docker doesn't have any internal state for that volume.

Isn't this only treating the symptom and not the underlying problem? Adding a force option allows us to recover from the situation which is nice, but the general usage for recreating a volume is still not ideal. Basically, every time we want to create a volume on a docker host in a cluster (who's internal state may or may not be consistent), we have to follow these sequence of steps:

docker volume create -d flocker -name volname
docker volume ls
does my volume appear in the output of step 2?
if no, docker volume rm -f volname, docker volume create -d flocker -name volname

It seems that the docker volume create itself should somehow be validating this since after step #1, it currently indicates successful volume creation without actually creating the volume. That, IMO, is the real issue. A --force option just lets us recover from that issue but we should be trying to prevent the need of a force option in the first place.

@jessesuen These are separate concerns.

@cpuguy83 @jessesuen The pull request has been updated. Please let me know if there are any issues.

@jessesuen Currently the behavior of docker volume create is, if volume already exist, the docker volume create will silently success.
On the other hand, volume plugins are provided not in docker itself so whether or not a volume exists depends on the volume plugin.
I noticed that /VolumeDriver.Get and /VolumeDriver.List have not been added until 1.10.0 so it might be an issue for drivers written for old version of docker.
I haven't had a chance to look into the details of flocker but when I installed flocker on AWS with the default settings, I could see flocker is trying to send v1.15 remote API requests.
Overall I also think docker volume create is a separate issue. Will spend some time to investigate further.

All tests passed. The only failure is due to the vendor/engine-api. Will create a pull request to engine-api if design review is passed.

we're good with this from a design perspective

Thanks @thaJeztah @cpuguy83 a pull request in engine-api has been opened:
https://github.com/docker/engine-api/pull/321
Please let me know if there are any issues.

https://github.com/docker/engine-api/pull/321 was merged, so you can update the vendored files

Thanks @thaJeztah @cpuguy83 the pull request has been updated with engine-api revendorded. Please take a look and let me know if there are any issues.

It looks that I previously updated the documentation on v1.24, not v1.25. So just updated the pull request to change the documentation on v1.25 instead.

So just updated the pull request to change the documentation on v1.25 instead.

Awesome, thanks!

LGTM

LGTM :cat:
Moving to docs-review

@yongtang needs a rebase :angel: (probably something about engine-api vendoring :stuck_out_tongue_closed_eyes: )

One nit for docs, but docs LGTM otherwise.
@yongtang do you also want to take care of the completion scripts? Or want that to be handled in a separate PR? Think these are the locations to add the flag;

https://github.com/docker/docker/blob/master/contrib/completion/bash/docker#L2856
https://github.com/docker/docker/blob/master/contrib/completion/zsh/_docker#L1360-L1364

Thanks @thaJeztah. The documentation has been updated. I also tried to address the zsh and bash completion. Please let me know if there are any issues.

thanks, LGTM
ping @vdemeester docs LGTY?

docs LGTM 👼


Add a wiki: Ashes of Creation Wiki

An anonymous user has submitted a new wiki via our submission form.
Link to origin wiki: https://ashesofcreation-archive.fandom.com/wiki/Ashes_of_Creation_Wiki, https://ashesofcreation.fandom.com/wiki/Ashes_of_Creation_Wiki
Link to destination (independent) wiki: https://ashesofcreation.wiki/

Released in v2.4.6


LspInstall installs nothing and cannot easily see installation logs

:LspInstall pyright

After executing this, :LspInstallInfo says that the pyright server is installed successfully (installed today).
However, lsp servers can't start:
cmd ["$HOME/.local/share/nvim/lsp_servers/python/node_modules/.bin/pyright-langserver"] is not executable.

In the directory $HOME/.local/share/nvim/lsp_servers/ folders like python, tsserver, etc. are created but they are just empty directories.
FYI, I am using macOS and my neovim version is NVIM v0.6.0-dev+1556-gc642f3ac2                                                                                .
Plus, I cannot find any relevant log files; I wanted to show the output of installer scripts but apparently the GUI window doesn't have any feature. How can I debug this?

Hey! That sounds really weird indeed... What are your Node and npm versions? Also are you able to successfully LspUninstall these servers? What plugin version are you on?

Plus, I cannot find any relevant log files; I wanted to show the output of installer scripts but apparently the GUI window doesn't have any feature. How can I debug this?

Yeah there are no structured logging in place today unfortunately 😬. The stdout/stderr buffers are released if a server is successfully installed, and are only expanded in the GUI should a server fail to install.
Just for the sake of ruling out possibilities, are you able to properly install pylsp (installs via pip) or perhaps rust_analyzer, clangd, elixirls (sort of random servers that are not npm based)?

I am on the current latest main branch: a75b8df.
I was using node v16.5.0 and npm 7.19.1 --- running npm install pyright or any node command works without any problems. node and npm are on the global $PATH (e.g. /usr/local/bin/node) so they should be runnable in neovim as well. Indeed, !which npm returns the correct path.
I tried rust and clangd (which doesn't use npm) and they work well for me. I see lsp_servers/rust/rust-analyzer and clangd/clangd_12.0.1. So this should be probably node-related issue for me.

:LspUninstall works -- I think it simply removes the directory.

Cool :+1:. Yeah it just removes the directory, just wanted to rule out potential permission errors.

Even if I didn't have pyright installed, npm install pyright will not install node modules into stdpath("data")/lsp_servers/python/.... I think the command does nothing on this directory; wouldn't it install node modules globally or on some different path? The npm installer should be transparent to global node and npm (as https://github.com/kabouzeid/nvim-lspinstall does).

This is really odd behavior though. It should be installing the provided packages in the current working directory, which in the case of pyright is stdpath("data")/lsp_servers/python. Only if you provide the global option to npm will it install in the "global" path. It also should not care about any globally installed packages - if anything it might just speed up the installation as the package might already be cached locally. But it should always produce a node_modules output. This plugin doesn't (intentionally) install, or in any way modify, anything outside of stdpath("data")/lsp_servers
Could you try reverting the nvim-lsp-installer to either dbe99dd012217c872fc257ab4214ee7eadc8fd42 or 31f77fc8d638001a1dc548e45580714b9a63d3f2 and see if it makes pyright actually install? If it doesn't, I am wondering if you maybe have some npm configuration that might be overriding some default behavior. Would you mind sharing the output of $ npm config ls -l?

I figured out why. From https://stackoverflow.com/questions/14032160/npm-install-module-in-current-directory

Locally: npm looks for an existing folder called node_modules in the current directory and creates a folder for each package you install in that folder. If it can't find an existing node_modules folder here, it then looks through the current directory's ancestors until it finds one. If it can't find one, it creates one in the current directory.

I somehow happened to have $HOME/node_modules and that was why -- the package were being installed there. I didn't know this until today! Although after removing that directory I find npm install pyright still install the packages on ~/node_modules because I had $HOME/package.json as well.
Bottomline: I removed $HOME/node_modules and $HOME/package.json (which had been created accidentally) and it works now well. To avoid such errors, I think you need to **first make sure package.json exists in the current LSP servers directory (e.g. .../nvim/lsp_servers/python) before running npm install.
Indeed, https://github.com/kabouzeid/nvim-lspinstall does the thing in the right way:
  install_script = [[
  ! test -f package.json && npm init -y --scope=lspinstall || true
  npm install pyright@latest
  ]]

So you'll need to have npm init -y --scope=....

Ahh of course! Will fix asap, nice catch :)

#97 ought to fix this, was able to repro locally and tested the fix

Thank you very much for such a fast response and patch!

Hehe thanks! This particular issue makes me reconsider running the installation in a tempdir and only upon successful completion move it to the stdpath location. I remember there being some cross platform difficulties with doing so though.

Thanks for fixing this! I'm in the middle of transitioning LunarVim to use this, so I got worried that none of the node servers are going to install correctly 😄


qosify: speedup builds by using host clang/llvm

Add host_dependencies config option to gen_config.py script to handle potential host dependencies.
If available use clang/llvm from host instead of building it which speeds up image generation by some 30 minutes
Add qosify profile
Switch to use qosify profile instead of installing package directly

@blogic this technically works but the bpf backport is incomplete. It doesn't match up with what we have in the OpenWrt master branch.
The latest patch from Felix solves this inside the build system if manually downloaded a pre-packaged llvm-bpf build. This could be the cleanest solution.

Merged in the next branch.


Notification asForegroundService not removing from the tray after clicked on the action button.

Notification with actions not removed after click on the action.notification stays in notification tray in all state foreground, background and in killed state.
notifee.displayNotification({     title: 'Test',     body: 'Notification Test',     android: {         channelId: 'Test',         importance: AndroidImportance.HIGH,         asForegroundService: true,         actions: [             {               title: 'Option 1',               pressAction: { id: '1',launchActivity:"default" },             },             {               title: 'Option 2',               pressAction: { id: '2',launchActivity:"default" },             }           ]} });

Hi there!
What versions, what test device?
https://stackoverflow.com/help/how-to-ask

Hello @mikehardy
@notifee/react-native": "^4.0.1
Device - Pixel 3 API 29

@ydv0121 thanks for the details, this should be fixed now in our latest version v4.1.0. please re-open if still experiencing the issue.


Use a stable version of Google Benchmark

Build fails because of updates in the main branch of Google Benchmark.
In file he-samples/cmake/gbenchmark.cmake, change GBENCHMARK_GIT_TAG from main to a stable release. v1.5.6. works.
Here is the exact error when installing gbenchmark:
[100%] Built target benchmark_main
[ 35%] Performing install step for 'ext_gbenchmark'
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
[ 90%] Built target benchmark
[100%] Built target benchmark_main
Install the project...
-- Install configuration: "Release"
-- Installing: /home/user/he-toolkit/he-samples/build/lib/libbenchmark.a
-- Installing: /home/user/he-toolkit/he-samples/build/lib/libbenchmark_main.a
-- Installing: /home/user/he-toolkit/he-samples/build/include/benchmark
-- Installing: /home/user/he-toolkit/he-samples/build/include/benchmark/benchmark.h
-- Installing: /home/user/he-toolkit/he-samples/build/lib/cmake/benchmark/benchmarkConfig.cmake
-- Installing: /home/user/he-toolkit/he-samples/build/lib/cmake/benchmark/benchmarkConfigVersion.cmake
-- Installing: /home/user/he-toolkit/he-samples/build/lib/pkgconfig/benchmark.pc
-- Installing: /home/user/he-toolkit/he-samples/build/lib/cmake/benchmark/benchmarkTargets.cmake
-- Installing: /home/user/he-toolkit/he-samples/build/lib/cmake/benchmark/benchmarkTargets-release.cmake
-- Installing: /usr/local/share/doc/benchmark
CMake Error at src/cmake_install.cmake:152 (file):
  file INSTALL cannot make directory "/usr/local/share/doc/benchmark": No
  such file or directory.
Call Stack (most recent call first):
  cmake_install.cmake:47 (include)

make[3]: *** [install] Error 1
make[2]: *** [ext_gbenchmark/src/ext_gbenchmark-stamp/ext_gbenchmark-install] Error 2
make[1]: *** [CMakeFiles/ext_gbenchmark.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Thank you for pointing this out. I will update the tag to use the stable release.

PR has been merged to change the Git tag from main to v1.5.6.


Use cic up everywhere

I have updated:

writing playbooks
running ansible

to use the cic up command instead of the cic start|stop and commands that we have deprecated.
This fixes #70

LGTM - Merging.


Created a VersionedPactUrl to be used to reference versioned pacts.

We are using this class internally for one of my clients. Let me know what you think. Thanks! :)

Thanks! That will be useful.


C++: Implement Instruction.isResultConflated

This predicate replaces isChiForAllAliasedMemory, which was always intended to be temporary. A test is added to IRSanity.qll to verify that the new predicate corresponds exactly with (a fixed version of) the old one.
The implementation of the new predicate, Cached::hasConflatedMemoryResult in SSAConstruction.qll, is faster to compute than the old isChiForAllAliasedMemory because it uses information that's readily available during SSA construction.

There are test failures in the sound IR. I hadn't found these tests because I apparently grepped for the wrong thing. I'll investigate.


1505: preserve the settings accordion panel state on refresh and form submit

Delivers #1505.

Looks good. This is in conflict now though :(

Thanks @steveswinsburg, all wrongs have been righted!


Epic 2.14 Frontend for Writing Feedback Generator

Frontend Implementation: Writing Feedback Generator Tool

Overview
Upon completion of Issue #119 for developing the Writing Feedback Generator, the FE can be implemented. This issue focuses on the frontend implementation to deliver an intuitive interface for educators to generate detailed and constructive feedback on student writing assignments based on specified criteria.
Details from Backend Issue (#119):
The Writing Feedback Generator tool generates personalized feedback by analyzing uploaded student work against defined rubric criteria or feedback focus. The backend supports inputs such as grade level, assignment description, and writing samples, producing feedback that highlights strengths, areas for improvement, and suggestions for enhancement.

Scope of Work

Tool Description
The Writing Feedback Generator tool will enable users to input writing samples and rubric criteria, generating detailed feedback that can be displayed, reviewed, and exported.

Design Implementation
The frontend should align with the provided design mockups to ensure a seamless and user-friendly interface.
Design Mockup

API Integration

Use the backend API to fetch feedback generated for writing samples.
Ensure smooth communication between the frontend and backend for submitting inputs and retrieving outputs.

Features to Implement

Input Form: Create a form for users to input grade level, assignment description, rubric criteria, and upload student writing samples.
Feedback Display: Present feedback in a structured format, including strengths, areas for improvement, and actionable suggestions.
Export Functionality: Add options to export feedback as PDF or DOCX documents.
Validation: Implement input validation to ensure data is complete and meets required formats.

Acceptance Criteria

[ ] The frontend matches the design mockup and provides a seamless user experience.
[ ] The input form captures user data accurately and sends it to the backend API.
[ ] Generated feedback is displayed in a clear and structured format.
[ ] Export functionality (PDF and DOCX formats) works correctly.
[ ] The tool is responsive and functional across devices and browsers.

Resources

Design Mockup
Backend API Documentation
Backend Issue (#119)

Notes
This issue depends on the backend implementation. Frontend developers should refer to the API documentation to test integration and ensure the generated feedback meets user expectations for clarity and quality.

I am interested to work on this! How can I start contributing and collaborating.

Hey @sal-tarek , to contribute, you can choose an issue, clone the branch and start your work. More details on this on the Onboarding checklist. For Collaborations, you will find this article helpful


ipAllocMap is not correct

Description

[root@gs-predcos-node21 ~]# netctl net inspect vlan45 |more
{
"Config": {
"key": "default:vlan45",
"encap": "vlan",
"gateway": "<IP_ADDRESS>",
"networkName": "vlan45",
"nwType": "data",
"pktTag": 45,
"subnet": "<IP_ADDRESS>/24",
"tenantName": "default",
"link-sets": {},
"links": {
"Tenant": {
"type": "tenant",
"key": "default"
}
}
},
"Oper": {
"allocatedAddressesCount": 233,
"allocatedIPAddresses": "<IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-10.0.4
5.215, <IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>",
"availableIPAddresses": "<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>-<IP_ADDRESS>, 10.
0.45.219, <IP_ADDRESS>-<IP_ADDRESS>, <IP_ADDRESS>",
Expected Behavior

Observed Behavior
allocatedAddressesCount and allocatedIPAddresses is not correct,   actully It is only 126 ip.
Steps to Reproduce (for bugs)

My mechine is rebooted.
I delete dirty data  in etcd throngh  etcdctl rm /xxx/oper/xxx and /xxx/state/xxxx,  but
netctl net inspect vlanxx ,  is not correct.
how I do ?
Your Environment

netctl version 1.7.1
Orchestrator version (e.g. kubernetes, mesos, swarm):   mesos, dcos
Operating System and version        centos7

yes the netctl net inpsect is use the netmaster cache.
So maybe u should restart the netmaster.

not netmaster cache , when server is hang,  server is poweroff,  netmaster will make many no-released ip.    contiv is plugin for docker,   product env  is not permitted restart docker.

not netmaster cache , when server is hang, server is poweroff, netmaster will make many no-released ip. contiv is plugin for docker, product env is not permitted restart docker.

u dont understand my answer.
I mean the when u use  net inspect command，the result show u the netmaster  cache although u delete the data in etcd.


VARCHAR string in generated ALTER statement missing length

System information:

Operating system (distribution) and version - MacOS 10.14 Mojave
DBeaver version - <IP_ADDRESS>101161839

Connection specification:

Database name and version - MariaDB 10.3
Driver name - Default
Do you use tunnels or proxies (SSH, SOCKS, etc)? NO

Describe the problem you're observing:
When converting a field from one type to VARCHAR, the generated ALTER statement does not specify the required length parameter for VARCHAR e.g. VARCHAR(50):
ALTER TABLE Foo MODIFY COLUMN boo VARCHAR NOT NULL;
While the string in the dropdown is editable to add the length eg (50), without it being there as a placeholder hint, most will not realize the error when they try to save the change.
Steps to reproduce, if exist:
Go into table editor, change a non-VARCHAR field to VARCHAR, click "save", and see the statement that is generated

Will be fixed in scope with https://github.com/dbeaver/dbeaver/issues/11309


Print Screen Does Not Flash Screen

When you print screen in eOS it should make your screen flash to show that an image has been taken. With eXGTK, it does not

Very hard to debug.

I know. :P Why else do you think I waited this long to make a bug report

This doesn't work in Loki with the default theme, so I'm going to close it in favor of #71


Get uswds trussworks scss build working

In package.json

Reworked the build system to use craco (similar to what SimpleReport uses).
Removed unused gulp dependencies
Removed unused node-sass (to avoid confusion since it's no longer used)
uswds-gulp became uswds in package
react-scripts build -> craco build

The layout
|-- ./App.tsx
|-- ./global.scss
|-- ./index.tsx
`-- ./styles
    |-- ./styles/_print.scss
    |-- ./styles/_reportstream.scss
    |-- ./styles/_uswds_overrides.scss
    `-- ./styles/_uswds_settings.scss

File
Description

global.scss
Simply includes other resources in the correct order. ONLY referenced from index.tsx

_print.scss
Styles related to printing pages to pdf.

_reportstream.scss
Styles for Report Stream specific components/elements

_uswds_overrides.scss
This is processed after USWDS libraries and Trusswork's React library. It can be use to override things from those libraries if they can't be controlled by a theme setting

_uswds_settings.scss
USWDS theme specific variables

Note: theme/uswds-theme-general and the other "USWDS theme include" files are loaded directly from USWDS distribution. This is done for forward compatibility. When USWDS modifies these files, merging and maintaining them will be painful. Any variable that are changed should be copied out of these files and put into _uswds_overrides.scss
This approach also makes it trivial to see what's we've changed from the USWDS defaults.
TODO:

Need to add details about the system to a README or something.

@drew-usds Can you check out this branch and see if the styles seem like they are working for you?

@drew-usds Merged into main. You'll get an error if you try to update this branch.


Firefox, height = 0?

I downloaded the latest version of firefox to test if fluidplayer works correct in this browser, unfortunately it doesnt. For some reason it sets the height to 0 which i found out in the developer mode.

It seems the problem is with the var 'clientHeight' in fluidplayer.js, when i set this manually to a certain height it works fine, the player is visible. I only have this problem in firefox, other browsers, including mobile, work just fine.

You can try this css it worked for me there was a conflict with bootstap helpers for me.
My solution is:
.fluid_video_wrapper {
    width: 100%;
    max-width: 100%;
    height: 0;
}
.fluid_video_wrapper {
    padding-top: 56.25%;
}

Maybe it helps.

It was actually a pretty simple solution for me.
After adding fillToContainer:true to LayoutControls it worked like it should work.
Thanks for your thoughts.


fix: fixed an issue with adv ports not being reversed in CI

Signed-off-by: Anton Biriukov<EMAIL_ADDRESS>

Codecov Report
Patch and project coverage have no change.

Comparison is base (566bac7) 90.62% compared to head (2454974) 90.62%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #310   +/-   ##
=======================================
  Coverage   90.62%   90.62%
=======================================
  Files          54       54
  Lines        2293     2293
=======================================
  Hits         2078     2078
  Misses        148      148
  Partials       67       67

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Don't transfer files on order copy

When copying order, use just the old text fields and don't copy the old files from the original order.

That never was the case.


Face Mesh eye closing does not work

I have noticed in the demo gif of face mesh when eyes are closing the landmarks do not move to correct position. It works correctly for mouth.
https://google.github.io/mediapipe/images/mobile/face_mesh_android_gpu.gif
I am facing similar problem on Android where head movement, mouth movement is working but eye lid closing does not work. Is this a weakness of this model or how to fix this?
This page, https://google.github.io/mediapipe/solutions/face_mesh, describes face mesh solution powers ML Kit face contours API. I have tested ML Kit face detection yet the landmarks work correctly when eyes are partially or fully closed.

Closing this issue as, https://google.github.io/mediapipe/solutions/iris can help solve above problem.


Force refresh of TypeSpec PRs when version is updated in main

PR #28138 caused a break in main.  The PR was started when main was using TypeSpec 0.53, and check TypeSpec Validation passed on this version.  When the PR was merged, main had upgraded to TypeSpec 0.54, but check TypeSpec Validation was not re-run.  So the PR was able to merge with all checks green, but then cause a failure in main.
One way to fix this would be to enable setting "Require branches to be up to date before merging" in the branch protection for main, but we feel this is infeasible due to the large number of unrelated PRs submitted to this repo.
Another option might be to have a pipeline that manually triggers a refresh of all open PRs (or just TSP PRs) when TSP is upgraded in main.  It could use a GitHub API to find all PRs and re-trigger checks.
return github.pulls.updateBranch({
  owner: context.repo.owner,
  repo: context.repo.repo,
  pull_number: pr.number,
});

The manual refresh could work two ways:

Force re-run of checks, but don't merge to PR branch
Force update of PR branch from main

The former is more lightweight, since it doesn't push any changes to PRs we didn't create.  The latter might help spec authors working locally, since they generally forget to merge from main when TSP is upgraded.

As I mentioned in the Teams chat I don't think we should do anything here but definitely don't like to the idea of automatically updating branches. We should stop having breaking changes in our tools, but in exceptional cases we can rerun just the TypeSpec validation pipeline or just deal with the breaks in main.
Another idea is we could also consider enabling merge queue if we really worry about having main broken temporarily, but I don't think it is all that big of a deal if it is broken for a little while.

We should stop having breaking changes in our tools

I don't think this is a realistic goal.   For example, we want to be able to keep adding more rules to both the TypeSpec Linter and TypeSpecValidation.  We rely on the ability to atomically add the new rules and fix exsting specs.  The only problem are the in-flight PRs that don't rerun checks (or merge from main) before merging to main.


Clip retirement

Added bug fixes to clip retirement.
The big bug was with saving, triple check with all diffrent kinds of labels to ensure that Pyrenote can save without werid errors
When creating projects, click every button in the admin portal to make sure the settings are good. Be sure to enable next_button on the feature toggle popup and try doing 2 projects: 1 with the experimental quality control pipeline and test that out.
Test on mutliple users to make sure the projects are working as intended. IOU projects should allow people to redo the clips without showing annotations from other users. Normal projects do not do this

it does not automatically load the annotations - users need to refresh the page and open each clip again in order for them to show as "annotated"

This is consistent with normal behavior, awesome I think we are good to merge!


ListBoxItems not drawing correctly when bound collection updates in 11-preview5

Describe the bug
After updating to preview5 ListBoxItems are not always getting displayed correctly when the bound collection is changing.
In the sample below the collection is getting filtered using a search text.
When scrolling items out of the view they seem to redraw correctly when they appear again
Expected behavior
After collection changes the items should be drawn correctly
Screenshots

Desktop (please complete the following information):

OS: Windows 11
11.0.0-preview5

Can you provide a minimal sample project?

I have created a minimal sample project, see here:
https://github.com/agnauck/AvaloniaListBoxBug1

yes it seems to be related to the VirtualizingStackPanel rewrite.
When virtualization is disabled it works as expected.

This is a threading bug. Dynamic data sends multiple change updates[^1] on a background thread, which are dispatched to the UI thread with Normal priority, but this priority is lower than Layout priority so what happens is:

Collection changed
Layout
Collection changed
Layout
Collection changed
Layout
[...]

VirtualizingStackPanel maintains its own mapping of Items -> Containers, and updates that mapping when a CollectionChanged event is received, but it also expects that mapping to be up-to-date when a layout is performed.
I think the fix is to dispatch CollectionChanged events to the UI thread at a higher priority than Layout here:
https://github.com/AvaloniaUI/Avalonia/blob/31a691c55032e5be69776f4279612a516c415bcc/src/Avalonia.Controls/Utils/CollectionChangedEventManager.cs#L144
[^1]: WPF can't handle adds/removes of more than one item so dynamic data has to send a CollectionChanged for each item added/removed individually)


Style not generated when using classname composition

When using the reactive syntax and a composed classname to set the styles in a component, the Style it styles don't seem to be generated. Example:

The first rule is correctly applied, but when the second classname is given to the element, nothing happens (the background is still red). The css for the components above has this pattern:
:local(.toggler) {
   some_css_rule: ...
}
:local(.activeToggler) {
   composes: toggler;
   some_other_css_rule: ...
}

Removing the line composes: toggler will make the Style css rules work.
For reference:
Style-it: 2.0.0
React: 16.4.1

Hi! Thanks for opening this, see a few typos. Example is missing the JSX embedded expression syntax, string template declaration, and the first rule is using a semicolon instead of an open brace.
Working example is below:
class Intro extends React.Component {
  render() {
  	const styles = {
    	toggler: 'foo',
      activeToggler: 'bar'
    }

    return (

CSS-in-JS made simple -- just Style It

    );
  }
}

ReactDOM.render(
  <Intro />,
  document.getElementById('container')
);

See this live here: https://jsfiddle.net/8mjcqv6e/15/


Refactor: Improved UI of current webpage

Fixes issues: (#12 #13)
Description
Improved UI of current page. Fixed some typos.
Screenshots:
Before:

After:

nice work


[edge compute] - Add a new API operation for the Edge agent to retrieve a stack file

Add a new API operation that can be accessed by the Edge agent to retrieve the stack file associated to an Edge stack.
This API operation will use the existing Edge security layer.

Should also return the Prune boolean.
Should add an api endpoint /edge_stack/{id}/config

for using the edge security layer, is there a way to add it to the bouncer?

@chiptus yes but as an exported method called from within the operation (see  AuthorizedEndpointOperation for example) and not as an operation wrapper (like AdminAccess) because you need to be aware of the endpoint for the Edge security check.

Closed via #3748


Pipeline instruction conversions

Introduced "Instructions" to allow easier interpretation/execution of pipelines, and utils for converting between a Pipeline DAG and Seq[Instructions]

A lot of this PR is devoted to changing the representation of fit dependencies from Seq[Seq[Int]] to Seq[Option[Int]], which feels like a pretty big change in the data structure. Can you explain why this is happening and how the new structure differs from the old one on a conceptual level?

Sure!
So, before we were using DelegatingTransformers and "fitDependencies" as a way to capture in the DAG that the transformer we intend to apply to the data is the output of an Estimator. Only DelegatingTransformers used these fitDependencies, and there was never any situation in which we would have more than one fit dependency for a DelegatingTransformer.
The Instructions were designed more to match how we've been thinking about these at a higher-level, were the output of an estimator (a transformer) is directly applied to new data. There isn't really a concept captured by these instructions for a situation where a transformer takes data and the outputted transformers of multiple estimators to output new data (which is what multiple fit dependencies would imply currently). (this isn't to suggest that we can't implement instructions later down the line if we decide/need to where a transformer has more than just data dependencies but also dependencies on scala Anys)
So, to allow a two-way conversion between the existing Pipeline data structure and a Seq[Instruction] : I needed to limit all use of fitDependencies in the existing pipeline data structure to DelegatingTransformerNodes, which also entails that there is only ever 0 or 1 fit dependencies for any given node. This is also why I made DelegatingTransformerNode no longer extend TransformerNode.

Makes sense! Thanks for the explanation and the PR. Aside from my general style stuff above this looks pretty good to me.

Could you add some unit tests for the pipeline -> instructions stuff and back to make sure that we end up with valid transformations? Should handle the edge cases as well as a few common cases.

Other than the test I just asked for and the comment on the Instructions -> Pipeline transformation style, this looks pretty good to me.

@etrain how's it look now?

Ok - this LGTM. I'm going to go ahead and merge this and we can move on to the next PR. Thanks @tomerk !


Wrong service in 'destination_service' label of the sidecar metrics

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
Hello.
I played with Argo Rollouts, especially with Analysis and Canary deployments and noticed that  destination_service metrics is wrong. It keep old name all the time, no matter what you do: set weight to 0, comment piece of code related to this service, change destination port. Only removing of the previous service helps.
Could be related issues:
https://github.com/istio/istio/issues/44189
https://github.com/istio/istio/issues/45117
https://github.com/istio/istio/issues/45401
Version
$ istioctl version
client version: 1.17.1
control plane version: 1.17.1
data plane version: 1.17.1 (9 proxies)

$ kubectl version --short
Client Version: v1.23.6
Server Version: v1.25.9-eks-0a21954
WARNING: version difference between client (1.23) and server (1.25) exceeds the supported minor version skew of +/-1

Additional Information
Steps to reproduce:

Deploy services, gateway, virtual service and deployment.

Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rollouts-demo
  labels:
    istio-injection: enabled
spec:
  replicas: 1
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      app: deployment-rollouts-demo
  template:
    metadata:
      labels:
        app: deployment-rollouts-demo
        istio-injection: enabled
    spec:
      containers:
      - name: rollouts-demo
        image: argoproj/rollouts-demo:blue
        ports:
        - name: http
          containerPort: 8080
          protocol: TCP
        - name: istio-metrics
          containerPort: 15020
          protocol: TCP
        resources:
          requests:
            memory: 32Mi
            cpu: 5m

Services
apiVersion: v1
kind: Service
metadata:
  name: deployment-rollouts-demo-canary
  labels:
    release: prometheus
    service-app: app-fluentd-metrics
spec:
  ports:
  - port: 80
    targetPort: http
    protocol: TCP
    name: http
  - port: 15020
    targetPort: istio-metrics
    protocol: TCP
    name: istio-metrics
  selector:
    app: deployment-rollouts-demo

---
apiVersion: v1
kind: Service
metadata:
  name: deployment-rollouts-demo-stable
  labels:
    release: prometheus
    service-app: app-fluentd-metrics
spec:
  ports:
  - port: 80
    targetPort: http
    protocol: TCP
    name: http
  - port: 15020
    targetPort: istio-metrics
    protocol: TCP
    name: istio-metrics
  selector:
    app: deployment-rollouts-demo

Virtual Service
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: rollouts-deployment
spec:
  gateways:
  - istio-system/gateway
  hosts:
  - reviews.example.com
  http:
  - name: primary
    route:
    - destination:
        host: deployment-rollouts-demo-stable
        port:
          number: 80
      weight: 100
  tls:
  - match:
    - port: 3000
      sniHosts:
      - reviews.example.com
    route:
    - destination:
        host: deployment-rollouts-demo-stable
      weight: 100

Get metrics from sidecar on port 15020, path /stats/prometheus
Value of the  destination_service is deployment-rollouts-demo-stable

istio_requests_total{
cluster="cluster-dev",
connection_security_policy="mutual_tls",
container="rollouts-demo",
destination_app="deployment-rollouts-demo",
destination_canonical_revision="latest",
destination_canonical_service="deployment-rollouts-demo",
destination_cluster="Kubernetes",
destination_principal="spiffe://cluster.local/ns/demo/sa/default",
destination_service="deployment-rollouts-demo-stage.demo.svc.cluster.local",
destination_service_name="deployment-rollouts-demo-stable",
destination_service_namespace="demo",
destination_workload="rollouts-demo",
destination_workload_namespace="demo",
endpoint="istio-metrics",
instance="<IP_ADDRESS>:15020",
job="deployment-rollouts-demo-stable",
namespace="demo",
pod="rollouts-demo-6b5f955b78-kw9lj",
prometheus="monitoring/prometheus-kube-prometheus-prometheus",
prometheus_replica="prometheus-prometheus-kube-prometheus-prometheus-0",
reporter="destination",
request_protocol="http",
response_code="200",
response_flags="-",
service="deployment-rollouts-demo-stable",
source_app="istio-ingressgateway",
source_canonical_revision="latest",
source_canonical_service="istio-ingressgateway",
source_cluster="Kubernetes",
source_principal="spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",
source_version="unknown",
source_workload="istio-ingressgateway",
source_workload_namespace="istio-system"}

Disable this service in VirtualService and connect deployment-rollouts-demo-canary. Check metrics, destination_service stay same as previous service.
Remove service deployment-rollouts-demo-stable form cluster. Check metrics again, now it changed to new service name.

I checked routing, I disabled ports on old service, traffic is going on new service, however metric labels contain old service names.
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[X] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

I believe this is because they are in distinguishable. If I have a pod X listening on port 1234, and two services pointing to 1234, the request from either service are identical. We have no reliable way of knowing what path the client took to get there

First of all, thanks for the fast reply.

We have no reliable way of knowing what path the client took to get there

We use destination with weight in VirtualService. Isn't it not enough reliable way to identify path? How then we can be sure that traffic goes to correct service?
And second thing, metrics keep showing the service which was in use but later was totally disabled and removed from VirtualService destination.

Understood, thank you.


Fix infinite loop in PortUnion.Ports() when port range contains 65535

fix: #1240
Maybe also have a look at PortUnion.Normalize()?

Failed in this overlapping


Is it possible to split one scheme into 2 simulators?

Split an Scheme into 2 simulators to run different test at the same time.
I would like to split my scheme into 2 or more simulators( same ios version) and run different test cases from same scheme at the same time.
Is it possible?

fastlane version 2.22.0

With fastlane that's currently not possible. Check out blue pill by LinkedIn (not a fastlane tool)


Add support for installing theme as Hugo module

This PR adds a go.mod file to allow installing this theme as a Hugo module using the hugo mod subcommand. I prefer to use Hugo modules instead of git submodules wherever possible, as they are more flexible.
This is how to install the theme as a Hugo module (I cannot edit the wiki, but it could be nice to add the installation instructions there as well):

hugo mod init module_name
hugo mod get github.com/tomfran/typo
Add the following to hugo.toml:[module]
[[module.imports]]
path = "github.com/tomfran/typo"

Remove the theme = 'typo' parameter from hugo.toml, as this parameter is only intended for themes in the themes/ directory.

Thanks a lot for this great theme!

Thank you for this change!
Just to clarify, this adds support for this type of installation but does not exclude cloning into the /themes folder right?

Just to clarify, this adds support for this type of installation but does not exclude cloning into the /themes folder right?

This installation method does indeed not change the existing methods. Installing via the /themes folder remains possible.


Support prepared statements

Implements #34.
@melanore

Cool! Any chance changes in this PR could be covered by unit tests? There's some serious potential for regression, so it would be good to have this feature covered by tests before merge/release. You can find test project in tests folder of the repo.
@dmitry-a-morozov, could you have a look at PR please?

Any idea what this is?
fsharp.data.npgsql\tests\obj\Debug\netcoreapp2.1\Tests.AssemblyInfo.fs(10,48): error FS0039: The type 'UserSecrets' is not defined. [fsharp.data.npgsql\tests\Tests.fsproj]

Thanks. I'll take care of the XML docs, tests and the other PR tomorrow.

Thanks again for the PR. That's very helpful.

Ugh, the tests now build, but fail at runtime with System.IO.FileNotFoundException : Could not load file or assembly 'FSharp.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Looks like a missing assembly redirect? Does it work for you?

That's weird. Try to update Fsharp.Core package to 4.5.0 version in project

What kind of tests do you want to see here? Should I just duplicate a couple of other tests with Prepare set to true? Whether or not it did anything can be proved by checking the private state inside Npgsql. It's also possible to list prepared statements for the current session by sending a query to the DB, but I'm not sure we can rely on the 2 sharing the same session/physical connection.

This seems to work nicely.
[<Literal>]
let commandText = "select id from public.user limit 1"

use con = new Npgsql.NpgsqlConnection(connectionString)
con.Open()
con.UnprepareAll()

let cmd = new FSharp.Data.Npgsql.NpgsqlCommand<commandText, connectionString, Prepare = true>(con)
cmd.Execute() |> ignore

let connector = typeof<Npgsql.NpgsqlConnection>.GetField("Connector", BindingFlags.NonPublic ||| BindingFlags.Instance).GetValue(con)
let psManager = connector.GetType().GetField("PreparedStatementManager", BindingFlags.NonPublic ||| BindingFlags.Instance).GetValue(connector)
let preparedStatements = psManager.GetType().GetProperty("BySql", BindingFlags.NonPublic ||| BindingFlags.Instance).GetValue(psManager)
let wasPrepared = preparedStatements.GetType().GetMethod("ContainsKey", BindingFlags.Instance ||| BindingFlags.Public).Invoke(preparedStatements, [| commandText |]) :?> bool

Reflection based preparation check looks nice. If a bunch of such tests could be pushed - I think this PR is ready to be merged.

I'm trying to test the ability to override Prepare by doing
type DvdRental = NpgsqlConnection<connectionStringName, Config = config>
type DvdRentalPrepared = NpgsqlConnection<connectionStringName, Config = config, Prepare = true>

//...

[<Fact>]
let ``Command prepared by default when set on type``() =
    use conn = openConnection()
    conn.UnprepareAll()

    use cmd = DvdRentalPrepared.CreateCommand<getActorByName, XCtor = true>(conn)
    cmd.Execute("", "") |> ignore

    Assert.True(isStatementPrepared conn)

This test fails though. I have a suspicion that there is something funny going on with TP caching, because when I move the test to the very top of the file, it passes, but then this one fails:
[<Fact>]
let ``Command not prepared by default``() =
    use conn = openConnection()
    conn.UnprepareAll()

    use cmd = DvdRental.CreateCommand<getActorByName, XCtor = true>(conn)
    cmd.Execute("", "") |> ignore

    Assert.False(isStatementPrepared conn)

indicating that everything is prepared... I have no idea how to work around this. Should I just forget about the override test?


PowerToys.Runner not opening context menu after VMware Horizon Agent 8 upgrade

Microsoft PowerToys version
0.62.1
Installation method
GitHub
Running as admin
No
Area(s) with issue?
System tray interaction
Steps to reproduce
Powertoys.Runner process starts, and icon shows in system tray, but does not respond to any interactions with it, no context menu is shown. This behavior started after migrating from VMware Horizon Agent 7.13.1 to 8.8.0, and is consistent throughout the variety of machines (physical/vdi) that are in a session using the Blast protocol. Running as admin or regular user has no effect.
Updating PowerToys to the latest 0.67.1 release (with all required runtimes installed) shows the same behavior.
Running the session with RDP protocol does not show the same behavior, and the context menu opens.
Starting the individual tools directly from their modules folder will work, it's the system tray icon that's misbehaving.
✔ Expected Behavior
Able to open the context menu from the system tray icon.
❌ Actual Behavior
Context menu does not open when clicking the system tray icon.
Other Software
VMware Horizon Agent <IP_ADDRESS>67308 (2212)

The issue only seems to happen on physical devices that have the Horizon agent installed, and on 0.68.0 as well.

Any update on this bug?  Can confirm that PowerToys is 100% non-functional on a device running Vmware Horizon Agent v8.9.

@t7504
This issue here is not closed. So there is no need to open a new one.

Is there any update?

@t7504 This issue here is not closed. So there is no need to open a new one.

@htcfreek
Not "closed", but not a single response or even simple acknowledgement of "aware and working on it" in the 5 months since opened, and the other issue opened by someone else was "closed" due to no bug report, when generating a bug report is not possible given the issue.  So perhaps a new issue to get someone to at least acknowledge this problem is warranted.....

Please provide an update on this issue. New reports are being auto-closed and marked as duplicates of this one. Also, requests for a Bug Report archive are ironically not applicable for this issue, as this requires the context menu to be functional.

I found out that it seems to only be a problem if you start Powertoys while in a VMWare session. It seems if you starts it when not connected to a VMWare session, all seems fine. There must be some initialisation logic that doesn't sit well in a VMWare session.
Either way, if you are affected by this, and not afraid to use some Powershell code, I wrote a quick script for myself to delay opening Powertoys, so you can start this script below, log off your PC, wait 30s, then log back on, and then Powertoys should be functional. The usual caveats of "please double check any random code off the internet" applies here.
Stick this into a ".ps1" file locally, and Right Click > Run With Powershell, log off your local machine (used to connect to the remote machine with VMWare) and wait 30s, then log back in and Powertoys should have started up fine and working as expected.
# Starts this script, then exit VMWare from your local machine (that you are using to connect to the remote machine)
# Log back into the remote machine after 20s

# Define the number of seconds to wait
$waitSeconds = 20

# Sleep for the specified number of seconds
Start-Sleep -Seconds $waitSeconds

# Specify the path to the executable you want to start
$executablePath = "<Path to PowerToys>"

Path to Power toys for me was C:\Users\<Your User here>\AppData\Local\PowerToys\PowerToys.exe.
This obviously is a workaround and not a solution, so hopefully this new information can help find a proper solution.

New versions keep getting released, yet this issue just sits here, ignored......

I found out that it seems to only be a problem if you start Powertoys while in a VMWare session. It seems if you starts it when not connected to a VMWare session, all seems fine. There must be some initialisation logic that doesn't sit well in a VMWare session.
Either way, if you are affected by this, and not afraid to use some Powershell code, I wrote a quick script for myself to delay opening Powertoys, so you can start this script below, log off your PC, wait 30s, then log back on, and then Powertoys should be functional. The usual caveats of "please double check any random code off the internet" applies here.
Stick this into a ".ps1" file locally, and Right Click > Run With Powershell, log off your local machine (used to connect to the remote machine with VMWare) and wait 30s, then log back in and Powertoys should have started up fine and working as expected. Make sure to setup the path correctly in the script below, you have to update the $executablePath below to match where your Powertoys is located.
If you have physical access to the machine, you could also start Powertoys that way, hence forth connecting to it via VMWare should be fine.
# Starts this script, then exit VMWare from your local machine (that you are using to connect to the remote machine)
# Log back into the remote machine after 20s

# Define the number of seconds to wait
$waitSeconds = 20

# Sleep for the specified number of seconds
Start-Sleep -Seconds $waitSeconds

# Specify the path to the executable you want to start
$executablePath = "<Path to PowerToys>"

Path to Power toys for me was C:\Users\<Your User here>\AppData\Local\PowerToys\PowerToys.exe. This was tested with version 0.74.1
This obviously is a workaround and not a solution, so hopefully this new information can help find a proper solution.

Can confirm this works in PowerToys 0.79.0 (add Start-Process -FilePath $executablePath at the end). Crazy -- this completely fixes the issue. Thanks for sharing. Now that it's running again, comparing success/failure logs from %LOCALAPPDATA%/Microsoft/PowerToys:

Success (via script above): runner-log_2024-03-18_SUCCESS.txt
Failure (via in-session exec): runner-log_2024-03-18_FAILURE.txt

The failure scenario stops just before [trace] UnRegister hotkey action for Video Conference. The Video Conference Mute feature is in "legacy mode", and looks like something there may be preventing start-up.
I now have a slightly better workaround:

Rename (or delete) "<PowerToys Install Dir>\PowerToys.VideoConferenceModule.dll".

This raises the "Failed to load PowerToys.VideoConferenceModule.dll" alert on start-up, but is irrelevant if you're not using this module. This allows me to run PowerToys on demand again. My suspicion is that the module is having a hard time reading device information over the VMware Blast connection.

/bugreport

Confirmed issue still exists in PowerToys 0.80.0. Thankfully, the same workaround still works. I have compliance constraints for my affected machine which would prevent me from submitting the bug report zip, but maybe someone else could.

It's still in 0.86. Please reopen the issue


Extend C-DEREF guideline to say smart pointers should always be transparent in Debug representation

The canonical Debug implementation for any type that implements Deref is:
Debug::fmt(&**self, formatter)

This principle came up during libs team discussion of https://github.com/rust-lang/rust/pull/48553.

Seems reasonable to me!

@rfcbot fcp merge

@rfcbot fcp merge
This suggests a guideline that smart pointers inherit the Debug implementation of their pointee.

Given this passed FCP, should the change be made?


--api-location & --output-location should be under --app-location

Should we prevent users from setting the context in a different folder than the API location, or output location?
Currently, the following command is valid and will not throw:
swa start /path/to/app --api-location /another/path/to/api --output-location /yet/another/path/to/output

Actually, after some clarification only outputLocation should be under appLocation, apiLocation path is independant


feat: add fuzzy name matching during id checks

The identity checks rely on matching the forename and surname between TIS and the provided DSP credential. As there is a high percentage chance that names will mismatch between spelling mistakes and inclusive/exclusion of middle name, the name checking needs to be more forgiving.
Update the VerificationService to check the phonetic and text accuracies and make a decision based on the similarity rather than exact matching. Split names on spaces and hypens to allow matching when middle names, or double barrelled names are used.
Publish metrics for both phonetic and text accuracy to Cloudwatch to allow monitoring and ongoing improvements to be made to the level of fuzziness allowed.
TIS21-6065

Converting to draft as I've missed some changes from the commit

I was wondering whether the cloudwatch metrics will make it easy to see what names were being compared when the closeness score is logged (and maybe the TIS id for the trainee as well)?

I was wondering whether the cloudwatch metrics will make it easy to see what names were being compared when the closeness score is logged (and maybe the TIS id for the trainee as well)?

We could use dimensions, but I'm not sure if it really fits. I don't think having the names available in cloudwatch is really that important though, it's more about whether we're (broadly) too lax or too strict.
There a definite argument for separating by first name and surname though.
Maybe a switch to metric names of identity.accuracy.forenames and identity.accuracy.surname with dimensions of AccuracyType:text and AccuracyType:phonetic.
It's hard to know when we don't actually have a reporting requirement, just trying to capture data for future needs.

Ok, that makes sense. I wonder if including a general log (maybe at debug level) of the names and outcome details would be useful though, to help identify any unexpected mis/matches?

Ok, that makes sense. I wonder if including a general log (maybe at debug level) of the names and outcome details would be useful though, to help identify any unexpected mis/matches?

I did intend to do that for failures 🙈
I'll add a bit of debug logging.


Fix: remove $(pwd) from faro-web-:wqsdk_demo_demo_logs path

Description
This PR removes $(pwd) component from the faro-web-sdk_demo_demo_logs volume.
"device": "/Users/leveyj/code/faro-web-sdk/demo/logs",
path is setup incorrectly due to docker compose --profile demo up -d being run in demo/ subfolder (where that instruction is given), it will not be possible to fix it without running
docker volume rm faro-web-sdk_demo_demo_logs

and recreating the volume by running docker compose in the root of the repository.
To reproduce the issue
cd demo/
docker volume rm faro-web-sdk_demo_demo_logs
docker compose --profile demo up -d
docker inspect faro-web-sdk_demo_demo_logs | grep "demo/demo" #will show the incorrectly computed path
docker compose down

Verified by repeating the above instructions + getting no output with this patch applied.
Fixes
Fixes #158
Checklist

[ ] Tests added
[ ] Changelog updated
[ ] Documentation updated

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


support c.reply(...)

Would be great to be able to reply to a message (similar to reacting), but text instead of emoji
I'm happy to contribute this feature, if I'm given some clues as to how it could be done

Hi! I just implemented it. I assume you were referring to quote replies, right?
Can you try out this test package and let me know if it works?
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple signalbot==0.8.0a1691923863

I also changed the bot API a bit. .listen is not necessary anymore and you can also run commands in private chats. Here is an examle. It also contains an example how to use c.reply but it has the same signature as c.send. If it works for you, I'd release it very soon

fantastic thanks I'll give it a go and report back

works great thanks so much :)


Callable work needs to use "previous" block hash

Thanks for the quick update! I have a version working on a local fork, which led me to identify a bug.
In the send_process() function in Wallet.py
#if opening block, there is no previous, so use public key as hash instead
if block["previous"] == "0000000000000000000000000000000000000000000000000000000000000000":
  block["work"] = gen_work(self.get_public_key())
else:
  block["work"] = gen_work(block["previous"])

we see that we use the previous hash to generate work.
In the recent update https://github.com/stjet/bananopie/commit/a7cc2a931fc01b54db67525fdd8676b160e9c36d, you use the block_hash as the input to the callable function. This fails with Block work is insufficient.
The fix would be to use the "previous" block hash as the input to the function. I tested this out in my local fork:
if work:
  if callable(work):
    work = work(previous)
  block["work"] = work

I think it is still worth checking this condition though: if opening block, there is no previous, so use public key as hash instead...

That's silly of me, thanks for reporting

No worries, thanks so much for getting this custom option in so quickly! Adds good flexibility around work generation within the library IMO. Appreciate the development

Does v<IP_ADDRESS> fix this (a7cc2a9)?

It's working on my end! 🚀🍌 Thanks again!

Nice!


Rough Roadmap and plans

Roadmap
Phase 1: Initial Setup

Set Up GitHub Repository

Create or update the repository to include a templates folder and a templates.json file.
Add contribution guidelines for users to upload their templates and create pull requests.

Design Metadata Structure

Define the template.json structure to include multiple download links, hash information, and dependencies.
Update the central templates.json registry format accordingly.

Phase 2: Client-Side Script Development

Fetch and Parse Templates

Develop a function to fetch and parse the templates.json file from the GitHub repository.
Ensure the parsing logic correctly handles the new metadata structure, including dependencies.

Rate Download Sources

Implement the rate_sources function to evaluate and rank the download links based on speed and reliability.

Download and Verify Template

Develop the download_template function to download the template from the best-rated link and verify its hash.
Handle exceptions and retries for unreliable links.

Install Template

Implement the install_template function to unpack and install the downloaded template.
Check and report any dependencies required by the template.

Phase 3: Integration and Testing

Integrate Client-Side Script

Integrate the script into HiddenEye Reborn, ensuring seamless interaction with the existing system.
Provide a user interface for selecting and installing templates, displaying dependencies to users.

Testing

Conduct thorough testing to verify the functionality, including:

Template fetching and parsing
Source rating and selection
Download and hash verification
Template installation
Dependency checking

User Feedback

Gather feedback from early users to identify any issues or areas for improvement.

Phase 4: Documentation and Deployment

Documentation

Document the process for contributing templates, including how to create template.json with dependencies and upload templates.
Update the project documentation to include usage instructions for the new template management system.

Deployment

Deploy the updated HiddenEye Reborn with the enhanced template management system.
Announce the new features and encourage the community to contribute templates.

Phase 5: Maintenance and Improvement

Monitor and Maintain

Regularly monitor the repository for new template contributions and updates.
Maintain the templates.json registry and ensure it stays up-to-date.

Enhancements

Based on user feedback, implement further enhancements and optimizations to the template management system.
Consider additional features like user ratings for templates, automated testing of templates, etc.

Example template:
{
  "name": "New Template",
  "version": "1.0.0",
  "author": "Author Name",
  "description": "A new website template with dependencies and multiple architectures.",
  "download_links": [
    "https://example.com/new_template1.zip",
    "https://example.com/new_template2.zip"
  ],
  "hash": "sha256-hash-of-the-template-file",
  "dependencies": {
    "php": ">=7.4",
    "python": ">=3.8"
  },
  "architectures": [
    "x86_64",
    "arm64"
  ]
}

So, as you may have guessed, the plan moving forward is to allow users to re-upload website templates to different mirrors and keep a central repository of those templates for HiddenEye to automatically download from.
This will ensure:

We don't break any third-party licenses, because we don't upload modified website code or code that resembles it to our repository.
Users can have better sources that are geographically closer to them and can maintain the availability of templates by contributing download sources (with hash verification to protect from malicious intent).

The ability to specify dependencies will allow us to warn users when they try to use a template that won't work on their system. For example, if they don't have PHP installed or if tests show architecture incompatibility.

A separate GitHub repository is going to contain those template.json files, where users will be able to freely contribute their links and new templates. This will also allow us to automatically test and verify those links using GitHub Actions CI/CD.

Registry file example:
[
  {
    "name": "New Template",
    "version": "1.0.0",
    "author": "Author Name",
    "description": "A new template with dependencies and multiple architectures.",
    "template_url": "https://github.com/yourusername/yourrepository/templates/new_template/template.json"
  },
  {
    "name": "Another Template",
    "version": "2.1.0",
    "author": "Another Author",
    "description": "Another template example.",
    "template_url": "https://github.com/yourusername/yourrepository/templates/another_template/template.json"
  }
]

Phase 1 progress:
Created the registry we're going to use for out templates, called it Tabulae
Still want to modify the format to require explicitly stating which version of Tabulae template file is using, to ensure backward compatibility in the future updates


Not able to push custom events in Firebase Analytics

I am getting auto events like session_start, screen_view so my iOS App is sending events to Firebase. but not the custom events where event id is a custom value like "MyEvent1"
My environment:
Windows
Visual Studio 2017 version 15.8.9
Nuget Packages:
Xamarin.Firebase.iOS.Analytics - 5.1.4
Xamarin.Firebase.iOS.Core - 5.1.3
Xamarin.Firebase.iOS.InstanceID - 3.2.1
I have mentioned following mlaunch and start argument in iOS project properties -> iOS Run Optionts:
--argument=-FIRAnalyticsDebugEnabled
AppDelegate.cs FinishedLaunching event override code:
Firebase.Analytics.Loader loader1 = new Firebase.Analytics.Loader();
Firebase.InstanceID.Loader loader2 = new Firebase.InstanceID.Loader();
Firebase.Core.App.Configure();
AnalyticsConfiguration.SharedInstance.SetAnalyticsCollectionEnabled(true);
return base.FinishedLaunching(app, options);

I have implemented following solution for Firebase Analytics:
https://stackoverflow.com/questions/48774378/firebase-analytics-in-xamarin-forms/50764452#50764452
However I am facing issues in pushing custom events to Firebase for my iOS project. Android is pushing these custom events properly.
I am adding following lines in
First problem:
following code throws an ambiguous error.(https://forums.xamarin.com/discussion/136547/firebase-analytics-the-call-is-ambiguous-between-the-following-methods-or-properties)
if (parameters == null)
{
    Analytics.LogEvent(eventId, null);
    return;
}

So I tried following options:
option 1:
if (parameters == null)
{
    Firebase.Analytics.Analytics.LogEvent(eventId, new Dictionary<object, object>());
    return;
}

This threw an exception :
Unhandled Exception:
System.ArgumentException: count occurred
option 2:
if (parameters == null)
{
    Firebase.Analytics.Analytics.LogEvent(eventId, new Dictionary<object, object>(){{"key1", "value1"}});
    return;
}

option 3:
      var keys = new List();
       var values = new List();
        if (parameters == null)
        {
            keys.Add(new NSString("Parameter"));
            values.Add(new NSString("NONE"));
        }
        else
        {
            foreach (var item in parameters)
            {
                keys.Add(new NSString(item.Key));
                values.Add(new NSString(item.Value));
            }
        }
      var parametersDictionary =
      NSDictionary<NSString, NSObject>.FromObjectsAndKeys(values.ToArray(), keys.ToArray(), keys.Count);
      Firebase.Analytics.Analytics.LogEvent(eventId, parametersDictionary);

Both options 2 and 3 are not working. When I am checking debug log, I can find following
[I-ACS025018] Event not logged. Call +[FIRApp configure]: iOSAnalyticsStarted
I have attached whole log file. Can anyone please help?
THanks.
iosFirebaseAnalyticslog.txt
@SotoiGhost

Hi ,
The issue was that I was trying to log an event before Firebase Analytics was initialized.
I have fixed that issue and now it's trying to log the custom event.
However I am getting an error code type 2 (https://firebase.google.com/docs/analytics/errors) firebase event error instead of my custom event which says event name is not correct.
Any pointer on how to provide any custom event name when there are no parameters?
My existing code:
if (parameters == null)
{
Firebase.Analytics.Analytics.LogEvent(eventId, new Dictionary<object, object>() { { "key1", "value1" } });
return;
}
Here eventId value is my custom string value.

@niraj-bpsoftware Actually, there is a bug on void LogEvent (string name, Dictionary<object, object> parameters) method where it will not handle correctly the parameters argument if it's empty or null. This will be fixed.
For now, if you want to log an event without parameters, please, use the LogEvent (string name, NSDictionary<NSString, NSObject> nsParameters) method overload as follows:
Analytics.LogEvent (eventId, nsParameters: null);

Please, let me know your results.
Best!
Israel Soto.

We are closing this issue since no response was received.  Please open a new issue referring to this one if you have more information.


Object instance identity

Is it currently possible to somehow extract identity information from object instance present on values stack having that object changed over time in JS code ?
For example:
Duktape engine is embedded into application, and some API is provided for JS code. Two specific entry points are provided among others - StartSomething(obj) and EndSomething(obj). The application must have ability to match 'End' operation to 'Start' operation on the same object.

The best first question is: how would you do that matching in pure ECMAScript code? Most likely you would add some sort of identifier / counter property on the object. The same approach can then be used in Duktape/C code.
But going beyond that, objects do have a heap pointer (readable using duk_get_heapptr() and its variants) which is stable for the lifetime of the object. However, if the object becomes unreachable, the same pointer may be reused for another object at a later time.
So, if you can guarantee that the object in question is always reachable between StartSomething() and EndSomething(), you could use the heap pointer to match the objects. But if you can't guarantee reachability, such matching would not be reliable.

Did I get it right that duktape GC does not relocate objects during its passes? For compaction or other reasons.

The object header structure is not relocated which is the pointer returned by duk_get_heapptr(). Property table is reallocated/relocated on resizes.


Add option to avoid removing repeated replacement

Feature of avoid removing repeated replacement added suggested by the issue #10.
A new option is now available named 'condenseReplacements' as suggested by @sindresorhus on issue #10
filenamify('/path/to/file---name.ext"', {replacement: '-', condenseReplacements: true});
// => path-to-file---name.ext

Test case added along with updated README
// @sindresorhus
Fixes #10

The default value should be true, to preserve existing behavior.

The default value should be true, to preserve existing behavior.

Ah, I see. This would be breaking change then! That's why I didn't set it as true by default.I have to update some of the exisitng tests too.

@RocktimSaikia No; the default value being true is exactly what makes it not a breaking change.

Bump


Config.toml should be removed, replaced with example.config.toml and gitignored because it poses a security risk

The way it is structured now, it's too easy for a developer to accidentally commit their keys to config.toml and merge into main. At a minimum the config.toml should be ignored  in gitignore and I suggest you replace it with something like "example.config.toml" so that developers must create a fresh config.toml and don't accidentally commit keys.

Agreed